<?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>CGContentUtils</name>
	<version>1.2.1</version>
  <mincmsversion>1.8.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHdvcmtzIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSBhbmQgcHJvdmlkZXMgdmFyaW91cyBhZGl0aW9uYWwgZnVuY3Rpb25zIGFuZCB1dGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBDTVMgTWFkZSBTaW1wbGUncyBjb250ZW50IHBhZ2VzLjwvcD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgogIDxsaT5FeHBvcnQgY29udGVudCBwYWdlcyB0byBYTUw8L2xpPgogIDxsaT5JbXBvcnQgY29udGVudCBwYWdlcyBmcm9tIFhNTDwvbGk+CiAgPGxpPkFsbG93cyBDcmVhdGluZyBhbmQgbWFuYWdpbmcgdmFyaW91cyBkaWZmZXJlbnQgY29udGVudCBibG9ja3MgZm9yIGVtYmVkZGluZyBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLjwvbGk+CiAgPGxpPlByb3ZpZGVzIGJ1bGsgcGFnZSBjb3B5IGNhcGFiaWxpdHkuPC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+CjxwPklmIHlvdSBhcmUgYW4gYXV0aG9yaXplZCBDTVMgTWFkZSBTaW1wbGUgd2ViIHNpdGUgYWRtaW5pc3RyYXRvciwgYW5kIGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2UgdG8gbWFuYWdlIGFsbCBjb250ZW50LCB0aGVuIHRoZSAmcXVpdDtDYWxndXlzIENvbnRlbnQgVXRpbGl0aWVzJnF1b3Q7IG1lbnUgaXRlbSBzaG91bGQgYXBwZWFyIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gcGFuZWwuICBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2YgdGFicywgaW5jbHVkaW5nOjwvcD4KPHVsPgogIDxsaT48dT5CbG9ja3M8L3U+CiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY3JlYXRpbmcgJnF1b3Q7bmFtZWQmcXVvdDsgYW5kIG1hbmFnaW5nIGNvbnRlbnQgYmxvY2tzIG9mIHZhcmlvdXMgdHlwZXMuICBUYWdzIGZvciB0aGVzZSBjb250ZW50IGJsb2NrcyBjYW4gdGhlbiBiZSBpbnNlcnRlZCBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLiAgVGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHB1dCBhZGRpdG9uYWwgY29udGVudCBibG9ja3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgb3IgY2hvb3NlIGRpZmZlcmVudCBkYXRhIHdoaWNoIG1heSBoYXZlIGEgcmVzdWx0IG9uIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwYWdlLjwvcD4KICA8cD5Gb3IgZXhhbXBsZSwgYSBjb250ZW50IGJsb2NrIG9mIHR5cGUgJnF1b3Q7Y2hlY2tib3gmcXVvdDsgY291bGQgYmUgdXNlZCB0byBpbmRpY2F0ZSB3ZXRoZXIgYW4gaW1hZ2UgaXMgdG8gYmUgZGlzcGxheWVkIG9yIG5vdC48L3A+CiAgPHA+VGhpcyBpcyBhbiBhZHZhbmNlZCBmZWF0dXJlLCBhbmQgdXRpbGl6aW5nIHRoaXMgZmVhdHVyZSByZXF1aXJlcyB0aGF0IHlvdSBiZSBmYW1pbGlhciB3aXRoIHRoZSBzbWFydHkgdGVtcGxhdGluZyBlbmdpbmUgdGhhdCBpcyB1c2VkIHRocm91Z291dCBDTVNNUy48L3A+CiAgPC9saT4KICA8bGk+PHU+SW1wb3J0PC91PgogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGltcG9ydCBvbmUgb3IgbW9yZSBjb250ZW50IHBhZ2VzIGZyb20gYW4gWE1MIGZpbGUgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgZXhwb3J0IGZ1bmN0aW9uYWxpdHkuICAgVXNpbmcgdGhpcyBmdW5jdGlvbmFsaXR5IHlvdSBjYW4gZWFzaWx5IG1pZ3JhdGUgaW5mb3JtYXRpb24gZnJvbSBvbmUgd2Vic2l0ZSB0byBhbm90aGVyLjxwPgogIDwvbGk+CiAgPGxpPjx1PkV4cG9ydDwvdT4KICA8cD5UaGlzIHRhYiBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjaG9vc2UgYSBzaW5nbGUgcGFnZSBmcm9tIGEgZHJvcGRvd24gdG8gZXhwb3J0IHRvIFhNTCBmb3JtYXQuICBZb3UgY2FuIGFsc28gaW5kaWNhdGUgd2V0aGVyIHRoZSBjaGlsZHJlbiBvZiB0aGUgc2VsZWN0ZWQgcGFnZSBzaG91bGQgYmUgZXhwb3J0ZWQuICBDbGlja2luZyBvbiB0aGUgZXhwb3J0IGJ1dHRvbiB3aWxsIHByb21wdCB5b3UgdG8gZG93bmxvYWQgdGhlIFhNTCBmaWxlLjwvcD4KICA8cD5UaGUgZ2VuZXJhdGVkIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gaW1hZ2VzLCBvciBwYWdlIHRlbXBsYXRlcywgb3IgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBldGMuICBJdCBvbmx5IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaW91cyBjb250ZW50IG9iamVjdHMsIGFuZCB0aGVpciB2YWx1ZXMuPC9wPgogIDwvbGk+CjwvdWw+CjxwPkFkZGl0aW9uYWxseSwgdGhpcyBtb2R1bGUgYWRkcyBhIGJ1bGsgYWN0aW9uIHRvIHRoZSBjb250ZW50IG1hbmFnZW1lbnQgcGFnZSwgd2hpY2ggc2hvdWxkIGJlIHZpc2libGUgaWYgeW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uICBUaGlzIGJ1bGsgYWN0aW9uIGFsbG93cyBzZWxlY3RpbmcgbXVsdGlwbGUgcGFnZXMsIGFuZCBjcmVhdGluZyBhIHNpbmdsZSBjb3B5IG9mIGVhY2ggb2YgdGhlIHNlbGVjdGVkIHBhZ2VzLDwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+PGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4yMi4xPC9saT48bGk+SlF1ZXJ5VG9vbHMgPSZndDsgMS4wLjM8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogIDxsaT52MS4wIC0gSnVuZSAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5Jbml0aWFsIFJlbGFzZTwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjAuMiAtIEp1bHkgMjAxMAogICAgPHVsPgogICAgICA8bGk+QWJpbGl0eSB0byBwZXJzZXJ2ZSBoaWVyYXJjaHkgd2hlbiBjb3B5aW5nIHBhcmVudHMgYW5kIGNoaWxkcmVuIChUZWQpPC9saT4KICAgICAgPGxpPkFkZGVkIGNoZWNrIGZvciBwcm9wIGNvcHlpbmcgdG8ga2VlcCBFX05PVElDRSBoYXBweSAoVGVkKT48L2xpPgogICAgICA8bGk+TWlub3IgY2hhbmdlIHRvIHNhbXBsZSB0YWcgaW5mby48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgcGFnZSBzZWxlY3RvciBmaWVsZCB0eXBlLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjIgLSBEZWNlbWJlciAyMDEwCiAgICA8dWw+IAogICAgICA8bGk+QWRkcyB0aGUgZXhwb3J0IGFuZCBpbXBvcnQgY29kZSBmdW5jdGlvbmFsaXR5LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjIuMSAtIERlY2VtYmVyIDIwMTEKICAgIDx1bD4gCiAgICAgIDxsaT5NaW5vciBGaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgpUT0RPPGJyIC8+]]></about>
	<description><![CDATA[A module with utilities and tools to aide in content management]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.22.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>JQueryTools</requiredname>
	  <requiredversion>1.0.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_ajax_gettemplates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSBleGl0OwoKZGVidWdfdG9fbG9nKCdhamF4X2dldHRlbXBsYXRlcycpOwpkZWJ1Z190b19sb2coJF9QT1NUKTsKZGVidWdfdG9fbG9nKCdfXycpOwoKaWYoICFpc3NldCgkX1BPU1RbJ3NlbF9pdGVtcyddKSB8fCAhaXNfYXJyYXkoJF9QT1NUWydzZWxfaXRlbXMnXSkgKSByZXR1cm47CgokcmVzID0gYXJyYXkoKTsKZm9yZWFjaCggJF9QT1NUWydzZWxfaXRlbXMnXSBhcyAkaXRlbSApCnsKICBpZiggJGl0ZW0gPT0gJ2djYjo6JyApCiAgICB7CiAgICAgICRvcHMgPSAkZ0Ntcy0+R2V0R2xvYmFsQ29udGVudE9wZXJhdGlvbnMoKTsKICAgICAgJGFsbF9ibG9icyA9ICRvcHMtPkxvYWRIdG1sQmxvYnMoKTsKICAgICAgaWYoIGlzX2FycmF5KCRhbGxfYmxvYnMpICYmIGNvdW50KCRhbGxfYmxvYnMpICkKCXsKCSAgZm9yZWFjaCggJGFsbF9ibG9icyBhcyAkb2JqICkKCSAgICB7CgkgICAgICAkcmVzW10gPSAnOjpnY2I6OicuJG9iai0+bmFtZTsKCSAgICB9Cgl9CiAgICB9CiAgZWxzZSBpZiggJGl0ZW0gPT0gJ3VkdDo6JyApCiAgICB7CiAgICAgICRvcHMgPSAkZ0Ntcy0+R2V0VXNlclRhZ09wZXJhdGlvbnMoKTsKICAgICAgJGFsbF90YWdzID0gJG9wcy0+TGlzdFVzZXJUYWdzKCk7CiAgICAgIGZvcmVhY2goICRhbGxfdGFncyBhcyAkb25lICkKCXsKCSAgJHJlc1tdID0gJzo6dWR0OjonLiRvbmU7Cgl9CiAgICB9CiAgZWxzZQogICAgewogICAgICAvLyBhc3N1bWUgaXQncyBhIG1vZHVsZS4KICAgICAgJG1vZHVsZSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgkaXRlbSk7CiAgICAgIGlmKCAhJG1vZHVsZSApIGNvbnRpbnVlOwoKICAgICAgLy8gZ2V0IGEgbGlzdCBvZiB0aGUgdGVtcGxhdGVzIGZvciB0aGlzIG1vZHVsZS4KICAgICAgJHRlbXBsYXRlcyA9ICRtb2R1bGUtPkxpc3RUZW1wbGF0ZXMoKTsKICAgICAgZm9yZWFjaCggJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGUgKQoJewoJICAkcmVzW10gPSAkaXRlbS4nOjonLiR0ZW1wbGF0ZTsKCX0KICAgIH0KfQoKZGVidWdfdG9fbG9nKCRyZXMpOwpkZWJ1Z190b19sb2coJ19fJyk7CmVjaG8ganNvbl9lbmNvZGUoJHJlcyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_copycontent.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBbGwgQ29udGVudCcpICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluKCdsaXN0Y29udGVudC5waHAnLAoJCQkgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCcpKSk7CiAgfQppZiggIWlzc2V0KCRwYXJhbXNbJ2NvbnRlbnRsaXN0J10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluKCdsaXN0Y29udGVudC5waHAnLAoJCQkgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9ub2NvbnRlbnRzZWxlY3RlZCcpKSk7CiAgfQoKLy8KLy8gaW5pdGlhbGl6ZQovLwokdGVtcGxhdGVzID0gYXJyYXkoKTsKJGNvbnRlbnRzID0gYXJyYXkoKTsKJG5ld2RhdGEgPSBhcnJheSgpOwokYWRkYmxvY2tzID0gYXJyYXkoKTsKJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiR0ZW1wbGF0ZW9wcyA9JiAkZ0Ntcy0+R2V0VGVtcGxhdGVPcGVyYXRpb25zKCk7CiRjb3BpZWRjb250ZW50ID0gYXJyYXkoKTsKCgovLwovLyBzZXR1cAovLwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluKCdsaXN0Y29udGVudC5waHAnKTsKICB9CgovLwovLyBnZXQgdGhlIGRhdGEKLy8KJGNvbnRlbnRsaXN0ID0gZXhwbG9kZSgnLCcsJHBhcmFtc1snY29udGVudGxpc3QnXSk7CmZvcmVhY2goICRjb250ZW50bGlzdCBhcyAkb25laWQgKQp7CiAgLy8gZ2V0IHRoZSBjb250ZW50IG9iamVjdCBmb3IgdGhpcyBwYWdlLgogICRjb250ZW50ID0mICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21JZCgkb25laWQsdHJ1ZSk7CiAgJGNvbnRlbnRzWyRvbmVpZF0gPSAkY29udGVudDsKCSRuZXdkYXRhWyRvbmVpZF0gPSBhcnJheSgpOwoKCS8vIGdldCBhIHByb3Bvc2VkIG5ldyBhbGlhcyBmb3IgdGhpcyBjb250ZW50IGJsb2NrCgl7CgkJJG51bSA9IDI7CgkJJG5ld2FsaWFzID0gJGNvbnRlbnQtPkFsaWFzKCkuJ18nLiRudW07CgkJd2hpbGUgKCRjb250ZW50b3BzLT5DaGVja0FsaWFzRXJyb3IoJG5ld2FsaWFzKSAhPT0gRkFMU0UpCgkJewoJCQkkbnVtKys7CgkJCSRuZXdhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpLidfJy4kbnVtOwoJCX0KCQkkbmV3ZGF0YVskb25laWRdWyduZXdfYWxpYXMnXSA9ICRuZXdhbGlhczsKCX0KCiAgLy8gc2VlIGlmIHdlIGhhdmUgdGhpcyB0ZW1wbGF0ZQogIGlmKCAhaXNzZXQoJHRlbXBsYXRlc1skY29udGVudC0+VGVtcGxhdGVJZCgpXSkgKQogICAgewogICAgICAvLyBpZiBub3QsIGxvYWQgaXQgdG9vLgogICAgICAkdGVtcGxhdGUgPSYgJHRlbXBsYXRlb3BzLT5Mb2FkVGVtcGxhdGVCeUlkKCRjb250ZW50LT5UZW1wbGF0ZUlkKCkpOwogICAgICAkdGVtcGxhdGVzWyRjb250ZW50LT5UZW1wbGF0ZUlkKCldID0gJHRlbXBsYXRlOwogICAgfQp9CgppZiAoIWZ1bmN0aW9uX2V4aXN0cygnc29ydF9ieV9oaWVyYXJjaHknKSkKewoJZnVuY3Rpb24gc29ydF9ieV9oaWVyYXJjaHkoJGEsICRiKQoJewoJCWlmICghaXNfc3ViY2xhc3Nfb2YoJGEsICdDb250ZW50QmFzZScpKQoJCQlyZXR1cm4gMDsKCgkJaWYgKCFpc19zdWJjbGFzc19vZigkYiwgJ0NvbnRlbnRCYXNlJykpCgkJCXJldHVybiAwOwoKCQlyZXR1cm4gc3RyY21wKCRhLT5tSGllcmFyY2h5LCAkYi0+bUhpZXJhcmNoeSk7CgkJLy9yZXR1cm4gc3RyY21wKCRiLT5tSGllcmFyY2h5LCAkYS0+bUhpZXJhcmNoeSk7Cgl9Cn0KCnVhc29ydCgkY29udGVudHMsICdzb3J0X2J5X2hpZXJhcmNoeScpOwoKaWYgKCFmdW5jdGlvbl9leGlzdHMoJ3BhcmVudF9pbl9saXN0JykpCnsKCWZ1bmN0aW9uIHBhcmVudF9pbl9saXN0KCRsaXN0LCAkY2hpbGQpCgl7CgkJaWYgKCFpc19zdWJjbGFzc19vZigkY2hpbGQsICdDb250ZW50QmFzZScpKQoJCQlyZXR1cm4gZmFsc2U7CgoJCWZvcmVhY2ggKCRsaXN0IGFzICRpZCA9PiAkb2JqKQoJCXsKCQkJaWYgKCRvYmotPm1JZCA9PSAkY2hpbGQtPm1QYXJlbnRJZCkKCQkJewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9CgkJCgkJcmV0dXJuIGZhbHNlOwoJfQp9CgokcGFyZW50X2Ryb3Bkb3ducyA9IGFycmF5KCk7CgovLyBub3cgcGFyc2UgZWFjaCB0ZW1wbGF0ZSBvYmplY3QuLi4gYW5kIHNlZSBpZiB0aGUgY29udGVudCBibG9ja3MgaGF2ZSB0aGUgcHJvbXB0b25jb3B5IGF0dHJpYnV0ZQovLyBhbmQgaWYgaXQncyB2YWxpZC4KZm9yZWFjaCggJGNvbnRlbnRzIGFzICRjb250ZW50X2lkID0+ICYkb2JqICkKewogIGlmIChwYXJlbnRfaW5fbGlzdCgkY29udGVudHMsICRvYmopKQoJewoJCSRyZXN1bHQgPSAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICcnLCAieyRpZH1uZXdfcGFyZW50X2lkW3skY29udGVudF9pZH1dIiwgMSwgMCwgMCwgdHJ1ZSk7CgkJJHJlc3VsdCA9IHN0cl9yZXBsYWNlKCc8b3B0aW9uIHZhbHVlPSItMSI+bm9uZTwvb3B0aW9uPicsICc8b3B0aW9uIHZhbHVlPSIwIj5QcmVzZXJ2ZSBIaWVyYXJjaHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSItMSI+Tm9uZTwvb3B0aW9uPicsICRyZXN1bHQpOwoJCSRwYXJlbnRfZHJvcGRvd25zWyRjb250ZW50X2lkXSA9ICRyZXN1bHQ7Cgl9CgllbHNlCgl7CgkJJHJlc3VsdCA9ICRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywgJG9iai0+bVBhcmVudElkLCAieyRpZH1uZXdfcGFyZW50X2lkW3skY29udGVudF9pZH1dIiwgMSwgMCwgMCwgdHJ1ZSk7CgkJJHJlc3VsdCA9IHN0cl9yZXBsYWNlKCc8b3B0aW9uIHZhbHVlPSItMSI+bm9uZTwvb3B0aW9uPicsICc8b3B0aW9uIHZhbHVlPSItMSI+Tm9uZTwvb3B0aW9uPicsICRyZXN1bHQpOwoJCSRwYXJlbnRfZHJvcGRvd25zWyRjb250ZW50X2lkXSA9ICRyZXN1bHQ7Cgl9CgkKICBpZiggIWlzX2EoJG9iaiwnQ29udGVudCcpICkgY29udGludWU7CgogICRibG9ja3MgPSAkb2JqLT5nZXRfY29udGVudF9ibG9ja3MoKTsKICBpZiggISRibG9ja3MgfHwgIWlzX2FycmF5KCRibG9ja3MpICkgY29udGludWU7CgogIGZvcmVhY2goICRibG9ja3MgYXMgJGJsb2NrTmFtZSA9PiAkYmxvY2tJbmZvICkKICAgIHsKICAgICAgaWYoICFpc3NldCgkYmxvY2tJbmZvWydwYXJhbXMnXVsncHJvbXB0b25jb3B5J10pIHx8ICEkYmxvY2tJbmZvWydwYXJhbXMnXVsncHJvbXB0b25jb3B5J10gKSBjb250aW51ZTsKCiAgICAgIC8vIGZvdW5kIGEgcHJvbXB0b25jb3B5IGJsb2NrCiAgICAgIGlmKCAhaXNzZXQoJGFkZGJsb2Nrc1skY29udGVudF9pZF0pICkKCXsKCSAgJGFkZGJsb2Nrc1skY29udGVudF9pZF0gPSBhcnJheSgpOwoJfQoKICAgICAgJHZhbHVlID0gJG9iai0+R2V0UHJvcGVydHlWYWx1ZSgkYmxvY2tJbmZvWydpZCddKTsKICAgICAgJGJsb2NrSW5mb1snaW5wdXRuYW1lJ10gPSAieyRpZH1ibG9ja197JGNvbnRlbnRfaWR9X3skYmxvY2tOYW1lfSI7CiAgICAgICRmbGQgPSAkb2JqLT5kaXNwbGF5X2NvbnRlbnRfYmxvY2soJGJsb2NrTmFtZSwkYmxvY2tJbmZvLCR2YWx1ZSx0cnVlKTsKICAgICAgaWYoICRmbGQgKQoJewoJICAkYmxvY2tJbmZvWydmbGRfbGFiZWwnXSA9ICRmbGRbMF07CgkgICRibG9ja0luZm9bJ2ZsZF9pbnB1dCddID0gJGZsZFsxXTsKCSAgJGFkZGJsb2Nrc1skY29udGVudF9pZF1bJGJsb2NrTmFtZV0gPSAkYmxvY2tJbmZvOwoJfQogICAgfQp9CgokbWFwcGVkX2lkcyA9IGFycmF5KCk7Ci8vCi8vIGhhbmRsZSBmb3JtIHN1Ym1pdAovLwppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICAvLwogICAgLy8gdmFsaWRhdGUgZm9ybSBjb250ZW50cwogICAgLy8KICAgICRlcnJvciA9ICcnOwogICAgLyoKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncGFyZW50X2lkJ10pICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcGFyYW0nKTsKICAgICAgfQogICAgICAqLwoKICAgIGlmKCBlbXB0eSgkZXJyb3IpICkKICAgICAgewoJLy8gY2hlY2sgb3V0IHRoZSBuYW1lcy4KCWZvcmVhY2goJHBhcmFtc1snbmV3X25hbWUnXSBhcyAkY2lkID0+ICR2YWx1ZSApCgkgIHsKCSAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CgkgICAgaWYoIGVtcHR5KCR2YWx1ZSkgKQoJICAgICAgewoJCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jb3B5Y29udGVudF9pbnZhbGlkX25hbWUnLCRjaWQpOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJGVycm9yKSApCiAgICAgIHsKCS8vIGNoZWNrIG91dCB0aGUgbWVudXRleHQuCglmb3JlYWNoKCRwYXJhbXNbJ25ld19tZW51dGV4dCddIGFzICRjaWQgPT4gJHZhbHVlICkKCSAgewoJICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKCSAgICBpZiggZW1wdHkoJHZhbHVlKSApCgkgICAgICB7CgkJJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbWVudXRleHQnLCRjaWQpOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJGVycm9yKSApCiAgICAgIHsKCS8vIGNoZWNrIG91dCB0aGUgYWxpYXNlcy4KCWZvcmVhY2goJHBhcmFtc1snbmV3X2FsaWFzJ10gYXMgJGNpZCA9PiAkdmFsdWUgKQoJICB7CgkgICAgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwoJICAgIGlmKCAhZW1wdHkoJHZhbHVlKSApIC8vIGVtcHR5IGFsaWFzZXMgYXJlIG9rYXkgKHdlJ2xsIGF1dG8gZ2VuZXJhdGUgdGhlbSkKCSAgICAgIHsKCQkkdG1wID0gJGNvbnRlbnRvcHMtPkNoZWNrQWxpYXNFcnJvcigkdmFsdWUpOwoJCWlmKCAkdG1wICkgCgkJICB7CgkJICAgICRlcnJvciA9ICR0bXA7CgkJICAgIGJyZWFrOwoJCSAgfQoJICAgICAgfQoJICB9CiAgICAgIH0KICAgIAogICAgaWYoIGVtcHR5KCRlcnJvcikgKQogICAgICB7CgkvLyB2YWxpZGF0ZSB0aGUgYmxvY2tzIGFuZCBjb2xsZWN0IHZhbHVlcwoJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKSAKCSAgewoJICAgIGlmKCAhc3RhcnRzd2l0aCgka2V5LCdibG9ja18nKSApIGNvbnRpbnVlOwoKCSAgICAkdG1wID0gZXhwbG9kZSgnXycsJGtleSwzKTsKCSAgICAkY29udGVudF9pZCA9ICR0bXBbMV07CgkgICAgJGJsb2NrbmFtZSA9ICR0bXBbMl07CgkgICAgaWYoICFpc3NldCgkYWRkYmxvY2tzWyRjb250ZW50X2lkXVskYmxvY2tuYW1lXSkgKQoJICAgICAgewoJCWNvbnRpbnVlOwoJICAgICAgfQoKCSAgICAvLyBmb3VuZCB0aGUgYmxvY2suLi4gbm93IHdlIHZhbGlkYXRlIGl0LgoJICAgIC8vIHRvZG8uCgoJICAgIC8vIGFuZCBzdG9yZSB0aGUgdmFsdWUKCSAgICAkYWRkYmxvY2tzWyRjb250ZW50X2lkXVskYmxvY2tuYW1lXVsndmFsdWUnXSA9ICR2YWx1ZTsJICAgIAoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJGVycm9yKSApCiAgICAgIHsKCS8vIGRvbmUgdmFsaWRhdGlvbi4uLiBub3cgc3RhcnQgY29weWluZyBjb250ZW50IG9iamVjdHMuCglmb3JlYWNoKCAkY29udGVudHMgYXMgJGNvbnRlbnRfaWQgPT4gJHNvdXJjZSApCgkgIHsKCSAgICAkZGVzdCA9IGNsb25lKCRzb3VyY2UpOwoKCSAgICAkZGVzdC0+U2V0SWQoLTEpOyAvLyBmb3JjZSBuZXcgb2JqZWN0CgkgICAgJGRlc3QtPlNldEl0ZW1PcmRlcigtMSk7CgkgICAgJGRlc3QtPlNldE9sZEl0ZW1PcmRlcigtMSk7CgkgICAgJGRlc3QtPm1PbGRBbGlhcyA9ICcnOwoKCSAgICAkZGVzdC0+U2V0QWxpYXMoJHBhcmFtc1snbmV3X2FsaWFzJ11bJGNvbnRlbnRfaWRdKTsKCSAgICAkZGVzdC0+U2V0TmFtZSgkcGFyYW1zWyduZXdfbmFtZSddWyRjb250ZW50X2lkXSk7CgkJCWlmICgkcGFyYW1zWyduZXdfcGFyZW50X2lkJ11bJGNvbnRlbnRfaWRdICE9IDApIC8vV2UnbGwgc2V0IGl0IGxhdGVyLi4uICBzY291dCdzIGhvbm9yCgkJCXsKCQkJCSRkZXN0LT5TZXRQYXJlbnRJZCgkcGFyYW1zWyduZXdfcGFyZW50X2lkJ11bJGNvbnRlbnRfaWRdKTsKCQkJCSRkZXN0LT5TZXRPbGRQYXJlbnRJZCgkcGFyYW1zWyduZXdfcGFyZW50X2lkJ11bJGNvbnRlbnRfaWRdKTsKCQkJfQoJICAgICRkZXN0LT5TZXRNZW51VGV4dCgkcGFyYW1zWyduZXdfbWVudXRleHQnXVskY29udGVudF9pZF0pOwoJICAgICRkZXN0LT5TZXREZWZhdWx0Q29udGVudCgwKTsKCSAgICAkZGVzdC0+U2V0T3duZXIoZ2V0X3VzZXJpZCgpKTsKCSAgICAkZGVzdC0+U2V0TGFzdE1vZGlmaWVkQnkoZ2V0X3VzZXJpZCgpKTsKCgkgICAgLy8gc2V0IHByb3BlcnRpZXMKCQlpZiAoaXNzZXQoJGFkZGJsb2Nrc1skY29udGVudF9pZF0pKQoJCXsKCSAgICBmb3JlYWNoKCRhZGRibG9ja3NbJGNvbnRlbnRfaWRdIGFzICRibG9ja25hbWUgPT4gJGJsb2NraW5mbyApCgkgICAgICB7CgkJaWYoICFpc3NldCgkYmxvY2tpbmZvWyd2YWx1ZSddKSApIGNvbnRpbnVlOwoJCSRkZXN0LT5TZXRQcm9wZXJ0eVZhbHVlKCRibG9ja25hbWUsJGJsb2NraW5mb1sndmFsdWUnXSk7CgkgICAgICB9CgkJfQoKCSAgICAkcmVzID0gJGRlc3QtPlZhbGlkYXRlRGF0YSgpOwoJICAgIGlmKCAkcmVzICE9PSBGQUxTRSApCgkgICAgICB7CgkJJGVycm8gPSAkcmVzOwoJCWJyZWFrOwoJICAgICAgfQoJICAgICRjb3BpZWRjb250ZW50WyRjb250ZW50X2lkXSA9ICRkZXN0OwoJICB9CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJGVycm9yKSAmJiAoY291bnQoJGNvcGllZGNvbnRlbnQpID4gMCkgKQogICAgICB7CgkvLyBoYXZlIGFycmF5IG9mIGNvcGllZCBjb250ZW50IG9iamVjdHMKCS8vIG5vdyByZWFkeSB0byBzYXZlIHRoZW0uCglmb3JlYWNoKCAkY29waWVkY29udGVudCBhcyAka2V5ID0+ICYkZGVzdCApCgkgIHsKCQkJaWYgKCRwYXJhbXNbJ25ld19wYXJlbnRfaWQnXVska2V5XSA9PSAnMCcpCgkJCXsKCQkJCSRvbGRfaWQgPSAkZGVzdC0+UGFyZW50SWQoKTsKCQkJCS8vdmFyX2R1bXAoJ25ldyBpZCcsICRrZXksICRvbGRfaWQpOwoJCQkJJGRlc3QtPlNldFBhcmVudElkKCRtYXBwZWRfaWRzWyRvbGRfaWRdKTsKCQkJCSRkZXN0LT5TZXRPbGRQYXJlbnRJZCgkbWFwcGVkX2lkc1skb2xkX2lkXSk7CgkJCX0KCSAgICAkZGVzdC0+U2F2ZSgpOwoJCQkkbWFwcGVkX2lkc1ska2V5XSA9ICRkZXN0LT5tSWQ7CgkgIH0KCSRjb250ZW50b3BzLT5TZXRBbGxIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCQoJLy8gc29tZXRoaW5nIGZvciB0aGUgYXVkaXQgbG9nCglhdWRpdCgnJywnJywnQWR2YW5jZWQgQ29weSBvZiBDb250ZW50Jyk7CgoJLy8gYW5kIHJlZGlyZWN0CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluKCdsaXN0Y29udGVudC5waHAnLAoJCQkgICAgICAgYXJyYXkoJ21lc3NhZ2UnPT4nYnVsa19zdWNjZXNzJykpOwogICAgICB9CgogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3IpOwogIH0KCi8vCi8vIGJ1aWxkIG91ciBmb3JtCi8vCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9jb3B5Y29udGVudCcsJycsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wYXJlbnQnLGxhbmcoJ3BhcmVudCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwYXJlbnRfZHJvcGRvd24nLCRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywnJywkaWQuJ3BhcmVudF9pZCcsIDEsIDAsIDAsIHRydWUpKTsKJHNtYXJ0eS0+YXNzaWduKCdwYXJlbnRfZHJvcGRvd25zJywgJHBhcmVudF9kcm9wZG93bnMpOwokc21hcnR5LT5hc3NpZ24oJ2NvbnRlbnRzJywkY29udGVudHMpOwokc21hcnR5LT5hc3NpZ24oJ2FkZGJsb2NrcycsJGFkZGJsb2Nrcyk7CiRzbWFydHktPmFzc2lnbignbmV3ZGF0YScsICRuZXdkYXRhKTsKCgoKLy8KLy8gcHJvY2VzcyB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9jb3B5Y29udGVudC50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_block.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gCi8vIGluaXRpYWxpemF0aW9uCi8vCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdibG9ja3MnKTsKCi8vCi8vIHNldHVwCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1snYmxvY2tpZCddKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgokYmxvY2tpZCA9IChpbnQpJHBhcmFtc1snYmxvY2tpZCddOwokcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ2NvbnRlbnR1dGlscyBXSEVSRSBpZCA9ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRibG9ja2lkKSk7CgovLwovLyBkb25lCi8vCiR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfYmxvY2tkZWxldGVkJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_block.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2Jsb2NrcycpOwokYmxvY2tpZCA9ICcnOwokZGF0YSA9IGFycmF5KCk7CiRkYXRhWyduYW1lJ10gPSAnJzsKJGRhdGFbJ3Byb21wdCddID0gJyc7CiRkYXRhWyd0eXBlJ10gPSAndGV4dGlucHV0JzsKJGRhdGFbJ3ZhbHVlJ10gPSAnJzsKJGRhdGFbJ2F0dHJpYnMnXSA9IGFycmF5KCk7CiRkYXRhWydhdHRyaWJzJ11bJ2xlbmd0aCddID0gJzgwJzsKJGRhdGFbJ2F0dHJpYnMnXVsnbWF4bGVuZ3RoJ10gPSAnMjU1JzsKJGRhdGFbJ2F0dHJpYnMnXVsncm93cyddID0gJzgnOwokZGF0YVsnYXR0cmlicyddWydjb2xzJ10gPSAnNTAnOwokZGF0YVsnYXR0cmlicyddWydvcHRpb25zJ10gPSAnJzsKJGRhdGFbJ2F0dHJpYnMnXVsndmFsdWUnXSA9IDE7CgovLwovLyBzZXR1cAovLwppZiggaXNzZXQoJHBhcmFtc1snYmxvY2tpZCddKSApCiAgewogICAgJGJsb2NraWQgPSAoaW50KSRwYXJhbXNbJ2Jsb2NraWQnXTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2djb250ZW50dXRpbHMKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGJsb2NraWQpKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJJHJvd1snYXR0cmlicyddID0gdW5zZXJpYWxpemUoJHJvd1snYXR0cmlicyddKTsKCSRkYXRhID0gJHJvdzsKICAgICAgfQogIH0KCi8vCi8vIHByb2Nlc3MgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICRkYXRhWyduYW1lJ10gPSBtdW5nZV9zdHJpbmdfdG9fdXJsKHRyaW0oJHBhcmFtc1snbmFtZSddKSk7CiAgICAkZGF0YVsncHJvbXB0J10gPSB0cmltKCRwYXJhbXNbJ3Byb21wdCddKTsKICAgICRkYXRhWyd0eXBlJ10gPSAkcGFyYW1zWyd0eXBlJ107CiAgICAkZGF0YVsndmFsdWUnXSA9IHRyaW0oJHBhcmFtc1snZGZsdHZhbHVlJ10pOwoKICAgICRhdHRyaWJzID0gYXJyYXkoKTsKICAgIHN3aXRjaCggJGRhdGFbJ3R5cGUnXSApCiAgICAgIHsKICAgICAgY2FzZSAndGV4dGlucHV0JzoKCSRhdHRyaWJzWydsZW5ndGgnXSA9IChpbnQpJHBhcmFtc1snbGVuZ3RoJ107CgkkYXR0cmlic1snbWF4bGVuZ3RoJ10gPSAoaW50KSRwYXJhbXNbJ21heGxlbmd0aCddOwoJYnJlYWs7CgogICAgICBjYXNlICd0ZXh0YXJlYSc6CgkkYXR0cmlic1sncm93cyddID0gKGludCkkcGFyYW1zWydyb3dzJ107CgkkYXR0cmlic1snY29scyddID0gKGludCkkcGFyYW1zWydjb2xzJ107CglicmVhazsKCiAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKCSRhdHRyaWJzWydvcHRpb25zJ10gPSB0cmltKCRwYXJhbXNbJ29wdGlvbnMnXSk7CglicmVhazsKCiAgICAgIGNhc2UgJ2NoZWNrYm94JzoKCSRhdHRyaWJzWyd2YWx1ZSddID0gdHJpbSgkcGFyYW1zWyd2YWx1ZSddKTsKCWJyZWFrOwoKICAgICAgY2FzZSAncmFkaW9idXR0b25zJzoKCSRhdHRyaWJzWydvcHRpb25zJ10gPSB0cmltKCRwYXJhbXNbJ3JhZGlvb3B0aW9ucyddKTsKCWJyZWFrOwoKICAgICAgY2FzZSAnZmlsZV9zZWxlY3Rvcic6CglpZiggJHBhcmFtc1snZGlyZWN0b3J5J10gPT0gJzAnIHx8ICRwYXJhbXNbJ2RpcmVjdG9yeSddID09ICcvJyApCgkgIHsKCSAgICAkcGFyYW1zWydkaXJlY3RvcnknXSA9ICcnOwoJICB9CgkkYXR0cmlic1snZGlyJ10gPSB0cmltKCRwYXJhbXNbJ2RpcmVjdG9yeSddKTsKCSRhdHRyaWJzWydleGNsdWRlcHJlZml4J10gPSB0cmltKCRwYXJhbXNbJ2V4Y2x1ZGVwcmVmaXgnXSk7CgkkYXR0cmlic1snZmlsZXR5cGVzJ10gPSB0cmltKCRwYXJhbXNbJ2ZpbGV0eXBlcyddKTsKCSRhdHRyaWJzWydyZWN1cnNlJ10gPSAoaW50KSRwYXJhbXNbJ3JlY3Vyc2UnXTsKCSRhdHRyaWJzWydzb3J0ZmlsZXMnXSA9IChpbnQpJHBhcmFtc1snc29ydGZpbGVzJ107CglicmVhazsKICAgICAgfQogICAgJGRhdGFbJ2F0dHJpYnMnXSA9IHNlcmlhbGl6ZSgkYXR0cmlicyk7CgogICAgLy8gYW5kIHN0b3JlIGl0LgogICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgIGlmKCAkYmxvY2tpZCAhPSAnJyApCiAgICAgIHsKCSRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2NnY29udGVudHV0aWxzCiAgICAgICAgICAgICAgICAgICBXSEVSRSBuYW1lID0gPyBBTkQgaWQgIT0gPyc7CgkkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRkYXRhWyduYW1lJ10sJGJsb2NraWQpKTsKCWlmKCAkdG1wICkKCSAgewoJICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25hbWV4aXN0cycpKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgLy8gaXQncyBhbiB1cGRhdGUKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2djb250ZW50dXRpbHMKICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgcHJvbXB0ID0gPywgdmFsdWUgPSA/LCB0eXBlID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnMgPSA/LCBtb2RpZmllZF9kYXRlID0gJG5vdwogICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJCWFycmF5KCRkYXRhWyduYW1lJ10sJGRhdGFbJ3Byb21wdCddLCRkYXRhWyd2YWx1ZSddLAoJCQkJICAgICAgJGRhdGFbJ3R5cGUnXSwkZGF0YVsnYXR0cmlicyddLCRibG9ja2lkKSk7CgkgICAgaWYoICEkZGJyICkKCSAgICAgIHsKCQllY2hvICJFUlJPUjogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKTsKCSAgICAgIH0KCgkgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19ibG9ja3VwZGF0ZWQnKSk7CgkgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIGl0J3MgYW4gaW5zZXJ0CgkvLyBjaGVjayBmb3IgYSBkdXBsaWNhdGUgbmFtZSBmaXJzdAoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2djb250ZW50dXRpbHMKICAgICAgICAgICAgICAgICAgIFdIRVJFIG5hbWUgPSA/JzsKCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJGRhdGFbJ25hbWUnXSkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbmFtZWV4aXN0cycpKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2djb250ZW50dXRpbHMKICAgICAgICAgICAgICAgICAgICAgKG5hbWUscHJvbXB0LHZhbHVlLHR5cGUsYXR0cmlicyxjcmVhdGVfZGF0ZSxtb2RpZmllZF9kYXRlKQogICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPywkbm93LCRub3cpIjsKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJCWFycmF5KCRkYXRhWyduYW1lJ10sJGRhdGFbJ3Byb21wdCddLCRkYXRhWyd2YWx1ZSddLAoJCQkJICAgICAgJGRhdGFbJ3R5cGUnXSwkZGF0YVsnYXR0cmlicyddKSk7CgkgICAgCgkgICAgaWYoICEkZGJyICkKCSAgICAgIHsKCQllY2hvICJFUlJPUjogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKTsKCSAgICAgIH0KCgkgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19ibG9ja2FkZGVkJykpOwoJICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgkgIH0KICAgICAgfSAvLyBpbnNlcnQKICB9CgovLwovLyBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCiRkaXJzID0gYXJyYXkoJy8nPT4nLycpOwokdG1wID0gZ2xvYigkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nLyonLEdMT0JfT05MWURJUik7CmlmKCBpc19hcnJheSgkdG1wKSApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQogICAgICB7CgkkdG1wcyA9IHN0cl9yZXBsYWNlKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvJywnJywkdG1wWyRpXSk7CgkkZGlyc1skdG1wc10gPSAkdG1wczsKICAgICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdkaXJlY3RvcmllcycsJGRpcnMpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfYmxvY2snLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRibG9ja3R5cGVzID0gYXJyYXkoJ3BhZ2VzZWxlY3Rvcic9PiR0aGlzLT5MYW5nKCdibG9ja3R5cGVfcGFnZXNlbGVjdG9yJyksCgkJICAgICd0ZXh0aW5wdXQnPT4kdGhpcy0+TGFuZygnYmxvY2t0eXBlX3RleHRpbnB1dCcpLAoJCSAgICAndGV4dGFyZWEnPT4kdGhpcy0+TGFuZygnYmxvY2t0eXBlX3RleHRhcmVhJyksCgkJICAgICdkcm9wZG93bic9PiR0aGlzLT5MYW5nKCdibG9ja3R5cGVfZHJvcGRvd24nKSwKCQkgICAgJ2NoZWNrYm94Jz0+JHRoaXMtPkxhbmcoJ2Jsb2NrdHlwZV9jaGVja2JveCcpLAoJCSAgICAncmFkaW9idXR0b25zJz0+JHRoaXMtPkxhbmcoJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnKSwKCQkgICAgJ2ZpbGVfc2VsZWN0b3InPT4kdGhpcy0+TGFuZygnZmlsZV9zZWxlY3RvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdibG9ja3R5cGVzJywkYmxvY2t0eXBlcyk7CiRzbWFydHktPmFzc2lnbignb25lJywkZGF0YSk7Ci8vCi8vIGRpc3BsYXkgdGhlIHRlbXBsYXRlCi8vCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZWRpdF9ibG9jay50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_export_code.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICFpc3NldCgkcGFyYW1zWydzZWxfbW9kdWxlcyddKSApIHJldHVybjsKCiRkb20gPSBuZXcgRE9NRG9jdW1lbnQoJzEuMCcsJ1VURjgnKTsKJHJvb3QgPSAkZG9tLT5jcmVhdGVFbGVtZW50KCdjbXNtc19jb2RlX2V4cG9ydCcpOwoKJGdjYm9wcyA9ICRnQ21zLT5HZXRHbG9iYWxDb250ZW50T3BlcmF0aW9ucygpOwokdWR0b3BzID0gJGdDbXMtPkdldFVzZXJUYWdPcGVyYXRpb25zKCk7Cgpmb3JlYWNoKCAkcGFyYW1zWydzZWxfdGVtcGxhdGVzJ10gYXMgJG9uZV9pdGVtICkKewogICRwYXJlbnQgPSAnJzsKICBpZiggc3RhcnRzd2l0aCgkb25lX2l0ZW0sJzo6Z2NiOjonKSApCiAgICB7CiAgICAgIGxpc3QoJGp1bmssJHNlY3Rpb24sJGdjYl9uYW1lKSA9IGV4cGxvZGUoJzo6Jywkb25lX2l0ZW0sMyk7CiAgICAgIGlmKCAkanVuayAhPSAnJyB8fCAkc2VjdGlvbiAhPSAnZ2NiJyB8fCAkZ2NiX25hbWUgPT0gJycgKSBjb250aW51ZTsKCiAgICAgICRvYmogPSAkZ2Nib3BzLT5Mb2FkSHRtbEJsb2JCeU5hbWUoJGdjYl9uYW1lKTsKICAgICAgaWYoICEkb2JqICkgY29udGludWU7CiAgICAgIGlmKCAhJG9iai0+Y29udGVudCApIGNvbnRpbnVlOyAgLy8gZW1wdHkgZ2NiPwoKICAgICAgJHBhcmVudCA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ2dsb2JhbF9jb250ZW50X2Jsb2NrJyk7CgogICAgICAkc3ViID0gJGRvbS0+Y3JlYXRlRWxlbWVudCgnbmFtZScsJGdjYl9uYW1lKTsKICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJHN1Yik7CiAgICAgIAogICAgICAkc3ViID0gJGRvbS0+Y3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTsKICAgICAgJGNkYXRhID0gJGRvbS0+Y3JlYXRlQ0RBVEFzZWN0aW9uKGJhc2U2NF9lbmNvZGUoJG9iai0+Y29udGVudCkpOwogICAgICAkc3ViLT5hcHBlbmRDaGlsZCgkY2RhdGEpOwogICAgICAkcGFyZW50LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAgICRzdWIgPSAkZG9tLT5jcmVhdGVFbGVtZW50KCdkZXNjcmlwdGlvbicpOwogICAgICAkY2RhdGEgPSAkZG9tLT5jcmVhdGVDREFUQXNlY3Rpb24oYmFzZTY0X2VuY29kZSgkb2JqLT5kZXNjcmlwdGlvbikpOwogICAgICAkc3ViLT5hcHBlbmRDaGlsZCgkY2RhdGEpOwogICAgICAkcGFyZW50LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAgICRzdWIgPSAkZG9tLT5jcmVhdGVFbGVtZW50KCd1c2Vfd3lzaXd5ZycsJG9iai0+dXNlX3d5c2l3eWcpOwogICAgICAkcGFyZW50LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICB9CiAgZWxzZSBpZiggc3RhcnRzd2l0aCgkb25lX2l0ZW0sJzo6dWR0OjonKSApCiAgICB7CiAgICAgIC8vIGEgZ2xvYmFsIGNvbnRlbnQgYmxvY2suCiAgICAgIGxpc3QoJGp1bmssJHNlY3Rpb24sJHVkdF9uYW1lKSA9IGV4cGxvZGUoJzo6Jywkb25lX2l0ZW0sMyk7CiAgICAgIGlmKCAkanVuayAhPSAnJyB8fCAkc2VjdGlvbiAhPSAndWR0JyB8fCAkdWR0X25hbWUgPT0gJycgKSBjb250aW51ZTsKICAgICAgCiAgICAgICR0YWcgPSAkdWR0b3BzLT5HZXRVc2VyVGFnKCR1ZHRfbmFtZSk7CiAgICAgIGlmKCAhJHRhZyApIGNvbnRpbnVlOwoKICAgICAgJHBhcmVudCA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ3VzZXJkZWZpbmVkX3RhZycpOwoKICAgICAgJHN1YiA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ25hbWUnLCR1ZHRfbmFtZSk7CiAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICAgJHN1YiA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ2NvZGUnKTsKICAgICAgJHRhZyA9IGJhc2U2NF9lbmNvZGUoJHRhZyk7CiAgICAgICRjZGF0YSA9ICRkb20tPmNyZWF0ZUNEQVRBc2VjdGlvbigkdGFnKTsKICAgICAgJHN1Yi0+YXBwZW5kQ2hpbGQoJGNkYXRhKTsKICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJHN1Yik7CiAgICB9CiAgZWxzZQogICAgewogICAgICAvLyBhIG1vZHVsZSB0ZW1wbGF0ZS4KICAgICAgbGlzdCgkbW9kdWxlX25hbWUsJHRwbF9uYW1lKSA9IGV4cGxvZGUoJzo6Jywkb25lX2l0ZW0sMik7CiAgICAgIGlmKCAkbW9kdWxlX25hbWUgPT0gJycgfHwgJHRwbF9uYW1lID09ICcnICkgY29udGludWU7CgogICAgICAkdHBsID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0cGxfbmFtZSwkbW9kdWxlX25hbWUpOwogICAgICBpZiggJHRwbCA9PSAnJyApIGNvbnRpbnVlOwogICAgICAkdHBsID0gYmFzZTY0X2VuY29kZSgkdHBsKTsKCiAgICAgICRwYXJlbnQgPSAkZG9tLT5jcmVhdGVFbGVtZW50KCdtb2R1bGVfdGVtcGxhdGUnKTsKCiAgICAgICRzdWIgPSAkZG9tLT5jcmVhdGVFbGVtZW50KCdtb2R1bGUnLCRtb2R1bGVfbmFtZSk7CiAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICAgJHN1YiA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ25hbWUnLCR0cGxfbmFtZSk7CiAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICAgJHN1YiA9ICRkb20tPmNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJyk7CiAgICAgICRjZGF0YSA9ICRkb20tPmNyZWF0ZUNEQVRBc2VjdGlvbigkdHBsKTsKICAgICAgJHN1Yi0+YXBwZW5kQ2hpbGQoJGNkYXRhKTsKICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJHN1Yik7CiAgICB9CgogIGlmKCAkcGFyZW50ICkKICAgICRyb290LT5hcHBlbmRDaGlsZCgkcGFyZW50KTsKfQoKJGRvbS0+YXBwZW5kQ2hpbGQoJHJvb3QpOwokdHh0ID0gJGRvbS0+c2F2ZVhNTCgpOwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsKaGVhZGVyKCdFeHBpcmVzOiAwJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVjaz0wJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogcHJpdmF0ZScsZmFsc2UpOwpoZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEV4cG9ydCcpOwpoZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2ZvcmNlLWRvd25sb2FkJyk7CmhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Y21zbXNfY29kZV9leHBvcnQueG1sJyk7Ci8vIGhlYWRlcignQ29udGVudC10eXBlOiB0ZXh0L3htbCcpOwplY2hvICR0eHQ7CmV4aXQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_code.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJG1vZGlmeV90ZW1wbGF0ZXMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiRtb2RpZnlfdWR0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXItZGVmaW5lZCBUYWdzJyk7CiRtb2RpZnlfZ2NiID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdsb2JhbCBDb250ZW50IEJsb2NrcycpOwppZiggISRtb2RpZnlfdGVtcGxhdGVzICYmICEkbW9kaWZ5X3VkdCAmJiAhJG1vZGlmeV9nY2IgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignaW1wb3J0X2NvZGUnKTsKCiRmaWxlbmFtZSA9ICR0aGlzLT5zZXNzaW9uX2dldCgnY29kZV9maWxlbmFtZScpOwppZiggISRmaWxlbmFtZSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl91cGxvYWRub3Rmb3VuZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQokZmlsZW5hbWUgPSBUTVBfQ0FDSEVfTE9DQVRJT04uJy8nLiRmaWxlbmFtZTsKaWYoICFmaWxlX2V4aXN0cygkZmlsZW5hbWUpICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3VwbG9hZG5vdGZvdW5kJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgokcmVhZGVyID0gbmV3IGNnY3VfY29kZV9yZWFkZXIoJGZpbGVuYW1lKTsKJGVycm9yID0gJHJlYWRlci0+Z2V0X2Vycm9yKCk7CmlmKCAkZXJyb3IgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygkZXJyb3IpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQokYWxsX2RhdGEgPSAkcmVhZGVyLT5nZXRfZGF0YSgpOwoKJG51bV9hdmFpbGFibGUgPSAwOwpmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkYWxsX2RhdGEpOyAkaSsrICkKICB7CiAgICAkcm93ID0mICRhbGxfZGF0YVskaV07CiAgICAkcm93Wyd1bmlxdWVpZCddID0gJ3gnLm1kNShzZXJpYWxpemUoJHJvdykpOwogICAgc3dpdGNoKCAkcm93Wyd0eXBlJ10gKQogICAgICB7CiAgICAgIGNhc2UgJ21vZHVsZV90ZW1wbGF0ZSc6Cgkkb2JqID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCRyb3dbJ21vZHVsZSddKTsKCWlmKCAhaXNfb2JqZWN0KCRvYmopICkgY29udGludWU7CglpZiggY2djdV91dGlsczo6bW9kdWxlX3RlbXBsYXRlX2V4aXN0cygkcm93Wydtb2R1bGUnXSwkcm93WyduYW1lJ10pICkKCSAgewoJICAgICRyb3dbJ25ld19uYW1lJ10gPSBjZ2N1X3V0aWxzOjptb2R1bGVfdGVtcGxhdGVfbmV3bmFtZSgkcm93Wydtb2R1bGUnXSwkcm93WyduYW1lJ10pOwoJICB9Cgkkcm93WydhdmFpbGFibGUnXSA9IDE7CgkkbnVtX2F2YWlsYWJsZSsrOwoJYnJlYWs7CgogICAgICBjYXNlICdnbG9iYWxfY29udGVudF9ibG9jayc6CglpZiggY2djdV91dGlsczo6Z2NiX2V4aXN0cygkcm93WyduYW1lJ10pICkKCSAgewoJICAgICRyb3dbJ25ld19uYW1lJ10gPSBjZ2N1X3V0aWxzOjpnY2JfbmV3bmFtZSgkcm93WyduYW1lJ10pOwoJICB9Cgkkcm93WydhdmFpbGFibGUnXSA9IDE7CglicmVhazsKCiAgICAgIGNhc2UgJ3VzZXJkZWZpbmVkX3RhZyc6CglpZiggY2djdV91dGlsczo6dWR0X2V4aXN0cygkcm93WyduYW1lJ10pICkKCSAgewoJICAgICRyb3dbJ25ld19uYW1lJ10gPSBjZ2N1X3V0aWxzOjp1ZHRfbmV3bmFtZSgkcm93WyduYW1lJ10pOwoJICB9Cgkkcm93WydhdmFpbGFibGUnXSA9IDE7CglicmVhazsKICAgICAgfQogIH0KCgovLwovLyBoYW5kbGUgZm9ybSBpbnB1dAovLwppZiggaXNzZXQoJHBhcmFtc1snaW1wb3J0J10pICkKICB7CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2ltcG9ydF9pdGVtJ10pIHx8ICFpc19hcnJheSgkcGFyYW1zWydpbXBvcnRfaXRlbSddKSB8fAoJY291bnQoJHBhcmFtc1snaW1wb3J0X2l0ZW0nXSkgPT0gMCApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGhpbmdzZWxlY3RlZCcpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBidWlsZCBhbiBhcnJheSBvZiB0aGUgaXRlbXMgd2UgYXJlIGdvbm5hIGltcG9ydC4KCSRpbXBvcnRfaXRlbXMgPSBhcnJheSgpOwoJZm9yZWFjaCggJHBhcmFtc1snaW1wb3J0X2l0ZW0nXSBhcyAkb25lICkKCSAgewoJICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRhbGxfZGF0YSk7ICRpKysgKQoJICAgICAgewoJCWlmKCAkYWxsX2RhdGFbJGldWyd1bmlxdWVpZCddID09ICRvbmUgKQoJCSAgewoJCSAgICAkaW1wb3J0X2l0ZW1zWyRvbmVdID0gJGFsbF9kYXRhWyRpXTsKCQkgIH0KCQlpZiggaXNzZXQoJHBhcmFtc1snbmV3X25hbWUnXVskb25lXSkgJiYgIWVtcHR5KCRwYXJhbXNbJ25ld19uYW1lJ11bJG9uZV0pICkKCQkgIHsKCQkgICAgJGltcG9ydF9pdGVtc1skb25lXVsnbmV3X25hbWUnXSA9ICRwYXJhbXNbJ25ld19uYW1lJ11bJG9uZV07CgkJICB9CgkgICAgICB9CgkgIH0KCglpZiggaXNzZXQoJHBhcmFtc1snY29uZmlybV9pbXBvcnQnXSkgKQoJICB7CgkgICAgZGVidWdfZGlzcGxheSgkcGFyYW1zKTsgZGllKCk7CgkgIH0KCgkvLwoJLy8gYXQgdGhpcyBwb2ludCB3ZSBtdXN0IGNvbmZpcm0gc3R1ZmYuCgkvLwoJJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRfZGF0YScsYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJGltcG9ydF9pdGVtcykpKTsKCSRzbWFydHktPmFzc2lnbignaW1wb3J0X2l0ZW1zJywkaW1wb3J0X2l0ZW1zKTsKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9pbXBvcnRfY29kZScpKTsKCSRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5faW1wb3J0X2NvZGUudHBsJyk7CiAgICAgIH0KICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2RvX2ltcG9ydCddKSAmJiBpc3NldCgkcGFyYW1zWydjb25maXJtX2ltcG9ydCddKSApCiAgewogICAgaWYoICFpc3NldCgkcGFyYW1zWydpbXBvcnRfZGF0YSddKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtcycpKTsKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgIH0KCiAgICAkZGF0YSA9IHVuc2VyaWFsaXplKGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snaW1wb3J0X2RhdGEnXSkpOwogICAgZm9yZWFjaCggJGRhdGEgYXMgJGl0ZW0gKQogICAgICB7Cglzd2l0Y2goICRpdGVtWyd0eXBlJ10gKQoJICB7CgkgIGNhc2UgJ21vZHVsZV90ZW1wbGF0ZSc6CgkgICAgJG1vZCA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgkaXRlbVsnbW9kdWxlJ10pOwoJICAgIGlmKCAkbW9kICkKCSAgICAgIHsKCQkkdHBsID0gYmFzZTY0X2RlY29kZSgkaXRlbVsndGVtcGxhdGUnXSk7CgkJJG1vZC0+U2V0VGVtcGxhdGUoJGl0ZW1bJ25ld19uYW1lJ10sJHRwbCk7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlICdnbG9iYWxfY29udGVudF9ibG9jayc6CgkgICAgewoJICAgICAgJG9wcyA9IGNtc21zKCktPkdldEdsb2JhbENvbnRlbnRPcGVyYXRpb25zKCk7CgkgICAgICAkYmxvYiA9ICRvcHMtPkxvYWRIdG1sQmxvYkJ5TmFtZSgkaXRlbVsnbmV3X25hbWUnXSk7CgkgICAgICBpZiggIWlzX29iamVjdCgkYmxvYikgKQoJCXsKCQkgICRibG9iID0gbmV3IEdsb2JhbENvbnRlbnQoKTsKCQkgICRibG9iLT5uYW1lID0gJGl0ZW1bJ25ld19uYW1lJ107CgkJICAkYmxvYi0+b3duZXIgPSBnZXRfdXNlcmlkKCk7CgkJfQoJICAgICAgJGJsb2ItPmRlc2NyaXB0aW9uID0gYmFzZTY0X2RlY29kZSgkaXRlbVsnZGVzY3JpcHRpb24nXSk7CgkgICAgICAkYmxvYi0+dXNlX3d5c2l3eWcgPSAkaXRlbVsndXNlX3d5c2l3eWcnXTsKCSAgICAgICRibG9iLT5jb250ZW50ID0gYmFzZTY0X2RlY29kZSgkaXRlbVsndGVtcGxhdGUnXSk7CgkgICAgICAkYmxvYi0+c2F2ZSgpOwoJICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgJ3VzZXJkZWZpbmVkX3RhZyc6CgkgICAgewoJICAgICAgJG9wcyA9IGNtc21zKCktPmdldFVzZXJUYWdPcGVyYXRpb25zKCk7CgkgICAgICAkb3BzLT5TZXRVc2VyVGFnKCRpdGVtWyduZXdfbmFtZSddLGJhc2U2NF9kZWNvZGUoJGl0ZW1bJ2NvZGUnXSkpOwoJICAgIH0KCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19pbXBvcnRlZCcsY291bnQoJGRhdGEpKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KZWxzZQogIHsKICAgICRUSElTLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_preview.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICFpc3NldCgkcGFyYW1zWydmaWxlJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0eXBlJ10pIHx8ICFpc3NldCgkcGFyYW1zWyduYW1lJ10pICkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX3NjYW5fY29kZScpOwogIH0KCi8vIGdldCB0aGUgcmVjb3JkIG91dCBvZiB0aGUgZmlsZS4KJGZuID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy4kcGFyYW1zWydmaWxlJ107CiRyZWFkZXIgPSBuZXcgY2djdV9jb2RlX3JlYWRlcigkZm4pOwokdG1wID0gJHJlYWRlci0+Z2V0X3JlY29yZCgkcGFyYW1zWyduYW1lJ10pOwppZiggIWlzX2FycmF5KCR0bXApICkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCgkdG1wWyd0ZW1wbGF0ZSddKSApCiAgewogICAgJHRtcFsnY29kZSddID0gYmFzZTY0X2RlY29kZSgkdG1wWyd0ZW1wbGF0ZSddKTsKICB9CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9wcmV2aWV3JywkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2RhdGEnLCR0bXApOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9wcmV2aWV3LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_scan_code.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJG1vZGlmeV90ZW1wbGF0ZXMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiRtb2RpZnlfdWR0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXItZGVmaW5lZCBUYWdzJyk7CiRtb2RpZnlfZ2NiID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdsb2JhbCBDb250ZW50IEJsb2NrcycpOwppZiggISRtb2RpZnlfdGVtcGxhdGVzICYmICEkbW9kaWZ5X3VkdCAmJiAhJG1vZGlmeV9nY2IgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignaW1wb3J0X2NvZGUnKTsKCiR1cGxvYWRlciA9IG5ldyBjZ19maWxldXBsb2FkKCRpZCxUTVBfQ0FDSEVfTE9DQVRJT04pOwokdXBsb2FkZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJ3htbCcpOwokdXBsb2FkZXItPnNldF9hbGxvd19vdmVyd3JpdGUodHJ1ZSk7CiRyZXMgPSAkdXBsb2FkZXItPmhhbmRsZV91cGxvYWQoJ3htbGZpbGUnLCR0aGlzLT5HZXROYW1lKCkuJ19jb2RlX2ltcG9ydC50bXAnKTsKJGVyciA9ICcnOwppZiggISRyZXMgKQogIHsKICAgICRlcnIgPSAkdXBsb2FkZXItPmdldF9lcnJvcigpOwogICAgaWYoICRlcnIgPT0gY2dfZmlsZXVwbG9hZDo6Tk9GSUxFICkKICAgICAgewoJJHJlcyA9ICR0aGlzLT5zZXNzaW9uX2dldCgnY29kZV9maWxlbmFtZScpOwoJaWYoICEkcmVzIHx8ICFmaWxlX2V4aXN0cyhUTVBfQ0FDSEVfTE9DQVRJT04uJy8nLiRyZXMpICkKCSAgewoJICAgICRlcnIgPSAkdGhpcy0+TGFuZygnZXJyb3JfdXBsb2FkJyk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZXJyID0gJHRoaXMtPkdldFVwbG9hZEVycm9yTWVzc2FnZSgkZXJyKTsKICAgICAgfQogIH0KaWYoICEkcmVzICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJGVycik7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KJHRoaXMtPnNlc3Npb25fcHV0KCdjb2RlX2ZpbGVuYW1lJywkcmVzKTsKJGZuID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy4kcmVzOwokcmVhZGVyID0gbmV3IGNnY3VfY29kZV9yZWFkZXIoJGZuKTsKJGVycm9yID0gJHJlYWRlci0+Z2V0X2Vycm9yKCk7CmlmKCAkZXJyb3IgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygkZXJyb3IpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKJGFsbF9kYXRhID0gJHJlYWRlci0+Z2V0X2RhdGEoKTsKCiRudW1fYXZhaWxhYmxlID0gMDsKZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGFsbF9kYXRhKTsgJGkrKyApCiAgewogICAgJHJvdyA9JiAkYWxsX2RhdGFbJGldOwogICAgJHJvd1sndW5pcXVlaWQnXSA9ICd4Jy5tZDUoc2VyaWFsaXplKCRyb3cpKTsKICAgIHN3aXRjaCggJHJvd1sndHlwZSddICkKICAgICAgewogICAgICBjYXNlICdtb2R1bGVfdGVtcGxhdGUnOgoJJG9iaiA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgkcm93Wydtb2R1bGUnXSk7CglpZiggIWlzX29iamVjdCgkb2JqKSApIGNvbnRpbnVlOwoJaWYoIGNnY3VfdXRpbHM6Om1vZHVsZV90ZW1wbGF0ZV9leGlzdHMoJHJvd1snbW9kdWxlJ10sJHJvd1snbmFtZSddKSApCgkgIHsKCSAgICAkcm93WyduZXdfbmFtZSddID0gY2djdV91dGlsczo6bW9kdWxlX3RlbXBsYXRlX25ld25hbWUoJHJvd1snbW9kdWxlJ10sJHJvd1snbmFtZSddKTsKCSAgfQoJJHJvd1snYXZhaWxhYmxlJ10gPSAxOwoJJG51bV9hdmFpbGFibGUrKzsKCWJyZWFrOwoKICAgICAgY2FzZSAnZ2xvYmFsX2NvbnRlbnRfYmxvY2snOgoJaWYoIGNnY3VfdXRpbHM6OmdjYl9leGlzdHMoJHJvd1snbmFtZSddKSApCgkgIHsKCSAgICAkcm93WyduZXdfbmFtZSddID0gY2djdV91dGlsczo6Z2NiX25ld25hbWUoJHJvd1snbmFtZSddKTsKCSAgfQoJJHJvd1snYXZhaWxhYmxlJ10gPSAxOwoJYnJlYWs7CgogICAgICBjYXNlICd1c2VyZGVmaW5lZF90YWcnOgoJaWYoIGNnY3VfdXRpbHM6OnVkdF9leGlzdHMoJHJvd1snbmFtZSddKSApCgkgIHsKCSAgICAkcm93WyduZXdfbmFtZSddID0gY2djdV91dGlsczo6dWR0X25ld25hbWUoJHJvd1snbmFtZSddKTsKCSAgfQoJJHJvd1snYXZhaWxhYmxlJ10gPSAxOwoJYnJlYWs7CiAgICAgIH0KICB9CgoKCi8vCi8vIGJ1aWxkIHRoZSBwcmV2aWV3IGZvcm0uCi8vCiRzbWFydHktPmFzc2lnbignZmlsZW5hbWUnLCRyZXMpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5faW1wb3J0X2NvZGUnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignbnVtX2F2YWlsYWJsZScsJG51bV9hdmFpbGFibGUpOwokc21hcnR5LT5hc3NpZ24oJ3NjYW5uZWRfZGF0YScsJGFsbF9kYXRhKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zY2FuX2NvZGUudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgQW55IFBhZ2UnKSAmJgogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgKQogIHsKICAgIGlmKCB2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sJzEuNycpID49IDAgKQogICAgICB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2Jsb2NrcycsJHRoaXMtPkxhbmcoJ2Jsb2NrcycpKTsKICAgICAgfQoJCiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ltcG9ydCcsJHRoaXMtPkxhbmcoJ2ltcG9ydF9jb250ZW50JykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdleHBvcnQnLCR0aGlzLT5MYW5nKCdleHBvcnRfY29udGVudCcpKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBVc2VyLWRlZmluZWQgVGFncycpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgR2xvYmFsIENvbnRlbnQgQmxvY2tzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZXhwb3J0X2NvZGUnLCR0aGlzLT5MYW5nKCdleHBvcnRfY29kZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignaW1wb3J0X2NvZGUnLCR0aGlzLT5MYW5nKCdpbXBvcnRfY29kZScpKTsKICB9IAplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgQW55IFBhZ2UnKSAmJgogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgKQogIHsKICAgIGlmKCB2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sJzEuNycpID49IDAgKQogICAgICB7CgllY2hvICR0aGlzLT5TdGFydFRhYignYmxvY2tzJyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fYmxvY2tzX3RhYi5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgICB9CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignaW1wb3J0Jyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5faW1wb3J0X3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZXhwb3J0Jyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZXhwb3J0X3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXItZGVmaW5lZCBUYWdzJykgfHwKICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBHbG9iYWwgQ29udGVudCBCbG9ja3MnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2V4cG9ydF9jb2RlJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9leHBvcnRfY29kZV90YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignaW1wb3J0X2NvZGUnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2ltcG9ydF9jb2RlX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_export.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBBbnkgUGFnZScpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgokdHh0ID0gJyc7CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9wYXJlbnQnXSkgJiYgJHBhcmFtc1snaW5wdXRfcGFyZW50J10gPiAwICkKICB7CiAgICAkY2hpbGRyZW4gPSAwOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NoaWxkcmVuJ10pICkgJGNoaWxkcmVuID0gMTsKCiAgICAkdHh0ID0gJHRoaXMtPl9leHBvcnRDb250ZW50KCRwYXJhbXNbJ2lucHV0X3BhcmVudCddLCRjaGlsZHJlbik7CiAgfQoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KaGVhZGVyKCdQcmFnbWE6IHB1YmxpYycpOwpoZWFkZXIoJ0V4cGlyZXM6IDAnKTsKaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAnKTsKaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwcml2YXRlJyxmYWxzZSk7CmhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRXhwb3J0Jyk7CmhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRmlsZSBUcmFuc2ZlcicpOwpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1jbXNfY29udGVudC54bWwnKTsKLy8gaGVhZGVyKCdDb250ZW50LXR5cGU6IHRleHQveG1sJyk7CmVjaG8gJHR4dDsKZXhpdCgpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBBbnkgUGFnZScpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgokdGhpcy0+U2V0Q3VycmVudFRhYignaW1wb3J0Jyk7CiRuYW1lID0gJGlkLidmaWxlJzsKaWYoICFpc3NldCgkX0ZJTEVTKSB8fAogICAgIWlzc2V0KCRfRklMRVNbJG5hbWVdKSB8fCAKICAgICRfRklMRVNbJG5hbWVdWydlcnJvciddID4gMCB8fAogICAgJF9GSUxFU1skbmFtZV1bJ3NpemUnXSA9PSAwICkKICB7CiAgICAvL2JhZCB1cGxvYWQKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdXBsb2FkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICB9CgokZG9jID0gbmV3IERvbURvY3VtZW50KCk7CiRkb2MtPmxvYWQoJF9GSUxFU1skbmFtZV1bJ3RtcF9uYW1lJ10pOwokcm9vdCA9ICRkb2MtPmZpcnN0Q2hpbGQtPmZpcnN0Q2hpbGQ7CgokdGhpcy0+X2ltcG9ydENvbnRlbnQoJHJvb3QsJHBhcmFtc1snaW5wdXRfcGFyZW50J10pOwokY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKJGNvbnRlbnRvcHMtPlNldEFsbEhpZXJhcmNoeVBvc2l0aW9ucygpOwokY29udGVudG9wcy0+Q2xlYXJDYWNoZSgpOwoKCgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/CGContentUtils.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gVGhpcyBtb2R1bGUgaXMgZGVyaXZlZCBmcm9tIENHRXh0ZW5zaW9ucyAKJGNnZXh0ZW5zaW9ucyA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLAoJCQkgICAgICAnQ0dFeHRlbnNpb25zJywnQ0dFeHRlbnNpb25zLm1vZHVsZS5waHAnKTsKaWYoICFpc19yZWFkYWJsZSggJGNnZXh0ZW5zaW9ucyApICkKewogIGVjaG8gJzxoMT48Zm9udCBjb2xvcj0icmVkIj5FUlJPUjogVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLjwvZm9udD48L2gxPic7CiAgcmV0dXJuOwp9CnJlcXVpcmVfb25jZSgkY2dleHRlbnNpb25zKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkZWZpbmUoJ0NHQ09OVEVOVE1BR0lDX0RURF9WRVJTSU9OJywnMS4wJyk7CgpjbGFzcyBDR0NvbnRlbnRVdGlscyBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgdmFyICRfZG9tOwogIHZhciAkX3RlbXBsYXRlX2NhY2hlOwogIHZhciAkX2RlZmF1bHRfdGVtcGxhdGU7CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9fY29uc3RydWN0KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCiAgICBnbG9iYWwgJENNU19BRE1JTl9QQUdFOwogICAgaWYoICRDTVNfQURNSU5fUEFHRSAmJiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCcxLjcnKSA+PSAwKSApCiAgICAgIHsKCSR0aGlzLT5SZWdpc3RlckJ1bGtDb250ZW50RnVuY3Rpb24oJHRoaXMtPkxhbmcoJ2FkdmFuY2VkX2NvcHknKSwnYWRtaW5fY29weWNvbnRlbnQnKTsKICAgICAgfQogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdDR0NvbnRlbnRVdGlscyc7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjIuMSc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yRW1haWwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJc1BsdWdpbk1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzQWRtaW5Pbmx5KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc0FkbWluT25seSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4oICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBBbnkgUGFnZScpIHx8CgkgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgfHwKCSAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKCSAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVXNlci1kZWZpbmVkIFRhZ3MnKSB8fAoJICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBHbG9iYWwgQ29udGVudCBCbG9ja3MnKSApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjIyLjEnLAoJCSAnSlF1ZXJ5VG9vbHMnPT4nMS4wLjMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWFkZXJIVE1MKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkKICB7CiAgICAkdHh0ID0gJyc7CiAgICAkb2JqID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnSlF1ZXJ5VG9vbHMnKTsKICAgIGlmKCBpc19vYmplY3QoJG9iaikgKQogICAgICB7CiR0bXBsID0gPDw8RU9UCntKUXVlcnlUb29scyBhY3Rpb249J2luY2pzJyBleGNsdWRlPSdmb3JtJ30Ke0pRdWVyeVRvb2xzIGFjdGlvbj0ncmVhZHknfQpFT1Q7CiAgICAgICAgJHR4dCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wbCk7CiAgICAgIH0KICAgIHJldHVybiAkdHh0OwogIH0JCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS44LjIiOwogIH0KCQoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0UGFyYW1ldGVycygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewoJLy8gbm90aGluZyBoZXJlCiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnYXNrX3JlYWxseV91bmluc3RhbGwnKTsKICB9CQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU3VwcHJlc3NBZG1pbk91dHB1dCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU3VwcHJlc3NBZG1pbk91dHB1dCgmJHJlcXVlc3QpCiAgewogICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbWFjdCddKSApCiAgICAgIHsKCSRhcnkgPSBleHBsb2RlKCcsJywgY21zX2h0bWxlbnRpdGllcygkX1JFUVVFU1RbJ21hY3QnXSksIDQpOwoJJG1vZHVsZSA9IChpc3NldCgkYXJ5WzBdKT8kYXJ5WzBdOicnKTsKCSRpZCA9IChpc3NldCgkYXJ5WzFdKT8kYXJ5WzFdOicnKTsKCSRhY3Rpb24gPSAoaXNzZXQoJGFyeVsyXSk/JGFyeVsyXTonJyk7CgoJaWYoICRhY3Rpb24gPT0gJ2RvX2V4cG9ydCcgKSByZXR1cm4gVFJVRTsKICAgICAgfQoKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfZXhwb3J0Q29udGVudCgkc3RhcnRfaWQsJGNoaWxkcmVuKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9leHBvcnRDb250ZW50KCRzdGFydF9pZCwkY2hpbGRyZW4pCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGhtID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgogICAgJHRoaXMtPl9kb20gPSBuZXcgRE9NRG9jdW1lbnQoIjEuMCIsIlVURjgiKTsKICAgICRyb290ID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ2Ntc19leHBvcnQnKTsKCiAgICAkbm9kZSA9JiAkaG0tPnN1cmVHZXROb2RlQnlJRCgkc3RhcnRfaWQpOwogICAgJHBhcmVudF9kb21ub2RlID0gJHRoaXMtPl9leHBvcnRDb250ZW50T2JqKCRub2RlLCRjaGlsZHJlbik7CgogICAgJHJvb3QtPmFwcGVuZENoaWxkKCRwYXJlbnRfZG9tbm9kZSk7CiAgICAkdGhpcy0+X2RvbS0+YXBwZW5kQ2hpbGQoJHJvb3QpOwogICAgcmV0dXJuICR0aGlzLT5fZG9tLT5zYXZlWE1MKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX2V4cG9ydENvbnRlbnRPYmooJGNvbnRlbnRfb2JqLCRjaGlsZHJlbikKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfZXhwb3J0Q29udGVudE9iaigmJG5vZGUsJGNoaWxkcmVuKQogIHsKICAgICRjb250ZW50X29iaiA9JiAkbm9kZS0+Z2V0Q29udGVudCgpOyAgICAKICAgICRkb21ub2RlID0gJHRoaXMtPl9jcmVhdGVEb21Db250ZW50T2JqKCRjb250ZW50X29iaik7CgogICAgaWYoICRub2RlLT5oYXNDaGlsZHJlbigpICYmICRjaGlsZHJlbiApCiAgICAgIHsKCSR0bXAgPSAkbm9kZS0+Z2V0Q2hpbGRyZW4oKTsKCWZvcmVhY2goICR0bXAgYXMgJGNoaWxkICkKCSAgewoJICAgICRjaGlsZF9kb21ub2RlID0gJHRoaXMtPl9leHBvcnRDb250ZW50T2JqKCRjaGlsZCwkY2hpbGRyZW4pOwoJICAgICRkb21ub2RlLT5hcHBlbmRDaGlsZCgkY2hpbGRfZG9tbm9kZSk7CgkgIH0KICAgICAgfQoKICAgIHJldHVybiAkZG9tbm9kZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfZ2V0RGVmYXVsdFRlbXBsYXRlSWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9nZXREZWZhdWx0VGVtcGxhdGVJZCgpCiAgewogICAgaWYoICEkdGhpcy0+X2RlZmF1bHRfdGVtcGxhdGUgKQogICAgICB7CglnbG9iYWwgJGdDbXM7CgkkdGVtcGxhdGVvcHMgPSYgJGdDbXMtPkdldFRlbXBsYXRlT3BlcmF0aW9ucygpOwoJJHRoaXMtPl9kZWZhdWx0X3RlbXBsYXRlID0gJHRlbXBsYXRlb3BzLT5Mb2FkRGVmYXVsdFRlbXBsYXRlKCk7CiAgICAgIH0KICAgIHJldHVybiAkdGhpcy0+X2RlZmF1bHRfdGVtcGxhdGUtPmlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9nZXRUZW1wbGF0ZU5hbWVGcm9tSWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9nZXRUZW1wbGF0ZU5hbWVGcm9tSWQoJHRwbGlkKQogIHsKICAgIGlmKCAhJHRoaXMtPl90ZW1wbGF0ZV9jYWNoZSApCiAgICAgIHsKCWdsb2JhbCAkZ0NtczsKCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCSRxdWVyeSA9ICdTRUxFQ1QgdGVtcGxhdGVfaWQsdGVtcGxhdGVfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLid0ZW1wbGF0ZXMgJzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgkkdGhpcy0+X3RlbXBsYXRlX2NhY2hlID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ3RlbXBsYXRlX2lkJyk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoJHRoaXMtPl90ZW1wbGF0ZV9jYWNoZVskdHBsaWRdKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X3RlbXBsYXRlX2NhY2hlWyR0cGxpZF1bJ3RlbXBsYXRlX25hbWUnXTsKICAgICAgfQogICAgcmV0dXJuIE5VTEw7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX2dldFRlbXBsYXRlTmFtZUZyb21JZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX2dldFRlbXBsYXRlSWRGcm9tTmFtZSgkbmFtZSkKICB7CiAgICAvLyBmb3JjZSBjYWNoZSB0byBsb2FkLgogICAgJHRoaXMtPl9nZXRUZW1wbGF0ZU5hbWVGcm9tSWQoLTEpOwogICAgCiAgICBmb3JlYWNoKCAkdGhpcy0+X3RlbXBsYXRlX2NhY2hlIGFzICRpZCA9PiAkcmVjICkKICAgICAgewoJaWYoICRyZWNbJ3RlbXBsYXRlX25hbWUnXSA9PSAkbmFtZSApIHJldHVybiAkaWQ7CiAgICAgIH0KCiAgICByZXR1cm4gTlVMTDsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9jcmVhdGVEb21Db250ZW50T2JqKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfY3JlYXRlRG9tQ29udGVudE9iaigmJGNvbnRlbnRfb2JqKQogIHsKICAgICRyb290ID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ2Ntc19jb250ZW50Jyk7CiAgICAkcm9vdC0+c2V0QXR0cmlidXRlKCduYW1lJywkY29udGVudF9vYmotPk5hbWUoKSk7CgovLyAgICAgJHN1YiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCduYW1lJywkY29udGVudF9vYmotPk5hbWUoKSk7Ci8vICAgICAkcm9vdC0+YXBwZW5kQ2hpbGQoJHN1Yik7CgogICAgJHN1YiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCd0eXBlJywkY29udGVudF9vYmotPlR5cGUoKSk7CiAgICAkcm9vdC0+YXBwZW5kQ2hpbGQoJHN1Yik7CgogICAgJHN1YiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCdhbGlhcycsJGNvbnRlbnRfb2JqLT5BbGlhcygpKTsKICAgICRyb290LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAkc3ViID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJywKCQkJCSAgICAgICR0aGlzLT5fZ2V0VGVtcGxhdGVOYW1lRnJvbUlkKCRjb250ZW50X29iai0+VGVtcGxhdGVJRCgpKSk7CiAgICAkcm9vdC0+YXBwZW5kQ2hpbGQoJHN1Yik7CgogICAgJGNkYXRhID0gJHRoaXMtPl9kb20tPmNyZWF0ZUNEQVRBc2VjdGlvbigkY29udGVudF9vYmotPk1ldGFEYXRhKCkpOwogICAgJHN1YiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCdtZXRhZGF0YScpOwogICAgJHN1Yi0+YXBwZW5kQ2hpbGQoJGNkYXRhKTsKICAgICRyb290LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAkc3ViID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ2FjY2Vzc2tleScsJGNvbnRlbnRfb2JqLT5BY2Nlc3NLZXkoKSk7CiAgICAkcm9vdC0+YXBwZW5kQ2hpbGQoJHN1Yik7CgogICAgJHN1YiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCd0YWJpbmRleCcsJGNvbnRlbnRfb2JqLT5UYWJJbmRleCgpKTsKICAgICRyb290LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAkc3ViID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ21lbnV0ZXh0JywkY29udGVudF9vYmotPk1lbnVUZXh0KCkpOwogICAgJHJvb3QtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICRzdWIgPSAkdGhpcy0+X2RvbS0+Y3JlYXRlRWxlbWVudCgnYWN0aXZlJywkY29udGVudF9vYmotPkFjdGl2ZSgpKTsKICAgICRyb290LT5hcHBlbmRDaGlsZCgkc3ViKTsKCiAgICAkc3ViID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ2NhY2hhYmxlJywkY29udGVudF9vYmotPkNhY2hhYmxlKCkpOwogICAgJHJvb3QtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICRzdWIgPSAkdGhpcy0+X2RvbS0+Y3JlYXRlRWxlbWVudCgnc2hvd2lubWVudScsJGNvbnRlbnRfb2JqLT5TaG93SW5NZW51KCkpOwogICAgJHJvb3QtPmFwcGVuZENoaWxkKCRzdWIpOwoKICAgICRwcm9wcyA9ICRjb250ZW50X29iai0+UHJvcGVydGllcygpOwogICAgZm9yZWFjaCggJHByb3BzLT5tUHJvcGVydHlOYW1lcyBhcyAkbmFtZSApCiAgICAgIHsKCWlmKCAhaXNzZXQoJHByb3BzLT5tUHJvcGVydHlWYWx1ZXNbJG5hbWVdKSApIGNvbnRpbnVlOwoJaWYoICEkcHJvcHMtPm1Qcm9wZXJ0eVZhbHVlc1skbmFtZV0gKSBjb250aW51ZTsKCgkkc3ViID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ3Byb3BlcnR5Jyk7Cgkkc3ViLT5zZXRBdHRyaWJ1dGUoJ25hbWUnLCRuYW1lKTsKCSRzdWItPnNldEF0dHJpYnV0ZSgndHlwZScsJHByb3BzLT5tUHJvcGVydHlUeXBlc1skbmFtZV0pOwoJJGNkYXRhID0gJHRoaXMtPl9kb20tPmNyZWF0ZUNEQVRBc2VjdGlvbigkcHJvcHMtPm1Qcm9wZXJ0eVZhbHVlc1skbmFtZV0pOwoJJHN1Yi0+YXBwZW5kQ2hpbGQoJGNkYXRhKTsKCi8vIAkkc3ViMiA9ICR0aGlzLT5fZG9tLT5jcmVhdGVFbGVtZW50KCdwcm9wbmFtZScsJG5hbWUpOwovLyAJJHN1Yi0+YXBwZW5kQ2hpbGQoJHN1YjIpOwoKLy8gCSRzdWIyID0gJHRoaXMtPl9kb20tPmNyZWF0ZUVsZW1lbnQoJ3Byb3B0eXBlJywkcHJvcHMtPm1Qcm9wZXJ0eVR5cGVzWyRuYW1lXSk7Ci8vIAkkc3ViLT5hcHBlbmRDaGlsZCgkc3ViMik7CgovLyAJJHN1YjIgPSAkdGhpcy0+X2RvbS0+Y3JlYXRlRWxlbWVudCgncHJvcHZhbHVlJyk7Ci8vIAkkc3ViMi0+YXBwZW5kQ2hpbGQoJGNkYXRhKTsKCgkkcm9vdC0+YXBwZW5kQ2hpbGQoJHN1Yik7CiAgICAgIH0KCiAgICByZXR1cm4gJHJvb3Q7CiAgfQoKCiAgZnVuY3Rpb24gX2dldF9jaGlsZG5vZGVfdmFsdWUoJiRwYXJlbnQsJG5vZGVuYW1lKQogIHsKICAgICRjaGlsZHJlbiA9ICRwYXJlbnQtPmNoaWxkTm9kZXM7CiAgICBmb3JlYWNoKCAkY2hpbGRyZW4gYXMgJGNoaWxkbm9kZSApCiAgICAgIHsKCWlmKCAkY2hpbGRub2RlLT5ub2RlTmFtZSA9PSAkbm9kZW5hbWUgKQoJICB7CgkgICAgcmV0dXJuICRjaGlsZG5vZGUtPm5vZGVWYWx1ZTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9CgoKICBmdW5jdGlvbiBfZ2V0X2NoaWxkbm9kZSgmJHBhcmVudCwkbm9kZW5hbWUpCiAgewogICAgJGNoaWxkcmVuID0gJHBhcmVudC0+Y2hpbGROb2RlczsKICAgIGZvcmVhY2goICRjaGlsZHJlbiBhcyAkY2hpbGRub2RlICkKICAgICAgewoJaWYoICRjaGlsZG5vZGUtPm5vZGVOYW1lID09ICRub2RlbmFtZSApCgkgIHsKCSAgICByZXR1cm4gJGNoaWxkbm9kZTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9CgoKICBmdW5jdGlvbiBfZ2V0X25vZGVfYXR0cmlidXRlKCYkbm9kZSwkYXR0cm5hbWUpCiAgewogICAgJGF0dHIgPSAkbm9kZS0+YXR0cmlidXRlcy0+Z2V0TmFtZWRJdGVtKCRhdHRybmFtZSk7CiAgICBpZiggJGF0dHIgKSByZXR1cm4gJGF0dHItPm5vZGVWYWx1ZTsKICAgIHJldHVybiBOVUxMOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9zY2FuQ29udGVudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX3NjYW5Db250ZW50KCYkbm9kZSwkcGFyZW50X2lkID0gMCkKICB7CiAgICB3aGlsZSggJG5vZGUgIT0gTlVMTCApCiAgICAgIHsKCWlmKCAkbm9kZS0+bm9kZU5hbWUgIT0gJ2Ntc19jb250ZW50JyApIGJyZWFrOwogICAgICAKCSRjb250ZW50X29iaiA9JiAkdGhpcy0+X2V4dHJhY3REb21Db250ZW50T2JqKCRub2RlKTsKCWlmKCAkY29udGVudF9vYmogKQoJICB7CgkgICAgZWNobyAiREVCR1VHOiBGT1VORCAiLiRjb250ZW50X29iai0+TmFtZSgpLicgd2l0aCBwYXJlbnQgJy4kcGFyZW50X2lkLic8YnIvPic7CgkgICAgLy9zZWUgaWYgdGhlcmUgYXJlIG1vcmUuCgkgICAgc2Nhbl9jb250ZW50KCRub2RlLT5maXJzdENoaWxkLCRwYXJlbnRfaWQrKyk7CgkgIH0KICAgICAgCgkvLyBnbyB0byB0aGUgbmV4dAoJJG5vZGUgPSAkbm9kZS0+bmV4dFNpYmxpbmc7CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfaW1wb3J0Q29udGVudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX2ltcG9ydENvbnRlbnQoJiRub2RlLCRwYXJlbnRfaWQpCiAgewogICAgd2hpbGUoICRub2RlICE9IE5VTEwgKQogICAgICB7CglpZiggJG5vZGUtPm5vZGVOYW1lID09ICdjbXNfY29udGVudCcgKQoJICB7CgkgICAgJGNvbnRlbnRfb2JqID0mICR0aGlzLT5fZXh0cmFjdERvbUNvbnRlbnRPYmooJG5vZGUpOwoJICAgIGlmKCAkY29udGVudF9vYmogKQoJICAgICAgewoJCS8vc2F2ZSBpdAoJCSRjb250ZW50X29iai0+U2V0UGFyZW50SWQoJHBhcmVudF9pZCk7CgkJJGNvbnRlbnRfb2JqLT5TZXRPd25lcihnZXRfdXNlcmlkKCkpOwoJCSRjb250ZW50X29iai0+U2F2ZSgpOwoJCSRuZXdfcGFyZW50X2lkID0gJGNvbnRlbnRfb2JqLT5JZCgpOwoJCWVjaG8gIkRFQkdVRzogQWRkZWQgIi4kY29udGVudF9vYmotPk5hbWUoKS4nIHdpdGggaWQgJy4kcGFyZW50X2lkLic8YnIvPic7CgkJLy9zZWUgaWYgdGhlcmUgYXJlIG1vcmUuCgkJJHRoaXMtPl9pbXBvcnRDb250ZW50KCRub2RlLT5maXJzdENoaWxkLCRuZXdfcGFyZW50X2lkKTsKCSAgICAgIH0KCSAgfQogICAgICAKCS8vIGdvIHRvIHRoZSBuZXh0Cgkkbm9kZSA9ICRub2RlLT5uZXh0U2libGluZzsKICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9leHRyYWN0RG9tQ29udGVudE9iaigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gJl9leHRyYWN0RG9tQ29udGVudE9iaigmJG5vZGUpCiAgICB7CiAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPmdldENvbnRlbnRPcGVyYXRpb25zKCk7CgogICAgICAvLyBhLiBnZXQgdGhlIGNvbnRlbnQgdHlwZQogICAgICAkY29udGVudHR5cGUgPSAkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ3R5cGUnKTsKCiAgICAgIC8vIGIuIGNyZWF0ZSB0aGUgbmV3IGNvbnRlbnQgb2JqZWN0IGZvciBmaWxsaW5nLgogICAgICAkY29udGVudF9vYmogPSYgJGNvbnRlbnRvcHMtPkNyZWF0ZU5ld0NvbnRlbnQoJGNvbnRlbnR0eXBlKTsKICAgICAgaWYoICEkY29udGVudF9vYmogKSByZXR1cm4gTlVMTDsKCiAgICAgICRjb250ZW50X29iai0+U2V0TmFtZSgkdGhpcy0+X2dldF9ub2RlX2F0dHJpYnV0ZSgkbm9kZSwnbmFtZScpKTsKICAgICAgJGNvbnRlbnRfb2JqLT5TZXRNZW51VGV4dCgkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ21lbnV0ZXh0JykpOwogICAgICAkY29udGVudF9vYmotPlNldEFjdGl2ZSgkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ2FjdGl2ZScpKTsKICAgICAgJGNvbnRlbnRfb2JqLT5TZXRBY2Nlc3NLZXkoJHRoaXMtPl9nZXRfY2hpbGRub2RlX3ZhbHVlKCRub2RlLCdhY2Nlc3NrZXknKSk7CiAgICAgICRjb250ZW50X29iai0+U2V0VGFiSW5kZXgoJHRoaXMtPl9nZXRfY2hpbGRub2RlX3ZhbHVlKCRub2RlLCd0YWJpbmRleCcpKTsKICAgICAgJGNvbnRlbnRfb2JqLT5TZXRNZXRhRGF0YSgkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ21ldGFkYXRhJykpOwogICAgICAkY29udGVudF9vYmotPlNldENhY2hhYmxlKCR0aGlzLT5fZ2V0X2NoaWxkbm9kZV92YWx1ZSgkbm9kZSwnY2FjaGFibGUnKSk7CiAgICAgICRjb250ZW50X29iai0+U2V0U2hvd0luTWVudSgkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ3Nob3dpbm1lbnUnKSk7CgogICAgICAkYWxpYXMgPSAkdGhpcy0+X2dldF9jaGlsZG5vZGVfdmFsdWUoJG5vZGUsJ2FsaWFzJyk7CiAgICAgICR0bXAgPSAkY29udGVudG9wcy0+Q2hlY2tBbGlhc0Vycm9yKCRhbGlhcyk7CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgJGFsaWFzID0gJyc7Cgl9CiAgICAgICRjb250ZW50X29iai0+U2V0QWxpYXMoJGFsaWFzKTsKICAgICAgCiAgICAgIC8vIHRvZG8sIGhhbmRsZSBudWxsLgogICAgICAkdHBsX2lkID0gJHRoaXMtPl9nZXRUZW1wbGF0ZUlkRnJvbU5hbWUoJHRoaXMtPl9nZXRfY2hpbGRub2RlX3ZhbHVlKCRub2RlLCd0ZW1wbGF0ZScpKTsKICAgICAgaWYoICEkdHBsX2lkICkKCXsKCSAgJHRwbF9pZCA9ICR0aGlzLT5fZ2V0RGVmYXVsdFRlbXBsYXRlSWQoKTsKCX0KICAgICAgJGNvbnRlbnRfb2JqLT5TZXRUZW1wbGF0ZUlkKCR0cGxfaWQpOwogIAogICAgICAvLyBub3cgdG8gZ2V0IHRoZSBwcm9wZXJ0aWVzLgogICAgICAkY2hpbGRyZW4gPSAkbm9kZS0+Y2hpbGROb2RlczsKICAgICAgZm9yZWFjaCggJGNoaWxkcmVuIGFzICRjaGlsZG5vZGUgKQoJewoJICBpZiggJGNoaWxkbm9kZS0+bm9kZU5hbWUgIT0gJ3Byb3BlcnR5JyApIGNvbnRpbnVlOwoJICAkcHJvcG5hbWUgPSAkdGhpcy0+X2dldF9ub2RlX2F0dHJpYnV0ZSgkY2hpbGRub2RlLCduYW1lJyk7CgkgICRwcm9wdHlwZSA9ICR0aGlzLT5fZ2V0X25vZGVfYXR0cmlidXRlKCRjaGlsZG5vZGUsJ3R5cGUnKTsKCSAgJHByb3B2YWwgID0gJGNoaWxkbm9kZS0+bm9kZVZhbHVlOwogICAgICAKCSAgJGNvbnRlbnRfb2JqLT5zZXRQcm9wZXJ0eVZhbHVlKCRwcm9wbmFtZSwkcHJvcHZhbCk7Cgl9CgogICAgICByZXR1cm4gJGNvbnRlbnRfb2JqOwogICAgfQoKCiAgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICBzd2l0Y2goICRjYXBhYmlsaXR5ICkKICAgICAgewogICAgICBjYXNlICdjb250ZW50YmxvY2tzJzoKCXJldHVybiBUUlVFOwogICAgICBjYXNlICdidWxrY29udGVudG9wdGlvbic6CglyZXR1cm4gVFJVRTsKICAgICAgZGVmYXVsdDoKCXJldHVybiBGQUxTRTsKICAgICAgfQogIH0KCQoJCQogIGZ1bmN0aW9uIEdldENvbnRlbnRCbG9ja0lucHV0KCRibG9ja05hbWUsJHZhbHVlLCRwYXJhbXMsJGFkZGluZyA9IGZhbHNlKQogIHsKICAgICRnQ21zID0gY21zbXMoKTsKICAgICRkYiA9ICRnQ21zLT5HZXREYigpOwogICAgJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCiAgICBpZiggZW1wdHkoJGJsb2NrTmFtZSkgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgKSByZXR1cm4gRkFMU0U7CiAgICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2djb250ZW50dXRpbHMgV0hFUkUgbmFtZSA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkbmFtZSkpOwogICAgaWYoICEkcm93ICkgcmV0dXJuIEZBTFNFOwogICAgJHJvd1snYXR0cmlicyddID0gdW5zZXJpYWxpemUoJHJvd1snYXR0cmlicyddKTsKCiAgICAkdHh0ID0gJyc7CiAgICBzd2l0Y2goICRyb3dbJ3R5cGUnXSApCiAgICAgIHsKICAgICAgY2FzZSAndGV4dGlucHV0JzoKCSR0bXAgPSAnPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IiVzIiBzaXplPSIlZCIgbWF4bGVuZ3RoPSIlZCIgdmFsdWU9IiVzIi8+JzsKCSR0eHQgPSBzcHJpbnRmKCR0bXAsJGJsb2NrTmFtZSwkcm93WydhdHRyaWJzJ11bJ2xlbmd0aCddLCRyb3dbJ2F0dHJpYnMnXVsnbWF4bGVuZ3RoJ10sCgkJICAgICAgICgkYWRkaW5nKT8kcm93Wyd2YWx1ZSddOiR2YWx1ZSk7CglicmVhazsKCiAgICAgIGNhc2UgJ3RleHRhcmVhJzoKCSR0bXAgPSAnPHRleHRhcmVhIG5hbWU9IiVzIiByb3dzPSIlZCIgY29scz0iJWQiPiVzPC90ZXh0YXJlYT4nOwoJJHR4dCA9IHNwcmludGYoJHRtcCwkYmxvY2tOYW1lLCRyb3dbJ2F0dHJpYnMnXVsncm93cyddLCRyb3dbJ2F0dHJpYnMnXVsnY29scyddLAoJCSAgICAgICAoJGFkZGluZyk/JHJvd1sndmFsdWUnXTokdmFsdWUpOwoJYnJlYWs7CgogICAgICBjYXNlICdwYWdlc2VsZWN0b3InOgoJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCWlmKCAkdmFsdWUgPT0gJycgKSAkdmFsdWUgPSAkcm93Wyd2YWx1ZSddOwoJJHR4dCA9ICRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdmFsdWUsJGJsb2NrTmFtZSwxLDEpOwoJYnJlYWs7CgogICAgICBjYXNlICdkcm9wZG93bic6Cgl7CgkgIC8vIGdldCB0aGUgb3B0aW9ucwoJICBpZiggJHZhbHVlID09ICcnICkgJHZhbHVlID0gJHJvd1sndmFsdWUnXTsKCSAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkcm93WydhdHRyaWJzJ11bJ29wdGlvbnMnXSk7CgkgICRvcHRzID0gYXJyYXkoKTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQoJICAgIHsKCSAgICAgIGlmKGVtcHR5KCR0bXBbJGldKSkgY29udGludWU7CgkgICAgICAkdG1wMiA9IGV4cGxvZGUoJ3wnLHRyaW0oJHRtcFskaV0pLDIpOwoJICAgICAgaWYoIGlzX2FycmF5KCR0bXAyKSAmJiBjb3VudCgkdG1wMikgPT0gMiApCgkJewoJCSAgJG9wdHNbJHRtcDJbMF1dID0gJHRtcDJbMV07CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRvcHRzWyR0bXAyWzBdXSA9ICR0bXAyWzBdOwoJCX0KCSAgICB9CgoJICAvLyBidWlsZCB0aGUgZmllbGQuCgkgICR0eHQgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bignJywkYmxvY2tOYW1lLCRvcHRzLC0xLCR2YWx1ZSk7Cgl9CglicmVhazsKCiAgICAgIGNhc2UgJ2NoZWNrYm94JzoKCXsKCSAgaWYoICR2YWx1ZSA9PSAnJyAmJiBpc3NldCgkcm93WydvcHRpb25zJ11bJ3ZhbHVlJ10pICkgJHZhbHVlID0gJHJvd1snb3B0aW9ucyddWyd2YWx1ZSddOwoJICAkdHh0ID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCcnLCRibG9ja05hbWUsaXNzZXQoJHJvd1sndmFsdWUnXSk/JHJvd1sndmFsdWUnXTonJykuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJycsJGJsb2NrTmFtZSwkcm93WydhdHRyaWJzJ11bJ3ZhbHVlJ10sJHZhbHVlKTsKCX0KCWJyZWFrOwoKICAgICAgY2FzZSAncmFkaW9idXR0b25zJzoKCXsKCSAgLy8gZ2V0IHRoZSBvcHRpb25zLgoJICBpZiggJHZhbHVlID09ICcnICkgJHZhbHVlID0gJHJvd1sndmFsdWUnXTsKCSAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkcm93WydhdHRyaWJzJ11bJ29wdGlvbnMnXSk7CgkgICRvcHRzID0gYXJyYXkoKTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQoJICAgIHsKCSAgICAgIGlmKGVtcHR5KCR0bXBbJGldKSkgY29udGludWU7CgkgICAgICAkdG1wMiA9IGV4cGxvZGUoJ3wnLHRyaW0oJHRtcFskaV0pLDIpOwoJICAgICAgaWYoIGlzX2FycmF5KCR0bXAyKSAmJiBjb3VudCgkdG1wMikgPT0gMiApCgkJewoJCSAgJG9wdHNbJHRtcDJbMF1dID0gJHRtcDJbMV07CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRvcHRzWyR0bXAyWzBdXSA9ICR0bXAyWzBdOwoJCX0KCSAgICB9CgoJICAvLyBidWlsZCB0aGUgZmllbGQuCgkgICR0eHQgPSAkdGhpcy0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCcnLCRibG9ja05hbWUsJG9wdHMsJHZhbHVlLCcnLCc8YnIvPicpOwoJfQoJYnJlYWs7CgogICAgICBjYXNlICdmaWxlX3NlbGVjdG9yJzoKCXsKCSAgLy8gMS4gIEdldCB0aGUgZGlyZWN0b3J5IGNvbnRlbnRzCgkgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRyb3dbJ2F0dHJpYnMnXVsnZGlyJ10pOwoJICAkZmlsZXR5cGVzID0gJHJvd1snYXR0cmlicyddWydmaWxldHlwZXMnXTsKCSAgaWYoICRmaWxldHlwZXMgIT0gJycgKQoJICAgIHsKCSAgICAgICRmaWxldHlwZXMgPSBleHBsb2RlKCcsJywkZmlsZXR5cGVzKTsKCSAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmaWxldHlwZXMpOyAkaSsrICkKCQl7CgkJICAkZmlsZXR5cGVzWyRpXSA9ICcqLicuJGZpbGV0eXBlc1skaV07CgkJfQoJICAgIH0KCSAgJGV4Y2x1ZGVzID0gJHJvd1snYXR0cmlicyddWydleGNsdWRlcHJlZml4J107CgkgIGlmKCAkZXhjbHVkZXMgIT0gJycgKQoJICAgIHsKCSAgICAgICRleGNsdWRlcyA9IGV4cGxvZGUoJywnLCRleGNsdWRlcyk7CgkgICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZXhjbHVkZXMpOyAkaSsrICkKCQl7CgkJICAkZXhjbHVkZXNbJGldID0gJGV4Y2x1ZGVzWyRpXS4nKic7CgkJfQoJICAgIH0KCSAgJGZsID0gY2dlX2Rpcjo6cmVjdXJzaXZlX2dsb2IoJGRpciwkZmlsZXR5cGVzLCdGSUxFUycsJGV4Y2x1ZGVzLAoJCQkJCSRyb3dbJ2F0dHJpYnMnXVsncmVjdXJzZSddKTsKCSAgCgkgIC8vIDIuICBSZW1vdmUgcHJlZml4CgkgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmbCk7ICRpKysgKQoJICAgIHsKCSAgICAgICRmbFskaV0gPSBzdHJfcmVwbGFjZSgkZGlyLCcnLCRmbFskaV0pOwoJICAgIH0KCgkgIC8vIDIuICBTb3J0CgkgIGlmKCBpc19hcnJheSgkZmwpICYmICRyb3dbJ2F0dHJpYnMnXVsnc29ydGZpbGVzJ10gKQoJICAgIHsKCSAgICAgIHNvcnQoJGZsKTsKCSAgICB9CgoJICAkb3B0cyA9IGFycmF5KCk7CgkgICR1cmxfcHJlZml4ID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHJvd1snYXR0cmlicyddWydkaXInXTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGZsKTsgJGkrKyApCgkgICAgewoJICAgICAgJG9wdHNbJGZsWyRpXV0gPSAkdXJsX3ByZWZpeC4kZmxbJGldOwoJICAgIH0KCSAgJHR4dCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCcnLCRibG9ja05hbWUsJG9wdHMsLTEsJHZhbHVlKTsKCX0KCWJyZWFrOwogICAgICB9CgogICAgcmV0dXJuICR0eHQ7CiAgfQoKCiAgZnVuY3Rpb24gR2V0Q29udGVudEJsb2NrVmFsdWUoJGJsb2NrTmFtZSwkYmxvY2tQYXJhbXMsJGlucHV0UGFyYW1zKQogIHsKICAgIGlmKCBpc3NldCgkaW5wdXRQYXJhbXNbJGJsb2NrTmFtZV0pICkKICAgICAgewoJcmV0dXJuICRpbnB1dFBhcmFtc1skYmxvY2tOYW1lXTsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gVmFsaWRhdGVDb250ZW50QmxvY2tWYWx1ZSgkYmxvY2tOYW1lLCR2YWx1ZSwkYmxvY2twYXJhbXMpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgIGlmKCBlbXB0eSgkYmxvY2tOYW1lKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snbmFtZSddKSApIHJldHVybiBGQUxTRTsKICAgICRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ2NvbnRlbnR1dGlscyBXSEVSRSBuYW1lID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRuYW1lKSk7CiAgICBpZiggISRyb3cgKSByZXR1cm4gRkFMU0U7CiAgICAkcm93WydhdHRyaWJzJ10gPSB1bnNlcmlhbGl6ZSgkcm93WydhdHRyaWJzJ10pOwoKICAgIGlmKCBpc3NldCgkYmxvY2tQYXJhbXNbJ3JlcXVpcmVkJ10pICYmICRibG9ja1BhcmFtc1sncmVxdWlyZWQnXSAmJiBlbXB0eSgkdmFsdWUpICkKICAgICAgewoJZWNobyBsYW5nKCdub2ZpZWxkZ2l2ZW4nLGFycmF5KCRibG9ja05hbWUpKTsKICAgICAgfQogIH0KCiAgZnVuY3Rpb24gR2V0QnVsa0NvbnRlbnRPcHRpb25zKCR1c2VyaWQpCiAgewogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFsbCBDb250ZW50JykgKQogICAgICB7CgkkcmVzdWx0Wydjb3B5J10gPSAkdGhpcy0+TGFuZygnY29weScpOwogICAgICB9CgogICAgaWYoICFjb3VudCgkcmVzdWx0KSApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiAkcmVzdWx0OwogIH0KCn0gLy8gY2xhc3MKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/contentblock.test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgcmV0dXJuOwoKc3dpdGNoKCAkbW9kZSApCiAgewogIGNhc2UgJ2lucHV0JzoKICAgIC8vIGF2YWlsYWJsZSB2YXJpYWJsZXMKICAgIC8vICRpZCwgJHJldHVybmlkLCAkYmxvY2tuYW1lLCAkdmFsdWUsICRwYXJhbXMKICAgIC8vIAogICAgJHZhbF9mbGQxID0gJyc7CiAgICAkdmFsX2ZsZDIgPSAnJzsKICAgIGlmKCAhZW1wdHkoJHZhbHVlKSApCiAgICAgIHsKCWxpc3QoJHZhbF9mbGQxLCR2YWxfZmxkMikgPSBleHBsb2RlKCc6JywkdmFsdWUsMik7CiAgICAgIH0KICAgICRvcHRzID0gYXJyYXkoJ1Rlc3QxJz0+MSwKCQkgICdUZXN0Mic9PjIsCgkJICAnVGVzdDMnPT4zKTsKICAgICR0bXAgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bignJywkYmxvY2tOYW1lLidfZmxkMScsJG9wdHMsJycsJHZhbF9mbGQxKS4KICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgnJywkYmxvY2tOYW1lLidfZmxkMicsJHZhbF9mbGQyLDIwLDQwKTsKICAgIGVjaG8gJHRtcDsKICAgIGJyZWFrOwoKICBjYXNlICdmaWxsJzoKICBjYXNlICdmaWxsdmFsdWUnOgogIGNhc2UgJ2ZpbGxwYXJhbXMnOgogICAgLy8gYXZhaWxhYmxlIHZhcmlhYmxlcwogICAgLy8gJGlkLCAkcmV0dXJuaWQsICRibG9ja25hbWUsICRibG9ja1BhcmFtcywgJGlucHV0UGFyYW1zCiAgICAkdmFsX2ZsZDEgPSAnJzsKICAgICR2YWxfZmxkMiA9ICcnOwogICAgaWYoIGlzc2V0KCRpbnB1dFBhcmFtc1skYmxvY2tOYW1lLidfZmxkMSddKSApCiAgICAgIHsKCSR2YWxfZmxkMSA9ICRpbnB1dFBhcmFtc1skYmxvY2tOYW1lLidfZmxkMSddOwogICAgICB9CiAgICBpZiggaXNzZXQoJGlucHV0UGFyYW1zWyRibG9ja05hbWUuJ19mbGQyJ10pICkKICAgICAgewoJJHZhbF9mbGQyID0gJGlucHV0UGFyYW1zWyRibG9ja05hbWUuJ19mbGQyJ107CiAgICAgIH0KICAgIGVjaG8gIiR2YWxfZmxkMTokdmFsX2ZsZDIiOwogICAgYnJlYWs7CgogIGNhc2UgJ3ZhbGlkYXRlJzoKICAgIGJyZWFrOwoKICBjYXNlICdkaXNwbGF5JzoKICAgIGJyZWFrOwogIH0KCiMKIyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/ContentIO.dtd</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGNtc19jb250ZW50IFsKICA8IUVMRU1FTlQgY21zX2NvbnRlbnQobmFtZSx0eXBlLG1ldGFkYXRhLGFjY2Vzc2tleSx0YWJpbmRleCxtZW51dGV4dCxhY3RpdmUsYWxpYXMsY2FjaGFibGUsY29sbGFwc2VkLHNob3dpbm1lbnUscHJvcGVydHkpPgogIDwhRUxFTUVOVCBuYW1lICgjUENEQVRBKT4KICA8IUVMRU1FTlQgdHlwZSAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIG1ldGFkYXRhICgjUENEQVRBKT4KICA8IUVMRU1FTlQgYWNjZXNza2V5ICgjUENEQVRBKT4KICA8IUVMRU1FTlQgdGFiaW5kZXggKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBtZW51dGV4dCAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIGFjdGl2ZSAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIGFsaWFzICgjUENEQVRBKT4KICA8IUVMRU1FTlQgY2FjaGFibGUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBzaG93aW5tZW51ICgjUENEQVRBKT4KICA8IUVMRU1FTlQgcHJvcGVydHkgKHByb3B0eXBlLHByb3BuYW1lLHByb3B2YWx1ZSk+CiAgPCFFTEVNRU5UIHByb3B0eXBlICgjUENEQVRBKT4KICA8IUVMRU1FTlQgcHJvcG5hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wdmFsdWUgKCNQQ0RBVEEpPgpdPg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_blocks_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KCi8vCi8vIHNldHVwCi8vCgovLwovLyBnZXQgdGhlIGRhdGEKLy8KJGZtdCA9ICJ7Y29udGVudF9tb2R1bGUgbW9kdWxlPSdDR0NvbnRlbnRVdGlscycgYmxvY2s9JyVzJyBuYW1lPSclcycgbGFiZWw9JyVzJ30iOwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2NnY29udGVudHV0aWxzJzsKJGRhdGEgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCAkZGF0YSAmJiBpc19hcnJheSgkZGF0YSkgJiYgY291bnQoJGRhdGEpID4gMCApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKICAgICAgewoJJHJvdyA9JiAkZGF0YVskaV07Cgkkcm93WydzYW1wbGV0YWcnXSA9IHNwcmludGYoJGZtdCwkcm93WyduYW1lJ10sJHJvd1snbmFtZSddLCRyb3dbJ3Byb21wdCddKTsKCSRyb3dbJ2VkaXRsaW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fZWRpdF9ibG9jaycsJHJldHVybmlkLAoJCQkJCQkgICR0aGlzLT5MYW5nKCdlZGl0JyksCgkJCQkJCSAgJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsCgkJCQkJCSAgYXJyYXkoJ2Jsb2NraWQnPT4kcm93WydpZCddKSk7Cgkkcm93WydkZWxldGVsaW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fZGVsZXRlX2Jsb2NrJywkcmV0dXJuaWQsCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnZGVsZXRlJyksCgkJCQkJCSAgICAnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJCQkgICAgYXJyYXkoJ2Jsb2NraWQnPT4kcm93WydpZCddKSwKCQkJCQkJICAgICcnLAoJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ2Fza19kZWxldGVfYmxvY2snKSk7CiAgICAgIH0KICB9CgovLwovLyBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCmlmKCAkZGF0YSAmJiBpc19hcnJheSgkZGF0YSkgJiYgY291bnQoJGRhdGEpID4gMCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdkYXRhJywkZGF0YSk7CiAgfQokc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAoJCSR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9lZGl0X2Jsb2NrJywkcmV0dXJuaWQsCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FkZF9ibG9jaycpLAoJCQkJICAgICAgICdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJCQkgICAgICAgYXJyYXkoKSwgJycsICcnLCBmYWxzZSkpOwoKLy8KLy8gZGlzcGxheSB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ibG9ja3NfdGFiLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_export_code_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJG1vZGlmeV90ZW1wbGF0ZXMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiRtb2RpZnlfdWR0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXItZGVmaW5lZCBUYWdzJyk7CiRtb2RpZnlfZ2NiID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdsb2JhbCBDb250ZW50IEJsb2NrcycpOwppZiggISRtb2RpZnlfdGVtcGxhdGVzICYmICEkbW9kaWZ5X3VkdCAmJiAhJG1vZGlmeV9nY2IgKSBleGl0OwoKLy8gZ2V0IGEgbGlzdCBvZiB0aGUgbW9kdWxlIHRlbXBsYXRlcy4KaWYoICRtb2RpZnlfdGVtcGxhdGVzICkKICB7CiAgICAkbW9kdWxlX3RlbXBsYXRlcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkZ0Ntcy0+bW9kdWxlcyBhcyAkbW9kdWxlX25hbWUgPT4gJGRhdGEgKQogICAgICB7CglpZiggaXNzZXQoJGRhdGFbJ29iamVjdCddKSAmJiBpc19vYmplY3QoJGRhdGFbJ29iamVjdCddKSApCgkgIHsKCSAgICAkdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJG1vZHVsZV9uYW1lKTsKCSAgICBpZiggY291bnQoJHRlbXBsYXRlcykgKQoJICAgICAgewoJCSRtb2R1bGVfdGVtcGxhdGVzWyRtb2R1bGVfbmFtZV0gPSAkdGVtcGxhdGVzOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICAkdG1wID0gYXJyYXlfa2V5cygkbW9kdWxlX3RlbXBsYXRlcyk7CiAgICAkbW9kdWxlX2xpc3QgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJG9iaiA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgkb25lKTsKCWlmKCAhJG9iaiApIGNvbnRpbnVlOwoJJG1vZHVsZV9saXN0WyRvbmVdID0gJG9iai0+R2V0RnJpZW5kbHlOYW1lKCk7CiAgICAgIH0KCiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZHVsZV9saXN0JywkbW9kdWxlX2xpc3QpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdudW1fbW9kdWxlcycsY291bnQoJG1vZHVsZV9saXN0KSk7CiAgfQoKaWYoICRtb2RpZnlfdWR0ICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZGlmeV91ZHQnLDEpOwogIH0KaWYoICRtb2RpZnlfZ2NiICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZGlmeV9nY2InLDEpOwogIH0KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9leHBvcnRfY29kZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdhamF4X3VybCcsJHRoaXMtPkNyZWF0ZVVybCgkaWQsJ2FkbWluX2FqYXhfZ2V0dGVtcGxhdGVzJywkcmV0dXJuaWQpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZXhwb3J0X2NvZGVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_export_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fZXhwb3J0JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFyZW50JywkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJycsJGlkLidpbnB1dF9wYXJlbnQnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2V4cG9ydF90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_import_code_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJG1vZGlmeV90ZW1wbGF0ZXMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiRtb2RpZnlfdWR0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXItZGVmaW5lZCBUYWdzJyk7CiRtb2RpZnlfZ2NiID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdsb2JhbCBDb250ZW50IEJsb2NrcycpOwppZiggISRtb2RpZnlfdGVtcGxhdGVzICYmICEkbW9kaWZ5X3VkdCAmJiAhJG1vZGlmeV9nY2IgKSBleGl0OwoKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zY2FuX2NvZGUnLCRyZXR1cm5pZCwKCQkJCQkgYXJyYXkoKSxmYWxzZSwncG9zdCcsCgkJCQkJICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9pbXBvcnRfY29kZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_import_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9faW1wb3J0JywkcmV0dXJuaWQsCgkJCQkJCSAgICAgYXJyYXkoKSxmYWxzZSwncG9zdCcsCgkJCQkJCSAgICAgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYXJlbnQnLCRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywnJywkaWQuJ2lucHV0X3BhcmVudCcpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5faW1wb3J0X3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0FkZCBhIE5ldyBCbG9jayc7CiRsYW5nWydhZHZhbmNlZF9jb250ZW50X2NvcHknXSA9ICdBZHZhbmNlZCBDb3B5IG9mIENvbnRlbnQnOwokbGFuZ1snYWR2YW5jZWRfY29weSddID0gJ0FkdmFuY2VkIENvcHknOwokbGFuZ1snYXNrX2RlbGV0ZV9ibG9jayddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBibG9jaz8nOwokbGFuZ1snYXNrX3JlYWxseV9pbXBvcnQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gaW1wb3J0IHRoaXMgY29kZSwgY29uc2lkZXJpbmcgdGhlIHdhcm5pbmdzIGFib3ZlJzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoaXM/JzsKJGxhbmdbJ2F2YWlsYWJsZV9pdGVtcyddID0gJ0F2YWlsYWJsZSBJdGVtcyc7CiRsYW5nWydhdmFpbGFibGVfdGVtcGxhdGVzJ10gPSAnQXZhaWxhYmxlIENvZGUnOwoKI0IKJGxhbmdbJ2Jsb2NrcyddID0gJ0Jsb2Nrcyc7CiRsYW5nWydibG9ja3R5cGVfdGV4dGlucHV0J10gPSAnVGV4dCBJbnB1dCc7CiRsYW5nWydibG9ja3R5cGVfdGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snYmxvY2t0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snYmxvY2t0eXBlX2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snYmxvY2t0eXBlX2ZpbGVfc2VsZWN0b3InXSA9ICdGaWxlIFNlbGVjdG9yJzsKJGxhbmdbJ2Jsb2NrdHlwZV9wYWdlc2VsZWN0b3InXSA9ICdQYWdlIFNlbGVjdG9yJzsKJGxhbmdbJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnXSA9ICdSYWRpbyBCdXR0b25zJzsKCiNDCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgogIDxsaT52MS4wIC0gSnVuZSAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5Jbml0aWFsIFJlbGFzZTwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjAuMiAtIEp1bHkgMjAxMAogICAgPHVsPgogICAgICA8bGk+QWJpbGl0eSB0byBwZXJzZXJ2ZSBoaWVyYXJjaHkgd2hlbiBjb3B5aW5nIHBhcmVudHMgYW5kIGNoaWxkcmVuIChUZWQpPC9saT4KICAgICAgPGxpPkFkZGVkIGNoZWNrIGZvciBwcm9wIGNvcHlpbmcgdG8ga2VlcCBFX05PVElDRSBoYXBweSAoVGVkKT48L2xpPgogICAgICA8bGk+TWlub3IgY2hhbmdlIHRvIHNhbXBsZSB0YWcgaW5mby48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgcGFnZSBzZWxlY3RvciBmaWVsZCB0eXBlLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjIgLSBEZWNlbWJlciAyMDEwCiAgICA8dWw+IAogICAgICA8bGk+QWRkcyB0aGUgZXhwb3J0IGFuZCBpbXBvcnQgY29kZSBmdW5jdGlvbmFsaXR5LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnYxLjIuMSAtIERlY2VtYmVyIDIwMTEKICAgIDx1bD4gCiAgICAgIDxsaT5NaW5vciBGaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgpUT0RPCkVPVDsKJGxhbmdbJ2NvbnRlbnQnXSA9ICdDb250ZW50JzsKJGxhbmdbJ2NvbnRlbnRzX29mX2ZpbGUnXSA9ICdTY2FubmVkIENvbnRlbnRzIG9mIEZpbGUnOwokbGFuZ1snY29weSddID0gJ0NvcHknOwoKI0QKJGxhbmdbJ2RlZmF1bHRfdmFsdWUnXSA9ICdEZWZhdWx0IFZhbHVlJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CgojRQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZXJyb3JfYnJva2VuX3htbCddID0gJ1RoZSBYTUwgZmlsZSBzcGVjaWZpZWQgaXMgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9jb3B5Y29udGVudF9pbnZhbGlkX25hbWUnXSA9ICdUaGUgdGl0bGUgc3BlY2lmaWVkIGZvciBjb3B5aW5nIGlkPSVkIGlzIGludmFsaWQnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9tZW51dGV4dCddID0gJ1RoZSBtZW51dGV4dCBzcGVjaWZpZWQgZm9yIGNvcHlpbmcgaWQ9JWQgaXMgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3BhcmFtJ10gPSAnQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3IgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9uYW1lZXhpc3RzJ10gPSAnQW4gaXRlbSBieSB0aGF0IG5hbWUgYWxyZWFhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX25vY29udGVudHNlbGVjdGVkJ10gPSAnTm8gY29udGVudCB3YXMgc2VsZWN0ZWQnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdJdGVtIG5vdCBmb3VuZCc7CiRsYW5nWydlcnJvcl9ub3RoaW5ndG9pbXBvcnQnXSA9ICdUaGUgWE1MIGZpbGUgc3BlY2lmaWVkIGRpZCBub3QgY29udGFpbiBhbnkgaW5mb3JtYXRpb24gdGhhdCBjb3VsZCBiZSBpbXBvcnRlZCBpbnRvIHRoaXMgaW5zdGFsbGF0aW9uIChubyBjb21wYXRpYmxlIG1vZHVsZXMsIG9yIEdDQnMgb3IgVURUcyknOwokbGFuZ1snZXJyb3Jfbm90aGluZ3NlbGVjdGVkJ10gPSAnTm8gaXRlbXMgd2VyZSBzZWxlY3RlZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0ZpbGUgdXBsb2FkIGZhaWxlZCc7CiRsYW5nWydlcnJvcl91cGxvYWRub3Rmb3VuZCddID0gJ1VwbG9hZGVkIGZpbGUgY291bmQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCc7CiRsYW5nWydleHBvcnRfY2hpbGRyZW4nXSA9ICdFeHBvcnQgQ2hpbGRyZW4nOwokbGFuZ1snZXhwb3J0X2NvZGUnXSA9ICdFeHBvcnQgQ29kZSc7CiRsYW5nWydleHBvcnRfY29udGVudCddID0gJ0V4cG9ydCBDb250ZW50JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwoKI0YKJGxhbmdbJ2ZpbGUnXSA9ICdYTUwgRmlsZSc7CiRsYW5nWydmaWxlX3NlbGVjdG9yJ10gPSAnRmlsZSBTZWxlY3Rvcic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIENvbnRlbnQgVXRsaXRpZXMnOwoKI0cKJGxhbmdbJ2dsb2JhbF9jb250ZW50X2Jsb2NrJ10gPSAnR2xvYmFsIENvbnRlbnQgQmxvY2sgKEdDQiknOwoKI0gKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgd29ya3MgaW4gdGhlIENNUyBNYWRlIFNpbXBsZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlIGFuZCBwcm92aWRlcyB2YXJpb3VzIGFkaXRpb25hbCBmdW5jdGlvbnMgYW5kIHV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoIENNUyBNYWRlIFNpbXBsZSdzIGNvbnRlbnQgcGFnZXMuPC9wPgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CiAgPGxpPkV4cG9ydCBjb250ZW50IHBhZ2VzIHRvIFhNTDwvbGk+CiAgPGxpPkltcG9ydCBjb250ZW50IHBhZ2VzIGZyb20gWE1MPC9saT4KICA8bGk+QWxsb3dzIENyZWF0aW5nIGFuZCBtYW5hZ2luZyB2YXJpb3VzIGRpZmZlcmVudCBjb250ZW50IGJsb2NrcyBmb3IgZW1iZWRkaW5nIGludG8gQ01TTVMgcGFnZSB0ZW1wbGF0ZXMuPC9saT4KICA8bGk+UHJvdmlkZXMgYnVsayBwYWdlIGNvcHkgY2FwYWJpbGl0eS48L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHA+SWYgeW91IGFyZSBhbiBhdXRob3JpemVkIENNUyBNYWRlIFNpbXBsZSB3ZWIgc2l0ZSBhZG1pbmlzdHJhdG9yLCBhbmQgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZSB0byBtYW5hZ2UgYWxsIGNvbnRlbnQsIHRoZW4gdGhlICZxdWl0O0NhbGd1eXMgQ29udGVudCBVdGlsaXRpZXMmcXVvdDsgbWVudSBpdGVtIHNob3VsZCBhcHBlYXIgaW4gdGhlIENNUyBNYWRlIFNpbXBsZSBhZG1pbmlzdHJhdGlvbiBwYW5lbC4gIFlvdSB3aWxsIHNlZSBhIG51bWJlciBvZiB0YWJzLCBpbmNsdWRpbmc6PC9wPgo8dWw+CiAgPGxpPjx1PkJsb2NrczwvdT4KICA8cD5UaGlzIHRhYiBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBjcmVhdGluZyAmcXVvdDtuYW1lZCZxdW90OyBhbmQgbWFuYWdpbmcgY29udGVudCBibG9ja3Mgb2YgdmFyaW91cyB0eXBlcy4gIFRhZ3MgZm9yIHRoZXNlIGNvbnRlbnQgYmxvY2tzIGNhbiB0aGVuIGJlIGluc2VydGVkIGludG8gQ01TTVMgcGFnZSB0ZW1wbGF0ZXMuICBUaGlzIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gcHV0IGFkZGl0b25hbCBjb250ZW50IGJsb2NrcyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZSB0byBhbGxvdyB0aGUgdXNlciB0byBlbnRlciBvciBjaG9vc2UgZGlmZmVyZW50IGRhdGEgd2hpY2ggbWF5IGhhdmUgYSByZXN1bHQgb24gdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHBhZ2UuPC9wPgogIDxwPkZvciBleGFtcGxlLCBhIGNvbnRlbnQgYmxvY2sgb2YgdHlwZSAmcXVvdDtjaGVja2JveCZxdW90OyBjb3VsZCBiZSB1c2VkIHRvIGluZGljYXRlIHdldGhlciBhbiBpbWFnZSBpcyB0byBiZSBkaXNwbGF5ZWQgb3Igbm90LjwvcD4KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4KICA8L2xpPgogIDxsaT48dT5JbXBvcnQ8L3U+CiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gaW1wb3J0IG9uZSBvciBtb3JlIGNvbnRlbnQgcGFnZXMgZnJvbSBhbiBYTUwgZmlsZSB0aGF0IHdhcyBjcmVhdGVkIGJ5IHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eS4gICBVc2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkgeW91IGNhbiBlYXNpbHkgbWlncmF0ZSBpbmZvcm1hdGlvbiBmcm9tIG9uZSB3ZWJzaXRlIHRvIGFub3RoZXIuPHA+CiAgPC9saT4KICA8bGk+PHU+RXhwb3J0PC91PgogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNob29zZSBhIHNpbmdsZSBwYWdlIGZyb20gYSBkcm9wZG93biB0byBleHBvcnQgdG8gWE1MIGZvcm1hdC4gIFlvdSBjYW4gYWxzbyBpbmRpY2F0ZSB3ZXRoZXIgdGhlIGNoaWxkcmVuIG9mIHRoZSBzZWxlY3RlZCBwYWdlIHNob3VsZCBiZSBleHBvcnRlZC4gIENsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIHdpbGwgcHJvbXB0IHlvdSB0byBkb3dubG9hZCB0aGUgWE1MIGZpbGUuPC9wPgogIDxwPlRoZSBnZW5lcmF0ZWQgWE1MIGZpbGUgZG9lcyBub3QgY29udGFpbiBpbWFnZXMsIG9yIHBhZ2UgdGVtcGxhdGVzLCBvciBnbG9iYWwgY29udGVudCBibG9ja3MsIGV0Yy4gIEl0IG9ubHkgY29udGFpbnMgdGhlIGNvbnRlbnRzIG9mIHRoZSB2YXJpb3VzIGNvbnRlbnQgb2JqZWN0cywgYW5kIHRoZWlyIHZhbHVlcy48L3A+CiAgPC9saT4KPC91bD4KPHA+QWRkaXRpb25hbGx5LCB0aGlzIG1vZHVsZSBhZGRzIGEgYnVsayBhY3Rpb24gdG8gdGhlIGNvbnRlbnQgbWFuYWdlbWVudCBwYWdlLCB3aGljaCBzaG91bGQgYmUgdmlzaWJsZSBpZiB5b3UgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbi4gIFRoaXMgYnVsayBhY3Rpb24gYWxsb3dzIHNlbGVjdGluZyBtdWx0aXBsZSBwYWdlcywgYW5kIGNyZWF0aW5nIGEgc2luZ2xlIGNvcHkgb2YgZWFjaCBvZiB0aGUgc2VsZWN0ZWQgcGFnZXMsPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KRU9UOwoKI0kKJGxhbmdbJ2luZm9fYXZhaWxhYmxlX2l0ZW1zJ10gPSAnU2VsZWN0IGFuIGl0ZW0gYmVsb3cgdG8gc2VlIHRoZSBleHBvcnRhYmxlIHRlbXBsYXRlcyBvciBjb2RlIHRoYXQgY2FuIGJlIGV4cG9ydGVkJzsKJGxhbmdbJ2luZm9fYmxvY2tuYW1lJ10gPSAnVXNlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIHVuZGVyc2NvcmVzIGFuZCBkYXNoZXMnOwokbGFuZ1snaW5mb19ibG9ja3Byb21wdCddID0gJ1NwZWNpZnkgYSBodW1hbiByZWFkYWJsZSBwcm9tcHQnOwokbGFuZ1snaW5mb19kcm9wZG93bl9vcHRpb25zJ10gPSAnU3BlY2lmeSB0aGUgb3B0aW9ucyBmb3IgdGhlIGRyb3Bkb3duLiAgT25lIG9wdGlvbiBwZXIgbGluZS4gIFNwZWNpZnkgdmFsdWVzIGZvciBlYWNoIG9wdGlvbiBieSBzZXBhcmF0aW5nIHRoZW0gd2l0aCBhIHBpcGUgY2hhcmFjdGVyJzsKJGxhbmdbJ2luZm9fZXhjbHVkZXByZWZpeCddID0gJ0V4Y2x1ZGUgZmlsZXMgd2l0aCB0aGVzZSBwcmVmaXhlcyAoY29tbWEgc2VwYXJhdGVkIGxpc3QpJzsKJGxhbmdbJ2luZm9fZXhwb3J0X2NvZGUnXSA9ICdFeHBvcnQgc2VsZWN0ZWQgbW9kdWxlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgbW9kdWxlIHRlbXBsYXRlcyB0byBhbiBYTUwgZmlsZSBmb3IgdXNlIG9uIGFub3RoZXIgd2ViIHNpdGUnOwokbGFuZ1snaW5mb19maWxldHlwZXMnXSA9ICdTcGVjaWZ5IGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZSBleHRlbnNpb25zLiBpLmU6IHBkZixqcGcsZG9jJzsKJGxhbmdbJ2luZm9fZmluYWxfaW1wb3J0X2NvZGUnXSA9ICdUaGUgaXRlbXMgc2VsZWN0ZWQgZm9yIGltcG9ydCAgYXJlIGJlIGRpc3BsYXllZCBiZWxvdy4gIEl0ZW1zIHRoYXQgcmVwcmVzZW50IGFuIG92ZXJ3cml0ZSBhcmUgaGlsaWdodGVkIGluIDxzcGFuIHN0eWxlPSJjb2xvcjogeWVsbG93OyI+eWVsbG93PC9zcGFuPi4gUGxlYXNlIGNvbmZpcm0gdGhhdCB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcy48YnIvPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSXQgaXMgcG9zc2libGUgYnkgY29udGludWluZyB0aGF0IHlvdSBtYXkgb3ZlcndyaXRlIHZhbGlkIHdvcmtpbmcgdGVtcGxhdGVzLjxici8+CjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gU29tZSBtb2R1bGVzIGRvIG5vdCBzdXBwb3J0IG11bHRpcGxlIHRlbXBsYXRlcyBmb3IgZWFjaCB0ZW1wbGF0ZSB0eXBlLCB0aGVyZWZvcmUgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBvdmVyd3JpdGUgc29tZSB0ZW1wbGF0ZXMgZm9yIHRoZW0gdG8gaGF2ZSBhbnkgZWZmZWN0Ljxici8+CjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgZG9lcyBub3QgcGVyZm9ybSBhbnkgbW9kaWZpY2F0aW9ucyB0byB0aGUgaW1wb3J0ZWQgdGVtcGxhdGVzIHRvIGNoZWNrIGZvciByZWZlcmVuY2VzIHRvIHBhZ2VzLCBvciBleGlzdGluZyBtb2R1bGUgY2FsbHMuICBZb3UgbWF5IGhhdmUgdG8gdmlzaXQgZWFjaCB0ZW1wbGF0ZSBpbmRpdmlkdWFsbHkgdG8gY3VzdG9taXplIGl0cyBiZWhhdmlvciBmb3IgeW91ciBzaXRlLic7CiRsYW5nWydpbmZvX2ltcG9ydF9jb2RlJ10gPSAnQWxsb3dzIGltcG9ydGluZyBzZWxlY3RlZCBHQkJzLCBVRFRzIGFuZCBNb2R1bGUgdGVtcGxhdGVzIGZyb20gYW4gWE1MIGZpbGUuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgaXMgYW4gYWR2YW5jZWQgdG9vbC4gIFRoaXMgZmVhdHVyZSBhbGxvd3Mgb3ZlcndyaXRpbmcgdGVtcGxhdGVzIGludG8gYW4gZXhpc3Rpbmcgc3l0ZS4gIFVzZSB3aXRoIGNhdXRpb24hJzsKJGxhbmdbJ2luZm9fc2Nhbm5lZF9maWxlJ10gPSAnQmVsb3cgYXJlIHRoZSBzY2FubmVkIGNvbnRlbnRzIG9mIHRoZSBYTUwgZmlsZSBzdXBwbGllZC4gIFlvdSBtYXkgcHJldmlldyB0aGUgaXRlbXMgbGlzdGVkIGFuZCBzZWxlY3Qgc29tZSBmb3IgaW1wb3J0LiAgWW91IG1heSBvcHRpb25hbGx5IHNwZWNpZnkgYSBuZXcgbmFtZSBmb3IgaW1wb3J0ZWQgdGVtcGxhdGVzLic7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnQnOwokbGFuZ1snaW1wb3J0X2NvZGUnXSA9ICdJbXBvcnQgQ29kZSc7CiRsYW5nWydpbXBvcnRfY29udGVudCddID0gJ0ltcG9ydCBDb250ZW50JzsKJGxhbmdbJ2ltcG9ydF9uYW1lJ10gPSAnSW1wb3J0IE5hbWUnOwoKI0oKCiNLCgojTAokbGFuZ1snbGlzdF9nY2JzJ10gPSAnR2xvYmFsIENvbnRlbnQgQmxvY2tzJzsKJGxhbmdbJ2xpc3RfdWR0cyddID0gJ1VzZXIgRGVmaW5lZCBUYWdzJzsKCiNNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIHdpdGggdXRpbGl0aWVzIGFuZCB0b29scyB0byBhaWRlIGluIGNvbnRlbnQgbWFuYWdlbWVudCc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bGUnOwokbGFuZ1snbW9kdWxlcyddID0gJ01vZHVsZXMnOwokbGFuZ1snbW9kdWxlX3RlbXBsYXRlJ10gPSAnTW9kdWxlIFRlbXBsYXRlJzsKJGxhbmdbJ21zZ19ibG9ja2FkZGVkJ10gPSAnQmxvY2sgU3VjY2Vzc2Z1bGx5IEFkZGVkJzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdCbG9jayB2YWx1ZXMgdXBkYXRlZCc7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIGNhbmNlbGxlZCc7CiRsYW5nWydtc2dfaW1wb3J0ZWQnXSA9ICclZCBpdGVtcyBpbXBvcnRlZCBmcm9tIFhNTCc7CgojTgokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbmV3X2FsaWFzJ10gPSAnTmV3IEFsaWFzJzsKJGxhbmdbJ25ld19tZW51dGV4dCddID0gJ05ldyBNZW51VGV4dCc7CiRsYW5nWyduZXdfbmFtZSddID0gJ05ldyBOYW1lJzsKJGxhbmdbJ25ld19wYXJlbnQnXSA9ICdOZXcgUGFyZW50JzsKJGxhbmdbJ25leHQnXSA9ICdOZXh0JzsKCiNPCgojUAokbGFuZ1sncGFyZW50J10gPSAnUGFyZW50JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIENHQ29udGVudFV0aWxzIG1vZHVsZSBoYXMgYmVlbiBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR0NvbnRlbnRVdGlscyBtb2R1bGUgaGFzIGJlZW4gdW5pbnN0YWxsZWQnOwokbGFuZ1sncHJldmlldyddID0gJ1ByZXZpZXcnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9jb2xzJ10gPSAnQ29sdW1ucyc7CiRsYW5nWydwcm9tcHRfZGlyJ10gPSAnRGlyZWN0b3J5IDxlbT4ocmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KTwvZW0+JzsKJGxhbmdbJ3Byb21wdF9leGNsdWRlcHJlZml4J10gPSAnRXhjbHVkZSBmaWxlcyB3aXRoIHRoZXNlIHByZWZpeGVzJzsKJGxhbmdbJ3Byb21wdF9maWxldHlwZXMnXSA9ICdBbGxvd2VkIEZpbGUgVHlwZXMnOwokbGFuZ1sncHJvbXB0X2xlbmd0aCddID0gJ0xlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3Byb21wdF9wYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwcm9tcHRfcmVjdXJzZSddID0gJ1JlY3Vyc2UgaW50byBTdWJkaXJlY3Rvcmllcyc7CiRsYW5nWydwcm9tcHRfcm93cyddID0gJ1Jvd3MnOwokbGFuZ1sncHJvbXB0X3NvcnRmaWxlcyddID0gJ1NvcnQgRmlsZXMgYnkgTmFtZSc7CiRsYW5nWydwcm9tcHRfdmFsdWUnXSA9ICdWYWx1ZSc7CgojUQoKI1IKCiNTCiRsYW5nWydzY2FuJ10gPSAnU2Nhbic7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnU2VsZWN0IEFsbCc7CiRsYW5nWydzdGFydF9wYWdlJ10gPSAnU3RhcnQgUGFnZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwoKI1QKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKCiNVCiRsYW5nWyd1c2FnZSddID0gJ1VzYWdlJzsKJGxhbmdbJ3VzZXJkZWZpbmVkX3RhZyddID0gJ1VzZXIgRGVmaW5lZCBUYWcgKFVEVCknOwoKI1YKCiNXCgojWAokbGFuZ1sneG1sX2ZpbGUnXSA9ICdYTUwgRmlsZSc7CgojWQoKI1oKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0VpbmVuIG5ldWVuIEJsb2NrIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZHZhbmNlZF9jb250ZW50X2NvcHknXSA9ICdFcndlaXRlcnRlIEtvcGllIGRlcyBJbmhhbHRzJzsKJGxhbmdbJ2FkdmFuY2VkX2NvcHknXSA9ICdFcndlaXRlcnRlIEtvcGllJzsKJGxhbmdbJ2Fza19kZWxldGVfYmxvY2snXSA9ICdXb2xsZW4gU2llIGRpZXNlbiBCbG9jayB3aXJrbGljaCBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ2Fza19yZWFsbHlfaW1wb3J0J10gPSAnV29sbGVuIFNpZSBkaWVzZW4gQ29kZSB0cm90eiBkZXIgb2JpZ2VuIFdhcm51bmcgaW1wb3J0aWVyZW4/JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnV29sbGVuIFNpZSBkYXMgd2lya2xpY2g/JzsKJGxhbmdbJ2F2YWlsYWJsZV9pdGVtcyddID0gJ1ZlcmYmdXVtbDtnYmFyZSBFaW50ciZhdW1sO2dlJzsKJGxhbmdbJ2F2YWlsYWJsZV90ZW1wbGF0ZXMnXSA9ICdWZXJmJnV1bWw7Z2JhcmVyIENvZGUnOwokbGFuZ1snYmxvY2tzJ10gPSAnQmwmb3VtbDtja2UnOwokbGFuZ1snYmxvY2t0eXBlX3RleHRpbnB1dCddID0gJ1RleHRlaW5nYWJlJzsKJGxhbmdbJ2Jsb2NrdHlwZV90ZXh0YXJlYSddID0gJ1RleHRiZXJlaWNoJzsKJGxhbmdbJ2Jsb2NrdHlwZV9kcm9wZG93biddID0gJ0xpc3RlbmZlbGRtZW4mdXVtbDsnOwokbGFuZ1snYmxvY2t0eXBlX2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ2Jsb2NrdHlwZV9maWxlX3NlbGVjdG9yJ10gPSAnRGF0ZWlhdXN3YWhsJzsKJGxhbmdbJ2Jsb2NrdHlwZV9wYWdlc2VsZWN0b3InXSA9ICdTZWl0ZW5hdXN3YWhsJzsKJGxhbmdbJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnXSA9ICdPcHRpb25zZmVsZGVyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQogIDxsaT52MS4wIC0gSnVuZSAyMDA5DQogICAgPHVsPg0KICAgICAgPGxpPkluaXRpYWwgUmVsYXNlPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KICA8bGk+djEuMC4yIC0gSnVseSAyMDEwDQogICAgPHVsPg0KICAgICAgPGxpPkFiaWxpdHkgdG8gcGVyc2VydmUgaGllcmFyY2h5IHdoZW4gY29weWluZyBwYXJlbnRzIGFuZCBjaGlsZHJlbiAoVGVkKTwvbGk+DQogICAgICA8bGk+QWRkZWQgY2hlY2sgZm9yIHByb3AgY29weWluZyB0byBrZWVwIEVfTk9USUNFIGhhcHB5IChUZWQpPjwvbGk+DQogICAgICA8bGk+TWlub3IgY2hhbmdlIHRvIHNhbXBsZSB0YWcgaW5mby48L2xpPg0KICAgICAgPGxpPkFkZHMgdGhlIHBhZ2Ugc2VsZWN0b3IgZmllbGQgdHlwZS48L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQogIDxsaT52MS4yIC0gRGVjZW1iZXIgMjAxMA0KICAgIDx1bD4gDQogICAgICA8bGk+QWRkcyB0aGUgZXhwb3J0IGFuZCBpbXBvcnQgY29kZSBmdW5jdGlvbmFsaXR5LjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCjwvdWw+DQpUT0RPJzsKJGxhbmdbJ2NvbnRlbnQnXSA9ICdJbmhhbHQnOwokbGFuZ1snY29udGVudHNfb2ZfZmlsZSddID0gJ0dlc2Nhbm50ZSBJbmhhbHRlIHVuZCBEYXRlaWVuJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpZXJlbic7CiRsYW5nWydkZWZhdWx0X3ZhbHVlJ10gPSAnVm9yZWluZ2VzdGVsbHRlciBXZXJ0JzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydlZGl0J10gPSAnQmVhcmJlaXRlbic7CiRsYW5nWydlcnJvcl9icm9rZW5feG1sJ10gPSAnRGllc2UgWE1MLURhdGVpIGlzdCB1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbmFtZSddID0gJ0RlciBUaXRlbCwgZGVyIGYmdXVtbDtyIGRpZSBLb3BpZSBpZD0lZCBhbmdlZ2ViZW4gd3VyZGUsIGlzdCB1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbWVudXRleHQnXSA9ICdEZXIgTWVuJnV1bWw7dGV4dCwgZGVyIGYmdXVtbDtyIGRpZSBLb3BpZSBpZD0lZCBhbmdlZ2ViZW4gd3VyZGUsIGlzdCB1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW0nXSA9ICdFaW4gZXJmb3JkZXJsaWNoZXIgUGFyYW1ldGVyIGZlaGx0IG9kZXIgaXN0IHVuZyZ1dW1sO2x0aWcnOwokbGFuZ1snZXJyb3JfbmFtZWV4aXN0cyddID0gJ0VzIGV4aXN0aWVydCBiZXJlaXRzIGVpbiBFaW50cmFnIG1pdCBkaWVzZW0gTmFtZW4nOwokbGFuZ1snZXJyb3Jfbm9jb250ZW50c2VsZWN0ZWQnXSA9ICdFcyB3dXJkZSBrZWluIEluaGFsdCBhdXNnZXcmYXVtbDtobHQnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdEZXIgRWludHJhZyB3dXJkZSBuaWNodCBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9ub3RoaW5ndG9pbXBvcnQnXSA9ICdEaWVzZSBYTUwtRGF0ZWkgZW50aCZhdW1sO2x0IGtlaW5lIEluZm9ybWF0aW9uZW4sIGRpZSBpbiBkaWVzZSBJbnN0YWxsYXRpb24gaW1wb3J0aWVydCB3ZXJkZW4gayZvdW1sO25udGVuICh3ZWRlciBrb21wYXRpYmxlIE1vZHVsZSBub2NoIGdsb2JhbGUgSW5oYWx0c2JsJm91bWw7Y2tlIG9kZXIgQmVudXR6ZXJkZWZpbmllcnRlIFRhZ3MpJzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdzZWxlY3RlZCddID0gJ0VzIHd1cmRlbiBrZWluZSBFaW50ciZhdW1sO2dlIGF1c2dldyZhdW1sO2hsdCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ1p1Z3JpZmYgdmVyd2VpZ2VydCc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdEYXMgSG9jaGxhZGVuIGRlciBEYXRlaSBpc3QgZmVobGdlc2NobGFnZW4nOwokbGFuZ1snZXJyb3JfdXBsb2Fkbm90Zm91bmQnXSA9ICdEaWUgaG9jaGdlbGFkZW5lIERhdGVpIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4nOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0aWVyZW4nOwokbGFuZ1snZXhwb3J0X2NoaWxkcmVuJ10gPSAnVW50ZXJnZW9yZG5ldGUgU2VpdGVuIGV4cG9ydGllcmVuJzsKJGxhbmdbJ2V4cG9ydF9jb2RlJ10gPSAnQ29kZSBleHBvcnRpZXJlbic7CiRsYW5nWydleHBvcnRfY29udGVudCddID0gJ0luaGFsdCBleHBvcnRpZXJlbic7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhICc7CiRsYW5nWydmaWxlJ10gPSAnWE1MLURhdGVpJzsKJGxhbmdbJ2ZpbGVfc2VsZWN0b3InXSA9ICdEYXRlaWF1c3dhaGwnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBJbmhhbHRzLVdlcmt6ZXVnZSc7CiRsYW5nWydnbG9iYWxfY29udGVudF9ibG9jayddID0gJ0dsb2JhbGVyIEluaGFsdHNibG9jayAoR0NCKSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSB3b3JrcyBpbiB0aGUgQ01TIE1hZGUgU2ltcGxlIGFkbWluaXN0cmF0aW9uIGNvbnNvbGUgYW5kIHByb3ZpZGVzIHZhcmlvdXMgYWRpdGlvbmFsIGZ1bmN0aW9ucyBhbmQgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggQ01TIE1hZGUgU2ltcGxlJiMwMzk7cyBjb250ZW50IHBhZ2VzLjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQogIDxsaT5FeHBvcnQgY29udGVudCBwYWdlcyB0byBYTUw8L2xpPg0KICA8bGk+SW1wb3J0IGNvbnRlbnQgcGFnZXMgZnJvbSBYTUw8L2xpPg0KICA8bGk+QWxsb3dzIENyZWF0aW5nIGFuZCBtYW5hZ2luZyB2YXJpb3VzIGRpZmZlcmVudCBjb250ZW50IGJsb2NrcyBmb3IgZW1iZWRkaW5nIGludG8gQ01TTVMgcGFnZSB0ZW1wbGF0ZXMuPC9saT4NCiAgPGxpPlByb3ZpZGVzIGJ1bGsgcGFnZSBjb3B5IGNhcGFiaWxpdHkuPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjxwPklmIHlvdSBhcmUgYW4gYXV0aG9yaXplZCBDTVMgTWFkZSBTaW1wbGUgd2ViIHNpdGUgYWRtaW5pc3RyYXRvciwgYW5kIGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2UgdG8gbWFuYWdlIGFsbCBjb250ZW50LCB0aGVuIHRoZSAmcXVvdDtDYWxndXlzIENvbnRlbnQgVXRpbGl0aWVzJnF1b3Q7IG1lbnUgaXRlbSBzaG91bGQgYXBwZWFyIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gcGFuZWwuICBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2YgdGFicywgaW5jbHVkaW5nOjwvcD4NCjx1bD4NCiAgPGxpPjx1PkJsb2NrczwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY3JlYXRpbmcgJnF1b3Q7bmFtZWQmcXVvdDsgYW5kIG1hbmFnaW5nIGNvbnRlbnQgYmxvY2tzIG9mIHZhcmlvdXMgdHlwZXMuICBUYWdzIGZvciB0aGVzZSBjb250ZW50IGJsb2NrcyBjYW4gdGhlbiBiZSBpbnNlcnRlZCBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLiAgVGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHB1dCBhZGRpdG9uYWwgY29udGVudCBibG9ja3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgb3IgY2hvb3NlIGRpZmZlcmVudCBkYXRhIHdoaWNoIG1heSBoYXZlIGEgcmVzdWx0IG9uIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwYWdlLjwvcD4NCiAgPHA+Rm9yIGV4YW1wbGUsIGEgY29udGVudCBibG9jayBvZiB0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7IGNvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2V0aGVyIGFuIGltYWdlIGlzIHRvIGJlIGRpc3BsYXllZCBvciBub3QuPC9wPg0KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PkltcG9ydDwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gaW1wb3J0IG9uZSBvciBtb3JlIGNvbnRlbnQgcGFnZXMgZnJvbSBhbiBYTUwgZmlsZSB0aGF0IHdhcyBjcmVhdGVkIGJ5IHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eS4gICBVc2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkgeW91IGNhbiBlYXNpbHkgbWlncmF0ZSBpbmZvcm1hdGlvbiBmcm9tIG9uZSB3ZWJzaXRlIHRvIGFub3RoZXIuPHA+DQogIDwvbGk+DQogIDxsaT48dT5FeHBvcnQ8L3U+DQogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNob29zZSBhIHNpbmdsZSBwYWdlIGZyb20gYSBkcm9wZG93biB0byBleHBvcnQgdG8gWE1MIGZvcm1hdC4gIFlvdSBjYW4gYWxzbyBpbmRpY2F0ZSB3ZXRoZXIgdGhlIGNoaWxkcmVuIG9mIHRoZSBzZWxlY3RlZCBwYWdlIHNob3VsZCBiZSBleHBvcnRlZC4gIENsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIHdpbGwgcHJvbXB0IHlvdSB0byBkb3dubG9hZCB0aGUgWE1MIGZpbGUuPC9wPg0KICA8cD5UaGUgZ2VuZXJhdGVkIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gaW1hZ2VzLCBvciBwYWdlIHRlbXBsYXRlcywgb3IgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBldGMuICBJdCBvbmx5IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaW91cyBjb250ZW50IG9iamVjdHMsIGFuZCB0aGVpciB2YWx1ZXMuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxwPkFkZGl0aW9uYWxseSwgdGhpcyBtb2R1bGUgYWRkcyBhIGJ1bGsgYWN0aW9uIHRvIHRoZSBjb250ZW50IG1hbmFnZW1lbnQgcGFnZSwgd2hpY2ggc2hvdWxkIGJlIHZpc2libGUgaWYgeW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uICBUaGlzIGJ1bGsgYWN0aW9uIGFsbG93cyBzZWxlY3RpbmcgbXVsdGlwbGUgcGFnZXMsIGFuZCBjcmVhdGluZyBhIHNpbmdsZSBjb3B5IG9mIGVhY2ggb2YgdGhlIHNlbGVjdGVkIHBhZ2VzLDwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2luZm9fYXZhaWxhYmxlX2l0ZW1zJ10gPSAnVyZhdW1sO2hsZW4gU2llIGVpbmVuIEVpbnRyYWcgYXVzLCB1bSBUZW1wbGF0ZXMgb2RlciBDb2RlLCBkaWUgZXhwb3J0aWVydCB3ZXJkZW4gayZvdW1sO25uZW4sIHp1IHNlaGVuJzsKJGxhbmdbJ2luZm9fYmxvY2tuYW1lJ10gPSAnVmVyd2VuZGVuIFNpZSBudXIgYWxwaGFudW1lcmlzY2hlIFplaWNoZW4sIFVudGVyc3RyaWNoZSAoJnF1b3Q7XyZxdW90OykgdW5kIFF1ZXJzdHJpY2hlICgmcXVvdDstJnF1b3Q7KSc7CiRsYW5nWydpbmZvX2Jsb2NrcHJvbXB0J10gPSAnTGVnZW4gU2llIGVpbmVuIG1lbnNjaGVubGVzYmFyZW4gUHJvbXB0IGZlc3QnOwokbGFuZ1snaW5mb19kcm9wZG93bl9vcHRpb25zJ10gPSAnTGVnZW4gU2llIGhpZXIgZGllIE9wdGlvbmVuIGYmdXVtbDtyIGRpZSBMaXN0ZW5mZWxkbWVuJnV1bWw7cyBmZXN0IChlaW5lIE9wdGlvbiBwcm8gWmVpbGUpLiBUcmVubmVuIFNpZSBkaWUgV2VydGUgZiZ1dW1sO3IgamVkZSBPcHRpb24gbWl0IGRlbSBQaXBlLVplaWNoZW4gKCZxdW90O3wmcXVvdDspJzsKJGxhbmdbJ2luZm9fZXhjbHVkZXByZWZpeCddID0gJ0RhdGVpZW4gbWl0IGRpZXNlciBEYXRlaWVuZHVuZyBhdXNzY2hsaWUmc3psaWc7ZW4gKGR1cmNoIEtvbW1hdGEgZ2V0cmVubnRlIExpc3RlKSc7CiRsYW5nWydpbmZvX2V4cG9ydF9jb2RlJ10gPSAnQXVzZ2V3JmF1bWw7aGx0ZSBNb2R1bC1UZW1wbGF0ZXMgdW5kIEdsb2JhbGUgSW5oYWx0c2JsJm91bWw7Y2tlIGYmdXVtbDtyIGRlbiBFaW5zYXR6IGF1ZiBlaW5lciBhbmRlcmVuIFdlYnNlaXRlIGluIGVpbmUgWE1MLURhdGVpIGV4cG9ydGllcmVuJzsKJGxhbmdbJ2luZm9fZmlsZXR5cGVzJ10gPSAnTGVnZW4gU2llIGhpZXIgZGllIERhdGVpZXJ3ZWl0ZXJ1bmdlbiBmZXN0IChkdXJjaCBLb21tYXRhIGdldHJlbm50KSwgei5Cc3AuOiBwZGYsanBnLGRvYyc7CiRsYW5nWydpbmZvX2ZpbmFsX2ltcG9ydF9jb2RlJ10gPSAnRGllIGYmdXVtbDtyIGRlbiBJbXBvcnQgYXVzZ2V3JmF1bWw7aGx0ZW4gRWludHImYXVtbDtnZSB3ZXJkZW4gbmFjaGZvbGdlbmQgYW5nZXplaWd0LiBFaW50ciZhdW1sO2dlLCBkaWUgZWluICZVdW1sO2JlcnNjaHJlaWJ1bmcgZWluZXMgYmVyZWl0cyBleGlzdGllcmVuZGVuIEVpbnRyYWdlcyB6dXIgRm9sZ2UgaGFiZW4sIHNpbmQgaW4gPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHllbGxvdzsmcXVvdDs+R2VsYjwvc3Bhbj4gaGVydm9yZ2Vob2Jlbi4gQml0dGUgYmVzdCZhdW1sO3RpZ2VuIFNpZSwgZGFzcyBTaWUgZGFzIHdpcmtsaWNoIG0mb3VtbDtjaHRlbi48YnIvPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gV2VubiBTaWUgYW4gZGllc2VyIFN0ZWxsZSB3ZWl0ZXJtYWNoZW4sIGJlc3RlaHQgZGllIE0mb3VtbDtnbGljaGtlaXQsIGRhc3MgYmVyZWl0cyBmdW5rdGlvbmllcmVuZGUgVGVtcGxhdGVzICZ1dW1sO2JlcnNjaHJpZWJlbiB3ZXJkZW4uPGJyLz4NCjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gRWluaWdlIE1vZHVsZSB1bnRlcnN0JnV1bWw7dHplbiBuaWNodCBtZWhyZXJlIFRlbXBsYXRlcyBmJnV1bWw7ciBqZWRlbiBUZW1wbGF0ZS1UeXAuIEVzIGthbm4gZGFoZXIgZXJmb3JkZXJsaWNoIHNlaW4sIGRhc3MgZWluaWdlIFRlbXBsYXRlcyAmdXVtbDtiZXJzY2hyaWViZW4gd2VyZGVuIG0mdXVtbDtzc2VuLCBkYW1pdCBkZXIgSW1wb3J0IGZ1bmt0aW9uaWVydC48YnIvPg0KPHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWVzZXMgTW9kdWwgbmltbXQga2VpbmVybGVpIFZlciZhdW1sO25kZXJ1bmdlbiBhbiBkZW4gaW1wb3J0aWVydGVuIFRlbXBsYXRlcyB2b3IsIHVtIFJlZmVyZW56ZW4gYXVmIFNlaXRlbiBvZGVyIE1vZHVsYXVmcnVmZSB6dSBwciZ1dW1sO2Zlbi4gU2llIG0mdXVtbDtzc2VuIGRhaGVyIGFuc2NobGllJnN6bGlnO2VuZCBqZWRlcyBUZW1wbGF0ZSBpbmRpdmlkdWVsbCBhbiBkaWUgQmVkJnV1bWw7cmZ0bmlzc2UgZGVyIFdlYnNlaXRlIGFucGFzc2VuLic7CiRsYW5nWydpbmZvX2ltcG9ydF9jb2RlJ10gPSAnRGVuIEltcG9ydCBkZXIgYXVzZ2V3JmF1bWw7aGx0ZW4gR2xvYmFsZW4gSW5oYWx0c2JsJm91bWw7Y2tlLCBCZW51dHplcmRlZmluaWVydGVuIFRhZ3MgdW5kIE1vZHVsLVRlbXBsYXRlcyBhdXMgZWluZXIgWE1MLURhdGVpIGVybGF1YmVuLjxici8+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWVzIGlzdCBlaW5lIEZ1bmt0aW9uIGYmdXVtbDtyIGZvcnRnZXNjaHJpdHRlbmUgQW53ZW5kZXIuIERhbWl0IGsmb3VtbDtubmVuIGRpZSBUZW1wbGF0ZXMgZWluZXIgZXhpc3RpZXJlbmRlbiBTZWl0ZSAmdXVtbDtiZXJzY2hyaWViZW4gd2VyZGVuLiBWZXJ3ZW5kZW4gU2llIGRpZXNlIEZ1bmt0aW9uIGRhaGVyIG1pdCBWb3JzaWNodCEnOwokbGFuZ1snaW5mb19zY2FubmVkX2ZpbGUnXSA9ICdTaWUgZmluZGVuIGltIGZvbGdlbmRlbiBkaWUgZ2VzY2FubnRlbiBJbmhhbHRlIGRlciBhbmdlZ2ViZW5lbiBYTUwtRGF0ZWkuIFNpZSBrJm91bWw7bm5lbiBzaWNoIGVpbmUgVm9yc2NoYXUgZGVyIEVpbnRyJmF1bWw7Z2UgYW5zZWhlbiB1bmQgZWluaWdlIGYmdXVtbDtyIGRlbiBJbXBvcnQgYXVzdyZhdW1sO2hsZW4uIEF1JnN6bGlnO2VyZGVtIGsmb3VtbDtubmVuIFNpZSBvcHRpb25hbCBlaW5lbiBuZXVlbiBOYW1lbiBmJnV1bWw7ciBkaWUgaW1wb3J0aWVydGVuIFRlbXBsYXRlcyBmZXN0bGVnZW4uJzsKJGxhbmdbJ2ltcG9ydCddID0gJ0ltcG9ydGllcmVuJzsKJGxhbmdbJ2ltcG9ydF9jb2RlJ10gPSAnQ29kZSBpbXBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnRfY29udGVudCddID0gJ0luaGFsdCBpbXBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnRfbmFtZSddID0gJ05hbWUgaW1wb3J0aWVyZW4nOwokbGFuZ1snbGlzdF9nY2JzJ10gPSAnR2xvYmFsZSBJbmhhbHRzYmwmb3VtbDtja2UnOwokbGFuZ1snbGlzdF91ZHRzJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlIFRhZ3MnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFaW4gTW9kdWwgbWl0IFdlcmt6ZXVnZW4gZiZ1dW1sO3IgZGllIFVudGVyc3QmdXVtbDt0enVuZyBkZXIgVmVyd2FsdHVuZyB2b24gSW5oYWx0ZW4nOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWwnOwokbGFuZ1snbW9kdWxlcyddID0gJ01vZHVsZSc7CiRsYW5nWydtb2R1bGVfdGVtcGxhdGUnXSA9ICdNb2R1bC1UZW1wbGF0ZSc7CiRsYW5nWydtc2dfYmxvY2thZGRlZCddID0gJ0RlciBCbG9jayB3dXJkZSBlcmZvbGdyZWljaCBoaW56dWdlZiZ1dW1sO2d0JzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdEaWUgV2VydGUgZGVzIEJsb2NrcyB3dXJkZW4gYWt0dWFsaXNpZXJ0JzsKJGxhbmdbJ21zZ19jYW5jZWxsZWQnXSA9ICdEaWUgT3BlcmF0aW9uIHd1cmRlIGFiZ2Vicm9jaGVuJzsKJGxhbmdbJ21zZ19pbXBvcnRlZCddID0gJyVkIEVpbnRyJmF1bWw7Z2UgYXVzIGRlciBYTUwtRGF0ZWkgaW1wb3J0aWVydCc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSAnOwokbGFuZ1snbmV3X2FsaWFzJ10gPSAnTmV1ZXIgU2VpdGVuLUFsaWFzJzsKJGxhbmdbJ25ld19tZW51dGV4dCddID0gJ05ldWVyIE1lbiZ1dW1sO3RleHQnOwokbGFuZ1snbmV3X25hbWUnXSA9ICdOZXVlciBOYW1lJzsKJGxhbmdbJ25ld19wYXJlbnQnXSA9ICdOZXVlICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSc7CiRsYW5nWyduZXh0J10gPSAnTiZhdW1sO2Noc3RlJzsKJGxhbmdbJ3BhcmVudCddID0gJyZVdW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RhcyBDR0NvbnRlbnRVdGlscy1Nb2R1bCB3dXJkZSBpbnN0YWxsaWVydCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGFzIENHQ29udGVudFV0aWxzLU1vZHVsIHd1cmRlIGRlaW5zdGFsbGllcnQnOwokbGFuZ1sncHJldmlldyddID0gJ1ZvcnNjaGF1JzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCAnOwokbGFuZ1sncHJvbXB0X2NvbHMnXSA9ICdTcGFsdGVuJzsKJGxhbmdbJ3Byb21wdF9kaXInXSA9ICdWZXJ6ZWljaG5pcyA8ZW0+KHJlbGF0aXYgenVtIC91cGxvYWRzLU9yZG5lcik8L2VtPic7CiRsYW5nWydwcm9tcHRfZXhjbHVkZXByZWZpeCddID0gJ0RhdGVpZW4gbWl0IGRpZXNlciBEYXRlaWVuZHVuZyBhdXNzY2hsaWUmc3psaWc7ZW4nOwokbGFuZ1sncHJvbXB0X2ZpbGV0eXBlcyddID0gJ0VybGF1YnRlIERhdGVpdHlwZW4nOwokbGFuZ1sncHJvbXB0X2xlbmd0aCddID0gJ0wmYXVtbDtuZ2UnOwokbGFuZ1sncHJvbXB0X21heGxlbmd0aCddID0gJ01heGltYWxlIEwmYXVtbDtuZ2UnOwokbGFuZ1sncHJvbXB0X29wdGlvbnMnXSA9ICdPcHRpb25lbic7CiRsYW5nWydwcm9tcHRfcGFnZSddID0gJ1NlaXRlJzsKJGxhbmdbJ3Byb21wdF9yZWN1cnNlJ10gPSAnUmVrdXJzaXYgaW4gVW50ZXJ2ZXJ6ZWljaG5pc3NlJzsKJGxhbmdbJ3Byb21wdF9yb3dzJ10gPSAnWmVpbGVuJzsKJGxhbmdbJ3Byb21wdF9zb3J0ZmlsZXMnXSA9ICdEYXRlaWVuIG5hY2ggTmFtZW4gc29ydGllcmVuJzsKJGxhbmdbJ3Byb21wdF92YWx1ZSddID0gJ1dlcnQnOwokbGFuZ1snc2NhbiddID0gJ1NjYW5uZW4nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ0FsbGUgYXVzdyZhdW1sO2hsZW4nOwokbGFuZ1snc3RhcnRfcGFnZSddID0gJ1N0YXJ0c2VpdGUnOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1c2FnZSddID0gJ1ZlcndlbmR1bmcnOwokbGFuZ1sndXNlcmRlZmluZWRfdGFnJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlciBUYWcgKFVEVCknOwokbGFuZ1sneG1sX2ZpbGUnXSA9ICdYTUwtRGF0ZWknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41NDMxNjMzODEuMTMwMjYwMzQzMC4xMzAyNjg4MjA4LjEzMDI3NzQ0NTguMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDI2MDM0MzAuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0Fqb3V0ZXIgdW4gbm91dmVhdSBibG9jJzsKJGxhbmdbJ2FkdmFuY2VkX2NvbnRlbnRfY29weSddID0gJ0NvcGllICZlYWN1dGU7dm9sdSZlYWN1dGU7ZSBkdSBjb250ZW51JzsKJGxhbmdbJ2FkdmFuY2VkX2NvcHknXSA9ICdDb3BpZSAmZWFjdXRlO3ZvbHUmZWFjdXRlO2UnOwokbGFuZ1snYXNrX2RlbGV0ZV9ibG9jayddID0gJ1ZvdWxlei12b3VzIHZyYWltZW50IHN1cHByaW1lciBjZSBibG9jID8nOwokbGFuZ1snYXNrX3JlYWxseV9pbXBvcnQnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgaW1wb3J0ZXIgY2UgY29kZSBtYWxnciZlYWN1dGU7IGxlcyBhdmVydGlzc2VtZW50cyBjaS1kZXNzdXMgPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZFY2lyYzt0ZXMtdm91cyBjZXJ0YWluIGRlIHZvdWxvaXIgZmFpcmUgY2VsYSA/JzsKJGxhbmdbJ2F2YWlsYWJsZV9pdGVtcyddID0gJyZFYWN1dGU7bCZlYWN1dGU7bWVudCBkaXNwb25pYmxlJzsKJGxhbmdbJ2F2YWlsYWJsZV90ZW1wbGF0ZXMnXSA9ICdDb2RlIGRpc3BvbmlibGUnOwokbGFuZ1snYmxvY2tzJ10gPSAnQmxvY3MnOwokbGFuZ1snYmxvY2t0eXBlX3RleHRpbnB1dCddID0gJ1NhaXNpZSBkZSB0ZXh0ZSc7CiRsYW5nWydibG9ja3R5cGVfdGV4dGFyZWEnXSA9ICdab25lIGRlIFRleHRlJzsKJGxhbmdbJ2Jsb2NrdHlwZV9kcm9wZG93biddID0gJ0xpc3RlIGQmZWFjdXRlO3JvdWxhbnRlJzsKJGxhbmdbJ2Jsb2NrdHlwZV9jaGVja2JveCddID0gJ0JvJmljaXJjO3RlICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWydibG9ja3R5cGVfZmlsZV9zZWxlY3RvciddID0gJ1MmZWFjdXRlO2xlY3RldXIgZGUgZmljaGllcic7CiRsYW5nWydibG9ja3R5cGVfcGFnZXNlbGVjdG9yJ10gPSAnUyZlYWN1dGU7bGVjdGV1ciBkZSBwYWdlJzsKJGxhbmdbJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnXSA9ICdCb3V0b25zIHJhZGlvJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXInOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KICA8bGk+djEuMCAtIEp1bmUgMjAwOQ0KICAgIDx1bD4NCiAgICAgIDxsaT5Jbml0aWFsIFJlbGFzZTwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPnYxLjAuMiAtIEp1bHkgMjAxMA0KICAgIDx1bD4NCiAgICAgIDxsaT5BYmlsaXR5IHRvIHBlcnNlcnZlIGhpZXJhcmNoeSB3aGVuIGNvcHlpbmcgcGFyZW50cyBhbmQgY2hpbGRyZW4gKFRlZCk8L2xpPg0KICAgICAgPGxpPkFkZGVkIGNoZWNrIGZvciBwcm9wIGNvcHlpbmcgdG8ga2VlcCBFX05PVElDRSBoYXBweSAoVGVkKT48L2xpPg0KICAgICAgPGxpPk1pbm9yIGNoYW5nZSB0byBzYW1wbGUgdGFnIGluZm8uPC9saT4NCiAgICAgIDxsaT5BZGRzIHRoZSBwYWdlIHNlbGVjdG9yIGZpZWxkIHR5cGUuPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KICA8bGk+djEuMiAtIERlY2VtYmVyIDIwMTANCiAgICA8dWw+IA0KICAgICAgPGxpPkFkZHMgdGhlIGV4cG9ydCBhbmQgaW1wb3J0IGNvZGUgZnVuY3Rpb25hbGl0eS48L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQo8L3VsPg0KVE9ETyc7CiRsYW5nWydjb250ZW50J10gPSAnQ29udGVudSc7CiRsYW5nWydjb250ZW50c19vZl9maWxlJ10gPSAnQ29udGVudXMgZHUgZmljaGllciBzY2FubiZlYWN1dGU7JzsKJGxhbmdbJ2NvcHknXSA9ICdDb3BpZXInOwokbGFuZ1snZGVmYXVsdF92YWx1ZSddID0gJ1ZhbGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydkZWxldGUnXSA9ICdTdXBwcmltZXInOwokbGFuZ1snZWRpdCddID0gJ0VkaXRlcic7CiRsYW5nWydlcnJvcl9icm9rZW5feG1sJ10gPSAnTGUgZmljaGllciBYTUwgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyBlc3QgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9uYW1lJ10gPSAnTGUgdGl0cmUgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyBwb3VyIGxhIGNvcGllIGlkID0lZCBlc3QgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9tZW51dGV4dCddID0gJ0xlIHRleHQgZHUgbWVudSBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7IHBvdXIgbGEgY29waWUgaWQgPSUgZCBlc3QgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbSddID0gJ1VuIHBhcmFtJmVncmF2ZTt0cmUgcmVxdWlzIGVzdCBtYW5xdWFudCBvdSBub24gdmFsaWRlJzsKJGxhbmdbJ2Vycm9yX25hbWVleGlzdHMnXSA9ICdVbiAmZWFjdXRlO2wmZWFjdXRlO21lbnQgcG9ydGFudCBjZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9ub2NvbnRlbnRzZWxlY3RlZCddID0gJ0F1Y3VuIGNvbnRlbnUgbiYjMDM5O2EgJmVhY3V0ZTt0JmVhY3V0ZTsgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ0l0ZW0gbm9uIHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3Jfbm90aGluZ3RvaW1wb3J0J10gPSAnTGUgZmljaGllciBYTUwgbmUgY29udGllbnQgcGFzIGQmIzAzOTtpbmZvcm1hdGlvbnMgcG91dmFudCAmZWNpcmM7dHJlIGltcG9ydCZlYWN1dGU7ZXMgc3VyIGNldHRlIGluc3RhbGxhdGlvbiAocGFzIGRlIG1vZHVsZXMgY29tcGF0aWJsZXMsIGJsb2NzIGRlIGNvbnRlbnVzIGdsb2JhdXggb3UgYmFsaXNlcyB1dGlsaXNhdGV1cnMpJzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdzZWxlY3RlZCddID0gJ0F1Y3VuIGl0ZW1zIG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbl9kZW5pZWQnXSA9ICdQZXJtaXNzaW9uIHJlZnVzJmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJyZFYWN1dGU7Y2hlYyBkJiMwMzk7ZW52b2kgZGUgZmljaGllcnMnOwokbGFuZ1snZXJyb3JfdXBsb2Fkbm90Zm91bmQnXSA9ICdMZSBmaWNoaWVyIGVudm95JmVhY3V0ZTsgbiYjMDM5O2EgcGFzICZlYWN1dGU7dCZlYWN1dGU7IHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0ZXInOwokbGFuZ1snZXhwb3J0X2NoaWxkcmVuJ10gPSAnRXhwb3J0ZXIgbGVzIGZpY2hpZXJzIGVuZmFudHMnOwokbGFuZ1snZXhwb3J0X2NvZGUnXSA9ICdFeHBvcnRlciBsZSBjb2RlJzsKJGxhbmdbJ2V4cG9ydF9jb250ZW50J10gPSAnRXhwb3J0ZXIgbGUgY29udGVudSc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhICc7CiRsYW5nWydmaWxlJ10gPSAnRmljaGllciBYTUwnOwokbGFuZ1snZmlsZV9zZWxlY3RvciddID0gJ1MmZWFjdXRlO2xlY3RldXIgZGUgZmljaGllcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVXRpbGl0YWlyZXMgZGUgY29udGVudSAoQ0cpJzsKJGxhbmdbJ2dsb2JhbF9jb250ZW50X2Jsb2NrJ10gPSAnQmxvYyBkZSBjb250ZW51IGdsb2JhbCAoQkNHKSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHdvcmtzIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSBhbmQgcHJvdmlkZXMgdmFyaW91cyBhZGl0aW9uYWwgZnVuY3Rpb25zIGFuZCB1dGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBDTVMgTWFkZSBTaW1wbGUmIzAzOTtzIGNvbnRlbnQgcGFnZXMuPC9wPg0KPGgzPkZvbmN0aW9uczwvaDM+DQo8dWw+DQogIDxsaT5FeHBvcnRlciBsZSBjb250ZW51IGRlcyBwYXMgZW4gWE1MPC9saT4NCiAgPGxpPkltcG9ydGVyIGxlIGNvbnRlbnUgZGVzIHBhZ2VzIGVuIFhNTDwvbGk+DQogIDxsaT5BbGxvd3MgQ3JlYXRpbmcgYW5kIG1hbmFnaW5nIHZhcmlvdXMgZGlmZmVyZW50IGNvbnRlbnQgYmxvY2tzIGZvciBlbWJlZGRpbmcgaW50byBDTVNNUyBwYWdlIHRlbXBsYXRlcy48L2xpPg0KICA8bGk+UGVybWV0IGxhIGNvcGllIGRlIHBhZ2VzIGVuIHMmZWFjdXRlO3JpZTwvbGk+DQo8L3VsPg0KPGgzPkNvbW1lbnQgJmNjZWRpbDthIG1hcmNoZSA/PC9oMz4NCjxwPklmIHlvdSBhcmUgYW4gYXV0aG9yaXplZCBDTVMgTWFkZSBTaW1wbGUgd2ViIHNpdGUgYWRtaW5pc3RyYXRvciwgYW5kIGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2UgdG8gbWFuYWdlIGFsbCBjb250ZW50LCB0aGVuIHRoZSAmYW1wO3F1aXQ7Q2FsZ3V5cyBDb250ZW50IFV0aWxpdGllcyZxdW90OyBtZW51IGl0ZW0gc2hvdWxkIGFwcGVhciBpbiB0aGUgQ01TIE1hZGUgU2ltcGxlIGFkbWluaXN0cmF0aW9uIHBhbmVsLiAgWW91IHdpbGwgc2VlIGEgbnVtYmVyIG9mIHRhYnMsIGluY2x1ZGluZzo8L3A+DQo8dWw+DQogIDxsaT48dT5CbG9jczwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY3JlYXRpbmcgJnF1b3Q7bmFtZWQmcXVvdDsgYW5kIG1hbmFnaW5nIGNvbnRlbnQgYmxvY2tzIG9mIHZhcmlvdXMgdHlwZXMuICBUYWdzIGZvciB0aGVzZSBjb250ZW50IGJsb2NrcyBjYW4gdGhlbiBiZSBpbnNlcnRlZCBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLiAgVGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHB1dCBhZGRpdG9uYWwgY29udGVudCBibG9ja3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgb3IgY2hvb3NlIGRpZmZlcmVudCBkYXRhIHdoaWNoIG1heSBoYXZlIGEgcmVzdWx0IG9uIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwYWdlLjwvcD4NCiAgPHA+Rm9yIGV4YW1wbGUsIGEgY29udGVudCBibG9jayBvZiB0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7IGNvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2V0aGVyIGFuIGltYWdlIGlzIHRvIGJlIGRpc3BsYXllZCBvciBub3QuPC9wPg0KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PkltcG9ydGVyPC91Pg0KICA8cD5UaGlzIHRhYiBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBpbXBvcnQgb25lIG9yIG1vcmUgY29udGVudCBwYWdlcyBmcm9tIGFuIFhNTCBmaWxlIHRoYXQgd2FzIGNyZWF0ZWQgYnkgdGhlIGV4cG9ydCBmdW5jdGlvbmFsaXR5LiAgIFVzaW5nIHRoaXMgZnVuY3Rpb25hbGl0eSB5b3UgY2FuIGVhc2lseSBtaWdyYXRlIGluZm9ybWF0aW9uIGZyb20gb25lIHdlYnNpdGUgdG8gYW5vdGhlci48cD4NCiAgPC9saT4NCiAgPGxpPjx1PkV4cG9ydGVyPC91Pg0KICA8cD5UaGlzIHRhYiBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjaG9vc2UgYSBzaW5nbGUgcGFnZSBmcm9tIGEgZHJvcGRvd24gdG8gZXhwb3J0IHRvIFhNTCBmb3JtYXQuICBZb3UgY2FuIGFsc28gaW5kaWNhdGUgd2V0aGVyIHRoZSBjaGlsZHJlbiBvZiB0aGUgc2VsZWN0ZWQgcGFnZSBzaG91bGQgYmUgZXhwb3J0ZWQuICBDbGlja2luZyBvbiB0aGUgZXhwb3J0IGJ1dHRvbiB3aWxsIHByb21wdCB5b3UgdG8gZG93bmxvYWQgdGhlIFhNTCBmaWxlLjwvcD4NCiAgPHA+VGhlIGdlbmVyYXRlZCBYTUwgZmlsZSBkb2VzIG5vdCBjb250YWluIGltYWdlcywgb3IgcGFnZSB0ZW1wbGF0ZXMsIG9yIGdsb2JhbCBjb250ZW50IGJsb2NrcywgZXRjLiAgSXQgb25seSBjb250YWlucyB0aGUgY29udGVudHMgb2YgdGhlIHZhcmlvdXMgY29udGVudCBvYmplY3RzLCBhbmQgdGhlaXIgdmFsdWVzLjwvcD4NCiAgPC9saT4NCjwvdWw+DQo8cD5BZGRpdGlvbmFsbHksIHRoaXMgbW9kdWxlIGFkZHMgYSBidWxrIGFjdGlvbiB0byB0aGUgY29udGVudCBtYW5hZ2VtZW50IHBhZ2UsIHdoaWNoIHNob3VsZCBiZSB2aXNpYmxlIGlmIHlvdSBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9uLiAgVGhpcyBidWxrIGFjdGlvbiBhbGxvd3Mgc2VsZWN0aW5nIG11bHRpcGxlIHBhZ2VzLCBhbmQgY3JlYXRpbmcgYSBzaW5nbGUgY29weSBvZiBlYWNoIG9mIHRoZSBzZWxlY3RlZCBwYWdlcyw8L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydpbmZvX2F2YWlsYWJsZV9pdGVtcyddID0gJ1MmZWFjdXRlO2xlY3Rpb25uZXIgdW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGNpLWRlc3NvdXMgcG91ciB2b2lyIGxlcyBnYWJhcml0cyBvdSBsZSBjb2RlIGV4cG9ydGFibGVzICc7CiRsYW5nWydpbmZvX2Jsb2NrbmFtZSddID0gJ1V0aWxpc2VyIHVuaXF1ZW1lbnQgZGVzIGNhcmFjdCZlZ3JhdmU7cmVzIGFscGhhbnVtJmVhY3V0ZTtyaXF1ZXMsIGRlcyAmYW1wO3F1b3Q7XyZhbXA7cXVvdDsgZXQgZGVzIHRpcmV0cyc7CiRsYW5nWydpbmZvX2Jsb2NrcHJvbXB0J10gPSAnU3AmZWFjdXRlO2NpZmllciB1biBwcm9tcHQgbGlzaWJsZSc7CiRsYW5nWydpbmZvX2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdTcCZlYWN1dGU7Y2lmaWVyIGxlcyBvcHRpb25zIHBvdXIgbCYjMDM5O2FmZmljaGFnZSBlbiBsaXN0ZSBkJmVhY3V0ZTtyb3VsYW50ZS4gVW5lIG9wdGlvbiBwYXIgbGlnbmUuIFNwJmVhY3V0ZTtjaWZpZXIgbGVzIHZhbGV1cnMgcG9zc2libGVzIHBvdXIgY2hhY3VuZSBkZXMgb3B0aW9ucyBlbiBsZXMgcyZlYWN1dGU7cGFyYW50IHBhciB1biBjYXJhY3QmZWdyYXZlO3JlICZxdW90O3wmcXVvdDsuJzsKJGxhbmdbJ2luZm9fZXhjbHVkZXByZWZpeCddID0gJ0V4Y2x1cmUgbGVzIGZpY2hpZXJzIGNvbnRlbmFudCBjZXMgcHImZWFjdXRlO2ZpeGVzIChsaXN0ZSBkJiMwMzk7ZXh0ZW5zaW9ucyBkZSBmaWNoaWVycyBzJmVhY3V0ZTtwYXImZWFjdXRlO2UgcGFyIGRlcyB2aXJndWxlcyknOwokbGFuZ1snaW5mb19leHBvcnRfY29kZSddID0gJ0V4cG9ydGV6IHVuZSBzJmVhY3V0ZTtsZWN0aW9uIGRlIGdhYmFyaXRzIGRlIG1vZHVsZXMsIGJsb2NzIGRlIGNvbnRlbnVzIGdsb2JhdXggZXQgYmFsaXNlcyB1dGlsaXNhdGV1cnMgdmVycyB1biBmaWNoaWVyIFhNTCB1dGlsaXNhYmxlIHN1ciB1biBhdXRyZSBzaXRlJzsKJGxhbmdbJ2luZm9fZmlsZXR5cGVzJ10gPSAnRm91cm5pciB1bmUgbGlzdGUgZCYjMDM5O2V4dGVuc2lvbnMgZGUgZmljaGllcnMgcyZlYWN1dGU7cGFyJmVhY3V0ZTtlIHBhciBkZXMgdmlyZ3VsZXMuIHAuZXguIHBkZixqcGcsZG9jJzsKJGxhbmdbJ2luZm9fZmluYWxfaW1wb3J0X2NvZGUnXSA9ICdUaGUgaXRlbXMgc2VsZWN0ZWQgZm9yIGltcG9ydCAgYXJlIGJlIGRpc3BsYXllZCBiZWxvdy4gIEl0ZW1zIHRoYXQgcmVwcmVzZW50IGFuIG92ZXJ3cml0ZSBhcmUgaGlsaWdodGVkIGluIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiB5ZWxsb3c7JnF1b3Q7PnllbGxvdzwvc3Bhbj4uIFBsZWFzZSBjb25maXJtIHRoYXQgeW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXMuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIGJ5IGNvbnRpbnVpbmcgdGhhdCB5b3UgbWF5IG92ZXJ3cml0ZSB2YWxpZCB3b3JraW5nIHRlbXBsYXRlcy48YnIvPg0KPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBTb21lIG1vZHVsZXMgZG8gbm90IHN1cHBvcnQgbXVsdGlwbGUgdGVtcGxhdGVzIGZvciBlYWNoIHRlbXBsYXRlIHR5cGUsIHRoZXJlZm9yZSBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIG92ZXJ3cml0ZSBzb21lIHRlbXBsYXRlcyBmb3IgdGhlbSB0byBoYXZlIGFueSBlZmZlY3QuPGJyLz4NCjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgZG9lcyBub3QgcGVyZm9ybSBhbnkgbW9kaWZpY2F0aW9ucyB0byB0aGUgaW1wb3J0ZWQgdGVtcGxhdGVzIHRvIGNoZWNrIGZvciByZWZlcmVuY2VzIHRvIHBhZ2VzLCBvciBleGlzdGluZyBtb2R1bGUgY2FsbHMuICBZb3UgbWF5IGhhdmUgdG8gdmlzaXQgZWFjaCB0ZW1wbGF0ZSBpbmRpdmlkdWFsbHkgdG8gY3VzdG9taXplIGl0cyBiZWhhdmlvciBmb3IgeW91ciBzaXRlLic7CiRsYW5nWydpbmZvX2ltcG9ydF9jb2RlJ10gPSAnQWxsb3dzIGltcG9ydGluZyBzZWxlY3RlZCBHQkJzLCBVRFRzIGFuZCBNb2R1bGUgdGVtcGxhdGVzIGZyb20gYW4gWE1MIGZpbGUuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgaXMgYW4gYWR2YW5jZWQgdG9vbC4gIFRoaXMgZmVhdHVyZSBhbGxvd3Mgb3ZlcndyaXRpbmcgdGVtcGxhdGVzIGludG8gYW4gZXhpc3Rpbmcgc3l0ZS4gIFVzZSB3aXRoIGNhdXRpb24hJzsKJGxhbmdbJ2luZm9fc2Nhbm5lZF9maWxlJ10gPSAnQmVsb3cgYXJlIHRoZSBzY2FubmVkIGNvbnRlbnRzIG9mIHRoZSBYTUwgZmlsZSBzdXBwbGllZC4gIFlvdSBtYXkgcHJldmlldyB0aGUgaXRlbXMgbGlzdGVkIGFuZCBzZWxlY3Qgc29tZSBmb3IgaW1wb3J0LiAgWW91IG1heSBvcHRpb25hbGx5IHNwZWNpZnkgYSBuZXcgbmFtZSBmb3IgaW1wb3J0ZWQgdGVtcGxhdGVzLic7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnRlcic7CiRsYW5nWydpbXBvcnRfY29kZSddID0gJ0ltcG9ydGVyIGxlIENvZGUnOwokbGFuZ1snaW1wb3J0X2NvbnRlbnQnXSA9ICdJbXBvcnRlciBsZSBDb250ZW51JzsKJGxhbmdbJ2ltcG9ydF9uYW1lJ10gPSAnTm9tIGRlIGwmIzAzOTtpbXBvcnQnOwokbGFuZ1snbGlzdF9nY2JzJ10gPSAnQmxvYyBkZSBjb250ZW51IGdsb2JhbCc7CiRsYW5nWydsaXN0X3VkdHMnXSA9ICdCYWxpc2UgVXRpbGlzYXRldXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bGUgb2ZmcmFudCBkZXMgb3V0aWxzIGV0IHV0aWxpdGFpcmVzIHBvdXIgYWlkZXIgJmFncmF2ZTsgbGEgZ2VzdGlvbiBkZSBjb250ZW51JzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSAnOwokbGFuZ1snbW9kdWxlcyddID0gJ01vZHVsZXMmbmJzcDsnOwokbGFuZ1snbW9kdWxlX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkdSBtb2R1bGUnOwokbGFuZ1snbXNnX2Jsb2NrYWRkZWQnXSA9ICdCbG9jIGFqb3V0JmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzJzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdWYWxldXJzIGR1IGJsb2MgbWlzZXMgJmFncmF2ZTsgam91cic7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnQXAmZWFjdXRlO3JhdGlvbiBhbm51bCZlYWN1dGU7ZSc7CiRsYW5nWydtc2dfaW1wb3J0ZWQnXSA9ICclZCBpdGVtcyBpbXBvcnQmZWFjdXRlO3MgZGVwdWlzIGxlIGZpY2hpZXIgWE1MJzsKJGxhbmdbJ25hbWUnXSA9ICdOb20nOwokbGFuZ1snbmV3X2FsaWFzJ10gPSAnTm91dmVsIGFsaWFzJzsKJGxhbmdbJ25ld19tZW51dGV4dCddID0gJ05vdXZlYXUgdGV4dGUgZGUgbWVudSc7CiRsYW5nWyduZXdfbmFtZSddID0gJ05vdXZlYXUgbm9tJzsKJGxhbmdbJ25ld19wYXJlbnQnXSA9ICdOb3V2ZWF1IFBhcmVudCc7CiRsYW5nWyduZXh0J10gPSAnU3VpdmFudCc7CiRsYW5nWydwYXJlbnQnXSA9ICdQYXJlbnQgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTGUgbW9kdWxlIFV0aWxpdGFpcmVzIGRlIGNvbnRlbnUgKENHQ29udGVudFV0aWxzKSBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlOyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTGUgbW9kdWxlIFV0aWxpdGFpcmVzIGRlIGNvbnRlbnUgKENHQ29udGVudFV0aWxzKSBhICZlYWN1dGU7dCZlYWN1dGU7IGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsnOwokbGFuZ1sncHJldmlldyddID0gJ1ByJmVhY3V0ZTt2aXN1YWxpc2VyJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCAnOwokbGFuZ1sncHJvbXB0X2NvbHMnXSA9ICdDb2xvbm5lcyc7CiRsYW5nWydwcm9tcHRfZGlyJ10gPSAnUiZlYWN1dGU7cGVydG9pcmUgPGVtPihyZWxhdGlmIGF1IHImZWFjdXRlO3BlcnRvaXJlIGRlIGNoYXJnZW1lbnQpPC9lbT4nOwokbGFuZ1sncHJvbXB0X2V4Y2x1ZGVwcmVmaXgnXSA9ICdFeGNsdXJlIGxlcyBmaWNoaWVycyBhdmVjIGNlcyBwciZlYWN1dGU7Zml4ZXMnOwokbGFuZ1sncHJvbXB0X2ZpbGV0eXBlcyddID0gJ1R5cGVzIGRlIGZpY2hpZXJzIHBlcm1pcyc7CiRsYW5nWydwcm9tcHRfbGVuZ3RoJ10gPSAnTG9uZ3VldXInOwokbGFuZ1sncHJvbXB0X21heGxlbmd0aCddID0gJ0xvbmd1ZXVyIG1heGltdW0nOwokbGFuZ1sncHJvbXB0X29wdGlvbnMnXSA9ICdPcHRpb25zICc7CiRsYW5nWydwcm9tcHRfcGFnZSddID0gJ1BhZ2UgJzsKJGxhbmdbJ3Byb21wdF9yZWN1cnNlJ10gPSAnUGFyY291cmlyIGVuIHImZWFjdXRlO2N1cnNpb24gbGVzIHNvdXMtciZlYWN1dGU7cGVydG9pcmVzJzsKJGxhbmdbJ3Byb21wdF9yb3dzJ10gPSAnUmFuZyZlYWN1dGU7ZXMnOwokbGFuZ1sncHJvbXB0X3NvcnRmaWxlcyddID0gJ1RyaWVyIGxlcyBmaWNoaWVycyBwYXIgbm9tJzsKJGxhbmdbJ3Byb21wdF92YWx1ZSddID0gJ1ZhbGV1cic7CiRsYW5nWydzY2FuJ10gPSAnU2Nhbm5lcic7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnVG91dCBzJmVhY3V0ZTtsZWN0aW9ubmVyJzsKJGxhbmdbJ3N0YXJ0X3BhZ2UnXSA9ICdQYWdlIGRlIGQmZWFjdXRlO3BhcnQnOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXNhZ2UnXSA9ICdVdGlsaXNhdGlvbic7CiRsYW5nWyd1c2VyZGVmaW5lZF90YWcnXSA9ICdCYWxpc2UgdXRpbGlzYXRldXIgKFVEVCknOwokbGFuZ1sneG1sX2ZpbGUnXSA9ICdGaWNoaWVyIFhNTCc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjczMzg2MDItMTMwNDE1NTk4NTY4Mic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEyNDIzNTA3MzguMTMxMDI4NDcxNS4xMzEwMjg0NzE1LjEzMTAyODQ3MTUuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMxMDI4NDcxNS4xLjEudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vdmlld3RvcGljLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0xlZ2cgdGlsIGVuIG55IGJsb2trJzsKJGxhbmdbJ2FkdmFuY2VkX2NvbnRlbnRfY29weSddID0gJ0F2YW5zZXJ0IGtvcGllcmluZyBhdiBpbm5ob2xkJzsKJGxhbmdbJ2FkdmFuY2VkX2NvcHknXSA9ICdBdmFuc2VydCBrb3BpZXJpbmcnOwokbGFuZ1snYXNrX2RlbGV0ZV9ibG9jayddID0gJ1ZpbCBkdSB2aXJrZWxpZyBzbGV0dGUgZGVubmUgYmxva2tlbj8nOwokbGFuZ1snYXNrX3JlYWxseV9pbXBvcnQnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGltcG9ydGVyZSBkZW5uZSBrb2RlbiwgdnVyZGVyZXIgYWR2YXJzbGVyIG92ZW5mb3InOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFciBkdSBzaWtrZSBycCZhcmluZzthIHQgZHUgdmlsIGdqJm9zbGFzaDtyZSBkZXR0ZT8nOwokbGFuZ1snYXZhaWxhYmxlX2l0ZW1zJ10gPSAnVGlsZ2plbmdlbGlnZSBlbmhldGVyJzsKJGxhbmdbJ2F2YWlsYWJsZV90ZW1wbGF0ZXMnXSA9ICdUaWxnamVuZ2VsaWcga29kZSc7CiRsYW5nWydibG9ja3MnXSA9ICdCbG9ra2VyJzsKJGxhbmdbJ2Jsb2NrdHlwZV90ZXh0aW5wdXQnXSA9ICdUZWtzdGlubnNrcml2aW5nJzsKJGxhbmdbJ2Jsb2NrdHlwZV90ZXh0YXJlYSddID0gJ1Rla3N0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ2Jsb2NrdHlwZV9kcm9wZG93biddID0gJ05lZHRyZWtrJzsKJGxhbmdbJ2Jsb2NrdHlwZV9jaGVja2JveCddID0gJ0F2a3J5c3NuaW5nJzsKJGxhbmdbJ2Jsb2NrdHlwZV9maWxlX3NlbGVjdG9yJ10gPSAnRmlsdmVsZ2VyJzsKJGxhbmdbJ2Jsb2NrdHlwZV9wYWdlc2VsZWN0b3InXSA9ICdTaWRldmVsZ2VyJzsKJGxhbmdbJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnXSA9ICdSYWRpb2tuYXBwZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPnYxLjAgLSBKdW5lIDIwMDkNCiAgICA8dWw+DQogICAgICA8bGk+SW5pdGlhbCBSZWxhc2U8L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQogIDxsaT52MS4wLjIgLSBKdWx5IDIwMTANCiAgICA8dWw+DQogICAgICA8bGk+QWJpbGl0eSB0byBwZXJzZXJ2ZSBoaWVyYXJjaHkgd2hlbiBjb3B5aW5nIHBhcmVudHMgYW5kIGNoaWxkcmVuIChUZWQpPC9saT4NCiAgICAgIDxsaT5BZGRlZCBjaGVjayBmb3IgcHJvcCBjb3B5aW5nIHRvIGtlZXAgRV9OT1RJQ0UgaGFwcHkgKFRlZCk+PC9saT4NCiAgICAgIDxsaT5NaW5vciBjaGFuZ2UgdG8gc2FtcGxlIHRhZyBpbmZvLjwvbGk+DQogICAgICA8bGk+QWRkcyB0aGUgcGFnZSBzZWxlY3RvciBmaWVsZCB0eXBlLjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPnYxLjIgLSBEZWNlbWJlciAyMDEwDQogICAgPHVsPiANCiAgICAgIDxsaT5BZGRzIHRoZSBleHBvcnQgYW5kIGltcG9ydCBjb2RlIGZ1bmN0aW9uYWxpdHkuPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KPC91bD4NClRPRE8nOwokbGFuZ1snY29udGVudCddID0gJ0lubmhvbGQnOwokbGFuZ1snY29udGVudHNfb2ZfZmlsZSddID0gJ1NrYW5uZXQgaW5uaG9sZCBhdiBmaWwnOwokbGFuZ1snY29weSddID0gJ0tvcGllcic7CiRsYW5nWydkZWZhdWx0X3ZhbHVlJ10gPSAnU3RhbmRhcmQgdmVyZGknOwokbGFuZ1snZGVsZXRlJ10gPSAnU2xldHQnOwokbGFuZ1snZWRpdCddID0gJ1JlZGlnZXInOwokbGFuZ1snZXJyb3JfYnJva2VuX3htbCddID0gJ1hNTC1maWxlbiBzb20gZXIgb3BwZ2l0dCBlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbmFtZSddID0gJ1RpdHRlbGVuIHNvbSBlciBzcGVzaWZpc2VydCBmb3Iga29waWVyaW5nIGlkPSVkIGVyIHVneWxkaWcnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9tZW51dGV4dCddID0gJ01lbnl0ZWtzdGVuIHNwZXNpZmlzZXJ0IGZvciBrb3BpZXJpbmcgaWQ9JWQgZXIgdWd5bGRpZyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3BhcmFtJ10gPSAnRW4gcCZhcmluZztrcmV2ZCBwYXJhbWV0ZXIgbWFuZ2xldCBlbGxlciBlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX25hbWVleGlzdHMnXSA9ICdFbiBlbmhldCBtZWQgZGV0IG5hdm5ldCBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2Vycm9yX25vY29udGVudHNlbGVjdGVkJ10gPSAnSW5nZW4gaW5uaG9sZCBibGUgdmFsZ3QnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdlbmhldCBpa2tlIGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9ub3RoaW5ndG9pbXBvcnQnXSA9ICdYTUwtZmlsZW4gc3Blc2lmaXNlcnQgaW5uZWhvbGRlciBpa2tlIG5vZW4gb3BwbHlzbmluZ2VyIHNvbSBrYW4gaW1wb3J0ZXJlcyBpbm4gaSBkZW5uZSBpbnN0YWxsYXNqb25lbiAoaW5nZW4ga29tcGF0aWJsZSBtb2R1bGVyLCBlbGxlciBHQ0JzIGVsbGVyIFVEVHMpJzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdzZWxlY3RlZCddID0gJ0luZ2VuIGJsZSB2YWxndCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ1RpbGdhbmcgbmVrdGV0JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0ZpbG9wcGxhc3RpbmcgZmVpbGV0JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZG5vdGZvdW5kJ10gPSAnT3BwbGFzdGV0IGZpbCBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXhwb3J0J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2V4cG9ydF9jaGlsZHJlbiddID0gJ0Vrc3BvcnRlciBiYXJuJzsKJGxhbmdbJ2V4cG9ydF9jb2RlJ10gPSAnRWtzcG9ydGVyIGtvZGUnOwokbGFuZ1snZXhwb3J0X2NvbnRlbnQnXSA9ICdFa3Nwb3J0ZXIgaW5uaG9sZCc7CiRsYW5nWydleHRyYSddID0gJ0Vrc3RyYSc7CiRsYW5nWydmaWxlJ10gPSAnWE1MLWZpbCc7CiRsYW5nWydmaWxlX3NlbGVjdG9yJ10gPSAnRmlsdmVsZ2VyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgQ29udGVudCBVdGxpdGllcyAnOwokbGFuZ1snZ2xvYmFsX2NvbnRlbnRfYmxvY2snXSA9ICdHbG9iYWwgSW5uaG9sZHNibG9ray9HbG9iYWwgQ29udGVudCBCbG9jayAoR0NCKSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSB3b3JrcyBpbiB0aGUgQ01TIE1hZGUgU2ltcGxlIGFkbWluaXN0cmF0aW9uIGNvbnNvbGUgYW5kIHByb3ZpZGVzIHZhcmlvdXMgYWRpdGlvbmFsIGZ1bmN0aW9ucyBhbmQgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggQ01TIE1hZGUgU2ltcGxlJiMwMzk7cyBjb250ZW50IHBhZ2VzLjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQogIDxsaT5FeHBvcnQgY29udGVudCBwYWdlcyB0byBYTUw8L2xpPg0KICA8bGk+SW1wb3J0IGNvbnRlbnQgcGFnZXMgZnJvbSBYTUw8L2xpPg0KICA8bGk+QWxsb3dzIENyZWF0aW5nIGFuZCBtYW5hZ2luZyB2YXJpb3VzIGRpZmZlcmVudCBjb250ZW50IGJsb2NrcyBmb3IgZW1iZWRkaW5nIGludG8gQ01TTVMgcGFnZSB0ZW1wbGF0ZXMuPC9saT4NCiAgPGxpPlByb3ZpZGVzIGJ1bGsgcGFnZSBjb3B5IGNhcGFiaWxpdHkuPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjxwPklmIHlvdSBhcmUgYW4gYXV0aG9yaXplZCBDTVMgTWFkZSBTaW1wbGUgd2ViIHNpdGUgYWRtaW5pc3RyYXRvciwgYW5kIGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2UgdG8gbWFuYWdlIGFsbCBjb250ZW50LCB0aGVuIHRoZSAmYW1wO3F1aXQ7Q2FsZ3V5cyBDb250ZW50IFV0aWxpdGllcyZhbXA7cXVvdDsgbWVudSBpdGVtIHNob3VsZCBhcHBlYXIgaW4gdGhlIENNUyBNYWRlIFNpbXBsZSBhZG1pbmlzdHJhdGlvbiBwYW5lbC4gIFlvdSB3aWxsIHNlZSBhIG51bWJlciBvZiB0YWJzLCBpbmNsdWRpbmc6PC9wPg0KPHVsPg0KICA8bGk+PHU+QmxvY2tzPC91Pg0KICA8cD5UaGlzIHRhYiBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBjcmVhdGluZyAmYW1wO3F1b3Q7bmFtZWQmYW1wO3F1b3Q7IGFuZCBtYW5hZ2luZyBjb250ZW50IGJsb2NrcyBvZiB2YXJpb3VzIHR5cGVzLiAgVGFncyBmb3IgdGhlc2UgY29udGVudCBibG9ja3MgY2FuIHRoZW4gYmUgaW5zZXJ0ZWQgaW50byBDTVNNUyBwYWdlIHRlbXBsYXRlcy4gIFRoaXMgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBwdXQgYWRkaXRvbmFsIGNvbnRlbnQgYmxvY2tzIGludG8geW91ciBwYWdlIHRlbXBsYXRlIHRvIGFsbG93IHRoZSB1c2VyIHRvIGVudGVyIG9yIGNob29zZSBkaWZmZXJlbnQgZGF0YSB3aGljaCBtYXkgaGF2ZSBhIHJlc3VsdCBvbiB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgcGFnZS48L3A+DQogIDxwPkZvciBleGFtcGxlLCBhIGNvbnRlbnQgYmxvY2sgb2YgdHlwZSAmYW1wO3F1b3Q7Y2hlY2tib3gmYW1wO3F1b3Q7IGNvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2V0aGVyIGFuIGltYWdlIGlzIHRvIGJlIGRpc3BsYXllZCBvciBub3QuPC9wPg0KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PkltcG9ydDwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gaW1wb3J0IG9uZSBvciBtb3JlIGNvbnRlbnQgcGFnZXMgZnJvbSBhbiBYTUwgZmlsZSB0aGF0IHdhcyBjcmVhdGVkIGJ5IHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eS4gICBVc2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkgeW91IGNhbiBlYXNpbHkgbWlncmF0ZSBpbmZvcm1hdGlvbiBmcm9tIG9uZSB3ZWJzaXRlIHRvIGFub3RoZXIuPHA+DQogIDwvbGk+DQogIDxsaT48dT5FeHBvcnQ8L3U+DQogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNob29zZSBhIHNpbmdsZSBwYWdlIGZyb20gYSBkcm9wZG93biB0byBleHBvcnQgdG8gWE1MIGZvcm1hdC4gIFlvdSBjYW4gYWxzbyBpbmRpY2F0ZSB3ZXRoZXIgdGhlIGNoaWxkcmVuIG9mIHRoZSBzZWxlY3RlZCBwYWdlIHNob3VsZCBiZSBleHBvcnRlZC4gIENsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIHdpbGwgcHJvbXB0IHlvdSB0byBkb3dubG9hZCB0aGUgWE1MIGZpbGUuPC9wPg0KICA8cD5UaGUgZ2VuZXJhdGVkIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gaW1hZ2VzLCBvciBwYWdlIHRlbXBsYXRlcywgb3IgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBldGMuICBJdCBvbmx5IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaW91cyBjb250ZW50IG9iamVjdHMsIGFuZCB0aGVpciB2YWx1ZXMuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxwPkFkZGl0aW9uYWxseSwgdGhpcyBtb2R1bGUgYWRkcyBhIGJ1bGsgYWN0aW9uIHRvIHRoZSBjb250ZW50IG1hbmFnZW1lbnQgcGFnZSwgd2hpY2ggc2hvdWxkIGJlIHZpc2libGUgaWYgeW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uICBUaGlzIGJ1bGsgYWN0aW9uIGFsbG93cyBzZWxlY3RpbmcgbXVsdGlwbGUgcGFnZXMsIGFuZCBjcmVhdGluZyBhIHNpbmdsZSBjb3B5IG9mIGVhY2ggb2YgdGhlIHNlbGVjdGVkIHBhZ2VzLDwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2luZm9fYXZhaWxhYmxlX2l0ZW1zJ10gPSAnVmVsZyBlbiBlbmhldCBuZWRlbmZvciBmb3IgJmFyaW5nOyBzZSBkZSBla3Nwb3J0ZXJiYXJlIG1hbGVuZSBlbGxlciBrb2RlIHNvbSBrYW4gZWtzcG9ydGVyZXMnOwokbGFuZ1snaW5mb19ibG9ja25hbWUnXSA9ICdCZW55dHQga3VuIGFsZmFudW1tZXJpc2tlIGJva3N0YXZlciwgdW5kZXJzdHJlayBvZyBiaW5kZXN0cmVrJzsKJGxhbmdbJ2luZm9fYmxvY2twcm9tcHQnXSA9ICdTcGVzaWZpc2VyIGVuIG1lbm5lc2tlbGlnIGxlc2VsaWcgZXRpa2V0dCc7CiRsYW5nWydpbmZvX2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdTcGVzaWZpc2VyIHZhbGcgZm9yIG5lZHRyZWtrLiBFdCB2YWxnIHBlciBsaW5qZS4gU3Blc2lmaXNlciB2ZXJkaWVyIGZvciBodmVydCB2YWxnIHZlZCAmYXJpbmc7IHNlcGFyZXJlIGRlbSBtZWQgZXQgcGlwZSB0ZWduJzsKJGxhbmdbJ2luZm9fZXhjbHVkZXByZWZpeCddID0gJ0Vrc2tsdWRlciBmaWxlciBtZWQgZGlzc2UgZmlsbmF2bi1lbmRlbHNlbmUgKGtvbW1hc2VwYXJlcnQgbGlzdGUpJzsKJGxhbmdbJ2luZm9fZXhwb3J0X2NvZGUnXSA9ICdFa3Nwb3J0ZXIgdmFsZ3RlIG1vZHVsbWFsZXIsIGdsb2JhbGUgaW5uaG9sZHNibG9ra2VyKEdDQiksIG9nIG1vZHVsIG1hbGVyIHRpbCBlbiBYTUwtZmlsIGZvciBicnVrIHAmYXJpbmc7IGV0IGFubmV0IG5ldHRzdGVkJzsKJGxhbmdbJ2luZm9fZmlsZXR5cGVzJ10gPSAnU3Blc2lmaXNlciBlbiBrb21tYXNlcGFyZXJ0IGxpc3RlIG1lZCBmaWxuYXZuLWVuZGVsc2VyLiBmLmVrcy46IHBkZixqcGcsZG9jJzsKJGxhbmdbJ2luZm9fZmluYWxfaW1wb3J0X2NvZGUnXSA9ICdEZSB2YWxndGUgZWxlbWVudGVuZSBmb3IgaW1wb3J0IGVyIHZpc3QgbmVkZW5mb3IuIEVsZW1lbnRlciBzb20gcmVwcmVzZW50ZXJlciBlbiBvdmVyc2tyaXZpbmcgZXIgdXRoZXZldCBpIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiB5ZWxsb3c7JnF1b3Q7PiBndWxlIDwvc3Bhbj4uIFZlbm5saWdzdCBiZWtyZWZ0IGF0IGR1IHZpcmtlbGlnICZvc2xhc2g7bnNrZXIgJmFyaW5nOyBnaiZvc2xhc2g7cmUgZGV0dGUgPGJyLz4gPHN0cm9uZz4gTWVyazo8L3N0cm9uZz4gRGV0IGVyIG11bGlnIGF0IG9tIGR1IGZvcnRzZXR0ZSBzJmFyaW5nOyBrYW4gZHUgb3ZlcnNrcml2ZSBneWxkaWdlIGZ1bmdlcmVuZGUgbWFsZXIgPGJyLz4NCjxzdHJvbmc+IE1lcms6PC9zdHJvbmc+IE5vZW4gbW9kdWxlciBzdCZvc2xhc2g7dHRlciBpa2tlIGZsZXJlIG1hbGVyIGZvciBodmVyIG1hbHR5cGUsIGRlcmZvciBrYW4gZGV0IHYmYWVsaWc7cmUgbiZvc2xhc2g7ZHZlbmRpZyAmYXJpbmc7IG92ZXJza3JpdmUgbm9lbiBtYWxlciBmb3IgJmFyaW5nOyBoYSBlZmZla3QgPGJyLz4uDQo8c3Ryb25nPiBNZXJrOjwvc3Ryb25nPiBEZW5uZSBtb2R1bGVuIHV0ZiZvc2xhc2g7cmVyIGlra2Ugbm9lbiBtb2RpZmlrYXNqb25lciBwJmFyaW5nOyBpbXBvcnRlcnRlIG1hbGVyIGZvciAmYXJpbmc7IHNlIGV0dGVyIHJlZmVyYW5zZXIgdGlsIHNpZGVyLCBlbGxlciBla3Npc3RlcmVuZGUgbW9kdWxrYWxsLiBEdSBtJmFyaW5nOyBrYW5za2plIGcmYXJpbmc7IGdqZW5ub20gaHZlciBtYWwgaW5kaXZpZHVlbHQgZm9yICZhcmluZzsgdGlscGFzc2UgZGVucyBvcHBmJm9zbGFzaDtyc2VsIHRpbCB3ZWJvbXImYXJpbmc7ZGV0IGRpdHQuJzsKJGxhbmdbJ2luZm9faW1wb3J0X2NvZGUnXSA9ICdUaWxsYXRlciBpbXBvcnQgYXYgdmFsZ3RlIEdDQnMsIFVEVHMgb2cgTW9kdWwgbWFsZXIgZnJhIGVuIFhNTC1maWwgPGJyLz4gPHN0cm9uZz4gTWVyazo8L3N0cm9uZz4gRGV0dGUgZXIgZXQgYXZhbnNlcnQgdmVya3Qmb3NsYXNoO3kuIERlbm5lIGZ1bmtzam9uZW4ga2FuIG92ZXJza3JpdmUgbWFsZXIgaW5uIGkgZXQgZWtzaXN0ZXJlbmRlIG5ldHRzdGVkLiBCcnVrIG1lZCBmb3JzaWt0aWdoZXQhJzsKJGxhbmdbJ2luZm9fc2Nhbm5lZF9maWxlJ10gPSAnTmVkZW5mb3IgZXIgZGV0IHNrYW5uZWRlIGlubmhvbGRldCBpIFhNTC1maWxlbiBzb20gYmxlIGFuZ2l0dC4gRHUga2FuIGZvcmgmYXJpbmc7bmRzdmlzZSBlbGVtZW50ZW5lIG9nIHZlbGdlIG5vZSAmYXJpbmc7IGltcG9ydGVyZS4gRHUga2FuIGV2ZW50dWVsdCBhbmdpIGV0IG55dHQgbmF2biBmb3IgaW1wb3J0ZXJ0ZSBtYWxlci4nOwokbGFuZ1snaW1wb3J0J10gPSAnSW1wb3J0ZXInOwokbGFuZ1snaW1wb3J0X2NvZGUnXSA9ICdJbXBvcnRlciBrb2RlJzsKJGxhbmdbJ2ltcG9ydF9jb250ZW50J10gPSAnSW1wb3J0ZXIgaW5uaG9sZCc7CiRsYW5nWydpbXBvcnRfbmFtZSddID0gJ0ltcG9ydGVyIG5hdm4nOwokbGFuZ1snbGlzdF9nY2JzJ10gPSAnR2xvYmFsZSBJbm5ob2xkc2Jsb2trZXIoR0NCKSc7CiRsYW5nWydsaXN0X3VkdHMnXSA9ICdCcnVrZXJkZWZpbmVydGUgdGFnZ2VyKFVzZXIgRGVmaW5lZCBUYWdzKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ2VuIG1vZHVsZSBtZWQgZWdlbnNrYXBlciBvZyB2ZXJrdCZvc2xhc2g7eSBmb3IgaGplbHBlIHRpbCBtZWQgYmVoYW5kbGluZyBhdiBpbm5ob2xkJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ21vZHVsZXMnXSA9ICdNb2R1bGVyJzsKJGxhbmdbJ21vZHVsZV90ZW1wbGF0ZSddID0gJ01vZHVsbWFsZXInOwokbGFuZ1snbXNnX2Jsb2NrYWRkZWQnXSA9ICdCbG9rayBibGUgdmVsbHlra2V0IGxhZ3QgdGlsJzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdCbG9ra3ZlcmRpZXIgb3BwZGF0ZXJ0JzsKJGxhbmdbJ21zZ19jYW5jZWxsZWQnXSA9ICdIYW5kbGluZyBhdmJydXR0JzsKJGxhbmdbJ21zZ19pbXBvcnRlZCddID0gJyVkIGVuaGV0ZXIgaW1wb3J0ZXJ0IGZyYSBYTUwnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snbmV3X2FsaWFzJ10gPSAnTnkgYWxpYXMnOwokbGFuZ1snbmV3X21lbnV0ZXh0J10gPSAnTnkgbWVueXRla3N0JzsKJGxhbmdbJ25ld19uYW1lJ10gPSAnTnl0dCBuYXZuJzsKJGxhbmdbJ25ld19wYXJlbnQnXSA9ICdOeSBmb3JlbGRyZSc7CiRsYW5nWyduZXh0J10gPSAnTmVzdGUnOwokbGFuZ1sncGFyZW50J10gPSAnRm9yZWxkcmUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR0NvbnRlbnRVdGlscyBtb2R1bGVuIGhhciBibGl0dCBpbnN0YWxsZXJ0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR0NvbnRlbnRVdGlscyBtb2R1bGVuIGhhciBibGl0dCBhdmluc3RhbGxlcnQnOwokbGFuZ1sncHJldmlldyddID0gJ0ZvcmgmYXJpbmc7bmRzdmlzbmluZyc7CiRsYW5nWydwcm9tcHQnXSA9ICdFdGlrZXR0JzsKJGxhbmdbJ3Byb21wdF9jb2xzJ10gPSAnS29sb25uZXInOwokbGFuZ1sncHJvbXB0X2RpciddID0gJ0thdGFsb2cgPGVtPihyZWxhdGl2IHRpbCB1cGxvYWRzLWthdGFsb2dlbik8L2VtPic7CiRsYW5nWydwcm9tcHRfZXhjbHVkZXByZWZpeCddID0gJ0Vrc2tsdWRlciBmaWxlciBtZWQgZGlzc2UgZmlsbmF2bi1lbmRlbHNlbmUnOwokbGFuZ1sncHJvbXB0X2ZpbGV0eXBlcyddID0gJ1RpbGxhdHRlIGZpbHR5cGVyJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGgnXSA9ICdMZW5nZGUnOwokbGFuZ1sncHJvbXB0X21heGxlbmd0aCddID0gJ01ha3NpbXVtIGxlbmdkZSc7CiRsYW5nWydwcm9tcHRfb3B0aW9ucyddID0gJ1ZhbGcnOwokbGFuZ1sncHJvbXB0X3BhZ2UnXSA9ICdTaWRlJzsKJGxhbmdbJ3Byb21wdF9yZWN1cnNlJ10gPSAnSW5rbHVkZXIgdW5kZXJrYXRhbG9nZXInOwokbGFuZ1sncHJvbXB0X3Jvd3MnXSA9ICdSYWRlcic7CiRsYW5nWydwcm9tcHRfc29ydGZpbGVzJ10gPSAnU29ydGVyIGZpbGVyIGV0dGVyIG5hdm4nOwokbGFuZ1sncHJvbXB0X3ZhbHVlJ10gPSAnVmVyZGknOwokbGFuZ1snc2NhbiddID0gJ1NrYW5uJzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdWZWxnIGFsbGUnOwokbGFuZ1snc3RhcnRfcGFnZSddID0gJ1N0YXJ0c2lkZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdVdGYmb3NsYXNoO3InOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VzYWdlJ10gPSAnQnJ1ayc7CiRsYW5nWyd1c2VyZGVmaW5lZF90YWcnXSA9ICdCcnVrZXJkZWZpbmVydCBUYWdnL1VzZXIgRGVmaW5lZCBUYWcgKFVEVCknOwokbGFuZ1sneG1sX2ZpbGUnXSA9ICdYTUwtZmlsJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5Njk0ODc5Ny4zNTU1LjgwLnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwNTI2MjMwODQxMTAxMDAuMTIxMDQyMzU3Ny4xMjk3NjI3MTg4LjEyOTc2MjkwMDUuMzU4Myc7CiRsYW5nWydxY2EnXSA9ICcxMjEwOTcxNjkwLTI3MzA4MDczLTgxOTUyODMyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4zLjEwLjEyOTc2MjkwMDUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0VlbiBuaWV1dyBibG9rIHRvZXZvZWdlbic7CiRsYW5nWydhZHZhbmNlZF9jb250ZW50X2NvcHknXSA9ICdHZWF2YW5jZWVyZGUgS29waWUgdmFuIGRlIEluaG91ZCc7CiRsYW5nWydhZHZhbmNlZF9jb3B5J10gPSAnR2VhdmFuY2VlcmRlIEtvcGllJzsKJGxhbmdbJ2Fza19kZWxldGVfYmxvY2snXSA9ICdXaWx0IHUgZGl0IGJsb2sgZWNodCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snYXNrX3JlYWxseV9pbXBvcnQnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBjb2RlIHdpbHQgaW1wb3J0ZXJlbiwgZ2V6aWVuIGRlIHdhYXJzY2h1d2luZ2VuIGhpZXJib3Zlbic7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgd2lsdCBkb2VuPyc7CiRsYW5nWydhdmFpbGFibGVfaXRlbXMnXSA9ICdCZXNjaGlrYmFyZSBJdGVtcyc7CiRsYW5nWydhdmFpbGFibGVfdGVtcGxhdGVzJ10gPSAnQmVzY2hpa2JhcmUgQ29kZSc7CiRsYW5nWydibG9ja3MnXSA9ICdCbG9ra2VuJzsKJGxhbmdbJ2Jsb2NrdHlwZV90ZXh0aW5wdXQnXSA9ICdUZWtzdCBJbnZvZXInOwokbGFuZ1snYmxvY2t0eXBlX3RleHRhcmVhJ10gPSAnVGVrc3RydWltdGUnOwokbGFuZ1snYmxvY2t0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gJzsKJGxhbmdbJ2Jsb2NrdHlwZV9jaGVja2JveCddID0gJ1Zpbmt2YWtqZSc7CiRsYW5nWydibG9ja3R5cGVfZmlsZV9zZWxlY3RvciddID0gJ0Jlc3RhbmQgU2VsZWN0aWUnOwokbGFuZ1snYmxvY2t0eXBlX3BhZ2VzZWxlY3RvciddID0gJ1BhZ2luYSBTZWxlY3RpZSc7CiRsYW5nWydibG9ja3R5cGVfcmFkaW9idXR0b25zJ10gPSAnUmFkaW8gQnV0dG9ucyAnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KICA8bGk+djEuMCAtIEp1bmUgMjAwOQ0KICAgIDx1bD4NCiAgICAgIDxsaT5Jbml0aWFsIFJlbGFzZTwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPnYxLjAuMiAtIEp1bHkgMjAxMA0KICAgIDx1bD4NCiAgICAgIDxsaT5BYmlsaXR5IHRvIHBlcnNlcnZlIGhpZXJhcmNoeSB3aGVuIGNvcHlpbmcgcGFyZW50cyBhbmQgY2hpbGRyZW4gKFRlZCk8L2xpPg0KICAgICAgPGxpPkFkZGVkIGNoZWNrIGZvciBwcm9wIGNvcHlpbmcgdG8ga2VlcCBFX05PVElDRSBoYXBweSAoVGVkKT48L2xpPg0KICAgICAgPGxpPk1pbm9yIGNoYW5nZSB0byBzYW1wbGUgdGFnIGluZm8uPC9saT4NCiAgICAgIDxsaT5BZGRzIHRoZSBwYWdlIHNlbGVjdG9yIGZpZWxkIHR5cGUuPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KPC91bD4NClRPRE8nOwokbGFuZ1snY29udGVudCddID0gJ0luaG91ZCc7CiRsYW5nWydjb250ZW50c19vZl9maWxlJ10gPSAnR2VzY2FuZGUgaW5ob3VkIHZhbiBoZXQgYmVzdGFuZCc7CiRsYW5nWydjb3B5J10gPSAnS29waWVlcic7CiRsYW5nWydkZWZhdWx0X3ZhbHVlJ10gPSAnU3RhbmRhYXJkIHdhYXJkZSc7CiRsYW5nWydkZWxldGUnXSA9ICdWZXJ3aWpkZXInOwokbGFuZ1snZWRpdCddID0gJ1dpanppZyc7CiRsYW5nWydlcnJvcl9icm9rZW5feG1sJ10gPSAnSGV0IGJlbm9lbWRlIFhNTC1iZXN0YW5kIGlzIG9uZ2VsZGlnJzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbmFtZSddID0gJ0RlIGJlbm9lbWRlIHRpdGVsIHZvb3IgaGV0IGtvcGkmZXVtbDtyZW4gaWQ9JWQgaXMgbmlldCBjb3JyZWN0JzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbWVudXRleHQnXSA9ICdEZSBiZW5vZW1kZSBtZW51dGVrc3Qgdm9vciBoZXQga29waSZldW1sO3JlbiBpZD0lZCBpcyBuaWV0IGNvcnJlY3QnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbSddID0gJ0VlbiB2ZXJwbGljaHRlIHBhcmFtZXRlciBpcyB2ZXJrZWVyZCBvZiBpcyBuaWV0IGFhbndlemlnJzsKJGxhbmdbJ2Vycm9yX25hbWVleGlzdHMnXSA9ICdFZW4gaXRlbSBtZXQgZGV6ZSBuYWFtIGJlc3RhYXQgYWwnOwokbGFuZ1snZXJyb3Jfbm9jb250ZW50c2VsZWN0ZWQnXSA9ICdFciBpcyBnZWVuIGluaG91ZCBnZXNlbGVjdGVlcmQnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdJdGVtIG5pZXQgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3Jfbm90aGluZ3RvaW1wb3J0J10gPSAnSGV0IGFhbmdlZ2V2ZW4gWE1MLWJlc3RhbmQgYmV2YXQgZ2VlbiBlbmtlbGUgaW5mb3JtYXRpZSBkaWUga2FuIHdvcmRlbiBnZSZpdW1sO21wb3J0ZWVyZCBpbiBkZXplIGluc3RhbGxhdGllIChnZWVuIGVua2VsZSBtb2R1bGUsIG9mIEdDQiYjMDM5O3Mgb2YgVURUJiMwMzk7cyknOwokbGFuZ1snZXJyb3Jfbm90aGluZ3NlbGVjdGVkJ10gPSAnRXIgemlqbiBnZWVuIGl0ZW1zIGdlc2VsZWN0ZWVyZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ05pZXQgdG9lZ2VzdGFhbic7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdCZXN0YW5kc3VwbG9hZCBtaXNsdWt0JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZG5vdGZvdW5kJ10gPSAnSGV0IGdlJnV1bWw7cGxvYWRlIGJlc3RhbmQga29uIG5pZXQgd29yZGVuIGdldm9uZGVuJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCAnOwokbGFuZ1snZXhwb3J0X2NoaWxkcmVuJ10gPSAnRXhwb3J0ZWVyIG9uZGVybGlnZ2VuZGUgcGFnaW5hJiMwMzk7cyc7CiRsYW5nWydleHBvcnRfY29kZSddID0gJ0V4cG9ydGVlciBDb2RlJzsKJGxhbmdbJ2V4cG9ydF9jb250ZW50J10gPSAnRXhwb3J0ZWVyIENvbnRlbnQnOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1snZmlsZSddID0gJ1hNTCBCZXN0YW5kJzsKJGxhbmdbJ2ZpbGVfc2VsZWN0b3InXSA9ICdCZXN0YW5kIFNlbGVjdGllICc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIENvbnRlbnQgVXRpbGl0aWVzICc7CiRsYW5nWydnbG9iYWxfY29udGVudF9ibG9jayddID0gJ0dsb2JhbCBDb250ZW50IEJsb2sgKEdDQiknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz8gPC9oMz4NCjxwPlRoaXMgbW9kdWxlIHdvcmtzIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSBhbmQgcHJvdmlkZXMgdmFyaW91cyBhZGl0aW9uYWwgZnVuY3Rpb25zIGFuZCB1dGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBDTVMgTWFkZSBTaW1wbGUmIzAzOTtzIGNvbnRlbnQgcGFnZXMuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCiAgPGxpPkV4cG9ydCBjb250ZW50IHBhZ2VzIHRvIFhNTDwvbGk+DQogIDxsaT5JbXBvcnQgY29udGVudCBwYWdlcyBmcm9tIFhNTDwvbGk+DQogIDxsaT5BbGxvd3MgQ3JlYXRpbmcgYW5kIG1hbmFnaW5nIHZhcmlvdXMgZGlmZmVyZW50IGNvbnRlbnQgYmxvY2tzIGZvciBlbWJlZGRpbmcgaW50byBDTVNNUyBwYWdlIHRlbXBsYXRlcy48L2xpPg0KICA8bGk+UHJvdmlkZXMgYnVsayBwYWdlIGNvcHkgY2FwYWJpbGl0eS48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHA+SWYgeW91IGFyZSBhbiBhdXRob3JpemVkIENNUyBNYWRlIFNpbXBsZSB3ZWIgc2l0ZSBhZG1pbmlzdHJhdG9yLCBhbmQgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZSB0byBtYW5hZ2UgYWxsIGNvbnRlbnQsIHRoZW4gdGhlICZhbXA7cXVpdDtDYWxndXlzIENvbnRlbnQgVXRpbGl0aWVzJnF1b3Q7IG1lbnUgaXRlbSBzaG91bGQgYXBwZWFyIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gcGFuZWwuICBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2YgdGFicywgaW5jbHVkaW5nOjwvcD4NCjx1bD4NCiAgPGxpPjx1PkJsb2NrczwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY3JlYXRpbmcgJnF1b3Q7bmFtZWQmcXVvdDsgYW5kIG1hbmFnaW5nIGNvbnRlbnQgYmxvY2tzIG9mIHZhcmlvdXMgdHlwZXMuICBUYWdzIGZvciB0aGVzZSBjb250ZW50IGJsb2NrcyBjYW4gdGhlbiBiZSBpbnNlcnRlZCBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLiAgVGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHB1dCBhZGRpdG9uYWwgY29udGVudCBibG9ja3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgb3IgY2hvb3NlIGRpZmZlcmVudCBkYXRhIHdoaWNoIG1heSBoYXZlIGEgcmVzdWx0IG9uIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwYWdlLjwvcD4NCiAgPHA+Rm9yIGV4YW1wbGUsIGEgY29udGVudCBibG9jayBvZiB0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7IGNvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2V0aGVyIGFuIGltYWdlIGlzIHRvIGJlIGRpc3BsYXllZCBvciBub3QuPC9wPg0KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PkltcG9ydDwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gaW1wb3J0IG9uZSBvciBtb3JlIGNvbnRlbnQgcGFnZXMgZnJvbSBhbiBYTUwgZmlsZSB0aGF0IHdhcyBjcmVhdGVkIGJ5IHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eS4gICBVc2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkgeW91IGNhbiBlYXNpbHkgbWlncmF0ZSBpbmZvcm1hdGlvbiBmcm9tIG9uZSB3ZWJzaXRlIHRvIGFub3RoZXIuPHA+DQogIDwvbGk+DQogIDxsaT48dT5FeHBvcnQ8L3U+DQogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNob29zZSBhIHNpbmdsZSBwYWdlIGZyb20gYSBkcm9wZG93biB0byBleHBvcnQgdG8gWE1MIGZvcm1hdC4gIFlvdSBjYW4gYWxzbyBpbmRpY2F0ZSB3ZXRoZXIgdGhlIGNoaWxkcmVuIG9mIHRoZSBzZWxlY3RlZCBwYWdlIHNob3VsZCBiZSBleHBvcnRlZC4gIENsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIHdpbGwgcHJvbXB0IHlvdSB0byBkb3dubG9hZCB0aGUgWE1MIGZpbGUuPC9wPg0KICA8cD5UaGUgZ2VuZXJhdGVkIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gaW1hZ2VzLCBvciBwYWdlIHRlbXBsYXRlcywgb3IgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBldGMuICBJdCBvbmx5IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaW91cyBjb250ZW50IG9iamVjdHMsIGFuZCB0aGVpciB2YWx1ZXMuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxwPkFkZGl0aW9uYWxseSwgdGhpcyBtb2R1bGUgYWRkcyBhIGJ1bGsgYWN0aW9uIHRvIHRoZSBjb250ZW50IG1hbmFnZW1lbnQgcGFnZSwgd2hpY2ggc2hvdWxkIGJlIHZpc2libGUgaWYgeW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uICBUaGlzIGJ1bGsgYWN0aW9uIGFsbG93cyBzZWxlY3RpbmcgbXVsdGlwbGUgcGFnZXMsIGFuZCBjcmVhdGluZyBhIHNpbmdsZSBjb3B5IG9mIGVhY2ggb2YgdGhlIHNlbGVjdGVkIHBhZ2VzLDwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2luZm9fYXZhaWxhYmxlX2l0ZW1zJ10gPSAnU2VsZWN0ZWVyIGVlbiBpdGVtIGhpZXJvbmRlciBvbSB0ZSB6aWVuIHdlbGtlIHNqYWJsb25lbiBvZiBjb2RlIGVyIGdlJmV1bWw7eHBvcnRlZXJkIGt1bm5lbiB3b3JkZW4nOwokbGFuZ1snaW5mb19ibG9ja25hbWUnXSA9ICdHZWJydWlrIGFsbGVlbiBhbHBoYW51bWVyaWVrZSBrYXJha3RlcnMsIHVuZGVyc2NvcmVzIGVuIGRhc2hlcyc7CiRsYW5nWydpbmZvX2Jsb2NrcHJvbXB0J10gPSAnQmVub2VtIGVlbiBsZWVzYmFyZSB0ZWtzdCc7CiRsYW5nWydpbmZvX2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdCZW5vZW0gZGUgb3B0aWVzIHZvb3IgZGUgZHJvcGRvd24uICBFZW4gb3B0aWUgcGVyIHJlZ2VsLiAgQmVub2VtIHdhYXJkZW4gdm9vciBpZWRlcmUgb3B0aWUgZG9vciBoZXQgdGUgc2NoZWlkZW4gbWV0IGRlIHBpcGUga2FyYWt0ZXInOwokbGFuZ1snaW5mb19leGNsdWRlcHJlZml4J10gPSAnTmVnZWVyIGJlc3RhbmRlbiBtZXQgZGV6ZSBwcmVmaXggKGtvbW1hIGdlc2NoZWlkZW4gbGlqc3QpJzsKJGxhbmdbJ2luZm9fZXhwb3J0X2NvZGUnXSA9ICdFeHBvcnRlZXIgZ2VzZWxlY3RlZXJkZSBnbG9iYWxlIGNvbnRlbnQgYmxva2tlbiBlbiBtb2R1bGVzamFibG9uZW4gbmFhciBlZW4gWE1MLWJlc3RhbmQgdm9vciBoZXQgZ2VicnVpayBvcCBlZW4gYW5kZXJlIHdlYnNpdGUuJzsKJGxhbmdbJ2luZm9fZmlsZXR5cGVzJ10gPSAnU3BlY2lmaWNlZXIgZWVuIGtvbW1hIGdlc2NoZWlkZW4gbGlqc3QgdmFuIGV4dGVudGllcywgYmlqdi46IHBkZixqcGcsZG9jJzsKJGxhbmdbJ2luZm9fZmluYWxfaW1wb3J0X2NvZGUnXSA9ICdUaGUgaXRlbXMgc2VsZWN0ZWQgZm9yIGltcG9ydCAgYXJlIGJlIGRpc3BsYXllZCBiZWxvdy4gIEl0ZW1zIHRoYXQgcmVwcmVzZW50IGFuIG92ZXJ3cml0ZSBhcmUgaGlsaWdodGVkIGluIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiB5ZWxsb3c7JnF1b3Q7PnllbGxvdzwvc3Bhbj4uIFBsZWFzZSBjb25maXJtIHRoYXQgeW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXMuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIGJ5IGNvbnRpbnVpbmcgdGhhdCB5b3UgbWF5IG92ZXJ3cml0ZSB2YWxpZCB3b3JraW5nIHRlbXBsYXRlcy48YnIvPg0KPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBTb21lIG1vZHVsZXMgZG8gbm90IHN1cHBvcnQgbXVsdGlwbGUgdGVtcGxhdGVzIGZvciBlYWNoIHRlbXBsYXRlIHR5cGUsIHRoZXJlZm9yZSBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRvIG92ZXJ3cml0ZSBzb21lIHRlbXBsYXRlcyBmb3IgdGhlbSB0byBoYXZlIGFueSBlZmZlY3QuPGJyLz4NCjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgZG9lcyBub3QgcGVyZm9ybSBhbnkgbW9kaWZpY2F0aW9ucyB0byB0aGUgaW1wb3J0ZWQgdGVtcGxhdGVzIHRvIGNoZWNrIGZvciByZWZlcmVuY2VzIHRvIHBhZ2VzLCBvciBleGlzdGluZyBtb2R1bGUgY2FsbHMuICBZb3UgbWF5IGhhdmUgdG8gdmlzaXQgZWFjaCB0ZW1wbGF0ZSBpbmRpdmlkdWFsbHkgdG8gY3VzdG9taXplIGl0cyBiZWhhdmlvciBmb3IgeW91ciBzaXRlLic7CiRsYW5nWydpbmZvX2ltcG9ydF9jb2RlJ10gPSAnU3RhIGhldCBpbXBvcnRlcmVuIHZhbiBnZXNlbGVjdGVlcmRlIEdDQiYjMDM5O3MsIFVEVCYjMDM5O3MgZW4gTW9kdWxlc2phYmxvbmVuIHRvZSB2YW51aXQgZWVuIFhNTC1iZXN0YW5kLjxici8+PHN0cm9uZz5PcG1lcmtpbmc6PC9zdHJvbmc+IERpdCBpcyBlZW4gZ2VhdmFuY2VlcmRlIHRvb2wuICBEZXplIGZ1bmN0aWUgc3RhYXQgaGV0IG92ZXJzY2hyaWp2ZW4gdmFuIHNqYWJsb25lbiB0b2Ugb3AgZWVuIGJlc3RhYW5kZSBzaXRlLiAgR2VicnVpayBkaXQgem9yZ3Z1bGRpZyEnOwokbGFuZ1snaW5mb19zY2FubmVkX2ZpbGUnXSA9ICdIaWVyb25kZXIgdmluZHQgdSBkZSBnZXNjYW5kZSBpbmhvdWQgdmFuIGhldCBiaWpnZXZvZWdkZSBYTUwtYmVzdGFuZC4gVSB3aWx0IG1pc3NjaGllbiBlZW4gdm9vcnZlcnRvbmluZyB2YW4gZGUgZ2Vub2VtZGUgaXRlbXMgZW4gc29tbWlnZSBzZWxlY3RlcmVuIG9tIHRlIGltcG9ydGVyZW4gIFUga3VudCBkZXNnZXdlbnN0IG9vayBlZW4gbmlldXdlIG5hYW0gdG9la2VubmVuIGFhbiBnZSZpdW1sO21wb3J0ZWVyZGUgc2phYmxvbmVuLic7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnRlZXInOwokbGFuZ1snaW1wb3J0X2NvZGUnXSA9ICdJbXBvcnRlZXIgQ29kZSc7CiRsYW5nWydpbXBvcnRfY29udGVudCddID0gJ0ltcG9ydGVlciBDb250ZW50JzsKJGxhbmdbJ2ltcG9ydF9uYW1lJ10gPSAnSW1wb3J0IE5hYW0nOwokbGFuZ1snbGlzdF9nY2JzJ10gPSAnSFRNTC1ibG9ra2VuJzsKJGxhbmdbJ2xpc3RfdWR0cyddID0gJ0dlYnJ1aWtlcnNnZWRlZmluaWVlcmRlIFRhZ3MnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFZW4gbW9kdWxlIG1ldCB1dGlsaXRpZXMgZW4gdG9vbHMgZGllIG9uZGVyc3RldW5lbiBiaWogaGV0IGJld2Vya2VuIHZhbiBwYWdpbmFpbmhvdWQnOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlICc7CiRsYW5nWydtb2R1bGVzJ10gPSAnTW9kdWxlcyAnOwokbGFuZ1snbW9kdWxlX3RlbXBsYXRlJ10gPSAnTW9kdWxlIFNqYWJsb29uJzsKJGxhbmdbJ21zZ19ibG9ja2FkZGVkJ10gPSAnQmxvayB0b2VnZXZvZWdkJzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdCbG9rd2FhcmRlbiBhYW5nZXBhc3QnOwokbGFuZ1snbXNnX2NhbmNlbGxlZCddID0gJ09wZXJhdGllIGdlYW5udWxlZXJkJzsKJGxhbmdbJ21zZ19pbXBvcnRlZCddID0gJyVkIGl0ZW1zIGdlJml1bWw7bXBvcnRlZXJkIHVpdCBYTUwnOwokbGFuZ1snbmFtZSddID0gJ05hYW0nOwokbGFuZ1snbmV3X2FsaWFzJ10gPSAnTmlldXdlIEFsaWFzJzsKJGxhbmdbJ25ld19tZW51dGV4dCddID0gJ05pZXV3ZSBNZW51VGVrc3QnOwokbGFuZ1snbmV3X25hbWUnXSA9ICdOaWV1d2UgTmFhbSc7CiRsYW5nWyduZXdfcGFyZW50J10gPSAnTmlldXdlIFBhcmVudCc7CiRsYW5nWyduZXh0J10gPSAnVm9sZ2VuZGUnOwokbGFuZ1sncGFyZW50J10gPSAnQm92ZW5saWdnZW5kJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgQ0dDb250ZW50VXRpbHMgbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgQ0dDb250ZW50VXRpbHMgbW9kdWxlIGlzIGdlZGUmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3ByZXZpZXcnXSA9ICdWb29ydmVydG9uaW5nJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Rla3N0JzsKJGxhbmdbJ3Byb21wdF9jb2xzJ10gPSAnS29sb21tZW4nOwokbGFuZ1sncHJvbXB0X2RpciddID0gJ0RpcmVjdG9yeSA8ZW0+KHJlbGF0aWVmIGFhbiBkZSB1cGxvYWRzIGRpcmVjdG9yeSk8L2VtPic7CiRsYW5nWydwcm9tcHRfZXhjbHVkZXByZWZpeCddID0gJ05lZ2VlciBiZXN0YW5kZW4gbWV0IGRlemUgcHJlZml4JzsKJGxhbmdbJ3Byb21wdF9maWxldHlwZXMnXSA9ICdUb2VnZXN0YW5lIGJlc3RhbmR0eXBlbic7CiRsYW5nWydwcm9tcHRfbGVuZ3RoJ10gPSAnTGVuZ3RlJzsKJGxhbmdbJ3Byb21wdF9tYXhsZW5ndGgnXSA9ICdNYXhpbWFsZSBMZW5ndGUnOwokbGFuZ1sncHJvbXB0X29wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1sncHJvbXB0X3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncHJvbXB0X3JlY3Vyc2UnXSA9ICdSZWN1cnNpZWYgaW4gZGUgU3ViZGlyZWN0b3JpZXMnOwokbGFuZ1sncHJvbXB0X3Jvd3MnXSA9ICdSZWdlbHMnOwokbGFuZ1sncHJvbXB0X3NvcnRmaWxlcyddID0gJ1NvcnRlZXIgYmVzdGFuZGVuIGJpaiBuYWFtJzsKJGxhbmdbJ3Byb21wdF92YWx1ZSddID0gJ1dhYXJkZSc7CiRsYW5nWydzY2FuJ10gPSAnU2NhbiAnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ0FsbGVzIHNlbGVjdGVyZW4nOwokbGFuZ1snc3RhcnRfcGFnZSddID0gJ1N0YXJ0IFBhZ2luYSc7CiRsYW5nWydzdWJtaXQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VzYWdlJ10gPSAnR2VicnVpayc7CiRsYW5nWyd1c2VyZGVmaW5lZF90YWcnXSA9ICdHZWJydWlrZXJzZ2VkZWZpbmllZXJkZSBUYWcgKFVEVCknOwokbGFuZ1sneG1sX2ZpbGUnXSA9ICdYTUwgQmVzdGFuZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NTIyMjEyNzEuMTI4NzQ3OTA5Mi4xMjk0MjU5MzYyLjEyOTQyOTUwMzEuNzUnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjk0MjU5MzYyLjc0LjUzLnV0bWNzcj1tYW1tYW1pYWRlbXVzaWNhbC5ubHx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9hZG1pbi9pbmRleC5waHAnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTYxMDMxODk3LTEyODc0NzkwOTIxNzEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ0FkYXVnYXJlIGJsb2Mgbm91JzsKJGxhbmdbJ2FkdmFuY2VkX2NvbnRlbnRfY29weSddID0gJ0NvcGllcmUgYXZhbnNhdGEgY29udGludXQnOwokbGFuZ1snYWR2YW5jZWRfY29weSddID0gJ0NvcGllcmUgYXZhbnNhdGEnOwokbGFuZ1snYXNrX2RlbGV0ZV9ibG9jayddID0gJ1NpZ3VyIGRvcml0aSBzYSBzdGVyZ2V0aSBhY2VzdCBibG9jPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1NpZ3VyIGRvcml0aSBzYSBmYWNldGkgYWNlc3QgbHVjcnU/JzsKJGxhbmdbJ2Jsb2NrcyddID0gJ0Jsb2N1cmknOwokbGFuZ1snYmxvY2t0eXBlX3RleHRpbnB1dCddID0gJ0NhbXAgaW50cm9kdWNlcmUgdGV4dCc7CiRsYW5nWydibG9ja3R5cGVfdGV4dGFyZWEnXSA9ICdBcmllIHRleHQnOwokbGFuZ1snYmxvY2t0eXBlX2Ryb3Bkb3duJ10gPSAnQ2FtcCBEcm9wZG93biAnOwokbGFuZ1snYmxvY2t0eXBlX2NoZWNrYm94J10gPSAnQ2FzdXRhIHNlbGVjdGllJzsKJGxhbmdbJ2Jsb2NrdHlwZV9yYWRpb2J1dHRvbnMnXSA9ICdCdXRvYW5lIHJhZGlvJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FudWxhcmUnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KICA8bGk+djEuMCAtIEl1bmllIDIwMDkNCiAgICA8dWw+DQogICAgICA8bGk+UmVsZWFzZSBpbml0aWFsPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KDQo8L3VsPg0KVE9ETyc7CiRsYW5nWydjb3B5J10gPSAnQ29waWVyZSc7CiRsYW5nWydkZWZhdWx0X3ZhbHVlJ10gPSAnVmFsb2FyZSBpbXBsaWNpdGEnOwokbGFuZ1snZGVsZXRlJ10gPSAnU3RlcmdlcmUnOwokbGFuZ1snZWRpdCddID0gJ0VkaXRhcmUnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9uYW1lJ10gPSAnVGl0bHVsIHNwZWNpZmljYXQgcGVudHJ1IGNvcGllcmUgaWQ9JWQgZXN0ZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbWVudXRleHQnXSA9ICdUZXh0dWwgZGUgbWVuaXUgc3BlY2lmaWNhdCBwZW50cnUgY29waWVyZSBpZD0lZCBlc3RlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbSddID0gJ1VuIHBhcmFtZXRydSBjZXJ1dCBsaXBzZXN0ZSBzYXUgZXN0ZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX25hbWVleGlzdHMnXSA9ICdVbiBvYmllY3QgY3UgYWNlc3QgbnVtZSBleGlzdGEgZGVqYSc7CiRsYW5nWydlcnJvcl9ub2NvbnRlbnRzZWxlY3RlZCddID0gJ051IGEgZm9zdCBzZWxlY3RhdCBjb250aW51dCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ0FjY2VzIGludGVyemlzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1VwbG9hZCBmaXNpZXIgZXN1YXQnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0ICc7CiRsYW5nWydleHBvcnRfY2hpbGRyZW4nXSA9ICdFeHBvcnQgY29waWknOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1snZmlsZSddID0gJ0Zpc2llciBYTUwnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVXRpbGl0YXJlIGRlIGNvbnRpbnV0IENhbGd1eXMnOwokbGFuZ1snaGVscCddID0gJzxoMz5DZSBmYWNlIGFjZXN0YT88L2gzPg0KPHA+QWNlc3QgbW9kdWwgbHVjcmVhemEgaW4gY29uc29sYSBkZSBhZG1pbmlzdHJhcmUgYSBDTVMgTWFkZSBTaW1wbGUgc2kgb2ZlcmEgdmFyaWF0ZSBmdW5jdGlpIGFkaXRpb25hbGUgc2kgdXRpbGl0YXRpIHBlbnRydSBsdWNydWwgY3UgcGFnaW5pbGUgZGUgY29udGludXQgZGluIENNUyBNYWRlIFNpbXBsZS48L3A+DQo8aDM+Q2FyYWN0ZXJpc3RpY2k8L2gzPg0KPHVsPg0KICA8bGk+RXhwb3J0IHBhZ2luaSBjb250aW51dCBpbiBYTUw8L2xpPg0KICA8bGk+SW1wb3J0IHBhZ2luaSBjb250aW51dCBkaW4gWE1MPC9saT4NCiAgPGxpPlBlcm1pdGUgY3JlYXJlYSBzaSBhZG1pbmlzdHJhcmVhIGEgdmFyaWF0ZSBibG9jdXJpIGRlIGNvbnRpbnV0IHBlbnRydSBpbnNlcmFyZWEgaW4gdGVtcGxhdGUtdXJpbGUgZGUgcGFnaW5pIENNU01TLjwvbGk+DQogIDxsaT5PZmVyYSBwb3NpYmlsaXRhdGVhIGNvcGllcmlpIGRlIHBhZ2luaSBpbiBncnVwLjwvbGk+DQo8L3VsPg0KPGgzPkN1bSBzZSBmb2xvc2VzdGU8L2gzPg0KPHA+RGFjYSBhdmV0aSBwZXJtbWlzaXVuaWxlIG5lY2VzYXJlIHBlbnRydSBhZG1pbmlzdHJhcmVhIGludHJlZ3VsdWkgY29udGludXQsIGF0dW5jaSBpbnRyYXJlYSBkZSBtZW5pdSAmYW1wO3F1aXQ7VXRpbGl0YXJlIGRlIGNvbnRpbnV0IENhbGd1eXMmcXVvdDsgYXIgdHJlYnVpIHNhIGFwYXJhLiBWZXRpIHZlZGVhIHVuIG51bWFyIGRlIHRhYnVyaSBpbmNsdXphbmQ6PC9wPg0KPHVsPg0KICA8bGk+PHU+QmxvY3VyaTwvdT4NCiAgPHA+QWNlc3QgdGFiIG9mZXJhIGZ1bmN0aW9uYWxpdGF0aSBwZW50cnUgY3JlYXJlIGJsb2N1cmkgJnF1b3Q7bnVtaXRlJnF1b3Q7IHNpIGFkbWluaXN0cmFyZSBibG9jdXJpIGRlIGNvbnRpbnV0IGRlIGRpZmVyaXRlIHRpcHVyaS4gRXRpY2hldGVsZSBwZW50cnUgYWNlc3RlIGJsb2N1cmkgZGUgY29udGludXQgcG90IGZpIGluc2VyYXRlIGluIHRlbXBsYXRlLXVyaWxlIHBhZ2luaWxvciBDTVNNUy4gT2ZlcmEgcG9zaWJpbGl0YXRlYSBhZGF1Z2FyaWkgZGUgYmxvY3VyaSBkZSBjb250aW51dCBhZGl0aW9uYWxlIGluIHRlbXBsYXRlLXVyaWxlIGRlIHBhZ2luaSBwZW50cnUgYSBwZXJtaXRlIHV0aWxpemF0b3JpbG9yIHNhIGludHJvZHVjYSBzYXUgc2EgYWxlYWdhIGRhdGUgZGlmZXJpdGUgY2FyZSBhciBwdXRlYSBhdmVhIHJlenVsdGF0ZSBpbiBtb2R1bCBkZSBhZmlzYXJlIGFsIHBhZ2luaWkuPC9wPg0KICA8cD5EZSBleGVtcGx1LCB1biBsb2JjIGRlIGNvbnRpbnV0IGRlIHRpcHVsICZxdW90O2Nhc3V0IGRlIHNlbGVjdGllJnF1b3Q7IGFyIHB1dGVhIGZpIGZvbG9zaXQgcGVudHJ1IGEgaW5kaWNhIGRhY2Egc2UgdmEgYWZpc2EgbyBpbWFnaW5lIHNhdSBudS48L3A+DQogIDxwPkFjZWFzdGEgZXN0ZSBvIGNhcmFjdGVyaXN0aWNhIGF2YW5zYXRhLCBzaSB1dGlsaXphcmVhIGVpIGNlcmUgc2EgZml0aSBmYW1pbGlhcmkgY3UgbW90b3J1bCBkZSB0ZW1wbGF0ZSBzbWFydHkgZm9sb3NpdCBkZSBDTVNNUy48L3A+DQogIDwvbGk+DQogIDxsaT48dT5JbXBvcnQ8L3U+DQogIDxwPkFjZXN0IHRhYiBvZmVyYSBhYmlsaXRhdGVhIGRlIGEgaW1wb3J0YSB1bmEgc2F1IG1haSBtdWx0ZSBwYWdpbmkgZGUgY29udGludXQgZGludHItdW4gZmlzaWVyIFhNTCBjcmVhdCBkZSBjYXRyZSBmdW5jdGlvbmFsaXRhdGVhIGRlIGV4cG9ydC4gRm9sb3NpbmQgYWNlYXN0YSBmdW5jdGlvbmFsaXRhdGUgcHV0ZXRpIG1pZ3JhIGluZm9ybWF0aWkgZGUgcGUgdW4gc2l0IHBlIGFsdHVsLjxwPg0KICA8L2xpPg0KICA8bGk+PHU+RXhwb3J0PC91Pg0KICA8cD5BY2VzdCB0YWIgb2ZlcmEgYWJpbGl0YXRlYSBkZSBhIGFsZWdlIG8gcGFnaW5hIGRpbnRyLXVuIGNhbXAgZHJvcGRvd24gcGVudHJ1IGV4cG9ydCBpbiBmb3JtYXR1bCBYTUwuIFB1dGV0aSBkZWFzZW1lbmVhIHNhIGluZGljYXRpIGRhY2EgY29waWlpIHBhZ2luaWkgc2VsZWN0YXRlIGFyIHRyZWJ1aSBzYSBmaWUgZXhwb3J0YXRpLiBEYW5kIGNsaWMgcGUgYnV0b251bCBkZSBleHBvcnQgdmV0aSBkZXNjYXJjYSBmaXNpZXJ1bCBYTUwgZ2VuZXJhdC48L3A+DQogIDxwPkZpc2llcnVsIFhNTCBnZW5lcmF0IG51IGNvbnRpbmUgaW1hZ2luaSBzYXUgdGVtcGxhdGUtdXJpbGUgZGUgcGFnaW5hLCBzYXUgYmxvY3VyaWxlIGdsb2JhbGUgZGUgY29udGludXQsIGV0Yy4gQ29udGluZSBudW1haSBjb250aW51dHVsIG9iaWVjdGVsb3IgZGUgY29udGludXQgc2kgdmFsb3JpbGUgbG9yLjwvcD4NCiAgPC9saT4NCjwvdWw+DQo8cD5BZGl0aW9uYWwsIGFjZXN0IG1vZHVsIGFkYXVnYSBvIGFjdGl1bmUgZGUgZ3J1cCBwYWdpbmlpIGRlIGFkbWluaXN0cmFyZSBjb250aW51dCwgY2FyZSBhciB0cmVidWkgc2EgZmllIHZpemliaWxhIGRhY2EgYXZldGkgcGVybWlzaXVuaWxlIG5lY2VzYXJlLiBBY2Vhc3RhIGFjdGl1bmUgZGUgZ3J1cCBwZXJtaXRlIHNlbGVjdGFyZWEgbWFpIG11bHRvcCBwYWdpbmkgc2kgY3JlYXJlYSBjYXRlIHVuZWkgY29waWkgcGVudHJ1IGZpZWNhcmUgcGFnaW5hIHNlbGVjdGF0YS48L3A+DQoNCjxoMz5TdXBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaW5mb19ibG9ja25hbWUnXSA9ICdGb2xvc2l0aSBudW1haSBjYXJhY3RlcmUgYWxmYW51bWVyaWNlLCBsaW5pdXRlIGRlIHN1YmxpbmllcmUgc2kgbGluaXV0ZSc7CiRsYW5nWydpbmZvX2Jsb2NrcHJvbXB0J10gPSAnU3BlY2lmaWNhdGkgdW4gbWVzYWogcGVudHJ1IHV0aWxpemF0b3JpJzsKJGxhbmdbJ2luZm9fZHJvcGRvd25fb3B0aW9ucyddID0gJ1NwZWNpZmljYXRpIG9wdGl1bmlsZSBwZW50cnUgZHJvcGRvd24uICBPIG9wdGl1bmUgcGVyIGxpbmllLiAgU3BlY2lmaWNhdGkgdmFsb3JpIHBlbnRydSBmaWVjYXJlIG9wdGl1bmUgc2VwYXJhbmR1LWxlIGN1IGNhcmFjdGVydWwgcGlwZSAoIHwgKSc7CiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnQgJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWwgY3UgdXRpbGl0YXJlIHNpIHVuZWx0ZSBjYXJlIGFqdXRhIGluIG1hbmFnZW1lbnR1bCBjb250aW51dHVsdWknOwokbGFuZ1snbXNnX2Jsb2NrYWRkZWQnXSA9ICdCbG9jIGFkYXVnYXQgY3Ugc3VjY2VzJzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdWYWxvcmlsZSBibG9jdWx1aSBhdSBmb3N0IGFjdHVhbGl6YXRlJzsKJGxhbmdbJ25hbWUnXSA9ICdOdW1lJzsKJGxhbmdbJ25ld19hbGlhcyddID0gJ0FsaWFzIG5vdSc7CiRsYW5nWyduZXdfbWVudXRleHQnXSA9ICdUZXh0IG1lbml1IG5vdSc7CiRsYW5nWyduZXdfbmFtZSddID0gJ051bWUgbm91JzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmludGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bHVsIENHQ29udGVudFV0aWxzIGEgZm9zdCBpbnN0YWxhdCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWx1bCBDR0NvbnRlbnRVdGlscyBhIGZvc3QgZGV6aW5zdGFsYXQnOwokbGFuZ1sncHJvbXB0J10gPSAnTWVzYWonOwokbGFuZ1sncHJvbXB0X2NvbHMnXSA9ICdDb2xvYW5lJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGgnXSA9ICdMdW5naW1lJzsKJGxhbmdbJ3Byb21wdF9tYXhsZW5ndGgnXSA9ICdMdW5naW1lIG1heGltYSc7CiRsYW5nWydwcm9tcHRfb3B0aW9ucyddID0gJ09wdGl1bmknOwokbGFuZ1sncHJvbXB0X3Jvd3MnXSA9ICdSYW5kdXJpJzsKJGxhbmdbJ3Byb21wdF92YWx1ZSddID0gJ1ZhbG9hcmUnOwokbGFuZ1snc3RhcnRfcGFnZSddID0gJ1BhZ2luYSBzdGFydCc7CiRsYW5nWydzdWJtaXQnXSA9ICdUcmltaXRlcmUnOwokbGFuZ1sndHlwZSddID0gJ1RpcCc7CiRsYW5nWyd1c2FnZSddID0gJ0ZvbG9zaXJlJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTUyNjAzNzM1MC4xMjUxOTU5MzQzLjEyNTE5NzUwNTMuMTI1MTk3NzUwNS4zJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUxOTU5MzQzLjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21hZGVzaW1wbGUnOwokbGFuZ1sncWNhJ10gPSAnUDAtOTAxNjUzNDczLTEyNTE5NTkzNDI3MjknOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZF9ibG9jayddID0gJ1ByaWRhxaUgbm92JnlhY3V0ZTsgYmxvayc7CiRsYW5nWydhZHZhbmNlZF9jb250ZW50X2NvcHknXSA9ICdSb3omc2Nhcm9uOyZpYWN1dGU7cmVuJmVhY3V0ZTsga29wJmlhY3V0ZTtyb3ZhbmllIG9ic2FodSc7CiRsYW5nWydhZHZhbmNlZF9jb3B5J10gPSAnUm96JnNjYXJvbjsmaWFjdXRlO3JlbiZlYWN1dGU7IGtvcCZpYWN1dGU7cm92YW5pZSc7CiRsYW5nWydhc2tfZGVsZXRlX2Jsb2NrJ10gPSAnU2t1dG/EjW5lIGNoY2V0ZSBvZHN0ciZhYWN1dGU7bmnFpSB0ZW50byBibG9rPyc7CiRsYW5nWydhc2tfcmVhbGx5X2ltcG9ydCddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOywgxb5lIGNoY2V0ZSBpbXBvcnRvdmHFpSB0ZW50byBrJm9hY3V0ZTtkLCBuYXByaWVrIHVwb3pvcm5lbmlhbSB1dmVkZW4meWFjdXRlO20gdnkmc2Nhcm9uOyZzY2Fyb247aWUnOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTs/JzsKJGxhbmdbJ2F2YWlsYWJsZV9pdGVtcyddID0gJ0Rvc3R1cG4mZWFjdXRlOyBwb2xvxb5reSc7CiRsYW5nWydhdmFpbGFibGVfdGVtcGxhdGVzJ10gPSAnRG9zdHVwbiZ5YWN1dGU7IGsmb2FjdXRlO2QnOwokbGFuZ1snYmxvY2tzJ10gPSAnQmxva3knOwokbGFuZ1snYmxvY2t0eXBlX3RleHRpbnB1dCddID0gJ1Rlc3RvdiZlYWN1dGU7IHBvbGUnOwokbGFuZ1snYmxvY2t0eXBlX3RleHRhcmVhJ10gPSAnVGV4dG92JmFhY3V0ZTsgb2JsYXPFpSc7CiRsYW5nWydibG9ja3R5cGVfZHJvcGRvd24nXSA9ICdWJnlhY3V0ZTtiZXJvdiZlYWN1dGU7IHBvbGUnOwokbGFuZ1snYmxvY2t0eXBlX2NoZWNrYm94J10gPSAnWmEmc2Nhcm9uO3J0JmFhY3V0ZTt2YWNpZSBwb2xlJzsKJGxhbmdbJ2Jsb2NrdHlwZV9maWxlX3NlbGVjdG9yJ10gPSAnViZ5YWN1dGU7YmVyb3YmZWFjdXRlOyBwb2xlIHByZSDFm3Vib3InOwokbGFuZ1snYmxvY2t0eXBlX3BhZ2VzZWxlY3RvciddID0gJ1YmeWFjdXRlO2JlciBzdHImYWFjdXRlO25vayc7CiRsYW5nWydibG9ja3R5cGVfcmFkaW9idXR0b25zJ10gPSAnUmFkaW8gdGxhxI0maWFjdXRlO3RrYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2nFpSc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQogIDxsaT52MS4wIC0gSnVuZSAyMDA5DQogICAgPHVsPg0KICAgICAgPGxpPkluaXRpYWwgUmVsYXNlPC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KICA8bGk+djEuMC4yIC0gSnVseSAyMDEwDQogICAgPHVsPg0KICAgICAgPGxpPkFiaWxpdHkgdG8gcGVyc2VydmUgaGllcmFyY2h5IHdoZW4gY29weWluZyBwYXJlbnRzIGFuZCBjaGlsZHJlbiAoVGVkKTwvbGk+DQogICAgICA8bGk+QWRkZWQgY2hlY2sgZm9yIHByb3AgY29weWluZyB0byBrZWVwIEVfTk9USUNFIGhhcHB5IChUZWQpPjwvbGk+DQogICAgICA8bGk+TWlub3IgY2hhbmdlIHRvIHNhbXBsZSB0YWcgaW5mby48L2xpPg0KICAgICAgPGxpPkFkZHMgdGhlIHBhZ2Ugc2VsZWN0b3IgZmllbGQgdHlwZS48L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQo8L3VsPg0KVE9ETyc7CiRsYW5nWydjb250ZW50J10gPSAnT2JzYWgnOwokbGFuZ1snY29udGVudHNfb2ZfZmlsZSddID0gJ05hc2tlbm92YW4mZWFjdXRlOyBvYnNhaHkgcyZ1YWN1dGU7Ym9yYSc7CiRsYW5nWydjb3B5J10gPSAnS29wJmlhY3V0ZTtyb3ZhxaUnOwokbGFuZ1snZGVmYXVsdF92YWx1ZSddID0gJ1ByZWRuYXN0YXZlbiZhYWN1dGU7IGhvZG5vdGEnOwokbGFuZ1snZGVsZXRlJ10gPSAnT2RzdHImYWFjdXRlO25pxaUnOwokbGFuZ1snZWRpdCddID0gJ1VwcmF2acWlJzsKJGxhbmdbJ2Vycm9yX2Jyb2tlbl94bWwnXSA9ICdYTUwgcyZ1YWN1dGU7Ym9yIGplIGNoeWJuJnlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfY29weWNvbnRlbnRfaW52YWxpZF9uYW1lJ10gPSAnTiZhYWN1dGU7em92IHByZSBrb3AmaWFjdXRlO3JvdmFuaWUgaWQ9JWQgamUgbmVwbGF0biZ5YWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2NvcHljb250ZW50X2ludmFsaWRfbWVudXRleHQnXSA9ICdOJmFhY3V0ZTt6b3YgdiBtZW51IHByZSBrb3AmaWFjdXRlO3JvdmFuaWUgaWQ9JWQgamUgbmVwbGF0biZ5YWN1dGU7JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW0nXSA9ICdQb8W+YWRvdmFuJmVhY3V0ZTsgcGFyYW1ldHJlIHN1IG5lcGxhdG4mZWFjdXRlOyBhbGVibyBjaHliJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfbmFtZWV4aXN0cyddID0gJ1BvbG/FvmthIHMgdCZ5YWN1dGU7bXRvIG4mYWFjdXRlO3p2b20gdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX25vY29udGVudHNlbGVjdGVkJ10gPSAnTmVib2wgdnlicmFuJnlhY3V0ZTsgxb5pYWRueSBvYnNhaCc7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ1BvbG/FvmthIG5lbiZhYWN1dGU7amRlbiZhYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX25vdGhpbmd0b2ltcG9ydCddID0gJ1RoZSBYTUwgZmlsZSBzcGVjaWZpZWQgZGlkIG5vdCBjb250YWluIGFueSBpbmZvcm1hdGlvbiB0aGF0IGNvdWxkIGJlIGltcG9ydGVkIGludG8gdGhpcyBpbnN0YWxsYXRpb24gKG5vIGNvbXBhdGlibGUgbW9kdWxlcywgb3IgR0NCcyBvciBVRFRzKSc7CiRsYW5nWydlcnJvcl9ub3RoaW5nc2VsZWN0ZWQnXSA9ICdOZWJvbGkgdnlicmFuJmVhY3V0ZTsgxb5pYWRuZSBwb2xvxb5reSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uX2RlbmllZCddID0gJ1ByJmlhY3V0ZTtzdHVwICB6YW1pZXRudXQmeWFjdXRlOyc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdOYWhyJmFhY3V0ZTt2YW5pZSBzJnVhY3V0ZTtib3JhIHMgY2h5Ym91JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZG5vdGZvdW5kJ10gPSAnTmFociZhYWN1dGU7dmFuJnlhY3V0ZTsgcyZ1YWN1dGU7Ym9yIG5lbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG90b3ZhxaUnOwokbGFuZ1snZXhwb3J0X2NoaWxkcmVuJ10gPSAnRXhwb3J0b3ZhxaUgcG9kcmFkZW4mZWFjdXRlOyc7CiRsYW5nWydleHBvcnRfY29kZSddID0gJ0V4cHBvcnRvdmHFpSBrJm9hY3V0ZTtkJzsKJGxhbmdbJ2V4cG9ydF9jb250ZW50J10gPSAnRXhwb3J0b3ZhxaUgb2JzYWgnOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1snZmlsZSddID0gJ1hNTCBzJnVhY3V0ZTtib3InOwokbGFuZ1snZmlsZV9zZWxlY3RvciddID0gJ1YmeWFjdXRlO2JlciBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdOJmFhY3V0ZTtzdHJvamUgcHJlIHByJmFhY3V0ZTtjdSBzIG9ic2Fob20nOwokbGFuZ1snZ2xvYmFsX2NvbnRlbnRfYmxvY2snXSA9ICdIVE1MIGJsb2t5IChHQ0IpJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+xIxvIG1vZHVsIHJvYiZpYWN1dGU7PzwvaDM+DQo8cD5Nb2R1bCB1bW/Fvm51amUgcHJhY292YcWlIHMgcm96JnNjYXJvbjsmaWFjdXRlO3JlbiZ5YWN1dGU7bWkgZnVua2NpYW1pIHByaSBwciZhYWN1dGU7Y2kgcyBvYnNhaG9tLjwvcD4NCjxoMz5GdW5rY2llPC9oMz4NCjx1bD4NCiAgPGxpPkV4cG9ydCBvYnNhaHUgZG8gWE1MPC9saT4NCiAgPGxpPkltcG9ydCBvYnNhaHUgeiBYTUw8L2xpPg0KICA8bGk+Vnl0diZhYWN1dGU7cmFuaWUgb2JzYWhvdiZ5YWN1dGU7IGJsb2tvdiBkbyAmc2Nhcm9uO2FibCZvYWN1dGU7bi48L2xpPg0KICA8bGk+SHJvbWFkbiZlYWN1dGU7IGtvcCZpYWN1dGU7cm92YW5pZSBzdHImYWFjdXRlO25vay48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHA+SWYgeW91IGFyZSBhbiBhdXRob3JpemVkIENNUyBNYWRlIFNpbXBsZSB3ZWIgc2l0ZSBhZG1pbmlzdHJhdG9yLCBhbmQgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZSB0byBtYW5hZ2UgYWxsIGNvbnRlbnQsIHRoZW4gdGhlICZhbXA7cXVpdDtDYWxndXlzIENvbnRlbnQgVXRpbGl0aWVzJnF1b3Q7IG1lbnUgaXRlbSBzaG91bGQgYXBwZWFyIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW5pc3RyYXRpb24gcGFuZWwuICBZb3Ugd2lsbCBzZWUgYSBudW1iZXIgb2YgdGFicywgaW5jbHVkaW5nOjwvcD4NCjx1bD4NCiAgPGxpPjx1PkJsb2NrczwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY3JlYXRpbmcgJnF1b3Q7bmFtZWQmcXVvdDsgYW5kIG1hbmFnaW5nIGNvbnRlbnQgYmxvY2tzIG9mIHZhcmlvdXMgdHlwZXMuICBUYWdzIGZvciB0aGVzZSBjb250ZW50IGJsb2NrcyBjYW4gdGhlbiBiZSBpbnNlcnRlZCBpbnRvIENNU01TIHBhZ2UgdGVtcGxhdGVzLiAgVGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHB1dCBhZGRpdG9uYWwgY29udGVudCBibG9ja3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgb3IgY2hvb3NlIGRpZmZlcmVudCBkYXRhIHdoaWNoIG1heSBoYXZlIGEgcmVzdWx0IG9uIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwYWdlLjwvcD4NCiAgPHA+Rm9yIGV4YW1wbGUsIGEgY29udGVudCBibG9jayBvZiB0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7IGNvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2V0aGVyIGFuIGltYWdlIGlzIHRvIGJlIGRpc3BsYXllZCBvciBub3QuPC9wPg0KICA8cD5UaGlzIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmUsIGFuZCB1dGlsaXppbmcgdGhpcyBmZWF0dXJlIHJlcXVpcmVzIHRoYXQgeW91IGJlIGZhbWlsaWFyIHdpdGggdGhlIHNtYXJ0eSB0ZW1wbGF0aW5nIGVuZ2luZSB0aGF0IGlzIHVzZWQgdGhyb3Vnb3V0IENNU01TLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PkltcG9ydDwvdT4NCiAgPHA+VGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gaW1wb3J0IG9uZSBvciBtb3JlIGNvbnRlbnQgcGFnZXMgZnJvbSBhbiBYTUwgZmlsZSB0aGF0IHdhcyBjcmVhdGVkIGJ5IHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eS4gICBVc2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkgeW91IGNhbiBlYXNpbHkgbWlncmF0ZSBpbmZvcm1hdGlvbiBmcm9tIG9uZSB3ZWJzaXRlIHRvIGFub3RoZXIuPHA+DQogIDwvbGk+DQogIDxsaT48dT5FeHBvcnQ8L3U+DQogIDxwPlRoaXMgdGFiIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNob29zZSBhIHNpbmdsZSBwYWdlIGZyb20gYSBkcm9wZG93biB0byBleHBvcnQgdG8gWE1MIGZvcm1hdC4gIFlvdSBjYW4gYWxzbyBpbmRpY2F0ZSB3ZXRoZXIgdGhlIGNoaWxkcmVuIG9mIHRoZSBzZWxlY3RlZCBwYWdlIHNob3VsZCBiZSBleHBvcnRlZC4gIENsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIHdpbGwgcHJvbXB0IHlvdSB0byBkb3dubG9hZCB0aGUgWE1MIGZpbGUuPC9wPg0KICA8cD5UaGUgZ2VuZXJhdGVkIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gaW1hZ2VzLCBvciBwYWdlIHRlbXBsYXRlcywgb3IgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBldGMuICBJdCBvbmx5IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaW91cyBjb250ZW50IG9iamVjdHMsIGFuZCB0aGVpciB2YWx1ZXMuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxwPkFkZGl0aW9uYWxseSwgdGhpcyBtb2R1bGUgYWRkcyBhIGJ1bGsgYWN0aW9uIHRvIHRoZSBjb250ZW50IG1hbmFnZW1lbnQgcGFnZSwgd2hpY2ggc2hvdWxkIGJlIHZpc2libGUgaWYgeW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb24uICBUaGlzIGJ1bGsgYWN0aW9uIGFsbG93cyBzZWxlY3RpbmcgbXVsdGlwbGUgcGFnZXMsIGFuZCBjcmVhdGluZyBhIHNpbmdsZSBjb3B5IG9mIGVhY2ggb2YgdGhlIHNlbGVjdGVkIHBhZ2VzLDwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2luZm9fYXZhaWxhYmxlX2l0ZW1zJ10gPSAnVnliZXJ0ZSBwb2xvxb5reSBuacW+JnNjYXJvbjtpZSBwcmUgZXhwb3J0ICZzY2Fyb247YWJsJm9hY3V0ZTtuIGFsZWJvIGsmb2FjdXRlO2Rvdic7CiRsYW5nWydpbmZvX2Jsb2NrbmFtZSddID0gJ1BvdcW+JmlhY3V0ZTt2YWp0ZSBpYmEgYWxmYW51bWVyaWNrJmVhY3V0ZTsgem5ha3ksIHBvZMSNaWFyb3ZuJmlhY3V0ZTtreSBhIHBvbWzEjWt5JzsKJGxhbmdbJ2luZm9fYmxvY2twcm9tcHQnXSA9ICcmU2Nhcm9uO3BlY2lmaWtvdmHFpSBwb3Bpc29rJzsKJGxhbmdbJ2luZm9fZHJvcGRvd25fb3B0aW9ucyddID0gJ1Z5YmVydGUgcG9sb8W+a3kgcHJlIHYmeWFjdXRlO2Jlcm92JmVhY3V0ZTsgcG9sZS4gIEplZG5hIHBvbG/FvmthIG5hIGthxb5kJnlhY3V0ZTsgcmlhZG9rLiAgUHJlIG4mYWFjdXRlO3pvdiAgYSBob2Rub3R1IHBvbG/Fvmt5IG9kZGVsdGUgaG9kbm90eSB6bmFrb20gfC4nOwokbGFuZ1snaW5mb19leGNsdWRlcHJlZml4J10gPSAnRXhjbHVkZSBmaWxlcyB3aXRoIHRoZXNlIHByZWZpeGVzIChjb21tYSBzZXBhcmF0ZWQgbGlzdCknOwokbGFuZ1snaW5mb19leHBvcnRfY29kZSddID0gJ0V4cG9ydCBzZWxlY3RlZCBtb2R1bGUgdGVtcGxhdGVzLCBnbG9iYWwgY29udGVudCBibG9ja3MsIGFuZCBtb2R1bGUgdGVtcGxhdGVzIHRvIGFuIFhNTCBmaWxlIGZvciB1c2Ugb24gYW5vdGhlciB3ZWIgc2l0ZSc7CiRsYW5nWydpbmZvX2ZpbGV0eXBlcyddID0gJ1NwZWNpZnkgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWxlIGV4dGVuc2lvbnMuIGkuZTogcGRmLGpwZyxkb2MnOwokbGFuZ1snaW5mb19maW5hbF9pbXBvcnRfY29kZSddID0gJ1RoZSBpdGVtcyBzZWxlY3RlZCBmb3IgaW1wb3J0ICBhcmUgYmUgZGlzcGxheWVkIGJlbG93LiAgSXRlbXMgdGhhdCByZXByZXNlbnQgYW4gb3ZlcndyaXRlIGFyZSBoaWxpZ2h0ZWQgaW4gPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHllbGxvdzsmcXVvdDs+eWVsbG93PC9zcGFuPi4gUGxlYXNlIGNvbmZpcm0gdGhhdCB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcy48YnIvPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSXQgaXMgcG9zc2libGUgYnkgY29udGludWluZyB0aGF0IHlvdSBtYXkgb3ZlcndyaXRlIHZhbGlkIHdvcmtpbmcgdGVtcGxhdGVzLjxici8+DQo8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFNvbWUgbW9kdWxlcyBkbyBub3Qgc3VwcG9ydCBtdWx0aXBsZSB0ZW1wbGF0ZXMgZm9yIGVhY2ggdGVtcGxhdGUgdHlwZSwgdGhlcmVmb3JlIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gb3ZlcndyaXRlIHNvbWUgdGVtcGxhdGVzIGZvciB0aGVtIHRvIGhhdmUgYW55IGVmZmVjdC48YnIvPg0KPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBwZXJmb3JtIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBpbXBvcnRlZCB0ZW1wbGF0ZXMgdG8gY2hlY2sgZm9yIHJlZmVyZW5jZXMgdG8gcGFnZXMsIG9yIGV4aXN0aW5nIG1vZHVsZSBjYWxscy4gIFlvdSBtYXkgaGF2ZSB0byB2aXNpdCBlYWNoIHRlbXBsYXRlIGluZGl2aWR1YWxseSB0byBjdXN0b21pemUgaXRzIGJlaGF2aW9yIGZvciB5b3VyIHNpdGUuJzsKJGxhbmdbJ2luZm9faW1wb3J0X2NvZGUnXSA9ICdBbGxvd3MgaW1wb3J0aW5nIHNlbGVjdGVkIEdCQnMsIFVEVHMgYW5kIE1vZHVsZSB0ZW1wbGF0ZXMgZnJvbSBhbiBYTUwgZmlsZS48YnIvPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBpcyBhbiBhZHZhbmNlZCB0b29sLiAgVGhpcyBmZWF0dXJlIGFsbG93cyBvdmVyd3JpdGluZyB0ZW1wbGF0ZXMgaW50byBhbiBleGlzdGluZyBzeXRlLiAgVXNlIHdpdGggY2F1dGlvbiEnOwokbGFuZ1snaW5mb19zY2FubmVkX2ZpbGUnXSA9ICdCZWxvdyBhcmUgdGhlIHNjYW5uZWQgY29udGVudHMgb2YgdGhlIFhNTCBmaWxlIHN1cHBsaWVkLiAgWW91IG1heSBwcmV2aWV3IHRoZSBpdGVtcyBsaXN0ZWQgYW5kIHNlbGVjdCBzb21lIGZvciBpbXBvcnQuICBZb3UgbWF5IG9wdGlvbmFsbHkgc3BlY2lmeSBhIG5ldyBuYW1lIGZvciBpbXBvcnRlZCB0ZW1wbGF0ZXMuJzsKJGxhbmdbJ2ltcG9ydCddID0gJ0ltcG9ydG92YcWlJzsKJGxhbmdbJ2ltcG9ydF9jb2RlJ10gPSAnSW1wb3J0b3ZhxaUgayZvYWN1dGU7ZCc7CiRsYW5nWydpbXBvcnRfY29udGVudCddID0gJ0ltcG9ydG92YcWlIG9ic2FoJzsKJGxhbmdbJ2ltcG9ydF9uYW1lJ10gPSAnTiZhYWN1dGU7em92IGltcG9ydHUnOwokbGFuZ1snbGlzdF9nY2JzJ10gPSAnSFRNTCBibG9reSc7CiRsYW5nWydsaXN0X3VkdHMnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgem5hxI1reSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01vZHVsIHMgbiZhYWN1dGU7c3Ryb2phbWkgcHJlIHJveiZzY2Fyb247JmlhY3V0ZTtyZW4mdWFjdXRlOyBzcHImYWFjdXRlO3Z1IG9ic2FodSc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bCc7CiRsYW5nWydtb2R1bGVzJ10gPSAnTW9kdWx5JzsKJGxhbmdbJ21vZHVsZV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBtb2R1bHUnOwokbGFuZ1snbXNnX2Jsb2NrYWRkZWQnXSA9ICdCbG9rIHByaWRhbiZ5YWN1dGU7JzsKJGxhbmdbJ21zZ19ibG9ja3VwZGF0ZWQnXSA9ICdIb2Rub3R5ICBibG9rdSBha3R1YWxpem92YW4mZWFjdXRlOyc7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnT3BlciZhYWN1dGU7Y2lhIHpydSZzY2Fyb247ZW4mYWFjdXRlOyc7CiRsYW5nWydtc2dfaW1wb3J0ZWQnXSA9ICclZCBwb2xvxb5pZWsgbmFpbXBvcnRvdmFuJnlhY3V0ZTtjaCB6IFhNTCc7CiRsYW5nWyduYW1lJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ25ld19hbGlhcyddID0gJ05vdiZ5YWN1dGU7IGFsaWEnOwokbGFuZ1snbmV3X21lbnV0ZXh0J10gPSAnTm92JnlhY3V0ZTsgbiZhYWN1dGU7em92IHYgbWVudSAnOwokbGFuZ1snbmV3X25hbWUnXSA9ICdOb3YmeWFjdXRlOyBuJmFhY3V0ZTt6b3YnOwokbGFuZ1snbmV3X3BhcmVudCddID0gJ05vdiZ5YWN1dGU7IG5hZHJhZGVuJnlhY3V0ZTsnOwokbGFuZ1snbmV4dCddID0gJ8SOYWwmc2Nhcm9uOyZpYWN1dGU7JzsKJGxhbmdbJ3BhcmVudCddID0gJ05hZHJhZGVuJnlhY3V0ZTsnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCBib2wgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCBvZGluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsnOwokbGFuZ1sncHJldmlldyddID0gJ04mYWFjdXRlO2jEvmFkJzsKJGxhbmdbJ3Byb21wdCddID0gJ096bmHEjWVuaWUsIHpvYnJhemVuJmVhY3V0ZTsgbmEgc3RyJmFhY3V0ZTtua2UnOwokbGFuZ1sncHJvbXB0X2NvbHMnXSA9ICdTdMS6cGNlJzsKJGxhbmdbJ3Byb21wdF9kaXInXSA9ICdBZHJlcyZhYWN1dGU7ciA8ZW0+KHJlbGF0JmlhY3V0ZTt2bmEgY2VzdGEgayB1cGxvYWRzIGFkcmVzJmFhY3V0ZTtydSk8L2VtPic7CiRsYW5nWydwcm9tcHRfZXhjbHVkZXByZWZpeCddID0gJ1Z5bmVjaGHFpSBzJnVhY3V0ZTtib3J5IHMgdCZ5YWN1dGU7bWl0byBwcmVkcG9uYW1pJzsKJGxhbmdbJ3Byb21wdF9maWxldHlwZXMnXSA9ICdQb3ZvbGVuJmVhY3V0ZTsgdGlweSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWydwcm9tcHRfbGVuZ3RoJ10gPSAnRMS6xb5rYSc7CiRsYW5nWydwcm9tcHRfbWF4bGVuZ3RoJ10gPSAnTWF4aW0mYWFjdXRlO2xuYSBkxLrFvmthJzsKJGxhbmdbJ3Byb21wdF9vcHRpb25zJ10gPSAnTW/Fvm5vc3RpJzsKJGxhbmdbJ3Byb21wdF9wYWdlJ10gPSAnU3RyJmFhY3V0ZTtua2EnOwokbGFuZ1sncHJvbXB0X3JlY3Vyc2UnXSA9ICdSZWt1cnomaWFjdXRlO3ZuZSBkbyBwb2RhZHJlcyZhYWN1dGU7cm92JzsKJGxhbmdbJ3Byb21wdF9yb3dzJ10gPSAnUmlhZGt5JzsKJGxhbmdbJ3Byb21wdF9zb3J0ZmlsZXMnXSA9ICdUcmllZGnFpSBzJnVhY3V0ZTtib3J5IHBvZMS+YSBtZW5hJzsKJGxhbmdbJ3Byb21wdF92YWx1ZSddID0gJ0hvZG5vdGEnOwokbGFuZ1snc2NhbiddID0gJ1NrZW5vdmHFpSc7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnVnlicmHFpSB2JnNjYXJvbjtldGt5JzsKJGxhbmdbJ3N0YXJ0X3BhZ2UnXSA9ICcmU2Nhcm9uO3RhcnRvdmFjaWEgc3RyJmFhY3V0ZTtua2EnOwokbGFuZ1snc3VibWl0J10gPSAnT2Rvc2xhxaUnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1c2FnZSddID0gJ1BvdcW+aXRpZSc7CiRsYW5nWyd1c2VyZGVmaW5lZF90YWcnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmFhY3V0ZTsgem5hxI1rYSAoVURUKSc7CiRsYW5nWyd4bWxfZmlsZSddID0gJ1hNTCBzJnVhY3V0ZTtib3InOwokbGFuZ1sncWNhJ10gPSAnUDAtMTYwODkyNjA0MC0xMjcxMTQ0MTc1NzgzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzg2Mzg1OTA0LjEyNzExNTc5OTcuMTI5NzE3ODE0Ny4xMjk3MjQwODM2LjE2OCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTcyNDA4MzYuMTY4LjE1NC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.cgcu_code_reader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ2N1X2NvZGVfcmVhZGVyCnsKICBwcml2YXRlICRfZmlsZW5hbWU7CiAgcHJpdmF0ZSAkX2Vycm9yID0gJyc7CiAgcHJpdmF0ZSAkX2RhdGE7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZmlsZW5hbWUpCiAgewogICAgaWYoICFmaWxlX2V4aXN0cygkZmlsZW5hbWUpICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRmlsZSBOb3QgRm91bmQgJy4kZmlsZW5hbWUpOwogICAgICB9CgogICAgJHJlYWRlciA9IG5ldyBYTUxSZWFkZXIoKTsKICAgICR0bXAgPSAkcmVhZGVyLT5vcGVuKCRmaWxlbmFtZSk7CiAgICBpZiggISR0bXAgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmFibGUgdG8gb3BlbiBYTUwgRmlsZSAnLiRmbik7CiAgICAgIH0KCiAgICAkdGhpcy0+X2ZpbGVuYW1lID0gJGZpbGVuYW1lOwogICAgJHRoaXMtPl9zY2FuKCRyZWFkZXIpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfZXJyb3IoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2Vycm9yOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGF0YSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fZGF0YTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3JlY29yZCgkbmFtZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZGF0YSkgfHwgY291bnQoJHRoaXMtPl9kYXRhKSA9PSAwICkgcmV0dXJuOwoKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fZGF0YSk7ICRpKysgKQogICAgICB7CglpZiggJHRoaXMtPl9kYXRhWyRpXVsnbmFtZSddID09ICRuYW1lICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJGldOwoJICB9CiAgICAgIH0KICB9CgoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3NjYW4oWE1MUmVhZGVyJiAkcmVhZGVyKQogIHsKICAgICRoYXZlX2NvZGVfZXhwb3J0ID0gMDsKICAgICRjdXJfZWxlbWVudCA9ICcnOwogICAgJGN1cl9rZXkgPSAnJzsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgICAkY3VyX2RhdGEgPSBhcnJheSgpOwoKICAgIHdoaWxlKCAkcmVhZGVyLT5yZWFkKCkgJiYgJHRoaXMtPl9lcnJvciA9PSAnJyApCiAgICAgIHsKCXN3aXRjaCggJHJlYWRlci0+bm9kZVR5cGUgKQoJICB7CgkgIGNhc2UgWE1MUkVBREVSOjpFTEVNRU5UOgoJICAgIHsKCSAgICAgIHN3aXRjaCggJHJlYWRlci0+bG9jYWxOYW1lICkKCQl7CgkJY2FzZSAnY21zbXNfY29kZV9leHBvcnQnOgoJCSAgJGhhdmVfY29kZV9leHBvcnQrKzsKCQkgIGJyZWFrOwoJICAgICAgCgkJY2FzZSAnZ2xvYmFsX2NvbnRlbnRfYmxvY2snOgoJCWNhc2UgJ3VzZXJkZWZpbmVkX3RhZyc6CgkJY2FzZSAnbW9kdWxlX3RlbXBsYXRlJzoKCQkgIGlmKCAhJGhhdmVfY29kZV9leHBvcnQgKQoJCSAgICB7CgkJICAgICAgJHRoaXMtPl9lcnJvciA9ICdlcnJvcl9pbnZhbGlkX2Zvcm1hdCc7CgkJICAgIH0KCQkgIGVsc2UgaWYoICRjdXJfZWxlbWVudCAhPSAnJyApCgkJICAgIHsKCQkgICAgICAkdGhpcy0+X2Vycm9yID0gJ2Vycm9yX2Jyb2tlbl94bWwnOwoJCSAgICB9CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICAkY3VyX2VsZW1lbnQgPSAkcmVhZGVyLT5sb2NhbE5hbWU7CgkJICAgICAgJGN1cl9kYXRhWyd0eXBlJ10gPSAkcmVhZGVyLT5sb2NhbE5hbWU7CgkJICAgIH0KCQkgIGJyZWFrOwoKCQljYXNlICdkZXNjcmlwdGlvbic6CgkJY2FzZSAndXNlX3d5c2l3eWcnOgoJCWNhc2UgJ21vZHVsZSc6CgkJY2FzZSAnbmFtZSc6CgkJY2FzZSAndGVtcGxhdGUnOgoJCWNhc2UgJ2NvZGUnOgoJCSAgJGN1cl9rZXkgPSAkcmVhZGVyLT5sb2NhbE5hbWU7CgkJICBpZiggISRoYXZlX2NvZGVfZXhwb3J0ICkKCQkgICAgewoJCSAgICAgICR0aGlzLT5fZXJyb3IgPSAnZXJyb3JfaW52YWxpZF9mb3JtYXQnOwoJCSAgICB9CgkJICBlbHNlIGlmKCAkY3VyX2VsZW1lbnQgPT0gJycgKQoJCSAgICB7CgkJICAgICAgJHRoaXMtPl9lcnJvciA9ICdlcnJvcl9icm9rZW5feG1sJzsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAgICAgJGN1cl9kYXRhWyRyZWFkZXItPmxvY2FsTmFtZV0gPSAkcmVhZGVyLT52YWx1ZTsKCQkgICAgfQoJCSAgYnJlYWs7CgkJfQoJICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgWE1MUkVBREVSOjpURVhUOgoJICAgIHsKCSAgICAgIGlmKCAkY3VyX2tleSAhPSAnJyApCgkJewoJCSAgJGN1cl9kYXRhWyRjdXJfa2V5XSA9ICRyZWFkZXItPnZhbHVlOwoJCSAgJGN1cl9rZXkgPSAnJzsKCQl9CgkgICAgfQoJICAgIGJyZWFrOwoKCSAgY2FzZSBYTUxSRUFERVI6OkNEQVRBOgoJICAgIHsKCSAgICAgIGlmKCAkY3VyX2tleSAhPSAnJyApCgkJewoJCSAgJGN1cl9kYXRhWyRjdXJfa2V5XSA9ICRyZWFkZXItPnZhbHVlOwoJCSAgJGN1cl9rZXkgPSAnJzsKCQl9CgkgICAgfQogICAgICAKCSAgY2FzZSBYTUxSRUFERVI6OkVORF9FTEVNRU5UOgoJICAgIHsKCSAgICAgIHN3aXRjaCggJHJlYWRlci0+bG9jYWxOYW1lICkKCQl7CgkJY2FzZSAnY21zbXNfY29kZV9leHBvcnQnOgoJCSAgJGhhdmVfY29kZV9leHBvcnQtLTsKCQkgIGJyZWFrOwoJICAgICAgCgkJY2FzZSAnZ2xvYmFsX2NvbnRlbnRfYmxvY2snOgoJCWNhc2UgJ3VzZXJkZWZpbmVkX3RhZyc6CgkJY2FzZSAnbW9kdWxlX3RlbXBsYXRlJzoKCQkgIGlmKCAhJGhhdmVfY29kZV9leHBvcnQgKQoJCSAgICB7CgkJICAgICAgJHRoaXMtPl9lcnJvciA9ICdlcnJvcl9pbnZhbGlkX2Zvcm1hdCc7CgkJICAgIH0KCQkgIGVsc2UgaWYoICRjdXJfZWxlbWVudCAhPSAkcmVhZGVyLT5sb2NhbE5hbWUgKQoJCSAgICB7CgkJICAgICAgJHRoaXMtPl9lcnJvciA9ICdlcnJvcl9icm9rZW5feG1sJzsKCQkgICAgfQoKCQkgIC8vIG1ha2Ugc3VyZSB3ZSBoYXZlIGFsbCB0aGUgZGF0YS4KCQkgIGlmKCAhJHRoaXMtPl9lcnJvciApCgkJICAgIHsKCQkgICAgICBzd2l0Y2goICRjdXJfZGF0YVsndHlwZSddICkKCQkJewoJCQljYXNlICdnbG9iYWxfY29udGVudF9ibG9jayc6CgkJCSAgaWYoICFpc3NldCgkY3VyX2RhdGFbJ25hbWUnXSkgfHwgZW1wdHkoJGN1cl9kYXRhWyduYW1lJ10pIHx8CgkJCSAgICAgICFpc3NldCgkY3VyX2RhdGFbJ3RlbXBsYXRlJ10pIHx8IGVtcHR5KCRjdXJfZGF0YVsndGVtcGxhdGUnXSkgKQoJCQkgICAgewoJCQkgICAgICAkdGhpcy0+X2Vycm9yID0gJ2Vycm9yX2Jyb2tlbl94bWwnOwoJCQkgICAgfQoJCQkgIGJyZWFrOwoKCQkJY2FzZSAndXNlcmRlZmluZWRfdGFnJzoKCQkJICBpZiggIWlzc2V0KCRjdXJfZGF0YVsnbmFtZSddKSB8fCBlbXB0eSgkY3VyX2RhdGFbJ25hbWUnXSkgfHwKCQkJICAgICAgIWlzc2V0KCRjdXJfZGF0YVsnY29kZSddKSApCgkJCSAgICB7CgkJCSAgICAgICR0aGlzLT5fZXJyb3IgPSAnZXJyb3JfYnJva2VuX3htbCc7CgkJCSAgICB9CgkJCSAgYnJlYWs7CgoJCQljYXNlICdtb2R1bGVfdGVtcGxhdGUnOgoJCQkgIGlmKCAhaXNzZXQoJGN1cl9kYXRhWydtb2R1bGUnXSkgfHwgZW1wdHkoJGN1cl9kYXRhWydtb2R1bGUnXSkgfHwKCQkJICAgICAgIWlzc2V0KCRjdXJfZGF0YVsnbmFtZSddKSB8fCBlbXB0eSgkY3VyX2RhdGFbJ25hbWUnXSkgfHwKCQkJICAgICAgIWlzc2V0KCRjdXJfZGF0YVsndGVtcGxhdGUnXSkgfHwgZW1wdHkoJGN1cl9kYXRhWyd0ZW1wbGF0ZSddKSApCgkJCSAgICB7CgkJCSAgICAgICR0aGlzLT5fZXJyb3IgPSAnZXJyb3JfYnJva2VuX3htbCc7CgkJCSAgICB9CgkJCSAgYnJlYWs7CgkJCX0KCQkgICAgfQoKCQkgIGlmKCAhJHRoaXMtPl9lcnJvciApCgkJICAgIHsKCQkgICAgICAvLyBnb3QgYSBjb21wbGV0ZSByZWNvcmQuCgkJICAgICAgJHRoaXMtPl9kYXRhW10gPSAkY3VyX2RhdGE7CgkJICAgICAgJGN1cl9kYXRhID0gYXJyYXkoKTsKCQkgICAgICAkY3VyX2tleSA9ICcnOwoJCSAgICAgICRjdXJfZWxlbWVudCA9ICcnOwoJCSAgICB9CgkJICBicmVhazsKCQl9CgkgICAgfQoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0gLy8gd2hpbGUKICB9IC8vIGZ1bmN0aW9uCgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgcu_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ2N1X3V0aWxzCnsKICBwcml2YXRlIHN0YXRpYyAkX21vZHVsZV90ZW1wbGF0ZV9uYW1lczsKICBwcml2YXRlIHN0YXRpYyAkX2djYl9uYW1lczsKICBwcml2YXRlIHN0YXRpYyAkX3VkdF9uYW1lczsKCiAgc3RhdGljIHByaXZhdGUgZnVuY3Rpb24gZ2V0X21vZHVsZV90ZW1wbGF0ZXMoJG1vZHVsZSkKICB7CiAgICBpZiggISRtb2R1bGUgKSByZXR1cm4gRkFMU0U7CiAgICAkbW9kID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0NvbnRlbnRVdGlscycpOwogICAgCiAgICBpZiggIWlzX2FycmF5KHNlbGY6OiRfbW9kdWxlX3RlbXBsYXRlX25hbWVzKSApCiAgICAgIHsKCXNlbGY6OiRfbW9kdWxlX3RlbXBsYXRlX25hbWVzID0gYXJyYXkoKTsKICAgICAgfQoKICAgIGlmKCAhaXNzZXQoc2VsZjo6JF9tb2R1bGVfdGVtcGxhdGVfbmFtZXNbJG1vZHVsZV0pICkKICAgICAgewoJJGxpc3QgPSAkbW9kLT5MaXN0VGVtcGxhdGVzKCRtb2R1bGUpOwoJaWYoICFpc19hcnJheSgkbGlzdCkgfHwgY291bnQoJGxpc3QpID09IDAgKSByZXR1cm4gRkFMU0U7CgoJc2VsZjo6JF9tb2R1bGVfdGVtcGxhdGVfbmFtZXNbJG1vZHVsZV0gPSAkbGlzdDsKICAgICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gbW9kdWxlX3RlbXBsYXRlX2V4aXN0cygkbW9kdWxlLCR0ZW1wbGF0ZSkKICB7CiAgICBzZWxmOjpnZXRfbW9kdWxlX3RlbXBsYXRlcygkbW9kdWxlKTsKICAgIGlmKCAhaXNzZXQoc2VsZjo6JF9tb2R1bGVfdGVtcGxhdGVfbmFtZXNbJG1vZHVsZV0pICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICFpbl9hcnJheSgkdGVtcGxhdGUsc2VsZjo6JF9tb2R1bGVfdGVtcGxhdGVfbmFtZXNbJG1vZHVsZV0pICkgcmV0dXJuIEZBTFNFOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIG1vZHVsZV90ZW1wbGF0ZV9uZXduYW1lKCRtb2R1bGUsJHRlbXBsYXRlKQogIHsKICAgIHNlbGY6OmdldF9tb2R1bGVfdGVtcGxhdGVzKCRtb2R1bGUpOwoKICAgICRjb3VudCA9IDE7CiAgICAkdGVzdG5hbWUgPSAkdGVtcGxhdGU7CiAgICB3aGlsZSggJGNvdW50IDwgMTAwMCApCiAgICAgIHsKCWlmKCAhc2VsZjo6bW9kdWxlX3RlbXBsYXRlX2V4aXN0cygkbW9kdWxlLCR0ZXN0bmFtZSkgKSAKCSAgewoJICAgIHJldHVybiAkdGVzdG5hbWU7CgkgIH0KCSRjb3VudCsrOwoJJHRlc3RuYW1lID0gJHRlbXBsYXRlIC4gJGNvdW50OwogICAgICB9CgogICAgcmV0dXJuICR0ZXN0bmFtZTsKICB9CgoKICBzdGF0aWMgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfZ2NiX25hbWVzKCkKICB7CiAgICBpZiggaXNfYXJyYXkoc2VsZjo6JF9nY2JfbmFtZXMpICkgcmV0dXJuIFRSVUU7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaHRtbGJsb2JfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidodG1sYmxvYnMgT1JERVIgQlkgaHRtbGJsb2JfbmFtZSc7CiAgICBzZWxmOjokX2djYl9uYW1lcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdjYl9leGlzdHMoJGdjYl9uYW1lKQogIHsKICAgIHNlbGY6OmdldF9nY2JfbmFtZXMoKTsKICAgIGlmKCAhaW5fYXJyYXkoJGdjYl9uYW1lLHNlbGY6OiRfZ2NiX25hbWVzKSApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBnY2JfbmV3bmFtZSgkZ2NiX25hbWUpCiAgewogICAgJGNvdW50ID0gMTsKICAgICR0ZXN0bmFtZSA9ICRnY2JfbmFtZTsKICAgIHdoaWxlKCAkY291bnQgPCAxMDAwICkKICAgICAgewoJaWYoICFzZWxmOjpnY2JfZXhpc3RzKCR0ZXN0bmFtZSkgKSAKCSAgewoJICAgIHJldHVybiAkdGVzdG5hbWU7CgkgIH0KCSRjb3VudCsrOwoJJHRlc3RuYW1lID0gJGdjYl9uYW1lIC4gJGNvdW50OwogICAgICB9CgogICAgcmV0dXJuICR0ZXN0bmFtZTsKICB9CgoKICBzdGF0aWMgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfdWR0X25hbWVzKCkKICB7CiAgICBpZiggaXNfYXJyYXkoc2VsZjo6JF91ZHRfbmFtZXMpICkgcmV0dXJuIFRSVUU7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgdXNlcnBsdWdpbl9uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ3VzZXJwbHVnaW5zIE9SREVSIEJZIHVzZXJwbHVnaW5fbmFtZSc7CiAgICBzZWxmOjokX3VkdF9uYW1lcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHVkdF9leGlzdHMoJHVkdF9uYW1lKQogIHsKICAgIHNlbGY6OmdldF91ZHRfbmFtZXMoKTsKICAgIGlmKCAhaW5fYXJyYXkoJHVkdF9uYW1lLHNlbGY6OiRfdWR0X25hbWVzKSApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdWR0X25ld25hbWUoJHVkdF9uYW1lKQogIHsKICAgICRjb3VudCA9IDE7CiAgICAkdGVzdG5hbWUgPSAkdWR0X25hbWU7CiAgICB3aGlsZSggJGNvdW50IDwgMTAwMCApCiAgICAgIHsKCWlmKCAhc2VsZjo6dWR0X2V4aXN0cygkdGVzdG5hbWUpICkgCgkgIHsKCSAgICByZXR1cm4gJHRlc3RuYW1lOwoJICB9CgkkY291bnQrKzsKCSR0ZXN0bmFtZSA9ICR1ZHRfbmFtZSAuICRjb3VudDsKICAgICAgfQoKICAgIHJldHVybiAkdGVzdG5hbWU7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRmbGRzID0gIgogICAgICAgIGlkIEkgQVVUTyBQUklNQVJZIEtFWSwKICAgICAgICBuYW1lIEMoODApLAogICAgICAgIHByb21wdCBDKDgwKSwKICAgICAgICB2YWx1ZSBYLAogICAgICAgIHR5cGUgQyg0MCksCiAgICAgICAgYXR0cmlicyBYLAogICAgICAgIGNyZWF0ZV9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLAogICAgICAgIG1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVAogICAgICAgIDsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jZ2NvbnRlbnR1dGlscyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHQ29udGVudFV0aWxzIChjKSAyMDA5IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIHZhcmlvdXMgYWRkaXRpb25hbCB1dGlsaXRpZXMKIyAgZm9yIGRlYWxpbmcgd2l0aCBjb250ZW50IHBhZ2VzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jZ2NvbnRlbnR1dGlscyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_blocks_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRkYXRhKX0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGNlbGxzcGFjaW5nPSIwIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndXNhZ2UnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSRkYXRhIGl0ZW09J29uZSd9CiAgPHRyPgogICAgPHRkPnskb25lLm5hbWV9PC90ZD4KICAgIDx0ZD57Y2FwdHVyZSBhc3NpZ249J3RtcCd9YmxvY2t0eXBlX3skb25lLnR5cGV9ey9jYXB0dXJlfXskbW9kLT5MYW5nKCR0bXApfTwvdGQ+CiAgICA8dGQ+eyRvbmUuc2FtcGxldGFnfTwvdGQ+CiAgICA8dGQ+eyRvbmUuZWRpdGxpbmt9PC90ZD4KICAgIDx0ZD57JG9uZS5kZWxldGVsaW5rfTwvdGQ+CiAgPC90cj4KICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KeyRhZGRsaW5rfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_copycontent.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY29weSBjb250ZW50IHRlbXBsYXRlICp9CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KLy8gPCFbQ0RBVEFbIAp7bGl0ZXJhbH0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIGpRdWVyeSgnLmV4dHJhbGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICB2YXIgdG1wID0galF1ZXJ5KHRoaXMpLmF0dHIoJ3JlbCcpOwogICAgalF1ZXJ5KCcjZXh0cmEnK3RtcCkudG9nZ2xlKCk7CiAgICByZXR1cm4gZmFsc2U7CiAgfSk7CiAgalF1ZXJ5KCcuY29udGVudGxpbmsnKS5jbGljayhmdW5jdGlvbigpewogICAgalF1ZXJ5KHRoaXMpLnBhcmVudCgpLm5leHQoKS50b2dnbGUoKTsKICAgIHJldHVybiBmYWxzZTsKICB9KTsKfSk7CnsvbGl0ZXJhbH0KLy8gXV0+Cjwvc2NyaXB0PgoKPGgzPnskbW9kLT5MYW5nKCdhZHZhbmNlZF9jb250ZW50X2NvcHknKX08L2gzPgp7JGZvcm1zdGFydH0KeyoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3BhcmVudH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2Ryb3Bkb3dufTwvcD4KPC9kaXY+Cip9Cgp7Zm9yZWFjaCBmcm9tPSRjb250ZW50cyBpdGVtPSdvbmVjb250ZW50JyBrZXk9J2NvbnRlbnRfaWQnIG5hbWU9J2NvbnRlbnRsb29wJ30KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRvbmVjb250ZW50LT5OYW1lKCl9ICh7JGNvbnRlbnRfaWR9Onskb25lY29udGVudC0+QWxpYXMoKX0pJm5ic3A7CiAgICA8YSBocmVmPSIjIiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2NvbGxhcHNlJyl9IiBjbGFzcz0iY29udGVudGxpbmsiPi08L2E+CiAgPC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0iY29udGVudGl0ZW1zIj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmV3X25hbWUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5ld19uYW1lW3skY29udGVudF9pZH1dIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JG9uZWNvbnRlbnQtPk5hbWUoKX0iLz4KICAgIDwvcD4KICA8L2Rpdj4gICAgCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25ld19tZW51dGV4dCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bmV3X21lbnV0ZXh0W3skY29udGVudF9pZH1dIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JG9uZWNvbnRlbnQtPk1lbnV0ZXh0KCl9Ii8+CiAgICA8L3A+CiAgPC9kaXY+ICAgIAogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduZXdfcGFyZW50Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICB7JHBhcmVudF9kcm9wZG93bnMuJGNvbnRlbnRfaWR9CiAgICA8L3A+CiAgPC9kaXY+CiAgPGZpZWxkc2V0IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZXh0cmEnKX06Jm5ic3A7PGEgaHJlZj0iIyIgcmVsPSJ7JGNvbnRlbnRfaWR9IiBjbGFzcz0iZXh0cmFsaW5rIiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2V4cGFuZCcpfSI+KzwvYT48L2xlZ2VuZD4KICAgIDxkaXYgY2xhc3M9ImV4dHJhaW5mbyIgaWQ9ImV4dHJheyRjb250ZW50X2lkfSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgeyogZXh0cmEgYXJlYSAqfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25ld19hbGlhcycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1uZXdfYWxpYXNbeyRjb250ZW50X2lkfV0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskbmV3ZGF0YS4kY29udGVudF9pZC5uZXdfYWxpYXN9Ii8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4gICAgCgogICAgICB7KiBkaXNwbGF5IGV4dHJhIGNvbnRlbnQgYmxvY2tzIGZvciB0aGlzIG9iamVjdCAqfQogICAgICB7aWYgaXNzZXQoJGFkZGJsb2Nrcy4kY29udGVudF9pZCl9CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kYWRkYmxvY2tzLiRjb250ZW50X2lkIGl0ZW09J2Jsb2NrJ30KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGJsb2NrLmZsZF9sYWJlbH08L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJsb2NrLmZsZF9pbnB1dH08L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgey9mb3JlYWNofQogICAgICB7L2lmfQogICAgPC9kaXY+CiAgPC9maWVsZHNldD4KICA8L2Rpdj4KPC9maWVsZHNldD4Key9mb3JlYWNofQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_block.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gY2hhbmdlX29wdGlvbnModHlwZSkKewogICBqUXVlcnkoJy5ibG9ja3R5cGVzJykuaGlkZSgpOwogICBqUXVlcnkoJyMnK3R5cGUpLnNob3coKTsKfQoKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIHZhciB2YWwgPSBqUXVlcnkoJyNibG9ja3R5cGUnKS52YWwoKTsKICBjaGFuZ2Vfb3B0aW9ucyh2YWwpOwogIGpRdWVyeSgnI2Jsb2NrdHlwZScpLmNoYW5nZShmdW5jdGlvbigpewogICAgY2hhbmdlX29wdGlvbnMoalF1ZXJ5KHRoaXMpLnZhbCgpKTsKICB9KTsKfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25hbWUnKX06PC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JG9uZS5uYW1lfSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2Jsb2NrbmFtZScpfQogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHQnKX06PC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXByb21wdCIgdmFsdWU9Inskb25lLnByb21wdH0iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19ibG9ja3Byb21wdCcpfQogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZWZhdWx0X3ZhbHVlJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1kZmx0dmFsdWUiIHZhbHVlPSJ7JG9uZS52YWx1ZX0iLz4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndHlwZScpfTo8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBpZD0iYmxvY2t0eXBlIiBuYW1lPSJ7JGFjdGlvbmlkfXR5cGUiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGJsb2NrdHlwZXMgc2VsZWN0ZWQ9JG9uZS50eXBlfQogICAgPC9zZWxlY3Q+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iYmxvY2t0eXBlcyIgaWQ9InRleHRpbnB1dCI+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xlbmd0aCcpfTo8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWxlbmd0aCIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0ieyRvbmUuYXR0cmlicy5sZW5ndGh9IiAvPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9tYXhsZW5ndGgnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1tYXhsZW5ndGgiIHNpemU9IjMiIG1heGxlbmd0aD0iMyIgdmFsdWU9Inskb25lLmF0dHJpYnMubWF4bGVuZ3RofSIgLz4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImJsb2NrdHlwZXMiIGlkPSJ0ZXh0YXJlYSI+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Jvd3MnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1yb3dzIiBzaXplPSIzIiBtYXhsZW5ndGg9IjMiIHZhbHVlPSJ7JG9uZS5hdHRyaWJzLnJvd3N9IiAvPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jb2xzJyl9OjwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y29scyIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0ieyRvbmUuYXR0cmlicy5jb2xzfSIgLz4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImJsb2NrdHlwZXMiIGlkPSJkcm9wZG93biI+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X29wdGlvbnMnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb25zIj57JG9uZS5hdHRyaWJzLm9wdGlvbnN9PC90ZXh0YXJlYT4KICAgICAgPGJyLz4KICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fZHJvcGRvd25fb3B0aW9ucycpfQogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iYmxvY2t0eXBlcyIgaWQ9ImNoZWNrYm94Ij4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdmFsdWUnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH12YWx1ZSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1IiB2YWx1ZT0ieyRvbmUuYXR0cmlicy52YWx1ZX0iIC8+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJibG9ja3R5cGVzIiBpZD0icmFkaW9idXR0b25zIj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfb3B0aW9ucycpfTo8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfXJhZGlvb3B0aW9ucyI+eyRvbmUuYXR0cmlicy5vcHRpb25zfTwvdGV4dGFyZWE+CiAgICAgIDxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2Ryb3Bkb3duX29wdGlvbnMnKX0KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImJsb2NrdHlwZXMiIGlkPSJmaWxlX3NlbGVjdG9yIj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGlyJyl9OjwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWRpcmVjdG9yeSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZGlyZWN0b3JpZXMgc2VsZWN0ZWQ9JG9uZS5hdHRyaWJzLmRpcnxkZWZhdWx0OicnfQogICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmlsZXR5cGVzJyl9OjwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IG5hbWU9InskYWN0aW9uaWR9ZmlsZXR5cGVzIiBzaXplPSIyMCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JG9uZS5hdHRyaWJzLmZpbGV0eXBlc3xkZWZhdWx0OicnfSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19maWxldHlwZXMnKX0KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZXhjbHVkZXByZWZpeCcpfTo8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWV4Y2x1ZGVwcmVmaXgiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9Inskb25lLmF0dHJpYnMuZXhjbHVkZXByZWZpeHxkZWZhdWx0OicnfSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19leGNsdWRlcHJlZml4Jyl9CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3JlY3Vyc2UnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9cmVjdXJzZSI+CiAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBzZWxlY3RlZD0kb25lLmF0dHJpYnMucmVjdXJzZX0KICAgICAgPC9zZWxlY3Q+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3NvcnRmaWxlcycpfTo8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zb3J0ZmlsZXMiPgogICAgICB7Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JG9uZS5hdHRyaWJzLnNvcnRmaWxlc30KICAgICAgPC9zZWxlY3Q+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij48L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L2Rpdj4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_export_code_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGZpZWxkc2V0IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJjb2xvcjpibGFjaztwYWRkaW5nOjVweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlcjoycHggZG90dGVkIG9yYW5nZSI+CnskbW9kLT5MYW5nKCdpbmZvX2V4cG9ydF9jb2RlJyl9CjwvZmllbGRzZXQ+Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgYWpheF91cmwgPSAney9saXRlcmFsfXskYWpheF91cmx9e2xpdGVyYWx9JzsKCmZ1bmN0aW9uIG9uX2NoZWNrYm94X2NsaWNrKCkKewogIHZhciBzZWxlY3RlZCA9IG5ldyBBcnJheSgpOwogIGpRdWVyeSgnaW5wdXQ6Y2hlY2tib3g6Y2hlY2tlZCcpLmVhY2goZnVuY3Rpb24oKXsKICAgIHNlbGVjdGVkLnB1c2goJCh0aGlzKS52YWwoKSk7CiAgfSk7CgogIHhociA9ICQucG9zdChhamF4X3VybCwgeyBzZWxfaXRlbXM6IHNlbGVjdGVkIH0sIGZ1bmN0aW9uKHJldGRhdGEpewogICAgZXZhbCgndmFyIHRlbXBsYXRlcyA9JytyZXRkYXRhKTsKICAgIGpRdWVyeSgnI3NlbF90ZW1wbGF0ZXMnKS5odG1sKCc8b3B0aW9uPnsvbGl0ZXJhbH17JG1vZC0+TGFuZygnbG9hZGluZycpfXtsaXRlcmFsfTwvb3B0aW9uPicpOwogICAgdmFyIHR4dCA9ICcnOwogICAgaWYoIHRlbXBsYXRlcy5sZW5ndGggKQogICAgICB7CiAgICAgICAgZm9yKCBpID0gMDsgaSA8IHRlbXBsYXRlcy5sZW5ndGg7IGkrKyApCiAgICAgIAkgIHsJCiAgICAgICAgICAgIHR4dCArPSAnPG9wdGlvbiB2YWx1ZT0iJyt0ZW1wbGF0ZXNbaV0rJyI+Jyt0ZW1wbGF0ZXNbaV0rJzwvb3B0aW9uPic7CiAgICAgICAgICB9CiAgICAgIH0KICAgIGpRdWVyeSgnI3NlbF90ZW1wbGF0ZXMnKS5odG1sKHR4dCk7CiAgfSk7Cn0KCmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICBhamF4X3VybCA9IGFqYXhfdXJsLnJlcGxhY2UoL2FtcDsvZywnJykgKyAnJnN1cHByZXNzb3V0cHV0PTEnOwoKICBqUXVlcnkoJyNzZWxfZXhwb3J0JykuYXR0cignZGlzYWJsZWQnLCdkaXNhYmxlZCcpOwoKICBqUXVlcnkoJyNzZWxfYWxsJykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHZhciBzdGF0dXMgPSB0aGlzLmNoZWNrZWQ7CiAgICBqUXVlcnkoJyNzZWxfaXRlbXNfc3ViIGlucHV0OmNoZWNrYm94JykuZWFjaChmdW5jdGlvbigpewogICAgICAgdGhpcy5jaGVja2VkID0gc3RhdHVzOwogICAgfSk7CiAgICBvbl9jaGVja2JveF9jbGljaygpOwogIH0pOwoKICBqUXVlcnkoJyNzZWxfaXRlbXNfc3ViIDpjaGVja2JveCcpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICBvbl9jaGVja2JveF9jbGljaygpCiAgfSk7CgogIGpRdWVyeSgnI3NlbF90ZW1wbGF0ZXMnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgIHZhciBzZWxfdGVtcGxhdGVzID0gW107CiAgICBqUXVlcnkoJyNzZWxfdGVtcGxhdGVzIDpzZWxlY3RlZCcpLmVhY2goZnVuY3Rpb24oaSxzZWxlY3RlZCl7CiAgICAgIHNlbF90ZW1wbGF0ZXNbaV0gPSBqUXVlcnkoc2VsZWN0ZWQpLnZhbCgpOwogICAgfSk7CiAgICBpZiggc2VsX3RlbXBsYXRlcy5sZW5ndGggPiAwICl7CiAgICAgIGpRdWVyeSgnI3NlbF9leHBvcnQnKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpOyAgICAgIAogICAgfQogICAgZWxzZQogICAgewogICAgICBqUXVlcnkoJyNzZWxfZXhwb3J0JykuYXR0cignZGlzYWJsZWQnLCdkaXNhYmxlZCcpOwogICAgfQogIH0pOwoKICBqUXVlcnkoJyNleHBvcnRfc2VsX2FsbCcpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICB2YXIgdiA9IGpRdWVyeSh0aGlzKS5pcygnOmNoZWNrZWQnKTsKICAgIGlmKCB2ICkgdiA9ICdzZWxlY3RlZCc7CiAgICBqUXVlcnkoJyNzZWxfdGVtcGxhdGVzJykuZWFjaChmdW5jdGlvbigpewogICAgICBqUXVlcnkoJyNzZWxfdGVtcGxhdGVzIG9wdGlvbicpLmF0dHIoJ3NlbGVjdGVkJyx2KTsKICAgIH0pOwogIH0pOwp9KTsKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCnskZm9ybXN0YXJ0fQo8dGFibGU+CiA8dHI+CiAgIDx0ZCB3aWR0aD0iNDAlIj4KICAgICA8ZmllbGRzZXQgaWQ9InNlbF9pdGVtcyI+CiAgICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnYXZhaWxhYmxlX2l0ZW1zJyl9OiA8L2xlZ2VuZD4KICAgICAgIDxwPnskbW9kLT5MYW5nKCdpbmZvX2F2YWlsYWJsZV9pdGVtcycpfTwvcD4KICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfXNlbF9tb2R1bGVzey9jYXB0dXJlfQogICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJzZWxfYWxsIiBpZD0ic2VsX2FsbCIgdmFsdWU9IjEiLz48bGFiZWwgZm9yPSJzZWxfYWxsIj57JG1vZC0+TGFuZygnc2VsZWN0X2FsbCcpfTwvbGFiZWw+PGJyLz48YnIvPgogICAgICAgPGRpdiBpZD0nc2VsX2l0ZW1zX3N1Yic+CiAgICAgICB7aWYgaXNzZXQoJG1vZHVsZV9saXN0KX0KICAgICAgICAgPGg0PnskbW9kLT5MYW5nKCdtb2R1bGVzJyl9OjwvaDQ+CiAgICAgICAgIHtodG1sX2NoZWNrYm94ZXMgbmFtZT0kdG1wIG9wdGlvbnM9JG1vZHVsZV9saXN0IHNlcGFyYXRvcj0nPGJyLz4nfQogICAgICAgICA8YnIvPgogICAgICAgey9pZn0KICAgICAgIHtpZiBpc3NldCgkbW9kaWZ5X2djYil9CiAgICAgICAgIDxoND57JG1vZC0+TGFuZygnbGlzdF9nY2JzJyl9OjwvaDQ+CiAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxfbW9kdWxlcyIgdmFsdWU9ImdjYjo6Ii8+CiAgICAgICAgIDxsYWJlbD57JG1vZC0+TGFuZygnbGlzdF9nY2JzJyl9PC9sYWJlbD4KICAgICAgICAgPGJyLz4KICAgICAgICAgPGJyLz4KICAgICAgIHsvaWZ9CiAgICAgICB7aWYgaXNzZXQoJG1vZGlmeV91ZHQpfQogICAgICAgICA8aDQ+eyRtb2QtPkxhbmcoJ2xpc3RfdWR0cycpfTo8L2g0PgogICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9c2VsX21vZHVsZXMiIHZhbHVlPSJ1ZHQ6OiIvPgogICAgICAgICA8bGFiZWw+eyRtb2QtPkxhbmcoJ2xpc3RfdWR0cycpfTwvbGFiZWw+CiAgICAgICB7L2lmfQogICAgICAgPC9kaXY+CiAgICAgPC9maWVsZHNldD4KICAgPC90ZD4KICAgPHRkIHZhbGlnbj0idG9wIj4KICAgICA8ZmllbGRzZXQ+CiAgICAgPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgeyRtb2QtPkxhbmcoJ3NlbGVjdF9hbGwnKX06Cgk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJleHBvcnRfc2VsX2FsbCIgbmFtZT0iZXhwb3J0X3NlbGxfYWxsIiB2YWx1ZT0iMSIvPgogICAgIDwvcD4KICAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdhdmFpbGFibGVfdGVtcGxhdGVzJyl9PC9sZWdlbmQ+CiAgICAgICA8c2VsZWN0IGlkPSJzZWxfdGVtcGxhdGVzIiBuYW1lPSJ7JGFjdGlvbmlkfXNlbF90ZW1wbGF0ZXNbXSIgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPXskbnVtX21vZHVsZXN9Ij48L3NlbGVjdD4KICAgICA8L2ZpZWxkc2V0PgogICA8L3RkPgogPC90cj4KPC90YWJsZT4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzZWxfZXhwb3J0IiBuYW1lPSJleHBvcnQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnZXhwb3J0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_export_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhcnRfcGFnZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYXJlbnR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXhwb3J0X2NoaWxkcmVuJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y2hpbGRyZW4iIHZhbHVlPSIxIiBjaGVja2VkPSJjaGVja2VkIi8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_code.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdpbXBvcnRfY29kZScpfTwvaDM+CjxmaWVsZHNldCBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0iY29sb3I6YmxhY2s7cGFkZGluZzo1cHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXI6MnB4IGRvdHRlZCBvcmFuZ2UiPgp7JG1vZC0+TGFuZygnaW5mb19maW5hbF9pbXBvcnRfY29kZScpfQo8L2ZpZWxkc2V0PgoKeyRmb3Jtc3RhcnR9CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9aW1wb3J0X2RhdGEiIHZhbHVlPSJ7JGltcG9ydF9kYXRhfSIvPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogIDx0aGVhZD4KICAgIDx0cj4gCiAgICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbW9kdWxlJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdpbXBvcnRfbmFtZScpfTwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5PgogIHtmb3JlYWNoIGZyb209JGltcG9ydF9pdGVtcyBpdGVtPSdyb3cnfQogICAge2Fzc2lnbiB2YXI9J292ZXJ3cml0ZScgdmFsdWU9MH0KICAgIHtpZiAkcm93Lm5hbWUgPT0gJHJvdy5uZXdfbmFtZX17YXNzaWduIHZhcj0nb3ZlcndyaXRlJyB2YWx1ZT0xfXsvaWZ9CiAgICA8dHJ7aWYgJG92ZXJ3cml0ZSA9PSAxfSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyJ7L2lmfT4KICAgICAgPHRkPnskbW9kLT5MYW5nKCRyb3cudHlwZSl9PC90ZD4KICAgICAgPHRkPnskcm93Lm1vZHVsZX08L3RkPgogICAgICA8dGQ+eyRyb3cubmFtZX08L3RkPgogICAgICA8dGQ+eyRyb3cubmV3X25hbWV9PC90ZD4KICAgIDwvdHI+CiAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXNrX3JlYWxseV9pbXBvcnQnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y29uZmlybV9pbXBvcnQiIHZhbHVlPSIxIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9ZG9faW1wb3J0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2ltcG9ydCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_code_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9Cgo8ZmllbGRzZXQgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9ImNvbG9yOmJsYWNrO3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyOjJweCBkb3R0ZWQgb3JhbmdlIj4KeyRtb2QtPkxhbmcoJ2luZm9faW1wb3J0X2NvZGUnKX0KPC9maWVsZHNldD4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygneG1sX2ZpbGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9eG1sZmlsZSIgc2l6ZT0iODAiLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c2Nhbl9jb2RlIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NjYW4nKX0iLz4KICA8L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGFyZW50Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF9wYXJlbnR9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZmlsZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJ7JGFjdGlvbmlkfWZpbGUiIHNpemU9IjgwIi8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_preview.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdwcmV2aWV3Jyl9OjwvaDM+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R5cGUnKX06Jm5ic3A7eyRkYXRhLnR5cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb2R1bGUnKX06Jm5ic3A7eyRkYXRhLm1vZHVsZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25hbWUnKX06Jm5ic3A7eyRkYXRhLm5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjb250ZW50Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDx0ZXh0YXJlYSBuYW1lPSJmb28iIHJlYWRvbmx5PSJyZWFkb25seSI+eyRkYXRhLmNvZGV9PC90ZXh0YXJlYT4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_scan_code.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb250ZW50c19vZl9maWxlJyl9OiB7JGZpbGVuYW1lfTwvaDM+CjxwPnskbW9kLT5MYW5nKCdpbmZvX3NjYW5uZWRfZmlsZScpfTwvcD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4Ke2xpdGVyYWx9CmZ1bmN0aW9uIGRpc3BsYXlfaW1wb3J0X2J0bigpCnsKICB2YXIgbiA9IGpRdWVyeSgnOmNoZWNrZWQuaW1wb3J0X3JvdycpLmxlbmd0aDsKICBpZiggbiA+IDAgKQogIHsKICAgIGpRdWVyeSgnLmltcG9ydF9idG4nKS5zaG93KCk7CiAgfQogIGVsc2UKICB7CiAgICBqUXVlcnkoJy5pbXBvcnRfYnRuJykuaGlkZSgpOwogIH0KfQoKZnVuY3Rpb24gZGlzcGxheV9uYW1lX2JveGVzKCkKewogICBqUXVlcnkoJzpjaGVja2JveC5pbXBvcnRfcm93JykuZWFjaChmdW5jdGlvbigpewogICAgIHZhciB1biA9IGpRdWVyeSh0aGlzKS52YWwoKTsKICAgICB2YXIgc2VsID0gJ1tuYW1lXj17L2xpdGVyYWx9eyRhY3Rpb25pZH17bGl0ZXJhbH1uZXdfbmFtZVsnK3VuKyddXSc7CiAgICAgaWYoIGpRdWVyeSh0aGlzKS5pcygnOmNoZWNrZWQnKSApCgl7CgkgICBqUXVlcnkoc2VsKS5zaG93KCk7CiAgICAgICAgfQogICAgIGVsc2UKICAgICAgICB7CgkgICBqUXVlcnkoc2VsKS5oaWRlKCk7CiAgICAgICAgfQogICB9KTsKfQoKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIGRpc3BsYXlfaW1wb3J0X2J0bigpOwogIGRpc3BsYXlfbmFtZV9ib3hlcygpOwoKICBqUXVlcnkoJzpjaGVja2JveC5pbXBvcnRfcm93JykuY2xpY2soZnVuY3Rpb24oKXsKICAgIGRpc3BsYXlfbmFtZV9ib3hlcygpOwogICAgZGlzcGxheV9pbXBvcnRfYnRuKCk7CiAgfSk7CgogIGpRdWVyeSgnI3NlbF9hbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgalF1ZXJ5KCc6Y2hlY2tib3gnKS5hdHRyKCdjaGVja2VkJywgalF1ZXJ5KHRoaXMpLmlzKCc6Y2hlY2tlZCcpKQogICAgZGlzcGxheV9pbXBvcnRfYnRuKCk7CiAgICBkaXNwbGF5X25hbWVfYm94ZXMoKTsKICB9KTsKfSk7CnsvbGl0ZXJhbH0KPC9zY3JpcHQ+Cgp7aWYgJG51bV9hdmFpbGFibGUgPT0gMH0Ke2NnZV9hZG1pbl9lcnJvciBlcnJvcj0kbW9kLT5MYW5nKCdlcnJvcl9ub3RoaW5ndG9pbXBvcnQnKX0Key9pZn0KCnskZm9ybXN0YXJ0fQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWZpbGVuYW1lIiB2YWx1ZT0ieyRmaWxlbmFtZX0iLz4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iaW1wb3J0X2J0biIgbmFtZT0ieyRhY3Rpb25pZH1pbXBvcnQiIGNsYXNzPSJwYWdlYnV0dG9uIGltcG9ydF9idG4iIHZhbHVlPSJ7JG1vZC0+TGFuZygnbmV4dCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIGNsYXNzPSJwYWdlYnV0dG9uIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+Cgo8dGFibGUgd2lkdGg9IjEwMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogPHRoZWFkPgogIDx0cj4gCiAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgogICAgPHRoPnskbW9kLT5MYW5nKCdtb2R1bGUnKX08L3RoPgogICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgIDx0aD57JG1vZC0+TGFuZygnaW1wb3J0X25hbWUnKX08L3RoPgogICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRtb2QtPkxhbmcoJ3ByZXZpZXcnKX08L3RoPgogICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+e2lmICRudW1fYXZhaWxhYmxlIGd0IDB9PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJzZWxfYWxsIiBpZD0ic2VsX2FsbCIgdmFsdWU9IjEiLz57L2lmfTwvdGg+CiAgPC90cj4KIDwvdGhlYWQ+CgogPHRib2R5Pgoge2ZvcmVhY2ggZnJvbT0kc2Nhbm5lZF9kYXRhIG5hbWU9J3NjYW5uZWRfZGF0YScgaXRlbT0ncm93J30KICA8dHI+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJHJvdy50eXBlKX08L3RkPgogICAgPHRkPnskcm93Lm1vZHVsZX08L3RkPgogICAgPHRkPnskcm93Lm5hbWV9PC90ZD4KICAgIDx0ZD4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bmV3X25hbWVbeyRyb3cudW5pcXVlaWR9XSIgdmFsdWU9Inskcm93Lm5ld19uYW1lfGRlZmF1bHQ6Jyd9IiBzaXplPSI0MCIgbWF4bGVuZ3RoPSI0MCIvPgogICAgICB7KiRyb3cubmV3X25hbWV8ZGVmYXVsdDonJyp9CiAgICA8L3RkPgogICAgPHRkIGFsaWduPSJjZW50ZXIiPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR0NvbnRlbnRVdGlscycgYWN0aW9uPSdhZG1pbl9wcmV2aWV3JyBmaWxlPSRmaWxlbmFtZSB0eXBlPSRyb3cudHlwZSBuYW1lPSRyb3cubmFtZSBpbWFnZT0naWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJyBpbWFnZW9ubHk9MX08L3RkPgogICAgPHRkPntpZiBpc3NldCgkcm93LmF2YWlsYWJsZSkgJiYgJHJvdy5hdmFpbGFibGUgPT0gMX08aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJpbXBvcnRfcm93IiBuYW1lPSJ7JGFjdGlvbmlkfWltcG9ydF9pdGVtW10iIHZhbHVlPSJ7JHJvdy51bmlxdWVpZH0iPnsvaWZ9PC90ZD4KICA8L3RyPgogey9mb3JlYWNofQogPC90Ym9keT4KPC90YWJsZT4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iaW1wb3J0X2J0biIgbmFtZT0ieyRhY3Rpb25pZH1pbXBvcnQiIGNsYXNzPSJwYWdlYnV0dG9uIGltcG9ydF9idG4iIHZhbHVlPSJ7JG1vZC0+TGFuZygnbmV4dCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIGNsYXNzPSJwYWdlYnV0dG9uIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
</module>
