<?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.4</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIGFkZGl0aW9uIG9mIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGNhbGwgYmVmb3JlIHlvdXIgY2xvc2luZyBib2R5IHRhZyB3aXRoIHRoZSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheSA8Y29kZT57R0NoYXJ0cyBnY2hhcnRzX2lkPScxJ308L2NvZGU+LCBkYXRhIGZpZWxkIGFjY2VwdHMgc21hcnR5IHZhcmlhYmxlcy48L3A+CjxwPgo8cD5Gb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gYXMgdG8gd2hhdCB2YWx1ZXMgZWFjaCBwYXJhbWV0ZXIgdGFrZXMgbG9vayBhdCB0aGUgR29vZ2xlIENoYXJ0cyBkb2N1bWVudGF0aW9uIDxhIGhyZWY9Imh0dHBzOi8vZ29vZ2xlLWRldmVsb3BlcnMuYXBwc3BvdC5jb20vY2hhcnQvIj5odHRwczovL2dvb2dsZS1kZXZlbG9wZXJzLmFwcHNwb3QuY29tL2NoYXJ0LzwvYT48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBNb2R1bGUgRm9yZ2UKPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nY2hhcnRzLyI+R0NoYXJ0cyBQYWdlPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBvbGl2ZXJzZWRkb24sIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEzLCBPbGl2ZXIgU2VkZG9uIDxhIGhyZWY9Im1haWx0bzpvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrIj4mbHQ7b2xpdmVyQHRocmVlZm9sZC5jby51ayZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGdjaGFydHNfaWQ9IjEiIC0gSUQgb2YgdGhlIGNoYXJ0IHlvdSB3YW50IHRvIGRpc3BsYXkuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBnY2hhcnRzX2NhdGVnb3J5X2lkPSIxIiAtIElEIG9mIHRoZSBjYXRlZ29yeSB5b3Ugd2FudCB0byB1c2UuIDEgPSBQaWUsIDIgPSBMaW5lLCAzID0gQmFyLCA0ID0gQ29sdW1uLCA1ID0gSGlzdG9ncmFtLCA2ID0gVGltZWxpbmUgYW5kIDcgPSBUYWJsZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYmFja2dyb3VuZENvbG9yPSJ3aGl0ZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNoYXJ0QXJlYT0ibnVsbCIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNvbG9ycz0iZGVmYXVsdCBjb2xvcnMiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb250U2l6ZT0iYXV0b21hdGljIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9udE5hbWU9IkFyaWFsIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaGVpZ2h0PSJhdXRvIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGVnZW5kPSJudWxsIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV2ZXJzZUNhdGVnb3JpZXM9ImZhbHNlIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdGl0bGVUZXh0U3R5bGU9IiIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRvb2x0aXA9Im51bGwiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB3aWR0aD0iYXV0byIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlzM0Q9ImZhbHNlIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2xpY2VzPSImIzEyMzsmIzEyNTsiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwaWVTbGljZUJvcmRlckNvbG9yPSJ3aGl0ZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBpZVNsaWNlVGV4dD0icGVyY2VudGFnZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBpZVNsaWNlVGV4dFN0eWxlPSIiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQ9IjEvNzIwIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcGllUmVzaWR1ZVNsaWNlQ29sb3I9IiNjY2MiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwaWVSZXNpZHVlU2xpY2VMYWJlbD0iT3RoZXIiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBheGlzVGl0bGVzUG9zaXRpb249Im91dCIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGVuYWJsZUludGVyYWN0aXZpdHk9InRydWUiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb2N1c1RhcmdldD0iZGF0dW0iIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBoQXhpcz0ibnVsbCIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlzSHRtbD0iZmFsc2UiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZXJpZXM9IiYjMTIzOyYjMTI1OyIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRoZW1lPSJudWxsIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdGl0bGVQb3NpdGlvbj0ib3V0IiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdkF4ZXM9Im51bGwiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhZ2dyZWdhdGlvblRhcmdldD0iYXV0byIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGN1cnZlVHlwZT0ibm9uZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGludGVycG9sYXRlZE51bGxzPSJmYWxzZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHZBeGlzPSJudWxsIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGluZVdpZHRoPSIyIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcG9pbnRTaXplPSIwIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaXNTdGFja2VkPSJmYWxzZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGdyb3VwV2lkdGg9IjYxLjglIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGF0YU9wYWNpdHk9IjEuMCIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXM9InRydWUiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0aW1lbGluZT0iIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWxsb3dIdG1sPSJmYWxzZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFsdGVybmF0aW5nUm93U3R5bGU9InRydWUiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjc3NDbGFzc05hbWVzPSJudWxsIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlyc3RSb3dOdW1iZXI9IjEiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjaGFydHBhZ2U9ImRpc2FibGUiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlU2l6ZT0iMTAiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBydGxUYWJsZT0iZmFsc2UiIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbj0iMCIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dSb3dOdW1iZXI9ImZhbHNlIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydD0iZW5hYmxlIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydEFzY2VuZGluZz0idHJ1ZSIgLSA8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRDb2x1bW49Ii0xIiAtIDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3RhcnRQYWdlPSIwIiAtIDwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBvbGl2ZXJzZWRkb24gJmx0O29saXZlckB0aHJlZWZvbGQuY28udWsmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS40PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgOCBKdWx5IDIwMTMuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAxLjEgMTUgSnVseSAyMDEzLiBNdWx0aXBsZSBidWcgZml4ZXMuPC9saT4KPGxpPlZlcnNpb24gMS4yIDE0IE5vdmVtYmVyIDIwMTMuIEFkZGVkIGNvbHVtbiBjaGFydHMgb3B0aW9uIHBsdXMgbWFueSBidWcgZml4ZXMuPC9saT4KPGxpPlZlcnNpb24gMS4zIDUgRGVjZW1iZXIgMjAxMy4gQWRkZWQgSGlzdG9ncmFtIGFuZCBUaW1lbGluZSBjaGFydCBvcHRpb25zIHBsdXMgbWlub3IgYnVnIGZpeGVzIGFuZCBjb2RlIHRpZHlpbmcgdXAuPC9saT4KPGxpPlZlcnNpb24gMS4zLjEgMTEgRGVjZW1iZXIgMjAxMy4gQWRkZWQgdGhlIGFiaWxpdHkgZm9yIEdDaGFydHMgdG8gY3JlYXRlIGNoYXJ0IGRpdiBlbGVtZW50IGF1dG9tYXRpY2FsbHkgaWYgbm8gY29udGFpbmluZyBlbGVtZW50IElEIGlzIHNwZWNpZmllZCBhbmQgYnVnIGZpeGVzLjwvbGk+CjxsaT5WZXJzaW9uIDEuNCAzIEZlYnJ1YXJ5IDIwMTQuIEFkZGVkIGNhdGVnb3J5IGlkIHBhcmFtdGVyIHRvIGVuYWJsZSBkYXRhIHRvIGJlIGRpc3BsYXllZCBpbiBtdWx0aXBsZSBmb3JtYXRzIHdpdGggb25seSBvbmUgZW50cnksIHBsdXMgbWlub3IgYnVnIGZpeGVzIGFuZCBuZXcgVGFibGUgY2F0ZWdvcnkuPC9saT4KPC91bD48YnIgLz4=]]></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[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgkkZGV0YWlscGFnZSA9ICcnOwoKCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSkKCXsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CgkJcmV0dXJuOwoJfQoKCWlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCgl7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cgl9CgovLyBHaXZlIHRoZSBmb3JtIGlkIHRvIHNtYXJ0eQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1pZCcsJGlkKTsKCgkkZGF0YSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGEnXSkpCgl7CgkJJGRhdGEgPSAkcGFyYW1zWydkYXRhJ107Cgl9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CglpZiAoaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pKQoJewoJCSRzdGF0dXMgPSAkcGFyYW1zWydzdGF0dXMnXTsKCX0KCgkkdXNlZGNhdGVnb3J5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2F0ZWdvcnknLCAnJyk7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkJJHVzZWRjYXRlZ29yeSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107Cgl9CgoJJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCgkkbmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCgl7CgkgICRuYW1lID0gJHBhcmFtc1snbmFtZSddOwoJfQoKCSRlbGVtZW50ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZWxlbWVudCddKSkKCXsKCSAgJGVsZW1lbnQgPSAkcGFyYW1zWydlbGVtZW50J107Cgl9CgoJJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddKSkKCXsKCSAgJGF4aXNUaXRsZXNQb3NpdGlvbiA9ICRwYXJhbXNbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwoJfQoKCSRiYWNrZ3JvdW5kQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXSkpCgl7CgkgICRiYWNrZ3JvdW5kQ29sb3IgPSAkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXTsKCX0KCgkkY2hhcnRBcmVhID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2hhcnRBcmVhJ10pKQoJewoJICAkY2hhcnRBcmVhID0gJHBhcmFtc1snY2hhcnRBcmVhJ107Cgl9CgoJJGNvbG9ycyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9ycyddKSkKCXsKCSAgJGNvbG9ycyA9ICRwYXJhbXNbJ2NvbG9ycyddOwoJfQoKCSRjdXJ2ZVR5cGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjdXJ2ZVR5cGUnXSkpCgl7CgkgICRjdXJ2ZVR5cGUgPSAkcGFyYW1zWydjdXJ2ZVR5cGUnXTsKCX0KCgkkZW5hYmxlSW50ZXJhY3Rpdml0eSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2VuYWJsZUludGVyYWN0aXZpdHknXSkpCgl7CgkgICRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddOwoJfQoKCSRmb2N1c1RhcmdldCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J10pKQoJewoJICAkZm9jdXNUYXJnZXQgPSAkcGFyYW1zWydmb2N1c1RhcmdldCddOwoJfQoKCSRmb250U2l6ZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnRTaXplJ10pKQoJewoJICAkZm9udFNpemUgPSAkcGFyYW1zWydmb250U2l6ZSddOwoJfQoKCSRmb250TmFtZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnROYW1lJ10pKQoJewoJICAkZm9udE5hbWUgPSAkcGFyYW1zWydmb250TmFtZSddOwoJfQoKCSRoQXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGVzJ10pKQoJewoJICAkaEF4ZXMgPSAkcGFyYW1zWydoQXhlcyddOwoJfQoKCSRoQXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hBeGlzJ10pKQoJewoJICAkaEF4aXMgPSAkcGFyYW1zWydoQXhpcyddOwoJfQoKCSRoZWlnaHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydoZWlnaHQnXSkpCgl7CgkgICRoZWlnaHQgPSAkcGFyYW1zWydoZWlnaHQnXTsKCX0KCgkkaXNIdG1sID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNIdG1sJ10pKQoJewoJICAkaXNIdG1sID0gJHBhcmFtc1snaXNIdG1sJ107Cgl9CgoJJGlzU3RhY2tlZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2lzU3RhY2tlZCddKSkKCXsKCSAgJGlzU3RhY2tlZCA9ICRwYXJhbXNbJ2lzU3RhY2tlZCddOwoJfQoKCSRpczNEID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXMzRCddKSkKCXsKCSAgJGlzM0QgPSAkcGFyYW1zWydpczNEJ107Cgl9CgoJJGludGVycG9sYXRlZE51bGxzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXSkpCgl7CgkgICRpbnRlcnBvbGF0ZWROdWxscyA9ICRwYXJhbXNbJ2ludGVycG9sYXRlZE51bGxzJ107Cgl9CgoJJGxlZ2VuZCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xlZ2VuZCddKSkKCXsKCSAgJGxlZ2VuZCA9ICRwYXJhbXNbJ2xlZ2VuZCddOwoJfQoKCSRsaW5lV2lkdGggPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydsaW5lV2lkdGgnXSkpCgl7CgkgICRsaW5lV2lkdGggPSAkcGFyYW1zWydsaW5lV2lkdGgnXTsKCX0KCgkkcG9pbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncG9pbnRTaXplJ10pKQoJewoJICAkcG9pbnRTaXplID0gJHBhcmFtc1sncG9pbnRTaXplJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VDb2xvciA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107Cgl9CgoJJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXSkpCgl7CgkgICRwaWVSZXNpZHVlU2xpY2VMYWJlbCA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ107Cgl9CgoJJHBpZVNsaWNlQm9yZGVyQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZUJvcmRlckNvbG9yJ10pKQoJewoJICAkcGllU2xpY2VCb3JkZXJDb2xvciA9ICRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXTsKCX0KCgkkcGllU2xpY2VUZXh0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0J10pKQoJewoJICAkcGllU2xpY2VUZXh0ID0gJHBhcmFtc1sncGllU2xpY2VUZXh0J107Cgl9CgoJJHBpZVNsaWNlVGV4dFN0eWxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXSkpCgl7CgkgICRwaWVTbGljZVRleHRTdHlsZSA9ICRwYXJhbXNbJ3BpZVNsaWNlVGV4dFN0eWxlJ107Cgl9CgoJJHJldmVyc2VDYXRlZ29yaWVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXSkpCgl7CgkgICRyZXZlcnNlQ2F0ZWdvcmllcyA9ICRwYXJhbXNbJ3JldmVyc2VDYXRlZ29yaWVzJ107Cgl9CgoJJHNsaWNlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NsaWNlcyddKSkKCXsKCSAgJHNsaWNlcyA9ICRwYXJhbXNbJ3NsaWNlcyddOwoJfQoKCSRzZXJpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzZXJpZXMnXSkpCgl7CgkgICRzZXJpZXMgPSAkcGFyYW1zWydzZXJpZXMnXTsKCX0KCgkkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ10pKQoJewoJICAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107Cgl9CgoJJHRoZW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGhlbWUnXSkpCgl7CgkgICR0aGVtZSA9ICRwYXJhbXNbJ3RoZW1lJ107Cgl9CgoJJHRpdGxlID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkpCgl7CgkgICR0aXRsZSA9ICRwYXJhbXNbJ3RpdGxlJ107Cgl9CgoJJHRpdGxlUG9zaXRpb24gPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVBvc2l0aW9uJ10pKQoJewoJICAkdGl0bGVQb3NpdGlvbiA9ICRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXTsKCX0KCgkkdGl0bGVUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddKSkKCXsKCSAgJHRpdGxlVGV4dFN0eWxlID0gJHBhcmFtc1sndGl0bGVUZXh0U3R5bGUnXTsKCX0KCgkkdG9vbHRpcCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Rvb2x0aXAnXSkpCgl7CgkgICR0b29sdGlwID0gJHBhcmFtc1sndG9vbHRpcCddOwoJfQoKCSR2QXhlcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGVzJ10pKQoJewoJICAkdkF4ZXMgPSAkcGFyYW1zWyd2QXhlcyddOwoJfQoKCSR2QXhpcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGlzJ10pKQoJewoJICAkdkF4aXMgPSAkcGFyYW1zWyd2QXhpcyddOwoJfQoKCSR3aWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pKQoJewoJICAkd2lkdGggPSAkcGFyYW1zWyd3aWR0aCddOwoJfQoKCSRhZ2dyZWdhdGlvblRhcmdldCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J10pKQoJewoJICAkYWdncmVnYXRpb25UYXJnZXQgPSAkcGFyYW1zWydhZ2dyZWdhdGlvblRhcmdldCddOwoJfQoKCSRncm91cFdpZHRoID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZ3JvdXBXaWR0aCddKSkKCXsKCSAgJGdyb3VwV2lkdGggPSAkcGFyYW1zWydncm91cFdpZHRoJ107Cgl9CgoJJGRhdGFPcGFjaXR5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZGF0YU9wYWNpdHknXSkpCgl7CgkgICRkYXRhT3BhY2l0eSA9ICRwYXJhbXNbJ2RhdGFPcGFjaXR5J107Cgl9CgoJJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ10pKQoJewoJICAkYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyA9ICRwYXJhbXNbJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnXTsKCX0KCgkkdGltZWxpbmUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aW1lbGluZSddKSkKCXsKCSAgJHRpbWVsaW5lID0gJHBhcmFtc1sndGltZWxpbmUnXTsKCX0KCgkkYWxsb3dIdG1sID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYWxsb3dIdG1sJ10pKQoJewoJICAkYWxsb3dIdG1sID0gJHBhcmFtc1snYWxsb3dIdG1sJ107Cgl9CgoJJGFsdGVybmF0aW5nUm93U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydhbHRlcm5hdGluZ1Jvd1N0eWxlJ10pKQoJewoJICAkYWx0ZXJuYXRpbmdSb3dTdHlsZSA9ICRwYXJhbXNbJ2FsdGVybmF0aW5nUm93U3R5bGUnXTsKCX0KCgkkY3NzQ2xhc3NOYW1lcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2Nzc0NsYXNzTmFtZXMnXSkpCgl7CgkgICRjc3NDbGFzc05hbWVzID0gJHBhcmFtc1snY3NzQ2xhc3NOYW1lcyddOwoJfQoKCSRmaXJzdFJvd051bWJlciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpcnN0Um93TnVtYmVyJ10pKQoJewoJICAkZmlyc3RSb3dOdW1iZXIgPSAkcGFyYW1zWydmaXJzdFJvd051bWJlciddOwoJfQoKCSRjaGFydHBhZ2UgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjaGFydHBhZ2UnXSkpCgl7CgkgICRjaGFydHBhZ2UgPSAkcGFyYW1zWydjaGFydHBhZ2UnXTsKCX0KCgkkcGFnZVNpemUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwYWdlU2l6ZSddKSkKCXsKCSAgJHBhZ2VTaXplID0gJHBhcmFtc1sncGFnZVNpemUnXTsKCX0KCgkkcnRsVGFibGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydydGxUYWJsZSddKSkKCXsKCSAgJHJ0bFRhYmxlID0gJHBhcmFtc1sncnRsVGFibGUnXTsKCX0KCgkkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24gPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiddKSkKCXsKCSAgJHNjcm9sbExlZnRTdGFydFBvc2l0aW9uID0gJHBhcmFtc1snc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24nXTsKCX0KCgkkc2hvd1Jvd051bWJlciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Nob3dSb3dOdW1iZXInXSkpCgl7CgkgICRzaG93Um93TnVtYmVyID0gJHBhcmFtc1snc2hvd1Jvd051bWJlciddOwoJfQoKCSRzb3J0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc29ydCddKSkKCXsKCSAgJHNvcnQgPSAkcGFyYW1zWydzb3J0J107Cgl9CgoJJHNvcnRBc2NlbmRpbmcgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzb3J0QXNjZW5kaW5nJ10pKQoJewoJICAkc29ydEFzY2VuZGluZyA9ICRwYXJhbXNbJ3NvcnRBc2NlbmRpbmcnXTsKCX0KCgkkc29ydENvbHVtbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRDb2x1bW4nXSkpCgl7CgkgICRzb3J0Q29sdW1uID0gJHBhcmFtc1snc29ydENvbHVtbiddOwoJfQoKCSRzdGFydFBhZ2UgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzdGFydFBhZ2UnXSkpCgl7CgkgICRzdGFydFBhZ2UgPSAkcGFyYW1zWydzdGFydFBhZ2UnXTsKCX0KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICRlcnJvciA9IEZBTFNFOwogICAgaWYoIGVtcHR5KCRuYW1lKSApCiAgICAgIHsKCSRlcnJvciA9ICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub25hbWVnaXZlbicpKTsKICAgICAgfQogICAgZWxzZSBpZiggZW1wdHkoJGRhdGEpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vZGF0YWdpdmVuJykpOwogICAgICB9CgogICAgLy8KICAgIC8vIGRhdGFiYXNlIHdvcmsKICAgIC8vCiAgICBpZiggJGVycm9yICE9PSBGQUxTRSApCiAgICAgIHsKCWVjaG8gJGVycm9yOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRjaGFydGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX3NlcSIpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0cyAoZ2NoYXJ0c19pZCwgZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19lbGVtZW50X2lkLCBnY2hhcnRzX25hbWUsIGdjaGFydHNfZGF0YSwgYXhpc1RpdGxlc1Bvc2l0aW9uLCBiYWNrZ3JvdW5kQ29sb3IsIGN1cnZlVHlwZSwgY2hhcnRBcmVhLCBjb2xvcnMsIGVuYWJsZUludGVyYWN0aXZpdHksIGZvY3VzVGFyZ2V0LCBmb250U2l6ZSwgZm9udE5hbWUsIGhBeGVzLCBoQXhpcywgaGVpZ2h0LCBpbnRlcnBvbGF0ZWROdWxscywgaXNIdG1sLCBpc1N0YWNrZWQsIGlzM0QsIGxlZ2VuZCwgbGluZVdpZHRoLCBzbGljZXMsIHBpZVNsaWNlQm9yZGVyQ29sb3IsIHBpZVNsaWNlVGV4dCwgcGllU2xpY2VUZXh0U3R5bGUsIHBvaW50U2l6ZSwgcmV2ZXJzZUNhdGVnb3JpZXMsIHNlcmllcywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCBwaWVSZXNpZHVlU2xpY2VDb2xvciwgcGllUmVzaWR1ZVNsaWNlTGFiZWwsIHRoZW1lLCB0aXRsZSwgdGl0bGVQb3NpdGlvbiwgdGl0bGVUZXh0U3R5bGUsIHRvb2x0aXAsIHZBeGVzLCB2QXhpcywgd2lkdGgsIHN0YXR1cywgYWdncmVnYXRpb25UYXJnZXQsIGdyb3VwV2lkdGgsIGRhdGFPcGFjaXR5LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCB0aW1lbGluZSwgYWxsb3dIdG1sLCBhbHRlcm5hdGluZ1Jvd1N0eWxlLCBjc3NDbGFzc05hbWVzLCBmaXJzdFJvd051bWJlciwgY2hhcnRwYWdlLCBwYWdlU2l6ZSwgcnRsVGFibGUsIHNjcm9sbExlZnRTdGFydFBvc2l0aW9uLCBzaG93Um93TnVtYmVyLCBzb3J0LCBzb3J0QXNjZW5kaW5nLCBzb3J0Q29sdW1uLCBzdGFydFBhZ2UpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2hhcnRpZCwgJHVzZWRjYXRlZ29yeSwgJGVsZW1lbnQsICRuYW1lLCAkZGF0YSwgJGF4aXNUaXRsZXNQb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvciwgJGN1cnZlVHlwZSwgJGNoYXJ0QXJlYSwgJGNvbG9ycywgJGVuYWJsZUludGVyYWN0aXZpdHksICRmb2N1c1RhcmdldCwgJGZvbnRTaXplLCAkZm9udE5hbWUsICRoQXhlcywgJGhBeGlzLCAkaGVpZ2h0LCAkaW50ZXJwb2xhdGVkTnVsbHMsICRpc1N0YWNrZWQsICRpc0h0bWwsICRpczNELCAkbGVnZW5kLCAkbGluZVdpZHRoLCAkc2xpY2VzLCAkcGllU2xpY2VCb3JkZXJDb2xvciwgJHBpZVNsaWNlVGV4dCwgJHBpZVNsaWNlVGV4dFN0eWxlLCAkcG9pbnRTaXplLCAkcmV2ZXJzZUNhdGVnb3JpZXMsICRzZXJpZXMsICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgJHBpZVJlc2lkdWVTbGljZUxhYmVsLCAkdGhlbWUsICR0aXRsZSwgJHRpdGxlUG9zaXRpb24sICR0aXRsZVRleHRTdHlsZSwgJHRvb2x0aXAsICR2QXhlcywgJHZBeGlzLCAkd2lkdGgsICRzdGF0dXMsICRhZ2dyZWdhdGlvblRhcmdldCwgJGdyb3VwV2lkdGgsICRkYXRhT3BhY2l0eSwgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsICR0aW1lbGluZSwgJGFsbG93SHRtbCwgJGFsdGVybmF0aW5nUm93U3R5bGUsICRjc3NDbGFzc05hbWVzLCAkZmlyc3RSb3dOdW1iZXIsICRjaGFydHBhZ2UsICRwYWdlU2l6ZSwgJHJ0bFRhYmxlLCAkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24sICRzaG93Um93TnVtYmVyLCAkc29ydCwgJHNvcnRBc2NlbmRpbmcsICRzb3J0Q29sdW1uLCAkc3RhcnRQYWdlKSk7CiAgICAKCWlmKCAhJGRiciApCgkgIHsKCSAgICBlY2hvICJERUJVRzogU1FMID0gIi4kZGItPnNxbC4iPGJyLz4iOwoJICAgIGRpZSgkZGItPkVycm9yTXNnKCkpOwoJICB9CgoJaWYoICEkZXJyb3IgJiYgJHN0YXR1cyA9PSAncHVibGlzaGVkJyApCgkgIHsKCSAgICAvL1VwZGF0ZSBzZWFyY2ggaW5kZXgKCSAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfc2VhcmNoX21vZHVsZSgpOwoJICAgIGlmIChpc19vYmplY3QoJG1vZHVsZSkgKQoJICAgICAgewoJCSR0ZXh0ID0gJyc7CgkgICAgCgkJJHRleHQgPSAkZGF0YS4nICcuJG5hbWU7CgkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGNoYXJ0aWQsICdjaGFydCcsICR0ZXh0KTsKCSAgICAgIH0KCSAgfQoJCglpZiggISRlcnJvciApCgkgIHsKCSAgICBAJHRoaXMtPlNlbmRFdmVudCgnQ2hhcnRBZGRlZCcsIGFycmF5KCdnY2hhcnRzX2lkJyA9PiAkY2hhcnRpZCwgJ2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAnZ2NoYXJ0c19uYW1lJyA9PiAkbmFtZSwgJ2djaGFydHNfZGF0YScgPT4gJGRhdGEsICdzdGF0dXMnID0+ICRzdGF0dXMpKTsKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQlhdWRpdCgkY2hhcnRpZCwgJ0dDaGFydHM6ICcuJGNoYXJ0aWQsICdDaGFydCBhZGRlZCcpOwoJICAgICRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NoYXJ0YWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NoYXJ0cycpOwoJICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJICB9IC8vIGlmICEkZXJyb3IKICAgICAgfSAvLyBvdXRlciBpZiAhJGVycm9yCiAgfSAvLyBzdWJtaXQKCgovLwovLyBidWlsZCB0aGUgZm9ybQovLyAgICAKJHN0YXR1c2Ryb3Bkb3duID0gYXJyYXkoKTsKJHN0YXR1c2Ryb3Bkb3duWyR0aGlzLT5MYW5nKCdkcmFmdCcpXSA9ICdkcmFmdCc7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygncHVibGlzaGVkJyldID0gJ3B1Ymxpc2hlZCc7CiAgICAKICAgICRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwogICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgCiAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsKCQkkY2F0ZWdvcnlsaXN0WyRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfbmFtZSddXSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKCX0KCiRvbmNoYW5nZXRleHQ9J29uY2hhbmdlPSJkb2N1bWVudCcuJGlkLidtb2R1bGVmb3JtXzEuc3VibWl0KCkiIGlkPSJjaGFydENhdGVnb3J5Iic7CgkjRGlzcGxheSB0ZW1wbGF0ZQoJJHNtYXJ0eS0+YXNzaWduKCdjdXJyY2F0JywgJzEnKTsKCSRzbWFydHktPmFzc2lnbignaGlkZGVuJywgJycpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkY2hhcnQnLCAkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZWxlbWVudCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZWxlbWVudCcsICRlbGVtZW50LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZGF0YScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkZGF0YSwgJ2RhdGEnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YXhpc1RpdGxlc1Bvc2l0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdheGlzVGl0bGVzUG9zaXRpb24nLCAkYXhpc1RpdGxlc1Bvc2l0aW9uLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0YmFja2dyb3VuZENvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdiYWNrZ3JvdW5kQ29sb3InLCAkYmFja2dyb3VuZENvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2hhcnRBcmVhJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjaGFydEFyZWEnLCAkY2hhcnRBcmVhLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y29sb3JzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjb2xvcnMnLCAkY29sb3JzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Y3VydmVUeXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjdXJ2ZVR5cGUnLCAkY3VydmVUeXBlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0ZW5hYmxlSW50ZXJhY3Rpdml0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZW5hYmxlSW50ZXJhY3Rpdml0eScsICRlbmFibGVJbnRlcmFjdGl2aXR5LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9jdXNUYXJnZXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvY3VzVGFyZ2V0JywgJGZvY3VzVGFyZ2V0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9udFNpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvbnRTaXplJywgJGZvbnRTaXplLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0Zm9udE5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZvbnROYW1lJywgJGZvbnROYW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aEF4ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hBeGVzJywgJGhBeGVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aEF4aXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hBeGlzJywgJGhBeGlzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aGVpZ2h0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoZWlnaHQnLCAkaGVpZ2h0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aW50ZXJwb2xhdGVkTnVsbHMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ludGVycG9sYXRlZE51bGxzJywgJGludGVycG9sYXRlZE51bGxzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXNIdG1sJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpc0h0bWwnLCAkaXNIdG1sLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXNTdGFja2VkJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpc1N0YWNrZWQnLCAkaXNTdGFja2VkLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0aXMzRCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXMzRCcsICRpczNELCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bGVnZW5kJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdsZWdlbmQnLCAkbGVnZW5kLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0bGluZVdpZHRoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdsaW5lV2lkdGgnLCAkbGluZVdpZHRoLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2xpY2VzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzbGljZXMnLCAkc2xpY2VzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VCb3JkZXJDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VCb3JkZXJDb2xvcicsICRwaWVTbGljZUJvcmRlckNvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VUZXh0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZVRleHQnLCAkcGllU2xpY2VUZXh0LCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllU2xpY2VUZXh0U3R5bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlVGV4dFN0eWxlJywgJHBpZVNsaWNlVGV4dFN0eWxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cG9pbnRTaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwb2ludFNpemUnLCAkcG9pbnRTaXplLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cmV2ZXJzZUNhdGVnb3JpZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3JldmVyc2VDYXRlZ29yaWVzJywgJHJldmVyc2VDYXRlZ29yaWVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2VyaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzZXJpZXMnLCAkc2VyaWVzLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnLCAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllUmVzaWR1ZVNsaWNlQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVJlc2lkdWVTbGljZUNvbG9yJywgJHBpZVJlc2lkdWVTbGljZUNvbG9yLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0cGllUmVzaWR1ZVNsaWNlTGFiZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVJlc2lkdWVTbGljZUxhYmVsJywgJHBpZVJlc2lkdWVTbGljZUxhYmVsLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGhlbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RoZW1lJywgJHRoZW1lLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgJHRpdGxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGVQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGVQb3NpdGlvbicsICR0aXRsZVBvc2l0aW9uLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dGl0bGVUZXh0U3R5bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlVGV4dFN0eWxlJywgJHRpdGxlVGV4dFN0eWxlLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dG9vbHRpcCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndG9vbHRpcCcsICR0b29sdGlwLCAzMCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0dkF4ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Rvb2x0aXAnLCAkdkF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4aXMnLCAkdkF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR3aWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnd2lkdGgnLCAkd2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhZ2dyZWdhdGlvblRhcmdldCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWdncmVnYXRpb25UYXJnZXQnLCAkYWdncmVnYXRpb25UYXJnZXQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRncm91cFdpZHRoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdncm91cFdpZHRoJywgJGdyb3VwV2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRkYXRhT3BhY2l0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGF0YU9wYWNpdHknLCAkZGF0YU9wYWNpdHksIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aW1lbGluZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGltZWxpbmUnLCAkdGltZWxpbmUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhbGxvd0h0bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsbG93SHRtbCcsICRhbGxvd0h0bWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhbHRlcm5hdGluZ1Jvd1N0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbHRlcm5hdGluZ1Jvd1N0eWxlJywgJGFsdGVybmF0aW5nUm93U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjc3NDbGFzc05hbWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjc3NDbGFzc05hbWVzJywgJGNzc0NsYXNzTmFtZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmaXJzdFJvd051bWJlcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZmlyc3RSb3dOdW1iZXInLCAkZmlyc3RSb3dOdW1iZXIsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjaGFydHBhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NoYXJ0cGFnZScsICRjaGFydHBhZ2UsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwYWdlU2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGFnZVNpemUnLCAkcGFnZVNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRydGxUYWJsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncnRsVGFibGUnLCAkcnRsVGFibGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24nLCAkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzaG93Um93TnVtYmVyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzaG93Um93TnVtYmVyJywgJHNob3dSb3dOdW1iZXIsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0JywgJHNvcnQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0QXNjZW5kaW5nJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0QXNjZW5kaW5nJywgJHNvcnRBc2NlbmRpbmcsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0Q29sdW1uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0Q29sdW1uJywgJHNvcnRDb2x1bW4sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzdGFydFBhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N0YXJ0UGFnZScsICRzdGFydFBhZ2UsIDMwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb25pZCcsJGlkKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FwcHJvdmUgR0NoYXJ0cycpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCBsYW5nKCdzdGF0dXMnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1cycsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3N0YXR1cycsICRzdGF0dXNkcm9wZG93biwgLTEsICRzdGF0dXMpKTsKICB9CiBlbHNlCiAgIHsKICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdzdGF0dXMnLCRzdGF0dXMpKTsKICAgfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkdXNlZGNhdGVnb3J5LCAkb25jaGFuZ2V0ZXh0KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCgkkc21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VsZW1lbnR0ZXh0JywgJHRoaXMtPkxhbmcoJ2VsZW1lbnQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKCSRzbWFydHktPmFzc2lnbignZGF0YXRleHQnLCAkdGhpcy0+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+TGFuZygnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycpKTsKCSRzbWFydHktPmFzc2lnbigndGltZWxpbmV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpbWVsaW5lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdhbGxvd0h0bWx0ZXh0JywgJHRoaXMtPkxhbmcoJ2FsbG93SHRtbCcpKTsKCSRzbWFydHktPmFzc2lnbignYWx0ZXJuYXRpbmdSb3dTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygnYWx0ZXJuYXRpbmdSb3dTdHlsZScpKTsKCSRzbWFydHktPmFzc2lnbignY3NzQ2xhc3NOYW1lc3RleHQnLCAkdGhpcy0+TGFuZygnY3NzQ2xhc3NOYW1lcycpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RSb3dOdW1iZXJ0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpcnN0Um93TnVtYmVyJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjaGFydHBhZ2V0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbigncGFnZVNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BhZ2VTaXplJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdydGxUYWJsZXRleHQnLCAkdGhpcy0+TGFuZygncnRsVGFibGUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCdzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicpKTsKCSRzbWFydHktPmFzc2lnbignc2hvd1Jvd051bWJlcnRleHQnLCAkdGhpcy0+TGFuZygnc2hvd1Jvd051bWJlcicpKTsKCSRzbWFydHktPmFzc2lnbignc29ydHRleHQnLCAkdGhpcy0+TGFuZygnc29ydCcpKTsKCSRzbWFydHktPmFzc2lnbignc29ydEFzY2VuZGluZ3RleHQnLCAkdGhpcy0+TGFuZygnc29ydEFzY2VuZGluZycpKTsKCSRzbWFydHktPmFzc2lnbignc29ydENvbHVtbnRleHQnLCAkdGhpcy0+TGFuZygnc29ydENvbHVtbicpKTsKCSRzbWFydHktPmFzc2lnbignc3RhcnRQYWdldGV4dCcsICR0aGlzLT5MYW5nKCdzdGFydFBhZ2UnKSk7CgovLyB0YWIgc3R1ZmYuCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2hlYWRlcnMnLCR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKSk7CiRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX2NoYXJ0JywkdGhpcy0+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+R2V0RGIoKTsKCiRxdWVyeSA9ICdTRUxFQ1QgZ2NoYXJ0c19pZCwgZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19lbGVtZW50X2lkLCBnY2hhcnRzX25hbWUsIGdjaGFydHNfZGF0YSwgYXhpc1RpdGxlc1Bvc2l0aW9uLCBiYWNrZ3JvdW5kQ29sb3IsIGNoYXJ0QXJlYSwgY3VydmVUeXBlLCBjb2xvcnMsIGVuYWJsZUludGVyYWN0aXZpdHksIGZvY3VzVGFyZ2V0LCBmb250U2l6ZSwgZm9udE5hbWUsIGhBeGVzLCBoQXhpcywgaGVpZ2h0LCBpbnRlcnBvbGF0ZWROdWxscywgaXNIdG1sLCBpc1N0YWNrZWQsIGlzM0QsIGxlZ2VuZCwgbGluZVdpZHRoLCBzbGljZXMsIHBpZVNsaWNlQm9yZGVyQ29sb3IsIHBpZVNsaWNlVGV4dCwgcGllU2xpY2VUZXh0U3R5bGUsIHBvaW50U2l6ZSwgcmV2ZXJzZUNhdGVnb3JpZXMsIHNlcmllcywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCBwaWVSZXNpZHVlU2xpY2VDb2xvciwgcGllUmVzaWR1ZVNsaWNlTGFiZWwsIHRoZW1lLCB0aXRsZSwgdGl0bGVQb3NpdGlvbiwgdGl0bGVUZXh0U3R5bGUsIHRvb2x0aXAsIHZBeGVzLCB2QXhpcywgd2lkdGgsIHN0YXR1cywgYWdncmVnYXRpb25UYXJnZXQsIGdyb3VwV2lkdGgsIGRhdGFPcGFjaXR5LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCB0aW1lbGluZSwgYWxsb3dIdG1sLCBhbHRlcm5hdGluZ1Jvd1N0eWxlLCBjc3NDbGFzc05hbWVzLCBmaXJzdFJvd051bWJlciwgY2hhcnRwYWdlLCBwYWdlU2l6ZSwgcnRsVGFibGUsIHNjcm9sbExlZnRTdGFydFBvc2l0aW9uLCBzaG93Um93TnVtYmVyLCBzb3J0LCBzb3J0QXNjZW5kaW5nLCBzb3J0Q29sdW1uLCBzdGFydFBhZ2UgZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4KICAgJ21vZHVsZV9nY2hhcnRzJzsKCmlmIChpc3NldCgkcGFyYW1zWydnY2hhcnRzX2lkJ10pKQogICB7CiAgICRxdWVyeSAuPSAnIHdoZXJlIGdjaGFydHNfaWQgPSA/JzsKICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snZ2NoYXJ0c19pZCddKSk7CiAgICRtb2RlID0gJ2RldGFpbCc7IC8vIHdlJ3JlIHZpZXdpbmcgYSBzaW5nbGUgcmVjb3JkCiAgIH0KICAgCiRyZWNvcmRzID0gYXJyYXkoKTsKd2hpbGUgKCRyZXN1bHQgIT09IGZhbHNlICYmICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKSkKICAgewogICAvLyBjcmVhdGUgYSBuZXcgb2JqZWN0IGZvciBldmVyeSByZWNvcmQgdGhhdCB3ZSByZXRyaWV2ZQogICAkcmVjID0gbmV3IHN0ZENsYXNzKCk7CiAgICRyZWMtPmlkID0gJHJvd1snZ2NoYXJ0c19pZCddOwogICBpZiAoaXNzZXQoJHBhcmFtc1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddKSkgewogICAgICAkcmVjLT5jYXRlZ29yeSA9ICRwYXJhbXNbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y2F0ZWdvcnkgPSAkcm93WydnY2hhcnRzX2NhdGVnb3J5X2lkJ107CiAgIH0KICAgJHJlYy0+bmFtZSA9ICRyb3dbJ2djaGFydHNfbmFtZSddOwogICAkcmVjLT5lbGVtZW50ID0gJHJvd1snZ2NoYXJ0c19lbGVtZW50X2lkJ107CiAgICRyZWMtPmRhdGEgPSAkcm93WydnY2hhcnRzX2RhdGEnXTsKICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddKSkgewogICAgICAkcmVjLT5iYWNrZ3JvdW5kQ29sb3IgPSAkcGFyYW1zWydiYWNrZ3JvdW5kQ29sb3InXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+YmFja2dyb3VuZENvbG9yID0gJHJvd1snYmFja2dyb3VuZENvbG9yJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NoYXJ0QXJlYSddKSkgewogICAgICAkcmVjLT5jaGFydEFyZWEgPSAkcGFyYW1zWydjaGFydEFyZWEnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y2hhcnRBcmVhID0gJHJvd1snY2hhcnRBcmVhJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbG9ycyddKSkgewogICAgICAkcmVjLT5jb2xvcnMgPSAkcGFyYW1zWydjb2xvcnMnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y29sb3JzID0gJHJvd1snY29sb3JzJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvbnRTaXplJ10pKSB7CiAgICAgICRyZWMtPmZvbnRTaXplID0gJHBhcmFtc1snZm9udFNpemUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Zm9udFNpemUgPSAkcm93Wydmb250U2l6ZSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydmb250TmFtZSddKSkgewogICAgICAkcmVjLT5mb250TmFtZSA9ICRwYXJhbXNbJ2ZvbnROYW1lJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmZvbnROYW1lID0gJHJvd1snZm9udE5hbWUnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snaGVpZ2h0J10pKSB7CiAgICAgICRyZWMtPmhlaWdodCA9ICRwYXJhbXNbJ2hlaWdodCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5oZWlnaHQgPSAkcm93WydoZWlnaHQnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snbGVnZW5kJ10pKSB7CiAgICAgICRyZWMtPmxlZ2VuZCA9ICRwYXJhbXNbJ2xlZ2VuZCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5sZWdlbmQgPSAkcm93WydsZWdlbmQnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXSkpIHsKICAgICAgJHJlYy0+cmV2ZXJzZUNhdGVnb3JpZXMgPSAkcGFyYW1zWydyZXZlcnNlQ2F0ZWdvcmllcyddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5yZXZlcnNlQ2F0ZWdvcmllcyA9ICRyb3dbJ3JldmVyc2VDYXRlZ29yaWVzJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlVGV4dFN0eWxlJ10pKSB7CiAgICAgICRyZWMtPnRpdGxlVGV4dFN0eWxlID0gJHBhcmFtc1sndGl0bGVUZXh0U3R5bGUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+dGl0bGVUZXh0U3R5bGUgPSAkcm93Wyd0aXRsZVRleHRTdHlsZSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWyd0b29sdGlwJ10pKSB7CiAgICAgICRyZWMtPnRvb2x0aXAgPSAkcGFyYW1zWyd0b29sdGlwJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnRvb2x0aXAgPSAkcm93Wyd0b29sdGlwJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pKSB7CiAgICAgICRyZWMtPndpZHRoID0gJHBhcmFtc1snd2lkdGgnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+d2lkdGggPSAkcm93Wyd3aWR0aCddOwogICB9CgogICBpZiAoaXNzZXQoJHBhcmFtc1snaXMzRCddKSkgewogICAgICAkcmVjLT5pczNEID0gJHBhcmFtc1snaXMzRCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5pczNEID0gJHJvd1snaXMzRCddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydzbGljZXMnXSkpIHsKICAgICAgJHJlYy0+c2xpY2VzID0gJHBhcmFtc1snc2xpY2VzJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnNsaWNlcyA9ICRyb3dbJ3NsaWNlcyddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZUJvcmRlckNvbG9yJ10pKSB7CiAgICAgICRyZWMtPnBpZVNsaWNlQm9yZGVyQ29sb3IgPSAkcGFyYW1zWydwaWVTbGljZUJvcmRlckNvbG9yJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnBpZVNsaWNlQm9yZGVyQ29sb3IgPSAkcm93WydwaWVTbGljZUJvcmRlckNvbG9yJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BpZVNsaWNlVGV4dCddKSkgewogICAgICAkcmVjLT5waWVTbGljZVRleHQgPSAkcGFyYW1zWydwaWVTbGljZVRleHQnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+cGllU2xpY2VUZXh0ID0gJHJvd1sncGllU2xpY2VUZXh0J107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BpZVNsaWNlVGV4dFN0eWxlJ10pKSB7CiAgICAgICRyZWMtPnBpZVNsaWNlVGV4dFN0eWxlID0gJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+cGllU2xpY2VUZXh0U3R5bGUgPSAkcm93WydwaWVTbGljZVRleHRTdHlsZSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSkpIHsKICAgICAgJHJlYy0+c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gJHBhcmFtc1snc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCA9ICRyb3dbJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VDb2xvciddKSkgewogICAgICAkcmVjLT5waWVSZXNpZHVlU2xpY2VDb2xvciA9ICRwYXJhbXNbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnBpZVJlc2lkdWVTbGljZUNvbG9yID0gJHJvd1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXSkpIHsKICAgICAgJHJlYy0+cGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VMYWJlbCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5waWVSZXNpZHVlU2xpY2VMYWJlbCA9ICRyb3dbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ107CiAgIH0KCiAgIGlmIChpc3NldCgkcGFyYW1zWydheGlzVGl0bGVzUG9zaXRpb24nXSkpIHsKICAgICAgJHJlYy0+YXhpc1RpdGxlc1Bvc2l0aW9uID0gJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmF4aXNUaXRsZXNQb3NpdGlvbiA9ICRyb3dbJ2F4aXNUaXRsZXNQb3NpdGlvbiddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydlbmFibGVJbnRlcmFjdGl2aXR5J10pKSB7CiAgICAgICRyZWMtPmVuYWJsZUludGVyYWN0aXZpdHkgPSAkcGFyYW1zWydlbmFibGVJbnRlcmFjdGl2aXR5J107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmVuYWJsZUludGVyYWN0aXZpdHkgPSAkcm93WydlbmFibGVJbnRlcmFjdGl2aXR5J107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J10pKSB7CiAgICAgICRyZWMtPmZvY3VzVGFyZ2V0ID0gJHBhcmFtc1snZm9jdXNUYXJnZXQnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Zm9jdXNUYXJnZXQgPSAkcm93Wydmb2N1c1RhcmdldCddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydoQXhpcyddKSkgewogICAgICAkcmVjLT5oQXhpcyA9ICRwYXJhbXNbJ2hBeGlzJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmhBeGlzID0gJHJvd1snaEF4aXMnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snaXNIdG1sJ10pKSB7CiAgICAgICRyZWMtPmlzSHRtbCA9ICRwYXJhbXNbJ2lzSHRtbCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5pc0h0bWwgPSAkcm93Wydpc0h0bWwnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snc2VyaWVzJ10pKSB7CiAgICAgICRyZWMtPnNlcmllcyA9ICRwYXJhbXNbJ3NlcmllcyddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5zZXJpZXMgPSAkcm93WydzZXJpZXMnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1sndGhlbWUnXSkpIHsKICAgICAgJHJlYy0+dGhlbWUgPSAkcGFyYW1zWyd0aGVtZSddOwogICB9IGVsc2UgewogICAgICAkcmVjLT50aGVtZSA9ICRyb3dbJ3RoZW1lJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXSkpIHsKICAgICAgJHJlYy0+dGl0bGVQb3NpdGlvbiA9ICRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+dGl0bGVQb3NpdGlvbiA9ICRyb3dbJ3RpdGxlUG9zaXRpb24nXTsKICAgfQoKICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3ZBeGVzJ10pKSB7CiAgICAgICRyZWMtPnZBeGVzID0gJHBhcmFtc1sndkF4ZXMnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+dkF4ZXMgPSAkcm93Wyd2QXhlcyddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydhZ2dyZWdhdGlvblRhcmdldCddKSkgewogICAgICAkcmVjLT5hZ2dyZWdhdGlvblRhcmdldCA9ICRwYXJhbXNbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmFnZ3JlZ2F0aW9uVGFyZ2V0ID0gJHJvd1snYWdncmVnYXRpb25UYXJnZXQnXTsKICAgfQoKICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2N1cnZlVHlwZSddKSkgewogICAgICAkcmVjLT5jdXJ2ZVR5cGUgPSAkcGFyYW1zWydjdXJ2ZVR5cGUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y3VydmVUeXBlID0gJHJvd1snY3VydmVUeXBlJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2ludGVycG9sYXRlZE51bGxzJ10pKSB7CiAgICAgICRyZWMtPmludGVycG9sYXRlZE51bGxzID0gJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+aW50ZXJwb2xhdGVkTnVsbHMgPSAkcm93WydpbnRlcnBvbGF0ZWROdWxscyddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWyd2QXhpcyddKSkgewogICAgICAkcmVjLT52QXhpcyA9ICRwYXJhbXNbJ3ZBeGlzJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnZBeGlzID0gJHJvd1sndkF4aXMnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snbGluZVdpZHRoJ10pKSB7CiAgICAgICRyZWMtPmxpbmVXaWR0aCA9ICRwYXJhbXNbJ2xpbmVXaWR0aCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5saW5lV2lkdGggPSAkcm93WydsaW5lV2lkdGgnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1sncG9pbnRTaXplJ10pKSB7CiAgICAgICRyZWMtPnBvaW50U2l6ZSA9ICRwYXJhbXNbJ3BvaW50U2l6ZSddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5wb2ludFNpemUgPSAkcm93Wydwb2ludFNpemUnXTsKICAgfQoKICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2lzU3RhY2tlZCddKSkgewogICAgICAkcmVjLT5pc1N0YWNrZWQgPSAkcGFyYW1zWydpc1N0YWNrZWQnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+aXNTdGFja2VkID0gJHJvd1snaXNTdGFja2VkJ107CiAgIH0KCiAgIGlmIChpc3NldCgkcGFyYW1zWydncm91cFdpZHRoJ10pKSB7CiAgICAgICRyZWMtPmdyb3VwV2lkdGggPSAkcGFyYW1zWydncm91cFdpZHRoJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmdyb3VwV2lkdGggPSAkcm93Wydncm91cFdpZHRoJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGFPcGFjaXR5J10pKSB7CiAgICAgICRyZWMtPmRhdGFPcGFjaXR5ID0gJHBhcmFtc1snZGF0YU9wYWNpdHknXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+ZGF0YU9wYWNpdHkgPSAkcm93WydkYXRhT3BhY2l0eSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ10pKSB7CiAgICAgICRyZWMtPmF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAkcGFyYW1zWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgPSAkcm93Wydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3RpbWVsaW5lJ10pKSB7CiAgICAgICRyZWMtPnRpbWVsaW5lID0gJHBhcmFtc1sndGltZWxpbmUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+dGltZWxpbmUgPSAkcm93Wyd0aW1lbGluZSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydhbGxvd0h0bWwnXSkpIHsKICAgICAgJHJlYy0+YWxsb3dIdG1sID0gJHBhcmFtc1snYWxsb3dIdG1sJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmFsbG93SHRtbCA9ICRyb3dbJ2FsbG93SHRtbCddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydhbHRlcm5hdGluZ1Jvd1N0eWxlJ10pKSB7CiAgICAgICRyZWMtPmFsdGVybmF0aW5nUm93U3R5bGUgPSAkcGFyYW1zWydhbHRlcm5hdGluZ1Jvd1N0eWxlJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPmFsdGVybmF0aW5nUm93U3R5bGUgPSAkcm93WydhbHRlcm5hdGluZ1Jvd1N0eWxlJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2Nzc0NsYXNzTmFtZXMnXSkpIHsKICAgICAgJHJlYy0+Y3NzQ2xhc3NOYW1lcyA9ICRwYXJhbXNbJ2Nzc0NsYXNzTmFtZXMnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y3NzQ2xhc3NOYW1lcyA9ICRyb3dbJ2Nzc0NsYXNzTmFtZXMnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snZmlyc3RSb3dOdW1iZXInXSkpIHsKICAgICAgJHJlYy0+Zmlyc3RSb3dOdW1iZXIgPSAkcGFyYW1zWydmaXJzdFJvd051bWJlciddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5maXJzdFJvd051bWJlciA9ICRyb3dbJ2ZpcnN0Um93TnVtYmVyJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NoYXJ0cGFnZSddKSkgewogICAgICAkcmVjLT5jaGFydHBhZ2UgPSAkcGFyYW1zWydjaGFydHBhZ2UnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+Y2hhcnRwYWdlID0gJHJvd1snY2hhcnRwYWdlJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BhZ2VTaXplJ10pKSB7CiAgICAgICRyZWMtPnBhZ2VTaXplID0gJHBhcmFtc1sncGFnZVNpemUnXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+cGFnZVNpemUgPSAkcm93WydwYWdlU2l6ZSddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydydGxUYWJsZSddKSkgewogICAgICAkcmVjLT5ydGxUYWJsZSA9ICRwYXJhbXNbJ3J0bFRhYmxlJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnJ0bFRhYmxlID0gJHJvd1sncnRsVGFibGUnXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24nXSkpIHsKICAgICAgJHJlYy0+c2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24gPSAkcGFyYW1zWydzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5zY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiA9ICRyb3dbJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9uJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3Nob3dSb3dOdW1iZXInXSkpIHsKICAgICAgJHJlYy0+c2hvd1Jvd051bWJlciA9ICRwYXJhbXNbJ3Nob3dSb3dOdW1iZXInXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+c2hvd1Jvd051bWJlciA9ICRyb3dbJ3Nob3dSb3dOdW1iZXInXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snc29ydCddKSkgewogICAgICAkcmVjLT5zb3J0ID0gJHBhcmFtc1snc29ydCddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5zb3J0ID0gJHJvd1snc29ydCddOwogICB9CiAgIGlmIChpc3NldCgkcGFyYW1zWydzb3J0QXNjZW5kaW5nJ10pKSB7CiAgICAgICRyZWMtPnNvcnRBc2NlbmRpbmcgPSAkcGFyYW1zWydzb3J0QXNjZW5kaW5nJ107CiAgIH0gZWxzZSB7CiAgICAgICRyZWMtPnNvcnRBc2NlbmRpbmcgPSAkcm93Wydzb3J0QXNjZW5kaW5nJ107CiAgIH0KICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRDb2x1bW4nXSkpIHsKICAgICAgJHJlYy0+c29ydENvbHVtbiA9ICRwYXJhbXNbJ3NvcnRDb2x1bW4nXTsKICAgfSBlbHNlIHsKICAgICAgJHJlYy0+c29ydENvbHVtbiA9ICRyb3dbJ3NvcnRDb2x1bW4nXTsKICAgfQogICBpZiAoaXNzZXQoJHBhcmFtc1snc3RhcnRQYWdlJ10pKSB7CiAgICAgICRyZWMtPnN0YXJ0UGFnZSA9ICRwYXJhbXNbJ3N0YXJ0UGFnZSddOwogICB9IGVsc2UgewogICAgICAkcmVjLT5zdGFydFBhZ2UgPSAkcm93WydzdGFydFBhZ2UnXTsKICAgfQoKICAgJHJlYy0+dGl0bGUgPSAkcm93Wyd0aXRsZSddOwogICBhcnJheV9wdXNoKCRyZWNvcmRzLCRyZWMpOwogICB9CgovLyBFeHBvc2UgdGhlIGxpc3QgdG8gc21hcnR5LgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlY29yZHMnLCRyZWNvcmRzKTsKCmlmIChpc3NldCgkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKSkKICAgewogICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZV9tZXNzYWdlJywkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKTsKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJycpOwogICB9CgovLy8vLyBQUk9DRVNTIEFORCBESVNQTEFZIFRFTVBMQVRFIC8vLy8vCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2djaGFydHMudHBsJyk7Cgo/Pg==]]></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[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwogIH0KCiRjaGFydGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjaGFydGlkJ10pKQogIHsKCSRjaGFydGlkID0gJHBhcmFtc1snY2hhcnRpZCddOwogIH0KCiRkYXRhID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkYXRhJ10pKQogIHsKCSRkYXRhID0gJHBhcmFtc1snZGF0YSddOwogIH0KCiRzdGF0dXMgPSAnZHJhZnQnOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzdGF0dXMgPSAncHVibGlzaGVkJzsKICB9CmlmIChpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkpCiAgewoJJHN0YXR1cyA9ICRwYXJhbXNbJ3N0YXR1cyddOwogIH0KCgkkdXNlZGNhdGVnb3J5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpCgl7CgkgICR1c2VkY2F0ZWdvcnkgPSAkcGFyYW1zWydjYXRlZ29yeSddOwoJfQoKCSRuYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkKCXsKCSAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cgl9CgoJJGVsZW1lbnQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydlbGVtZW50J10pKQoJewoJICAkZWxlbWVudCA9ICRwYXJhbXNbJ2VsZW1lbnQnXTsKCX0KCgkkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ10pKQoJewoJICAkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJHBhcmFtc1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107Cgl9CgoJJGJhY2tncm91bmRDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddKSkKCXsKCSAgJGJhY2tncm91bmRDb2xvciA9ICRwYXJhbXNbJ2JhY2tncm91bmRDb2xvciddOwoJfQoKCSRjaGFydEFyZWEgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjaGFydEFyZWEnXSkpCgl7CgkgICRjaGFydEFyZWEgPSAkcGFyYW1zWydjaGFydEFyZWEnXTsKCX0KCgkkY29sb3JzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY29sb3JzJ10pKQoJewoJICAkY29sb3JzID0gJHBhcmFtc1snY29sb3JzJ107Cgl9CgoJJGN1cnZlVHlwZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2N1cnZlVHlwZSddKSkKCXsKCSAgJGN1cnZlVHlwZSA9ICRwYXJhbXNbJ2N1cnZlVHlwZSddOwoJfQoKCSRlbmFibGVJbnRlcmFjdGl2aXR5ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZW5hYmxlSW50ZXJhY3Rpdml0eSddKSkKCXsKCSAgJGVuYWJsZUludGVyYWN0aXZpdHkgPSAkcGFyYW1zWydlbmFibGVJbnRlcmFjdGl2aXR5J107Cgl9CgoJJGZvY3VzVGFyZ2V0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9jdXNUYXJnZXQnXSkpCgl7CgkgICRmb2N1c1RhcmdldCA9ICRwYXJhbXNbJ2ZvY3VzVGFyZ2V0J107Cgl9CgoJJGZvbnRTaXplID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udFNpemUnXSkpCgl7CgkgICRmb250U2l6ZSA9ICRwYXJhbXNbJ2ZvbnRTaXplJ107Cgl9CgoJJGZvbnROYW1lID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZm9udE5hbWUnXSkpCgl7CgkgICRmb250TmFtZSA9ICRwYXJhbXNbJ2ZvbnROYW1lJ107Cgl9CgoJJGhBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4ZXMnXSkpCgl7CgkgICRoQXhlcyA9ICRwYXJhbXNbJ2hBeGVzJ107Cgl9CgoJJGhBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaEF4aXMnXSkpCgl7CgkgICRoQXhpcyA9ICRwYXJhbXNbJ2hBeGlzJ107Cgl9CgoJJGhlaWdodCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSkKCXsKCSAgJGhlaWdodCA9ICRwYXJhbXNbJ2hlaWdodCddOwoJfQoKCSRpc0h0bWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpc0h0bWwnXSkpCgl7CgkgICRpc0h0bWwgPSAkcGFyYW1zWydpc0h0bWwnXTsKCX0KCgkkaXNTdGFja2VkID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snaXNTdGFja2VkJ10pKQoJewoJICAkaXNTdGFja2VkID0gJHBhcmFtc1snaXNTdGFja2VkJ107Cgl9CgoJJGlzM0QgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpczNEJ10pKQoJewoJICAkaXMzRCA9ICRwYXJhbXNbJ2lzM0QnXTsKCX0KCgkkaW50ZXJwb2xhdGVkTnVsbHMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydpbnRlcnBvbGF0ZWROdWxscyddKSkKCXsKCSAgJGludGVycG9sYXRlZE51bGxzID0gJHBhcmFtc1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKCX0KCgkkbGVnZW5kID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snbGVnZW5kJ10pKQoJewoJICAkbGVnZW5kID0gJHBhcmFtc1snbGVnZW5kJ107Cgl9CgoJJGxpbmVXaWR0aCA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2xpbmVXaWR0aCddKSkKCXsKCSAgJGxpbmVXaWR0aCA9ICRwYXJhbXNbJ2xpbmVXaWR0aCddOwoJfQoKCSRwb2ludFNpemUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwb2ludFNpemUnXSkpCgl7CgkgICRwb2ludFNpemUgPSAkcGFyYW1zWydwb2ludFNpemUnXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VDb2xvciddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUNvbG9yID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlQ29sb3InXTsKCX0KCgkkcGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVSZXNpZHVlU2xpY2VMYWJlbCddKSkKCXsKCSAgJHBpZVJlc2lkdWVTbGljZUxhYmVsID0gJHBhcmFtc1sncGllUmVzaWR1ZVNsaWNlTGFiZWwnXTsKCX0KCgkkcGllU2xpY2VCb3JkZXJDb2xvciA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3BpZVNsaWNlQm9yZGVyQ29sb3InXSkpCgl7CgkgICRwaWVTbGljZUJvcmRlckNvbG9yID0gJHBhcmFtc1sncGllU2xpY2VCb3JkZXJDb2xvciddOwoJfQoKCSRwaWVTbGljZVRleHQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHQnXSkpCgl7CgkgICRwaWVTbGljZVRleHQgPSAkcGFyYW1zWydwaWVTbGljZVRleHQnXTsKCX0KCgkkcGllU2xpY2VUZXh0U3R5bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydwaWVTbGljZVRleHRTdHlsZSddKSkKCXsKCSAgJHBpZVNsaWNlVGV4dFN0eWxlID0gJHBhcmFtc1sncGllU2xpY2VUZXh0U3R5bGUnXTsKCX0KCgkkcmV2ZXJzZUNhdGVnb3JpZXMgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydyZXZlcnNlQ2F0ZWdvcmllcyddKSkKCXsKCSAgJHJldmVyc2VDYXRlZ29yaWVzID0gJHBhcmFtc1sncmV2ZXJzZUNhdGVnb3JpZXMnXTsKCX0KCgkkc2xpY2VzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2xpY2VzJ10pKQoJewoJICAkc2xpY2VzID0gJHBhcmFtc1snc2xpY2VzJ107Cgl9CgoJJHNlcmllcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NlcmllcyddKSkKCXsKCSAgJHNlcmllcyA9ICRwYXJhbXNbJ3NlcmllcyddOwoJfQoKCSRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSkpCgl7CgkgICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAkcGFyYW1zWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXTsKCX0KCgkkdGhlbWUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aGVtZSddKSkKCXsKCSAgJHRoZW1lID0gJHBhcmFtc1sndGhlbWUnXTsKCX0KCgkkdGl0bGUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWyd0aXRsZSddKSkKCXsKCSAgJHRpdGxlID0gJHBhcmFtc1sndGl0bGUnXTsKCX0KCgkkdGl0bGVQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlUG9zaXRpb24nXSkpCgl7CgkgICR0aXRsZVBvc2l0aW9uID0gJHBhcmFtc1sndGl0bGVQb3NpdGlvbiddOwoJfQoKCSR0aXRsZVRleHRTdHlsZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpdGxlVGV4dFN0eWxlJ10pKQoJewoJICAkdGl0bGVUZXh0U3R5bGUgPSAkcGFyYW1zWyd0aXRsZVRleHRTdHlsZSddOwoJfQoKCSR0b29sdGlwID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndG9vbHRpcCddKSkKCXsKCSAgJHRvb2x0aXAgPSAkcGFyYW1zWyd0b29sdGlwJ107Cgl9CgoJJHZBeGVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4ZXMnXSkpCgl7CgkgICR2QXhlcyA9ICRwYXJhbXNbJ3ZBeGVzJ107Cgl9CgoJJHZBeGlzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1sndkF4aXMnXSkpCgl7CgkgICR2QXhpcyA9ICRwYXJhbXNbJ3ZBeGlzJ107Cgl9CgoJJHdpZHRoID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snd2lkdGgnXSkpCgl7CgkgICR3aWR0aCA9ICRwYXJhbXNbJ3dpZHRoJ107Cgl9CgoJJGFnZ3JlZ2F0aW9uVGFyZ2V0ID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snYWdncmVnYXRpb25UYXJnZXQnXSkpCgl7CgkgICRhZ2dyZWdhdGlvblRhcmdldCA9ICRwYXJhbXNbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J107Cgl9CgoJJGdyb3VwV2lkdGggPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydncm91cFdpZHRoJ10pKQoJewoJICAkZ3JvdXBXaWR0aCA9ICRwYXJhbXNbJ2dyb3VwV2lkdGgnXTsKCX0KCgkkZGF0YU9wYWNpdHkgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydkYXRhT3BhY2l0eSddKSkKCXsKCSAgJGRhdGFPcGFjaXR5ID0gJHBhcmFtc1snZGF0YU9wYWNpdHknXTsKCX0KCgkkYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnXSkpCgl7CgkgICRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzID0gJHBhcmFtc1snYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyddOwoJfQoKCSR0aW1lbGluZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3RpbWVsaW5lJ10pKQoJewoJICAkdGltZWxpbmUgPSAkcGFyYW1zWyd0aW1lbGluZSddOwoJfQoKCSRhbGxvd0h0bWwgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydhbGxvd0h0bWwnXSkpCgl7CgkgICRhbGxvd0h0bWwgPSAkcGFyYW1zWydhbGxvd0h0bWwnXTsKCX0KCgkkYWx0ZXJuYXRpbmdSb3dTdHlsZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FsdGVybmF0aW5nUm93U3R5bGUnXSkpCgl7CgkgICRhbHRlcm5hdGluZ1Jvd1N0eWxlID0gJHBhcmFtc1snYWx0ZXJuYXRpbmdSb3dTdHlsZSddOwoJfQoKCSRjc3NDbGFzc05hbWVzID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snY3NzQ2xhc3NOYW1lcyddKSkKCXsKCSAgJGNzc0NsYXNzTmFtZXMgPSAkcGFyYW1zWydjc3NDbGFzc05hbWVzJ107Cgl9CgoJJGZpcnN0Um93TnVtYmVyID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZmlyc3RSb3dOdW1iZXInXSkpCgl7CgkgICRmaXJzdFJvd051bWJlciA9ICRwYXJhbXNbJ2ZpcnN0Um93TnVtYmVyJ107Cgl9CgoJJGNoYXJ0cGFnZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2NoYXJ0cGFnZSddKSkKCXsKCSAgJGNoYXJ0cGFnZSA9ICRwYXJhbXNbJ2NoYXJ0cGFnZSddOwoJfQoKCSRwYWdlU2l6ZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3BhZ2VTaXplJ10pKQoJewoJICAkcGFnZVNpemUgPSAkcGFyYW1zWydwYWdlU2l6ZSddOwoJfQoKCSRydGxUYWJsZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3J0bFRhYmxlJ10pKQoJewoJICAkcnRsVGFibGUgPSAkcGFyYW1zWydydGxUYWJsZSddOwoJfQoKCSRzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9uJ10pKQoJewoJICAkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24gPSAkcGFyYW1zWydzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiddOwoJfQoKCSRzaG93Um93TnVtYmVyID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc2hvd1Jvd051bWJlciddKSkKCXsKCSAgJHNob3dSb3dOdW1iZXIgPSAkcGFyYW1zWydzaG93Um93TnVtYmVyJ107Cgl9CgoJJHNvcnQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydzb3J0J10pKQoJewoJICAkc29ydCA9ICRwYXJhbXNbJ3NvcnQnXTsKCX0KCgkkc29ydEFzY2VuZGluZyA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRBc2NlbmRpbmcnXSkpCgl7CgkgICRzb3J0QXNjZW5kaW5nID0gJHBhcmFtc1snc29ydEFzY2VuZGluZyddOwoJfQoKCSRzb3J0Q29sdW1uID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc29ydENvbHVtbiddKSkKCXsKCSAgJHNvcnRDb2x1bW4gPSAkcGFyYW1zWydzb3J0Q29sdW1uJ107Cgl9CgoJJHN0YXJ0UGFnZSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ3N0YXJ0UGFnZSddKSkKCXsKCSAgJHN0YXJ0UGFnZSA9ICRwYXJhbXNbJ3N0YXJ0UGFnZSddOwoJfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApCiAgewogICAgJGVycm9yID0gRkFMU0U7CiAgICBpZiggZW1wdHkoJG5hbWUpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJyk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGVtcHR5KCRkYXRhKSApCiAgICAgIHsKCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdub2RhdGFnaXZlbicpOwogICAgICB9CgogICAgaWYoICEkZXJyb3IgKQogICAgICB7CgoJLy8gCgkvLyBkYXRhYmFzZSB3b3JrCgkvLwoJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMgU0VUIGdjaGFydHNfY2F0ZWdvcnlfaWQgPSA/LCBnY2hhcnRzX2VsZW1lbnRfaWQgPSA/LCBnY2hhcnRzX25hbWUgPSA/LCBnY2hhcnRzX2RhdGEgPSA/LCBheGlzVGl0bGVzUG9zaXRpb24gPSA/LCBiYWNrZ3JvdW5kQ29sb3IgPSA/LCBjdXJ2ZVR5cGUgPSA/LCBjaGFydEFyZWEgPSA/LCBjb2xvcnMgPSA/LCBlbmFibGVJbnRlcmFjdGl2aXR5ID0gPywgZm9jdXNUYXJnZXQgPSA/LCBmb250U2l6ZSA9ID8sIGZvbnROYW1lID0gPywgaEF4ZXMgPSA/LCBoQXhpcyA9ID8sIGhlaWdodCA9ID8sIGludGVycG9sYXRlZE51bGxzID0gPywgaXNIdG1sID0gPywgaXNTdGFja2VkID0gPywgaXMzRCA9ID8sIGxlZ2VuZCA9ID8sIGxpbmVXaWR0aCA9ID8sIHNsaWNlcyA9ID8sIHBpZVNsaWNlQm9yZGVyQ29sb3IgPSA/LCBwaWVTbGljZVRleHQgPSA/LCBwaWVTbGljZVRleHRTdHlsZSA9ID8sIHBvaW50U2l6ZSA9ID8sIHJldmVyc2VDYXRlZ29yaWVzID0gPywgc2VyaWVzID0gPywgc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkID0gPywgcGllUmVzaWR1ZVNsaWNlQ29sb3IgPSA/LCBwaWVSZXNpZHVlU2xpY2VMYWJlbCA9ID8sIHRoZW1lID0gPywgdGl0bGUgPSA/LCB0aXRsZVBvc2l0aW9uID0gPywgdGl0bGVUZXh0U3R5bGUgPSA/LCB0b29sdGlwID0gPywgdkF4ZXMgPSA/LCB2QXhpcyA9ID8sIHdpZHRoID0gPywgYWdncmVnYXRpb25UYXJnZXQgPSA/LCBncm91cFdpZHRoID0gPywgZGF0YU9wYWNpdHkgPSA/LCBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzID0gPywgdGltZWxpbmUgPSA/LCBhbGxvd0h0bWwgPSA/LCBhbHRlcm5hdGluZ1Jvd1N0eWxlID0gPywgY3NzQ2xhc3NOYW1lcyA9ID8sIGZpcnN0Um93TnVtYmVyID0gPywgY2hhcnRwYWdlID0gPywgcGFnZVNpemUgPSA/LCBydGxUYWJsZSA9ID8sIHNjcm9sbExlZnRTdGFydFBvc2l0aW9uID0gPywgc2hvd1Jvd051bWJlciA9ID8sIHNvcnQgPSA/LCBzb3J0QXNjZW5kaW5nID0gPywgc29ydENvbHVtbiA9ID8sIHN0YXJ0UGFnZSA9ID8gV0hFUkUgZ2NoYXJ0c19pZCA9ID8nOwoJICAgCQkJCQoJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIAoJCQkgYXJyYXkoJHVzZWRjYXRlZ29yeSwgJGVsZW1lbnQsICRuYW1lLCAkZGF0YSwgJGF4aXNUaXRsZXNQb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvciwgJGN1cnZlVHlwZSwgJGNoYXJ0QXJlYSwgJGNvbG9ycywgJGVuYWJsZUludGVyYWN0aXZpdHksICRmb2N1c1RhcmdldCwgJGZvbnRTaXplLCAkZm9udE5hbWUsICRoQXhlcywgJGhBeGlzLCAkaGVpZ2h0LCAkaW50ZXJwb2xhdGVkTnVsbHMsICRpc0h0bWwsICRpc1N0YWNrZWQsICRpczNELCAkbGVnZW5kLCAkbGluZVdpZHRoLCAkc2xpY2VzLCAkcGllU2xpY2VCb3JkZXJDb2xvciwgJHBpZVNsaWNlVGV4dCwgJHBpZVNsaWNlVGV4dFN0eWxlLCAkcG9pbnRTaXplLCAkcmV2ZXJzZUNhdGVnb3JpZXMsICRzZXJpZXMsICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgJHBpZVJlc2lkdWVTbGljZUxhYmVsLCAkdGhlbWUsICR0aXRsZSwgJHRpdGxlUG9zaXRpb24sICR0aXRsZVRleHRTdHlsZSwgJHRvb2x0aXAsICR2QXhlcywgJHZBeGlzLCAkd2lkdGgsICRhZ2dyZWdhdGlvblRhcmdldCwgJGdyb3VwV2lkdGgsICRkYXRhT3BhY2l0eSwgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsICR0aW1lbGluZSwgJGFsbG93SHRtbCwgJGFsdGVybmF0aW5nUm93U3R5bGUsICRjc3NDbGFzc05hbWVzLCAkZmlyc3RSb3dOdW1iZXIsICRjaGFydHBhZ2UsICRwYWdlU2l6ZSwgJHJ0bFRhYmxlLCAkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24sICRzaG93Um93TnVtYmVyLCAkc29ydCwgJHNvcnRBc2NlbmRpbmcsICRzb3J0Q29sdW1uLCAkc3RhcnRQYWdlLCAkY2hhcnRpZCkpOwoKCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJaWYoICEkZXJyb3IgKQoJICB7CgkgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsKCSAgICBpZiAoaXNfb2JqZWN0KCRtb2R1bGUpICkKCSAgICAgIHsKCQlpZiggJHN0YXR1cyA9PSAnZHJhZnQnICkKCQkgIHsKCQkgICAgJG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwkY2hhcnRpZCwnY2hhcnQnKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgICR0ZXh0ID0gJyc7CgkJICAgICR0ZXh0IC49ICRkYXRhLicgJy4kbmFtZS4nICcuJG5hbWU7CgkJICAgICRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRjaGFydGlkLCAnY2hhcnQnLCAkdGV4dCk7CgkJICB9CgkgICAgICB9CgkKCSAgICBAJHRoaXMtPlNlbmRFdmVudCgnR0NoYXJ0Q2hhcnRFZGl0ZWQnLCBhcnJheSgnZ2NoYXJ0c19pZCcgPT4gJGNoYXJ0aWQsICdnY2hhcnRzX2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAnbmFtZScgPT4gJG5hbWUsICdkYXRhJyA9PiAkZGF0YSwgJ2F4aXNUaXRsZXNQb3NpdGlvbicgPT4gJGF4aXNUaXRsZXNQb3NpdGlvbiwgJ2JhY2tncm91bmRDb2xvcicgPT4gJGJhY2tncm91bmRDb2xvciwgJ2N1cnZlVHlwZScgPT4gJGN1cnZlVHlwZSwgJ2NoYXJ0QXJlYScgPT4gJGNoYXJ0QXJlYSwgJ2NvbG9ycycgPT4gJGNvbG9ycywgJ2VuYWJsZUludGVyYWN0aXZpdHknID0+ICRlbmFibGVJbnRlcmFjdGl2aXR5LCAnZm9jdXNUYXJnZXQnID0+ICRmb2N1c1RhcmdldCwgJ2ZvbnRTaXplJyA9PiAkZm9udFNpemUsICdmb250TmFtZScgPT4gJGZvbnROYW1lLCAnaEF4ZXMnID0+ICRoQXhlcywgJ2hBeGlzJyA9PiAkaEF4aXMsICdoZWlnaHQnID0+ICRoZWlnaHQsICdpbnRlcnBvbGF0ZWROdWxscycgPT4gJGludGVycG9sYXRlZE51bGxzLCAnaXNIdG1sJyA9PiAkaXNIdG1sLCAnaXNTdGFja2VkJyA9PiAkaXNTdGFja2VkLCAnaXMzRCcgPT4gJGlzM0QsICdsZWdlbmQnID0+ICRsZWdlbmQsICdsaW5lV2lkdGgnID0+ICRsaW5lV2lkdGgsICdzbGljZXMnID0+ICRzbGljZXMsICdwaWVTbGljZUJvcmRlckNvbG9yJyA9PiAkcGllU2xpY2VCb3JkZXJDb2xvciwgJ3BpZVNsaWNlVGV4dCcgPT4gJHBpZVNsaWNlVGV4dCwgJ3BpZVNsaWNlVGV4dFN0eWxlJyA9PiAkcGllU2xpY2VUZXh0U3R5bGUsICdwb2ludFNpemUnID0+ICRwb2ludFNpemUsICdyZXZlcnNlQ2F0ZWdvcmllcycgPT4gJHJldmVyc2VDYXRlZ29yaWVzLCAnc2VyaWVzJyA9PiAkc2VyaWVzLCAnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJyA9PiAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkLCAncGllUmVzaWR1ZVNsaWNlQ29sb3InID0+ICRwaWVSZXNpZHVlU2xpY2VDb2xvciwgJ3BpZVJlc2lkdWVTbGljZUxhYmVsJyA9PiAkcGllUmVzaWR1ZVNsaWNlTGFiZWwsICd0aGVtZScgPT4gJHRoZW1lLCAndGl0bGUnID0+ICR0aXRsZSwgJ3RpdGxlUG9zaXRpb24nID0+ICR0aXRsZVBvc2l0aW9uLCAndGl0bGVUZXh0U3R5bGUnID0+ICR0aXRsZVRleHRTdHlsZSwgJ3Rvb2x0aXAnID0+ICR0b29sdGlwLCAndkF4ZXMnID0+ICR2QXhlcywgJ3ZBeGlzJyA9PiAkdkF4aXMsICd3aWR0aCcgPT4gJHdpZHRoLCAnYWdncmVnYXRpb25UYXJnZXQnID0+ICRhZ2dyZWdhdGlvblRhcmdldCwgJ2dyb3VwV2lkdGgnID0+ICRncm91cFdpZHRoLCAnZGF0YU9wYWNpdHknID0+ICRkYXRhT3BhY2l0eSwgJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnID0+ICRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzLCAndGltZWxpbmUnID0+ICR0aW1lbGluZSwgJ2FsbG93SHRtbCcgPT4gJGFsbG93SHRtbCwgJ2FsdGVybmF0aW5nUm93U3R5bGUnID0+ICRhbHRlcm5hdGluZ1Jvd1N0eWxlLCAnY3NzQ2xhc3NOYW1lcycgPT4gJGNzc0NsYXNzTmFtZXMsICdmaXJzdFJvd051bWJlcicgPT4gJGZpcnN0Um93TnVtYmVyLCAnY2hhcnRwYWdlJyA9PiAkY2hhcnRwYWdlLCAncGFnZVNpemUnID0+ICRwYWdlU2l6ZSwgJ3J0bFRhYmxlJyA9PiAkcnRsVGFibGUsICdzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicgPT4gJHNjcm9sbExlZnRTdGFydFBvc2l0aW9uLCAnc2hvd1Jvd051bWJlcicgPT4gJHNob3dSb3dOdW1iZXIsICdzb3J0JyA9PiAkc29ydCwgJ3NvcnRBc2NlbmRpbmcnID0+ICRzb3J0QXNjZW5kaW5nLCAnc29ydENvbHVtbicgPT4gJHNvcnRDb2x1bW4sICdzdGFydFBhZ2UnID0+ICRzdGFydFBhZ2UsICdzdGF0dXMnID0+ICRzdGF0dXMpKTsKCQkJCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJCWF1ZGl0KCRjaGFydGlkLCAnR0NoYXJ0czogJy4kY2hhcnRpZCwgJ0NoYXJ0IGVkaXRlZCcpOwoJICB9CgogICAgICB9IC8vIGVsc2UgaWYgbm8gZXJyb3IKCiAgICBpZiggaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSApCiAgICAgIHsKCSRyZXNwb25zZSA9ICc8RWRpdENoYXJ0Pic7CglpZiggJGVycm9yICE9ICcnICkKCSAgewoJICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOwoJICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJy4kZXJyb3IuJ11dPjwvRGV0YWlscz4nOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5TdWNjZXNzPC9SZXNwb25zZT4nOwogICAgICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycuJHRoaXMtPkxhbmcoJ2NoYXJ0dXBkYXRlZCcpLiddXT48L0RldGFpbHM+JzsKCSAgfQoJJHJlc3BvbnNlIC49ICc8L0VkaXRDaGFydD4nOwoJZWNobyAkcmVzcG9uc2U7CglyZXR1cm47CiAgICAgIH0KCiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmICEkZXJyb3IgKQogICAgICB7CgkvLyByZWRpcmVjdCBvdXQgbyBoZXJlLgoJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnY2hhcnR1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdjaGFydHMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoICRlcnJvciApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9yKTsKICAgICAgfQogIH0gLy8gc3VibWl0IG9yIGFwcGx5CmVsc2UKICB7CiAgICAvLyAKICAgIC8vIExvYWQgZGF0YSBmcm9tIGRhdGFiYXNlCiAgICAvLwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzIFdIRVJFIGdjaGFydHNfaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjaGFydGlkKSk7CiAgICAKICAgIGlmICgkcm93KQogICAgICB7CgkkbmFtZSA9ICRyb3dbJ2djaGFydHNfbmFtZSddOwoJJGVsZW1lbnQgPSAkcm93WydnY2hhcnRzX2VsZW1lbnRfaWQnXTsKCSRkYXRhID0gJHJvd1snZ2NoYXJ0c19kYXRhJ107CgkkYXhpc1RpdGxlc1Bvc2l0aW9uID0gJHJvd1snYXhpc1RpdGxlc1Bvc2l0aW9uJ107CgkkYmFja2dyb3VuZENvbG9yID0gJHJvd1snYmFja2dyb3VuZENvbG9yJ107CgkkY3VydmVUeXBlID0gJHJvd1snY3VydmVUeXBlJ107CgkkY2hhcnRBcmVhID0gJHJvd1snY2hhcnRBcmVhJ107CgkkY29sb3JzID0gJHJvd1snY29sb3JzJ107CgkkZW5hYmxlSW50ZXJhY3Rpdml0eSA9ICRyb3dbJ2VuYWJsZUludGVyYWN0aXZpdHknXTsKCSRmb2N1c1RhcmdldCA9ICRyb3dbJ2ZvY3VzVGFyZ2V0J107CgkkZm9udFNpemUgPSAkcm93Wydmb250U2l6ZSddOwoJJGZvbnROYW1lID0gJHJvd1snZm9udE5hbWUnXTsKCSRoQXhlcyA9ICRyb3dbJ2hBeGVzJ107CgkkaEF4aXMgPSAkcm93WydoQXhpcyddOwoJJGhlaWdodCA9ICRyb3dbJ2hlaWdodCddOwoJJGludGVycG9sYXRlZE51bGxzID0gJHJvd1snaW50ZXJwb2xhdGVkTnVsbHMnXTsKCSRpc0h0bWwgPSAkcm93Wydpc0h0bWwnXTsKCSRpc1N0YWNrZWQgPSAkcm93Wydpc1N0YWNrZWQnXTsKCSRpczNEID0gJHJvd1snaXMzRCddOwoJJGxlZ2VuZCA9ICRyb3dbJ2xlZ2VuZCddOwoJJGxpbmVXaWR0aCA9ICRyb3dbJ2xpbmVXaWR0aCddOwoJJHNsaWNlcyA9ICRyb3dbJ3NsaWNlcyddOwoJJHBpZVNsaWNlQm9yZGVyQ29sb3IgPSAkcm93WydwaWVTbGljZUJvcmRlckNvbG9yJ107CgkkcGllU2xpY2VUZXh0ID0gJHJvd1sncGllU2xpY2VUZXh0J107CgkkcGllU2xpY2VUZXh0U3R5bGUgPSAkcm93WydwaWVTbGljZVRleHRTdHlsZSddOwoJJHBvaW50U2l6ZSA9ICRyb3dbJ3BvaW50U2l6ZSddOwoJJHJldmVyc2VDYXRlZ29yaWVzID0gJHJvd1sncmV2ZXJzZUNhdGVnb3JpZXMnXTsKCSRzZXJpZXMgPSAkcm93WydzZXJpZXMnXTsKCSRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQgPSAkcm93WydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXTsKCSRwaWVSZXNpZHVlU2xpY2VDb2xvciA9ICRyb3dbJ3BpZVJlc2lkdWVTbGljZUNvbG9yJ107CgkkcGllUmVzaWR1ZVNsaWNlTGFiZWwgPSAkcm93WydwaWVSZXNpZHVlU2xpY2VMYWJlbCddOwoJJHRoZW1lID0gJHJvd1sndGhlbWUnXTsKCSR0aXRsZSA9ICRyb3dbJ3RpdGxlJ107CgkkdGl0bGVQb3NpdGlvbiA9ICRyb3dbJ3RpdGxlUG9zaXRpb24nXTsKCSR0aXRsZVRleHRTdHlsZSA9ICRyb3dbJ3RpdGxlVGV4dFN0eWxlJ107CgkkdG9vbHRpcCA9ICRyb3dbJ3Rvb2x0aXAnXTsKCSR2QXhlcyA9ICRyb3dbJ3ZBeGVzJ107CgkkdkF4aXMgPSAkcm93Wyd2QXhpcyddOwoJJHdpZHRoID0gJHJvd1snd2lkdGgnXTsKCSRhZ2dyZWdhdGlvblRhcmdldCA9ICRyb3dbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J107CgkkZ3JvdXBXaWR0aCA9ICRyb3dbJ2dyb3VwV2lkdGgnXTsKCSRkYXRhT3BhY2l0eSA9ICRyb3dbJ2RhdGFPcGFjaXR5J107CgkkYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyA9ICRyb3dbJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnXTsKCSR0aW1lbGluZSA9ICRyb3dbJ3RpbWVsaW5lJ107CgkkYWxsb3dIdG1sID0gJHJvd1snYWxsb3dIdG1sJ107CgkkYWx0ZXJuYXRpbmdSb3dTdHlsZSA9ICRyb3dbJ2FsdGVybmF0aW5nUm93U3R5bGUnXTsKCSRjc3NDbGFzc05hbWVzID0gJHJvd1snY3NzQ2xhc3NOYW1lcyddOwoJJGZpcnN0Um93TnVtYmVyID0gJHJvd1snZmlyc3RSb3dOdW1iZXInXTsKCSRjaGFydHBhZ2UgPSAkcm93WydjaGFydHBhZ2UnXTsKCSRwYWdlU2l6ZSA9ICRyb3dbJ3BhZ2VTaXplJ107CgkkcnRsVGFibGUgPSAkcm93WydydGxUYWJsZSddOwoJJHNjcm9sbExlZnRTdGFydFBvc2l0aW9uID0gJHJvd1snc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24nXTsKCSRzaG93Um93TnVtYmVyID0gJHJvd1snc2hvd1Jvd051bWJlciddOwoJJHNvcnQgPSAkcm93Wydzb3J0J107Cgkkc29ydEFzY2VuZGluZyA9ICRyb3dbJ3NvcnRBc2NlbmRpbmcnXTsKCSRzb3J0Q29sdW1uID0gJHJvd1snc29ydENvbHVtbiddOwoJJHN0YXJ0UGFnZSA9ICRyb3dbJ3N0YXJ0UGFnZSddOwoJJHN0YXR1cyA9ICRyb3dbJ3N0YXR1cyddOwoJJHVzZWRjYXRlZ29yeSA9ICRyb3dbJ2djaGFydHNfY2F0ZWdvcnlfaWQnXTsKICAgICAgfQogIH0KCiRzdGF0dXNkcm9wZG93biA9IGFycmF5KCk7CiRzdGF0dXNkcm9wZG93blskdGhpcy0+TGFuZygnZHJhZnQnKV0gPSAnZHJhZnQnOwokc3RhdHVzZHJvcGRvd25bJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpXSA9ICdwdWJsaXNoZWQnOwoKJGNhdGVnb3J5bGlzdCA9IGFycmF5KCk7CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogIHsKCSRjYXRlZ29yeWxpc3RbJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ11dID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9pZCddOwogIH0KCiNEaXNwbGF5IHRlbXBsYXRlCgkkc21hcnR5LT5hc3NpZ24oJ2N1cnJjYXQnLCAkdXNlZGNhdGVnb3J5KTsKCSRzbWFydHktPmFzc2lnbignZm9ybWlkJywkaWQpOwoJJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRjaGFydCcsICRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRlbGVtZW50JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbGVtZW50JywgJGVsZW1lbnQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRkYXRhJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRkYXRhLCAnZGF0YScpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRheGlzVGl0bGVzUG9zaXRpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2F4aXNUaXRsZXNQb3NpdGlvbicsICRheGlzVGl0bGVzUG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRiYWNrZ3JvdW5kQ29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2JhY2tncm91bmRDb2xvcicsICRiYWNrZ3JvdW5kQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjaGFydEFyZWEnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NoYXJ0QXJlYScsICRjaGFydEFyZWEsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjb2xvcnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NvbG9ycycsICRjb2xvcnMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjdXJ2ZVR5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2N1cnZlVHlwZScsICRjdXJ2ZVR5cGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRlbmFibGVJbnRlcmFjdGl2aXR5JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbmFibGVJbnRlcmFjdGl2aXR5JywgJGVuYWJsZUludGVyYWN0aXZpdHksIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb2N1c1RhcmdldCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9jdXNUYXJnZXQnLCAkZm9jdXNUYXJnZXQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb250U2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9udFNpemUnLCAkZm9udFNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmb250TmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZm9udE5hbWUnLCAkZm9udE5hbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoQXhlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaEF4ZXMnLCAkaEF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoQXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaEF4aXMnLCAkaEF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRoZWlnaHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hlaWdodCcsICRoZWlnaHQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpbnRlcnBvbGF0ZWROdWxscycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW50ZXJwb2xhdGVkTnVsbHMnLCAkaW50ZXJwb2xhdGVkTnVsbHMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpc0h0bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzSHRtbCcsICRpc0h0bWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpc1N0YWNrZWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lzU3RhY2tlZCcsICRpc1N0YWNrZWQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRpczNEJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpczNEJywgJGlzM0QsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRsZWdlbmQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2xlZ2VuZCcsICRsZWdlbmQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRsaW5lV2lkdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2xpbmVXaWR0aCcsICRsaW5lV2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzbGljZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NsaWNlcycsICRzbGljZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZUJvcmRlckNvbG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwaWVTbGljZUJvcmRlckNvbG9yJywgJHBpZVNsaWNlQm9yZGVyQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZVRleHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BpZVNsaWNlVGV4dCcsICRwaWVTbGljZVRleHQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVTbGljZVRleHRTdHlsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllU2xpY2VUZXh0U3R5bGUnLCAkcGllU2xpY2VUZXh0U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwb2ludFNpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BvaW50U2l6ZScsICRwb2ludFNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRyZXZlcnNlQ2F0ZWdvcmllcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncmV2ZXJzZUNhdGVnb3JpZXMnLCAkcmV2ZXJzZUNhdGVnb3JpZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzZXJpZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NlcmllcycsICRzZXJpZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcsICRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVSZXNpZHVlU2xpY2VDb2xvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllUmVzaWR1ZVNsaWNlQ29sb3InLCAkcGllUmVzaWR1ZVNsaWNlQ29sb3IsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwaWVSZXNpZHVlU2xpY2VMYWJlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGllUmVzaWR1ZVNsaWNlTGFiZWwnLCAkcGllUmVzaWR1ZVNsaWNlTGFiZWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aGVtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGhlbWUnLCAkdGhlbWUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGUnLCAkdGl0bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZVBvc2l0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZVBvc2l0aW9uJywgJHRpdGxlUG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aXRsZVRleHRTdHlsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGVUZXh0U3R5bGUnLCAkdGl0bGVUZXh0U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0b29sdGlwJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0b29sdGlwJywgJHRvb2x0aXAsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhlcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4ZXMnLCAkdkF4ZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR2QXhpcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndkF4aXMnLCAkdkF4aXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR3aWR0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnd2lkdGgnLCAkd2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhZ2dyZWdhdGlvblRhcmdldCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWdncmVnYXRpb25UYXJnZXQnLCAkYWdncmVnYXRpb25UYXJnZXQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRncm91cFdpZHRoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdncm91cFdpZHRoJywgJGdyb3VwV2lkdGgsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRkYXRhT3BhY2l0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGF0YU9wYWNpdHknLCAkZGF0YU9wYWNpdHksIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJywgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXR0aW1lbGluZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGltZWxpbmUnLCAkdGltZWxpbmUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhbGxvd0h0bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsbG93SHRtbCcsICRhbGxvd0h0bWwsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRhbHRlcm5hdGluZ1Jvd1N0eWxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbHRlcm5hdGluZ1Jvd1N0eWxlJywgJGFsdGVybmF0aW5nUm93U3R5bGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjc3NDbGFzc05hbWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjc3NDbGFzc05hbWVzJywgJGNzc0NsYXNzTmFtZXMsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRmaXJzdFJvd051bWJlcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZmlyc3RSb3dOdW1iZXInLCAkZmlyc3RSb3dOdW1iZXIsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRjaGFydHBhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NoYXJ0cGFnZScsICRjaGFydHBhZ2UsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRwYWdlU2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncGFnZVNpemUnLCAkcGFnZVNpemUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRydGxUYWJsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncnRsVGFibGUnLCAkcnRsVGFibGUsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24nLCAkc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzaG93Um93TnVtYmVyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzaG93Um93TnVtYmVyJywgJHNob3dSb3dOdW1iZXIsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0JywgJHNvcnQsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0QXNjZW5kaW5nJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0QXNjZW5kaW5nJywgJHNvcnRBc2NlbmRpbmcsIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzb3J0Q29sdW1uJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0Q29sdW1uJywgJHNvcnRDb2x1bW4sIDMwLCAyNTUpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRzdGFydFBhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N0YXJ0UGFnZScsICRzdGFydFBhZ2UsIDMwLCAyNTUpKTsKCmlmKCAkdGhpcy0+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+TGFuZygnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycpKTsKCSRzbWFydHktPmFzc2lnbigndGltZWxpbmV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RpbWVsaW5lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdhbGxvd0h0bWx0ZXh0JywgJHRoaXMtPkxhbmcoJ2FsbG93SHRtbCcpKTsKCSRzbWFydHktPmFzc2lnbignYWx0ZXJuYXRpbmdSb3dTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygnYWx0ZXJuYXRpbmdSb3dTdHlsZScpKTsKCSRzbWFydHktPmFzc2lnbignY3NzQ2xhc3NOYW1lc3RleHQnLCAkdGhpcy0+TGFuZygnY3NzQ2xhc3NOYW1lcycpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RSb3dOdW1iZXJ0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpcnN0Um93TnVtYmVyJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjaGFydHBhZ2V0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbigncGFnZVNpemV0ZXh0JywgJHRoaXMtPkxhbmcoJ3BhZ2VTaXplJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdydGxUYWJsZXRleHQnLCAkdGhpcy0+TGFuZygncnRsVGFibGUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCdzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicpKTsKCSRzbWFydHktPmFzc2lnbignc2hvd1Jvd051bWJlcnRleHQnLCAkdGhpcy0+TGFuZygnc2hvd1Jvd051bWJlcicpKTsKCSRzbWFydHktPmFzc2lnbignc29ydHRleHQnLCAkdGhpcy0+TGFuZygnc29ydCcpKTsKCSRzbWFydHktPmFzc2lnbignc29ydEFzY2VuZGluZ3RleHQnLCAkdGhpcy0+TGFuZygnc29ydEFzY2VuZGluZycpKTsKCSRzbWFydHktPmFzc2lnbignc29ydENvbHVtbnRleHQnLCAkdGhpcy0+TGFuZygnc29ydENvbHVtbicpKTsKCSRzbWFydHktPmFzc2lnbignc3RhcnRQYWdldGV4dCcsICR0aGlzLT5MYW5nKCdzdGFydFBhZ2UnKSk7CgoKCS8vIHRhYiBzdHVmZi4KCSRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2hlYWRlcnMnLCR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RhYmhlYWRlcl9jaGFydCcsJHRoaXMtPlNldFRhYkhlYWRlcignY2hhcnQnLCR0aGlzLT5MYW5nKCdjaGFydCcpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RhYmhlYWRlcl9wcmV2aWV3JywkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmV2aWV3JywkdGhpcy0+TGFuZygncHJldmlldycpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfaGVhZGVycycsJHRoaXMtPkVuZFRhYkhlYWRlcnMoKSk7CgoJJHNtYXJ0eS0+YXNzaWduKCdzdGFydF90YWJfZGF0YScsJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKCSRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2NoYXJ0JywkdGhpcy0+U3RhcnRUYWIoJ2NoYXJ0JywkcGFyYW1zKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfY2hhcnQnLCR0aGlzLT5FbmRUYWIoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfZGF0YScsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7CgoJJHNtYXJ0eS0+YXNzaWduKCd3YXJuaW5nX3ByZXZpZXcnLCR0aGlzLT5MYW5nKCd3YXJuaW5nX3ByZXZpZXcnKSk7CgkkZGF0YW9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7Cgkkc21hcnR5LT5hc3NpZ24oJ3ByZXZpZXdfcmV0dXJuaWQnLAoJCSRkYXRhb3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlsX3JldHVybmlkJywtMSksCgkJCQkJCSAgICAgJ3ByZXZpZXdfcmV0dXJuaWQnKSk7CnsKICAkdG1wID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsKICAkdG1wMiA9IGFycmF5KCk7CiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQogICAgewogICAgICBpZiggc3RhcnRzd2l0aCgkdG1wWyRpXSwnZGV0YWlsJykgKQoJewoJICAkeCA9IHN1YnN0cigkdG1wWyRpXSw2KTsKCSAgJHRtcDJbJHhdID0gJHg7Cgl9CiAgICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGV0YWlsX3RlbXBsYXRlJywkdGhpcy0+TGFuZygnZGV0YWlsX3RlbXBsYXRlJykpOwogICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF9wYWdlJywkdGhpcy0+TGFuZygnZGV0YWlsX3BhZ2UnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdkZXRhaWxfdGVtcGxhdGVzJywkdG1wMik7CiAgJHNtYXJ0eS0+YXNzaWduKCdjdXJfZGV0YWlsX3RlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnKSk7Cn0KCi8vIGFuZCBkaXNwbGF5IHRoZSB0ZW1wbGF0ZS4KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2hhcnQudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_chartstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0YWRtaW4nKSk7ICAKCQokYWxsY2F0ZWdvcmllcyA9IChpc3NldCgkcGFyYW1zWydhbGxjYXRlZ29yaWVzJ10pPyRwYXJhbXNbJ2FsbGNhdGVnb3JpZXMnXTonbm8nKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfbWFzc2RlbGV0ZSddKSApCiAgewogICAgaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdEZWxldGUgR0NoYXJ0cycpKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgR0NoYXJ0cycpKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydzZWwnXSkgJiYKCWNvdW50KCRwYXJhbXNbJ3NlbCddKSA+IDAgKQogICAgICB7CiAgICAgICAgZm9yZWFjaCggJHBhcmFtc1snc2VsJ10gYXMgJGdjaGFydHNfaWQgKQoJICB7CgkgICAgZ2NoYXJ0c19hZG1pbl9vcHM6OmRlbGV0ZV9jaGFydCggJGdjaGFydHNfaWQgKTsKCSAgfQogICAgICB9CiAgfQplbHNlIGlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfcmVhc3NpZ24nXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzZWwnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snc2VsJ10pICYmCgljb3VudCgkcGFyYW1zWydzZWwnXSkgPiAwICkKICAgICAgewoJJHRtcCA9IHN0cl9yZXBlYXQoJz8sJyxjb3VudCgkcGFyYW1zWydzZWwnXSkpOwoJJHRtcCA9IHN1YnN0cigkdG1wLDAsc3RybGVuKCR0bXApLTEpOwoJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHMgU0VUIGdjaGFydHNfY2F0ZWdvcnlfaWQgPSA/IFdIRVJFIGdjaGFydHNfaWQgSU4gKCcuJHRtcC4nKSc7CgkkcGFybXMgPSBhcnJheSgkcGFyYW1zWydjYXRlZ29yeSddKTsKCWZvcmVhY2goICRwYXJhbXNbJ3NlbCddICBhcyAkcCApICRwYXJtc1tdID0gJHA7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJtcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9jaGFydHNzZWxlY3RlZCcpKTsKICAgICAgfQogIH0KCiRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwokY2F0ZWdvcnlsaXN0WyR0aGlzLT5MYW5nKCdhbGxjYXRlZ29yaWVzJyldID0gJyc7CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJGN1cmNhdGVnb3J5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoYXJ0X2NhdGVnb3J5Jyk7CiRwYWdlbGltaXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hhcnRfcGFnZWxpbWl0JywxMDApOwokcGFnZW51bWJlciA9IDE7CmlmKCBpc3NldCggJHBhcmFtc1sncGFnZW51bWJlciddICkgKQogIHsKICAgICRwYWdlbnVtYmVyID0gJHBhcmFtc1sncGFnZW51bWJlciddOwogIH0KJHN0YXJ0ZWxlbWVudCA9ICgkcGFnZW51bWJlci0xKSAqICRwYWdlbGltaXQ7CiRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hhcnRfc29ydGJ5JywnZ2NoYXJ0c19pZCBBU0MnKTsKJHNvcnRsaXN0ID0gYXJyYXkoKTsKJHNvcnRsaXN0WyR0aGlzLT5MYW5nKCduYW1lX2FzYycpXSA9ICdnY2hhcnRzX25hbWUgQVNDJzsKJHNvcnRsaXN0WyR0aGlzLT5MYW5nKCduYW1lX2Rlc2MnKV0gPSAnZ2NoYXJ0c19uYW1lIERFU0MnOwokc29ydGxpc3RbJHRoaXMtPkxhbmcoJ3N0YXR1c19hc2MnKV0gPSAnc3RhdHVzIEFTQyc7CiRzb3J0bGlzdFskdGhpcy0+TGFuZygnc3RhdHVzX2Rlc2MnKV0gPSAnc3RhdHVzIERFU0MnOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2F0ZWdvcnknLCR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yeScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjYXRlZ29yeScsJGNhdGVnb3J5bGlzdCwtMSwkY3VyY2F0ZWdvcnkpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc2hvd2NoaWxkY2F0ZWdvcmllcycsCgkJJHRoaXMtPkxhbmcoJ3Nob3djaGlsZGNhdGVnb3JpZXMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsY2F0ZWdvcmllcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdhbGxjYXRlZ29yaWVzJywneWVzJywkYWxsY2F0ZWdvcmllcykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zb3J0aW5nJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X3NvcnRpbmcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydGluZycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzb3J0YnknLCRzb3J0bGlzdCwtMSwkc29ydGJ5KSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3BhZ2VsaW1pdCcsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9wYWdlbGltaXQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFnZWxpbWl0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3BhZ2VsaW1pdCcsCgkJCQkJICAgYXJyYXkoJzUnPT41LCcyNSc9PjI1LCc1MCc9PjUwLAoJCQkJCQkgJzEwMCc9PjEwMCwnNTAwJz0+NTAwLCcxMDAwJz0+MTAwMCwkdGhpcy0+TGFuZygndW5saW1pdGVkJyk9Pjk5OTk5OTk5OSksLTEsJHBhZ2VsaW1pdCkpOwoJCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkKLy9Mb2FkIHRoZSBjdXJyZW50IGNoYXJ0cwokZW50cnlhcnJheSA9IGFycmF5KCk7CgokZGJyZXN1bHQgPSAnJzsKCiRxdWVyeTEgPSAiU0VMRUNUIG4uKiwgbmMuZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nY2hhcnRzIG4gTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIG5jIE9OIG4uZ2NoYXJ0c19jYXRlZ29yeV9pZCA9IG5jLmdjaGFydHNfY2F0ZWdvcnlfaWQgIjsKJHF1ZXJ5MiA9ICJTRUxFQ1QgY291bnQobi5nY2hhcnRzX2lkKSBBUyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyBuIExFRlQgT1VURVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyBuYyBPTiBuLmdjaGFydHNfY2F0ZWdvcnlfaWQgPSBuYy5nY2hhcnRzX2NhdGVnb3J5X2lkICI7CiRwYXJtcyA9IGFycmF5KCk7CmlmICgkY3VyY2F0ZWdvcnkgIT0gJycpCiAgewogICAgJHF1ZXJ5MSAuPSAiIFdIRVJFIG5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBMSUtFID8iOwogICAgJHF1ZXJ5MiAuPSAiIFdIRVJFIG5jLmdjaGFydHNfY2F0ZWdvcnlfbmFtZSBMSUtFID8iOwogICAgaWYoICRhbGxjYXRlZ29yaWVzID09ICd5ZXMnICkKICAgICAgewoJJHBhcm1zW10gPSAkY3VyY2F0ZWdvcnkuJyUnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRwYXJtc1tdID0gJGN1cmNhdGVnb3J5OwogICAgICB9CiAgfQokcXVlcnkxIC49ICcgT1JERVIgYnkgJy4kc29ydGJ5OwovLyRxdWVyeTEgLj0gIiBMSU1JVCAkcGFnZWxpbWl0IE9GRlNFVCAkc3RhcnRlbGVtZW50IjsKCi8vIGlmIGlzIGRvbmUgdG8gaGVscCBhZG9kYi4KJG51bXJvd3MgPSAtMTsKaWYoIGNvdW50KCRwYXJtcykgKQogIHsKICAgICRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoICRxdWVyeTEsICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQsICRwYXJtcyk7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5MiwkcGFybXMpOwogICAgJG51bXJvd3MgPSAkcm93Wydjb3VudCddOwogIH0KZWxzZQogIHsKICAgICRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoICRxdWVyeTEsICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQpOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeTIpOwogICAgJG51bXJvd3MgPSAkcm93Wydjb3VudCddOwogIH0KCiRwYWdlY291bnQgPSAoaW50KSgkbnVtcm93cy8kcGFnZWxpbWl0KTsKaWYoICgkbnVtcm93cyAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7Ci8vIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5LgppZiggJHBhZ2VudW1iZXIgPT0gMSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZScsJzwnKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywnPDwnKTsKICB9CmVsc2UKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLAoJCQkJICAgICAgJHJldHVybmlkLCc8JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2VudW1iZXItMSwKCQkJCQkgICAgJ2FjdGl2ZV90YWInPT4nY2hhcnRzJykpKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLAoJCQkJICAgICAgJHJldHVybmlkLCc8PCcsCgkJCQkgICAgICBhcnJheSgncGFnZW51bWJlcic9PjEsCgkJCQkJICAgICdhY3RpdmVfdGFiJz0+J2NoYXJ0cycpKSk7CiAgfQppZiggJHBhZ2VudW1iZXIgPj0gJHBhZ2Vjb3VudCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJz4nKTsKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCc+PicpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsCgkJCQkgICAgICAkcmV0dXJuaWQsJz4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlcisxLAoJCQkJCSAgICAnYWN0aXZlX3RhYic9PidjaGFydHMnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsCgkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCSAgICAgICRyZXR1cm5pZCwnPj4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZWNvdW50LAoJCQkJCSAgICAnYWN0aXZlX3RhYic9PidjaGFydHMnKSkpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywkcGFnZW51bWJlcik7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywkcGFnZWNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCdvZnRleHQnLCR0aGlzLT5MYW5nKCdwcm9tcHRfb2YnKSk7Cgokcm93Y2xhc3MgPSAncm93MSc7CgokYWRtaW50aGVtZSA9JiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ107CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CiAgICAKICAgICRvbmVyb3ctPmlkID0gJHJvd1snZ2NoYXJ0c19pZCddOwogICAgJG9uZXJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjaGFydCcsICRyZXR1cm5pZCwgJHJvd1snZ2NoYXJ0c19uYW1lJ10sIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSk7CiAgICAkb25lcm93LT5kYXRhID0gJHJvd1snZ2NoYXJ0c19kYXRhJ107CiAgICAkb25lcm93LT5zdGF0dXMgPSAkdGhpcy0+TGFuZygkcm93WydzdGF0dXMnXSk7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQXBwcm92ZSBHQ2hhcnRzJykgKQogICAgICB7CglpZiggJHJvd1snc3RhdHVzJ10gPT0gJ3B1Ymxpc2hlZCcgKQoJICB7CgkgICAgJG9uZXJvdy0+YXBwcm92ZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhcHByb3ZlY2hhcnQnLAoJCQkJCQkgICAgJHJldHVybmlkLAoJCQkJCQkgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZygncmV2ZXJ0JyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgnYXBwcm92ZSc9PjAsJ2NoYXJ0aWQnPT4kcm93WydnY2hhcnRzX2lkJ10pKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJG9uZXJvdy0+YXBwcm92ZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhcHByb3ZlY2hhcnQnLAoJCQkJCQkgICAgJHJldHVybmlkLAoJCQkJCQkgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ2FwcHJvdmUnKSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCdhcHByb3ZlJz0+MSwnY2hhcnRpZCc9PiRyb3dbJ2djaGFydHNfaWQnXSkpOwoJICB9CiAgICAgIH0KICAgICRvbmVyb3ctPmNhdGVnb3J5ID0gJHJvd1snZ2NoYXJ0c19jYXRlZ29yeV9uYW1lJ107CgogICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CiAgICAKICAgICRvbmVyb3ctPnNlbGVjdCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnc2VsW10nLCRyb3dbJ2djaGFydHNfaWQnXSk7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIHsKICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2hhcnQnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSk7CiAgICB9CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRGVsZXRlIEdDaGFydHMnKSApCiAgICAgIHsKCSRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVjaGFydCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjaGFydGlkJz0+JHJvd1snZ2NoYXJ0c19pZCddKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CiAgICAgIH0KICAgIAogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CiAgICAKICAgICgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwogIH0KCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdDaGFydHMnKSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjaGFydCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGNoYXJ0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNoYXJ0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2hhcnQnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybTJzdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZm9ybTJlbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9yZWFzc2lnbicsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0X3JlYXNzaWduJywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJGNhdGVnb3J5bGlzdCA9IGdjaGFydHNfb3BzOjpnZXRfY2F0ZWdvcnlfbGlzdCgpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5aW5wdXQnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY2F0ZWdvcnknLCRjYXRlZ29yeWxpc3QpKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0RlbGV0ZSBHQ2hhcnRzJykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0X21hc3NkZWxldGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfbWFzc2RlbGV0ZScsJHRoaXMtPkxhbmcoJ2RlbGV0ZV9zZWxlY3RlZCcpLAoJCQkJCSAgICAgJycsJycsJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnKSkpOwogIH0KCiRzbWFydHktPmFzc2lnbigncmVhc3NpZ250ZXh0JywkdGhpcy0+TGFuZygncmVhc3NpZ25fY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignc2VsZWN0dGV4dCcsJHRoaXMtPkxhbmcoJ3NlbGVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywkdGhpcy0+TGFuZygnc3RhdHVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXRldGV4dCcsJHRoaXMtPkxhbmcoJ3N0YXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2NoYXJ0aWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2lkJykpOwokc21hcnR5LT5hc3NpZ24oJ2VsZW1lbnR0ZXh0JywgJHRoaXMtPkxhbmcoJ2VsZW1lbnQnKSk7CiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignZGF0YXRleHQnLCAkdGhpcy0+TGFuZygnZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdheGlzVGl0bGVzUG9zaXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ2F4aXNUaXRsZXNQb3NpdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrZ3JvdW5kQ29sb3J0ZXh0JywgJHRoaXMtPkxhbmcoJ2JhY2tncm91bmRDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdjaGFydEFyZWF0ZXh0JywgJHRoaXMtPkxhbmcoJ2NoYXJ0QXJlYScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjb2xvcnN0ZXh0JywgJHRoaXMtPkxhbmcoJ2NvbG9ycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJ2ZVR5cGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2N1cnZlVHlwZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmFibGVJbnRlcmFjdGl2aXR5dGV4dCcsICR0aGlzLT5MYW5nKCdlbmFibGVJbnRlcmFjdGl2aXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ2ZvY3VzVGFyZ2V0dGV4dCcsICR0aGlzLT5MYW5nKCdmb2N1c1RhcmdldCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb250U2l6ZXRleHQnLCAkdGhpcy0+TGFuZygnZm9udFNpemUnKSk7CiRzbWFydHktPmFzc2lnbignZm9udE5hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZvbnROYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2hBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCdoQXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdoQXhpc3RleHQnLCAkdGhpcy0+TGFuZygnaEF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignaGVpZ2h0dGV4dCcsICR0aGlzLT5MYW5nKCdoZWlnaHQnKSk7CiRzbWFydHktPmFzc2lnbignaW50ZXJwb2xhdGVkTnVsbHN0ZXh0JywgJHRoaXMtPkxhbmcoJ2ludGVycG9sYXRlZE51bGxzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzSHRtbHRleHQnLCAkdGhpcy0+TGFuZygnaXNIdG1sJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzU3RhY2tlZHRleHQnLCAkdGhpcy0+TGFuZygnaXNTdGFja2VkJykpOwokc21hcnR5LT5hc3NpZ24oJ2lzM0R0ZXh0JywgJHRoaXMtPkxhbmcoJ2lzM0QnKSk7CiRzbWFydHktPmFzc2lnbignbGVnZW5kdGV4dCcsICR0aGlzLT5MYW5nKCdsZWdlbmQnKSk7CiRzbWFydHktPmFzc2lnbignbGluZVdpZHRodGV4dCcsICR0aGlzLT5MYW5nKCdsaW5lV2lkdGgnKSk7CiRzbWFydHktPmFzc2lnbignc2xpY2VzdGV4dCcsICR0aGlzLT5MYW5nKCdzbGljZXMnKSk7CiRzbWFydHktPmFzc2lnbigncGllU2xpY2VCb3JkZXJDb2xvcnRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VCb3JkZXJDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3BpZVNsaWNlVGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVTbGljZVRleHRTdHlsZXRleHQnLCAkdGhpcy0+TGFuZygncGllU2xpY2VUZXh0U3R5bGUnKSk7CiRzbWFydHktPmFzc2lnbigncG9pbnRTaXpldGV4dCcsICR0aGlzLT5MYW5nKCdwb2ludFNpemUnKSk7CiRzbWFydHktPmFzc2lnbigncmV2ZXJzZUNhdGVnb3JpZXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3JldmVyc2VDYXRlZ29yaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Nlcmllc3RleHQnLCAkdGhpcy0+TGFuZygnc2VyaWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZHRleHQnLCAkdGhpcy0+TGFuZygnc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJykpOwokc21hcnR5LT5hc3NpZ24oJ3BpZVJlc2lkdWVTbGljZUNvbG9ydGV4dCcsICR0aGlzLT5MYW5nKCdwaWVSZXNpZHVlU2xpY2VDb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwaWVSZXNpZHVlU2xpY2VMYWJlbHRleHQnLCAkdGhpcy0+TGFuZygncGllUmVzaWR1ZVNsaWNlTGFiZWwnKSk7CiRzbWFydHktPmFzc2lnbigndGhlbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ3RoZW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZVBvc2l0aW9udGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVBvc2l0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlVGV4dFN0eWxldGV4dCcsICR0aGlzLT5MYW5nKCd0aXRsZVRleHRTdHlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0b29sdGlwdGV4dCcsICR0aGlzLT5MYW5nKCd0b29sdGlwJykpOwokc21hcnR5LT5hc3NpZ24oJ3ZBeGVzdGV4dCcsICR0aGlzLT5MYW5nKCd2QXhlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd2QXhpc3RleHQnLCAkdGhpcy0+TGFuZygndkF4aXMnKSk7CiRzbWFydHktPmFzc2lnbignd2lkdGh0ZXh0JywgJHRoaXMtPkxhbmcoJ3dpZHRoJykpOwokc21hcnR5LT5hc3NpZ24oJ2FnZ3JlZ2F0aW9uVGFyZ2V0dGV4dCcsICR0aGlzLT5MYW5nKCdhZ2dyZWdhdGlvblRhcmdldCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cFdpZHRodGV4dCcsICR0aGlzLT5MYW5nKCdncm91cFdpZHRoJykpOwokc21hcnR5LT5hc3NpZ24oJ2RhdGFPcGFjaXR5dGV4dCcsICR0aGlzLT5MYW5nKCdkYXRhT3BhY2l0eScpKTsKJHNtYXJ0eS0+YXNzaWduKCdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzdGV4dCcsICR0aGlzLT5MYW5nKCdhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpbWVsaW5ldGV4dCcsICR0aGlzLT5MYW5nKCd0aW1lbGluZScpKTsKCiRnQ21zID0gY21zbXMoKTsKJHRoZW1lID0mICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsKJGNvbmZpZyA9ICR0aGlzLT5HZXRDb25maWcoKTsKJHRoZW1lZGlyID0gJGNvbmZpZ1snYWRtaW5fdXJsJ10uJy90aGVtZXMvJy4kdGhlbWUtPnRoZW1lTmFtZS4nL2ltYWdlcy9pY29ucy9zeXN0ZW0nOwoKJHNtYXJ0eS0+YXNzaWduKCdpY29udXJsJywkdGhlbWVkaXIpOwoKI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjaGFydGxpc3QudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/GCharts.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdDaGFydHMgKGMpIDIwMTMgYnkgT2xpdmVyIFNlZGRvbiAKIyAgICAgICAgIChvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhZGQgR29vZ2xlIENoYXJ0cyB0byB5b3VyIHBhZ2VzCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBHQ2hhcnRzIGV4dGVuZHMgQ01TTW9kdWxlCnsKCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdHQ2hhcnRzJzsKICB9CgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS40JzsKICB9CgogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ29saXZlcnNlZGRvbic7CiAgfQoKICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJzsKICB9CgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdjb250ZW50JzsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CgogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBHQ2hhcnRzJyk7CiAgfQoKICBmdW5jdGlvbiBHZXREYXNoYm9hcmRPdXRwdXQoKSAKICB7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKCSRyY291bnQgPSAkZGItPkdldE9uZSgnc2VsZWN0IGNvdW50KCopIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzJyk7CgkKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZGFzaF9yZWNvcmRfY291bnQnLCRyY291bnQpOwogIH0KCiAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjExIjsKICB9CgogIGZ1bmN0aW9uIE1heGltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMTUiOwogIH0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKCXsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ2NoYXJ0c19pZCcsICcxJywgJHRoaXMtPkxhbmcoJ2hlbHBfZ2NoYXJ0c19pZCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ2NoYXJ0c19jYXRlZ29yeV9pZCcsICcxJywgJHRoaXMtPkxhbmcoJ2hlbHBfZ2NoYXJ0c19jYXRlZ29yeV9pZCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYmFja2dyb3VuZENvbG9yJywgJ3doaXRlJywgJHRoaXMtPkxhbmcoJ2hlbHBfYmFja2dyb3VuZENvbG9yJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjaGFydEFyZWEnLCAnbnVsbCcsICR0aGlzLT5MYW5nKCdoZWxwX2NoYXJ0QXJlYScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY29sb3JzJywgJ2RlZmF1bHQgY29sb3JzJywgJHRoaXMtPkxhbmcoJ2hlbHBfY29sb3JzJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmb250U2l6ZScsICdhdXRvbWF0aWMnLCAkdGhpcy0+TGFuZygnaGVscF9mb250U2l6ZScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZm9udE5hbWUnLCAnQXJpYWwnLCAkdGhpcy0+TGFuZygnaGVscF9mb250TmFtZScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGVpZ2h0JywgJ2F1dG8nLCAkdGhpcy0+TGFuZygnaGVscF9oZWlnaHQnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xlZ2VuZCcsICdudWxsJywgJHRoaXMtPkxhbmcoJ2hlbHBfbGVnZW5kJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdyZXZlcnNlQ2F0ZWdvcmllcycsICdmYWxzZScsICR0aGlzLT5MYW5nKCdoZWxwX3JldmVyc2VDYXRlZ29yaWVzJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aXRsZVRleHRTdHlsZScsICcnLCAkdGhpcy0+TGFuZygnaGVscF90aXRsZVRleHRTdHlsZScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndG9vbHRpcCcsICdudWxsJywgJHRoaXMtPkxhbmcoJ2hlbHBfdG9vbHRpcCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignd2lkdGgnLCAnYXV0bycsICR0aGlzLT5MYW5nKCdoZWxwX3dpZHRoJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpczNEJywgJ2ZhbHNlJywgJHRoaXMtPkxhbmcoJ2hlbHBfaXMzRCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2xpY2VzJywgJyYjMTIzOyYjMTI1OycsICR0aGlzLT5MYW5nKCdoZWxwX3NsaWNlcycpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncGllU2xpY2VCb3JkZXJDb2xvcicsICd3aGl0ZScsICR0aGlzLT5MYW5nKCdoZWxwX3BpZVNsaWNlQm9yZGVyQ29sb3InKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BpZVNsaWNlVGV4dCcsICdwZXJjZW50YWdlJywgJHRoaXMtPkxhbmcoJ2hlbHBfcGllU2xpY2VUZXh0JykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwaWVTbGljZVRleHRTdHlsZScsICcnLCAkdGhpcy0+TGFuZygnaGVscF9waWVTbGljZVRleHRTdHlsZScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJywgJzEvNzIwJywgJHRoaXMtPkxhbmcoJ2hlbHBfc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwaWVSZXNpZHVlU2xpY2VDb2xvcicsICcjY2NjJywgJHRoaXMtPkxhbmcoJ2hlbHBfcGllUmVzaWR1ZVNsaWNlQ29sb3InKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BpZVJlc2lkdWVTbGljZUxhYmVsJywgJ090aGVyJywgJHRoaXMtPkxhbmcoJ2hlbHBfcGllUmVzaWR1ZVNsaWNlTGFiZWwnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2F4aXNUaXRsZXNQb3NpdGlvbicsICdvdXQnLCAkdGhpcy0+TGFuZygnaGVscF9heGlzVGl0bGVzUG9zaXRpb24nKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2VuYWJsZUludGVyYWN0aXZpdHknLCAndHJ1ZScsICR0aGlzLT5MYW5nKCdoZWxwX2VuYWJsZUludGVyYWN0aXZpdHknKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZvY3VzVGFyZ2V0JywgJ2RhdHVtJywgJHRoaXMtPkxhbmcoJ2hlbHBfZm9jdXNUYXJnZXQnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2hBeGlzJywgJ251bGwnLCAkdGhpcy0+TGFuZygnaGVscF9oQXhpcycpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaXNIdG1sJywgJ2ZhbHNlJywgJHRoaXMtPkxhbmcoJ2hlbHBfaXNIdG1sJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZXJpZXMnLCAnJiMxMjM7JiMxMjU7JywgJHRoaXMtPkxhbmcoJ2hlbHBfc2VyaWVzJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aGVtZScsICdudWxsJywgJHRoaXMtPkxhbmcoJ2hlbHBfdGhlbWUnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RpdGxlUG9zaXRpb24nLCAnb3V0JywgJHRoaXMtPkxhbmcoJ2hlbHBfdGl0bGVQb3NpdGlvbicpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndkF4ZXMnLCAnbnVsbCcsICR0aGlzLT5MYW5nKCdoZWxwX3ZBeGVzJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhZ2dyZWdhdGlvblRhcmdldCcsICdhdXRvJywgJHRoaXMtPkxhbmcoJ2hlbHBfYWdncmVnYXRpb25UYXJnZXQnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2N1cnZlVHlwZScsICdub25lJywgJHRoaXMtPkxhbmcoJ2hlbHBfY3VydmVUeXBlJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbnRlcnBvbGF0ZWROdWxscycsICdmYWxzZScsICR0aGlzLT5MYW5nKCdoZWxwX2ludGVycG9sYXRlZE51bGxzJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd2QXhpcycsICdudWxsJywgJHRoaXMtPkxhbmcoJ2hlbHBfdkF4aXMnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xpbmVXaWR0aCcsICcyJywgJHRoaXMtPkxhbmcoJ2hlbHBfbGluZVdpZHRoJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwb2ludFNpemUnLCAnMCcsICR0aGlzLT5MYW5nKCdoZWxwX3BvaW50U2l6ZScpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaXNTdGFja2VkJywgJ2ZhbHNlJywgJHRoaXMtPkxhbmcoJ2hlbHBfaXNTdGFja2VkJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdncm91cFdpZHRoJywgJzYxLjglJywgJHRoaXMtPkxhbmcoJ2hlbHBfZ3JvdXBXaWR0aCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGF0YU9wYWNpdHknLCAnMS4wJywgJHRoaXMtPkxhbmcoJ2hlbHBfZGF0YU9wYWNpdHknKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnLCAndHJ1ZScsICR0aGlzLT5MYW5nKCdoZWxwX2F2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RpbWVsaW5lJywgJycsICR0aGlzLT5MYW5nKCdoZWxwX3RpbWVsaW5lJykpOwoJICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhbGxvd0h0bWwnLCAnZmFsc2UnLCAkdGhpcy0+TGFuZygnaGVscF9hbGxvd0h0bWwnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FsdGVybmF0aW5nUm93U3R5bGUnLCAndHJ1ZScsICR0aGlzLT5MYW5nKCdoZWxwX2FsdGVybmF0aW5nUm93U3R5bGUnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Nzc0NsYXNzTmFtZXMnLCAnbnVsbCcsICR0aGlzLT5MYW5nKCdoZWxwX2Nzc0NsYXNzTmFtZXMnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpcnN0Um93TnVtYmVyJywgJzEnLCAkdGhpcy0+TGFuZygnaGVscF9maXJzdFJvd051bWJlcicpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2hhcnRwYWdlJywgJ2Rpc2FibGUnLCAkdGhpcy0+TGFuZygnaGVscF9jaGFydHBhZ2UnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VTaXplJywgJzEwJywgJHRoaXMtPkxhbmcoJ2hlbHBfcGFnZVNpemUnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3J0bFRhYmxlJywgJ2ZhbHNlJywgJHRoaXMtPkxhbmcoJ2hlbHBfcnRsVGFibGUnKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9uJywgJzAnLCAkdGhpcy0+TGFuZygnaGVscF9zY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd1Jvd051bWJlcicsICdmYWxzZScsICR0aGlzLT5MYW5nKCdoZWxwX3Nob3dSb3dOdW1iZXInKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnQnLCAnZW5hYmxlJywgJHRoaXMtPkxhbmcoJ2hlbHBfc29ydCcpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydEFzY2VuZGluZycsICd0cnVlJywgJHRoaXMtPkxhbmcoJ2hlbHBfc29ydEFzY2VuZGluZycpKTsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydENvbHVtbicsICctMScsICR0aGlzLT5MYW5nKCdoZWxwX3NvcnRDb2x1bW4nKSk7CgkgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0YXJ0UGFnZScsICcwJywgJHRoaXMtPkxhbmcoJ2hlbHBfc3RhcnRQYWdlJykpOwoJfQoKICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgCgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2djaGFydHNcL3ZpZXdcLyg/UDxnY2hhcnRzX2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsgIAoJCgkkZ0NtcyA9IGNtc21zKCk7CgkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJJHJldHVybmlkID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CgkvLyBUaGUgcHJldmlvdXMgdGhyZWUgbGluZXMgYXJlIHRvIGdldCBhIHJldHVybmlkOyBtYW55IG1vZHVsZXMsIGxpa2UgTmV3cywgaGF2ZSBhIGRlZmF1bHQKCS8vIHBhZ2UgaW4gd2hpY2ggdG8gZGlzcGxheSBkZXRhaWwgdmlld3MuIEluIHRoYXQgY2FzZSwgdGhlIHBhZ2VfaWQgd291bGQgYmUgdXNlZCBmb3IgcmV0dXJuaWQuCgkKCS8vIFRoZSBuZXh0IHRocmVlIGxpbmVzIGFyZSB3aGVyZSB3ZSBtYXAgdGhlIFVSTCB0byBvdXIgZGV0YWlsIHBhZ2UuCgkkcGFybXMgPSBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnLCdnY2hhcnRzX2lkJz0+MSwncmV0dXJuaWQnPT4kcmV0dXJuaWQpOwoJJHJvdXRlID0gbmV3IENtc1JvdXRlKCd0aGlzL2lzL2luc2FuZWx5L2dyZWF0L3N0dWZmJywkdGhpcy0+R2V0TmFtZSgpLCRwYXJtcyxUUlVFKTsKCWNtc19yb3V0ZV9tYW5hZ2VyOjpyZWdpc3Rlcigkcm91dGUpOwoJCiAgCiAgIC8vIERvbid0IGFsbG93IHBhcmFtZXRlcnMgb3RoZXIgdGhhbiB0aGUgb25lcyB5b3UndmUgZXhwbGljaXRseSBkZWZpbmVkCiAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAKICAgLy8gc3ludGF4IGZvciBjcmVhdGluZyBhIHBhcmFtZXRlciBpcyBwYXJhbWV0ZXIgbmFtZSwgZGVmYXVsdCB2YWx1ZSwgZGVzY3JpcHRpb24KICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZ2NoYXJ0c19pZCcsIC0xLCAkdGhpcy0+TGFuZygnaGVscF9nY2hhcnRzX2lkJykpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2djaGFydHNfaWQnLENMRUFOX0lOVCk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdnY2hhcnRzX2NhdGVnb3J5X2lkJyxDTEVBTl9JTlQpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2JhY2tncm91bmRDb2xvcicsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NoYXJ0QXJlYScsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvbG9ycycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZvbnRTaXplJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZm9udE5hbWUnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoZWlnaHQnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsZWdlbmQnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZXZlcnNlQ2F0ZWdvcmllcycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RpdGxlVGV4dFN0eWxlJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndG9vbHRpcCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3dpZHRoJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaXMzRCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NsaWNlcycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BpZVNsaWNlQm9yZGVyQ29sb3InLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwaWVTbGljZVRleHQnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwaWVTbGljZVRleHRTdHlsZScsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BpZVJlc2lkdWVTbGljZUNvbG9yJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGllUmVzaWR1ZVNsaWNlTGFiZWwnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdheGlzVGl0bGVzUG9zaXRpb24nLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdlbmFibGVJbnRlcmFjdGl2aXR5JyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZm9jdXNUYXJnZXQnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoQXhpcycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lzSHRtbCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlcmllcycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RoZW1lJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGl0bGVQb3NpdGlvbicsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3ZBeGVzJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWdncmVnYXRpb25UYXJnZXQnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjdXJ2ZVR5cGUnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnRlcnBvbGF0ZWROdWxscycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3ZBeGlzJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbGluZVdpZHRoJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncG9pbnRTaXplJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaXNTdGFja2VkJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ3JvdXBXaWR0aCcsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RhdGFPcGFjaXR5JyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RpbWVsaW5lJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWxsb3dIdG1sJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWx0ZXJuYXRpbmdSb3dTdHlsZScsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Nzc0NsYXNzTmFtZXMnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaXJzdFJvd051bWJlcicsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NoYXJ0cGFnZScsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VTaXplJyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncnRsVGFibGUnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbicsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3dSb3dOdW1iZXInLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0JyxDTEVBTl9TVFJJTkcpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydEFzY2VuZGluZycsQ0xFQU5fU1RSSU5HKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRDb2x1bW4nLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdGFydFBhZ2UnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dDaGFydHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIEdDaGFydHMiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NvcnJ5LCBpdFwncyBub3QgeW91LCBpdFwncyBtZS4nOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIHN1cGVyIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2FwcHJvdmUnXSA9ICdTZXQgU3RhdHVzIHRvIFwnRW5hYmxlZFwnJzsKJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gXCdEaXNhYmxlZFwnJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhdmUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2FkZGNoYXJ0J10gPSAnQWRkIGNoYXJ0JzsKJGxhbmdbJ2NoYXJ0cyddID0gJ0NoYXJ0cyc7CiRsYW5nWydjaGFydCddID0gJ0NoYXJ0JzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpc2hlZCc7CiRsYW5nWydkcmFmdCddID0gJ0RyYWZ0JzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3QnOwokbGFuZ1sncmVhc3NpZ25fY2F0ZWdvcnknXSA9ICdSZS1hc3NpZ24gY2F0ZWdvcnknOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnRGVsZXRlIHNlbGVjdGVkJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSBnaXZlbic7CiRsYW5nWydub2RhdGFnaXZlbiddID0gJ05vIGRhdGEgZ2l2ZW4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVtdWx0aXBsZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIHNlbGVjdGVkIGNoYXJ0cz8nOwokbGFuZ1snY2hhcnRhZGRlZCddID0gJ0NoYXJ0IGFkZGVkJzsKJGxhbmdbJ2NoYXJ0dXBkYXRlZCddID0gJ0NoYXJ0IHVwZGF0ZWQnOwokbGFuZ1snaWQnXSA9ICdDaGFydCBJRCc7CiRsYW5nWyduYW1lJ10gPSAnQ2hhcnQgVGl0bGUnOwokbGFuZ1snZWxlbWVudCddID0gJ0NvbnRhaW5pbmcgZWxlbWVudCBJRCc7CiRsYW5nWydlbmFibGVJbnRlcmFjdGl2aXR5J10gPSAnRW5hYmxlIGludGVyYWN0aXZpdHknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDaGFydCBjYXRlZ29yeSc7CiRsYW5nWydnY2hhcnRzX2RhdGEnXSA9ICdDaGFydCBEYXRhJzsKJGxhbmdbJ2F4aXNUaXRsZXNQb3NpdGlvbiddID0gJ0F4aXMgdGl0bGVzIHBvc2l0aW9uJzsKJGxhbmdbJ2JhY2tncm91bmRDb2xvciddID0gJ0JhY2tncm91bmQgQ29sb3InOwokbGFuZ1snY3VydmVUeXBlJ10gPSAnQ3VydmUgdHlwZSc7CiRsYW5nWydjaGFydEFyZWEnXSA9ICdDaGFydCBBcmVhJzsKJGxhbmdbJ2NvbG9ycyddID0gJ0NvbG9ycyc7CiRsYW5nWydmb2N1c1RhcmdldCddID0gJ0ZvbnQgdGFyZ2V0JzsKJGxhbmdbJ2ZvbnRTaXplJ10gPSAnRm9udCBTaXplJzsKJGxhbmdbJ2ZvbnROYW1lJ10gPSAnRm9udCBOYW1lJzsKJGxhbmdbJ2hBeGVzJ10gPSAnaEF4ZXMnOwokbGFuZ1snaEF4aXMnXSA9ICdoQXhpcyc7CiRsYW5nWydoZWlnaHQnXSA9ICdIZWlnaHQnOwokbGFuZ1snaW50ZXJwb2xhdGVkTnVsbHMnXSA9ICdJbnRlcnBvbGF0ZWQgbnVsbHMnOwokbGFuZ1snaXNTdGFja2VkJ10gPSAnSXMgc3RhY2tlZCc7CiRsYW5nWydpc0h0bWwnXSA9ICdJcyBIVE1MJzsKJGxhbmdbJ2lzM0QnXSA9ICdJcyAzRCc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmQnOwokbGFuZ1snbGluZVdpZHRoJ10gPSAnTGluZSB3aWR0aCc7CiRsYW5nWydzbGljZXMnXSA9ICdTbGljZXMnOwokbGFuZ1sncGllU2xpY2VCb3JkZXJDb2xvciddID0gJ1BpZSBTbGljZSBCb2FyZGVyIENvbG9yJzsKJGxhbmdbJ3BpZVNsaWNlVGV4dCddID0gJ1BpZSBTbGljZSBUZXh0JzsKJGxhbmdbJ3BpZVNsaWNlVGV4dFN0eWxlJ10gPSAnUGllIFNsaWNlIFRleHQgU3R5bGUnOwokbGFuZ1sncG9pbnRTaXplJ10gPSAnUG9pbnQgc2l6ZSc7CiRsYW5nWydyZXZlcnNlQ2F0ZWdvcmllcyddID0gJ1JldmVyc2UgQ2F0ZWdvcmllcyc7CiRsYW5nWydzbGljZVZpc2liaWxpdHlUaHJlc2hvbGQnXSA9ICdTbGljZSBWaXNpYmlsaXR5IFRocmVzaG9sZCc7CiRsYW5nWydwaWVSZXNpZHVlU2xpY2VDb2xvciddID0gJ1BpZSBSZXNpZHVlIFNsaWNlIENvbG9yJzsKJGxhbmdbJ3BpZVJlc2lkdWVTbGljZUxhYmVsJ10gPSAnUGllIFJlc2lkdWUgU2xpY2UgTGFiZWwnOwokbGFuZ1sndGl0bGVQb3NpdGlvbiddID0gJ1RpdGxlIHBvc2l0aW9uJzsKJGxhbmdbJ3RpdGxlJ10gPSAnVGl0bGUnOwokbGFuZ1sndGhlbWUnXSA9ICdUaGVtZSc7CiRsYW5nWydzZXJpZXMnXSA9ICdTZXJpZXMnOwokbGFuZ1sndGl0bGVUZXh0U3R5bGUnXSA9ICdUaXRsZSBUZXh0IFN0eWxlJzsKJGxhbmdbJ3Rvb2x0aXAnXSA9ICdUb29sdGlwJzsKJGxhbmdbJ3ZBeGVzJ10gPSAndkF4ZXMnOwokbGFuZ1sndkF4aXMnXSA9ICd2QXhpcyc7CiRsYW5nWyd3aWR0aCddID0gJ1dpZHRoJzsKJGxhbmdbJ2FnZ3JlZ2F0aW9uVGFyZ2V0J10gPSAnQWdncmVnYXRpb24gVGFyZ2V0JzsKJGxhbmdbJ2dyb3VwV2lkdGgnXSA9ICdHcm91cCBXaWR0aCc7CiRsYW5nWydkYXRhT3BhY2l0eSddID0gJ0RhdGEgT3BhY2l0eSc7CiRsYW5nWydhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzJ10gPSAnQXZvaWQgT3ZlcmxhcHBpbmcgR3JpZCBMaW5lcyc7CiRsYW5nWyd0aW1lbGluZSddID0gJ1RpbWVsaW5lJzsKJGxhbmdbJ2FsbG93SHRtbCddID0gJ0FsbG93IEhUTUwnOwokbGFuZ1snYWx0ZXJuYXRpbmdSb3dTdHlsZSddID0gJ0FsdGVybmF0aW5nIFJvdyBTdHlsZSc7CiRsYW5nWydjc3NDbGFzc05hbWVzJ10gPSAnQ1NTIENsYXNzIE5hbWVzJzsKJGxhbmdbJ2ZpcnN0Um93TnVtYmVyJ10gPSAnRmlyc3QgUm93IE51bWJlcic7CiRsYW5nWydjaGFydHBhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ3BhZ2VTaXplJ10gPSAnUGFnZSBTaXplJzsKJGxhbmdbJ3J0bFRhYmxlJ10gPSAnUlRMIFRhYmxlJzsKJGxhbmdbJ3Njcm9sbExlZnRTdGFydFBvc2l0aW9uJ10gPSAnU2Nyb2xsIExlZnQgU3RhcnQgUG9zaXRpb24nOwokbGFuZ1snc2hvd1Jvd051bWJlciddID0gJ1Nob3cgUm93IE51bWJlcic7CiRsYW5nWydzb3J0J10gPSAnU29ydCc7CiRsYW5nWydzb3J0QXNjZW5kaW5nJ10gPSAnU29ydCBBc2NlbmRpbmcnOwokbGFuZ1snc29ydENvbHVtbiddID0gJ1NvcnQgQ29sdW1uJzsKJGxhbmdbJ3N0YXJ0UGFnZSddID0gJ1N0YXJ0IFBhZ2UnOwokbGFuZ1snZXJyb3Jfbm9jaGFydHNzZWxlY3RlZCddID0gJ05vIENoYXJ0cyBXZXJlIFNlbGVjdGVkJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ29mJzsKCiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nOwokbGFuZ1snZGFzaF9yZWNvcmRfY291bnQnXSA9ICdUaGlzIG1vZHVsZSBoYW5kbGVzICVzIGRvY3VtZW50cyc7CiRsYW5nWydhbGVydF9ub19yZWNvcmRzJ10gPSAnVGhlcmUgaGF2ZSBub3QgYmVlbiBhbnkgZG9jdW1lbnRzIGFkZGVkIGluIHRoZSBHQ2hhcnRzIG1vZHVsZSEnOwokbGFuZ1snaGVscF9kZXNjcmlwdGlvbiddID0gJ0ludGVybmFsIHBhcmFtZXRlciB1c2VkIHRvIHBhc3MgZGVzY3JpcHRpb24gaW5mbyB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBkb2N1bWVudCc7CiRsYW5nWydoZWxwX2V4cGxhbmF0aW9uJ10gPSAnSW50ZXJuYWwgcGFyYW1ldGVyIHVzZWQgdG8gcGFzcyBleHBsYW5hdGlvbiBpbmZvIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIGRvY3VtZW50JzsKJGxhbmdbJ2hlbHBfbW9kdWxlX21lc3NhZ2UnXSA9ICdJbnRlcm5hbGx5IHVzZWQgcGFyYW1ldGVyIGZvciBwYXNzaW5nIG1lc3NhZ2VzIHRvIHVzZXInOwokbGFuZ1snaGVscF9nY2hhcnRzX2lkJ10gPSAnSUQgb2YgdGhlIGNoYXJ0IHlvdSB3YW50IHRvIGRpc3BsYXkuJzsKJGxhbmdbJ2hlbHBfZ2NoYXJ0c19jYXRlZ29yeV9pZCddID0gJ0lEIG9mIHRoZSBjYXRlZ29yeSB5b3Ugd2FudCB0byB1c2UuIDEgPSBQaWUsIDIgPSBMaW5lLCAzID0gQmFyLCA0ID0gQ29sdW1uLCA1ID0gSGlzdG9ncmFtLCA2ID0gVGltZWxpbmUgYW5kIDcgPSBUYWJsZSc7CiRsYW5nWydoZWxwX2JhY2tncm91bmRDb2xvciddID0gJyc7CiRsYW5nWydoZWxwX2NoYXJ0QXJlYSddID0gJyc7CiRsYW5nWydoZWxwX2NvbG9ycyddID0gJyc7CiRsYW5nWydoZWxwX2ZvbnRTaXplJ10gPSAnJzsKJGxhbmdbJ2hlbHBfZm9udE5hbWUnXSA9ICcnOwokbGFuZ1snaGVscF9oZWlnaHQnXSA9ICcnOwokbGFuZ1snaGVscF9sZWdlbmQnXSA9ICcnOwokbGFuZ1snaGVscF9yZXZlcnNlQ2F0ZWdvcmllcyddID0gJyc7CiRsYW5nWydoZWxwX3RpdGxlVGV4dFN0eWxlJ10gPSAnJzsKJGxhbmdbJ2hlbHBfdG9vbHRpcCddID0gJyc7CiRsYW5nWydoZWxwX3dpZHRoJ10gPSAnJzsKJGxhbmdbJ2hlbHBfaXMzRCddID0gJyc7CiRsYW5nWydoZWxwX3NsaWNlcyddID0gJyc7CiRsYW5nWydoZWxwX3BpZVNsaWNlQm9yZGVyQ29sb3InXSA9ICcnOwokbGFuZ1snaGVscF9waWVTbGljZVRleHQnXSA9ICcnOwokbGFuZ1snaGVscF9waWVTbGljZVRleHRTdHlsZSddID0gJyc7CiRsYW5nWydoZWxwX3NsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCddID0gJyc7CiRsYW5nWydoZWxwX3BpZVJlc2lkdWVTbGljZUNvbG9yJ10gPSAnJzsKJGxhbmdbJ2hlbHBfcGllUmVzaWR1ZVNsaWNlTGFiZWwnXSA9ICcnOwokbGFuZ1snaGVscF9heGlzVGl0bGVzUG9zaXRpb24nXSA9ICcnOwokbGFuZ1snaGVscF9lbmFibGVJbnRlcmFjdGl2aXR5J10gPSAnJzsKJGxhbmdbJ2hlbHBfZm9jdXNUYXJnZXQnXSA9ICcnOwokbGFuZ1snaGVscF9oQXhpcyddID0gJyc7CiRsYW5nWydoZWxwX2lzSHRtbCddID0gJyc7CiRsYW5nWydoZWxwX3NlcmllcyddID0gJyc7CiRsYW5nWydoZWxwX3RoZW1lJ10gPSAnJzsKJGxhbmdbJ2hlbHBfdGl0bGVQb3NpdGlvbiddID0gJyc7CiRsYW5nWydoZWxwX3ZBeGVzJ10gPSAnJzsKJGxhbmdbJ2hlbHBfYWdncmVnYXRpb25UYXJnZXQnXSA9ICcnOwokbGFuZ1snaGVscF9jdXJ2ZVR5cGUnXSA9ICcnOwokbGFuZ1snaGVscF9pbnRlcnBvbGF0ZWROdWxscyddID0gJyc7CiRsYW5nWydoZWxwX3ZBeGlzJ10gPSAnJzsKJGxhbmdbJ2hlbHBfbGluZVdpZHRoJ10gPSAnJzsKJGxhbmdbJ2hlbHBfcG9pbnRTaXplJ10gPSAnJzsKJGxhbmdbJ2hlbHBfaXNTdGFja2VkJ10gPSAnJzsKJGxhbmdbJ2hlbHBfZ3JvdXBXaWR0aCddID0gJyc7CiRsYW5nWydoZWxwX2RhdGFPcGFjaXR5J10gPSAnJzsKJGxhbmdbJ2hlbHBfYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lcyddID0gJyc7CiRsYW5nWydoZWxwX3RpbWVsaW5lJ10gPSAnJzsKJGxhbmdbJ2hlbHBfYWxsb3dIdG1sJ10gPSAnJzsKJGxhbmdbJ2hlbHBfYWx0ZXJuYXRpbmdSb3dTdHlsZSddID0gJyc7CiRsYW5nWydoZWxwX2Nzc0NsYXNzTmFtZXMnXSA9ICcnOwokbGFuZ1snaGVscF9maXJzdFJvd051bWJlciddID0gJyc7CiRsYW5nWydoZWxwX2NoYXJ0cGFnZSddID0gJyc7CiRsYW5nWydoZWxwX3BhZ2VTaXplJ10gPSAnJzsKJGxhbmdbJ2hlbHBfcnRsVGFibGUnXSA9ICcnOwokbGFuZ1snaGVscF9zY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiddID0gJyc7CiRsYW5nWydoZWxwX3Nob3dSb3dOdW1iZXInXSA9ICcnOwokbGFuZ1snaGVscF9zb3J0J10gPSAnJzsKJGxhbmdbJ2hlbHBfc29ydEFzY2VuZGluZyddID0gJyc7CiRsYW5nWydoZWxwX3NvcnRDb2x1bW4nXSA9ICcnOwokbGFuZ1snaGVscF9zdGFydFBhZ2UnXSA9ICcnOwoKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWRkIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCA4IEp1bHkgMjAxMy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuMSAxNSBKdWx5IDIwMTMuIE11bHRpcGxlIGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjIgMTQgTm92ZW1iZXIgMjAxMy4gQWRkZWQgY29sdW1uIGNoYXJ0cyBvcHRpb24gcGx1cyBtYW55IGJ1ZyBmaXhlcy48L2xpPgo8bGk+VmVyc2lvbiAxLjMgNSBEZWNlbWJlciAyMDEzLiBBZGRlZCBIaXN0b2dyYW0gYW5kIFRpbWVsaW5lIGNoYXJ0IG9wdGlvbnMgcGx1cyBtaW5vciBidWcgZml4ZXMgYW5kIGNvZGUgdGlkeWluZyB1cC48L2xpPgo8bGk+VmVyc2lvbiAxLjMuMSAxMSBEZWNlbWJlciAyMDEzLiBBZGRlZCB0aGUgYWJpbGl0eSBmb3IgR0NoYXJ0cyB0byBjcmVhdGUgY2hhcnQgZGl2IGVsZW1lbnQgYXV0b21hdGljYWxseSBpZiBubyBjb250YWluaW5nIGVsZW1lbnQgSUQgaXMgc3BlY2lmaWVkIGFuZCBidWcgZml4ZXMuPC9saT4KPGxpPlZlcnNpb24gMS40IDMgRmVicnVhcnkgMjAxNC4gQWRkZWQgY2F0ZWdvcnkgaWQgcGFyYW10ZXIgdG8gZW5hYmxlIGRhdGEgdG8gYmUgZGlzcGxheWVkIGluIG11bHRpcGxlIGZvcm1hdHMgd2l0aCBvbmx5IG9uZSBlbnRyeSwgcGx1cyBtaW5vciBidWcgZml4ZXMgYW5kIG5ldyBUYWJsZSBjYXRlZ29yeS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIGFkZGl0aW9uIG9mIEdvb2dsZSBDaGFydHMgdG8geW91ciB3ZWJzaXRlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGNhbGwgYmVmb3JlIHlvdXIgY2xvc2luZyBib2R5IHRhZyB3aXRoIHRoZSBJRCBvZiB0aGUgY2hhcnQgeW91IHdhbnQgdG8gZGlzcGxheSA8Y29kZT57R0NoYXJ0cyBnY2hhcnRzX2lkPVwnMVwnfTwvY29kZT4sIGRhdGEgZmllbGQgYWNjZXB0cyBzbWFydHkgdmFyaWFibGVzLjwvcD4KPHA+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+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRmbGRzID0gIgogICAgIGdjaGFydHNfaWQgSSBLRVksCgkgZ2NoYXJ0c19jYXRlZ29yeV9pZCBJLAoJIGdjaGFydHNfZWxlbWVudF9pZCBDKDI1NSksCgkgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lIEMoMjU1KSwKCSBnY2hhcnRzX25hbWUgQygyNTUpLAoJIGdjaGFydHNfZGF0YSBYLAoJIGF4aXNUaXRsZXNQb3NpdGlvbiBDKDI1NSksCgkgYmFja2dyb3VuZENvbG9yIEMoMjU1KSwKCSBjaGFydEFyZWEgQygyNTUpLAoJIGN1cnZlVHlwZSBDKDI1NSksCgkgY29sb3JzIEMoMjU1KSwKCSBlbmFibGVJbnRlcmFjdGl2aXR5IEMoMjU1KSwKCSBmb2N1c1RhcmdldCBDKDI1NSksCgkgZm9udFNpemUgQygyNTUpLAoJIGZvbnROYW1lIEMoMjU1KSwKCSBoQXhlcyBDKDI1NSksCgkgaEF4aXMgQygyNTUpLAoJIGhlaWdodCBDKDI1NSksCgkgaW50ZXJwb2xhdGVkTnVsbHMgQygyNTUpLAoJIGlzSHRtbCBDKDI1NSksCgkgaXNTdGFja2VkIEMoMjU1KSwKCSBpczNEIEMoMjU1KSwKCSBsZWdlbmQgQygyNTUpLAoJIGxpbmVXaWR0aCBDKDI1NSksCgkgc2xpY2VzIEMoMjU1KSwKCSBwaWVTbGljZUJvcmRlckNvbG9yIEMoMjU1KSwKCSBwaWVTbGljZVRleHQgQygyNTUpLAoJIHBpZVNsaWNlVGV4dFN0eWxlIEMoMjU1KSwKCSBwb2ludFNpemUgQygyNTUpLAoJIHJldmVyc2VDYXRlZ29yaWVzIEMoMjU1KSwKCSBzZXJpZXMgQygyNTUpLAoJIHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZCBDKDI1NSksCgkgcGllUmVzaWR1ZVNsaWNlQ29sb3IgQygyNTUpLAoJIHBpZVJlc2lkdWVTbGljZUxhYmVsIEMoMjU1KSwKCSB0aGVtZSBDKDI1NSksCgkgdGl0bGUgQygyNTUpLAoJIHRpdGxlUG9zaXRpb24gQygyNTUpLAoJIHRpdGxlVGV4dFN0eWxlIEMoMjU1KSwKCSB0b29sdGlwIEMoMjU1KSwKCSB2QXhlcyBDKDI1NSksCgkgdkF4aXMgQygyNTUpLAoJIHdpZHRoIEMoMjU1KSwKCSBhZ2dyZWdhdGlvblRhcmdldCBDKDI1NSksCgkgZ3JvdXBXaWR0aCBDKDI1NSksCgkgc3RhdHVzIEMoMjUpLAoJIGRhdGFPcGFjaXR5IEMoMjU1KSwKCSBhdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzIEMoMjU1KSwKCSB0aW1lbGluZSBDKDI1NSksCgkgYWxsb3dIdG1sIEMoMjU1KSwKCSBhbHRlcm5hdGluZ1Jvd1N0eWxlIEMoMjU1KSwKCSBjc3NDbGFzc05hbWVzIEMoMjU1KSwKCSBmaXJzdFJvd051bWJlciBDKDI1NSksCgkgY2hhcnRwYWdlIEMoMjU1KSwKCSBwYWdlU2l6ZSBDKDI1NSksCgkgcnRsVGFibGUgQygyNTUpLAoJIHNjcm9sbExlZnRTdGFydFBvc2l0aW9uIEMoMjU1KSwKCSBzaG93Um93TnVtYmVyIEMoMjU1KSwKCSBzb3J0IEMoMjU1KSwKCSBzb3J0QXNjZW5kaW5nIEMoMjU1KSwKCSBzb3J0Q29sdW1uIEMoMjU1KSwKCSBzdGFydFBhZ2UgQygyNTUpCiI7CgokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nICk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0cyIsCgkJCQkgICAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfc2VxIik7CgokZmxkcyA9ICIKCWdjaGFydHNfY2F0ZWdvcnlfaWQgSSBLRVksCglnY2hhcnRzX2NhdGVnb3J5X25hbWUgQygyNTUpLAoJcGFyZW50X2lkIEksCgloaWVyYXJjaHkgQygyNTUpLAoJY3JlYXRlX2RhdGUgIi5DTVNfQURPREJfRFQuIiwKCW1vZGlmaWVkX2RhdGUgIi5DTVNfQURPREJfRFQuIgoiOwoKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzX3NlcSIpOwoKLy8gY3JlYXRlIGEgcGVybWlzc2lvbgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignVXNlIEdDaGFydHMnLCAnVXNlIEdDaGFydHMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0FwcHJvdmUgR0NoYXJ0cycsICdBcHByb3ZlIEdDaGFydHMgRm9yIEZyb250ZW5kIERpc3BsYXknKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0RlbGV0ZSBHQ2hhcnRzJywgJ0RlbGV0ZSBHQ2hhcnRzIENoYXJ0cycpOwoKLy8gY3JlYXRlIGEgcHJlZmVyZW5jZQokdGhpcy0+U2V0UHJlZmVyZW5jZSgiYWxsb3dfYWRkIiwgdHJ1ZSk7CgojIFNldHVwIGNhdGVnb3JpZXMKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCcxJywgJ1BpZSBDaGFydCcsIC0xKSk7CgokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzInLCAnTGluZSBDaGFydCcsIC0xKSk7CgokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzMnLCAnQmFyIENoYXJ0JywgLTEpKTsKCiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnNCcsICdDb2x1bW4gQ2hhcnQnLCAtMSkpOwoKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCc1JywgJ0hpc3RvZ3JhbScsIC0xKSk7CgokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9nY2hhcnRzX2NhdGVnb3JpZXMgKGdjaGFydHNfY2F0ZWdvcnlfaWQsIGdjaGFydHNfY2F0ZWdvcnlfbmFtZSwgcGFyZW50X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicpJzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzYnLCAnVGltZWxpbmUnLCAtMSkpOwoKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2NoYXJ0c19jYXRlZ29yaWVzIChnY2hhcnRzX2NhdGVnb3J5X2lkLCBnY2hhcnRzX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCc3JywgJ1RhYmxlJywgLTEpKTsKDQojIFNldHVwIGRldGFpbCB0ZW1wbGF0ZQ0KJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4NCiAgJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nZ2NoYXJ0c19saXN0LnRwbCc7DQppZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZV9jb250ZW50cycsJHRlbXBsYXRlKTsNCiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RldGFpbFNhbXBsZScsJHRlbXBsYXRlKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnLCdEZWZhdWx0Jyk7DQp9CgojIFNldHVwIHBlcm1pc3Npb25zCiRwZXJtX2lkID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBwZXJtaXNzaW9uX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuInBlcm1pc3Npb25zIFdIRVJFIHBlcm1pc3Npb25fbmFtZSA9ICdNb2RpZnkgR0NoYXJ0cyciKTsKJGdyb3VwX2lkID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBncm91cF9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJncm91cHMgV0hFUkUgZ3JvdXBfbmFtZSA9ICdBZG1pbiciKTsKCiRjb3VudCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgY291bnQoKikgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImdyb3VwX3Blcm1zIFdIRVJFIGdyb3VwX2lkID0gPyBBTkQgcGVybWlzc2lvbl9pZCA9ID8iLCBhcnJheSgkZ3JvdXBfaWQsICRwZXJtX2lkKSk7CmlmIChpc3NldCgkY291bnQpICYmIGludHZhbCgkY291bnQpID09IDApCnsKCSRuZXdfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4iZ3JvdXBfcGVybXNfc2VxIik7CgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJncm91cF9wZXJtcyAoZ3JvdXBfcGVybV9pZCwgZ3JvdXBfaWQsIHBlcm1pc3Npb25faWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKCIuJG5ld19pZC4iLCAiLiRncm91cF9pZC4iLCAiLiRwZXJtX2lkLiIsICIuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIsICIgLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAiKSI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKfQoKJGdyb3VwX2lkID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBncm91cF9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJncm91cHMgV0hFUkUgZ3JvdXBfbmFtZSA9ICdFZGl0b3InIik7CgokY291bnQgPSAkZGItPkdldE9uZSgiU0VMRUNUIGNvdW50KCopIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJncm91cF9wZXJtcyBXSEVSRSBncm91cF9pZCA9ID8gQU5EIHBlcm1pc3Npb25faWQgPSA/IiwgYXJyYXkoJGdyb3VwX2lkLCAkcGVybV9pZCkpOwppZiAoaXNzZXQoJGNvdW50KSAmJiBpbnR2YWwoJGNvdW50KSA9PSAwKQp7CgkkbmV3X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuImdyb3VwX3Blcm1zX3NlcSIpOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiZ3JvdXBfcGVybXMgKGdyb3VwX3Blcm1faWQsIGdyb3VwX2lkLCBwZXJtaXNzaW9uX2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICgiLiRuZXdfaWQuIiwgIi4kZ3JvdXBfaWQuIiwgIi4kcGVybV9pZC4iLCAiLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAiLCAiIC4gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpIC4gIikiOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cn0KCiNTZXR1cCBldmVudHMKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2hhcnRBZGRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDaGFydEVkaXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDaGFydERlbGV0ZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdHQ2hhcnRzQ2F0ZWdvcnlBZGRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDYXRlZ29yeUVkaXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dDaGFydHNDYXRlZ29yeURlbGV0ZWQnKTsKCiR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbihUUlVFKTsKJHRoaXMtPlJlZ2lzdGVyU21hcnR5UGx1Z2luKCdnY2hhcnRzJywnZnVuY3Rpb24nLCdmdW5jdGlvbl9wbHVnaW4nKTsKCi8vIGFuZCByb3V0ZXMuLi4KJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW2dHXWNoYXJ0c1wvKD9QPGNoYXJ0aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPylcL2QsKD9QPGRldGFpbHRlbXBsYXRlPi4qPykkLycsCgkJICAgICAgJHRoaXMtPkdldE5hbWUoKSk7CmNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnL1tnR11jaGFydHNcLyg/UDxjaGFydGlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLCR0aGlzLT5HZXROYW1lKCkpOwpjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwokcm91dGUgPSBuZXcgQ21zUm91dGUoJy9bZ0ddY2hhcnRzXC8oP1A8Y2hhcnRpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywkdGhpcy0+R2V0TmFtZSgpKTsKY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW2dHXWNoYXJ0c1wvKD9QPGNoYXJ0aWQ+WzAtOV0rKSQvJywkdGhpcy0+R2V0TmFtZSgpKTsKY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsIAoJICAgICAgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAKCSAgICAgICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSApOwoKCSAgICAgIAo/Pg==]]></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+REJUaW1lU3RhbXAodGltZSgpKS4nKSc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnNicsICdUaW1lbGluZScsIC0xKSk7CiBjYXNlICIxLjMuMSI6CiBjYXNlICIxLjQiOgoJJGZpZWxkcyA9ICcKCQlhbGxvd0h0bWwgQygyNTUpLAoJCWFsdGVybmF0aW5nUm93U3R5bGUgQygyNTUpLAoJCWNzc0NsYXNzTmFtZXMgQygyNTUpLAoJCWZpcnN0Um93TnVtYmVyIEMoMjU1KSwKCQljaGFydHBhZ2UgQygyNTUpLAoJCXBhZ2VTaXplIEMoMjU1KSwKCQlydGxUYWJsZSBDKDI1NSksCgkJc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb24gQygyNTUpLAoJCXNob3dSb3dOdW1iZXIgQygyNTUpLAoJCXNvcnQgQygyNTUpLAoJCXNvcnRBc2NlbmRpbmcgQygyNTUpLAoJCXNvcnRDb2x1bW4gQygyNTUpLAoJCXN0YXJ0UGFnZSBDKDI1NSkKCSc7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2djaGFydHMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2djaGFydHNfY2F0ZWdvcmllcyAoZ2NoYXJ0c19jYXRlZ29yeV9pZCwgZ2NoYXJ0c19jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJzcnLCAnVGFibGUnLCAtMSkpOwoKfQoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJICAgICAgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKLy9ub3RlOiBtb2R1bGUgYXBpIGhhbmRsZXMgc2VuZGluZyBnZW5lcmljIGV2ZW50IG9mIG1vZHVsZSB1cGdyYWRlZCBoZXJlCj8+]]></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[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKJChmdW5jdGlvbigpIHsKCWlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDEpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAucGllJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7Cgl9IGVsc2UgaWYgKCQoJyNjaGFydENhdGVnb3J5JykudmFsKCkgPT0gMikgewoJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCSQoJyNlZGl0X2NoYXJ0IC5saW5lJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7Cgl9IGVsc2UgaWYgKCQoJyNjaGFydENhdGVnb3J5JykudmFsKCkgPT0gMykgewoJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCSQoJyNlZGl0X2NoYXJ0IC5iYXInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCX0gZWxzZSBpZiAoJCgnI2NoYXJ0Q2F0ZWdvcnknKS52YWwoKSA9PSA0KSB7CgkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJJCgnI2VkaXRfY2hhcnQgLmNvbCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIGlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDUpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAuaGlzdCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIGlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDYpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAudGltZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJfSBlbHNlIGlmICgkKCcjY2hhcnRDYXRlZ29yeScpLnZhbCgpID09IDcpIHsKCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkkKCcjZWRpdF9jaGFydCAudGFibGUnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCX0gZWxzZSB7CgkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7Cgl9OwoJJCgnI2NoYXJ0Q2F0ZWdvcnknKS5jaGFuZ2UoZnVuY3Rpb24gKCkgewoJCWlmICgkKHRoaXMpLnZhbCgpID09IDEpIHsKCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJCSQoJyNlZGl0X2NoYXJ0IC5waWUnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCQkJaWYgKCQoJy5wYWdlb3ZlcmZsb3c6bm90KC5waWUpJykpIHsKCQkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cgLnBhZ2VpbnB1dCBpbnB1dCcpLnZhbCgnJyk7CgkJCX0KCQl9IGVsc2UgaWYgKCQodGhpcykudmFsKCkgPT0gMikgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJJCgnI2VkaXRfY2hhcnQgLmxpbmUnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCQkJaWYgKCQoJy5wYWdlb3ZlcmZsb3c6bm90KC5saW5lKScpKSB7CgkJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93IC5wYWdlaW5wdXQgaW5wdXQnKS52YWwoJycpOwoJCQl9CgkJfSBlbHNlIGlmICgkKHRoaXMpLnZhbCgpID09IDMpIHsKCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJCSQoJyNlZGl0X2NoYXJ0IC5iYXInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCQkJaWYgKCQoJy5wYWdlb3ZlcmZsb3c6bm90KC5iYXIpJykpIHsKCQkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cgLnBhZ2VpbnB1dCBpbnB1dCcpLnZhbCgnJyk7CgkJCX0KCQl9IGVsc2UgaWYgKCQodGhpcykudmFsKCkgPT0gNCkgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJJCgnI2VkaXRfY2hhcnQgLmNvbCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLmNvbCknKSkgewoJCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdyAucGFnZWlucHV0IGlucHV0JykudmFsKCcnKTsKCQkJfQoJCX0gZWxzZSBpZiAoJCh0aGlzKS52YWwoKSA9PSA1KSB7CgkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQkkKCcjZWRpdF9jaGFydCAuaGlzdCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLmhpc3QpJykpIHsKCQkJCSQoJyNlZGl0X2NoYXJ0IC5wYWdlb3ZlcmZsb3cgLnBhZ2VpbnB1dCBpbnB1dCcpLnZhbCgnJyk7CgkJCX0KCQl9IGVsc2UgaWYgKCQodGhpcykudmFsKCkgPT0gNikgewoJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93JykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJJCgnI2VkaXRfY2hhcnQgLnRpbWUnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKCQkJaWYgKCQoJy5wYWdlb3ZlcmZsb3c6bm90KC50aW1lKScpKSB7CgkJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93IC5wYWdlaW5wdXQgaW5wdXQnKS52YWwoJycpOwoJCQl9CgkJfSBlbHNlIGlmICgkKHRoaXMpLnZhbCgpID09IDcpIHsKCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJCSQoJyNlZGl0X2NoYXJ0IC50YWJsZScpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQlpZiAoJCgnLnBhZ2VvdmVyZmxvdzpub3QoLnRhYmxlKScpKSB7CgkJCQkkKCcjZWRpdF9jaGFydCAucGFnZW92ZXJmbG93IC5wYWdlaW5wdXQgaW5wdXQnKS52YWwoJycpOwoJCQl9CgkJfSBlbHNlIHsKCQkJJCgnI2VkaXRfY2hhcnQgLnBhZ2VvdmVyZmxvdycpLmNzcygnZGlzcGxheScsICdub25lJyk7CgkJfTsKCX0pOwp9KTsKLy9dXT4KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCjxkaXYgaWQ9ImVkaXRjaGFydF9yZXN1bHQiPjwvZGl2PgoKeyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyc2hvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9e2lmIGlzc2V0KCRhcHBseSl9eyRhcHBseX17L2lmfTwvcD4KPC9kaXY+Cgp7aWYgaXNzZXQoJHN0YXJ0X3RhYl9oZWFkZXJzKX0KeyRzdGFydF90YWJfaGVhZGVyc30KeyR0YWJoZWFkZXJfY2hhcnR9CnskZW5kX3RhYl9oZWFkZXJzfQoKeyRzdGFydF90YWJfY29udGVudH0KeyRzdGFydF90YWJfY2hhcnR9CnsvaWZ9CjxkaXYgaWQ9ImVkaXRfY2hhcnQiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJzaG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JGNhdGVnb3J5dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjYXRlZ29yeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyc2hvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRuYW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRuYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJzaG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JGRhdGF0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGRhdGF9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcnNob3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRlbGVtZW50dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRlbGVtZW50fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCB0aW1lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYmFja2dyb3VuZENvbG9ydGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRiYWNrZ3JvdW5kQ29sb3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY2hhcnRBcmVhdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjaGFydEFyZWF9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb2xvcnN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGNvbG9yc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmb250U2l6ZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Zm9udFNpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZm9udE5hbWV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGZvbnROYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCB0aW1lIHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaGVpZ2h0dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRoZWlnaHR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbGVnZW5kdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRsZWdlbmR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcmV2ZXJzZUNhdGVnb3JpZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHJldmVyc2VDYXRlZ29yaWVzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlVGV4dFN0eWxldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0aXRsZVRleHRTdHlsZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0b29sdGlwdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0b29sdGlwfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSBsaW5lIGJhciBjb2wgaGlzdCB0aW1lIHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskd2lkdGh0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdpZHRofTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlzM0R0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGlzM0R9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc2xpY2VzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzbGljZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGllU2xpY2VCb3JkZXJDb2xvcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllU2xpY2VCb3JkZXJDb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVTbGljZVRleHR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHBpZVNsaWNlVGV4dH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBwaWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwaWVTbGljZVRleHRTdHlsZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cGllU2xpY2VUZXh0U3R5bGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzbGljZVZpc2liaWxpdHlUaHJlc2hvbGR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgcGllIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGllUmVzaWR1ZVNsaWNlQ29sb3J0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHBpZVJlc2lkdWVTbGljZUNvbG9yfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBpZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBpZVJlc2lkdWVTbGljZUxhYmVsdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRwaWVSZXNpZHVlU2xpY2VMYWJlbH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF4aXNUaXRsZXNQb3NpdGlvbnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0YXhpc1RpdGxlc1Bvc2l0aW9ufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0IHRpbWUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRlbmFibGVJbnRlcmFjdGl2aXR5dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRlbmFibGVJbnRlcmFjdGl2aXR5fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZm9jdXNUYXJnZXR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGZvY3VzVGFyZ2V0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaEF4aXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGhBeGlzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGxpbmUgYmFyIGNvbCBoaXN0Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaXNIdG1sdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRpc0h0bWx9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBiYXIgY29sIGhpc3QiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzZXJpZXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNlcmllc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRoZW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0aGVtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlUG9zaXRpb250ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRpdGxlUG9zaXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHZBeGVzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR2QXhlc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHZBeGlzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR2QXhpc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIGNvbCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFnZ3JlZ2F0aW9uVGFyZ2V0dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhZ2dyZWdhdGlvblRhcmdldH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY3VydmVUeXBldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjdXJ2ZVR5cGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGludGVycG9sYXRlZE51bGxzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRpbnRlcnBvbGF0ZWROdWxsc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyBsaW5lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbGluZVdpZHRodGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRsaW5lV2lkdGh9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgbGluZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBvaW50U2l6ZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cG9pbnRTaXplfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGJhciBjb2wgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlzU3RhY2tlZHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0aXNTdGFja2VkfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGNvbCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGdyb3VwV2lkdGh0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGdyb3VwV2lkdGh9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgaGlzdCI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRhdGFPcGFjaXR5dGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRkYXRhT3BhY2l0eX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0aW1lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0YXZvaWRPdmVybGFwcGluZ0dyaWRMaW5lc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0aW1lIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGltZWxpbmV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHRpbWVsaW5lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYWxsb3dIdG1sdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhbGxvd0h0bWx9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgdGFibGUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhbHRlcm5hdGluZ1Jvd1N0eWxldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhbHRlcm5hdGluZ1Jvd1N0eWxlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY3NzQ2xhc3NOYW1lc3RleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y3NzQ2xhc3NOYW1lc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0YWJsZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpcnN0Um93TnVtYmVydGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmaXJzdFJvd051bWJlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0YWJsZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNoYXJ0cGFnZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y2hhcnRwYWdlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGFnZVNpemV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHBhZ2VTaXplfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcnRsVGFibGV0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHJ0bFRhYmxlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc2Nyb2xsTGVmdFN0YXJ0UG9zaXRpb250ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNjcm9sbExlZnRTdGFydFBvc2l0aW9ufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc2hvd1Jvd051bWJlcnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2hvd1Jvd051bWJlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0YWJsZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNvcnR0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHNvcnR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgdGFibGUiPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzb3J0QXNjZW5kaW5ndGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzb3J0QXNjZW5kaW5nfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHRhYmxlIj4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc29ydENvbHVtbnRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c29ydENvbHVtbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyB0YWJsZSI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHN0YXJ0UGFnZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c3RhcnRQYWdlfTwvcD4KCTwvZGl2Pgo8L2Rpdj4Ke2lmIGlzc2V0KCRlbmRfdGFiX2NoYXJ0KX17JGVuZF90YWJfY2hhcnR9ey9pZn0KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcnNob3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfXtpZiBpc3NldCgkYXBwbHkpfXskYXBwbHl9ey9pZn08L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cg==]]></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+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkgIHtpZiAkY2F0ZWdvcnkgPT0gJzcnfQogICAgICB7bGl0ZXJhbH0KICAgICAgZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbInRhYmxlIl19KTsKICAgICAgey9saXRlcmFsfQoJICB7ZWxzZX0KICAgICAge2xpdGVyYWx9CiAgICAgIGdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwogICAgICB7L2xpdGVyYWx9CgkgIHsvaWZ9CiAgICAgIHtsaXRlcmFsfQogICAgICBnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0KTsKICAgICAgZnVuY3Rpb24gZHJhd0NoYXJ0KCkgewoJLy8gQ3JlYXRlIGFuZCBwb3B1bGF0ZSB0aGUgZGF0YSB0YWJsZS4KCQl2YXIgZGF0YSA9IGdvb2dsZS52aXN1YWxpemF0aW9uLmFycmF5VG9EYXRhVGFibGUoWwoJCXsvbGl0ZXJhbH0KCQl7ZXZhbCB2YXI9JGRhdGF9CgkJe2lmICRjYXRlZ29yeSA9PSAnNyd9CgkJXSxmYWxzZSk7CgkJe2Vsc2V9CgkJXSk7CgkJey9pZn0KCQl7bGl0ZXJhbH0KCQl2YXIgb3B0aW9ucyA9IHsKCQl7L2xpdGVyYWx9CgkJCXtpZiAkYmFja2dyb3VuZENvbG9yIG5lICcnICYmICRjYXRlZ29yeSAhPSAnNyd9YmFja2dyb3VuZENvbG9yOiB7JGJhY2tncm91bmRDb2xvcnxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRjaGFydEFyZWEgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWNoYXJ0QXJlYTogeyRjaGFydEFyZWF8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkY29sb3JzIG5lICcnICYmICRjYXRlZ29yeSAhPSAnNyd9Y29sb3JzOiB7JGNvbG9yc3xyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRmb250U2l6ZSBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzYnICYmICRjYXRlZ29yeSAhPSAnNyd9Zm9udFNpemU6IHskZm9udFNpemV8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkZm9udE5hbWUgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWZvbnROYW1lOiB7JGZvbnROYW1lfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGhlaWdodCBuZSAnJ31oZWlnaHQ6IHskaGVpZ2h0fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGxlZ2VuZCBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzYnICYmICRjYXRlZ29yeSAhPSAnNyd9bGVnZW5kOiB7JGxlZ2VuZHxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRyZXZlcnNlQ2F0ZWdvcmllcyBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzYnICYmICRjYXRlZ29yeSAhPSAnNyd9cmV2ZXJzZUNhdGVnb3JpZXM6IHskcmV2ZXJzZUNhdGVnb3JpZXN8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkdGl0bGVUZXh0U3R5bGUgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfXRpdGxlVGV4dFN0eWxlOiB7JHRpdGxlVGV4dFN0eWxlfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHRvb2x0aXAgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfXRvb2x0aXA6IHskdG9vbHRpcHxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICR3aWR0aCBuZSAnJ313aWR0aDogeyR3aWR0aHxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRpczNEIG5lICcnICYmICRjYXRlZ29yeSA9PSAnMSd9aXMzRDogeyRpczNEfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHNsaWNlcyBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzEnfXNsaWNlczogeyRzbGljZXN8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkcGllU2xpY2VCb3JkZXJDb2xvciBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzEnfXBpZVNsaWNlQm9yZGVyQ29sb3I6IHskcGllU2xpY2VCb3JkZXJDb2xvcnxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRwaWVTbGljZVRleHQgbmUgJycgJiYgJGNhdGVnb3J5ID09ICcxJ31waWVTbGljZVRleHQ6IHskcGllU2xpY2VUZXh0fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHBpZVNsaWNlVGV4dFN0eWxlIG5lICcnICYmICRjYXRlZ29yeSA9PSAnMSd9cGllU2xpY2VUZXh0U3R5bGU6IHskcGllU2xpY2VUZXh0U3R5bGV8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkc2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkIG5lICcnICYmICRjYXRlZ29yeSA9PSAnMSd9c2xpY2VWaXNpYmlsaXR5VGhyZXNob2xkOiB7JHNsaWNlVmlzaWJpbGl0eVRocmVzaG9sZHxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRwaWVSZXNpZHVlU2xpY2VDb2xvciBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzEnfXBpZVJlc2lkdWVTbGljZUNvbG9yOiB7JHBpZVJlc2lkdWVTbGljZUNvbG9yfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHBpZVJlc2lkdWVTbGljZUxhYmVsIG5lICcnICYmICRjYXRlZ29yeSA9PSAnMSd9cGllUmVzaWR1ZVNsaWNlTGFiZWw6IHskcGllUmVzaWR1ZVNsaWNlTGFiZWx8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkYXhpc1RpdGxlc1Bvc2l0aW9uIG5lICcnICYmICRjYXRlZ29yeSAhPSAnMScgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWF4aXNUaXRsZXNQb3NpdGlvbjogeyRheGlzVGl0bGVzUG9zaXRpb258cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkZW5hYmxlSW50ZXJhY3Rpdml0eSBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzEnICYmICRjYXRlZ29yeSAhPSAnNyd9ZW5hYmxlSW50ZXJhY3Rpdml0eTogeyRlbmFibGVJbnRlcmFjdGl2aXR5fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGZvY3VzVGFyZ2V0IG5lICcnICYmICRjYXRlZ29yeSAhPSAnMScgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWZvY3VzVGFyZ2V0OiB7JGZvY3VzVGFyZ2V0fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGhBeGlzIG5lICcnICYmICRjYXRlZ29yeSAhPSAnMScgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWhBeGlzOiB7JGhBeGlzfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGlzSHRtbCBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzEnICYmICRjYXRlZ29yeSAhPSAnNicgJiYgJGNhdGVnb3J5ICE9ICc3J31pc0h0bWw6IHskaXNIdG1sfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHNlcmllcyBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzEnICYmICRjYXRlZ29yeSAhPSAnNicgJiYgJGNhdGVnb3J5ICE9ICc3J31zZXJpZXM6IHskc2VyaWVzfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHRoZW1lIG5lICcnICYmICRjYXRlZ29yeSAhPSAnMScgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfXRoZW1lOiB7JHRoZW1lfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHRpdGxlUG9zaXRpb24gbmUgJycgJiYgJGNhdGVnb3J5ICE9ICcxJyAmJiAkY2F0ZWdvcnkgIT0gJzYnICYmICRjYXRlZ29yeSAhPSAnNyd9dGl0bGVQb3NpdGlvbjogeyR0aXRsZVBvc2l0aW9ufHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHZBeGVzIG5lICcnICYmICRjYXRlZ29yeSAhPSAnMScgJiYgJGNhdGVnb3J5ICE9ICczJyAmJiAkY2F0ZWdvcnkgIT0gJzYnICYmICRjYXRlZ29yeSAhPSAnNyd9dkF4ZXM6IHskdkF4ZXN8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkYWdncmVnYXRpb25UYXJnZXQgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICcxJyAmJiAkY2F0ZWdvcnkgIT0gJzMnICYmICRjYXRlZ29yeSAhPSAnNScgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfWFnZ3JlZ2F0aW9uVGFyZ2V0OiB7JGFnZ3JlZ2F0aW9uVGFyZ2V0fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGN1cnZlVHlwZSBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzInfWN1cnZlVHlwZTogeyRjdXJ2ZVR5cGV8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkaW50ZXJwb2xhdGVkTnVsbHMgbmUgJycgJiYgJGNhdGVnb3J5ID09ICcyJ31pbnRlcnBvbGF0ZWROdWxsczogeyRpbnRlcnBvbGF0ZWROdWxsc3xyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICR2QXhpcyBuZSAnJyAmJiAkY2F0ZWdvcnkgIT0gJzEnICYmICRjYXRlZ29yeSAhPSAnMycgJiYgJGNhdGVnb3J5ICE9ICc2JyAmJiAkY2F0ZWdvcnkgIT0gJzcnfXZBeGlzOiB7JHZBeGlzfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGxpbmVXaWR0aCBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzInfWxpbmVXaWR0aDogeyRsaW5lV2lkdGh8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkcG9pbnRTaXplIG5lICcnICYmICRjYXRlZ29yeSA9PSAnMid9cG9pbnRTaXplOiB7JHBvaW50U2l6ZXxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRpc1N0YWNrZWQgbmUgJycgJiYgJGNhdGVnb3J5ICE9ICcxJyAmJiAkY2F0ZWdvcnkgIT0gJzInICYmICRjYXRlZ29yeSAhPSAnNicgJiYgJGNhdGVnb3J5ICE9ICc3J31pc1N0YWNrZWQ6IHskaXNTdGFja2VkfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGdyb3VwV2lkdGggbmUgJycgJiYgJGNhdGVnb3J5ID09ICc0J31iYXI6IHtsaXRlcmFsfXtncm91cFdpZHRoOiAiey9saXRlcmFsfXskZ3JvdXBXaWR0aHxyZXBsYWNlOicmIzM5Oyc6J1wnJ317bGl0ZXJhbH0ifXsvbGl0ZXJhbH0sey9pZn0KCQkJe2lmICRkYXRhT3BhY2l0eSBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzUnfWRhdGFPcGFjaXR5OiB7JGRhdGFPcGFjaXR5fHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXMgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc2J31hdm9pZE92ZXJsYXBwaW5nR3JpZExpbmVzOiB7JGF2b2lkT3ZlcmxhcHBpbmdHcmlkTGluZXN8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkdGltZWxpbmUgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc2J310aW1lbGluZTogeyR0aW1lbGluZXxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRhbGxvd0h0bWwgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc3J31hbGxvd0h0bWw6IHskYWxsb3dIdG1sfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGFsdGVybmF0aW5nUm93U3R5bGUgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc3J31hbHRlcm5hdGluZ1Jvd1N0eWxlOiB7JGFsdGVybmF0aW5nUm93U3R5bGV8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkY3NzQ2xhc3NOYW1lcyBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzcnfWNzc0NsYXNzTmFtZXM6IHskY3NzQ2xhc3NOYW1lc3xyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRmaXJzdFJvd051bWJlciBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzcnfWZpcnN0Um93TnVtYmVyOiB7JGZpcnN0Um93TnVtYmVyfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJGNoYXJ0cGFnZSBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzcnfXBhZ2U6IHskY2hhcnRwYWdlfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHBhZ2VTaXplIG5lICcnICYmICRjYXRlZ29yeSA9PSAnNyd9cGFnZVNpemU6IHskcGFnZVNpemV8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkcnRsVGFibGUgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc3J31ydGxUYWJsZTogeyRydGxUYWJsZXxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRzY3JvbGxMZWZ0U3RhcnRQb3NpdGlvbiBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzcnfXNjcm9sbExlZnRTdGFydFBvc2l0aW9uOiB7JHNjcm9sbExlZnRTdGFydFBvc2l0aW9ufHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHNob3dSb3dOdW1iZXIgbmUgJycgJiYgJGNhdGVnb3J5ID09ICc3J31zaG93Um93TnVtYmVyOiB7JHNob3dSb3dOdW1iZXJ8cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkc29ydCBuZSAnJyAmJiAkY2F0ZWdvcnkgPT0gJzcnfXNvcnQ6IHskc29ydHxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICRzb3J0QXNjZW5kaW5nIG5lICcnICYmICRjYXRlZ29yeSA9PSAnNyd9c29ydEFzY2VuZGluZzogeyRzb3J0QXNjZW5kaW5nfHJlcGxhY2U6JyYjMzk7JzonXCcnfSx7L2lmfQoJCQl7aWYgJHNvcnRDb2x1bW4gbmUgJycgJiYgJGNhdGVnb3J5ID09ICc3J31zb3J0Q29sdW1uOiB7JHNvcnRDb2x1bW58cmVwbGFjZTonJiMzOTsnOidcJyd9LHsvaWZ9CgkJCXtpZiAkc3RhcnRQYWdlIG5lICcnICYmICRjYXRlZ29yeSA9PSAnNyd9c3RhcnRQYWdlOiB7JHN0YXJ0UGFnZXxyZXBsYWNlOicmIzM5Oyc6J1wnJ30sey9pZn0KCQkJe2lmICR0aXRsZSBuZSAnJ310aXRsZTogJ3skdGl0bGV8cmVwbGFjZToiJyI6IlwnIn0ne2Vsc2UgaWYgJG5hbWUgbmUgJyd9dGl0bGU6ICd7JG5hbWV8cmVwbGFjZToiJyI6IlwnIn0ney9pZn0KCQl7bGl0ZXJhbH0KCQl9OwoJCS8vIENyZWF0ZSBhbmQgZHJhdyB0aGUgdmlzdWFsaXphdGlvbi4KCQl2YXIgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uey9saXRlcmFsfXtpZiAkY2F0ZWdvcnkgPT0gJzEnfVBpZUNoYXJ0e2Vsc2VpZiAkY2F0ZWdvcnkgPT0gJzInfUxpbmVDaGFydHtlbHNlaWYgJGNhdGVnb3J5ID09ICczJ31CYXJDaGFydHtlbHNlaWYgJGNhdGVnb3J5ID09ICc0J31Db2x1bW5DaGFydHtlbHNlaWYgJGNhdGVnb3J5ID09ICc1J31IaXN0b2dyYW17ZWxzZWlmICRjYXRlZ29yeSA9PSAnNid9VGltZWxpbmV7ZWxzZWlmICRjYXRlZ29yeSA9PSAnNyd9VGFibGV7L2lmfXtsaXRlcmFsfShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgney9saXRlcmFsfXtpZiAkZWxlbWVudCA9PSAnJ31jaGFydC17JGVudHJ5LT5jYXRlZ29yeX0teyRjaGFydGlkfXtlbHNlfXskZWxlbWVudH17L2lmfXtsaXRlcmFsfScpKTsKICAgICAgICBjaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJfQo8L3NjcmlwdD4Key9saXRlcmFsfQp7aWYgJGVsZW1lbnQgPT0gJyd9PGRpdiBjbGFzcz0iZ2NoYXJ0IiBpZD0iY2hhcnQteyRlbnRyeS0+Y2F0ZWdvcnl9LXskY2hhcnRpZH0iPjwvZGl2PnsvaWZ9]]></data>
	</file>
</module>
