<?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>CGSimpleSmarty</name>
	<version>1.1</version>
  <mincmsversion>1.2</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4KPHVsPgo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkKICAgIDxwPlRlc3QgaWYgYSBwYXJ0aWN1bGFyIG1vZHVsZSBpcyBpbnN0YWxsZWQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0mZ3Q7bW9kdWxlX2luc3RhbGxlZCgnRnJvbnRFbmRVc2VycycpfUZvdW5kIEZFVXsvaWZ9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+CiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnskY2dzaW1wbGUtJmd0O21vZHVsZV92ZXJzaW9uKCdGcm9udEVuZFVzZXJzJywnZmV1X3ZlcnNpb24nKX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyByb290IHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcm9vdCBwYXJlbnQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmd0O2dldF9wYWdlX3RpdGxlKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnskY2dzaW1wbGUtJmd0O2hhc19jaGlsZHJlbignJywkaGFzX2NoaWxkcmVuKX17aWYgJGhhc19jaGlsZHJlbn1UaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbntlbHNlfVRoZSBjdXJyZW50IHBhZ2UgaGFzIG5vIGNoaWxkcmVuey9pZn08L3ByZT4KICAgIDwvcD4KPC9saT4KCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+CiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCwgJ2NvbnRlbnRfZW4nIGlzIGFzc3VtZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KPC91bD4KPGg0Pk90aGVyIFNtYXJ0eSBmdW5jdGlvbnM8L2g0Pgo8dWw+CiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPgogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIGNyZWF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG88L2xpPgogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPgogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPgogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwYWdlPC9saT4KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZTo8YnIvPgo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdOZXdzJyBhY3Rpb249J2Zlc3VibWl0JyB0ZXh0PSdTdWJtaXQgYSBOZXcgTmV3cyBBcnRpY2xlJ308L3ByZT48L3A+CjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtyb2JAdGVjaGNvbS5keW5kbnMub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPjEuMSAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHA+QWRkZWQgZ2V0X3BhZ2VfbWVudXRleHQoKSBtZXRob2Q8L3A+CiAgPHA+QWRkZWQgbW9kdWxlX2FjdGlvbl9saW5rPC9wPgo8L2xpPgo8bGk+MS4wIC0gRGVjZW1iZXIsIDIwMDcKICA8cD5Jbml0aWFsIHJlbGVhc2U8L3A+CjwvbGk+CjwvdWw+PGJyIC8+</about>
	<description>Calguys Simple Smarty Tools</description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/CGSimpleSmarty.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5CiMgVmVyc2lvbjogMS4wLCBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnZnVuY3Rpb24ubW9kdWxlX2FjdGlvbi5waHAnKTsKcmVxdWlyZV9vbmNlKCRmbik7CgpjbGFzcyBDR1NpbXBsZVNtYXJ0eSBleHRlbmRzIENNU01vZHVsZQp7CiAgZnVuY3Rpb24gQ0dTaW1wbGVTbWFydHkoKQogIHsKICAgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2NsYXNzLmNnc2ltcGxlLnBocCcpOwogICAgcmVxdWlyZV9vbmNlKCRmbik7CgogICAgZ2xvYmFsICRnQ21zOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkb2JqID0gbmV3IGNnU2ltcGxlKCR0aGlzKTsKICAgICRzbWFydHktPmFzc2lnbignY2dzaW1wbGUnLCRvYmopOwoKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdtb2R1bGVfYWN0aW9uX2xpbmsnLCdtb2R1bGVfYWN0aW9uX2xpbmsnKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnQ0dTaW1wbGVTbWFydHknOwogIH0KICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CiAgCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjEnOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQogICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCiAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2VycwogICBvZiB5b3VyIG1vZHVsZSBnZXQgaW4gdG91Y2ggd2l0aCB5b3UgdG8gc2VuZCBidWcgcmVwb3J0cywKICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdyb2JAdGVjaGNvbS5keW5kbnMub3JnJzsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIGZhbHNlOyAvLyBJIHRoaW5rCiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYW5kbGVzRXZlbnRzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzICgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsKCkKICB7CiAgICAvLyR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdTZWFyY2gnLCAnU2VhcmNoSXRlbUFkZGVkJywgZmFsc2UgKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KICAKCgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/class.cgsimple.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5CiMgVmVyc2lvbjogMS4wLCBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKY2xhc3MgY2dTaW1wbGUKewogIHZhciAkX21vZHVsZTsKCiAgLy8vLy8vLy8vCiAgLy8gQ29uc3RydWN0b3IKICAvLy8vLy8vLy8KICBmdW5jdGlvbiBjZ1NpbXBsZSgmJG1vZHVsZSkKICB7CiAgICAkdGhpcy0+X21vZHVsZSA9JiAkbW9kdWxlOwogIH0KCgogIC8vLy8vLy8vLy8KICAvLyBBIGZ1bmN0aW9uIHRvIHRlc3QgaWYgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIGlzIGluc3RhbGxlZAogIC8vLy8vLy8vLy8KICBmdW5jdGlvbiBtb2R1bGVfaW5zdGFsbGVkKCRtb2R1bGUsJGFzc2lnbiA9ICcnKQogIHsKICAgIGlmKCAkbW9kdWxlID09ICcnICkgcmV0dXJuIDA7CiAgICAkbW9kdWxlID0mICR0aGlzLT5fbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgkbW9kdWxlKTsKCiAgICAkcmVzdWx0ID0gMDsKICAgIGlmKCBpc19vYmplY3QoICRtb2R1bGUgKSApICRyZXN1bHQgPSAxOwogICAgJHJlc3VsdCA9IDA7CgogICAgaWYoICFlbXB0eSgkYXNzaWduKSApCiAgICAgIHsKCWdsb2JhbCAkZ0NtczsKCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJHJlc3VsdCk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KCiAgLy8vLy8vLy8vCiAgLy8gQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIHBhcmVudCBwYWdlIGFsaWFzIG9mIGEgZ2l2ZW4gcGFnZSBvcgogIC8vIG9mIHRoZSBjdXJyZW50IHBhZ2UKICAvLy8vLy8vLy8KICBmdW5jdGlvbiBnZXRfcGFyZW50X2FsaWFzKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgIGlmKCAkYWxpYXMgPT0gJycgKQogICAgICB7CgkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwogICAgICB9CiAgICAkY29udGVudCA9JiAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCiAgICAkcGFyZW50aWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKICAgIGlmKCAkcGFyZW50aWQgPD0gMCApIHJldHVybiAnJzsKICAgICRhbGlhcyA9ICRjb250ZW50b3BzLT5HZXRQYWdlQWxpYXNGcm9tSWQoJHBhcmVudGlkKTsKCiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRhbGlhcyk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkYWxpYXM7CiAgfQoKICAKICAvLy8vLy8vLy8KICAvLyBBIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgdG9wbW9zdCBwYXJlbnQgcGFnZSBhbGlhcyBvZiBhIGdpdmVuIHBhZ2Ugb3IKICAvLyBvZiB0aGUgY3VycmVudCBwYWdlCiAgLy8vLy8vLy8vCiAgZnVuY3Rpb24gZ2V0X3Jvb3RfYWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRhbGlhcyA9PSAnJyApCiAgICAgIHsKCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgIH0KICAgICRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKICAgIAogICAgd2hpbGUoICRpZCA+IDAgKQogICAgICB7CgkkY29udGVudCA9JiAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCWlmKCAhaXNfb2JqZWN0KCAkY29udGVudCApICkgcmV0dXJuICcnOwoJJGFsaWFzID0gJGNvbnRlbnQtPkFsaWFzKCk7CgkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKICAgICAgfQogICAgCiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRhbGlhcyk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkYWxpYXM7CiAgfQoKCiAgLy8vLy8vLy8vCiAgLy8gQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIHBhZ2UgdGl0bGUgb2YgYSBnaXZlbiBwYWdlIG9yCiAgLy8gb2YgdGhlIGN1cnJlbnQgcGFnZQogIC8vLy8vLy8vLwogIGZ1bmN0aW9uIGdldF9wYWdlX3RpdGxlKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgIGlmKCAkYWxpYXMgPT0gJycgKQogICAgICB7CgkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwogICAgICB9CiAgICAkY29udGVudCA9JiAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5OYW1lKCkpOwoJcmV0dXJuOwogICAgICB9CiAgICByZXR1cm4gJGNvbnRlbnQtPk5hbWUoKTsKICB9CgogIAogIC8vLy8vLy8vLwogIC8vIEEgZnVuY3Rpb24gdG8gcmV0dXJuIHRoZSBtZW51dGV4dCBvZiBhIGdpdmVuIHBhZ2Ugb3IKICAvLyBvZiB0aGUgY3VycmVudCBwYWdlCiAgLy8vLy8vLy8vCiAgZnVuY3Rpb24gZ2V0X3BhZ2VfbWVudXRleHQoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRhbGlhcyA9PSAnJyApCiAgICAgIHsKCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgIH0KICAgICRjb250ZW50ID0mICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwogICAgaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGNvbnRlbnQtPk1lbnVUZXh0KCkpOwoJcmV0dXJuOwogICAgICB9CiAgICByZXR1cm4gJGNvbnRlbnQtPk1lbnVUZXh0KCk7CiAgfQoKICAKICAvLy8vLy8vLy8KICAvLyBBIGZ1bmN0aW9uIHRvIHRlc3QgaWYgYSBnaXZlbiAob3IgdGhlIGN1cnJlbnQgcGFnZSkgaGFzCiAgLy8gY2hpbGRyZW4uCiAgLy8vLy8vLy8vCiAgZnVuY3Rpb24gaGFzX2NoaWxkcmVuKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICB7CiAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgIGlmKCAkYWxpYXMgPT0gJycgKQogICAgICB7CgkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwogICAgICB9CgogICAgJGNvbnRlbnQgPSYgJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CiAgICBpZiggIWlzX29iamVjdCgkY29udGVudCkgKSAkcmVzdWx0ID0gZmFsc2U7CiAgICAkcmVzdWx0ID0gJGNvbnRlbnQtPkhhc0NoaWxkcmVuKCk7CgogICAgaWYoICRhc3NpZ24gIT0gJycgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0KTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgUmV0dXJuIGEgbW9kdWxlJ3MgdmVyc2lvbgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIG1vZHVsZV92ZXJzaW9uKCRuYW1lLCAkYXNzaWduID0gJycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJG91dCA9ICcnOwogICAgaWYoICFlbXB0eSgkbmFtZSkgKQogICAgICB7CglpZiggaXNzZXQoICRnQ21zLT5tb2R1bGVzWyRuYW1lXSApICkKCSAgewoJICAgICRvYmogPSYgJGdDbXMtPm1vZHVsZXNbJG5hbWVdWydvYmplY3QnXTsKCSAgICAkb3V0ID0gJG9iai0+R2V0VmVyc2lvbigpOwoJICB9CiAgICAgIH0KCiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJG91dCk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KCiAgCiAgLy8vLy8vLy8vLwogIC8vIEdldCBwYWdlIGNvbnRlbnQgZnJvbSBhIGNvbnRlbnQgYmxvY2sKICAvLy8vLy8vLy8vCiAgZnVuY3Rpb24gZ2V0X3BhZ2VfY29udGVudCgkYWxpYXMsJGJsb2NrID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgICRyZXN1bHQgPSBmYWxzZTsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRibG9jayA9PSAnJyApICRibG9jayA9ICdjb250ZW50X2VuJzsKCiAgICBpZiggJGFsaWFzICE9ICcnICkKICAgICAgewoJJGNvbnRlbnQgPSYgJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CglpZiggIWlzX29iamVjdCgkY29udGVudCkgKSAkcmVzdWx0ID0gZmFsc2U7CiAgICAKCWlmKCAkYmxvY2sgIT0gJ2NvbnRlbnRfZW4nICkKCSAgewoJICAgICRjb250ZW50LT5HZXRBZGRpdGlvbmFsQ29udGVudEJsb2NrcygpOwoJICB9CgkkcmVzdWx0ID0gJGNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJGJsb2NrKTsKICAgICAgfQoKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRzbWFydHksJHJlc3VsdCk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KCn07CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.module_action.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5CiMgVmVyc2lvbjogMS4wLCBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKLy8vLy8vLy8vLwovLyBBIHNpbXBsZSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uCi8vLy8vLy8vLy8KZnVuY3Rpb24gbW9kdWxlX2FjdGlvbl9saW5rKCRwYXJhbXMsICYkc21hcnR5KQp7CiAgZ2xvYmFsICRnQ21zOwoKICBpZiggIWlzc2V0KCRwYXJhbXNbJ21vZHVsZSddKSApCiAgICB7CiAgICAgIC8vIG5vdGhpbmcgdG8gZG8KICAgICAgcmV0dXJuOwogICAgfQogICRtb2R1bGUgPSAkcGFyYW1zWydtb2R1bGUnXTsKICB1bnNldCgkcGFyYW1zWydtb2R1bGUnXSk7CgogIGlmKCAhaXNzZXQoJGdDbXMtPm1vZHVsZXNbJG1vZHVsZV1bJ29iamVjdCddKSApCiAgICB7CiAgICAgIC8vIG5vdGhpbmcgdG8gZG8KICAgICAgcmV0dXJuOwogICAgfQoKICAkdGV4dCA9ICRtb2R1bGU7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3RleHQnXSkgKQogICAgewogICAgICAkdGV4dCA9IHRyaW0oJHBhcmFtc1sndGV4dCddKTsKICAgICAgdW5zZXQoJHBhcmFtc1sndGV4dCddKTsKICAgIH0KCiAgJGFjdGlvbiA9ICdkZWZhdWx0JzsKICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aW9uJ10pICkKICAgIHsKICAgICAgJGFjdGlvbiA9ICRwYXJhbXNbJ2FjdGlvbiddOwogICAgICB1bnNldCgkcGFyYW1zWydhY3Rpb24nXSk7CiAgICB9CgovLyAgICRpbmxpbmUgPSAwOwovLyAgIGlmKCBpc3NldCgkcGFyYW1zWydpbmxpbmUnXSkgKQovLyAgICAgewovLyAgICAgICAkaW5saW5lID0gKGludCkkcGFyYW1zWydpbmxpbmUnXTsKLy8gICAgICAgdW5zZXQoJHBhcmFtc1snaW5saW5lJ10pOwovLyAgICAgfQoKICAkcGFnZWlkID0gJGdDbXMtPnZhcmlhYmxlc1snY29udGVudF9pZCddOwogIGlmKCBpc3NldCgkcGFyYW1zWydwYWdlJ10pICkKICAgIHsKICAgICAgLy8gY29udmVydCB0aGUgcGFnZSBhbGlhcyB0byBhbiBpZAogICAgICAkbXFhbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydwYWdlJ10pOwogICAgICBpZiAoaXNzZXQoJG5vZGUpKQoJewoJICAkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwkKCSAgaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgICB7CgkgICAgICAkcGFnZWlkID0gJGNvbnRlbnQtPklkKCk7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1sncGFnZSddKTsKCSAgaWYgKGlzc2V0KCRub2RlKSkKCSAgICB7CgkgICAgICAkcGFnZWlkID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJICAgIH0KCX0KICAgICAgdW5zZXQoJHBhcmFtc1sncGFnZSddKTsKICAgIH0KCiAgJHVybG9ubHkgPSBmYWxzZTsKICBpZiggaXNzZXQoJHBhcmFtc1sndXJsb25seSddKSApCiAgICB7CiAgICAgICR1cmxvbmx5ID0gdHJ1ZTsKICAgICAgdW5zZXQoJHBhcmFtc1sndXJsb25seSddKTsKICAgIH0KCiAgCiAgJG9iaiA9JiAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlXVsnb2JqZWN0J107CiAgJG91dHB1dCA9ICRvYmotPkNyZWF0ZUxpbmsoJ2p1bmsnLCRhY3Rpb24sJHBhZ2VpZCwkdGV4dCwkcGFyYW1zLCcnLCR1cmxvbmx5KTsKICByZXR1cm4gJG91dHB1dDsKfQoKIyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgQwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+MS4xIC0gRmVicnVhcnksIDIwMDgKICA8cD5BZGRlZCBnZXRfcGFnZV9tZW51dGV4dCgpIG1ldGhvZDwvcD4KICA8cD5BZGRlZCBtb2R1bGVfYWN0aW9uX2xpbms8L3A+CjwvbGk+CjxsaT4xLjAgLSBEZWNlbWJlciwgMjAwNwogIDxwPkluaXRpYWwgcmVsZWFzZTwvcD4KPC9saT4KPC91bD4KRU9UOwoKIyBGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDR1NpbXBsZVNtYXJ0eSc7CgojIEgKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPWAo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBzaW1wbGUgc21hcnR5IHV0aWxpdGllcyBmb3IgdXNlIGluIGFwcGxpY2F0aW9ucyBvciBmb3IgY3VzdG9taXppbmcgdGhlIGJlaGF2aW91ciBvZiB5b3VyIENNUyBNYWRlIFNpbXBsZSBwYWdlcy48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4KPHA+V2hlbiB0aGlzIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGEgbmV3IHNtYXJ0eSBvYmplY3QgbmFtZWQgY2dzaW1wbGUgaXMgYXV0b21hdGljYWxseSBhdmFpbGFibGUgdG8geW91ciBwYWdlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgdmFyaW91cyBtb2R1bGUgdGVtcGxhdGVzLiAgVGhpcyBzbWFydHkgb2JqZWN0IGhhcyBudW1lcm91cyBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGNhbGwgYXQgYW55IHRpbWUuPC9wPgo8aDQ+QXZhaWxhYmxlIEZ1bmN0aW9uczo8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oXCRtb2R1bGVuYW1lLFtcJGFzc2lnbl0pCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPlwkbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+W1wkYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2lmIFwkY2dzaW1wbGUtJmd0O21vZHVsZV9pbnN0YWxsZWQoJ0Zyb250RW5kVXNlcnMnKX1Gb3VuZCBGRVV7L2lmfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oXCRtb2R1bGVuYW1lLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPlwkbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+W1wkYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e1wkY2dzaW1wbGUtJmd0O21vZHVsZV92ZXJzaW9uKCdGcm9udEVuZFVzZXJzJywnZmV1X3ZlcnNpb24nKX1XZSBoYXZlIFZlcnNpb24ge1wkZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldF9wYXJlbnRfYWxpYXM8L3N0cm9uZz4oW1wkYWxpYXNdLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bXCRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+W1wkYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7XCRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oW1wkYWxpYXNdLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W1wkYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+W1wkYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHtcJGNnc2ltcGxlLSZndDtnZXRfcm9vdF9hbGlhcygpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oW1wkYWxpYXNdLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPltcJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPltcJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7XCRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldF9wYWdlX21lbnV0ZXh0PC9zdHJvbmc+KFtcJGFsaWFzXSxbXCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bXCRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bXCRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIG1lbnV0ZXh0IG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMge1wkY2dzaW1wbGUtJmd0O2dldF9wYWdlX3RpdGxlKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oW1wkYWxpYXNdLFtcJGFzc2lnbl0pCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPltcJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+W1wkYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT57XCRjZ3NpbXBsZS0mZ3Q7aGFzX2NoaWxkcmVuKCcnLFwkaGFzX2NoaWxkcmVuKX17aWYgXCRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+CiAgICA8L3A+CjwvbGk+CgogICAgPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPihcJGFsaWFzLFtcJGJsb2NrXSxbXCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5cJGFsaWFzIC0gVGhlIHBhZ2UgYWxpYXMgdG8gZXh0cmFjdCBjb250ZW50IGZyb20uPC9saT4KICAgICAgIDxsaT5bXCRibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCwgJ2NvbnRlbnRfZW4nIGlzIGFzc3VtZWQuPC9saT4KICAgICAgIDxsaT5bXCRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtcJGNnc2ltcGxlLSZndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPgogICAgPC9wPgo8L2xpPgo8L3VsPgo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+Cjx1bD4KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX2xpbmt9PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gY3JlYXRlIGEgbGluayB0byBhIG1vZHVsZSBhY3Rpb24uPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPm1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gY3JlYXRlIGEgbGluayB0bzwvbGk+CiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+CiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+CiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPgogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOjxici8+CjxwcmU+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J05ld3MnIGFjdGlvbj0nZmVzdWJtaXQnIHRleHQ9J1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUnfTwvcHJlPjwvcD4KPC91bD4KRU9YOwoKIyBNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgU2ltcGxlIFNtYXJ0eSBUb29scyc7CgojIFAKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaXMgbm93IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaGFzIGJlZW4gcmVtb3ZlZCc7Cj8+Cg==]]></data>
	</file>
</module>
