<?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>GCharts</name>
	<version>1.3.1</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIGFkZGl0aW9uIG9mIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGNhbGwgYmVmb3JlIHlvdXIgY2xvc2luZyBib2R5IHRhZyB3aXRoIHRoZSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheSA8Y29kZT57R0NoYXJ0cyBnY2hhcnRzX2lkPScxJ308L2NvZGU+LCBkYXRhIGZpZWxkIGFjY2VwdHMgc21hcnR5IHZhcmlhYmxlcy48L3A+CjxwPkZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhcyB0byB3aGF0IHZhbHVlcyBlYWNoIHBhcmFtZXRlciB0YWtlcyBsb29rIGF0IHRoZSBHb29nbGUgQ2hhcnRzIGRvY3VtZW50YXRpb24gPGEgaHJlZj0iaHR0cHM6Ly9nb29nbGUtZGV2ZWxvcGVycy5hcHBzcG90LmNvbS9jaGFydC8iPmh0dHBzOi8vZ29vZ2xlLWRldmVsb3BlcnMuYXBwc3BvdC5jb20vY2hhcnQvPC9hPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2djaGFydHMvIj5HQ2hhcnRzIFBhZ2U8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIG9saXZlcnNlZGRvbiwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTMsIE9saXZlciBTZWRkb24gPGEgaHJlZj0ibWFpbHRvOm9saXZlckB0aHJlZWZvbGQuY28udWsiPiZsdDtvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZ2NoYXJ0c19pZD0iMSIgLSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheS48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBvbGl2ZXJzZWRkb24gJmx0O29saXZlckB0aHJlZWZvbGQuY28udWsmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4zLjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT5WZXJzaW9uIDEuMCA4IEp1bHkgMjAxMy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuMSAxNSBKdWx5IDIwMTMuIE11bHRpcGxlIGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjIgMTQgTm92ZW1iZXIgMjAxMy4gQWRkZWQgY29sdW1uIGNoYXJ0cyBvcHRpb24gcGx1cyBtYW55IGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjMgNSBEZWNlbWJlciAyMDEzLiBBZGRlZCBIaXN0b2dyYW0gYW5kIFRpbWVsaW5lIGNoYXJ0IG9wdGlvbnMgcGx1cyBtaW5vciBidWcgZml4ZXMgYW5kIGNvZGUgdGlkeWluZyB1cC48L2xpPgo8bGk+VmVyc2lvbiAxLjMuMSAxMSBEZWNlbWJlciAyMDEzLiBBZGRlZCB0aGUgYWJpbGl0eSBmb3IgR0NoYXJ0cyB0byBjcmVhdGUgY2hhcnQgZGl2IGVsZW1lbnQgYXV0b21hdGljYWxseSBpZiBubyBjb250YWluaW5nIGVsZW1lbnQgSUQgaXMgc3BlY2lmaWVkIGFuZCBidWcgZml4ZXMuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This module add Google Charts to your website.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addchart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgkkZGV0YWlscGFnZSA9ICcnOwoKCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSkKCXsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CgkJcmV0dXJuOwoJfQoKCWlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCgl7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cgl9CgovLyBHaXZlIHRoZSBmb3JtIGlkIHRvIHNtYXJ0eQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1pZCcsJGlkKTsKCgkkZGF0YSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGEnXSkpCgl7CgkJJGRhdGEgPSAkcGFyYW1zWydkYXRhJ107Cgl9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CglpZiAoaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pKQoJewoJCSRzdGF0dXMgPSAkcGFyYW1zWydzdGF0dXMnXTsKCX0KCgkkdXNlZGNhdGVnb3J5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2F0ZWdvcnknLCAnJyk7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkJJHVzZWRjYXRlZ29yeSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107Cgl9CgoJJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCgkkbmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCgl7CgkgICRuYW1lID0gJHBhcmFtc1snbmFtZSddOwoJfQoKCSRlbGVtZW50ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZWxlbWVudCddKSkKCXsKCSAgJGVsZW1lbnQgPSAkcGFyYW1zWydlbGVtZW50J107Cgl9CgoJJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddKSkKCXsKCSAgJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwoJfQoKCSRiYWNrZ3JvdW5kQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXSkpCgl7CgkgICRiYWNrZ3JvdW5kQ29sb3IgPSAkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXTsKCX0KCgkkY2hhcnRBcmVhID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2hhcnRBcmVhJ10pKQoJewoJICAkY2hhcnRBcmVhID0gJHBhcmFtc1snY2hhcnRBcmVhJ107Cgl9CgoJJGNvbG9ycyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9ycyddKSkKCXsKCSAgJGNvbG9ycyA9ICRwYXJhbXNbJ2NvbG9ycyddOwoJfQoKCSRjdXJ2ZVR5cGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjdXJ2ZVR5cGUnXSkpCgl7CgkgICRjdXJ2ZVR5cGUgPSAkcGFyYW1zWydjdXJ2ZVR5cGUnXTsKCX0KCgkkZW5hYmxlSW50ZXJhY3Rpdml0eSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2VuYWJsZUludGVyYWN0aXZpdHknXSkpCgl7CgkgICRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddOwoJfQoKCSRmb2N1c1RhcmdldCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J10pKQoJewoJICAkZm9jdXNUYXJnZXQgPSAkcGFyYW1zWydmb2N1c1RhcmdldCddOwoJfQoKCSRmb250U2l6ZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnRTaXplJ10pKQoJewoJICAkZm9udFNpemUgPSAkcGFyYW1zWydmb250U2l6ZSddOwoJfQoKCSRmb250TmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnROYW1lJ10pKQoJewoJICAkZm9udE5hbWUgPSAkcGFyYW1zWydmb250TmFtZSddOwoJfQoKCSRoQXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGVzJ10pKQoJewoJICAkaEF4ZXMgPSAkcGFyYW1zWydoQXhlcyddOwoJfQoKCSRoQXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGlzJ10pKQoJewoJICAkaEF4aXMgPSAkcGFyYW1zWydoQXhpcyddOwoJfQoKCSRoZWlnaHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydoZWlnaHQnXSkpCgl7CgkgICRoZWlnaHQgPSAkcGFyYW1zWydoZWlnaHQnXTsKCX0KCgkkaXNIdG1sID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNIdG1sJ10pKQoJewoJICAkaXNIdG1sID0gJHBhcmFtc1snaXNIdG1sJ107Cgl9CgoJJGlzU3RhY2tlZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2lzU3RhY2tlZCddKSkKCXsKCSAgJGlzU3RhY2tlZCA9ICRwYXJhbXNbJ2lzU3RhY2tlZCddOwoJfQoKCSRpczNEID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXMzRCddKSkKCXsKCSAgJGlzM0QgPSAkcGFyYW1zWydpczNEJ107Cgl9CgoJJGludGVycG9sYXRlZE51bGxzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXSkpCgl7CgkgICRpbnRlcnBvbGF0ZWROdWxscyA9ICRwYXJhbXNbJ2ludGVycG9sYXRlZE51bGxzJ107Cgl9CgoJJGxlZ2VuZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xlZ2VuZCddKSkKCXsKCSAgJGxlZ2VuZCA9ICRwYXJhbXNbJ2xlZ2VuZCddOwoJfQoKCSRsaW5lV2lkdGggPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydsaW5lV2lkdGgnXSkpCgl7CgkgICRsaW5lV2lkdGggPSAkcGFyYW1zWydsaW5lV2lkdGgnXTsKCX0KCgkkcG9pbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncG9pbnRTaXplJ10pKQoJewoJICAkcG9pbnRTaXplID0gJHBhcmFtc1sncG9pbnRTaXplJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VDb2xvciA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VMYWJlbCA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ107Cgl9CgoJJHBpZVNsaWNlQm9yZGVyQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZUJvcmRlckNvbG9yJ10pKQoJewoJICAkcGllU2xpY2VCb3JkZXJDb2xvciA9ICRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXTsKCX0KCgkkcGllU2xpY2VUZXh0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0J10pKQoJewoJICAkcGllU2xpY2VUZXh0ID0gJHBhcmFtc1sncGllU2xpY2VUZXh0J107Cgl9CgoJJHBpZVNsaWNlVGV4dFN0eWxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXSkpCgl7CgkgICRwaWVTbGljZVRleHRTdHlsZSA9ICRwYXJhbXNbJ3BpZVNsaWNlVGV4dFN0eWxlJ107Cgl9CgoJJHJldmVyc2VDYXRlZ29yaWVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXSkpCgl7CgkgICRyZXZlcnNlQ2F0ZWdvcmllcyA9ICRwYXJhbXNbJ3JldmVyc2VDYXRlZ29yaWVzJ107Cgl9CgoJJHNsaWNlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NsaWNlcyddKSkKCXsKCSAgJHNsaWNlcyA9ICRwYXJhbXNbJ3NsaWNlcyddOwoJfQoKCSRzZXJpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzZXJpZXMnXSkpCgl7CgkgICRzZXJpZXMgPSAkcGFyYW1zWydzZXJpZXMnXTsKCX0KCgkkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ10pKQoJewoJICAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107Cgl9CgoJJHRoZW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGhlbWUnXSkpCgl7CgkgICR0aGVtZSA9ICRwYXJhbXNbJ3RoZW1lJ107Cgl9CgoJJHRpdGxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkpCgl7CgkgICR0aXRsZSA9ICRwYXJhbXNbJ3RpdGxlJ107Cgl9CgoJJHRpdGxlUG9zaXRpb24gPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVBvc2l0aW9uJ10pKQoJewoJICAkdGl0bGVQb3NpdGlvbiA9ICRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXTsKCX0KCgkkdGl0bGVUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddKSkKCXsKCSAgJHRpdGxlVGV4dFN0eWxlID0gJHBhcmFtc1sndGl0bGVUZXh0U3R5bGUnXTsKCX0KCgkkdG9vbHRpcCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Rvb2x0aXAnXSkpCgl7CgkgICR0b29sdGlwID0gJHBhcmFtc1sndG9vbHRpcCddOwoJfQoKCSR2QXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGVzJ10pKQoJewoJICAkdkF4ZXMgPSAkcGFyYW1zWyd2QXhlcyddOwoJfQoKCSR2QXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGlzJ10pKQoJewoJICAkdkF4aXMgPSAkcGFyYW1zWyd2QXhpcyddOwoJfQoKCSR3aWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pKQoJewoJICAkd2lkdGggPSAkcGFyYW1zWyd3aWR0aCddOwoJfQoKCSRhZ2dyZWdhdGlvblRhcmdldCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J10pKQoJewoJICAkYWdncmVnYXRpb25UYXJnZXQgPSAkcGFyYW1zWydhZ2dyZWdhdGlvblRhcmdldCddOwoJfQoKCSRncm91cFdpZHRoID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZ3JvdXBXaWR0aCddKSkKCXsKCSAgJGdyb3VwV2lkdGggPSAkcGFyYW1zWydncm91cFdpZHRoJ107Cgl9CgoJJGRhdGFPcGFjaXR5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZGF0YU9wYWNpdHknXSkpCgl7CgkgICRkYXRhT3BhY2l0eSA9ICRwYXJhbXNbJ2RhdGFPcGFjaXR5J107Cgl9CgoJJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ10pKQoJewoJICAkYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyA9ICRwYXJhbXNbJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnXTsKCX0KCgkkdGltZWxpbmUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aW1lbGluZSddKSkKCXsKCSAgJHRpbWVsaW5lID0gJHBhcmFtc1sndGltZWxpbmUnXTsKCX0KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICRlcnJvciA9IEZBTFNFOwogICAgaWYoIGVtcHR5KCRuYW1lKSApCiAgICAgIHsKCSRlcnJvciA9ICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub25hbWVnaXZlbicpKTsKICAgICAgfQogICAgZWxzZSBpZiggZW1wdHkoJGRhdGEpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vZGF0YWdpdmVuJykpOwogICAgICB9CgogICAgLy8KICAgIC8vIGRhdGFiYXNlIHdvcmsKICAgIC8vCiAgICBpZiggJGVycm9yICE9PSBGQUxTRSApCiAgICAgIHsKCWVjaG8gJGVycm9yOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRjaGFydGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX3NlcSIpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyAoZ2NoYXJ0c19pZCwgZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19lbGVtZW50X2lkLCBnY2hhcnRzX25hbWUsIGdjaGFydHNfZGF0YSwgYXhpc1RpdGxlc1Bvc2l0aW9uLCBiYWNrZ3JvdW5kQ29sb3IsIGN1cnZlVHlwZSwgY2hhcnRBcmVhLCBjb2xvcnMsIGVuYWJsZUludGVyYWN0aXZpdHksIGZvY3VzVGFyZ2V0LCBmb250U2l6ZSwgZm9udE5hbWUsIGhBeGVzLCBoQXhpcywgaGVpZ2h0LCBpbnRlcnBvbGF0ZWROdWxscywgaXNIdG1sLCBpc1N0YWNrZWQsIGlzM0QsIGxlZ2VuZCwgbGluZVdpZHRoLCBzbGljZXMsIHBpZVNsaWNlQm9yZGVyQ29sb3IsIHBpZVNsaWNlVGV4dCwgcGllU2xpY2VUZXh0U3R5bGUsIHBvaW50U2l6ZSwgcmV2ZXJzZUNhdGVnb3JpZXMsIHNlcmllcywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCBwaWVSZXNpZHVlU2xpY2VDb2xvciwgcGllUmVzaWR1ZVNsaWNlTGFiZWwsIHRoZW1lLCB0aXRsZSwgdGl0bGVQb3NpdGlvbiwgdGl0bGVUZXh0U3R5bGUsIHRvb2x0aXAsIHZBeGVzLCB2QXhpcywgd2lkdGgsIHN0YXR1cywgYWdncmVnYXRpb25UYXJnZXQsIGdyb3VwV2lkdGgsIGRhdGFPcGFjaXR5LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCB0aW1lbGluZSkgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2hhcnRpZCwgJHVzZWRjYXRlZ29yeSwgJGVsZW1lbnQsICRuYW1lLCAkZGF0YSwgJGF4aXNUaXRsZXNQb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvciwgJGN1cnZlVHlwZSwgJGNoYXJ0QXJlYSwgJGNvbG9ycywgJGVuYWJsZUludGVyYWN0aXZpdHksICRmb2N1c1RhcmdldCwgJGZvbnRTaXplLCAkZm9udE5hbWUsICRoQXhlcywgJGhBeGlzLCAkaGVpZ2h0LCAkaW50ZXJwb2xhdGVkTnVsbHMsICRpc1N0YWNrZWQsICRpc0h0bWwsICRpczNELCAkbGVnZW5kLCAkbGluZVdpZHRoLCAkc2xpY2VzLCAkcGllU2xpY2VCb3JkZXJDb2xvciwgJHBpZVNsaWNlVGV4dCwgJHBpZVNsaWNlVGV4dFN0eWxlLCAkcG9pbnRTaXplLCAkcmV2ZXJzZUNhdGVnb3JpZXMsICRzZXJpZXMsICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgJHBpZVJlc2lkdWVTbGljZUxhYmVsLCAkdGhlbWUsICR0aXRsZSwgJHRpdGxlUG9zaXRpb24sICR0aXRsZVRleHRTdHlsZSwgJHRvb2x0aXAsICR2QXhlcywgJHZBeGlzLCAkd2lkdGgsICRzdGF0dXMsICRhZ2dyZWdhdGlvblRhcmdldCwgJGdyb3VwV2lkdGgsICRkYXRhT3BhY2l0eSwgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsICR0aW1lbGluZSkpOwogICAgCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAiREVCVUc6IFNRTCA9ICIuJGRiLT5zcWwuIjxici8+IjsKCSAgICBkaWUoJGRiLT5FcnJvck1zZygpKTsKCSAgfQoKCWlmKCAhJGVycm9yICYmICRzdGF0dXMgPT0gJ3B1Ymxpc2hlZCcgKQoJICB7CgkgICAgLy9VcGRhdGUgc2VhcmNoIGluZGV4CgkgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsKCSAgICBpZiAoaXNfb2JqZWN0KCRtb2R1bGUpICkKCSAgICAgIHsKCQkkdGV4dCA9ICcnOwoJICAgIAoJCSR0ZXh0ID0gJGRhdGEuJyAnLiRuYW1lOwoJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRjaGFydGlkLCAnY2hhcnQnLCAkdGV4dCk7CgkgICAgICB9CgkgIH0KCQoJaWYoICEkZXJyb3IgKQoJICB7CgkgICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0NoYXJ0QWRkZWQnLCBhcnJheSgnZ2NoYXJ0c19pZCcgPT4gJGNoYXJ0aWQsICdjYXRlZ29yeV9pZCcgPT4gJHVzZWRjYXRlZ29yeSwgJ2djaGFydHNfbmFtZScgPT4gJG5hbWUsICdnY2hhcnRzX2RhdGEnID0+ICRkYXRhLCAnc3RhdHVzJyA9PiAkc3RhdHVzKSk7CgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJYXVkaXQoJGNoYXJ0aWQsICdHQ2hhcnRzOiAnLiRjaGFydGlkLCAnQ2hhcnQgYWRkZWQnKTsKCSAgICAkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdjaGFydGFkZGVkJywgJ2FjdGl2ZV90YWInID0+ICdjaGFydHMnKTsKCSAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCSAgfSAvLyBpZiAhJGVycm9yCiAgICAgIH0gLy8gb3V0ZXIgaWYgISRlcnJvcgogIH0gLy8gc3VibWl0CgoKLy8KLy8gYnVpbGQgdGhlIGZvcm0KLy8gICAgCiRzdGF0dXNkcm9wZG93biA9IGFycmF5KCk7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygnZHJhZnQnKV0gPSAnZHJhZnQnOwokc3RhdHVzZHJvcGRvd25bJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpXSA9ICdwdWJsaXNoZWQnOwogICAgCiAgICAkY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgIAogICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CgkJJGNhdGVnb3J5bGlzdFskcm93WydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107Cgl9Cgokb25jaGFuZ2V0ZXh0PSdvbmNoYW5nZT0iZG9jdW1lbnQnLiRpZC4nbW9kdWxlZm9ybV8xLnN1Ym1pdCgpIiBpZD0iY2hhcnRDYXRlZ29yeSInOwoJI0Rpc3BsYXkgdGVtcGxhdGUKCSRzbWFydHktPmFzc2lnbignY3VycmNhdCcsICcxJyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGNoYXJ0JywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKCSRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGVsZW1lbnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VsZW1lbnQnLCAkZWxlbWVudCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGRhdGEnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJGRhdGEsICdkYXRhJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGF4aXNUaXRsZXNQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYXhpc1RpdGxlc1Bvc2l0aW9uJywgJGF4aXNUaXRsZXNQb3NpdGlvbiwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGJhY2tncm91bmRDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYmFja2dyb3VuZENvbG9yJywgJGJhY2tncm91bmRDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNoYXJ0QXJlYScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY2hhcnRBcmVhJywgJGNoYXJ0QXJlYSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNvbG9ycycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY29sb3JzJywgJGNvbG9ycywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGN1cnZlVHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3VydmVUeXBlJywgJGN1cnZlVHlwZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGVuYWJsZUludGVyYWN0aXZpdHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VuYWJsZUludGVyYWN0aXZpdHknLCAkZW5hYmxlSW50ZXJhY3Rpdml0eSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvY3VzVGFyZ2V0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb2N1c1RhcmdldCcsICRmb2N1c1RhcmdldCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvbnRTaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb250U2l6ZScsICRmb250U2l6ZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGZvbnROYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmb250TmFtZScsICRmb250TmFtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhBeGVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoQXhlcycsICRoQXhlcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhBeGlzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoQXhpcycsICRoQXhpcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGhlaWdodCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaGVpZ2h0JywgJGhlaWdodCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGludGVycG9sYXRlZE51bGxzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnRlcnBvbGF0ZWROdWxscycsICRpbnRlcnBvbGF0ZWROdWxscywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzSHRtbCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXNIdG1sJywgJGlzSHRtbCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzU3RhY2tlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXNTdGFja2VkJywgJGlzU3RhY2tlZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGlzM0QnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzM0QnLCAkaXMzRCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGxlZ2VuZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbGVnZW5kJywgJGxlZ2VuZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGxpbmVXaWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbGluZVdpZHRoJywgJGxpbmVXaWR0aCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNsaWNlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2xpY2VzJywgJHNsaWNlcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlQm9yZGVyQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlQm9yZGVyQ29sb3InLCAkcGllU2xpY2VCb3JkZXJDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlVGV4dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VUZXh0JywgJHBpZVNsaWNlVGV4dCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVNsaWNlVGV4dFN0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZVRleHRTdHlsZScsICRwaWVTbGljZVRleHRTdHlsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBvaW50U2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncG9pbnRTaXplJywgJHBvaW50U2l6ZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHJldmVyc2VDYXRlZ29yaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdyZXZlcnNlQ2F0ZWdvcmllcycsICRyZXZlcnNlQ2F0ZWdvcmllcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNlcmllcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2VyaWVzJywgJHNlcmllcywgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJywgJHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVJlc2lkdWVTbGljZUNvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVSZXNpZHVlU2xpY2VDb2xvcicsICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHBpZVJlc2lkdWVTbGljZUxhYmVsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVSZXNpZHVlU2xpY2VMYWJlbCcsICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRoZW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aGVtZScsICR0aGVtZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZScsICR0aXRsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlUG9zaXRpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlUG9zaXRpb24nLCAkdGl0bGVQb3NpdGlvbiwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRpdGxlVGV4dFN0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZVRleHRTdHlsZScsICR0aXRsZVRleHRTdHlsZSwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRvb2x0aXAnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Rvb2x0aXAnLCAkdG9vbHRpcCwgMzAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHZBeGVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0b29sdGlwJywgJHZBeGVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dkF4aXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3ZBeGlzJywgJHZBeGlzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0d2lkdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3dpZHRoJywgJHdpZHRoLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YWdncmVnYXRpb25UYXJnZXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FnZ3JlZ2F0aW9uVGFyZ2V0JywgJGFnZ3JlZ2F0aW9uVGFyZ2V0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Z3JvdXBXaWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZ3JvdXBXaWR0aCcsICRncm91cFdpZHRoLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZGF0YU9wYWNpdHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2RhdGFPcGFjaXR5JywgJGRhdGFPcGFjaXR5LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycsICRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGltZWxpbmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpbWVsaW5lJywgJHRpbWVsaW5lLCAzMCwgMjU1KSk7CiRzbWFydHktPmFzc2lnbignYWN0aW9uaWQnLCRpZCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBcHByb3ZlIEdDaGFydHMnKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywgbGFuZygnc3RhdHVzJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdzdGF0dXMnLCAkc3RhdHVzZHJvcGRvd24sIC0xLCAkc3RhdHVzKSk7CiAgfQogZWxzZQogICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1cycsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnc3RhdHVzJywkc3RhdHVzKSk7CiAgIH0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dGNhdGVnb3J5JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnY2F0ZWdvcnknLCAkY2F0ZWdvcnlsaXN0LCAtMSwgJHVzZWRjYXRlZ29yeSwgJG9uY2hhbmdldGV4dCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKCSRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CgoJJHNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbGVtZW50dGV4dCcsICR0aGlzLT5MYW5nKCdlbGVtZW50JykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2RhdGF0ZXh0JywgJHRoaXMtPkxhbmcoJ2RhdGEnKSk7CiRzbWFydHktPmFzc2lnbignYXhpc1RpdGxlc1Bvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCdheGlzVGl0bGVzUG9zaXRpb24nKSk7CiRzbWFydHktPmFzc2lnbignYmFja2dyb3VuZENvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdiYWNrZ3JvdW5kQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbignY2hhcnRBcmVhdGV4dCcsICR0aGlzLT5MYW5nKCdjaGFydEFyZWEnKSk7CiRzbWFydHktPmFzc2lnbignY29sb3JzdGV4dCcsICR0aGlzLT5MYW5nKCdjb2xvcnMnKSk7CiRzbWFydHktPmFzc2lnbignY3VydmVUeXBldGV4dCcsICR0aGlzLT5MYW5nKCdjdXJ2ZVR5cGUnKSk7CiRzbWFydHktPmFzc2lnbignZW5hYmxlSW50ZXJhY3Rpdml0eXRleHQnLCAkdGhpcy0+TGFuZygnZW5hYmxlSW50ZXJhY3Rpdml0eScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb2N1c1RhcmdldHRleHQnLCAkdGhpcy0+TGFuZygnZm9jdXNUYXJnZXQnKSk7CiRzbWFydHktPmFzc2lnbignZm9udFNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnRTaXplJykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvbnROYW1ldGV4dCcsICR0aGlzLT5MYW5nKCdmb250TmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdoQXhlc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4ZXMnKSk7CiRzbWFydHktPmFzc2lnbignaEF4aXN0ZXh0JywgJHRoaXMtPkxhbmcoJ2hBeGlzJykpOwokc21hcnR5LT5hc3NpZ24oJ2hlaWdodHRleHQnLCAkdGhpcy0+TGFuZygnaGVpZ2h0JykpOwokc21hcnR5LT5hc3NpZ24oJ2ludGVycG9sYXRlZE51bGxzdGV4dCcsICR0aGlzLT5MYW5nKCdpbnRlcnBvbGF0ZWROdWxscycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpc0h0bWx0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzSHRtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpc1N0YWNrZWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzU3RhY2tlZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpczNEdGV4dCcsICR0aGlzLT5MYW5nKCdpczNEJykpOwokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZHRleHQnLCAkdGhpcy0+TGFuZygnbGVnZW5kJykpOwokc21hcnR5LT5hc3NpZ24oJ2xpbmVXaWR0aHRleHQnLCAkdGhpcy0+TGFuZygnbGluZVdpZHRoJykpOwokc21hcnR5LT5hc3NpZ24oJ3NsaWNlc3RleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VzJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVNsaWNlQm9yZGVyQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlQm9yZGVyQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VUZXh0dGV4dCcsICR0aGlzLT5MYW5nKCdwaWVTbGljZVRleHQnKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VUZXh0U3R5bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dFN0eWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ3BvaW50U2l6ZXRleHQnLCAkdGhpcy0+TGFuZygncG9pbnRTaXplJykpOwokc21hcnR5LT5hc3NpZ24oJ3JldmVyc2VDYXRlZ29yaWVzdGV4dCcsICR0aGlzLT5MYW5nKCdyZXZlcnNlQ2F0ZWdvcmllcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdzZXJpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3NlcmllcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGR0ZXh0JywgJHRoaXMtPkxhbmcoJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVSZXNpZHVlU2xpY2VDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygncGllUmVzaWR1ZVNsaWNlQ29sb3InKSk7CiRzbWFydHktPmFzc2lnbigncGllUmVzaWR1ZVNsaWNlTGFiZWx0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVJlc2lkdWVTbGljZUxhYmVsJykpOwokc21hcnR5LT5hc3NpZ24oJ3RoZW1ldGV4dCcsICR0aGlzLT5MYW5nKCd0aGVtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZXRleHQnLCAkdGhpcy0+TGFuZygndGl0bGUnKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGVQb3NpdGlvbnRleHQnLCAkdGhpcy0+TGFuZygndGl0bGVQb3NpdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZVRleHRTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygndGl0bGVUZXh0U3R5bGUnKSk7CiRzbWFydHktPmFzc2lnbigndG9vbHRpcHRleHQnLCAkdGhpcy0+TGFuZygndG9vbHRpcCcpKTsKJHNtYXJ0eS0+YXNzaWduKCd2QXhlc3RleHQnLCAkdGhpcy0+TGFuZygndkF4ZXMnKSk7CiRzbWFydHktPmFzc2lnbigndkF4aXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3ZBeGlzJykpOwokc21hcnR5LT5hc3NpZ24oJ3dpZHRodGV4dCcsICR0aGlzLT5MYW5nKCd3aWR0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdhZ2dyZWdhdGlvblRhcmdldHRleHQnLCAkdGhpcy0+TGFuZygnYWdncmVnYXRpb25UYXJnZXQnKSk7CiRzbWFydHktPmFzc2lnbignZ3JvdXBXaWR0aHRleHQnLCAkdGhpcy0+TGFuZygnZ3JvdXBXaWR0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdkYXRhT3BhY2l0eXRleHQnLCAkdGhpcy0+TGFuZygnZGF0YU9wYWNpdHknKSk7CiRzbWFydHktPmFzc2lnbignYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lc3RleHQnLCAkdGhpcy0+TGFuZygnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aW1lbGluZXRleHQnLCAkdGhpcy0+TGFuZygndGltZWxpbmUnKSk7CgovLyB0YWIgc3R1ZmYuCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2hlYWRlcnMnLCR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKSk7CiRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX2NoYXJ0JywkdGhpcy0+U2V0VGFiSGVhZGVyKCdjaGFydCcsJHRoaXMtPkxhbmcoJ2NoYXJ0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2hlYWRlcnMnLCR0aGlzLT5FbmRUYWJIZWFkZXJzKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydF90YWJfY29udGVudCcsJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydF90YWJfY2hhcnQnLCR0aGlzLT5TdGFydFRhYignY2hhcnQnLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2NoYXJ0JywkdGhpcy0+RW5kVGFiKCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfY29udGVudCcsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3dhcm5pbmdfcHJldmlldycsJHRoaXMtPkxhbmcoJ3dhcm5pbmdfcHJldmlldycpKTsKJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwokc21hcnR5LT5hc3NpZ24oJ3ByZXZpZXdfcmV0dXJuaWQnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlsX3JldHVybmlkJywtMSksCgkJCQkJCSAgICAgJ3ByZXZpZXdfcmV0dXJuaWQnKSk7CnsKICAkdG1wID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsKICAkdG1wMiA9IGFycmF5KCk7CiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQogICAgewogICAgICBpZiggc3RhcnRzd2l0aCgkdG1wWyRpXSwnZGV0YWlsJykgKQoJewoJICAkeCA9IHN1YnN0cigkdG1wWyRpXSw2KTsKCSAgJHRtcDJbJHhdID0gJHg7Cgl9CiAgICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGV0YWlsX3RlbXBsYXRlJywkdGhpcy0+TGFuZygnZGV0YWlsX3RlbXBsYXRlJykpOwogICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF9wYWdlJywkdGhpcy0+TGFuZygnZGV0YWlsX3BhZ2UnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdkZXRhaWxfdGVtcGxhdGVzJywkdG1wMik7CiAgJHNtYXJ0eS0+YXNzaWduKCdjdXJfZGV0YWlsX3RlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnKSk7Cn0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2hhcnQudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovLy8vLyBHTE9CQUxTIC8vLy8vCgokZ0NtcyA9IGNtc21zKCk7CiRzbWFydHkgPSAmJGdDbXMtPkdldFNtYXJ0eSgpOwokZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCiRxdWVyeSA9ICdTRUxFQ1QgZ2NoYXJ0c19pZCwgZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19lbGVtZW50X2lkLCBnY2hhcnRzX25hbWUsIGdjaGFydHNfZGF0YSwgYXhpc1RpdGxlc1Bvc2l0aW9uLCBiYWNrZ3JvdW5kQ29sb3IsIGNoYXJ0QXJlYSwgY3VydmVUeXBlLCBjb2xvcnMsIGVuYWJsZUludGVyYWN0aXZpdHksIGZvY3VzVGFyZ2V0LCBmb250U2l6ZSwgZm9udE5hbWUsIGhBeGVzLCBoQXhpcywgaGVpZ2h0LCBpbnRlcnBvbGF0ZWROdWxscywgaXNIdG1sLCBpc1N0YWNrZWQsIGlzM0QsIGxlZ2VuZCwgbGluZVdpZHRoLCBzbGljZXMsIHBpZVNsaWNlQm9yZGVyQ29sb3IsIHBpZVNsaWNlVGV4dCwgcGllU2xpY2VUZXh0U3R5bGUsIHBvaW50U2l6ZSwgcmV2ZXJzZUNhdGVnb3JpZXMsIHNlcmllcywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCBwaWVSZXNpZHVlU2xpY2VDb2xvciwgcGllUmVzaWR1ZVNsaWNlTGFiZWwsIHRoZW1lLCB0aXRsZSwgdGl0bGVQb3NpdGlvbiwgdGl0bGVUZXh0U3R5bGUsIHRvb2x0aXAsIHZBeGVzLCB2QXhpcywgd2lkdGgsIHN0YXR1cywgYWdncmVnYXRpb25UYXJnZXQsIGdyb3VwV2lkdGgsIGRhdGFPcGFjaXR5LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCB0aW1lbGluZSBmcm9tICcuY21zX2RiX3ByZWZpeCgpLgogICAnbW9kdWxlX2djaGFydHMnOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2djaGFydHNfaWQnXSkpCiAgIHsKICAgJHF1ZXJ5IC49ICcgd2hlcmUgZ2NoYXJ0c19pZCA9ID8nOwogICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydnY2hhcnRzX2lkJ10pKTsKICAgJG1vZGUgPSAnZGV0YWlsJzsgLy8gd2UncmUgdmlld2luZyBhIHNpbmdsZSByZWNvcmQKICAgfQogICAKJHJlY29yZHMgPSBhcnJheSgpOwp3aGlsZSAoJHJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpKQogICB7CiAgIC8vIGNyZWF0ZSBhIG5ldyBvYmplY3QgZm9yIGV2ZXJ5IHJlY29yZCB0aGF0IHdlIHJldHJpZXZlCiAgICRyZWMgPSBuZXcgc3RkQ2xhc3MoKTsKICAgJHJlYy0+aWQgPSAkcm93WydnY2hhcnRzX2lkJ107CiAgICRyZWMtPmNhdGVnb3J5ID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwogICAkcmVjLT5uYW1lID0gJHJvd1snZ2NoYXJ0c19uYW1lJ107CiAgICRyZWMtPmVsZW1lbnQgPSAkcm93WydnY2hhcnRzX2VsZW1lbnRfaWQnXTsKICAgJHJlYy0+ZGF0YSA9ICRyb3dbJ2djaGFydHNfZGF0YSddOwogICAkcmVjLT5iYWNrZ3JvdW5kQ29sb3IgPSAkcm93WydiYWNrZ3JvdW5kQ29sb3InXTsKICAgJHJlYy0+Y2hhcnRBcmVhID0gJHJvd1snY2hhcnRBcmVhJ107CiAgICRyZWMtPmNvbG9ycyA9ICRyb3dbJ2NvbG9ycyddOwogICAkcmVjLT5mb250U2l6ZSA9ICRyb3dbJ2ZvbnRTaXplJ107CiAgICRyZWMtPmZvbnROYW1lID0gJHJvd1snZm9udE5hbWUnXTsKICAgJHJlYy0+aGVpZ2h0ID0gJHJvd1snaGVpZ2h0J107CiAgICRyZWMtPmxlZ2VuZCA9ICRyb3dbJ2xlZ2VuZCddOwogICAkcmVjLT5yZXZlcnNlQ2F0ZWdvcmllcyA9ICRyb3dbJ3JldmVyc2VDYXRlZ29yaWVzJ107CiAgICRyZWMtPnRpdGxlVGV4dFN0eWxlID0gJHJvd1sndGl0bGVUZXh0U3R5bGUnXTsKICAgJHJlYy0+dG9vbHRpcCA9ICRyb3dbJ3Rvb2x0aXAnXTsKICAgJHJlYy0+d2lkdGggPSAkcm93Wyd3aWR0aCddOwoKICAgJHJlYy0+aXMzRCA9ICRyb3dbJ2lzM0QnXTsKICAgJHJlYy0+c2xpY2VzID0gJHJvd1snc2xpY2VzJ107CiAgICRyZWMtPnBpZVNsaWNlQm9yZGVyQ29sb3IgPSAkcm93WydwaWVTbGljZUJvcmRlckNvbG9yJ107CiAgICRyZWMtPnBpZVNsaWNlVGV4dCA9ICRyb3dbJ3BpZVNsaWNlVGV4dCddOwogICAkcmVjLT5waWVTbGljZVRleHRTdHlsZSA9ICRyb3dbJ3BpZVNsaWNlVGV4dFN0eWxlJ107CiAgICRyZWMtPnNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCA9ICRyb3dbJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCddOwogICAkcmVjLT5waWVSZXNpZHVlU2xpY2VDb2xvciA9ICRyb3dbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107CiAgICRyZWMtPnBpZVJlc2lkdWVTbGljZUxhYmVsID0gJHJvd1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXTsKCiAgICRyZWMtPmF4aXNUaXRsZXNQb3NpdGlvbiA9ICRyb3dbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwogICAkcmVjLT5lbmFibGVJbnRlcmFjdGl2aXR5ID0gJHJvd1snZW5hYmxlSW50ZXJhY3Rpdml0eSddOwogICAkcmVjLT5mb2N1c1RhcmdldCA9ICRyb3dbJ2ZvY3VzVGFyZ2V0J107CiAgICRyZWMtPmhBeGlzID0gJHJvd1snaEF4aXMnXTsKICAgJHJlYy0+aXNIdG1sID0gJHJvd1snaXNIdG1sJ107CiAgICRyZWMtPnNlcmllcyA9ICRyb3dbJ3NlcmllcyddOwogICAkcmVjLT50aGVtZSA9ICRyb3dbJ3RoZW1lJ107CiAgICRyZWMtPnRpdGxlUG9zaXRpb24gPSAkcm93Wyd0aXRsZVBvc2l0aW9uJ107CgogICAkcmVjLT52QXhlcyA9ICRyb3dbJ3ZBeGVzJ107CiAgICRyZWMtPmFnZ3JlZ2F0aW9uVGFyZ2V0ID0gJHJvd1snYWdncmVnYXRpb25UYXJnZXQnXTsKCiAgICRyZWMtPmN1cnZlVHlwZSA9ICRyb3dbJ2N1cnZlVHlwZSddOwogICAkcmVjLT5pbnRlcnBvbGF0ZWROdWxscyA9ICRyb3dbJ2ludGVycG9sYXRlZE51bGxzJ107CiAgICRyZWMtPnZBeGlzID0gJHJvd1sndkF4aXMnXTsKICAgJHJlYy0+bGluZVdpZHRoID0gJHJvd1snbGluZVdpZHRoJ107CiAgICRyZWMtPnBvaW50U2l6ZSA9ICRyb3dbJ3BvaW50U2l6ZSddOwoKICAgJHJlYy0+aXNTdGFja2VkID0gJHJvd1snaXNTdGFja2VkJ107CgogICAkcmVjLT5ncm91cFdpZHRoID0gJHJvd1snZ3JvdXBXaWR0aCddOwogICAkcmVjLT5kYXRhT3BhY2l0eSA9ICRyb3dbJ2RhdGFPcGFjaXR5J107CiAgICRyZWMtPmF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAkcm93Wydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ107CiAgICRyZWMtPnRpbWVsaW5lID0gJHJvd1sndGltZWxpbmUnXTsKCiAgICRyZWMtPnRpdGxlID0gJHJvd1sndGl0bGUnXTsKICAgYXJyYXlfcHVzaCgkcmVjb3JkcywkcmVjKTsKICAgfQoKLy8gRXhwb3NlIHRoZSBsaXN0IHRvIHNtYXJ0eS4KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZWNvcmRzJywkcmVjb3Jkcyk7CgppZiAoaXNzZXQoJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSkpCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSk7CiAgIH0KZWxzZQogICB7CiAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kdWxlX21lc3NhZ2UnLCcnKTsKICAgfQoKLy8vLy8gUFJPQ0VTUyBBTkQgRElTUExBWSBURU1QTEFURSAvLy8vLwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdnY2hhcnRzLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgojCiNUaGUgdGFiIGhlYWRlcnMKIwplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKEZBTFNFID09IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpCiAgewogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsKICB9IGVsc2UgewogICR0YWIgPSAnJzsKIH0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBHQ2hhcnRzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2hhcnRzJywkdGhpcy0+TGFuZygnY2hhcnRzJyksICgnY2hhcnRzJyA9PSAkdGFiKT90cnVlOmZhbHNlKTsKICB9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCiMKI1RoZSBjb250ZW50IG9mIHRoZSB0YWJzCiMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgR0NoYXJ0cycpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FwcHJvdmUgR0NoYXJ0cycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2hhcnRzJywgJHBhcmFtcyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY2hhcnRzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIyB2aW06dHM9NCBzdz00IG5vZXQKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editchart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwogIH0KCiRjaGFydGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjaGFydGlkJ10pKQogIHsKCSRjaGFydGlkID0gJHBhcmFtc1snY2hhcnRpZCddOwogIH0KCiRkYXRhID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkYXRhJ10pKQogIHsKCSRkYXRhID0gJHBhcmFtc1snZGF0YSddOwogIH0KCiRzdGF0dXMgPSAnZHJhZnQnOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CmlmIChpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkpCiAgewoJJHN0YXR1cyA9ICRwYXJhbXNbJ3N0YXR1cyddOwogIH0KCgkkdXNlZGNhdGVnb3J5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkgICR1c2VkY2F0ZWdvcnkgPSAkcGFyYW1zWydjYXRlZ29yeSddOwoJfQoKCSRuYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkKCXsKCSAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cgl9CgoJJGVsZW1lbnQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydlbGVtZW50J10pKQoJewoJICAkZWxlbWVudCA9ICRwYXJhbXNbJ2VsZW1lbnQnXTsKCX0KCgkkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ10pKQoJewoJICAkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107Cgl9CgoJJGJhY2tncm91bmRDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddKSkKCXsKCSAgJGJhY2tncm91bmRDb2xvciA9ICRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddOwoJfQoKCSRjaGFydEFyZWEgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjaGFydEFyZWEnXSkpCgl7CgkgICRjaGFydEFyZWEgPSAkcGFyYW1zWydjaGFydEFyZWEnXTsKCX0KCgkkY29sb3JzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY29sb3JzJ10pKQoJewoJICAkY29sb3JzID0gJHBhcmFtc1snY29sb3JzJ107Cgl9CgoJJGN1cnZlVHlwZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2N1cnZlVHlwZSddKSkKCXsKCSAgJGN1cnZlVHlwZSA9ICRwYXJhbXNbJ2N1cnZlVHlwZSddOwoJfQoKCSRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddKSkKCXsKCSAgJGVuYWJsZUludGVyYWN0aXZpdHkgPSAkcGFyYW1zWydlbmFibGVJbnRlcmFjdGl2aXR5J107Cgl9CgoJJGZvY3VzVGFyZ2V0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9jdXNUYXJnZXQnXSkpCgl7CgkgICRmb2N1c1RhcmdldCA9ICRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J107Cgl9CgoJJGZvbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udFNpemUnXSkpCgl7CgkgICRmb250U2l6ZSA9ICRwYXJhbXNbJ2ZvbnRTaXplJ107Cgl9CgoJJGZvbnROYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udE5hbWUnXSkpCgl7CgkgICRmb250TmFtZSA9ICRwYXJhbXNbJ2ZvbnROYW1lJ107Cgl9CgoJJGhBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4ZXMnXSkpCgl7CgkgICRoQXhlcyA9ICRwYXJhbXNbJ2hBeGVzJ107Cgl9CgoJJGhBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4aXMnXSkpCgl7CgkgICRoQXhpcyA9ICRwYXJhbXNbJ2hBeGlzJ107Cgl9CgoJJGhlaWdodCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSkKCXsKCSAgJGhlaWdodCA9ICRwYXJhbXNbJ2hlaWdodCddOwoJfQoKCSRpc0h0bWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpc0h0bWwnXSkpCgl7CgkgICRpc0h0bWwgPSAkcGFyYW1zWydpc0h0bWwnXTsKCX0KCgkkaXNTdGFja2VkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNTdGFja2VkJ10pKQoJewoJICAkaXNTdGFja2VkID0gJHBhcmFtc1snaXNTdGFja2VkJ107Cgl9CgoJJGlzM0QgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpczNEJ10pKQoJewoJICAkaXMzRCA9ICRwYXJhbXNbJ2lzM0QnXTsKCX0KCgkkaW50ZXJwb2xhdGVkTnVsbHMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpbnRlcnBvbGF0ZWROdWxscyddKSkKCXsKCSAgJGludGVycG9sYXRlZE51bGxzID0gJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKCX0KCgkkbGVnZW5kID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbGVnZW5kJ10pKQoJewoJICAkbGVnZW5kID0gJHBhcmFtc1snbGVnZW5kJ107Cgl9CgoJJGxpbmVXaWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbmVXaWR0aCddKSkKCXsKCSAgJGxpbmVXaWR0aCA9ICRwYXJhbXNbJ2xpbmVXaWR0aCddOwoJfQoKCSRwb2ludFNpemUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwb2ludFNpemUnXSkpCgl7CgkgICRwb2ludFNpemUgPSAkcGFyYW1zWydwb2ludFNpemUnXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VDb2xvciddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VMYWJlbCddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXTsKCX0KCgkkcGllU2xpY2VCb3JkZXJDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXSkpCgl7CgkgICRwaWVTbGljZUJvcmRlckNvbG9yID0gJHBhcmFtc1sncGllU2xpY2VCb3JkZXJDb2xvciddOwoJfQoKCSRwaWVTbGljZVRleHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHQnXSkpCgl7CgkgICRwaWVTbGljZVRleHQgPSAkcGFyYW1zWydwaWVTbGljZVRleHQnXTsKCX0KCgkkcGllU2xpY2VUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHRTdHlsZSddKSkKCXsKCSAgJHBpZVNsaWNlVGV4dFN0eWxlID0gJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXTsKCX0KCgkkcmV2ZXJzZUNhdGVnb3JpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydyZXZlcnNlQ2F0ZWdvcmllcyddKSkKCXsKCSAgJHJldmVyc2VDYXRlZ29yaWVzID0gJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXTsKCX0KCgkkc2xpY2VzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VzJ10pKQoJewoJICAkc2xpY2VzID0gJHBhcmFtc1snc2xpY2VzJ107Cgl9CgoJJHNlcmllcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NlcmllcyddKSkKCXsKCSAgJHNlcmllcyA9ICRwYXJhbXNbJ3NlcmllcyddOwoJfQoKCSRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSkpCgl7CgkgICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXTsKCX0KCgkkdGhlbWUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aGVtZSddKSkKCXsKCSAgJHRoZW1lID0gJHBhcmFtc1sndGhlbWUnXTsKCX0KCgkkdGl0bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZSddKSkKCXsKCSAgJHRpdGxlID0gJHBhcmFtc1sndGl0bGUnXTsKCX0KCgkkdGl0bGVQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXSkpCgl7CgkgICR0aXRsZVBvc2l0aW9uID0gJHBhcmFtc1sndGl0bGVQb3NpdGlvbiddOwoJfQoKCSR0aXRsZVRleHRTdHlsZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlVGV4dFN0eWxlJ10pKQoJewoJICAkdGl0bGVUZXh0U3R5bGUgPSAkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddOwoJfQoKCSR0b29sdGlwID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndG9vbHRpcCddKSkKCXsKCSAgJHRvb2x0aXAgPSAkcGFyYW1zWyd0b29sdGlwJ107Cgl9CgoJJHZBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4ZXMnXSkpCgl7CgkgICR2QXhlcyA9ICRwYXJhbXNbJ3ZBeGVzJ107Cgl9CgoJJHZBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4aXMnXSkpCgl7CgkgICR2QXhpcyA9ICRwYXJhbXNbJ3ZBeGlzJ107Cgl9CgoJJHdpZHRoID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snd2lkdGgnXSkpCgl7CgkgICR3aWR0aCA9ICRwYXJhbXNbJ3dpZHRoJ107Cgl9CgoJJGFnZ3JlZ2F0aW9uVGFyZ2V0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYWdncmVnYXRpb25UYXJnZXQnXSkpCgl7CgkgICRhZ2dyZWdhdGlvblRhcmdldCA9ICRwYXJhbXNbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J107Cgl9CgoJJGdyb3VwV2lkdGggPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydncm91cFdpZHRoJ10pKQoJewoJICAkZ3JvdXBXaWR0aCA9ICRwYXJhbXNbJ2dyb3VwV2lkdGgnXTsKCX0KCgkkZGF0YU9wYWNpdHkgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydkYXRhT3BhY2l0eSddKSkKCXsKCSAgJGRhdGFPcGFjaXR5ID0gJHBhcmFtc1snZGF0YU9wYWNpdHknXTsKCX0KCgkkYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnXSkpCgl7CgkgICRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzID0gJHBhcmFtc1snYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyddOwoJfQoKCSR0aW1lbGluZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpbWVsaW5lJ10pKQoJewoJICAkdGltZWxpbmUgPSAkcGFyYW1zWyd0aW1lbGluZSddOwoJfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApCiAgewogICAgJGVycm9yID0gRkFMU0U7CiAgICBpZiggZW1wdHkoJG5hbWUpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJyk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGVtcHR5KCRkYXRhKSApCiAgICAgIHsKCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdub2RhdGFnaXZlbicpOwogICAgICB9CgogICAgaWYoICEkZXJyb3IgKQogICAgICB7CgoJLy8gCgkvLyBkYXRhYmFzZSB3b3JrCgkvLwoJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMgU0VUIGdjaGFydHNfY2F0ZWdvcnlfaWQgPSA/LCBnY2hhcnRzX2VsZW1lbnRfaWQgPSA/LCBnY2hhcnRzX25hbWUgPSA/LCBnY2hhcnRzX2RhdGEgPSA/LCBheGlzVGl0bGVzUG9zaXRpb24gPSA/LCBiYWNrZ3JvdW5kQ29sb3IgPSA/LCBjdXJ2ZVR5cGUgPSA/LCBjaGFydEFyZWEgPSA/LCBjb2xvcnMgPSA/LCBlbmFibGVJbnRlcmFjdGl2aXR5ID0gPywgZm9jdXNUYXJnZXQgPSA/LCBmb250U2l6ZSA9ID8sIGZvbnROYW1lID0gPywgaEF4ZXMgPSA/LCBoQXhpcyA9ID8sIGhlaWdodCA9ID8sIGludGVycG9sYXRlZE51bGxzID0gPywgaXNIdG1sID0gPywgaXNTdGFja2VkID0gPywgaXMzRCA9ID8sIGxlZ2VuZCA9ID8sIGxpbmVXaWR0aCA9ID8sIHNsaWNlcyA9ID8sIHBpZVNsaWNlQm9yZGVyQ29sb3IgPSA/LCBwaWVTbGljZVRleHQgPSA/LCBwaWVTbGljZVRleHRTdHlsZSA9ID8sIHBvaW50U2l6ZSA9ID8sIHJldmVyc2VDYXRlZ29yaWVzID0gPywgc2VyaWVzID0gPywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gPywgcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSA/LCBwaWVSZXNpZHVlU2xpY2VMYWJlbCA9ID8sIHRoZW1lID0gPywgdGl0bGUgPSA/LCB0aXRsZVBvc2l0aW9uID0gPywgdGl0bGVUZXh0U3R5bGUgPSA/LCB0b29sdGlwID0gPywgdkF4ZXMgPSA/LCB2QXhpcyA9ID8sIHdpZHRoID0gPywgYWdncmVnYXRpb25UYXJnZXQgPSA/LCBncm91cFdpZHRoID0gPywgZGF0YU9wYWNpdHkgPSA/LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzID0gPywgdGltZWxpbmUgPSA/IFdIRVJFIGdjaGFydHNfaWQgPSA/JzsKCSAgIAkJCQkKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAKCQkJIGFycmF5KCR1c2VkY2F0ZWdvcnksICRlbGVtZW50LCAkbmFtZSwgJGRhdGEsICRheGlzVGl0bGVzUG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IsICRjdXJ2ZVR5cGUsICRjaGFydEFyZWEsICRjb2xvcnMsICRlbmFibGVJbnRlcmFjdGl2aXR5LCAkZm9jdXNUYXJnZXQsICRmb250U2l6ZSwgJGZvbnROYW1lLCAkaEF4ZXMsICRoQXhpcywgJGhlaWdodCwgJGludGVycG9sYXRlZE51bGxzLCAkaXNIdG1sLCAkaXNTdGFja2VkLCAkaXMzRCwgJGxlZ2VuZCwgJGxpbmVXaWR0aCwgJHNsaWNlcywgJHBpZVNsaWNlQm9yZGVyQ29sb3IsICRwaWVTbGljZVRleHQsICRwaWVTbGljZVRleHRTdHlsZSwgJHBvaW50U2l6ZSwgJHJldmVyc2VDYXRlZ29yaWVzLCAkc2VyaWVzLCAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAkcGllUmVzaWR1ZVNsaWNlQ29sb3IsICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgJHRoZW1lLCAkdGl0bGUsICR0aXRsZVBvc2l0aW9uLCAkdGl0bGVUZXh0U3R5bGUsICR0b29sdGlwLCAkdkF4ZXMsICR2QXhpcywgJHdpZHRoLCAkYWdncmVnYXRpb25UYXJnZXQsICRncm91cFdpZHRoLCAkZGF0YU9wYWNpdHksICRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCAkdGltZWxpbmUsICRjaGFydGlkKSk7CgoJLy9VcGRhdGUgc2VhcmNoIGluZGV4CglpZiggISRlcnJvciApCgkgIHsKCSAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfc2VhcmNoX21vZHVsZSgpOwoJICAgIGlmIChpc19vYmplY3QoJG1vZHVsZSkgKQoJICAgICAgewoJCWlmKCAkc3RhdHVzID09ICdkcmFmdCcgKQoJCSAgewoJCSAgICAkbW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCRjaGFydGlkLCdjaGFydCcpOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgJHRleHQgPSAnJzsKCQkgICAgJHRleHQgLj0gJGRhdGEuJyAnLiRuYW1lLicgJy4kbmFtZTsKCQkgICAgJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGNoYXJ0aWQsICdjaGFydCcsICR0ZXh0KTsKCQkgIH0KCSAgICAgIH0KCQoJICAgIEAkdGhpcy0+U2VuZEV2ZW50KCdHQ2hhcnRDaGFydEVkaXRlZCcsIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkY2hhcnRpZCwgJ2djaGFydHNfY2F0ZWdvcnlfaWQnID0+ICR1c2VkY2F0ZWdvcnksICduYW1lJyA9PiAkbmFtZSwgJ2RhdGEnID0+ICRkYXRhLCAnYXhpc1RpdGxlc1Bvc2l0aW9uJyA9PiAkYXhpc1RpdGxlc1Bvc2l0aW9uLCAnYmFja2dyb3VuZENvbG9yJyA9PiAkYmFja2dyb3VuZENvbG9yLCAnY3VydmVUeXBlJyA9PiAkY3VydmVUeXBlLCAnY2hhcnRBcmVhJyA9PiAkY2hhcnRBcmVhLCAnY29sb3JzJyA9PiAkY29sb3JzLCAnZW5hYmxlSW50ZXJhY3Rpdml0eScgPT4gJGVuYWJsZUludGVyYWN0aXZpdHksICdmb2N1c1RhcmdldCcgPT4gJGZvY3VzVGFyZ2V0LCAnZm9udFNpemUnID0+ICRmb250U2l6ZSwgJ2ZvbnROYW1lJyA9PiAkZm9udE5hbWUsICdoQXhlcycgPT4gJGhBeGVzLCAnaEF4aXMnID0+ICRoQXhpcywgJ2hlaWdodCcgPT4gJGhlaWdodCwgJ2ludGVycG9sYXRlZE51bGxzJyA9PiAkaW50ZXJwb2xhdGVkTnVsbHMsICdpc0h0bWwnID0+ICRpc0h0bWwsICdpc1N0YWNrZWQnID0+ICRpc1N0YWNrZWQsICdpczNEJyA9PiAkaXMzRCwgJ2xlZ2VuZCcgPT4gJGxlZ2VuZCwgJ2xpbmVXaWR0aCcgPT4gJGxpbmVXaWR0aCwgJ3NsaWNlcycgPT4gJHNsaWNlcywgJ3BpZVNsaWNlQm9yZGVyQ29sb3InID0+ICRwaWVTbGljZUJvcmRlckNvbG9yLCAncGllU2xpY2VUZXh0JyA9PiAkcGllU2xpY2VUZXh0LCAncGllU2xpY2VUZXh0U3R5bGUnID0+ICRwaWVTbGljZVRleHRTdHlsZSwgJ3BvaW50U2l6ZScgPT4gJHBvaW50U2l6ZSwgJ3JldmVyc2VDYXRlZ29yaWVzJyA9PiAkcmV2ZXJzZUNhdGVnb3JpZXMsICdzZXJpZXMnID0+ICRzZXJpZXMsICdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnID0+ICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsICdwaWVSZXNpZHVlU2xpY2VDb2xvcicgPT4gJHBpZVJlc2lkdWVTbGljZUNvbG9yLCAncGllUmVzaWR1ZVNsaWNlTGFiZWwnID0+ICRwaWVSZXNpZHVlU2xpY2VMYWJlbCwgJ3RoZW1lJyA9PiAkdGhlbWUsICd0aXRsZScgPT4gJHRpdGxlLCAndGl0bGVQb3NpdGlvbicgPT4gJHRpdGxlUG9zaXRpb24sICd0aXRsZVRleHRTdHlsZScgPT4gJHRpdGxlVGV4dFN0eWxlLCAndG9vbHRpcCcgPT4gJHRvb2x0aXAsICd2QXhlcycgPT4gJHZBeGVzLCAndkF4aXMnID0+ICR2QXhpcywgJ3dpZHRoJyA9PiAkd2lkdGgsICdhZ2dyZWdhdGlvblRhcmdldCcgPT4gJGFnZ3JlZ2F0aW9uVGFyZ2V0LCAnZ3JvdXBXaWR0aCcgPT4gJGdyb3VwV2lkdGgsICdkYXRhT3BhY2l0eScgPT4gJGRhdGFPcGFjaXR5LCAnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycgPT4gJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsICd0aW1lbGluZScgPT4gJHRpbWVsaW5lLCAnc3RhdHVzJyA9PiAkc3RhdHVzKSk7CgkJCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQlhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBlZGl0ZWQnKTsKCSAgfQoKICAgICAgfSAvLyBlbHNlIGlmIG5vIGVycm9yCgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkgKQogICAgICB7CgkkcmVzcG9uc2UgPSAnPEVkaXRDaGFydD4nOwoJaWYoICRlcnJvciAhPSAnJyApCgkgIHsKCSAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsKCSAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycuJGVycm9yLiddXT48L0RldGFpbHM+JzsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+U3VjY2VzczwvUmVzcG9uc2U+JzsKICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnLiR0aGlzLT5MYW5nKCdjaGFydHVwZGF0ZWQnKS4nXV0+PC9EZXRhaWxzPic7CgkgIH0KCSRyZXNwb25zZSAuPSAnPC9FZGl0Q2hhcnQ+JzsKCWVjaG8gJHJlc3BvbnNlOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoICFpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiAhJGVycm9yICkKICAgICAgewoJLy8gcmVkaXJlY3Qgb3V0IG8gaGVyZS4KCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NoYXJ0dXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAnY2hhcnRzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKICAgICAgfQoKICAgIGlmKCAkZXJyb3IgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcik7CiAgICAgIH0KICB9IC8vIHN1Ym1pdCBvciBhcHBseQplbHNlCiAgewogICAgLy8gCiAgICAvLyBMb2FkIGRhdGEgZnJvbSBkYXRhYmFzZQogICAgLy8KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBXSEVSRSBnY2hhcnRzX2lkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY2hhcnRpZCkpOwogICAgCiAgICBpZiAoJHJvdykKICAgICAgewoJJG5hbWUgPSAkcm93WydnY2hhcnRzX25hbWUnXTsKCSRlbGVtZW50ID0gJHJvd1snZ2NoYXJ0c19lbGVtZW50X2lkJ107CgkkZGF0YSA9ICRyb3dbJ2djaGFydHNfZGF0YSddOwoJJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICRyb3dbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwoJJGJhY2tncm91bmRDb2xvciA9ICRyb3dbJ2JhY2tncm91bmRDb2xvciddOwoJJGN1cnZlVHlwZSA9ICRyb3dbJ2N1cnZlVHlwZSddOwoJJGNoYXJ0QXJlYSA9ICRyb3dbJ2NoYXJ0QXJlYSddOwoJJGNvbG9ycyA9ICRyb3dbJ2NvbG9ycyddOwoJJGVuYWJsZUludGVyYWN0aXZpdHkgPSAkcm93WydlbmFibGVJbnRlcmFjdGl2aXR5J107CgkkZm9jdXNUYXJnZXQgPSAkcm93Wydmb2N1c1RhcmdldCddOwoJJGZvbnRTaXplID0gJHJvd1snZm9udFNpemUnXTsKCSRmb250TmFtZSA9ICRyb3dbJ2ZvbnROYW1lJ107CgkkaEF4ZXMgPSAkcm93WydoQXhlcyddOwoJJGhBeGlzID0gJHJvd1snaEF4aXMnXTsKCSRoZWlnaHQgPSAkcm93WydoZWlnaHQnXTsKCSRpbnRlcnBvbGF0ZWROdWxscyA9ICRyb3dbJ2ludGVycG9sYXRlZE51bGxzJ107CgkkaXNIdG1sID0gJHJvd1snaXNIdG1sJ107CgkkaXNTdGFja2VkID0gJHJvd1snaXNTdGFja2VkJ107CgkkaXMzRCA9ICRyb3dbJ2lzM0QnXTsKCSRsZWdlbmQgPSAkcm93WydsZWdlbmQnXTsKCSRsaW5lV2lkdGggPSAkcm93WydsaW5lV2lkdGgnXTsKCSRzbGljZXMgPSAkcm93WydzbGljZXMnXTsKCSRwaWVTbGljZUJvcmRlckNvbG9yID0gJHJvd1sncGllU2xpY2VCb3JkZXJDb2xvciddOwoJJHBpZVNsaWNlVGV4dCA9ICRyb3dbJ3BpZVNsaWNlVGV4dCddOwoJJHBpZVNsaWNlVGV4dFN0eWxlID0gJHJvd1sncGllU2xpY2VUZXh0U3R5bGUnXTsKCSRwb2ludFNpemUgPSAkcm93Wydwb2ludFNpemUnXTsKCSRyZXZlcnNlQ2F0ZWdvcmllcyA9ICRyb3dbJ3JldmVyc2VDYXRlZ29yaWVzJ107Cgkkc2VyaWVzID0gJHJvd1snc2VyaWVzJ107Cgkkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHJvd1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107CgkkcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSAkcm93WydwaWVSZXNpZHVlU2xpY2VDb2xvciddOwoJJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJHJvd1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXTsKCSR0aGVtZSA9ICRyb3dbJ3RoZW1lJ107CgkkdGl0bGUgPSAkcm93Wyd0aXRsZSddOwoJJHRpdGxlUG9zaXRpb24gPSAkcm93Wyd0aXRsZVBvc2l0aW9uJ107CgkkdGl0bGVUZXh0U3R5bGUgPSAkcm93Wyd0aXRsZVRleHRTdHlsZSddOwoJJHRvb2x0aXAgPSAkcm93Wyd0b29sdGlwJ107CgkkdkF4ZXMgPSAkcm93Wyd2QXhlcyddOwoJJHZBeGlzID0gJHJvd1sndkF4aXMnXTsKCSR3aWR0aCA9ICRyb3dbJ3dpZHRoJ107CgkkYWdncmVnYXRpb25UYXJnZXQgPSAkcm93WydhZ2dyZWdhdGlvblRhcmdldCddOwoJJGdyb3VwV2lkdGggPSAkcm93Wydncm91cFdpZHRoJ107CgkkZGF0YU9wYWNpdHkgPSAkcm93WydkYXRhT3BhY2l0eSddOwoJJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAkcm93Wydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ107CgkkdGltZWxpbmUgPSAkcm93Wyd0aW1lbGluZSddOwoJJHN0YXR1cyA9ICRyb3dbJ3N0YXR1cyddOwoJJHVzZWRjYXRlZ29yeSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgICAgfQogIH0KCiRzdGF0dXNkcm9wZG93biA9IGFycmF5KCk7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygnZHJhZnQnKV0gPSAnZHJhZnQnOwokc3RhdHVzZHJvcGRvd25bJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpXSA9ICdwdWJsaXNoZWQnOwoKJGNhdGVnb3J5bGlzdCA9IGFycmF5KCk7CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogIHsKCSRjYXRlZ29yeWxpc3RbJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ11dID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwogIH0KCiNEaXNwbGF5IHRlbXBsYXRlCgkkc21hcnR5LT5hc3NpZ24oJ2N1cnJjYXQnLCAkdXNlZGNhdGVnb3J5KTsKCSRzbWFydHktPmFzc2lnbignZm9ybWlkJywkaWQpOwoJJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRjaGFydCcsICRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRlbGVtZW50JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbGVtZW50JywgJGVsZW1lbnQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRkYXRhJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRkYXRhLCAnZGF0YScpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRheGlzVGl0bGVzUG9zaXRpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2F4aXNUaXRsZXNQb3NpdGlvbicsICRheGlzVGl0bGVzUG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRiYWNrZ3JvdW5kQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2JhY2tncm91bmRDb2xvcicsICRiYWNrZ3JvdW5kQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjaGFydEFyZWEnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NoYXJ0QXJlYScsICRjaGFydEFyZWEsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjb2xvcnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NvbG9ycycsICRjb2xvcnMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjdXJ2ZVR5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2N1cnZlVHlwZScsICRjdXJ2ZVR5cGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRlbmFibGVJbnRlcmFjdGl2aXR5JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbmFibGVJbnRlcmFjdGl2aXR5JywgJGVuYWJsZUludGVyYWN0aXZpdHksIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb2N1c1RhcmdldCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9jdXNUYXJnZXQnLCAkZm9jdXNUYXJnZXQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb250U2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9udFNpemUnLCAkZm9udFNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb250TmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9udE5hbWUnLCAkZm9udE5hbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoQXhlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaEF4ZXMnLCAkaEF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoQXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaEF4aXMnLCAkaEF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoZWlnaHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hlaWdodCcsICRoZWlnaHQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpbnRlcnBvbGF0ZWROdWxscycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW50ZXJwb2xhdGVkTnVsbHMnLCAkaW50ZXJwb2xhdGVkTnVsbHMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpc0h0bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzSHRtbCcsICRpc0h0bWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpc1N0YWNrZWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzU3RhY2tlZCcsICRpc1N0YWNrZWQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpczNEJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpczNEJywgJGlzM0QsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRsZWdlbmQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2xlZ2VuZCcsICRsZWdlbmQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRsaW5lV2lkdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2xpbmVXaWR0aCcsICRsaW5lV2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzbGljZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NsaWNlcycsICRzbGljZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZUJvcmRlckNvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZUJvcmRlckNvbG9yJywgJHBpZVNsaWNlQm9yZGVyQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZVRleHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlVGV4dCcsICRwaWVTbGljZVRleHQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZVRleHRTdHlsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VUZXh0U3R5bGUnLCAkcGllU2xpY2VUZXh0U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwb2ludFNpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BvaW50U2l6ZScsICRwb2ludFNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRyZXZlcnNlQ2F0ZWdvcmllcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncmV2ZXJzZUNhdGVnb3JpZXMnLCAkcmV2ZXJzZUNhdGVnb3JpZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzZXJpZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NlcmllcycsICRzZXJpZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcsICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVSZXNpZHVlU2xpY2VDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllUmVzaWR1ZVNsaWNlQ29sb3InLCAkcGllUmVzaWR1ZVNsaWNlQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVSZXNpZHVlU2xpY2VMYWJlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllUmVzaWR1ZVNsaWNlTGFiZWwnLCAkcGllUmVzaWR1ZVNsaWNlTGFiZWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aGVtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGhlbWUnLCAkdGhlbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGUnLCAkdGl0bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZVBvc2l0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZVBvc2l0aW9uJywgJHRpdGxlUG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZVRleHRTdHlsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGVUZXh0U3R5bGUnLCAkdGl0bGVUZXh0U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0b29sdGlwJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0b29sdGlwJywgJHRvb2x0aXAsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4ZXMnLCAkdkF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4aXMnLCAkdkF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR3aWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnd2lkdGgnLCAkd2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhZ2dyZWdhdGlvblRhcmdldCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWdncmVnYXRpb25UYXJnZXQnLCAkYWdncmVnYXRpb25UYXJnZXQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRncm91cFdpZHRoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdncm91cFdpZHRoJywgJGdyb3VwV2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRkYXRhT3BhY2l0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGF0YU9wYWNpdHknLCAkZGF0YU9wYWNpdHksIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aW1lbGluZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGltZWxpbmUnLCAkdGltZWxpbmUsIDMwLCAyNTUpKTsKCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBcHByb3ZlIEdDaGFydHMnKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywgbGFuZygnc3RhdHVzJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdzdGF0dXMnLCAkc3RhdHVzZHJvcGRvd24sIC0xLCAkc3RhdHVzKSk7CiAgfQogZWxzZQogICB7CgkgJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3N0YXR1cycsJHN0YXR1cykpOwogICB9Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkdXNlZGNhdGVnb3J5LCAnaWQ9ImNoYXJ0Q2F0ZWdvcnkiJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2hhcnRpZCcsICRjaGFydGlkKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseScsIGxhbmcoJ2FwcGx5JykpKTsKCSRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VsZW1lbnR0ZXh0JywgJHRoaXMtPkxhbmcoJ2VsZW1lbnQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKCSRzbWFydHktPmFzc2lnbignZGF0YXRleHQnLCAkdGhpcy0+TGFuZygnZGF0YScpKTsKCSRzbWFydHktPmFzc2lnbignYXhpc1RpdGxlc1Bvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCdheGlzVGl0bGVzUG9zaXRpb24nKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2JhY2tncm91bmRDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygnYmFja2dyb3VuZENvbG9yJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjaGFydEFyZWF0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0QXJlYScpKTsKCSRzbWFydHktPmFzc2lnbignY29sb3JzdGV4dCcsICR0aGlzLT5MYW5nKCdjb2xvcnMnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2N1cnZlVHlwZXRleHQnLCAkdGhpcy0+TGFuZygnY3VydmVUeXBlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmFibGVJbnRlcmFjdGl2aXR5dGV4dCcsICR0aGlzLT5MYW5nKCdlbmFibGVJbnRlcmFjdGl2aXR5JykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb2N1c1RhcmdldHRleHQnLCAkdGhpcy0+TGFuZygnZm9jdXNUYXJnZXQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2ZvbnRTaXpldGV4dCcsICR0aGlzLT5MYW5nKCdmb250U2l6ZScpKTsKCSRzbWFydHktPmFzc2lnbignZm9udE5hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnROYW1lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdoQXhlc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4ZXMnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2hBeGlzdGV4dCcsICR0aGlzLT5MYW5nKCdoQXhpcycpKTsKCSRzbWFydHktPmFzc2lnbignaGVpZ2h0dGV4dCcsICR0aGlzLT5MYW5nKCdoZWlnaHQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2ludGVycG9sYXRlZE51bGxzdGV4dCcsICR0aGlzLT5MYW5nKCdpbnRlcnBvbGF0ZWROdWxscycpKTsKCSRzbWFydHktPmFzc2lnbignaXNIdG1sdGV4dCcsICR0aGlzLT5MYW5nKCdpc0h0bWwnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lzU3RhY2tlZHRleHQnLCAkdGhpcy0+TGFuZygnaXNTdGFja2VkJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdpczNEdGV4dCcsICR0aGlzLT5MYW5nKCdpczNEJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmR0ZXh0JywgJHRoaXMtPkxhbmcoJ2xlZ2VuZCcpKTsKCSRzbWFydHktPmFzc2lnbignbGluZVdpZHRodGV4dCcsICR0aGlzLT5MYW5nKCdsaW5lV2lkdGgnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3NsaWNlc3RleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VzJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZUJvcmRlckNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVTbGljZUJvcmRlckNvbG9yJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dCcpKTsKCSRzbWFydHktPmFzc2lnbigncGllU2xpY2VUZXh0U3R5bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dFN0eWxlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdwb2ludFNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BvaW50U2l6ZScpKTsKCSRzbWFydHktPmFzc2lnbigncmV2ZXJzZUNhdGVnb3JpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3JldmVyc2VDYXRlZ29yaWVzJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdzZXJpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3NlcmllcycpKTsKCSRzbWFydHktPmFzc2lnbignc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkdGV4dCcsICR0aGlzLT5MYW5nKCdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3BpZVJlc2lkdWVTbGljZUNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVSZXNpZHVlU2xpY2VDb2xvcicpKTsKCSRzbWFydHktPmFzc2lnbigncGllUmVzaWR1ZVNsaWNlTGFiZWx0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVJlc2lkdWVTbGljZUxhYmVsJykpOwoJJHNtYXJ0eS0+YXNzaWduKCd0aGVtZXRleHQnLCAkdGhpcy0+TGFuZygndGhlbWUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RpdGxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZScpKTsKCSRzbWFydHktPmFzc2lnbigndGl0bGVQb3NpdGlvbnRleHQnLCAkdGhpcy0+TGFuZygndGl0bGVQb3NpdGlvbicpKTsKCSRzbWFydHktPmFzc2lnbigndGl0bGVUZXh0U3R5bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpdGxlVGV4dFN0eWxlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCd0b29sdGlwdGV4dCcsICR0aGlzLT5MYW5nKCd0b29sdGlwJykpOwoJJHNtYXJ0eS0+YXNzaWduKCd2QXhlc3RleHQnLCAkdGhpcy0+TGFuZygndkF4ZXMnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3ZBeGlzdGV4dCcsICR0aGlzLT5MYW5nKCd2QXhpcycpKTsKCSRzbWFydHktPmFzc2lnbignd2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ3dpZHRoJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdhZ2dyZWdhdGlvblRhcmdldHRleHQnLCAkdGhpcy0+TGFuZygnYWdncmVnYXRpb25UYXJnZXQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dyb3VwV2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ2dyb3VwV2lkdGgnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2RhdGFPcGFjaXR5dGV4dCcsICR0aGlzLT5MYW5nKCdkYXRhT3BhY2l0eScpKTsKCSRzbWFydHktPmFzc2lnbignYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lc3RleHQnLCAkdGhpcy0+TGFuZygnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycpKTsKCSRzbWFydHktPmFzc2lnbigndGltZWxpbmV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpbWVsaW5lJykpOwoKCgkvLyB0YWIgc3R1ZmYuCgkkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9oZWFkZXJzJywkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCkpOwoJJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfY2hhcnQnLCR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NoYXJ0JywkdGhpcy0+TGFuZygnY2hhcnQnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfcHJldmlldycsJHRoaXMtPlNldFRhYkhlYWRlcigncHJldmlldycsJHRoaXMtPkxhbmcoJ3ByZXZpZXcnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2hlYWRlcnMnLCR0aGlzLT5FbmRUYWJIZWFkZXJzKCkpOwoKCSRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2RhdGEnLCR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9jaGFydCcsJHRoaXMtPlN0YXJ0VGFiKCdjaGFydCcsJHBhcmFtcykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2NoYXJ0JywkdGhpcy0+RW5kVGFiKCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiX2RhdGEnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwoKCSRzbWFydHktPmFzc2lnbignd2FybmluZ19wcmV2aWV3JywkdGhpcy0+TGFuZygnd2FybmluZ19wcmV2aWV3JykpOwoJJGRhdGFvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3X3JldHVybmlkJywKCQkkZGF0YW9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbF9yZXR1cm5pZCcsLTEpLAoJCQkJCQkgICAgICdwcmV2aWV3X3JldHVybmlkJykpOwp7CiAgJHRtcCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiAgJHRtcDIgPSBhcnJheSgpOwogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKICAgIHsKICAgICAgaWYoIHN0YXJ0c3dpdGgoJHRtcFskaV0sJ2RldGFpbCcpICkKCXsKCSAgJHggPSBzdWJzdHIoJHRtcFskaV0sNik7CgkgICR0bXAyWyR4XSA9ICR4OwoJfQogICAgfQogICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ2RldGFpbF90ZW1wbGF0ZScpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXRhaWxfcGFnZScsJHRoaXMtPkxhbmcoJ2RldGFpbF9wYWdlJykpOwogICRzbWFydHktPmFzc2lnbignZGV0YWlsX3RlbXBsYXRlcycsJHRtcDIpOwogICRzbWFydHktPmFzc2lnbignY3VyX2RldGFpbF90ZW1wbGF0ZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfZGV0YWlsX3RlbXBsYXRlJykpOwp9CgovLyBhbmQgZGlzcGxheSB0aGUgdGVtcGxhdGUuCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGNoYXJ0LnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.admin_chartstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0YWRtaW4nKSk7ICAKCQokYWxsY2F0ZWdvcmllcyA9IChpc3NldCgkcGFyYW1zWydhbGxjYXRlZ29yaWVzJ10pPyRwYXJhbXNbJ2FsbGNhdGVnb3JpZXMnXTonbm8nKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfbWFzc2RlbGV0ZSddKSApCiAgewogICAgaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdEZWxldGUgR0NoYXJ0cycpKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydzZWwnXSkgJiYKCWNvdW50KCRwYXJhbXNbJ3NlbCddKSA+IDAgKQogICAgICB7CiAgICAgICAgZm9yZWFjaCggJHBhcmFtc1snc2VsJ10gYXMgJGdjaGFydHNfaWQgKQoJICB7CgkgICAgZ2NoYXJ0c19hZG1pbl9vcHM6OmRlbGV0ZV9jaGFydCggJGdjaGFydHNfaWQgKTsKCSAgfQogICAgICB9CiAgfQplbHNlIGlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfcmVhc3NpZ24nXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzZWwnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snc2VsJ10pICYmCgljb3VudCgkcGFyYW1zWydzZWwnXSkgPiAwICkKICAgICAgewoJJHRtcCA9IHN0cl9yZXBlYXQoJz8sJyxjb3VudCgkcGFyYW1zWydzZWwnXSkpOwoJJHRtcCA9IHN1YnN0cigkdG1wLDAsc3RybGVuKCR0bXApLTEpOwoJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMgU0VUIGdjaGFydHNfY2F0ZWdvcnlfaWQgPSA/IFdIRVJFIGdjaGFydHNfaWQgSU4gKCcuJHRtcC4nKSc7CgkkcGFybXMgPSBhcnJheSgkcGFyYW1zWydjYXRlZ29yeSddKTsKCWZvcmVhY2goICRwYXJhbXNbJ3NlbCddICBhcyAkcCApICRwYXJtc1tdID0gJHA7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJtcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9jaGFydHNzZWxlY3RlZCcpKTsKICAgICAgfQogIH0KCiRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwokY2F0ZWdvcnlsaXN0WyR0aGlzLT5MYW5nKCdhbGxjYXRlZ29yaWVzJyldID0gJyc7CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGN1cmNhdGVnb3J5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoYXJ0X2NhdGVnb3J5Jyk7CiRwYWdlbGltaXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hhcnRfcGFnZWxpbWl0JywyNSk7CiRwYWdlbnVtYmVyID0gMTsKaWYoIGlzc2V0KCAkcGFyYW1zWydwYWdlbnVtYmVyJ10gKSApCiAgewogICAgJHBhZ2VudW1iZXIgPSAkcGFyYW1zWydwYWdlbnVtYmVyJ107CiAgfQokc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKJHNvcnRieSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGFydF9zb3J0YnknLCdnY2hhcnRzX2lkIEFTQycpOwokc29ydGxpc3QgPSBhcnJheSgpOwokc29ydGxpc3RbJHRoaXMtPkxhbmcoJ25hbWVfYXNjJyldID0gJ2djaGFydHNfbmFtZSBBU0MnOwokc29ydGxpc3RbJHRoaXMtPkxhbmcoJ25hbWVfZGVzYycpXSA9ICdnY2hhcnRzX25hbWUgREVTQyc7CiRzb3J0bGlzdFskdGhpcy0+TGFuZygnc3RhdHVzX2FzYycpXSA9ICdzdGF0dXMgQVNDJzsKJHNvcnRsaXN0WyR0aGlzLT5MYW5nKCdzdGF0dXNfZGVzYycpXSA9ICdzdGF0dXMgREVTQyc7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jYXRlZ29yeScsJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2NhdGVnb3J5JywkY2F0ZWdvcnlsaXN0LC0xLCRjdXJjYXRlZ29yeSkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zaG93Y2hpbGRjYXRlZ29yaWVzJywKCQkkdGhpcy0+TGFuZygnc2hvd2NoaWxkY2F0ZWdvcmllcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxjYXRlZ29yaWVzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2FsbGNhdGVnb3JpZXMnLCd5ZXMnLCRhbGxjYXRlZ29yaWVzKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NvcnRpbmcnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfc29ydGluZycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0aW5nJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3NvcnRieScsJHNvcnRsaXN0LC0xLCRzb3J0YnkpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFnZWxpbWl0JywKCQkkdGhpcy0+TGFuZygncHJvbXB0X3BhZ2VsaW1pdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwncGFnZWxpbWl0JywKCQkJCQkgICBhcnJheSgnNSc9PjUsJzI1Jz0+MjUsJzUwJz0+NTAsCgkJCQkJCSAnMTAwJz0+MTAwLCc1MDAnPT41MDAsJzEwMDAnPT4xMDAwLCR0aGlzLT5MYW5nKCd1bmxpbWl0ZWQnKT0+OTk5OTk5OTk5KSwtMSwkcGFnZWxpbWl0KSk7CgkKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCQovL0xvYWQgdGhlIGN1cnJlbnQgY2hhcnRzCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCiRkYnJlc3VsdCA9ICcnOwoKJHF1ZXJ5MSA9ICJTRUxFQ1Qgbi4qLCBuYy5nY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHMgbiBMRUZUIE9VVEVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgbmMgT04gbi5nY2hhcnRzX2NhdGVnb3J5X2lkID0gbmMuZ2NoYXJ0c19jYXRlZ29yeV9pZCAiOwokcXVlcnkyID0gIlNFTEVDVCBjb3VudChuLmdjaGFydHNfaWQpIEFTIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzIG4gTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIG5jIE9OIG4uZ2NoYXJ0c19jYXRlZ29yeV9pZCA9IG5jLmdjaGFydHNfY2F0ZWdvcnlfaWQgIjsKJHBhcm1zID0gYXJyYXkoKTsKaWYgKCRjdXJjYXRlZ29yeSAhPSAnJykKICB7CiAgICAkcXVlcnkxIC49ICIgV0hFUkUgbmMuZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIExJS0UgPyI7CiAgICAkcXVlcnkyIC49ICIgV0hFUkUgbmMuZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIExJS0UgPyI7CiAgICBpZiggJGFsbGNhdGVnb3JpZXMgPT0gJ3llcycgKQogICAgICB7CgkkcGFybXNbXSA9ICRjdXJjYXRlZ29yeS4nJSc7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHBhcm1zW10gPSAkY3VyY2F0ZWdvcnk7CiAgICAgIH0KICB9CiRxdWVyeTEgLj0gJyBPUkRFUiBieSAnLiRzb3J0Ynk7Ci8vJHF1ZXJ5MSAuPSAiIExJTUlUICRwYWdlbGltaXQgT0ZGU0VUICRzdGFydGVsZW1lbnQiOwoKLy8gaWYgaXMgZG9uZSB0byBoZWxwIGFkb2RiLgokbnVtcm93cyA9IC0xOwppZiggY291bnQoJHBhcm1zKSApCiAgewogICAgJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCggJHF1ZXJ5MSwgJHBhZ2VsaW1pdCwgJHN0YXJ0ZWxlbWVudCwgJHBhcm1zKTsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnkyLCRwYXJtcyk7CiAgICAkbnVtcm93cyA9ICRyb3dbJ2NvdW50J107CiAgfQplbHNlCiAgewogICAgJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCggJHF1ZXJ5MSwgJHBhZ2VsaW1pdCwgJHN0YXJ0ZWxlbWVudCk7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5Mik7CiAgICAkbnVtcm93cyA9ICRyb3dbJ2NvdW50J107CiAgfQoKJHBhZ2Vjb3VudCA9IChpbnQpKCRudW1yb3dzLyRwYWdlbGltaXQpOwppZiggKCRudW1yb3dzICUgJHBhZ2VsaW1pdCkgIT0gMCApICRwYWdlY291bnQrKzsKLy8gc29tZSBwYWdpbmF0aW9uIHZhcmlhYmxlcyB0byBzbWFydHkuCmlmKCAkcGFnZW51bWJlciA9PSAxICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywnPCcpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCc8PCcpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsCgkJCQkgICAgICAkcmV0dXJuaWQsJzwnLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlci0xLAoJCQkJCSAgICAnYWN0aXZlX3RhYic9PidjaGFydHMnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsCgkJCQkgICAgICAkcmV0dXJuaWQsJzw8JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+MSwKCQkJCQkgICAgJ2FjdGl2ZV90YWInPT4nY2hhcnRzJykpKTsKICB9CmlmKCAkcGFnZW51bWJlciA+PSAkcGFnZWNvdW50ICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlJywnPicpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsJz4+Jyk7CiAgfQplbHNlCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsCgkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCSAgICAgICRyZXR1cm5pZCwnPicsCgkJCQkgICAgICBhcnJheSgncGFnZW51bWJlcic9PiRwYWdlbnVtYmVyKzEsCgkJCQkJICAgICdhY3RpdmVfdGFiJz0+J2NoYXJ0cycpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLAoJCQkJICAgICAgJHJldHVybmlkLCc+PicsCgkJCQkgICAgICBhcnJheSgncGFnZW51bWJlcic9PiRwYWdlY291bnQsCgkJCQkJICAgICdhY3RpdmVfdGFiJz0+J2NoYXJ0cycpKSk7CiAgfQokc21hcnR5LT5hc3NpZ24oJ3BhZ2VudW1iZXInLCRwYWdlbnVtYmVyKTsKJHNtYXJ0eS0+YXNzaWduKCdwYWdlY291bnQnLCRwYWdlY291bnQpOwokc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9vZicpKTsKCiRyb3djbGFzcyA9ICdyb3cxJzsKCiRhZG1pbnRoZW1lID0mICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogIHsKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKICAgIAogICAgJG9uZXJvdy0+aWQgPSAkcm93WydnY2hhcnRzX2lkJ107CiAgICAkb25lcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGNoYXJ0JywgJHJldHVybmlkLCAkcm93WydnY2hhcnRzX25hbWUnXSwgYXJyYXkoJ2NoYXJ0aWQnPT4kcm93WydnY2hhcnRzX2lkJ10pKTsKICAgICRvbmVyb3ctPmRhdGEgPSAkcm93WydnY2hhcnRzX2RhdGEnXTsKICAgICRvbmVyb3ctPnN0YXR1cyA9ICR0aGlzLT5MYW5nKCRyb3dbJ3N0YXR1cyddKTsKICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBcHByb3ZlIEdDaGFydHMnKSApCiAgICAgIHsKCWlmKCAkcm93WydzdGF0dXMnXSA9PSAncHVibGlzaGVkJyApCgkgIHsKCSAgICAkb25lcm93LT5hcHByb3ZlX2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FwcHJvdmVjaGFydCcsCgkJCQkJCSAgICAkcmV0dXJuaWQsCgkJCQkJCSAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nKCdyZXZlcnQnKSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCdhcHByb3ZlJz0+MCwnY2hhcnRpZCc9PiRyb3dbJ2djaGFydHNfaWQnXSkpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkb25lcm93LT5hcHByb3ZlX2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FwcHJvdmVjaGFydCcsCgkJCQkJCSAgICAkcmV0dXJuaWQsCgkJCQkJCSAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZygnYXBwcm92ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ2FwcHJvdmUnPT4xLCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSk7CgkgIH0KICAgICAgfQogICAgJG9uZXJvdy0+Y2F0ZWdvcnkgPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXTsKCiAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKICAgIAogICAgJG9uZXJvdy0+c2VsZWN0ID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdzZWxbXScsJHJvd1snZ2NoYXJ0c19pZCddKTsKICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgR0NoYXJ0cycpICkgewogICAgICAkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjaGFydCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NoYXJ0aWQnPT4kcm93WydnY2hhcnRzX2lkJ10pKTsKICAgIH0KICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdEZWxldGUgR0NoYXJ0cycpICkKICAgICAgewoJJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNoYXJ0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NoYXJ0aWQnPT4kcm93WydnY2hhcnRzX2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsKICAgICAgfQogICAgCiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKICAgIAogICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgfQoKJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgR0NoYXJ0cycpICkgewogICRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNoYXJ0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygnYWRkY2hhcnQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkY2hhcnQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGRjaGFydCcpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtMnN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtMmVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0X3JlYXNzaWduJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfcmVhc3NpZ24nLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokY2F0ZWdvcnlsaXN0ID0gZ2NoYXJ0c19vcHM6OmdldF9jYXRlZ29yeV9saXN0KCk7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlpbnB1dCcsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjYXRlZ29yeScsJGNhdGVnb3J5bGlzdCkpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRGVsZXRlIEdDaGFydHMnKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRfbWFzc2RlbGV0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9tYXNzZGVsZXRlJywkdGhpcy0+TGFuZygnZGVsZXRlX3NlbGVjdGVkJyksCgkJCQkJICAgICAnJywnJywkdGhpcy0+TGFuZygnYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZScpKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdyZWFzc2lnbnRleHQnLCR0aGlzLT5MYW5nKCdyZWFzc2lnbl9jYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzZWxlY3R0ZXh0JywkdGhpcy0+TGFuZygnc2VsZWN0JykpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7CiRzbWFydHktPmFzc2lnbignc3RhdGV0ZXh0JywkdGhpcy0+TGFuZygnc3RhdGUnKSk7CiRzbWFydHktPmFzc2lnbignY2hhcnRpZHRleHQnLCAkdGhpcy0+TGFuZygnaWQnKSk7CiRzbWFydHktPmFzc2lnbignZWxlbWVudHRleHQnLCAkdGhpcy0+TGFuZygnZWxlbWVudCcpKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkYXRhdGV4dCcsICR0aGlzLT5MYW5nKCdkYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2F4aXNUaXRsZXNQb3NpdGlvbnRleHQnLCAkdGhpcy0+TGFuZygnYXhpc1RpdGxlc1Bvc2l0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ2JhY2tncm91bmRDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygnYmFja2dyb3VuZENvbG9yJykpOwokc21hcnR5LT5hc3NpZ24oJ2NoYXJ0QXJlYXRleHQnLCAkdGhpcy0+TGFuZygnY2hhcnRBcmVhJykpOwokc21hcnR5LT5hc3NpZ24oJ2NvbG9yc3RleHQnLCAkdGhpcy0+TGFuZygnY29sb3JzJykpOwokc21hcnR5LT5hc3NpZ24oJ2N1cnZlVHlwZXRleHQnLCAkdGhpcy0+TGFuZygnY3VydmVUeXBlJykpOwokc21hcnR5LT5hc3NpZ24oJ2VuYWJsZUludGVyYWN0aXZpdHl0ZXh0JywgJHRoaXMtPkxhbmcoJ2VuYWJsZUludGVyYWN0aXZpdHknKSk7CiRzbWFydHktPmFzc2lnbignZm9jdXNUYXJnZXR0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvY3VzVGFyZ2V0JykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvbnRTaXpldGV4dCcsICR0aGlzLT5MYW5nKCdmb250U2l6ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb250TmFtZXRleHQnLCAkdGhpcy0+TGFuZygnZm9udE5hbWUnKSk7CiRzbWFydHktPmFzc2lnbignaEF4ZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ2hBeGVzJykpOwokc21hcnR5LT5hc3NpZ24oJ2hBeGlzdGV4dCcsICR0aGlzLT5MYW5nKCdoQXhpcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdoZWlnaHR0ZXh0JywgJHRoaXMtPkxhbmcoJ2hlaWdodCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnRlcnBvbGF0ZWROdWxsc3RleHQnLCAkdGhpcy0+TGFuZygnaW50ZXJwb2xhdGVkTnVsbHMnKSk7CiRzbWFydHktPmFzc2lnbignaXNIdG1sdGV4dCcsICR0aGlzLT5MYW5nKCdpc0h0bWwnKSk7CiRzbWFydHktPmFzc2lnbignaXNTdGFja2VkdGV4dCcsICR0aGlzLT5MYW5nKCdpc1N0YWNrZWQnKSk7CiRzbWFydHktPmFzc2lnbignaXMzRHRleHQnLCAkdGhpcy0+TGFuZygnaXMzRCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmR0ZXh0JywgJHRoaXMtPkxhbmcoJ2xlZ2VuZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdsaW5lV2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ2xpbmVXaWR0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzbGljZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3NsaWNlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZUJvcmRlckNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVTbGljZUJvcmRlckNvbG9yJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVNsaWNlVGV4dHRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VUZXh0JykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVNsaWNlVGV4dFN0eWxldGV4dCcsICR0aGlzLT5MYW5nKCdwaWVTbGljZVRleHRTdHlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwb2ludFNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BvaW50U2l6ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXZlcnNlQ2F0ZWdvcmllc3RleHQnLCAkdGhpcy0+TGFuZygncmV2ZXJzZUNhdGVnb3JpZXMnKSk7CiRzbWFydHktPmFzc2lnbignc2VyaWVzdGV4dCcsICR0aGlzLT5MYW5nKCdzZXJpZXMnKSk7CiRzbWFydHktPmFzc2lnbignc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkdGV4dCcsICR0aGlzLT5MYW5nKCdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnKSk7CiRzbWFydHktPmFzc2lnbigncGllUmVzaWR1ZVNsaWNlQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVJlc2lkdWVTbGljZUNvbG9yJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVJlc2lkdWVTbGljZUxhYmVsdGV4dCcsICR0aGlzLT5MYW5nKCdwaWVSZXNpZHVlU2xpY2VMYWJlbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aGVtZXRleHQnLCAkdGhpcy0+TGFuZygndGhlbWUnKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpdGxlJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlUG9zaXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ3RpdGxlUG9zaXRpb24nKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGVUZXh0U3R5bGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpdGxlVGV4dFN0eWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ3Rvb2x0aXB0ZXh0JywgJHRoaXMtPkxhbmcoJ3Rvb2x0aXAnKSk7CiRzbWFydHktPmFzc2lnbigndkF4ZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3ZBeGVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3ZBeGlzdGV4dCcsICR0aGlzLT5MYW5nKCd2QXhpcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd3aWR0aHRleHQnLCAkdGhpcy0+TGFuZygnd2lkdGgnKSk7CiRzbWFydHktPmFzc2lnbignYWdncmVnYXRpb25UYXJnZXR0ZXh0JywgJHRoaXMtPkxhbmcoJ2FnZ3JlZ2F0aW9uVGFyZ2V0JykpOwokc21hcnR5LT5hc3NpZ24oJ2dyb3VwV2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ2dyb3VwV2lkdGgnKSk7CiRzbWFydHktPmFzc2lnbignZGF0YU9wYWNpdHl0ZXh0JywgJHRoaXMtPkxhbmcoJ2RhdGFPcGFjaXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnKSk7CiRzbWFydHktPmFzc2lnbigndGltZWxpbmV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpbWVsaW5lJykpOwoKJGdDbXMgPSBjbXNtcygpOwokdGhlbWUgPSYgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwokY29uZmlnID0gJHRoaXMtPkdldENvbmZpZygpOwokdGhlbWVkaXIgPSAkY29uZmlnWydhZG1pbl91cmwnXS4nL3RoZW1lcy8nLiR0aGVtZS0+dGhlbWVOYW1lLicvaW1hZ2VzL2ljb25zL3N5c3RlbSc7Cgokc21hcnR5LT5hc3NpZ24oJ2ljb251cmwnLCR0aGVtZWRpcik7CgojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NoYXJ0bGlzdC50cGwnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/GCharts.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBHQ2hhcnRzIGV4dGVuZHMgQ01TTW9kdWxlCnsKCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdHQ2hhcnRzJzsKICB9CgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4zLjEnOwogIH0KCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnb2xpdmVyc2VkZG9uJzsKICB9CgogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ29saXZlckB0aHJlZWZvbGQuY28udWsnOwogIH0KCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ2NvbnRlbnQnOwogIH0KCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIEdDaGFydHMnKTsKICB9CgogIGZ1bmN0aW9uIEdldERhc2hib2FyZE91dHB1dCgpIAogIHsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJJHJjb3VudCA9ICRkYi0+R2V0T25lKCdzZWxlY3QgY291bnQoKikgZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMnKTsKCQogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdkYXNoX3JlY29yZF9jb3VudCcsJHJjb3VudCk7CiAgfQoKICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlPScnKQogICAgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCiAgICAgICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICAgIH0KCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoKTsKICB9CgogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMTEiOwogIH0KCiAgZnVuY3Rpb24gTWF4aW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS4xNSI7CiAgfQoKICBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQoJewoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdnY2hhcnRzX2lkJywgJzEnLCAkdGhpcy0+TGFuZygnaGVscF9nY2hhcnRzX2lkJykpOwoJfQoKICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgCgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2djaGFydHNcL3ZpZXdcLyg/UDxnY2hhcnRzX2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsgIAoJCgkkZ0NtcyA9IGNtc21zKCk7CgkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJJHJldHVybmlkID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CgkvLyBUaGUgcHJldmlvdXMgdGhyZWUgbGluZXMgYXJlIHRvIGdldCBhIHJldHVybmlkOyBtYW55IG1vZHVsZXMsIGxpa2UgTmV3cywgaGF2ZSBhIGRlZmF1bHQKCS8vIHBhZ2UgaW4gd2hpY2ggdG8gZGlzcGxheSBkZXRhaWwgdmlld3MuIEluIHRoYXQgY2FzZSwgdGhlIHBhZ2VfaWQgd291bGQgYmUgdXNlZCBmb3IgcmV0dXJuaWQuCgkKCS8vIFRoZSBuZXh0IHRocmVlIGxpbmVzIGFyZSB3aGVyZSB3ZSBtYXAgdGhlIFVSTCB0byBvdXIgZGV0YWlsIHBhZ2UuCgkkcGFybXMgPSBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnLCdnY2hhcnRzX2lkJz0+MSwncmV0dXJuaWQnPT4kcmV0dXJuaWQpOwoJJHJvdXRlID0gbmV3IENtc1JvdXRlKCd0aGlzL2lzL2luc2FuZWx5L2dyZWF0L3N0dWZmJywkdGhpcy0+R2V0TmFtZSgpLCRwYXJtcyxUUlVFKTsKCWNtc19yb3V0ZV9tYW5hZ2VyOjpyZWdpc3Rlcigkcm91dGUpOwoJCiAgCiAgIC8vIERvbid0IGFsbG93IHBhcmFtZXRlcnMgb3RoZXIgdGhhbiB0aGUgb25lcyB5b3UndmUgZXhwbGljaXRseSBkZWZpbmVkCiAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAKICAgLy8gc3ludGF4IGZvciBjcmVhdGluZyBhIHBhcmFtZXRlciBpcyBwYXJhbWV0ZXIgbmFtZSwgZGVmYXVsdCB2YWx1ZSwgZGVzY3JpcHRpb24KICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ2NoYXJ0c19pZCcsIC0xLCAkdGhpcy0+TGFuZygnaGVscF9nY2hhcnRzX2lkJykpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2djaGFydHNfaWQnLENMRUFOX0lOVCk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdtb2R1bGVfbWVzc2FnZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfbW9kdWxlX21lc3NhZ2UnKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtb2R1bGVfbWVzc2FnZScsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25hbWUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2Rlc2NyaXB0aW9uJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbmFtZScsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvbnRlbnQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2V4cGxhbmF0aW9uJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY29udGVudCcsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xvY2F0aW9uJywnJywkdGhpcy0+TGFuZygnaGVscF9leHBsYW5hdGlvbicpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xvY2F0aW9uJyxDTEVBTl9TVFJJTkcpOwoKICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYXV0aG9yJywnJywkdGhpcy0+TGFuZygnaGVscF9hdXRob3InKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhdXRob3InLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2FuY2VsJyxDTEVBTl9TVFJJTkcpOwoKICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywgJ2RvY3VtZW50X2RhdGUnLCAkdGhpcy0+bGFuZygnaGVscHNvcnRieScpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRieScsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRkZXNjJywgJ3RydWUnLCAkdGhpcy0+bGFuZygnaGVscHNvcnRkZXNjJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydGRlc2MnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGUnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwb3N0ZGF0ZV9Ib3VyJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfTWludXRlJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfU2Vjb25kJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9zdGRhdGVfTW9udGgnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwb3N0ZGF0ZV9EYXknLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwb3N0ZGF0ZV9ZZWFyJyxDTEVBTl9TVFJJTkcpOwoKICAKICB9CgogIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJy4kZXZlbnRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwogIH0KCgoJZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJGFydGljbGVpZCwgJGF0dHIgPSAnJykgewoJCSRkb2N1bWVudGlkID0gJHBhcmFtc1snZ2NoYXJ0c19pZCddOw0KCQlpZiAoIWVtcHR5KCRjaGFydGlkKSkgJHJldHVybmlkID0gJGNoYXJ0aWQ7DQoJCSRyZXN1bHQgPSBhcnJheSgpOw0KCQlpZiAoJGF0dHIgPT0gJ2djaGFydHMnKSB7DQoJCQkkZGIgID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJCSRxID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2NoYXJ0cyBXSEVSRSBnY2hhcnRzX2lkID0gPyc7DQoJCQkkcm93ID0gJGRiLT5HZXRSb3coJHEsIGFycmF5KCRhcnRpY2xlaWQpICk7DQoJCQlpZiAoJHJvdykgew0KCQkJCSRyZXN1bHRbMF0gPSB1dGY4X2VuY29kZShodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPkdldEZyaWVuZGx5TmFtZSgpKSk7DQoJCQkJJHJlc3VsdFsxXSA9ICRyb3dbJ25hbWUnXTsKCQkJCSRwcmV0dHl1cmwgPSAndXBsb2Fkcy9nY2hhcnRzL2lkJy4kcm93WydnY2hhcnRzX2lkJ10uJy8nLiRyb3dbJ2xvY2F0aW9uJ107CgkJCQkkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJ2NudG50MDEnLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCANCgkJCQkgICAgICAgYXJyYXkoJ2djaGFydHNfaWQnID0+ICRyb3dbJ2djaGFydHNfaWQnXSksDQoJCQkJICAgICAgICcnLCB0cnVlLCB0cnVlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQoKCglmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCYkbW9kdWxlKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzIE9SREVSIEJZIGdjaGFydHNfaWQnOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgkJd2hpbGUgKCRyZXN1bHQgJiYgISRyZXN1bHQtPkVPRikgewoJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0bmFtZSgpLCAkcmVzdWx0LT5maWVsZHNbJ2djaGFydHNfaWQnXSwgJ2djaGFydHMnLCAkcmVzdWx0LT5maWVsZHNbJ2NvbnRlbnQnXSwgTlVMTCk7CgkJCSRyZXN1bHQtPk1vdmVOZXh0KCk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBEb0FjdGlvbiAoJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkID0gLTEpIHsKCQlzd2l0Y2ggKCRhY3Rpb24pIHsJCgkJCWNhc2UgJ3VwZGF0ZXRlbXBsYXRlJzogewoJCQkJLy8gY2hlY2sgcGVybWlzc2lvbnMgYWdhaW4KCQkJCWlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTW9kaWZ5IFRlbXBsYXRlcycpKSB7CgkJCQkJaWYgKGlzc2V0ICgkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10pKSB7CgkJCQkJCSRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL2djaGFydHNfbGlzdC50cGwnOwoJCQkJCQlpZiggZmlsZV9leGlzdHMoJGZuKSApIHsKCQkJCQkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkJCQkJJHRoaXMtPlNldFRlbXBsYXRlKCAnZGV0YWlsU2FtcGxlJywgJHRlbXBsYXRlKTsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCSR0aGlzLT5TZXRUZW1wbGF0ZSAoJ2RldGFpbFNhbXBsZScsICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddKTsKCQkJCQl9CgkgIAkJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZXVwZGF0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOwoJICAJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJCQl9CgkJCX0KCgkJCWRlZmF1bHQ6CgkJCQlwYXJlbnQ6OkRvQWN0aW9uKCAkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5faWQgKTsKCQkJCWJyZWFrOwoJCX0KCX0KCgoKCn0gLy9lbmQgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAOmemESG9vnGPoTQr0GE+UKC8oLLp+Pt/0WF8v3txOXo7803Lcja+YLLqk+N+ESG+d5IPvvIQeyinoPOremenP75+eeem4HIpf3081CL8Pzx8N7z6UGE9+fo7/nh3tfw5drv5sgmGwymXrDdxlCM9FCM8lGL7f3OU/zNUfvMT/3KRv3KRfzJQ/fIR0aD6kKC7/fHQ0OC7O6im+ygmYPOq+qel4LJpsoqHwCcT0CE+0WE7wCSRtIyJwCQRM0tIgCeUdk4Ldc2KwCXSgCVSACPQwCLP/T4/vT3/vf//1GL60OB6v7////58v+aK/+bLf+ZK06J6//38PfGQePv//+TH++jnP778+jw/f/46Pb//0+N9//y5PbCNP745//69VGL7v3+/9hCOAaYUv/89EKC8ACPSInLqgaXUOrx/fjFO8zd+eXu/txGO/no6e2joA+QSv2YLPDy5souI/D480+K69rx5/348ez59f746O/x5gCQSQOSS/D59QieV0+M9oTPrv3///2ZLITQrEOB6wCJPgOTTASUTvzy8VyS7Prm5fz19tM9MvDAvf+ZLNjx6OXw//bBMffISEeE6vvo59pEOf3uyPzz8kB/6vfKTwmUT8wzKddBNtE7MdBDOtU/NH/Ho8wrIAukXAWMQ885L7TfygCHO/f8+sw1K/HEwUGD9PX3/s48Mu348xKYVgmgWEGA6vnm5+H06gCIPPfDOPbDOvjJSfnj4fD49AebUwqiWgCMQVWO6wCbToPNqdo5Lvj17AecVUaD7eqjnPrHQUOH/YTJp4TPq/+UIIDHpIDIp+abls8vJP7LR//NTPz9/9AvJEOH+91HPf/y5fvIRPfEO/bEPACYS//46eabmP/46v7LStg3LO2hmumblITKqkKD8+ihnOqgneuhnoXRrv3NUvvLTdXw5dXw5tM0KPbDN/rLTPfHROmclemdlvji4fni4NEwJdEwJtU0KdY1Kk+N9kqG6kSC6kGE9eWZlACZTACaTPyYLA2oX//48f+aLP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowODc5OTI1RjQ0N0UxMUUzQjk2NERGOTIyRERFQURCMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowODc5OTI2MDQ0N0UxMUUzQjk2NERGOTIyRERFQURCMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4Nzk5MjVENDQ3RTExRTNCOTY0REY5MjJEREVBREIzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4Nzk5MjVFNDQ3RTExRTNCOTY0REY5MjJEREVBREIzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAACAAIAAACP8Ajz3xR7CgwYMIEz6h0mRLv4cQI0qcSFFaE39e/mncyLGjx49eCPb7SLIkx34iTar8iNLfyCVGjsg0smQlyZYjVSGCkgQKIlU2WaY8AuWSkktQjgT1iPPfkSRKXChJonSlqTm3bs0x9a/p00EuBpmoqtLMm1at3pjpmtLIlxg6XnwxUuGQJUuHKnz8VKpMmVKf2Lr8ZyQDGQRkMiARdqpTp1PgPl4gtGcPoQuCRxoh8Q3BNxJIuoXQpCkEvo82dBkypMtGZsIkUgW45wdJuxsLFtxQ9tFADzFidhh4bYQehwcctCCp4YMTJx8A/o2xQn3Mv15DgAEb0ou4AwLQcjj/QDIDnidP8cL9wyRlnRRM//5Yc+UqHw3vBIiJRyIDXZgw8ojzjxSQcAGJFP8MwEsooeAgCHFaEPAAAQ5kUcU2bLCxjRv/tDALNbO08M84OIjAzw/jEOcHBwEkZyEQEEDgC4fqCDCMAOqMWKIIPzzY1GaypULCi9HIyGEKLKjAAgrx6ZNLLrwYQ1wJnRVQAn/zUEJJEBL8Q44KzTBzwj8TCNFHH0Lc92MGL8SlGDc8bLIJOuqhsII2K4w5wQ644CLca0eYEEMwMZhA3jKLLPIMBf+UE8E0EaTwTwNEnHEGEcN5BZVUSSwHyiijgGLBP7WkIUAatUxaRCGFFIGZV3S87GLPK3QgwU4Ip5wSAjb/wMBFOlzA8E8ysuihhyzIALqLJPVIsgsSAMixyipyjBoJLdXQEsk/3oiSSSaiFPOaM2owYK4agLzDCCqoMOLOP5UkIG8l/4AwAimkjADCa2CgccW/aCyBQSKTTJIIBv9cg8XC2fzDxwaxxLIBH/yuccDFayyhgQe22OKBBv/g0cXIePzDygd11PEBK4JlBMgjU8T8yBKKwNJGG7Ao8tEd5jjiyDl3/BNSQ/3Y0YECSCtgRz9RNB3FQ0xEHXU/v+QRRxx5/NLPFk1QMVAjgcABxz6BNJJQQk6k7QRBCwUEADs=]]></data>
	</file>
	<file>
	  <filename>/images/icon@2x.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPcAAPbDOOPt/OPt/kSF9USG+OPt/QqhWUSF9ESG99rx5kWE8ESG9kaD60WF8kSG+UWE7/nj4UaD7NA6MNrw5c44LttFOv+THwmfV9lDOAaZUvfEOkOG+vzJRdxGO/rIQtI8MkWF80WE7tdBN/jh4PjFPQidVtU/NQebVAmgWEWE7aPXvtrv5LzS9/746EWE8f724vji4OLy6kWF8fno59nv5O22s/zpt//35NpEOQqiWtQ+M/734/zKRwSTTUaE7drw5gaYUQSUTdM9M/nHQPnGPwWVT/vJRM85LwOSTPvIQwWWT/7MStE7MddBNgaXUffEO/rj4vjFPN5IPd1HPPni4f734gulXQicVf3LSdZANQeaU//349pEOgukXNQ+NPrk4v3LSAukWwieVvzKRtvy59lDOdhCOPji4QSUTvrHQQulXESF9v6THwecVAWWUAebU9ZANkOH/AujW9hCN0OH+wqjWv3KRwynXtxGPPnHP/nj4v3KSAWXUNU/NP+UHwWVTvvJRQmfWPjGPQaXUNvx5+Pt/wymXgqjWwOSSwymXQidVdI8MQeaUt9JPvrHQASTTP7MTNA6L0aE7AynX/2TIPnGPtM9Mtrx5885LkOH/f6TIAmeVwicVP2TIffEOdrv5Q2pYASVTgmhWeBKP9E7MPrIQf7MSwSSTP/NTfbEOQmgWd1HPQieV844Lc03LQORS0aD6v+THv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowODc5OTI1QjQ0N0UxMUUzQjk2NERGOTIyRERFQURCMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowODc5OTI1QzQ0N0UxMUUzQjk2NERGOTIyRERFQURCMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4Nzk5MjU5NDQ3RTExRTNCOTY0REY5MjJEREVBREIzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA4Nzk5MjVBNDQ3RTExRTNCOTY0REY5MjJEREVBREIzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAEAAQAAACP8A/cQaSLCgwYMIEypcmFAgw4cQIz60EEuWxYsYM2rcyLGjx4wOK34cSbJkR4oDTapcORKlSJYwY8pyKbPmyoI2c5LEqbMnR54+g14EKjQo0aI9j8qCxbSpU6Q7CWp0ShUW1JFKqz696jGrVqZcu0rN+BVs2J9jMZa1enajV1gM4jJoKvSV3bt4MyqNG6Gv37h18QrWm/ZiBEk+fKRYnFhSYMF3CafMmCKE5QeYLYd4DPmV5JcXQ2BWQJo05ouuUqterbJzZIxKSbtwIaP2bAWoV+tufRcREkSvhxa2SLuB8eMNZOTWrVolkkc9egSZHv3RZ43GQYA4wF17g+XMXan/RIPmT5EiSs7/QXM94/YDA+LH5w6euUolbvgMcsJ/EB83hFGkEXwDLGCggfGhRsGCDDKokhNAZCDhhBkA0R5GA6yxAAIEdIjAAmtcdMQREpRoogRHqJSBFm+c4KKLWmhx4UUDIMChAzgS8OFFpDDBxAdAAumjSm+0cYUiJSSpyBVtzGjRhgQ4sMGUDuh40QeWCCGEDlxqaclFAIQp5pgXXVGCGBekmaYYJTgpywJRbkBHHHRsUOVFOnjRhwl88tmHF2COKehFaKIgigGIqoLCBW7euEEcmcRhJwEXmZAFHE2IoGkTcGQRqKBiXnQBCgbkcIgch+RgAApuwinlnHXe/2kRHCLMYQYGuJoxhwifggrARaTW0YUaVqgRRh0GtOoolVZaNAcGZeBQQQVc4FAGBhelosG2GjzBrQYXlRqGFYbcYYgVYeTgZo0d4ljljhZhIG0HHeBBbwU4XBRFFCT06y8JUYQrbCKTgDJJIl2oC9twsmRoY4c6IhCiRWVU0MEUUmQ8RQdcXFQJEUTkMcTIeYAcbg7j3mEuugoLNxlGBBr44QIJWjTvKo2M0sjGFVzkSBoeBC10KWkAa8AhwxbbBbJuvifffAdcVPHFGUuxcccWeZCEEYBw4LURRiQhKqk5yGG2qqwu/PJFDWjH3dsgfBfvvHhMYS++FxnBwRg82P+xhx08jMEBoaMiaviiAYJGnAzZeZfcRc/iwMW01OKArUUc8AAGFkt0jgUYPJRZwiYXBGL6Bay0qbbisshGm20u4GZRprdCmyuvFo1hB+eQoALJEliEbtEJnJh5ZpJMJq7RaKWZ9kClmGq6aROeYq4556YAD/pFK7Z4QhsuviHj6hpVJhpmD2iGpxd8ZuG+CX/mvTcPe4CxR+CDWwREhBkwogUjErIQ+TISgcQs5oCJuZKWuOSFLgnhIlrjmtc4AIiwXQQ/+9kfEJzwH+VlhC9++ctFfLSIIAFpEUzwGdC0loQkBK1oFikPepRAw/OEwk1NkUtczCKLI0TiRCaKhMf/QjayIprMIqeIznSWGB0cluUirVgQJkZ0BAdZZF/9EoQW+xUwi9wFCWAEo12c+JX67MYintjWE9a4xm1dxDVjHKBanmiR8DTHIr4KlRfhSEatmJE1eMzjr/bomj5W5Y93lIUgBykLOHpGjhdhgSQnScmL1OCSmMzkRWzAyU568iIqCKUoR+mmAJjylKi8yAhWycpWXuQFsIylLC9Cg1ra8palRKUuLwKDM5yBCsAEpi8vsoNibuGYxyzmRT4xgWY605kexEgBpknNal4EAtjUAxS2qQdsXmQLNwinOMV5kR/8IAHoTGcCfhDNiwjgnfCM5zW3+YV61hMKerhIFfZZgMxi7rMKF0EnIchAUIISIgHttEg8C8FQeF6ECtiMqEQv0oKKWvSiAU3nJQhxiXQmVBbxDKkAVAmDkprUpCpxpjlX2kw3VfOlBbjIDGZK05qqZAU4zalOc6nLUwolBkANqlB52tMAtMUtC7EAG5bKBk1QghKdkIhUp0rVqlrVIAEBADs=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dDaGFydHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIEdDaGFydHMiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NvcnJ5LCBpdFwncyBub3QgeW91LCBpdFwncyBtZS4nOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIHN1cGVyIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2FwcHJvdmUnXSA9ICdTZXQgU3RhdHVzIHRvIFwnRW5hYmxlZFwnJzsKJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gXCdEaXNhYmxlZFwnJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhdmUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2FkZGNoYXJ0J10gPSAnQWRkIGNoYXJ0JzsKJGxhbmdbJ2NoYXJ0cyddID0gJ0NoYXJ0cyc7CiRsYW5nWydjaGFydCddID0gJ0NoYXJ0JzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpc2hlZCc7CiRsYW5nWydkcmFmdCddID0gJ0RyYWZ0JzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3QnOwokbGFuZ1sncmVhc3NpZ25fY2F0ZWdvcnknXSA9ICdSZS1hc3NpZ24gY2F0ZWdvcnknOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnRGVsZXRlIHNlbGVjdGVkJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSBnaXZlbic7CiRsYW5nWydub2RhdGFnaXZlbiddID0gJ05vIGRhdGEgZ2l2ZW4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIHNlbGVjdGVkIGNoYXJ0cz8nOwokbGFuZ1snY2hhcnRhZGRlZCddID0gJ0NoYXJ0IGFkZGVkJzsKJGxhbmdbJ2NoYXJ0dXBkYXRlZCddID0gJ0NoYXJ0IHVwZGF0ZWQnOwokbGFuZ1snaWQnXSA9ICdDaGFydCBJRCc7CiRsYW5nWyduYW1lJ10gPSAnQ2hhcnQgVGl0bGUnOwokbGFuZ1snZWxlbWVudCddID0gJ0NvbnRhaW5pbmcgZWxlbWVudCBJRCc7CiRsYW5nWydlbmFibGVJbnRlcmFjdGl2aXR5J10gPSAnRW5hYmxlIGludGVyYWN0aXZpdHknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDaGFydCBjYXRlZ29yeSc7CiRsYW5nWydnY2hhcnRzX2RhdGEnXSA9ICdDaGFydCBEYXRhJzsKJGxhbmdbJ2F4aXNUaXRsZXNQb3NpdGlvbiddID0gJ0F4aXMgdGl0bGVzIHBvc2l0aW9uJzsKJGxhbmdbJ2JhY2tncm91bmRDb2xvciddID0gJ0JhY2tncm91bmQgQ29sb3InOwokbGFuZ1snY3VydmVUeXBlJ10gPSAnQ3VydmUgdHlwZSc7CiRsYW5nWydjaGFydEFyZWEnXSA9ICdDaGFydCBBcmVhJzsKJGxhbmdbJ2NvbG9ycyddID0gJ0NvbG9ycyc7CiRsYW5nWydmb2N1c1RhcmdldCddID0gJ0ZvbnQgdGFyZ2V0JzsKJGxhbmdbJ2ZvbnRTaXplJ10gPSAnRm9udCBTaXplJzsKJGxhbmdbJ2ZvbnROYW1lJ10gPSAnRm9udCBOYW1lJzsKJGxhbmdbJ2hBeGVzJ10gPSAnaEF4ZXMnOwokbGFuZ1snaEF4aXMnXSA9ICdoQXhpcyc7CiRsYW5nWydoZWlnaHQnXSA9ICdIZWlnaHQnOwokbGFuZ1snaW50ZXJwb2xhdGVkTnVsbHMnXSA9ICdJbnRlcnBvbGF0ZWQgbnVsbHMnOwokbGFuZ1snaXNTdGFja2VkJ10gPSAnSXMgc3RhY2tlZCc7CiRsYW5nWydpc0h0bWwnXSA9ICdJcyBIVE1MJzsKJGxhbmdbJ2lzM0QnXSA9ICdJcyAzRCc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmQnOwokbGFuZ1snbGluZVdpZHRoJ10gPSAnTGluZSB3aWR0aCc7CiRsYW5nWydzbGljZXMnXSA9ICdTbGljZXMnOwokbGFuZ1sncGllU2xpY2VCb3JkZXJDb2xvciddID0gJ1BpZSBTbGljZSBCb2FyZGVyIENvbG9yJzsKJGxhbmdbJ3BpZVNsaWNlVGV4dCddID0gJ1BpZSBTbGljZSBUZXh0JzsKJGxhbmdbJ3BpZVNsaWNlVGV4dFN0eWxlJ10gPSAnUGllIFNsaWNlIFRleHQgU3R5bGUnOwokbGFuZ1sncG9pbnRTaXplJ10gPSAnUG9pbnQgc2l6ZSc7CiRsYW5nWydyZXZlcnNlQ2F0ZWdvcmllcyddID0gJ1JldmVyc2UgQ2F0ZWdvcmllcyc7CiRsYW5nWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSA9ICdTbGljZSBWaXNpYmlsaXR5IFRocmVzaG9sZCc7CiRsYW5nWydwaWVSZXNpZHVlU2xpY2VDb2xvciddID0gJ1BpZSBSZXNpZHVlIFNsaWNlIENvbG9yJzsKJGxhbmdbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ10gPSAnUGllIFJlc2lkdWUgU2xpY2UgTGFiZWwnOwokbGFuZ1sndGl0bGVQb3NpdGlvbiddID0gJ1RpdGxlIHBvc2l0aW9uJzsKJGxhbmdbJ3RpdGxlJ10gPSAnVGl0bGUnOwokbGFuZ1sndGhlbWUnXSA9ICdUaGVtZSc7CiRsYW5nWydzZXJpZXMnXSA9ICdTZXJpZXMnOwokbGFuZ1sndGl0bGVUZXh0U3R5bGUnXSA9ICdUaXRsZSBUZXh0IFN0eWxlJzsKJGxhbmdbJ3Rvb2x0aXAnXSA9ICdUb29sdGlwJzsKJGxhbmdbJ3ZBeGVzJ10gPSAndkF4ZXMnOwokbGFuZ1sndkF4aXMnXSA9ICd2QXhpcyc7CiRsYW5nWyd3aWR0aCddID0gJ1dpZHRoJzsKJGxhbmdbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J10gPSAnQWdncmVnYXRpb24gVGFyZ2V0JzsKJGxhbmdbJ2dyb3VwV2lkdGgnXSA9ICdHcm91cCBXaWR0aCc7CiRsYW5nWydkYXRhT3BhY2l0eSddID0gJ0RhdGEgT3BhY2l0eSc7CiRsYW5nWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ10gPSAnQXZvaWQgT3ZlcmxhcHBpbmcgR3JpZCBMaW5lcyc7CiRsYW5nWyd0aW1lbGluZSddID0gJ1RpbWVsaW5lJzsKJGxhbmdbJ2Vycm9yX25vY2hhcnRzc2VsZWN0ZWQnXSA9ICdObyBDaGFydHMgV2VyZSBTZWxlY3RlZCc7CgokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JzsKJGxhbmdbJ2Rhc2hfcmVjb3JkX2NvdW50J10gPSAnVGhpcyBtb2R1bGUgaGFuZGxlcyAlcyBkb2N1bWVudHMnOwokbGFuZ1snYWxlcnRfbm9fcmVjb3JkcyddID0gJ1RoZXJlIGhhdmUgbm90IGJlZW4gYW55IGRvY3VtZW50cyBhZGRlZCBpbiB0aGUgR0NoYXJ0cyBtb2R1bGUhJzsKJGxhbmdbJ2hlbHBfZ2NoYXJ0c19pZCddID0gJ0ludGVybmFsbHkgaWRlbnRpZmllciBmb3Igc2VsZWN0aW5nIGRvY3VtZW50cyc7CiRsYW5nWydoZWxwX2Rlc2NyaXB0aW9uJ10gPSAnSW50ZXJuYWwgcGFyYW1ldGVyIHVzZWQgdG8gcGFzcyBkZXNjcmlwdGlvbiBpbmZvIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIGRvY3VtZW50JzsKJGxhbmdbJ2hlbHBfZXhwbGFuYXRpb24nXSA9ICdJbnRlcm5hbCBwYXJhbWV0ZXIgdXNlZCB0byBwYXNzIGV4cGxhbmF0aW9uIGluZm8gd2hlbiBjcmVhdGluZyBvciBlZGl0aW5nIGEgZG9jdW1lbnQnOwokbGFuZ1snaGVscF9tb2R1bGVfbWVzc2FnZSddID0gJ0ludGVybmFsbHkgdXNlZCBwYXJhbWV0ZXIgZm9yIHBhc3NpbmcgbWVzc2FnZXMgdG8gdXNlcic7CiRsYW5nWydoZWxwX2djaGFydHNfaWQnXSA9ICdJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheS4nOwoKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWRkIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCA4IEp1bHkgMjAxMy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuMSAxNSBKdWx5IDIwMTMuIE11bHRpcGxlIGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjIgMTQgTm92ZW1iZXIgMjAxMy4gQWRkZWQgY29sdW1uIGNoYXJ0cyBvcHRpb24gcGx1cyBtYW55IGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjMgNSBEZWNlbWJlciAyMDEzLiBBZGRlZCBIaXN0b2dyYW0gYW5kIFRpbWVsaW5lIGNoYXJ0IG9wdGlvbnMgcGx1cyBtaW5vciBidWcgZml4ZXMgYW5kIGNvZGUgdGlkeWluZyB1cC48L2xpPgo8bGk+VmVyc2lvbiAxLjMuMSAxMSBEZWNlbWJlciAyMDEzLiBBZGRlZCB0aGUgYWJpbGl0eSBmb3IgR0NoYXJ0cyB0byBjcmVhdGUgY2hhcnQgZGl2IGVsZW1lbnQgYXV0b21hdGljYWxseSBpZiBubyBjb250YWluaW5nIGVsZW1lbnQgSUQgaXMgc3BlY2lmaWVkIGFuZCBidWcgZml4ZXMuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgZm9yIHRoZSBhZGRpdGlvbiBvZiBHb29nbGUgQ2hhcnRzIHRvIHlvdXIgd2Vic2l0ZS48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5TaW1wbHkgcGxhY2UgdGhlIG1vZHVsZSBjYWxsIGJlZm9yZSB5b3VyIGNsb3NpbmcgYm9keSB0YWcgd2l0aCB0aGUgSUQgb2YgdGhlIGNoYXJ0IHlvdSB3YW50IHRvIGRpc3BsYXkgPGNvZGU+e0dDaGFydHMgZ2NoYXJ0c19pZD1cJzFcJ308L2NvZGU+LCBkYXRhIGZpZWxkIGFjY2VwdHMgc21hcnR5IHZhcmlhYmxlcy48L3A+CjxwPkZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhcyB0byB3aGF0IHZhbHVlcyBlYWNoIHBhcmFtZXRlciB0YWtlcyBsb29rIGF0IHRoZSBHb29nbGUgQ2hhcnRzIGRvY3VtZW50YXRpb24gPGEgaHJlZj0iaHR0cHM6Ly9nb29nbGUtZGV2ZWxvcGVycy5hcHBzcG90LmNvbS9jaGFydC8iPmh0dHBzOi8vZ29vZ2xlLWRldmVsb3BlcnMuYXBwc3BvdC5jb20vY2hhcnQvPC9hPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2djaGFydHMvIj5HQ2hhcnRzIFBhZ2U8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIG9saXZlcnNlZGRvbiwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTMsIE9saXZlciBTZWRkb24gPGEgaHJlZj0ibWFpbHRvOm9saXZlckB0aHJlZWZvbGQuY28udWsiPiZsdDtvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.gcharts_admin_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAod2lzaHlAdXNlcnMuc2YubmV0KQojVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKI2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiNidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KI1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiNhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQojCiMkSWQ6IEdDaGFydHMubW9kdWxlLnBocCAyMTE0IDIwMDUtMTEtMDQgMjE6NTE6MTNaIHdpc2h5ICQKCmNsYXNzIGdjaGFydHNfYWRtaW5fb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9jaGFydCgkY2hhcnRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIC8vTm93IHJlbW92ZSB0aGUgY2hhcnQKICAgICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHMgV0hFUkUgZ2NoYXJ0c19pZCA9ID8iOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNoYXJ0aWQpKTsKCiAgICAvLyBkZWxldGUgYW55IGZpbGVzLi4uCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnOwogICAgJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdnY2hhcnRzJywnaWQnLiRjaGFydGlkKTsKICAgIGlmKCBpc19kaXIoJHApICkKICAgICAgewoJcmVjdXJzaXZlX2RlbGV0ZSgkcCk7CiAgICAgIH0KCiAgICBnY2hhcnRzX2FkbWluX29wczo6ZGVsZXRlX3N0YXRpY19yb3V0ZSgkY2hhcnRpZCk7CiAgICAKICAgIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR0NoYXJ0cycpOwogICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CiAgICBpZiAoJG1vZHVsZSAhPSBGQUxTRSkKICAgICAgewoJJG1vZHVsZS0+RGVsZXRlV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkY2hhcnRpZCwgJ2NoYXJ0Jyk7CiAgICAgIH0KICAgIAogICAgQCRtb2QtPlNlbmRFdmVudCgnR0NoYXJ0c0NoYXJ0RGVsZXRlZCcsIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkY2hhcnRpZCkpOwoJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCglhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBkZWxldGVkJyk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBoYW5kbGVfdXBsb2FkKCRpdGVtaWQsJGZpZWxkbmFtZSwmJGVycm9yKQogIHsKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCSAgCiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHQ2hhcnRzJyk7CiAgICAkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2djaGFydHMnKTsKICAgIGlmICghaXNfZGlyKCRwKSkgewogICAgICAkcmVzID0gQG1rZGlyKCRwKTsKICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkKCXsKCSAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCRwKTsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgfQoKICAgICRwID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwnZ2NoYXJ0cycsJ2lkJy4kaXRlbWlkKTsKICAgIGlmICghaXNfZGlyKCRwKSkgewogICAgICBpZiggQG1rZGlyKCRwKSA9PT0gRkFMU0UgKQoJewoJICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9ta2RpcicsJHApOwoJICByZXR1cm4gRkFMU0U7Cgl9CiAgICB9CgogICAgaWYoICRfRklMRVNbJGZpZWxkbmFtZV1bJ3NpemUnXSA+ICRjb25maWdbJ21heF91cGxvYWRfc2l6ZSddICkKICAgICAgewoJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfZmlsZXNpemUnKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRfRklMRVNbJGZpZWxkbmFtZV1bJ25hbWUnXSk7CiAgICAkZGVzdCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2djaGFydHMnLCdpZCcuJGl0ZW1pZCwkZmlsZW5hbWUpOwoKICAgIC8vIEdldCB0aGUgZmlsZXMgZXh0ZW5zaW9uCiAgICAkZXh0ID0gc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAnLicpLCAxKTsKCiAgICAvLyBjb21wYXJlIGl0IGFnYWluc3QgdGhlICdhbGxvd2VkIGV4dGVudGlvbnMnCiAgICAkZXh0cyA9IGV4cGxvZGUoJywnLCRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfdXBsb2FkX3R5cGVzJywnJykpOwogICAgaWYoICFpbl9hcnJheSggJGV4dCwgJGV4dHMgKSApIAogICAgICB7CgkkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9pbnZhbGlkZmlsZXR5cGUnKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIGlmKCBAY21zX21vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRmaWVsZG5hbWVdWyd0bXBfbmFtZSddLCAkZGVzdCkgPT09IEZBTFNFICkKICAgICAgewoJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbW92ZWZpbGUnLCRkZXN0KTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIHJldHVybiAkZmlsZW5hbWU7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBBZG1pbkNyZWF0ZVRlbXBsYXRlTGlzdCggJGlkLCAkcmV0dXJuaWQsICRwcmVmaXgsICRkZWZhdWx0dGVtcGxhdGVwcmVmLCAKCQkJCQkJICAkYWN0aXZlX3RhYiwgJGRlZmF1bHRwcmVmbmFtZSwgJG5hbWUgKQogIHsKICAgIC8vIHdlJ3JlIGdvbm5hIGFsbG93IG11bHRpcGxlIHRlbXBsYXRlcyBoZXJlCiAgICAvLyBidXQgd2UncmUgZ29ubmEgcHJlZml4IHRoZW0gYWxsIHdpdGggc29tZXRoaW5nCiAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHQ2hhcnRzJyk7CiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAKICAgICRmYWxzZWltYWdlMSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywnbWFrZSBkZWZhdWx0JywnJywnJywnc3lzdGVtaWNvbicpOwogICAgJHRydWVpbWFnZTEgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywnZGVmYXVsdCcsJycsJycsJ3N5c3RlbWljb24nKTsKICAgICRhbGx0ZW1wbGF0ZXMgPSAkbW9kLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAkcm93YXJyYXkgPSBhcnJheSgpOwogICAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICAgZm9yZWFjaCggJGFsbHRlbXBsYXRlcyBhcyAkb25ldGVtcGxhdGUgKQogICAgICB7CglpZiggIXByZWdfbWF0Y2goIi9eJHByZWZpeC8iLCAkb25ldGVtcGxhdGUgKSApCgkgIHsKCSAgICBjb250aW51ZTsKCSAgfQoJCgkkdG1wID0gc3Vic3RyKCRvbmV0ZW1wbGF0ZSxzdHJsZW4oJHByZWZpeCkpOwoJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJJHJvdy0+bmFtZSA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCSAgICAgICAkdG1wLCBhcnJheSgndGVtcGxhdGUnID0+ICR0bXAsCgkJCQkJCSAgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYiwKCQkJCQkJICAgJ25hbWUnPT4kbmFtZSwKCQkJCQkJICAgJ3ByZWZpeCc9PiRwcmVmaXgsCgkJCQkJCSAgICdtb2RlJz0+J2VkaXQnKSk7Cgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZGVmYXVsdCA9ICgkbW9kLT5HZXRQcmVmZXJlbmNlKCRkZWZhdWx0cHJlZm5hbWUpID09ICR0bXApID8gdHJ1ZSA6IGZhbHNlOwoJaWYoICRkZWZhdWx0ICkKCSAgewoJICAgICRyb3ctPmRlZmF1bHQgPSAkdHJ1ZWltYWdlMTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJvdy0+ZGVmYXVsdCA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ21ha2VkZWZhdWx0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkJICAgICAgJGZhbHNlaW1hZ2UxLAoJCQkJCSAgICAgIGFycmF5KCd0ZW1wbGF0ZSc9PiR0bXAsCgkJCQkJCSAgICAnZGVmYXVsdHByZWZuYW1lJz0+JGRlZmF1bHRwcmVmbmFtZSwKCQkJCQkJICAgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYikpOwoJICB9CgoJJHJvdy0+ZWRpdGxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCAkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkJICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT4KCQkJCQkgICBEaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJICRtb2QtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdG1wLAoJCQkJCQkgICdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYiwKCQkJCQkJICAncHJlZml4Jz0+JHByZWZpeCwKCQkJCQkJICAnbmFtZSc9PiRuYW1lLAoJCQkJCQkgICdtb2RlJz0+J2VkaXQnKSk7CgkKCSR0bXAgPSAkcHJlZml4LiJkZWZhdWx0IjsKCWlmKCAoJG9uZXRlbXBsYXRlID09ICR0bXApIHx8ICRkZWZhdWx0ICkKCSAgewoJICAgICRyb3ctPmRlbGV0ZWxpbmsgPSAnJm5ic3A7JzsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHJvdy0+ZGVsZXRlbGluayA9ICRtb2QtPkNyZWF0ZUxpbmsoICRpZCwgJ2RlbGV0ZXRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJCQkgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT4KCQkJCQkJIERpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCQkJCSAgICAgICAkbW9kLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJIGFycmF5ICgndGVtcGxhdGUnID0+ICRvbmV0ZW1wbGF0ZSksCgkJCQkJCSAkbW9kLT5MYW5nICgnYXJleW91c3VyZScpKTsKCSAgfQoJCglhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwoJKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogICAgICB9CiAgICAKICAgICRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsKICAgICRzbWFydHktPmFzc2lnbignbmFtZXByb21wdCcsICRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdkZWZhdWx0cHJvbXB0JywgJG1vZC0+TGFuZygncHJvbXB0X2RlZmF1bHQnKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCduZXd0ZW1wbGF0ZWxpbmsnLAoJCSAgICAkbW9kLT5DcmVhdGVMaW5rKCAkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkbW9kLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJICAgICAgYXJyYXkoJ3ByZWZpeCcgPT4gJHByZWZpeCwKCQkJCQkgICAgJ2FjdGl2ZV90YWInID0+ICRhY3RpdmVfdGFiLAoJCQkJCSAgICAnbmFtZSc9PiRuYW1lLAoJCQkJCSAgICAnbW9kZScgPT4gJ2FkZCcsCgkJCQkJICAgICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAkZGVmYXVsdHRlbXBsYXRlcHJlZiksCgkJCQkgICAgICAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLgoKCQkgICAgJG1vZC0+Q3JlYXRlTGluayggJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJICAgICAgJG1vZC0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksCgkJCQkgICAgICBhcnJheSgncHJlZml4JyA9PiAkcHJlZml4LAoJCQkJCSAgICAnYWN0aXZlX3RhYicgPT4gJGFjdGl2ZV90YWIsCgkJCQkJICAgICduYW1lJz0+JG5hbWUsCgkJCQkJICAgICdtb2RlJyA9PiAnYWRkJywKCQkJCQkgICAgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICRkZWZhdWx0dGVtcGxhdGVwcmVmCgkJCQkJICAgICkpKTsKICAgICRzbWFydHktPmFzc2lnbigkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZXMudHBsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0FkbWluRWRpdERlZmF1bHRUZW1wbGF0ZUZvcm0KICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKCiAgIEEgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyBhIGZvcm0gZm9yIGVkaXRpbmcgYSBkZWZhdWx0IHRlbXBsYXRlCiAgIGFuZC9vciByZXR1cm5pbmcgaXQgdG8gc3lzdGVtIGRlZmF1bHRzLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQWRtaW5FZGl0RGVmYXVsdFRlbXBsYXRlRm9ybSgkaWQsJHJldHVybmlkLCRwcmVmbmFtZSwkYWN0aXZlX3RhYiwkbmFtZSwKCQkJCQkJICAgICAgJGZpbGVuYW1lLCRpbmZvKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dDaGFydHMnKTsKICAgICRzbWFydHkgPSBjbXNfdXRpbHM6OmdldF9zbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbignZGVmYXVsdHRlbXBsYXRlZm9ybV9uYW1lJywkbmFtZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luZm9fbmFtZScsJGluZm8pOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCSAgICAkbW9kLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdzZXRkZWZhdWx0dGVtcGxhdGUnLCRyZXR1cm5pZCwncG9zdCcsJycsZmFsc2UsJycsCgkJCQkJICAgYXJyYXkoJ3ByZWZuYW1lJz0+JHByZWZuYW1lLAoJCQkJCQkgJ2FjdGl2ZV90YWInPT4kYWN0aXZlX3RhYiwKCQkJCQkJICdmaWxlbmFtZSc9PiRmaWxlbmFtZSkpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywkbW9kLT5MYW5nKCd0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCRtb2QtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwKCQkJCQkJCSAgICRtb2QtPkdldFByZWZlcmVuY2UoJHByZWZuYW1lKSwKCQkJCQkJCSAgICdpbnB1dF90ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0JywkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJG1vZC0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXQnLCRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwncmVzZXR0b2RlZmF1bHQnLAoJCQkJCQkgICAgICRtb2QtPkxhbmcoJ3Jlc2V0dG9kZWZhdWx0JykpKTsKICAgICRzbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJICAgICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICBlY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGRlZmF1bHR0ZW1wbGF0ZS50cGwnKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZVBhcmVudERyb3Bkb3duKCRpZCwgJGNhdGlkID0gLTEsICRzZWxlY3RlZHZhbHVlID0gLTEpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dDaGFydHMnKTsKCiAgICAkbG9uZ25hbWUgPSAnJzsgICAgICAKICAgICRpdGVtc1snKCcuJG1vZC0+TGFuZygnbm9uZScpLicpJ10gPSAnLTEnOwogICAgICAKICAgICRxdWVyeSA9ICJTRUxFQ1QgaGllcmFyY2h5LCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBXSEVSRSBnY2hhcnRzX2NhdGVnb3J5X2lkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewoJJGxvbmduYW1lID0gJHJvd1snaGllcmFyY2h5J10gLiAnJSc7CiAgICAgIH0KICAgICAgCiAgICAkcXVlcnkgPSAiU0VMRUNUIGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgaGllcmFyY2h5LCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBXSEVSRSBoaWVyYXJjaHkgbm90IGxpa2UgPyBPUkRFUiBieSBoaWVyYXJjaHkiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxvbmduYW1lKSk7CiAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsKCSRpdGVtc1skcm93WydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CiAgICAgIH0KCiAgICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdwYXJlbnQnLCAkaXRlbXMsIC0xLCAkc2VsZWN0ZWR2YWx1ZSk7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gIlNFTEVDVCBnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewoJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gIiI7CgkkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWUgPSAiIjsKCSRjb250ZW50X2lkID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwoJJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwoJJGNvdW50ID0gMDsKCSAgCgl3aGlsZSAoJGN1cnJlbnRfcGFyZW50X2lkID4gLTEpCgkgIHsKCSAgICAkcXVlcnkgPSAiU0VMRUNUIGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgV0hFUkUgZ2NoYXJ0c19jYXRlZ29yeV9pZCA9ID8iOwoJICAgICRyb3cyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9wYXJlbnRfaWQpKTsKCSAgICBpZiAoJHJvdzIpCgkgICAgICB7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93MlsnZ2NoYXJ0c19jYXRlZ29yeV9pZCddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkgLiAiLiIgLiAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb247CgkJJGN1cnJlbnRfZ2NoYXJ0c19jYXRlZ29yeV9uYW1lID0gJHJvdzJbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddIC4gJyB8ICcgLiAkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWU7CgkJJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvdzJbJ3BhcmVudF9pZCddOwoJCSRjb3VudCsrOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkY3VycmVudF9wYXJlbnRfaWQgPSAwOwoJICAgICAgfQoJICB9CgkgIAoJaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkKCSAgewoJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkgIH0KCSAgCglpZiAoc3RybGVuKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSkgPiAwKQoJICB7CgkgICAgJGN1cnJlbnRfZ2NoYXJ0c19jYXRlZ29yeV9uYW1lID0gc3Vic3RyKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2djaGFydHNfY2F0ZWdvcnlfbmFtZSkgLSAzKTsKCSAgfQoJICAKCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgU0VUIGhpZXJhcmNoeSA9ID8sIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSA9ID8gV0hFUkUgZ2NoYXJ0c19jYXRlZ29yeV9pZCA9ID8iOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAkY3VycmVudF9nY2hhcnRzX2NhdGVnb3J5X25hbWUsICRjb250ZW50X2lkKSk7CiAgICAgIH0KICB9CiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfc3RhdGljX3JvdXRlKCRnY2hhcnRzX2NoYXJ0X2lkKQogIHsKICAgIHJldHVybiBjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywnR0NoYXJ0cycsJGdjaGFydHNfY2hhcnRfaWQpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.gcharts_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAod2lzaHlAdXNlcnMuc2YubmV0KQojVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKI2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiNidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KI1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiNhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQojCiMkSWQ6IEdDaGFydHMubW9kdWxlLnBocCAyMTE0IDIwMDUtMTEtMDQgMjE6NTE6MTNaIHdpc2h5ICQKCmZpbmFsIGNsYXNzIGdjaGFydHNfb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwcml2YXRlIHN0YXRpYyAkX2NhdGVnb3JpZXNfbG9hZGVkOwogIHByaXZhdGUgc3RhdGljICRfY2FjaGVkX2NhdGVnb3JpZXM7CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3JpZXMoJGlkLCRwYXJhbXMsJHJldHVybmlkPS0xKQogIHsKICAgICR0bXAgPSBzZWxmOjpnZXRfYWxsX2NhdGVnb3JpZXMoKTsKICAgIGlmKCAhY291bnQoJHRtcCkgKSByZXR1cm47CgogICAgJGNhdGluZm8gPSBhcnJheSgpOwogICAgaWYoICFpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSB8fCAkcGFyYW1zWydjYXRlZ29yeSddID09ICcnICkgewogICAgICAkY2F0aW5mbyA9ICR0bXA7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJGNhdGVnb3JpZXMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snY2F0ZWdvcnknXSk7CiAgICAgIGZvcmVhY2goICRjYXRlZ29yaWVzIGFzICRvbmVjYXQgKSB7CglpZiggc3RycG9zKCRvbmVjYXQsJyonKSAhPT0gRkFMU0UgKSB7CgkgIGZvcmVhY2goICR0bXAgYXMgJHJlYyApIHsKIAkgICAgaWYoIGZubWF0Y2goJG9uZWNhdCwkcmVjWydnY2hhcnRzX2NhdGVnb3J5X25hbWUnXSkgKSB7CgkgICAgICAkY2F0aW5mb1tdID0gJHJlYzsKCSAgICB9CgkgIH0KCX0KCWVsc2UgewoJICBmb3JlYWNoKCAkdG1wIGFzICRyZWMgKSB7CgkgICAgaWYoICRyZWNbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddID09ICRvbmVjYXQgKSB7CgkgICAgICAkY2F0aW5mb1tdID0gJHJlYzsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgfQogICAgdW5zZXQoJHRtcCk7CiAgICBpZiggIWNvdW50KCRjYXRpbmZvKSApIHJldHVybjsKCiAgICAkY2F0X2lkcyA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkY2F0aW5mbyk7ICRpKysgKSB7CiAgICAgICRjYXRfaWRzW10gPSAkY2F0aW5mb1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgIH0KICAgIHNvcnQoJGNhdF9pZHMpOwogICAgJGNhdF9pZHMgPSBhcnJheV91bmlxdWUoJGNhdF9pZHMpOwoKICAgIC8vIGdldCBjb3VudHMuCiAgICAkZGVwdGggPSAxOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRjb3VudHMgPSBhcnJheSgpOwoKICAgIHsKICAgICAgJHEyID0gJ1NFTEVDVCBnY2hhcnRzX2NhdGVnb3J5X2lkLENPVU5UKGdjaGFydHNfaWQpIEFTIGNudCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBXSEVSRSBnY2hhcnRzX2NhdGVnb3J5X2lkIElOICgnOwogICAgICAkcTIgLj0gaW1wbG9kZSgnLCcsJGNhdF9pZHMpLicpJzsKICAgICAgJHEyIC49ICcgQU5EIHN0YXR1cyA9IFwncHVibGlzaGVkXCcgR1JPVVAgQlkgZ2NoYXJ0c19jYXRlZ29yeV9pZCc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxMik7CiAgICAgIGlmKCBjb3VudCgkdG1wKSApIHsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewoJICAkY291bnRzWyR0bXBbJGldWydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dID0gJHRtcFskaV1bJ2NudCddOwoJfQogICAgICB9CiAgICB9CgogICAgJHJvd2NvdW50ZXI9MDsKICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAkZGVwdGggPSAxOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGluZm8pOyAkaSsrICkgewogICAgICAkcm93ID0mICRjYXRpbmZvWyRpXTsKICAgICAgJHJvd1snaW5kZXgnXSA9ICRyb3djb3VudGVyKys7CiAgICAgICRyb3dbJ2NvdW50J10gPSAoaXNzZXQoJGNvdW50c1skcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dKSk/JGNvdW50c1skcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ11dOjA7CiAgICAgICRyb3dbJ3ByZXZkZXB0aCddID0gJGRlcHRoOwogICAgICAkZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJHJvd1snaGllcmFyY2h5J10pKTsKICAgICAgJHJvd1snZGVwdGgnXT0kZGVwdGg7CgogICAgICAvLyBjaGFuZ2VzIHNvIHRoYXQgcGFyYW1ldGVycyBzdXBwbGllZCB0byB0aGUgdGFnCiAgICAgIC8vIGdldHMgY2FycmllZCBkb3duIHRocm91Z2ggdGhlIGxpbmtzCiAgICAgIC8vIHNjcmV3IHByZXR0eSB1cmxzCiAgICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAgIHVuc2V0KCRwYXJtc1snYnJvd3NlY2F0J10pOwogICAgICB1bnNldCgkcGFybXNbJ2NhdGVnb3J5J10pOwogICAgICAkcGFybXNbJ2NhdGVnb3J5X2lkJ10gPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CgogICAgICAkcGFnZWlkID0gKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgJiYgJHBhcmFtc1snZGV0YWlscGFnZSddIT0nJyk/JHBhcmFtc1snZGV0YWlscGFnZSddOiRyZXR1cm5pZDsKICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR0NoYXJ0cycpOwogICAgICAkcm93Wyd1cmwnXSA9ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcGFnZWlkLCRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddLCRwYXJtcywnJyx0cnVlKTsKICAgICAgJGl0ZW1zW10gPSAkcm93OwogICAgfQogICAgcmV0dXJuICRpdGVtczsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9hbGxfY2F0ZWdvcmllcygpCiAgewogICAgaWYoICFzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkICkgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHkiOwogICAgICAkZGJyZXN1bHQgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGlmKCAkZGJyZXN1bHQgKSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzID0gJGRicmVzdWx0OwogICAgICBzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkID0gVFJVRTsKICAgIH0KICAgIHJldHVybiBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3J5X2xpc3QoKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgJGNhdGVnb3J5bGlzdCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKICAgICAgJHJvdyA9IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldOwogICAgICAkY2F0ZWdvcnlsaXN0WyRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddXSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgIH0KCiAgICByZXR1cm4gJGNhdGVnb3J5bGlzdDsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9uYW1lc19ieV9pZCgpCiAgewogICAgc2VsZjo6Z2V0X2FsbF9jYXRlZ29yaWVzKCk7CiAgICAkbGlzdCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKICAgICAgJGxpc3Rbc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllc1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXV0gPSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CiAgICB9CiAgICByZXR1cm4gJGxpc3Q7CiAgfQoKICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9uYW1lX2Zyb21faWQoJGlkKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllcyk7ICRpKysgKSB7CiAgICAgIGlmKCAkaWQgPT0gc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllc1skaV1bJ2djaGFydHNfY2F0ZWdvcnlfaWQnXSApIHsKCXJldHVybiBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CiAgICAgIH0KICAgIH0KICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZpbGxfY2hhcnRfZnJvbV9mb3JtcGFyYW1zKGdjaGFydHNfY2hhcnQgJiRnY2hhcnRzLCRwYXJhbXMsJGhhbmRsZV91cGxvYWRzID0gRkFMU0UsJGhhbmRsZV9kZWxldGVzID0gRkFMU0UpCiAgewogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICBjYXNlICdjaGFydGlkJzoKCSRnY2hhcnRzLT5pZCA9ICR2YWx1ZTsKCWJyZWFrOwoKICAgICAgY2FzZSAnbmFtZSc6CiAgICAgIGNhc2UgJ2RhdGEnOgogICAgICBjYXNlICdzdGF0dXMnOgoJJGdjaGFydHMtPiRrZXkgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2NhdGVnb3J5JzoKCSRsaXN0ID0gc2VsZjo6Z2V0X2NhdGVnb3J5X25hbWVzX2J5X2lkKCk7Cglmb3IoICRpID0gMDsgJGkgPCBjb3VudChzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzKTsgJGkrKyApIHsKCSAgaWYoICR2YWx1ZSA9PSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ10gKQoJICAgICRnY2hhcnRzLT5jYXRlZ29yeV9pZCA9IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldWydnY2hhcnRzX2NhdGVnb3J5X2lkJ107Cgl9CglicmVhazsKICAgIH0KCX0KCiAgICByZXR1cm4gJGdjaGFydHM7CiAgfQoKCiAgc3RhdGljIHByaXZhdGUgZnVuY3Rpb24gJmdldF9jaGFydF9mcm9tX3Jvdygkcm93KQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHJvdykgKSByZXR1cm47CiAgICAkY2hhcnQgPSBuZXcgZ2NoYXJ0c19jaGFydDsKICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgY2FzZSAnZ2NoYXJ0c19pZCc6CgkkY2hhcnQtPmlkID0gJHZhbHVlOwoJYnJlYWs7CgogICAgICBjYXNlICdnY2hhcnRzX2NhdGVnb3J5X2lkJzoKCSRjaGFydC0+Y2F0ZWdvcnlfaWQgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2djaGFydHNfbmFtZSc6CgkkY2hhcnQtPm5hbWUgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ2djaGFydHNfZGF0YSc6CgkkY2hhcnQtPmRhdGEgPSAkdmFsdWU7CglicmVhazsKCiAgICAgIGNhc2UgJ3N0YXR1cyc6CgkkY2hhcnQtPnN0YXR1cyA9ICR2YWx1ZTsKCWJyZWFrOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICRjaGFydDsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmdldF9sYXRlc3RfY2hhcnQoJGZvcl9kaXNwbGF5ID0gVFJVRSkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgICRxdWVyeSA9ICJTRUxFQ1QgbW4uKiwgbW5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyBtbiBMRUZUIE9VVEVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgbW5jIE9OIG1uYy5nY2hhcnRzX2NhdGVnb3J5X2lkID0gbW4uZ2NoYXJ0c19jYXRlZ29yeV9pZCBXSEVSRSBzdGF0dXMgPSAncHVibGlzaGVkJyBBTkQgIjsKICAgICRxdWVyeSAuPSAnT1JERVIgQlkgZ2NoYXJ0c19pZCBERVNDIExJTUlUIDEnOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSk7CgogICAgcmV0dXJuIHNlbGY6OmdldF9jaGFydF9mcm9tX3Jvdygkcm93LCgkZm9yX2Rpc3BsYXkpPydQVUJMSUMnOidBTEwnKTsgICAgCiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X2NoYXJ0X2J5X2lkKCRjaGFydF9pZCwkZm9yX2Rpc3BsYXkgPSBUUlVFLCRhbGxvd19leHBpcmVkID0gRkFMU0UpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgbW4uKiwgbW5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyBtbiAKICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgbW5jIE9OIG1uYy5nY2hhcnRzX2NhdGVnb3J5X2lkID0gbW4uZ2NoYXJ0c19jYXRlZ29yeV9pZCAKICAgICAgICAgICAgICBXSEVSRSBzdGF0dXMgPSBcJ3B1Ymxpc2hlZFwnIEFORCBnY2hhcnRzX2lkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY2hhcnRfaWQpKTsKCiAgICAkcmVzID0gbnVsbDsKICAgIGlmKCAhJHJvdyApIHJldHVybiAkcmVzOwogICAgCiAgICByZXR1cm4gc2VsZjo6Z2V0X2NoYXJ0X2Zyb21fcm93KCRyb3csKCRmb3JfZGlzcGxheSk/J1BVQkxJQyc6J0FMTCcpOyAgICAKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmKCAhY2xhc3NfZXhpc3RzKCdnY2hhcnRzX2FkbWluX29wcycpICkKICB7CiAgICAvLyB0aGlzIGlzIHJlcXVpcmVkIGlmIGNhbGxlZCBmcm9tIHRoZSBpbnN0YWxsZXIKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvbGliL2NsYXNzLmdjaGFydHNfYWRtaW5fb3BzLnBocCc7CiAgICByZXF1aXJlX29uY2UoJGZuKTsKICB9CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRmbGRzID0gIgogICAgIGdjaGFydHNfaWQgSSBLRVksCgkgZ2NoYXJ0c19jYXRlZ29yeV9pZCBJLAoJIGdjaGFydHNfZWxlbWVudF9pZCBDKDI1NSksCgkgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIEMoMjU1KSwKCSBnY2hhcnRzX25hbWUgQygyNTUpLAoJIGdjaGFydHNfZGF0YSBYLAoJIGF4aXNUaXRsZXNQb3NpdGlvbiBDKDI1NSksCgkgYmFja2dyb3VuZENvbG9yIEMoMjU1KSwKCSBjaGFydEFyZWEgQygyNTUpLAoJIGN1cnZlVHlwZSBDKDI1NSksCgkgY29sb3JzIEMoMjU1KSwKCSBlbmFibGVJbnRlcmFjdGl2aXR5IEMoMjU1KSwKCSBmb2N1c1RhcmdldCBDKDI1NSksCgkgZm9udFNpemUgQygyNTUpLAoJIGZvbnROYW1lIEMoMjU1KSwKCSBoQXhlcyBDKDI1NSksCgkgaEF4aXMgQygyNTUpLAoJIGhlaWdodCBDKDI1NSksCgkgaW50ZXJwb2xhdGVkTnVsbHMgQygyNTUpLAoJIGlzSHRtbCBDKDI1NSksCgkgaXNTdGFja2VkIEMoMjU1KSwKCSBpczNEIEMoMjU1KSwKCSBsZWdlbmQgQygyNTUpLAoJIGxpbmVXaWR0aCBDKDI1NSksCgkgc2xpY2VzIEMoMjU1KSwKCSBwaWVTbGljZUJvcmRlckNvbG9yIEMoMjU1KSwKCSBwaWVTbGljZVRleHQgQygyNTUpLAoJIHBpZVNsaWNlVGV4dFN0eWxlIEMoMjU1KSwKCSBwb2ludFNpemUgQygyNTUpLAoJIHJldmVyc2VDYXRlZ29yaWVzIEMoMjU1KSwKCSBzZXJpZXMgQygyNTUpLAoJIHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCBDKDI1NSksCgkgcGllUmVzaWR1ZVNsaWNlQ29sb3IgQygyNTUpLAoJIHBpZVJlc2lkdWVTbGljZUxhYmVsIEMoMjU1KSwKCSB0aGVtZSBDKDI1NSksCgkgdGl0bGUgQygyNTUpLAoJIHRpdGxlUG9zaXRpb24gQygyNTUpLAoJIHRpdGxlVGV4dFN0eWxlIEMoMjU1KSwKCSB0b29sdGlwIEMoMjU1KSwKCSB2QXhlcyBDKDI1NSksCgkgdkF4aXMgQygyNTUpLAoJIHdpZHRoIEMoMjU1KSwKCSBhZ2dyZWdhdGlvblRhcmdldCBDKDI1NSksCgkgZ3JvdXBXaWR0aCBDKDI1NSksCgkgZGF0YU9wYWNpdHkgQygyNTUpLAoJIGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgQygyNTUpLAoJIHRpbWVsaW5lIEMoMjU1KSwKCSBzdGF0dXMgQygyNSkKIjsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdUWVBFPU15SVNBTScgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzIiwKCQkJCSAgICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19zZXEiKTsKCiRmbGRzID0gIgoJZ2NoYXJ0c19jYXRlZ29yeV9pZCBJIEtFWSwKCWdjaGFydHNfY2F0ZWdvcnlfbmFtZSBDKDI1NSksCglwYXJlbnRfaWQgSSwKCWhpZXJhcmNoeSBDKDI1NSksCgljcmVhdGVfZGF0ZSAiLkNNU19BRE9EQl9EVC4iLAoJbW9kaWZpZWRfZGF0ZSAiLkNNU19BRE9EQl9EVC4iCiI7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXNfc2VxIik7CgovLyBjcmVhdGUgYSBwZXJtaXNzaW9uCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgR0NoYXJ0cycsICdVc2UgR0NoYXJ0cycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJywgJ0FwcHJvdmUgR0NoYXJ0cyBGb3IgRnJvbnRlbmQgRGlzcGxheScpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRGVsZXRlIEdDaGFydHMnLCAnRGVsZXRlIEdDaGFydHMgQ2hhcnRzJyk7CgovLyBjcmVhdGUgYSBwcmVmZXJlbmNlCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhbGxvd19hZGQiLCB0cnVlKTsKCiMgU2V0dXAgY2F0ZWdvcmllcwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzEnLCAnUGllIENoYXJ0JywgLTEpKTsKCiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnMicsICdMaW5lIENoYXJ0JywgLTEpKTsKCiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnMycsICdCYXIgQ2hhcnQnLCAtMSkpOwoKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCc0JywgJ0NvbHVtbiBDaGFydCcsIC0xKSk7CgokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzUnLCAnSGlzdG9ncmFtJywgLTEpKTsKCiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnNicsICdUaW1lbGluZScsIC0xKSk7Cg0KIyBTZXR1cCBkZXRhaWwgdGVtcGxhdGUNCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuDQogICd0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2djaGFydHNfbGlzdC50cGwnOw0KaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsNCiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9kZXRhaWxfdGVtcGxhdGVfY29udGVudHMnLCR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxTYW1wbGUnLCR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfZGV0YWlsX3RlbXBsYXRlJywnRGVmYXVsdCcpOw0KfQoKIyBTZXR1cCBwZXJtaXNzaW9ucwokcGVybV9pZCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgcGVybWlzc2lvbl9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJwZXJtaXNzaW9ucyBXSEVSRSBwZXJtaXNzaW9uX25hbWUgPSAnTW9kaWZ5IEdDaGFydHMnIik7CiRncm91cF9pZCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgZ3JvdXBfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iZ3JvdXBzIFdIRVJFIGdyb3VwX25hbWUgPSAnQWRtaW4nIik7CgokY291bnQgPSAkZGItPkdldE9uZSgiU0VMRUNUIGNvdW50KCopIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJncm91cF9wZXJtcyBXSEVSRSBncm91cF9pZCA9ID8gQU5EIHBlcm1pc3Npb25faWQgPSA/IiwgYXJyYXkoJGdyb3VwX2lkLCAkcGVybV9pZCkpOwppZiAoaXNzZXQoJGNvdW50KSAmJiBpbnR2YWwoJGNvdW50KSA9PSAwKQp7CgkkbmV3X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuImdyb3VwX3Blcm1zX3NlcSIpOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiZ3JvdXBfcGVybXMgKGdyb3VwX3Blcm1faWQsIGdyb3VwX2lkLCBwZXJtaXNzaW9uX2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICgiLiRuZXdfaWQuIiwgIi4kZ3JvdXBfaWQuIiwgIi4kcGVybV9pZC4iLCAiLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAiLCAiIC4gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpIC4gIikiOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cn0KCiRncm91cF9pZCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgZ3JvdXBfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iZ3JvdXBzIFdIRVJFIGdyb3VwX25hbWUgPSAnRWRpdG9yJyIpOwoKJGNvdW50ID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiZ3JvdXBfcGVybXMgV0hFUkUgZ3JvdXBfaWQgPSA/IEFORCBwZXJtaXNzaW9uX2lkID0gPyIsIGFycmF5KCRncm91cF9pZCwgJHBlcm1faWQpKTsKaWYgKGlzc2V0KCRjb3VudCkgJiYgaW50dmFsKCRjb3VudCkgPT0gMCkKewoJJG5ld19pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJncm91cF9wZXJtc19zZXEiKTsKCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImdyb3VwX3Blcm1zIChncm91cF9wZXJtX2lkLCBncm91cF9pZCwgcGVybWlzc2lvbl9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoIi4kbmV3X2lkLiIsICIuJGdyb3VwX2lkLiIsICIuJHBlcm1faWQuIiwgIi4gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpIC4gIiwgIiAuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIpIjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgojU2V0dXAgZXZlbnRzCiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NoYXJ0QWRkZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2hhcnRFZGl0ZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2hhcnREZWxldGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR0NoYXJ0c0NhdGVnb3J5QWRkZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2F0ZWdvcnlFZGl0ZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2F0ZWdvcnlEZWxldGVkJyk7CgokdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oVFJVRSk7CiR0aGlzLT5SZWdpc3RlclNtYXJ0eVBsdWdpbignZ2NoYXJ0cycsJ2Z1bmN0aW9uJywnZnVuY3Rpb25fcGx1Z2luJyk7CgovLyBhbmQgcm91dGVzLi4uCiRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnL1tnR11jaGFydHNcLyg/UDxjaGFydGlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pXC9kLCg/UDxkZXRhaWx0ZW1wbGF0ZT4uKj8pJC8nLAoJCSAgICAgICR0aGlzLT5HZXROYW1lKCkpOwpjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwokcm91dGUgPSBuZXcgQ21zUm91dGUoJy9bZ0ddY2hhcnRzXC8oP1A8Y2hhcnRpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywkdGhpcy0+R2V0TmFtZSgpKTsKY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW2dHXWNoYXJ0c1wvKD9QPGNoYXJ0aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsJHRoaXMtPkdldE5hbWUoKSk7CmNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnL1tnR11jaGFydHNcLyg/UDxjaGFydGlkPlswLTldKykkLycsJHRoaXMtPkdldE5hbWUoKSk7CmNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkgKTsKCgkgICAgICAKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19zZXEiICk7CiRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXNfc2VxIiApOwoKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBHQ2hhcnRzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBcHByb3ZlIEdDaGFydHMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0RlbGV0ZSBHQ2hhcnRzJyk7CgovLyBSZW1vdmUgYWxsIHByZWZlcmVuY2VzIGZvciB0aGlzIG1vZHVsZQokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gQW5kIGFsbCBUZW1wbGF0ZXMKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CgojU2V0dXAgZXZlbnRzCiR0aGlzLT5SZW1vdmVFdmVudCgnR0NoYXJ0c0NoYXJ0QWRkZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdHQ2hhcnRzQ2hhcnRFZGl0ZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdHQ2hhcnRzQ2hhcnREZWxldGVkJyk7CgokdGhpcy0+UmVtb3ZlU21hcnR5UGx1Z2luKCk7CgpjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywkdGhpcy0+R2V0TmFtZSgpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKJGRiID0mICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7Cgpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikgewogIC8vIHdlIGFyZSBub3cgMS4wIGFuZCB3YW50IHRvIHVwZ3JhZGUgdG8gbGF0ZXN0CiBjYXNlICIxLjAiOgogY2FzZSAiMS4xIjoKIGNhc2UgIjEuMiI6CgkkZmllbGRzID0gJwoJCWFnZ3JlZ2F0aW9uVGFyZ2V0IEMoMjU1KSwKCQlncm91cFdpZHRoIEMoMjU1KQoJJzsKCgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2NoYXJ0cycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnNCcsICdDb2x1bW4gQ2hhcnQnLCAtMSkpOwogY2FzZSAiMS4zIjoKCSRmaWVsZHMgPSAnCgkJZGF0YU9wYWNpdHkgQygyNTUpLAoJIAlhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzIEMoMjU1KSwKCSAJdGltZWxpbmUgQygyNTUpCgknOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9nY2hhcnRzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCc1JywgJ0hpc3RvZ3JhbScsIC0xKSk7CgoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnNicsICdUaW1lbGluZScsIC0xKSk7CiBjYXNlICIxLjMuMSI6Cgp9CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgovL25vdGU6IG1vZHVsZSBhcGkgaGFuZGxlcyBzZW5kaW5nIGdlbmVyaWMgZXZlbnQgb2YgbW9kdWxlIHVwZ3JhZGVkIGhlcmUKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/chartlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKZnVuY3Rpb24gc2VsZWN0QWxsKCkKewogIGNoZWNrYm94ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKICBmb3IgKGk9MDsgaTxjaGVja2JveGVzLmxlbmd0aCA7IGkrKykKICAgIHsKICAgICAgaWYgKGNoZWNrYm94ZXNbaV0udHlwZSA9PSAiY2hlY2tib3giKSBjaGVja2JveGVzW2ldLmNoZWNrZWQ9IWNoZWNrYm94ZXNbaV0uY2hlY2tlZDsKICAgIH0KfQovL11dPgo8L3NjcmlwdD4Key9saXRlcmFsfQoKCntpZiAkaXRlbWNvdW50ID4gMH0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7aWYgaXNzZXQoJGFkZGxpbmspfTxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD57L2lmfQo8L2Rpdj4KCntpZiAkcGFnZWNvdW50ID4gMX0KICA8cD4Ke2lmICRwYWdlbnVtYmVyID4gMX0KeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0mbmJzcDsKey9pZn0KeyRwYWdlbnVtYmVyfSZuYnNwO3skb2Z0ZXh0fSZuYnNwO3skcGFnZWNvdW50fQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQombmJzcDt7JG5leHRwYWdlfSZuYnNwO3skbGFzdHBhZ2V9CnsvaWZ9CjwvcD4Key9pZn0KCnskZm9ybTJzdGFydH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskY2hhcnRpZHRleHR9PC90aD4KCQkJPHRoPnskbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY2F0ZWdvcnl0ZXh0fTwvdGg+CgkJCTwhLS08dGggY2xhc3M9InBhZ2VpY29uIj57JHN0YXR1c3RleHR9PC90aD4tLT4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+PGEgaHJlZj0iamF2YXNjcmlwdDpzZWxlY3RBbGwoKTsiPnskc2VsZWN0dGV4dH08L2E+PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNhdGVnb3J5fTwvdGQ+CgkJCTwhLS08dGQ+e2lmIGlzc2V0KCRlbnRyeS0+YXBwcm92ZV9saW5rKX17JGVudHJ5LT5hcHByb3ZlX2xpbmt9ey9pZn08L3RkPi0tPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt8ZGVmYXVsdDonJ308L3RkPgoJCQk8dGQ+e2lmIGlzc2V0KCRlbnRyeS0+ZGVsZXRlbGluayl9eyRlbnRyeS0+ZGVsZXRlbGlua317L2lmfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5zZWxlY3R9PC90ZD4KCQk8L3RyPgoJey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgc3R5bGU9IndpZHRoOiA5NyU7Ij4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogbGVmdDsiPgp7aWYgaXNzZXQoJGFkZGxpbmspfTxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD57L2lmfQo8L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQogIDxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+CiAgICB7JHJlYXNzaWdudGV4dH06Jm5ic3A7eyRjYXRlZ29yeWlucHV0fXskc3VibWl0X3JlYXNzaWdufXtpZiBpc3NldCgkc3VibWl0X21hc3NkZWxldGUpfTxiciAvPnskc3VibWl0X21hc3NkZWxldGV9ey9pZn0KICA8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+CnskZm9ybTJlbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/editchart.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKJChmdW5jdGlvbigpIHsKCWlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDEpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAucGllJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7Cgl9IGVsc2UgaWYgKCQoJyNjaGFydENhdGVnb3J5JykudmFsKCkgPT0gMikgewoJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCSQoJyNlZGl0X2NoYXJ0IC5saW5lJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7Cgl9IGVsc2UgaWYgKCQoJyNjaGFydENhdGVnb3J5JykudmFsKCkgPT0gMykgewoJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCSQoJyNlZGl0X2NoYXJ0IC5iYXInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCX0gZWxzZSBpZiAoJCgnI2NoYXJ0Q2F0ZWdvcnknKS52YWwoKSA9PSA0KSB7CgkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJJCgnI2VkaXRfY2hhcnQgLmNvbCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIGlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDUpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAuaGlzdCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIGlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDYpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAudGltZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCX07CgkkKCcjY2hhcnRDYXRlZ29yeScpLmNoYW5nZShmdW5jdGlvbiAoKSB7CgkJaWYgKCQodGhpcykudmFsKCkgPT0gMSkgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJJCgnI2VkaXRfY2hhcnQgLnBpZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLnBpZSknKSkgewoJCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdyAucGFnZWlucHV0IGlucHV0JykudmFsKCcnKTsKCQkJfQoJCX0gZWxzZSBpZiAoJCh0aGlzKS52YWwoKSA9PSAyKSB7CgkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQkkKCcjZWRpdF9jaGFydCAubGluZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLmxpbmUpJykpIHsKCQkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cgLnBhZ2VpbnB1dCBpbnB1dCcpLnZhbCgnJyk7CgkJCX0KCQl9IGVsc2UgaWYgKCQodGhpcykudmFsKCkgPT0gMykgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJJCgnI2VkaXRfY2hhcnQgLmJhcicpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLmJhciknKSkgewoJCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdyAucGFnZWlucHV0IGlucHV0JykudmFsKCcnKTsKCQkJfQoJCX0gZWxzZSBpZiAoJCh0aGlzKS52YWwoKSA9PSA0KSB7CgkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQkkKCcjZWRpdF9jaGFydCAuY29sJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7CgkJCWlmICgkKCcucGFnZW92ZXJmbG93Om5vdCguY29sKScpKSB7CgkJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93IC5wYWdlaW5wdXQgaW5wdXQnKS52YWwoJycpOwoJCQl9CgkJfSBlbHNlIGlmICgkKHRoaXMpLnZhbCgpID09IDUpIHsKCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJCSQoJyNlZGl0X2NoYXJ0IC5oaXN0JykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7CgkJCWlmICgkKCcucGFnZW92ZXJmbG93Om5vdCguaGlzdCknKSkgewoJCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdyAucGFnZWlucHV0IGlucHV0JykudmFsKCcnKTsKCQkJfQoJCX0gZWxzZSBpZiAoJCh0aGlzKS52YWwoKSA9PSA2KSB7CgkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQkkKCcjZWRpdF9jaGFydCAudGltZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLnRpbWUpJykpIHsKCQkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cgLnBhZ2VpbnB1dCBpbnB1dCcpLnZhbCgnJyk7CgkJCX0KCQl9IGVsc2UgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQl9OwoJfSk7Cn0pOwovL11dPgo8L3NjcmlwdD4Key9saXRlcmFsfQoKPGRpdiBpZD0iZWRpdGNoYXJ0X3Jlc3VsdCI+PC9kaXY+Cgp7JHN0YXJ0Zm9ybX0KPGRpdiBjbGFzcz0icGFnZW92ZXJzaG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH17aWYgaXNzZXQoJGFwcGx5KX17JGFwcGx5fXsvaWZ9PC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkc3RhcnRfdGFiX2hlYWRlcnMpfQp7JHN0YXJ0X3RhYl9oZWFkZXJzfQp7JHRhYmhlYWRlcl9jaGFydH0KeyRlbmRfdGFiX2hlYWRlcnN9Cgp7JHN0YXJ0X3RhYl9jb250ZW50fQp7JHN0YXJ0X3RhYl9jaGFydH0Key9pZn0KPGRpdiBpZD0iZWRpdF9jaGFydCI+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcnNob3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskY2F0ZWdvcnl0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGNhdGVnb3J5fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJzaG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcnNob3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskZGF0YXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0ZGF0YX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyc2hvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVsZW1lbnR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGVsZW1lbnR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRiYWNrZ3JvdW5kQ29sb3J0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGJhY2tncm91bmRDb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjaGFydEFyZWF0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGNoYXJ0QXJlYX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QgdGltZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNvbG9yc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y29sb3JzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZvbnRTaXpldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmb250U2l6ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250TmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udE5hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoZWlnaHR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGhlaWdodH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsZWdlbmR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGxlZ2VuZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRyZXZlcnNlQ2F0ZWdvcmllc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cmV2ZXJzZUNhdGVnb3JpZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVUZXh0U3R5bGV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRpdGxlVGV4dFN0eWxlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRvb2x0aXB0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRvb2x0aXB9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR3aWR0aHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0d2lkdGh9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaXMzRHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aXMzRH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzbGljZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNsaWNlc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVTbGljZUJvcmRlckNvbG9ydGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRwaWVTbGljZUJvcmRlckNvbG9yfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBpZVNsaWNlVGV4dHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllU2xpY2VUZXh0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBpZVNsaWNlVGV4dFN0eWxldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRwaWVTbGljZVRleHRTdHlsZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVSZXNpZHVlU2xpY2VDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllUmVzaWR1ZVNsaWNlQ29sb3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGllUmVzaWR1ZVNsaWNlTGFiZWx0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHBpZVJlc2lkdWVTbGljZUxhYmVsfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXhpc1RpdGxlc1Bvc2l0aW9udGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRheGlzVGl0bGVzUG9zaXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBiYXIgY29sIGhpc3QgdGltZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVuYWJsZUludGVyYWN0aXZpdHl0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGVuYWJsZUludGVyYWN0aXZpdHl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb2N1c1RhcmdldHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9jdXNUYXJnZXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoQXhpc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aEF4aXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpc0h0bWx0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGlzSHRtbH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNlcmllc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2VyaWVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGhlbWV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRoZW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVQb3NpdGlvbnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGl0bGVQb3NpdGlvbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdkF4ZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHZBeGVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdkF4aXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHZBeGlzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgY29sIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYWdncmVnYXRpb25UYXJnZXR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFnZ3JlZ2F0aW9uVGFyZ2V0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjdXJ2ZVR5cGV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGN1cnZlVHlwZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaW50ZXJwb2xhdGVkTnVsbHN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGludGVycG9sYXRlZE51bGxzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsaW5lV2lkdGh0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGxpbmVXaWR0aH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcG9pbnRTaXpldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRwb2ludFNpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaXNTdGFja2VkdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRpc1N0YWNrZWR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgY29sIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZ3JvdXBXaWR0aHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Z3JvdXBXaWR0aH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGF0YU9wYWNpdHl0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGRhdGFPcGFjaXR5fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aW1lbGluZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGltZWxpbmV9PC9wPgoJPC9kaXY+CjwvZGl2Pgp7aWYgaXNzZXQoJGVuZF90YWJfY2hhcnQpfXskZW5kX3RhYl9jaGFydH17L2lmfQoKCjxkaXYgY2xhc3M9InBhZ2VvdmVyc2hvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9e2lmIGlzc2V0KCRhcHBseSl9eyRhcHBseX17L2lmfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/gcharts.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtb2R1bGVfbWVzc2FnZSl9PGgyPnskbW9kdWxlX21lc3NhZ2V8ZXNjYXBlfTwvaDI+ey9pZn0Ke2Fzc2lnbiB2YXI9J2NvdW50JyB2YWx1ZT0nMCd9Cntmb3JlYWNoIGZyb209JHJlY29yZHMgaXRlbT1lbnRyeX0KCXthc3NpZ24gdmFyPSdjaGFydGlkJyB2YWx1ZT0kZW50cnktPmlkfQoJe2Fzc2lnbiB2YXI9J2NhdGVnb3J5JyB2YWx1ZT0kZW50cnktPmNhdGVnb3J5fQoJe2Fzc2lnbiB2YXI9J25hbWUnIHZhbHVlPSRlbnRyeS0+bmFtZX0KCXthc3NpZ24gdmFyPSdlbGVtZW50JyB2YWx1ZT0kZW50cnktPmVsZW1lbnR9Cgl7YXNzaWduIHZhcj0ndGl0bGUnIHZhbHVlPSRlbnRyeS0+dGl0bGV9Cgl7YXNzaWduIHZhcj0nZGF0YScgdmFsdWU9JGVudHJ5LT5kYXRhfQoJe2Fzc2lnbiB2YXI9J2JhY2tncm91bmRDb2xvcicgdmFsdWU9JGVudHJ5LT5iYWNrZ3JvdW5kQ29sb3J9Cgl7YXNzaWduIHZhcj0nY2hhcnRBcmVhJyB2YWx1ZT0kZW50cnktPmNoYXJ0QXJlYX0KCXthc3NpZ24gdmFyPSdjb2xvcnMnIHZhbHVlPSRlbnRyeS0+Y29sb3JzfQoJe2Fzc2lnbiB2YXI9J2ZvbnRTaXplJyB2YWx1ZT0kZW50cnktPmZvbnRTaXplfQoJe2Fzc2lnbiB2YXI9J2ZvbnROYW1lJyB2YWx1ZT0kZW50cnktPmZvbnROYW1lfQoJe2Fzc2lnbiB2YXI9J2hlaWdodCcgdmFsdWU9JGVudHJ5LT5oZWlnaHR9Cgl7YXNzaWduIHZhcj0nbGVnZW5kJyB2YWx1ZT0kZW50cnktPmxlZ2VuZH0KCXthc3NpZ24gdmFyPSdyZXZlcnNlQ2F0ZWdvcmllcycgdmFsdWU9JGVudHJ5LT5yZXZlcnNlQ2F0ZWdvcmllc30KCXthc3NpZ24gdmFyPSd0aXRsZVRleHRTdHlsZScgdmFsdWU9JGVudHJ5LT50aXRsZVRleHRTdHlsZX0KCXthc3NpZ24gdmFyPSd0b29sdGlwJyB2YWx1ZT0kZW50cnktPnRvb2x0aXB9Cgl7YXNzaWduIHZhcj0nd2lkdGgnIHZhbHVlPSRlbnRyeS0+d2lkdGh9CgoJe2Fzc2lnbiB2YXI9J2lzM0QnIHZhbHVlPSRlbnRyeS0+aXMzRH0KCXthc3NpZ24gdmFyPSdzbGljZXMnIHZhbHVlPSRlbnRyeS0+c2xpY2VzfQoJe2Fzc2lnbiB2YXI9J3BpZVNsaWNlQm9yZGVyQ29sb3InIHZhbHVlPSRlbnRyeS0+cGllU2xpY2VCb3JkZXJDb2xvcn0KCXthc3NpZ24gdmFyPSdwaWVTbGljZVRleHQnIHZhbHVlPSRlbnRyeS0+cGllU2xpY2VUZXh0fQoJe2Fzc2lnbiB2YXI9J3BpZVNsaWNlVGV4dFN0eWxlJyB2YWx1ZT0kZW50cnktPnBpZVNsaWNlVGV4dFN0eWxlfQoJe2Fzc2lnbiB2YXI9J3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcgdmFsdWU9JGVudHJ5LT5zbGljZVZpc2liaWxpdHlUaHJlc2hvbGR9Cgl7YXNzaWduIHZhcj0ncGllUmVzaWR1ZVNsaWNlQ29sb3InIHZhbHVlPSRlbnRyeS0+cGllUmVzaWR1ZVNsaWNlQ29sb3J9Cgl7YXNzaWduIHZhcj0ncGllUmVzaWR1ZVNsaWNlTGFiZWwnIHZhbHVlPSRlbnRyeS0+cGllUmVzaWR1ZVNsaWNlTGFiZWx9CgoJe2Fzc2lnbiB2YXI9J2F4aXNUaXRsZXNQb3NpdGlvbicgdmFsdWU9JGVudHJ5LT5heGlzVGl0bGVzUG9zaXRpb259Cgl7YXNzaWduIHZhcj0nZW5hYmxlSW50ZXJhY3Rpdml0eScgdmFsdWU9JGVudHJ5LT5lbmFibGVJbnRlcmFjdGl2aXR5fQoJe2Fzc2lnbiB2YXI9J2ZvY3VzVGFyZ2V0JyB2YWx1ZT0kZW50cnktPmZvY3VzVGFyZ2V0fQoJe2Fzc2lnbiB2YXI9J2hBeGlzJyB2YWx1ZT0kZW50cnktPmhBeGlzfQoJe2Fzc2lnbiB2YXI9J2lzSHRtbCcgdmFsdWU9JGVudHJ5LT5pc0h0bWx9Cgl7YXNzaWduIHZhcj0nc2VyaWVzJyB2YWx1ZT0kZW50cnktPnNlcmllc30KCXthc3NpZ24gdmFyPSd0aGVtZScgdmFsdWU9JGVudHJ5LT50aGVtZX0KCXthc3NpZ24gdmFyPSd0aXRsZVBvc2l0aW9uJyB2YWx1ZT0kZW50cnktPnRpdGxlUG9zaXRpb259CgoJe2Fzc2lnbiB2YXI9J3ZBeGlzJyB2YWx1ZT0kZW50cnktPnZBeGlzfQoJe2Fzc2lnbiB2YXI9J2FnZ3JlZ2F0aW9uVGFyZ2V0JyB2YWx1ZT0kZW50cnktPmFnZ3JlZ2F0aW9uVGFyZ2V0fQoKCXthc3NpZ24gdmFyPSdjdXJ2ZVR5cGUnIHZhbHVlPSRlbnRyeS0+Y3VydmVUeXBlfQoJe2Fzc2lnbiB2YXI9J2ludGVycG9sYXRlZE51bGxzJyB2YWx1ZT0kZW50cnktPmludGVycG9sYXRlZE51bGxzfQoJe2Fzc2lnbiB2YXI9J3ZBeGlzJyB2YWx1ZT0kZW50cnktPnZBeGlzfQoJe2Fzc2lnbiB2YXI9J2xpbmVXaWR0aCcgdmFsdWU9JGVudHJ5LT5saW5lV2lkdGh9Cgl7YXNzaWduIHZhcj0ncG9pbnRTaXplJyB2YWx1ZT0kZW50cnktPnBvaW50U2l6ZX0KCgl7YXNzaWduIHZhcj0naXNTdGFja2VkJyB2YWx1ZT0kZW50cnktPmlzU3RhY2tlZH0KCgl7YXNzaWduIHZhcj0nZ3JvdXBXaWR0aCcgdmFsdWU9JGVudHJ5LT5ncm91cFdpZHRofQoKCXthc3NpZ24gdmFyPSdkYXRhT3BhY2l0eScgdmFsdWU9JGVudHJ5LT5kYXRhT3BhY2l0eX0KCXthc3NpZ24gdmFyPSdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJyB2YWx1ZT0kZW50cnktPmF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXN9Cgl7YXNzaWduIHZhcj0ndGltZWxpbmUnIHZhbHVlPSRlbnRyeS0+dGltZWxpbmV9CgoJeyRjb3VudCsrIGFzc2lnbj0nanVuayd9CnsvZm9yZWFjaH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+CntsaXRlcmFsfQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICBnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKICAgICAgZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydCk7CiAgICAgIGZ1bmN0aW9uIGRyYXdDaGFydCgpIHsKCS8vIENyZWF0ZSBhbmQgcG9wdWxhdGUgdGhlIGRhdGEgdGFibGUuCgkJdmFyIGRhdGEgPSBnb29nbGUudmlzdWFsaXphdGlvbi5hcnJheVRvRGF0YVRhYmxlKFsKCQl7L2xpdGVyYWx9CgkJe2V2YWwgdmFyPSRkYXRhfQoJCXtsaXRlcmFsfQoJCV0pOwoJCXZhciBvcHRpb25zID0gewoJCXsvbGl0ZXJhbH0KCQkJe2lmICRiYWNrZ3JvdW5kQ29sb3IgbmUgJyd9YmFja2dyb3VuZENvbG9yOiB7JGJhY2tncm91bmRDb2xvcn0sey9pZn0KCQkJe2lmICRjaGFydEFyZWEgbmUgJyd9Y2hhcnRBcmVhOiB7JGNoYXJ0QXJlYX0sey9pZn0KCQkJe2lmICRjb2xvcnMgbmUgJyd9Y29sb3JzOiB7JGNvbG9yc30sey9pZn0KCQkJe2lmICRmb250U2l6ZSBuZSAnJ31mb250U2l6ZTogeyRmb250U2l6ZX0sey9pZn0KCQkJe2lmICRmb250TmFtZSBuZSAnJ31mb250TmFtZTogeyRmb250TmFtZX0sey9pZn0KCQkJe2lmICRoZWlnaHQgbmUgJyd9aGVpZ2h0OiB7JGhlaWdodH0sey9pZn0KCQkJe2lmICRsZWdlbmQgbmUgJyd9bGVnZW5kOiB7JGxlZ2VuZH0sey9pZn0KCQkJe2lmICRyZXZlcnNlQ2F0ZWdvcmllcyBuZSAnJ31yZXZlcnNlQ2F0ZWdvcmllczogeyRyZXZlcnNlQ2F0ZWdvcmllc30sey9pZn0KCQkJe2lmICR0aXRsZVRleHRTdHlsZSBuZSAnJ310aXRsZVRleHRTdHlsZTogeyR0aXRsZVRleHRTdHlsZX0sey9pZn0KCQkJe2lmICR0b29sdGlwIG5lICcnfXRvb2x0aXA6IHskdG9vbHRpcH0sey9pZn0KCQkJe2lmICR3aWR0aCBuZSAnJ313aWR0aDogeyR3aWR0aH0sey9pZn0KCQkJe2lmICRpczNEIG5lICcnfWlzM0Q6IHskaXMzRH0sey9pZn0KCQkJe2lmICRzbGljZXMgbmUgJyd9c2xpY2VzOiB7JHNsaWNlc30sey9pZn0KCQkJe2lmICRwaWVTbGljZUJvcmRlckNvbG9yIG5lICcnfXBpZVNsaWNlQm9yZGVyQ29sb3I6IHskcGllU2xpY2VCb3JkZXJDb2xvcn0sey9pZn0KCQkJe2lmICRwaWVTbGljZVRleHQgbmUgJyd9cGllU2xpY2VUZXh0OiB7JHBpZVNsaWNlVGV4dH0sey9pZn0KCQkJe2lmICRwaWVTbGljZVRleHRTdHlsZSBuZSAnJ31waWVTbGljZVRleHRTdHlsZTogeyRwaWVTbGljZVRleHRTdHlsZX0sey9pZn0KCQkJe2lmICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgbmUgJyd9c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkOiB7JHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZH0sey9pZn0KCQkJe2lmICRwaWVSZXNpZHVlU2xpY2VDb2xvciBuZSAnJ31waWVSZXNpZHVlU2xpY2VDb2xvcjogeyRwaWVSZXNpZHVlU2xpY2VDb2xvcn0sey9pZn0KCQkJe2lmICRwaWVSZXNpZHVlU2xpY2VMYWJlbCBuZSAnJ31waWVSZXNpZHVlU2xpY2VMYWJlbDogeyRwaWVSZXNpZHVlU2xpY2VMYWJlbH0sey9pZn0KCQkJe2lmICRheGlzVGl0bGVzUG9zaXRpb24gbmUgJyd9YXhpc1RpdGxlc1Bvc2l0aW9uOiB7JGF4aXNUaXRsZXNQb3NpdGlvbn0sey9pZn0KCQkJe2lmICRlbmFibGVJbnRlcmFjdGl2aXR5IG5lICcnfWVuYWJsZUludGVyYWN0aXZpdHk6IHskZW5hYmxlSW50ZXJhY3Rpdml0eX0sey9pZn0KCQkJe2lmICRmb2N1c1RhcmdldCBuZSAnJ31mb2N1c1RhcmdldDogeyRmb2N1c1RhcmdldH0sey9pZn0KCQkJe2lmICRoQXhpcyBuZSAnJ31oQXhpczogeyRoQXhpc30sey9pZn0KCQkJe2lmICRpc0h0bWwgbmUgJyd9aXNIdG1sOiB7JGlzSHRtbH0sey9pZn0KCQkJe2lmICRzZXJpZXMgbmUgJyd9c2VyaWVzOiB7JHNlcmllc30sey9pZn0KCQkJe2lmICR0aGVtZSBuZSAnJ310aGVtZTogeyR0aGVtZX0sey9pZn0KCQkJe2lmICR0aXRsZVBvc2l0aW9uIG5lICcnfXRpdGxlUG9zaXRpb246IHskdGl0bGVQb3NpdGlvbn0sey9pZn0KCQkJe2lmICR2QXhlcyBuZSAnJ312QXhlczogeyR2QXhlc30sey9pZn0KCQkJe2lmICRhZ2dyZWdhdGlvblRhcmdldCBuZSAnJ31hZ2dyZWdhdGlvblRhcmdldDogeyRhZ2dyZWdhdGlvblRhcmdldH0sey9pZn0KCQkJe2lmICRjdXJ2ZVR5cGUgbmUgJyd9Y3VydmVUeXBlOiB7JGN1cnZlVHlwZX0sey9pZn0KCQkJe2lmICRpbnRlcnBvbGF0ZWROdWxscyBuZSAnJ31pbnRlcnBvbGF0ZWROdWxsczogeyRpbnRlcnBvbGF0ZWROdWxsc30sey9pZn0KCQkJe2lmICR2QXhpcyBuZSAnJ312QXhpczogeyR2QXhpc30sey9pZn0KCQkJe2lmICRsaW5lV2lkdGggbmUgJyd9bGluZVdpZHRoOiB7JGxpbmVXaWR0aH0sey9pZn0KCQkJe2lmICRwb2ludFNpemUgbmUgJyd9cG9pbnRTaXplOiB7JHBvaW50U2l6ZX0sey9pZn0KCQkJe2lmICRpc1N0YWNrZWQgbmUgJyd9aXNTdGFja2VkOiB7JGlzU3RhY2tlZH0sey9pZn0KCQkJe2lmICRncm91cFdpZHRoIG5lICcnfWJhcjoge2xpdGVyYWx9e2dyb3VwV2lkdGg6ICJ7L2xpdGVyYWx9eyRncm91cFdpZHRofXtsaXRlcmFsfSJ9ey9saXRlcmFsfSx7L2lmfQoJCQl7aWYgJGRhdGFPcGFjaXR5IG5lICcnfWRhdGFPcGFjaXR5OiB7JGRhdGFPcGFjaXR5fSx7L2lmfQoJCQl7aWYgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgbmUgJyd9YXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lczogeyRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzfSx7L2lmfQoJCQl7aWYgJHRpbWVsaW5lIG5lICcnfXRpbWVsaW5lOiB7JHRpbWVsaW5lfSx7L2lmfQoJCQl7aWYgJHRpdGxlIG5lICcnfXRpdGxlOiAneyR0aXRsZXxyZXBsYWNlOiInIjoiXCcifSd7ZWxzZSBpZiAkbmFtZSBuZSAnJ310aXRsZTogJ3skbmFtZXxyZXBsYWNlOiInIjoiXCcifSd7L2lmfQoJCXtsaXRlcmFsfQoJCX07CgkJLy8gQ3JlYXRlIGFuZCBkcmF3IHRoZSB2aXN1YWxpemF0aW9uLgoJCXZhciBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi57L2xpdGVyYWx9e2lmICRjYXRlZ29yeSA9PSAnMSd9UGllQ2hhcnR7ZWxzZWlmICRjYXRlZ29yeSA9PSAnMid9TGluZUNoYXJ0e2Vsc2VpZiAkY2F0ZWdvcnkgPT0gJzMnfUJhckNoYXJ0e2Vsc2VpZiAkY2F0ZWdvcnkgPT0gJzQnfUNvbHVtbkNoYXJ0e2Vsc2VpZiAkY2F0ZWdvcnkgPT0gJzUnfUhpc3RvZ3JhbXtlbHNlaWYgJGNhdGVnb3J5ID09ICc2J31UaW1lbGluZXsvaWZ9e2xpdGVyYWx9KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd7L2xpdGVyYWx9e2lmICRlbGVtZW50ID09ICcnfWNoYXJ0LXskY2hhcnRpZH17ZWxzZX17JGVsZW1lbnR9ey9pZn17bGl0ZXJhbH0nKSk7CiAgICAgICAgY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCX0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0Ke2lmICRlbGVtZW50ID09ICcnfTxkaXYgaWQ9ImNoYXJ0LXskY2hhcnRpZH0iPjwvZGl2PnsvaWZ9]]></data>
	</file>
</module>
