<?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>CGEcommerceBase</name>
	<version>1.1</version>
  <mincmsversion>1.6.6</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21tb24gYmFzZSBvZiBjb21tdW5pY2F0aW9ucyBmb3IgYWxsIGVjb21tZXJjZSBtb2R1bGVzLiAgSXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggYXZhaWxhYmxlIHN1cHBsaWVycyB5b3Ugd291IHdvdWxkIGxpa2UgdG8gdXNlLCBhcyB3ZWxsIGFzIGNhcnQsIHRheCwgc2hpcHBpbmcsIGFuZCBwYXltZW50IGdhdGV3YXlzLiAgSXQgYWxzbyBwcm92aWRlcyBhIHN1aXRlIG9mIGFwaXMgZm9yIGNvbW11bmljYXRpb24gb2YgZGF0YSBiZXR3ZWVuIHRoZSB2YXJpb3VzIG1vZHVsZXMuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbm8gcGx1Z2luIGludGVyZmFjZSBvZiBpdHMgb3duICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIHRhZyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFkZCBpdGVtcyB0byB0aGUgY2FydC4uLi4gc2VlIGJlbG93LjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgo8cD5BZnRlciBpbnN0YWxsYXRpb24gb2YgYWxsIG9mIHRoZSBkZXNpcmVkIGVjb21tZXJjZSBtb2R1bGVzIHlvdSBzaG91bGQgZW50ZXIgdGhlIENHRWNvbW1lcmNlQmFzZSBhZG1pbiBwYW5lbCBhbmQgY29uZmlndXJlIHRoZSB2YXJpb3VzIG9wdGlvbnMuPC9wPgo8aDM+U21hcnR5IFRhZ3M8L2gzPgo8dWw+CiAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ2Vjb21tX2Zvcm1fYWRkdG9jYXJ0IHNvdXJjZT1Qcm9kdWN0cyBwcm9kdWM9JG51bX08L3NwYW4+CiAgIDxwPlRoaXMgdGFnIHVzZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBhbmQgZGlzcGxheXMgYSBmb3JtIHRvIGFsbG93IHRoZSB1c2VyIHRvIGFkZCBhbiBpdGVtIHRvIHRoZSBjYXJ0Ljxici8+UGFyYW1ldGVyczo8L3A+CiAgIDx1bD4KICAgIDxsaT5zb3VyY2UgLSBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgbW9kdWxlLiAgVGhpcyBtb2R1bGUgbXVzdCBiZSBzZWxlY3RlZCBhcyBhIHN1cHBsaWVyIGluIHRoZSBDR0Vjb21tZXJjZUJhc2UgYWRtaW4gcGFuZWwuPC9saT4KICAgIDxsaT5wcm9kdWN0IC0gc3BlY2lmeSB0aGUgdW5pcXVlIDxlbT4oaW50ZWdlcik8L2VtPiBpZGVudGlmaWVyIG9mIHRoZSBwcm9kdWN0IHdpdGhpbiB0aGUgc291cmNlIG1vZHVsZS48L2xpPgogICA8L3VsPiAgCiAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgcGFzc2VkIHRvIHRoaXMgdGFnIGFyZSBwYXNzZWQgdG8gdGhlIGFwcHJvcHJpYXRlIG1vZHVsZSwgZm9yIGV4YW1wbGUgZm9yIHNwZWNpZnlpbmcgYSBkaWZmZXJlbnQgdGVtcGxhdGUgeW91IG1heSB3YW50IHRvIGFkZCBhbiAmcXVvdDthZGR0b2NhcnR0ZW1wbGF0ZT1mb28mcXVvdDsgYXJndW1lbnQuPC9wPgogIDwvbGk+CiAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ2Vjb21tX2VyYXNlY2FydH08L3NwYW4+CiAgICA8cD5UaGlzIHRhZyBlbXB0aWVzIGFsbCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2FydCwgYW5kIHNldHMgdGhlIHZpc2l0b3JzIGJhc2tldCBiYWNrIHRvIGEgY29tcGxldGVseSBlbXB0eSBzdGF0ZS48L3A+CiAgPC9saT4KICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e2NnZWNvbW1fY29tcGFueV9hZGRyZXNzIGFzc2lnbj0nZm9vJ308L3NwYW4+CiAgIDxwPlRoaXMgdGFnIHJldHJpZXZlcyB0aGUgY29tcGFueSBhZGRyZXNzIGZyb20gdGhlIGRhdGFiYXNlLCBhbmQgYXNzaWducyBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvcD4KICA8L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAnUHJvZHVjdHMnPC9saT4KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+CjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjE4LjM8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KIDxsaT52MS4wIC0gQXByaWwgMjAxMAogICA8dWw+CiAgICAgPGxpPkluaXRpYWwgUmVsZWFzZS48L2xpPgogICA8L3VsPgogPC9saT4KIDxsaT52MS4wLjEgLSBBcHJpbCAyMDEwCiAgIDx1bD4KICAgICA8bGk+TWlub3IgZml4IHRvIHRoZSBnZXQgY2FydCBmb3JtIHN0dWZmLjwvbGk+CiAgICAgPGxpPkFkZHMgdGhlIHtjZ2Vjb21tX2VyYXNlY2FydH0gdGFnLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPnYxLjAuMiAtIE1heSAyMDEwCiAgIDx1bD4KICAgICA8bGk+QWRkcyB0aGUgU3RvcmUgSW5mb3JtYXRpb24gdGFiIGFuZCByZWxhdGVkIHNtYXJ0eSBwbHVnaW5zIGFuZCBhcGkgZnVuY3Rpb25zLjwvbGk+CiAgICAgPGxpPkFkZHMgcGFja2FnZSBzdHVmZiB0byB0aGUgc2hpcHBpbmcgdGFiIHRvIGJlIHVzZWQgYnkgdXBjb21pbmcgc2hpcHBpbmcgbW9kdWxlcy48L2xpPgogICA8L3VsPgogPC9saT4KIDxsaT52MS4xIC0gTWF5IDIwMTAKICAgPHVsPgogICAgIDxsaT5BZGRzIHBhY2thZ2Ugc3R1ZmYgdG8gdGhlIHNoaXBwaW5nIHRhYiB0byBiZSB1c2VkIGJ5IHVwY29taW5nIHNoaXBwaW5nIG1vZHVsZXMuPC9saT4KICAgPC91bD4KIDwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[A base class for all e-commerce modules this utiility also provides common preferences and connectors for the various portions of the ecommerce suite]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.18.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_save_myinfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYignbXlpbmZvJyk7CgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICAkYWRkcmVzcyA9IG5ldyBjZ19lY29tbV9jb21wYW55X2FkZHJlc3MoKTsKICAgICRhZGRyZXNzLT5mcm9tX2FycmF5KCRwYXJhbXMsJycpOwogICAgaWYoICEkYWRkcmVzcy0+aXNfdmFsaWQoKSApCiAgICAgIHsKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGFkZHJlc3MnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ215aW5mb19hZGRyZXNzJyxzZXJpYWxpemUoJGFkZHJlc3MpKTsKICAgICAgfQogIH0KCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CgokdGhlX3RhYiA9ICdjYXJ0JzsKaWYoIGlzc2V0KCRwYXJhbXNbJ3RoZXRhYiddKSApCiAgewogICAgJHRoZV90YWIgPSB0cmltKCRwYXJhbXNbJ3RoZXRhYiddKTsKICB9CmVjaG8gJHRoaXMtPlNldEN1cnJlbnRUYWIoJHRoZV90YWIpOwoKJHByZWZtYXAgPSBhcnJheSgpOwokcHJlZm1hcFsnY2FydF9tb2R1bGUnXSA9IGFycmF5KCdjYXJ0X21vZHVsZScsJ3N0cmluZycpOwokcHJlZm1hcFsncGF5bWVudF9tb2R1bGUnXSA9IGFycmF5KCdwYXltZW50X21vZHVsZScsJ3N0cmluZycpOwokcHJlZm1hcFsncHJvbW90aW9uc19tb2R1bGUnXSA9IGFycmF5KCdwcm9tb3Rpb25zX21vZHVsZScsJ3N0cmluZycpOwokcHJlZm1hcFsndGF4X21vZHVsZSddID0gYXJyYXkoJ3RheF9tb2R1bGUnLCdzdHJpbmcnKTsKJHByZWZtYXBbJ2N1cnJlbmN5X2NvZGUnXSA9IGFycmF5KCdjdXJyZW5jeV9jb2RlJywnc3RyaW5nJyk7CiRwcmVmbWFwWydjdXJyZW5jeV9zeW1ib2wnXSA9IGFycmF5KCdjdXJyZW5jeV9zeW1ib2wnLCdzdHJpbmcnKTsKJHByZWZtYXBbJ3dlaWdodF91bml0cyddID0gYXJyYXkoJ3dlaWdodF91bml0cycsJ3N0cmluZycpOwokcHJlZm1hcFsnbGVuZ3RoX3VuaXRzJ10gPSBhcnJheSgnbGVuZ3RoX3VuaXRzJywnc3RyaW5nJyk7CiRwcmVmbWFwWydzdXBwbGllcl9tb2R1bGVzJ10gPSBhcnJheSgnc3VwcGxpZXJfbW9kdWxlcycsJ2FycmF5X29mX3N0cmluZ3MnLCctMScpOwokcHJlZm1hcFsnYXR0cmliX2l0ZW1fZGVzY3JpcHRpb24nXSA9IGFycmF5KCdhdHRyaWJfaXRlbV9kZXNjcmlwdGlvbicsJ3N0cmluZycpOwokcHJlZm1hcFsnbGluZWl0ZW1fZGVzY190ZW1wbGF0ZSddID0gYXJyYXkoJ2xpbmVpdGVtX2Rlc2NfdGVtcGxhdGUnLCd0ZW1wbGF0ZScpOwoKJGJ1dHRvbnMgPSBhcnJheSgpOwokYnV0dG9uc1sncmVzZXRfbGluZWl0ZW1fZGVzYyddID0gJ3Jlc2V0X2xpbmVpdGVtX2Rlc2MnOwoKLy8gcHJvY2VzcyBidXR0b25zCmZvcmVhY2goICRidXR0b25zIGFzICRidXR0b25fbmFtZSA9PiAkbWV0aG9kICkKewogIGlmKCBpc3NldCgkcGFyYW1zWyRidXR0b25fbmFtZV0pICkKICAgIHsKICAgICAgaWYoIG1ldGhvZF9leGlzdHMoJ2NnX2Vjb21tJywkbWV0aG9kKSApCgl7CgkgIGNhbGxfdXNlcl9mdW5jKGFycmF5KCdjZ19lY29tbScsJG1ldGhvZCksJHBhcmFtcyk7CgkgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgkgIHJldHVybjsKCX0KICAgIH0KfQoKLy8gYXNzdW1lIHN1Ym1pdCB3YXMgcHJlc3NlZC4KZm9yZWFjaCggJHByZWZtYXAgYXMgJHBhcmFtbmFtZSA9PiAkZGF0YSApCnsKICAkcHJlZm5hbWUgPSAkZGF0YVswXTsKICAkdHlwZSA9ICRkYXRhWzFdOwoKICBzd2l0Y2goJHR5cGUpCiAgICB7CiAgICBjYXNlICdhcnJheV9vZl9zdHJpbmdzJzoKICAgICAgewoJJG5vbmUgPSAkZGF0YVsyXTsKCSR0bXAgPSAnJzsKCWlmKCBpc3NldCgkcGFyYW1zWyRwYXJhbW5hbWVdKSApCgkgIHsKCSAgICBpZiggaW5fYXJyYXkoJG5vbmUsJHBhcmFtc1skcGFyYW1uYW1lXSkgKQoJICAgICAgewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwcmVmbmFtZSwnJyk7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCSR0bXAgPSBpbXBsb2RlKCcsJywkcGFyYW1zWyRwYXJhbW5hbWVdKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZm5hbWUsdHJpbSgkdG1wKSk7CgkgICAgICB9CgkgIH0KICAgICAgfQogICAgICBicmVhazsKCiAgICBjYXNlICd0ZW1wbGF0ZSc6CiAgICAgIGlmKCAhaXNzZXQoJHBhcmFtc1skcGFyYW1uYW1lXSkgKSBjb250aW51ZTsKICAgICAgJHRoaXMtPlNldFRlbXBsYXRlKCRwcmVmbmFtZSx0cmltKCRwYXJhbXNbJHBhcmFtbmFtZV0pKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnc3RyaW5nJzoKICAgICAgaWYoICFpc3NldCgkcGFyYW1zWyRwYXJhbW5hbWVdKSApIGNvbnRpbnVlOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZm5hbWUsdHJpbSgkcGFyYW1zWyRwYXJhbW5hbWVdKSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2Zsb2F0JzoKICAgICAgaWYoICFpc3NldCgkcGFyYW1zWyRwYXJhbW5hbWVdKSApIGNvbnRpbnVlOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZm5hbWUsKGZsb2F0KSRwYXJhbXNbJ3BhcmFtbmFtZSddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnaW50JzoKICAgIGRlZmF1bHQ6CiAgICAgIGlmKCAhaXNzZXQoJHBhcmFtc1skcGFyYW1uYW1lXSkgKSBjb250aW51ZTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJHByZWZuYW1lLChpbnQpJHBhcmFtc1sncGFyYW1uYW1lJ10pOwogICAgICBicmVhazsKICAgIH0KfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbXlpbmZvJywkdGhpcy0+TGFuZygndGFiX215aW5mb19zZXR0aW5ncycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnZW5lcmFsJywkdGhpcy0+TGFuZygndGFiX2dlbmVyYWxfc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc3VwcGxpZXJzJywkdGhpcy0+TGFuZygndGFiX3N1cHBsaWVyX3NldHRpbmdzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhcnQnLCR0aGlzLT5MYW5nKCd0YWJfY2FydF9zZXR0aW5ncycpKTsKZWNobyAkdGhpcy0+U2V0VGFiaGVhZGVyKCd0YXhlcycsJHRoaXMtPkxhbmcoJ3RhYl90YXhfc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2hpcHBpbmcnLCR0aGlzLT5MYW5nKCd0YWJfc2hpcHBpbmdfc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJvbW90aW9ucycsJHRoaXMtPkxhbmcoJ3RhYl9wcm9tb3Rpb25fc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncGF5bWVudCcsJHRoaXMtPkxhbmcoJ3RhYl9wYXltZW50X3NldHRpbmdzJykpOwplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ215aW5mbycpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fbXlpbmZvX3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdnZW5lcmFsJyk7CmluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9nZW5lcmFsX3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzdXBwbGllcnMnKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3N1cHBsaWVyc190YWIucGhwJzsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignY2FydCcpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY2FydF90YWIucGhwJzsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYigndGF4ZXMnKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3RheGVzX3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzaGlwcGluZycpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fc2hpcHBpbmdfdGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Byb21vdGlvbnMnKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Byb21vdGlvbnNfdGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3BheW1lbnQnKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3BheW1lbnRzX3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/CGEcommerceBase.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLCdtb2R1bGVzJywKCQkJICAgICAgJ0NHRXh0ZW5zaW9ucycsJ0NHRXh0ZW5zaW9ucy5tb2R1bGUucGhwJyk7CmlmKCAhaXNfcmVhZGFibGUoICRjZ2V4dGVuc2lvbnMgKSApCnsKICBlY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC48L2ZvbnQ+PC9oMT4nOwogIHJldHVybjsKfQpyZXF1aXJlX29uY2UoJGNnZXh0ZW5zaW9ucyk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZGVmaW5lKCdDR0VDT01CX0FUVFJJQl9JVEVNX0RFU0NSSVBUSU9OJywneyRhdHRyaWJfdGV4dH0gKHskY3VycmVuY3lfc3ltYm9sfXskYXR0cmliX2FkanVzdHxudW1iZXJfZm9ybWF0OjJ9KScpOwpjbGFzcyBDR0Vjb21tZXJjZUJhc2UgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIENvbnN0cnVjdG9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgJHRoaXMtPmNhY2hlZF9yZXNvdXJjZXMgPSBOVUxMOwogICAgJHRoaXMtPmNhY2hlZF9ldmVudF90eXBlcyA9IE5VTEw7CiAgICAkdGhpcy0+YWRtaW5mdW5jc19sb2FkZWQgPSBmYWxzZTsKICAgICR0aGlzLT5mZWZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogICAgJHRoaXMtPmNvbW1vbmZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogICAgJHRoaXMtPnNlYXJjaGZ1bmNzX2xvYWRlZCA9IGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b0luc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWxsb3dBdXRvVXBncmFkZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0NHRWNvbW1lcmNlQmFzZSc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4xJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgICR0eHQgPSBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7CiAgICByZXR1cm4gJHR4dDsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhc0FkbWluKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYXNBZG1pbigpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2R1bGVfZGVzY3JpcHRpb24nKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjE4LjMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS42LjYiOwogIH0KCQoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVhZGVySFRNTCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgewogICAgJG9iaiA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0pRdWVyeVRvb2xzJyk7CiAgICAkdHh0ID0gJyc7CiAgICBpZiggaXNfb2JqZWN0KCRvYmopICkKICAgICAgewokdG1wbCA9IDw8PEVPVAp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdpbmNqcycgZXhjbHVkZT0nZm9ybSd9CntKUXVlcnlUb29scyBhY3Rpb249J3JlYWR5J30KRU9UOwogICAgICAgICR0eHQgLj0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0bXBsKTsKICAgICAgfQoKICAgIHJldHVybiAkdHh0OwogIH0JCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5BZGRJbWFnZURpcignaWNvbnMnKTsKCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL2xpYi9jZ2Vjb21tX3NtYXJ0eS5waHAnOwogICAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogICAgICB7CglpbmNsdWRlX29uY2UoJGZuKTsKCglnbG9iYWwgJGdDbXM7Cgkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NnZWNvbW1fZm9ybV9hZGR0b2NhcnQnLCdzbWFydHlfZnVuY3Rpb25fY2dlY29tbV9mb3JtX2FkZHRvY2FydCcpOwoJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NnZWNvbW1fZXJhc2VjYXJ0Jywnc21hcnR5X2Z1bmN0aW9uX2NnZWNvbW1fZXJhc2VjYXJ0Jyk7Cgkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dlY29tbV9jb21wYW55X2FkZHJlc3MnLCdzbWFydHlfZnVuY3Rpb25fY2dlY29tbV9jb21wYW55X2FkZHJlc3MnKTsKICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Fza19yZWFsbHlfdW5pbnN0YWxsJyk7CiAgfQkKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEV2ZW50SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCRldmVudF9uYW1lKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudF9uYW1lKTsKICB9CQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRfbmFtZSkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2Rlc2NfJy4kZXZlbnRfbmFtZSk7CiAgfQkKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogPGxpPnYxLjAgLSBBcHJpbCAyMDEwCiAgIDx1bD4KICAgICA8bGk+SW5pdGlhbCBSZWxlYXNlLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPnYxLjAuMSAtIEFwcmlsIDIwMTAKICAgPHVsPgogICAgIDxsaT5NaW5vciBmaXggdG8gdGhlIGdldCBjYXJ0IGZvcm0gc3R1ZmYuPC9saT4KICAgICA8bGk+QWRkcyB0aGUge2NnZWNvbW1fZXJhc2VjYXJ0fSB0YWcuPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+djEuMC4yIC0gTWF5IDIwMTAKICAgPHVsPgogICAgIDxsaT5BZGRzIHRoZSBTdG9yZSBJbmZvcm1hdGlvbiB0YWIgYW5kIHJlbGF0ZWQgc21hcnR5IHBsdWdpbnMgYW5kIGFwaSBmdW5jdGlvbnMuPC9saT4KICAgICA8bGk+QWRkcyBwYWNrYWdlIHN0dWZmIHRvIHRoZSBzaGlwcGluZyB0YWIgdG8gYmUgdXNlZCBieSB1cGNvbWluZyBzaGlwcGluZyBtb2R1bGVzLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPnYxLjEgLSBNYXkgMjAxMAogICA8dWw+CiAgICAgPGxpPkFkZHMgcGFja2FnZSBzdHVmZiB0byB0aGUgc2hpcHBpbmcgdGFiIHRvIGJlIHVzZWQgYnkgdXBjb21pbmcgc2hpcHBpbmcgbW9kdWxlcy48L2xpPgogICA8L3VsPgogPC9saT4KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_cart_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J2NhcnQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJG1vZHVsZV9saXN0ID0gbW9kdWxlX2hlbHBlcjo6Z2V0X21vZHVsZXNfd2l0aF9tZXRob2QoJ0lzQ2FydE1vZHVsZScpOwokbW9kdWxlX2xpc3QgPSBjZ2VfYXJyYXk6Omhhc2hfcHJlcGVuZCgkbW9kdWxlX2xpc3QsLTEsJHRoaXMtPkxhbmcoJ25vbmUnKSk7CiRzbWFydHktPmFzc2lnbignY2FydF9tb2R1bGVzJywkbW9kdWxlX2xpc3QpOwokc21hcnR5LT5hc3NpZ24oJ2NhcnRfbW9kdWxlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FydF9tb2R1bGUnLC0xKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2NhcnRfdGFiLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J2dlbmVyYWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnKSk7CiRzbWFydHktPmFzc2lnbignY3VycmVuY3lfY29kZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X2NvZGUnKSk7CiRzbWFydHktPmFzc2lnbignd2VpZ2h0X3VuaXRzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd2VpZ2h0X3VuaXRzJykpOwokc21hcnR5LT5hc3NpZ24oJ2xlbmd0aF91bml0cycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xlbmd0aF91bml0cycsJ2luJykpOwokdW5pdHMgPSBhcnJheSgpOwokdW5pdHNbJ2luJ10gPSAkdGhpcy0+TGFuZygndW5pdHNfaW5jaGVzJyk7CiR1bml0c1snY20nXSA9ICR0aGlzLT5MYW5nKCd1bml0c19jZW50aW1ldGVycycpOwokc21hcnR5LT5hc3NpZ24oJ3VuaXRzJywkdW5pdHMpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dlbmVyYWxfdGFiLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_myinfo_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdteWluZm9fYWRkcmVzcycsJycpOwokbXlfYWRkcmVzcyA9ICcnOwppZiggJHRtcCApCiAgewogICAgJG15X2FkZHJlc3MgPSB1bnNlcmlhbGl6ZSgkdG1wKTsKICB9CmVsc2UKICB7CiAgICAkbXlfYWRkcmVzcyA9IG5ldyBjZ19lY29tbV9jb21wYW55X2FkZHJlc3M7CiAgfQoKLy8KLy8gZ2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZV9teWluZm8nKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignbXlfYWRkcmVzcycsJG15X2FkZHJlc3MpOwokc3RhdGVfbGlzdCA9IGNnZV9hcnJheTo6aGFzaF9wcmVwZW5kKCR0aGlzLT5nZXRfc3RhdGVfbGlzdF9vcHRpb25zKCksJy0xJywkdGhpcy0+TGFuZygnbm90X2FwcGxpY2FibGUnKSk7CiRzbWFydHktPmFzc2lnbignc3RhdGVfbGlzdCcsJHN0YXRlX2xpc3QpOwokc21hcnR5LT5hc3NpZ24oJ2NvdW50cnlfbGlzdCcsJHRoaXMtPmdldF9jb3VudHJ5X2xpc3Rfb3B0aW9ucygpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fbXlpbmZvX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_payments_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J3BheW1lbnQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHRtcCA9IG1vZHVsZV9oZWxwZXI6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgncGF5bWVudF9nYXRld2F5JyxhcnJheSgnYmFzZXZlcnNpb24nPT4nMS4wLjUnKSk7CiRtb2R1bGVfbGlzdCA9IGNnZV9hcnJheTo6aGFzaF9wcmVwZW5kKCR0bXAsLTEsJHRoaXMtPkxhbmcoJ25vbmUnKSk7CiRzbWFydHktPmFzc2lnbigncGF5bWVudF9tb2R1bGVzJywkbW9kdWxlX2xpc3QpOwokc21hcnR5LT5hc3NpZ24oJ3BheW1lbnRfbW9kdWxlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGF5bWVudF9tb2R1bGUnLC0xKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3BheW1lbnRzX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_promotions_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J3Byb21vdGlvbnMnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKLy8kdG1wID0gbW9kdWxlX2hlbHBlcjo6Z2V0X21vZHVsZXNfd2l0aF9jYXBhYmlsaXR5KCdwYXltZW50X2dhdGV3YXknLGFycmF5KCdiYXNldmVyc2lvbic9PicxLjAuNScpKTsKJHRtcCA9IG1vZHVsZV9oZWxwZXI6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgncHJvbW90aW9uc19jYWxjdWxhdGlvbicpOwokbW9kdWxlX2xpc3QgPSBjZ2VfYXJyYXk6Omhhc2hfcHJlcGVuZCgkdG1wLC0xLCR0aGlzLT5MYW5nKCdub25lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21vdGlvbnNfbW9kdWxlcycsJG1vZHVsZV9saXN0KTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tb3Rpb25zX21vZHVsZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb21vdGlvbnNfbW9kdWxlJywtMSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9wcm9tb3Rpb25zX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_shipping_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHdlaWdodF91bml0cyA9IGNnX2Vjb21tOjpnZXRfd2VpZ2h0X3VuaXRzKCk7CiRsZW5ndGhfdW5pdHMgPSBjZ19lY29tbTo6Z2V0X2xlbmd0aF91bml0cygpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHRtcCA9IG1vZHVsZV9oZWxwZXI6OmdldF9tb2R1bGVzX3dpdGhfbWV0aG9kKCdDYWxjdWxhdGVTaGlwcGluZycpOwokbW9kdWxlX2xpc3QgPSBjZ2VfYXJyYXk6Omhhc2hfcHJlcGVuZCgkdG1wLC0xLCR0aGlzLT5MYW5nKCdub25lJykpOwokc21hcnR5LT5hc3NpZ24oJ3NoaXBwaW5nX21vZHVsZXMnLCRtb2R1bGVfbGlzdCk7CiRzbWFydHktPmFzc2lnbignc2hpcHBpbmdfbW9kdWxlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hpcHBpbmdfbW9kdWxlJywtMSkpOwoKCiR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hpcHBpbmdfcHJvZmlsZScpOwokc2hpcHBpbmdfcHJvZmlsZSA9IG5ldyBjZ19lY29tbV9zaGlwcGluZ19wcm9maWxlKCk7CmlmKCBpc3NldCgkcGFyYW1zWydzaGlwcGluZ19zdWJtaXQnXSkgKQogIHsKICAgICRvdmVyd2VpZ2h0X2xpbWl0ID0gKGZsb2F0KSRwYXJhbXNbJ292ZXJ3ZWlnaHRfbGltaXQnXTsKICAgIGlmKCAhY2dlX3VuaXRzOjppc193ZWlnaHRfbWV0cmljKCR3ZWlnaHRfdW5pdHMpICkKICAgICAgewoJJG92ZXJ3ZWlnaHRfbGltaXQgKj0gY2dlX3VuaXRzOjpMQlNfVE9fS0c7CiAgICAgIH0KICAgICRzaGlwcGluZ19wcm9maWxlLT5zZXRfb3ZlcndlaWdodF9saW1pdCgkb3ZlcndlaWdodF9saW1pdCk7CgogICAgJGJveGVzID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRwYXJhbXNbJ2JveF9uYW1lJ10gYXMgJGtleSA9PiAkbmFtZSApCiAgICAgIHsKCSRuYW1lID0gdHJpbSgkcGFyYW1zWydib3hfbmFtZSddWyRrZXldKTsKCSR3aWR0aCA9ICAoZmxvYXQpJHBhcmFtc1snYm94X3dpZHRoJ11bJGtleV07CgkkaGVpZ2h0ID0gKGZsb2F0KSRwYXJhbXNbJ2JveF9oZWlnaHQnXVska2V5XTsKCSRsZW5ndGggPSAoZmxvYXQpJHBhcmFtc1snYm94X2xlbmd0aCddWyRrZXldOwoJJHdlaWdodCA9IChmbG9hdCkkcGFyYW1zWydib3hfd2VpZ2h0J11bJGtleV07Cgkkc2NvcmUgPSAoaW50KSRwYXJhbXNbJ2JveF9zY29yZSddWyRrZXldOwoKCWlmKCAhZW1wdHkoJG5hbWUpICYmICR3aWR0aCA+IDAgJiYgJGhlaWdodCA+IDAgJiYgJGxlbmd0aCA+IDAgJiYgJHdlaWdodCA+IDAgKQoJICB7CgkgICAgaWYoICFjZ2VfdW5pdHM6OmlzX2xlbmd0aF9tZXRyaWMoJGxlbmd0aF91bml0cykgKQoJICAgICAgewoJCSR3aWR0aCAqPSBjZ2VfdW5pdHM6OklOQ0hFU19UT19DTTsKCQkkaGVpZ2h0ICo9IGNnZV91bml0czo6SU5DSEVTX1RPX0NNOwoJCSRsZW5ndGggKj0gY2dlX3VuaXRzOjpJTkNIRVNfVE9fQ007CgkgICAgICB9CgkgICAgaWYoICFjZ2VfdW5pdHM6OmlzX3dlaWdodF9tZXRyaWMoJHdlaWdodF91bml0cykgKQoJICAgICAgewoJCSR3ZWlnaHQgKj0gY2dlX3VuaXRzOjpMQlNfVE9fS0c7CgkgICAgICB9CgkgICAgJGJveCA9IG5ldyBjZ19lY29tbV9zaGlwcGluZ19ib3goJG5hbWUsJHdlaWdodCwkc2NvcmUpOwoJICAgICRib3gtPnNldF93aWR0aCgkd2lkdGgpOwoJICAgICRib3gtPnNldF9oZWlnaHQoJHdpZHRoKTsKCSAgICAkYm94LT5zZXRfbGVuZ3RoKCR3aWR0aCk7CgkgICAgaWYoICRib3gtPmlzX3ZhbGlkKCkgKQoJICAgICAgewoJCSRib3hlc1tdID0gJGJveDsKCSAgICAgIH0KCSAgfQoKCS8vIHNvcnQgdGhlIGJveGVzLgoJdWFzb3J0KCRib3hlcyxhcnJheSgnY2dfZWNvbW1fc2hpcHBpbmdfYm94JywnY21wJykpOwoJJHNoaXBwaW5nX3Byb2ZpbGUtPnNldF9ib3hlcygkYm94ZXMpOwogICAgICB9CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NoaXBfc2VwZXJhdGVseSddKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaGlwX3NlcGVyYXRlbHknLHRyaW0oJHBhcmFtc1snc2hpcF9zZXBlcmF0ZWx5J10pKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NoaXBfZGltZW5zaW9ucyddKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaGlwX2RpbWVuc2lvbnMnLHRyaW0oJHBhcmFtc1snc2hpcF9kaW1lbnNpb25zJ10pKTsKICAgICAgfQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NoaXBwaW5nX21vZHVsZScsdHJpbSgkcGFyYW1zWydzaGlwcGluZ19tb2R1bGUnXSkpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NoaXBwaW5nX3Byb2ZpbGUnLHNlcmlhbGl6ZSgkc2hpcHBpbmdfcHJvZmlsZSkpOwogIH0KZWxzZQogIHsKICAgICRzaGlwcGluZ19wcm9maWxlID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgfQoKLy8gY29udmVydCB0aGUgc2hpcHBpbmcgcHJvZmlsZSBiYWNrIGludG8gZGlzcGxheSB1bml0cy4KaWYoICFjZ2VfdW5pdHM6OmlzX3dlaWdodF9tZXRyaWMoJHdlaWdodF91bml0cykgKQogIHsKICAgICRzaGlwcGluZ19wcm9maWxlLT5zZXRfb3ZlcndlaWdodF9saW1pdCgkc2hpcHBpbmdfcHJvZmlsZS0+Z2V0X292ZXJ3ZWlnaHRfbGltaXQoKSpjZ2VfdW5pdHM6OktHX1RPX0xCUyk7CiAgfQpmb3IoICRpID0gMDsgJGkgPCAkc2hpcHBpbmdfcHJvZmlsZS0+Z2V0X2JveF9jb3VudCgpOyAkaSsrICkKICB7CiAgICAkaXRlbSA9ICRzaGlwcGluZ19wcm9maWxlLT5nZXRfYm94X2F0KCRpKTsKICAgIGlmKCAhY2dlX3VuaXRzOjppc193ZWlnaHRfbWV0cmljKCR3ZWlnaHRfdW5pdHMpICkKICAgICAgewoJJGl0ZW0tPnNldF93ZWlnaHQoJGl0ZW0tPmdldF93ZWlnaHQoKSpjZ2VfdW5pdHM6OktHX1RPX0xCUyk7CiAgICAgIH0KICAgIGlmKCAhY2dlX3VuaXRzOjppc19sZW5ndGhfbWV0cmljKCRsZW5ndGhfdW5pdHMpICkKICAgICAgewoJJGl0ZW0tPnNldF93aWR0aCgkaXRlbS0+Z2V0X3dpZHRoKCkqY2dlX3VuaXRzOjpDTV9UT19JTkNIRVMpOwoJJGl0ZW0tPnNldF9oZWlnaHQoJGl0ZW0tPmdldF9oZWlnaHQoKSpjZ2VfdW5pdHM6OkNNX1RPX0lOQ0hFUyk7CgkkaXRlbS0+c2V0X2xlbmd0aCgkaXRlbS0+Z2V0X2xlbmd0aCgpKmNnZV91bml0czo6Q01fVE9fSU5DSEVTKTsKICAgICAgfQogIH0KCgovLyBhZGQgYSBkdW1teSBib3guCiRib3ggPSBuZXcgY2dfZWNvbW1fc2hpcHBpbmdfYm94KCcnLDAuMCwkc2hpcHBpbmdfcHJvZmlsZS0+Z2V0X2JveF9jb3VudCgpKzEpOwokc2hpcHBpbmdfcHJvZmlsZS0+YWRkX2JveCgkYm94KTsKCi8vIGhhY2sgc2hvdWxkIGJlIHNvdXJjZSBtb2R1bGUgaW5kZXBlbmRhbnQKaWYoIGNsYXNzX2V4aXN0cygncHJvZHVjdF9vcHMnKSApCiAgewogICAgJHRtcCA9IHByb2R1Y3Rfb3BzOjpnZXRfZmllbGRfb3B0aW9ucygnY2hlY2tib3gnKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHByb2R1Y3RfZmllbGRzID0gY2dlX2FycmF5OjpoYXNoX3ByZXBlbmQoJHRtcCwtMSwkdGhpcy0+TGFuZygnbm9uZScpKTsKCSRzbWFydHktPmFzc2lnbigncHJvZHVjdHNfY2hlY2tib3hlcycsJHByb2R1Y3RfZmllbGRzKTsKICAgICAgfQogICAgJHRtcCA9IHByb2R1Y3Rfb3BzOjpnZXRfZmllbGRfb3B0aW9ucygnZGltZW5zaW9ucycpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkcHJvZHVjdF9maWVsZHMgPSBjZ2VfYXJyYXk6Omhhc2hfcHJlcGVuZCgkdG1wLC0xLCR0aGlzLT5MYW5nKCdub25lJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0c19kaW1lbnNpb25zJywkcHJvZHVjdF9maWVsZHMpOwogICAgICB9CiAgfQovLyBoYWNrCgokc21hcnR5LT5hc3NpZ24oJ3NoaXBfc2VwZXJhdGVseScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NoaXBfc2VwZXJhdGVseScsLTEpKTsKJHNtYXJ0eS0+YXNzaWduKCdzaGlwX2RpbWVuc2lvbnMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaGlwX2RpbWVuc2lvbnMnLC0xKSk7CiRzbWFydHktPmFzc2lnbignc2hpcHBpbmdfcHJvZmlsZScsJHNoaXBwaW5nX3Byb2ZpbGUpOwokc21hcnR5LT5hc3NpZ24oJ2xlbmd0aF91bml0cycsJGxlbmd0aF91bml0cyk7CiRzbWFydHktPmFzc2lnbignd2VpZ2h0X3VuaXRzJywkd2VpZ2h0X3VuaXRzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zaGlwcGluZ190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_suppliers_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J3N1cHBsaWVycycpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokbW9kdWxlX2xpc3QgPSBtb2R1bGVfaGVscGVyOjpnZXRfbW9kdWxlc193aXRoX21ldGhvZCgnZ2V0X3Byb2R1Y3RfaW5mbycpOwokbW9kdWxlX2xpc3QgPSBjZ2VfYXJyYXk6Omhhc2hfcHJlcGVuZCgkbW9kdWxlX2xpc3QsLTEsJHRoaXMtPkxhbmcoJ25vbmUnKSk7CiRzbWFydHktPmFzc2lnbignc3VwcGxpZXJfYWxsX21vZHVsZXMnLCRtb2R1bGVfbGlzdCk7CiR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VwcGxpZXJfbW9kdWxlcycpOwppZiggIWVtcHR5KCR0bXApICkKICB7CiAgICAkdG1wID0gZXhwbG9kZSgnLCcsJHRtcCk7CiAgfQokc21hcnR5LT5hc3NpZ24oJ3N1cHBsaWVyX21vZHVsZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdXBwbGllcl9tb2R1bGVzJywtMSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9saW5laXRlbV9kZXNjX3RlbXBsYXRlJywKCQkkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLAoJCQkJICAgICAgJHRoaXMtPkdldFRlbXBsYXRlKCdsaW5laXRlbV9kZXNjX3RlbXBsYXRlJyksCgkJCQkgICAgICAnbGluZWl0ZW1fZGVzY190ZW1wbGF0ZScpKTsKCiRzbWFydHktPmFzc2lnbignYXR0cmliX2l0ZW1fZGVzY3JpcHRpb24nLAoJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdHRyaWJfaXRlbV9kZXNjcmlwdGlvbicsQ0dFQ09NQl9BVFRSSUJfSVRFTV9ERVNDUklQVElPTikpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3N1cHBsaWVyc190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_taxes_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfcHJlZnMnLCRyZXR1cm5pZCwKCQkJCQkJICAgICBhcnJheSgndGhldGFiJz0+J3RheGVzJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCi8vJHRtcCA9IG1vZHVsZV9oZWxwZXI6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgncGF5bWVudF9nYXRld2F5JyxhcnJheSgnYmFzZXZlcnNpb24nPT4nMS4wLjUnKSk7CiR0bXAgPSBtb2R1bGVfaGVscGVyOjpnZXRfbW9kdWxlc193aXRoX21ldGhvZCgnR2V0VGF4ZXNGb3JQcm9kdWN0Jyk7CiRtb2R1bGVfbGlzdCA9IGNnZV9hcnJheTo6aGFzaF9wcmVwZW5kKCR0bXAsLTEsJHRoaXMtPkxhbmcoJ25vbmUnKSk7CiRzbWFydHktPmFzc2lnbigndGF4X21vZHVsZXMnLCRtb2R1bGVfbGlzdCk7CiRzbWFydHktPmFzc2lnbigndGF4X21vZHVsZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RheF9tb2R1bGUnLC0xKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3RheGVzX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSByZWFsbHkgc3VyZSB0aGF0IHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZSc7CiRsYW5nWydhdHRyaWJfaXRlbV9kZXNjcmlwdGlvbiddID0gJ1Byb2R1Y3QgQXR0cmlidXRlIERpc3BsYXkgVGVtcGxhdGUnOwoKI0IKCgojQwokbGFuZ1snY2FydF9tb2R1bGUnXSA9ICdDYXJ0IE1vZHVsZSc7CiRsYW5nWydjdXJyZW5jeV9jb2RlJ10gPSAnQ3VycmVuY3kgQ29kZSc7CiRsYW5nWydjdXJyZW5jeV9zeW1ib2wnXSA9ICdDdXJyZW5jeSBTeW1ib2wnOwoKI0QKCgojRQokbGFuZ1snZXJyb3JfaW52YWxpZGFkZHJlc3MnXSA9ICdBZGRyZXNzIHNwZWNpZmllZCBpcyBpbnZhbGlkIChtaXNzaW5nIG9uZSBvciBtb3JlIHJlcXVpcmVkIGZpZWxkcz8nOwokbGFuZ1snZXZlbnRfZGVzY19DYXJ0QWRqdXN0ZWQnXSA9ICdDYWxsZWQgd2hlbiBidWxrIGFkanVzdG1lbnMgYXJlIGRvbmUgdG8gdGhlIGNhcnQsIG9yIG9uZSBvZiBpdHMgYmFza2V0cyc7CiRsYW5nWydldmVudF9kZXNjX0NhcnRJdGVtQWRkZWQnXSA9ICdDYWxsZWQgd2hlbiBhIHNpbmdsZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgYWRkZWQgdG8gdGhlIGNhcnQnOwokbGFuZ1snZXZlbnRfZGVzY19PcmRlckNyZWF0ZWQnXSA9ICdDYWxsZWQgYWZ0ZXIgYW4gb3JkZXIgaXMgaW5pdGlhbGx5IGluc2VydGVkIGludG8gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2V2ZW50X2Rlc2NfT3JkZXJEZWxldGVkJ10gPSAnQ2FsbGVkIGFmdGVyIGFuIG9yZGVyIGhhcyBiZWVuIGNvbXBsZXRlbHkgcmVtb3ZlZCc7CiRsYW5nWydldmVudF9kZXNjX09yZGVyVXBkYXRlZCddID0gJ0NhbGxlZCBhZnRlciBhbiBleGlzdGluZyBvcmRlciBoYXMgYmVlbiBzYXZlZCc7CiRsYW5nWydldmVudF9oZWxwX0NhcnRBZGp1c3RlZCddID0gPDw8RU9UCjxwPlNlbnQgd2hlbiBidWxrIGFkanVzdG1lbnRzIGFyZSBkb25lIHRvIHRoZSBjYXJ0LCBvciBvbmUgb2YgaXRzIGJhc2tldHMuPC9wPgo8aDQ+UGFyYW1ldGVyczo8L2g0Pgo8dWw+CjxsaT4mcXVvdDtjYXJ0X2l0ZW1zJnF1b3Q7IC0gQW4gaGFzaCBvZiBiYXNrZXRzLCBlYWNoIGNvbnRhaW5pbmcgYW4gYXJyYXkgb2YgY2FydCBpdGVtIG9iamVjdHMgYW5kIHNvbWUgc3VtbWFyeSBpbmZvcm1hdGlvbi48L2xpPgo8bGk+JnF1b3Q7c3RhdHVzJnF1b3Q7IC0gQSBzdGF0dXMgZmxhZywgaW5kaWNhdGluZyB3ZXRoZXIgdGhpcyBpcyBiZWZvcmUsIG9yIGFmdGVyIHRoZSBpdGVtcyBoYXZlIGNoYW5nZWQuPC9saT4KPC91bD4KRU9UOwokbGFuZ1snZXZlbnRfaGVscF9DYXJ0SXRlbUFkZGVkJ10gPSA8PDxFT1QKPHA+U2VudCB3aGVuIGJ1bGsgYWRqdXN0bWVudHMgYXJlIGRvbmUgdG8gdGhlIGNhcnQsIG9yIG9uZSBvZiBpdHMgYmFza2V0cy48L3A+CjxoND5QYXJhbWV0ZXJzOjwvaDQ+Cjx1bD4KPGxpPiZxdW90O2NhcnRfaXRlbSZxdW90OyAtIFRoZSBzaW5nbGUgY2FydCBpdGVtIG9iamVjdCB0aGF0IHdhcyBhZGRlZC48L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydldmVudF9oZWxwX09yZGVyQ3JlYXRlZCddID0gPDw8RU9UCjxwPlNlbnQgYWZ0ZXIgYW4gb3JkZXIgaXMgaW5pdGlhbGx5IGluc2VydGVkIGludG8gdGhlIGRhdGFiYXNlLjwvcD4KPGg0PlBhcmFtZXRlcnM6PC9oND4KPHVsPgo8bGk+JnF1b3Q7b3JkZXJfaWQmcXVvdDsgLSBUaGUgbmV3bHkgY3JlYXRlZCBvcmRlciBpZC48L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydldmVudF9oZWxwX09yZGVyRGVsZXRlZCddID0gPDw8RU9UCjxwPlNlbnQgYWZ0ZXIgYW4gb3JkZXIgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS48L3A+CjxoND5QYXJhbWV0ZXJzOjwvaDQ+Cjx1bD4KPGxpPiZxdW90O29yZGVyX2lkJnF1b3Q7IC0gVGhlIGRlbGV0ZWQgb3JkZXIgaWQuPC9saT4KPC91bD4KRU9UOwokbGFuZ1snZXZlbnRfaGVscF9PcmRlclVwZGF0ZWQnXSA9IDw8PEVPVAo8cD5TZW50IGFmdGVyIGFuIG9yZGVyIGlzIHVwZGF0ZWQ8L3A+CjxoND5QYXJhbWV0ZXJzOjwvaDQ+Cjx1bD4KPGxpPiZxdW90O29yZGVyX2lkJnF1b3Q7IC0gVGhlIG9yZGVyIGlkLjwvbGk+CjwvdWw+CkVPVDsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIEVjb21tZXJjZSBCYXNlJzsKCiNHCgoKI0gKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAo8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbW1vbiBiYXNlIG9mIGNvbW11bmljYXRpb25zIGZvciBhbGwgZWNvbW1lcmNlIG1vZHVsZXMuICBJdCBhbGxvd3Mgc3BlY2lmeWluZyB3aGljaCBhdmFpbGFibGUgc3VwcGxpZXJzIHlvdSB3b3Ugd291bGQgbGlrZSB0byB1c2UsIGFzIHdlbGwgYXMgY2FydCwgdGF4LCBzaGlwcGluZywgYW5kIHBheW1lbnQgZ2F0ZXdheXMuICBJdCBhbHNvIHByb3ZpZGVzIGEgc3VpdGUgb2YgYXBpcyBmb3IgY29tbXVuaWNhdGlvbiBvZiBkYXRhIGJldHdlZW4gdGhlIHZhcmlvdXMgbW9kdWxlcy48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBwbHVnaW4gaW50ZXJmYWNlIG9mIGl0cyBvd24gKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgdGFnIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWRkIGl0ZW1zIHRvIHRoZSBjYXJ0Li4uLiBzZWUgYmVsb3cuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxwPkFmdGVyIGluc3RhbGxhdGlvbiBvZiBhbGwgb2YgdGhlIGRlc2lyZWQgZWNvbW1lcmNlIG1vZHVsZXMgeW91IHNob3VsZCBlbnRlciB0aGUgQ0dFY29tbWVyY2VCYXNlIGFkbWluIHBhbmVsIGFuZCBjb25maWd1cmUgdGhlIHZhcmlvdXMgb3B0aW9ucy48L3A+CjxoMz5TbWFydHkgVGFnczwvaDM+Cjx1bD4KICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e2NnZWNvbW1fZm9ybV9hZGR0b2NhcnQgc291cmNlPVByb2R1Y3RzIHByb2R1Yz1cJG51bX08L3NwYW4+CiAgIDxwPlRoaXMgdGFnIHVzZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBhbmQgZGlzcGxheXMgYSBmb3JtIHRvIGFsbG93IHRoZSB1c2VyIHRvIGFkZCBhbiBpdGVtIHRvIHRoZSBjYXJ0Ljxici8+UGFyYW1ldGVyczo8L3A+CiAgIDx1bD4KICAgIDxsaT5zb3VyY2UgLSBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgbW9kdWxlLiAgVGhpcyBtb2R1bGUgbXVzdCBiZSBzZWxlY3RlZCBhcyBhIHN1cHBsaWVyIGluIHRoZSBDR0Vjb21tZXJjZUJhc2UgYWRtaW4gcGFuZWwuPC9saT4KICAgIDxsaT5wcm9kdWN0IC0gc3BlY2lmeSB0aGUgdW5pcXVlIDxlbT4oaW50ZWdlcik8L2VtPiBpZGVudGlmaWVyIG9mIHRoZSBwcm9kdWN0IHdpdGhpbiB0aGUgc291cmNlIG1vZHVsZS48L2xpPgogICA8L3VsPiAgCiAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgcGFzc2VkIHRvIHRoaXMgdGFnIGFyZSBwYXNzZWQgdG8gdGhlIGFwcHJvcHJpYXRlIG1vZHVsZSwgZm9yIGV4YW1wbGUgZm9yIHNwZWNpZnlpbmcgYSBkaWZmZXJlbnQgdGVtcGxhdGUgeW91IG1heSB3YW50IHRvIGFkZCBhbiAmcXVvdDthZGR0b2NhcnR0ZW1wbGF0ZT1mb28mcXVvdDsgYXJndW1lbnQuPC9wPgogIDwvbGk+CiAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ2Vjb21tX2VyYXNlY2FydH08L3NwYW4+CiAgICA8cD5UaGlzIHRhZyBlbXB0aWVzIGFsbCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2FydCwgYW5kIHNldHMgdGhlIHZpc2l0b3JzIGJhc2tldCBiYWNrIHRvIGEgY29tcGxldGVseSBlbXB0eSBzdGF0ZS48L3A+CiAgPC9saT4KICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e2NnZWNvbW1fY29tcGFueV9hZGRyZXNzIGFzc2lnbj0nZm9vJ308L3NwYW4+CiAgIDxwPlRoaXMgdGFnIHJldHJpZXZlcyB0aGUgY29tcGFueSBhZGRyZXNzIGZyb20gdGhlIGRhdGFiYXNlLCBhbmQgYXNzaWducyBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvcD4KICA8L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAnUHJvZHVjdHMnPC9saT4KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+CjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KRU9UOwoKI0kKJGxhbmdbJ2luZm9fYXR0cmliX2l0ZW1fZGVzY3JpcHRpb24nXSA9ICdUaGUgdGVtcGxhdGUgdXNlZCBmb3IgZGlzcGxheWluZyBhdHRyaWJ1dGUgZHJvcGRvd25zLiAgUG9zc2libGUgdmFyaWFibGVzIGFyZSB7JGN1cnJlbmN5X3N5bWJvbH0seyR3ZWlnaHRfdW5pdHN9LHskYXR0cmliX2FkanVzdH0seyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfc2t1fSc7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlJ10gPSAnTnVtZXJvdXMgbW9kdWxlcyB0aGF0IGFjdCBhcyAmcXVvdDtTaG9wcGluZyBDYXJ0cyZxdW90OyBtYXkgYmUgZG93bmxvYWRlZC4gIEVhY2ggb2YgdGhlbSB3aXRoIGRpZmZlcmVudCBiZWhhdmlvdXJzLiAgUGxlYXNlIHNlbGVjdCBvbmUgb2YgdGhlIGluc3RhbGxlZCBjYXJ0IG1vZHVsZXMgZnJvbSB0aGlzIGxpc3QnOwokbGFuZ1snaW5mb19saW5laXRlbV9kZXNjX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBpcyB1c2VkIHRvIGZvcm1hdCB0aGUgc2luZ2xlIGxpbmUgZGVzY3JpcHRpb24gZm9yIGEgY2FydCBpdGVtLiAgVGhpcyBzYW1lIGRlc2NyaXB0aW9uIGlzIHVzZWQgZm9yIHRoZSBsaW5lIGl0ZW0gaW4gb3JkZXIgcHJvY2Vzc2luZy4nOwokbGFuZ1snaW5mb19vdmVyd2VpZ2h0X2xpbWl0J10gPSAnVGhlIHdlaWdodCBhdCB3aGljaCBhbiBpdGVtIHNob3VsZCBiZSBzaGlwcGVkIGluIGl0cyBvd24gcGFja2FnZSc7CiRsYW5nWydpbmZvX3BheW1lbnRfbW9kdWxlJ10gPSAnTnVtZXJvdXMgbW9kdWxlcyB0aGF0IHBlcmZvcm0gdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYWxsb3dpbmcgb25saW5lIHBheW1lbnRzIG1heSBiZSBkb3dubG9hZGVkLiAgRWFjaCBvZiB0aGVtIHdpdGggZGlmZmVyZW50IGJlaGF2aW91cnMuICBQbGVhc2Ugc2VsZWN0IG9uZSBvZiB0aGUgaW5zdGFsbGVkIGNhcnQgbW9kdWxlcyBmcm9tIHRoaXMgbGlzdCc7CiRsYW5nWydpbmZvX3Byb21vdGlvbnNfbW9kdWxlJ10gPSAnTnVtZXJvdXMgbW9kdWxlcyB0aGF0IHBlcmZvcm0gdGhlIGZ1bmN0aW9uYWxpdHkgb2YgcHJvdmlkaW5nIGNvdXBvbnMgb3IgdmFyaW91cyBmb3JtcyBvZiBkaXNjb3VudHMgbWF5IGJlIGRvd25sb2FkZWQuICBFYWNoIG9mIHRoZW0gd2l0aCBkaWZmZXJlbnQgYmVoYXZpb3Vycy4gIFBsZWFzZSBzZWxlY3Qgb25lIG9mIHRoZSBpbnN0YWxsZWQgY2FydCBtb2R1bGVzIGZyb20gdGhpcyBsaXN0JzsKJGxhbmdbJ2luZm9fc2hpcF9kaW1lbnNpb25zJ10gPSAnRmllbGQgZnJvbSB0aGUgUHJvZHVjdHMgbW9kdWxlIHRoYXQgaW5kaWNhdGVzIHRoZSBzaGlwcGFibGUgZGltZW5zaW9ucyBmb3IgdGhpcyBwcm9kdWN0JzsKJGxhbmdbJ2luZm9fc2hpcF9zZXBlcmF0ZWx5J10gPSAnRmllbGQgZnJvbSB0aGUgUHJvZHVjdHMgbW9kdWxlIHdoaWNoIGluZGljYXRlcyB0aGF0IHRoaXMgdmFsdWUgc2hvdWxkIGJlIHNoaXBwZWQgYXMgaXRzIG93biBwYWNrYWdlJzsKJGxhbmdbJ2luZm9fc2hpcHBpbmdfbW9kdWxlJ10gPSAnTnVtZXJvdXMgbW9kdWxlcyB0aGF0IHBlcmZvcm0gc2hpcHBpbmcgY29zdCBjYWxjdWxhdGlvbnMgbWF5IGJlIGRvd25sb2FkZWQuICBFYWNoIG9mIHRoZW0gd2l0aCBkaWZmZXJlbnQgYmVoYXZpb3Vycy4gIFBsZWFzZSBzZWxlY3Qgb25lIG9mIHRoZSBpbnN0YWxsZWQgY2FydCBtb2R1bGVzIGZyb20gdGhpcyBsaXN0JzsKJGxhbmdbJ2luZm9fc3VwcGxpZXJfbW9kdWxlcyddID0gJ1N1cHBsaWVyIG1vZHVsZXMgYXJlIGNhcGFibGUgb2YgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgY2FydCBhbmQgYW5zd2VyaW5nIHJlcXVlc3RzIGZyb20gb3JkZXIgcHJvY2Vzc2luZyBtb2R1bGVzLiAgWW91IG1heSBzZWxlY3QgbXVsdGlwbGUgc3VwcGxpZXIgbW9kdWxlcy4nOwokbGFuZ1snaW5mb190YXhfbW9kdWxlJ10gPSAnTnVtZXJvdXMgbW9kdWxlcyB0aGF0IHBlcmZvcm0gdGF4IGNhbGN1bGF0aW9uIG1heSBiZSBkb3dubG9hZGVkLiAgRWFjaCBvZiB0aGVzZSB3aXRoIGRpZmZlcmVudCBiZWhhdmlvdXJzLiAgUGxlYXNlIHNlbGVjdCBvbmUgb2YgdGhlIGluc3RhbGxlZCB0YXggbW9kdWxlcyBmcm9tIHRoaXMgbGlzdCc7CgojSgoKCiNLCgoKI0wKJGxhbmdbJ2xlbmd0aF91bml0cyddID0gJ0xlbmd0aCBVbml0cyc7CiRsYW5nWydsaW5laXRlbV9kZXNjX3RlbXBsYXRlJ10gPSAnTGluZSBJdGVtIERlc2NyaXB0aW9uIFRlbXBsYXRlJzsKCgojTQokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBiYXNlIGNsYXNzIGZvciBhbGwgZS1jb21tZXJjZSBtb2R1bGVzIHRoaXMgdXRpaWxpdHkgYWxzbyBwcm92aWRlcyBjb21tb24gcHJlZmVyZW5jZXMgYW5kIGNvbm5lY3RvcnMgZm9yIHRoZSB2YXJpb3VzIHBvcnRpb25zIG9mIHRoZSBlY29tbWVyY2Ugc3VpdGUnOwoKI04KJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ25vdF9hcHBsaWNhYmxlJ10gPSAnTm90IEFwcGxpY2FibGUnOwoKI08KCgojUAokbGFuZ1sncGF5bWVudF9tb2R1bGUnXSA9ICdPbmxpbmUgUGF5bWVudCBHYXRld2F5IE1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBDR0Vjb21tZXJjZUJhc2UgbW9kdWxlIGlzIG5vdyBpbnN0YWxsZWQsIHlvdSBtYXkgbm93IHByb2NlZWQgdG8gaW5zdGFsbCBtb3JlIGNvbXBvbmVudHMgdG8gdGhlIGVjb21tZXJjZSBzdWl0ZSB0byBmaWxsIG91dCB5b3VyIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkuICBPbmNlIHRoZXkgYXJlIGluc3RhbGxlZCByZXR1cm4gdG8gdGhpcyBtb2R1bGVzIGFkbWluaXN0cmF0aW9uIHBhbmVsIHRvIGNvbnRpbnVlIHRoZSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGlzIG1vZHVsZSBhbmQgYWxsIGFzc29jaWF0ZWQgZGF0YSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBDTVNNUyBkYXRhYmFzZS4gIFlvdSBhcmUgbm93IHNhZmUgdG8gcmVtb3ZlIGl0cyBmaWxlcyc7CiRsYW5nWydwcm9tb3Rpb25zX21vZHVsZSddID0gJ1Byb21vdGlvbnMgTW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9jb21wYW55J10gPSAnQ29tcGFueSc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnRmlyc3QgTmFtZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdMYXN0IE5hbWUnOwokbGFuZ1sncHJvbXB0X2FkZHJlc3MxJ10gPSAnQWRkcmVzcyBMaW5lIDEnOwokbGFuZ1sncHJvbXB0X2FkZHJlc3MyJ10gPSAnQWRkcmVzcyBMaW5lIDInOwokbGFuZ1sncHJvbXB0X2NpdHknXSA9ICdDaXR5JzsKJGxhbmdbJ3Byb21wdF9zdGF0ZSddID0gJ1N0YXRlIC8gUHJvdmluY2UnOwokbGFuZ1sncHJvbXB0X3Bvc3RhbCddID0gJ1Bvc3RhbCAvIFppcCBDb2RlJzsKJGxhbmdbJ3Byb21wdF9jb3VudHJ5J10gPSAnQ291bnRyeSc7CiRsYW5nWydwcm9tcHRfZmF4J10gPSAnRmF4JzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X3Bob25lJ10gPSAnUGhvbmUnOwokbGFuZ1sncHJvbXB0X292ZXJ3ZWlnaHRfbGltaXQnXSA9ICdPdmVyd2VpZ2h0IExpbWl0JzsKJGxhbmdbJ3Byb21wdF9zaGlwcGluZ19ib3hlcyddID0gJ1NoaXBwaW5nIEJveGVzJzsKJGxhbmdbJ3Byb21wdF93aWR0aCddID0gJ1dpZHRoJzsKJGxhbmdbJ3Byb21wdF9oZWlnaHQnXSA9ICdIZWlnaHQnOwokbGFuZ1sncHJvbXB0X2xlbmd0aCddID0gJ0xlbmd0aCc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0J10gPSAnV2VpZ2h0JzsKJGxhbmdbJ3Byb21wdF9zb3J0aW5nJ10gPSAnUHJpb3JpdHknOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKCgojUQoKCiNSCiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKCgojUwokbGFuZ1snc2hpcF9kaW1lbnNpb25zX2ZpZWxkJ10gPSAnUHJvZHVjdHMgU2hpcCBEaW1lbnNpb25zIEZpZWxkJzsKJGxhbmdbJ3NoaXBfc2VwZXJhdGVseV9maWVsZCddID0gJ1Byb2R1Y3RzIFNoaXAgU2VwZXJhdGVseSBGaWVsZCc7CiRsYW5nWydzaGlwcGluZ19tb2R1bGUnXSA9ICdTaGlwcGluZyBNb2R1bGUnOwokbGFuZ1snc3VwcGxpZXJfbW9kdWxlcyddID0gJ1N1cHBsaWVyIE1vZHVsZXMnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiNUCiRsYW5nWyd0YWJfY2FydF9zZXR0aW5ncyddID0gJ0NhcnQgU2V0dGluZ3MnOwokbGFuZ1sndGFiX2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdHZW5lcmFsIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9teWluZm9fc2V0dGluZ3MnXSA9ICdTdG9yZSBBZGRyZXNzJzsKJGxhbmdbJ3RhYl9wYXltZW50X3NldHRpbmdzJ10gPSAnUGF5bWVudCBTZXR0aW5ncyc7CiRsYW5nWyd0YWJfcHJvbW90aW9uX3NldHRpbmdzJ10gPSAnUHJvbW90aW9uIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9zaGlwcGluZ19zZXR0aW5ncyddID0gJ1NoaXBwaW5nIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9zdXBwbGllcl9zZXR0aW5ncyddID0gJ1N1cHBsaWVyIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl90YXhfc2V0dGluZ3MnXSA9ICdUYXggU2V0dGluZ3MnOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ1RheCBDYWxjdWxhdGlvbiBNb2R1bGUnOwoKI1UKJGxhbmdbJ3VuaXRzX2NlbnRlbWl0ZXJzJ10gPSAnQ2VudGltZXRlcnMnOwokbGFuZ1sndW5pdHNfaW5jaGVzJ10gPSAnSW5jaGVzJzsKCiNWCgoKI1cKJGxhbmdbJ3dlaWdodF91bml0cyddID0gJ1dlaWdodCBVbml0cyc7CgojWAoKCiNZCgoKI1oKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/cgecomm_smarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl9jZ2Vjb21tX2Zvcm1fYWRkdG9jYXJ0KCRwYXJhbXMsJiRzbWFydHkpCnsKICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICBpZiggIW1ldGhvZF9leGlzdHMoJGNhcnQsJ2dldF9hZGR0b2NhcnRfZm9ybScpICkgcmV0dXJuOwoKICAkY2FydF9uYW1lID0gJGNhcnQtPkdldE5hbWUoKTsKICBnbG9iYWwgJGdDbXM7CiAgJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgJHBhcmFtc1snbW9kdWxlJ10gPSAkY2FydF9uYW1lOwogICR0eHQgPSBjbXNfbW9kdWxlX3BsdWdpbigkcGFyYW1zLCRzbWFydHkpOwogIHJldHVybiAkdHh0Owp9CgoKZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX2NnZWNvbW1fZXJhc2VjYXJ0KCRwYXJhbXMsJiRzbWFydHkpCnsKICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAkY2FydC0+RXJhc2VDYXJ0KCk7Cn0KCgpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fY2dlY29tbV9jb21wYW55X2FkZHJlc3MoJHBhcmFtcywmJHNtYXJ0eSkKewogIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKQogICAgewogICAgICAkYWRkcmVzcyA9IGNnX2Vjb21tOjpnZXRfY29tcGFueV9hZGRyZXNzKCk7CiAgICAgIGlmKCAkYWRkcmVzcyApCgl7CgkgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkYWRkcmVzcyk7Cgl9CiAgICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tCnsKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jdXJyZW5jeV9zeW1ib2woKQogIHsKICAgICRlY29tbSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dFY29tbWVyY2VCYXNlJyk7CiAgICByZXR1cm4gJGVjb21tLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jdXJyZW5jeV9jb2RlKCkKICB7CiAgICAkZWNvbW0gPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgcmV0dXJuICRlY29tbS0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfY29kZScpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3dlaWdodF91bml0cygpCiAgewogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgIHJldHVybiAkZWNvbW0tPkdldFByZWZlcmVuY2UoJ3dlaWdodF91bml0cycpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2xlbmd0aF91bml0cygpCiAgewogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgIHJldHVybiAkZWNvbW0tPkdldFByZWZlcmVuY2UoJ2xlbmd0aF91bml0cycsJ2luJyk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc3VwcGxpZXJfbW9kdWxlcygpCiAgewogICAgJHJlcyA9IEZBTFNFOwogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgICR0bXAgPSAkZWNvbW0tPkdldFByZWZlcmVuY2UoJ3N1cHBsaWVyX21vZHVsZXMnKTsKICAgIGlmKCAhZW1wdHkoJHRtcCkgKQogICAgICB7CgkkcmVzID0gZXhwbG9kZSgnLCcsJHRtcCk7CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfc3VwcGxpZXJfbW9kdWxlKCRuYW1lKQogIHsKICAgICR0bXAgPSBzZWxmOjpnZXRfc3VwcGxpZXJfbW9kdWxlcygpOwogICAgaWYoICFpc19hcnJheSgkdG1wKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaW5fYXJyYXkoJG5hbWUsJHRtcCkgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZnZXRfc3VwcGxpZXJfbW9kdWxlKCRzb3VyY2UpCiAgewogICAgJHJlcyA9IG51bGw7CiAgICBpZiggc2VsZjo6aXNfc3VwcGxpZXJfbW9kdWxlKCRzb3VyY2UpICkKICAgICAgewoJJHJlcyA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgkc291cmNlKTsKICAgICAgfQogICAgcmV0dXJuICRyZXM7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmZ2V0X2NhcnRfbW9kdWxlKCkKICB7CiAgICAkcmVzID0gbnVsbDsKICAgICRlY29tbSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dFY29tbWVyY2VCYXNlJyk7CiAgICAkbW9kbmFtZSA9ICRlY29tbS0+R2V0UHJlZmVyZW5jZSgnY2FydF9tb2R1bGUnKTsKICAgIGlmKCAkbW9kbmFtZSA9PSAnJyB8fCAkbW9kbmFtZSA9PSAnLTEnICkgcmV0dXJuICRyZXM7CgogICAgcmV0dXJuIGNnZV91dGlsczo6Z2V0X21vZHVsZSgkbW9kbmFtZSk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmZ2V0X3RheF9tb2R1bGUoKQogIHsKICAgICRyZXMgPSBudWxsOwogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgICRtb2RuYW1lID0gJGVjb21tLT5HZXRQcmVmZXJlbmNlKCd0YXhfbW9kdWxlJyk7CiAgICBpZiggJG1vZG5hbWUgPT0gJycgfHwgJG1vZG5hbWUgPT0gJy0xJyApIHJldHVybiAkcmVzOwoKICAgIHJldHVybiBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJG1vZG5hbWUpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmdldF9zaGlwcGluZ19tb2R1bGUoKQogIHsKICAgICRyZXMgPSBudWxsOwogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgICRtb2RuYW1lID0gJGVjb21tLT5HZXRQcmVmZXJlbmNlKCdzaGlwcGluZ19tb2R1bGUnKTsKICAgIGlmKCAkbW9kbmFtZSA9PSAnJyB8fCAkbW9kbmFtZSA9PSAnLTEnICkgcmV0dXJuICRyZXM7CgogICAgcmV0dXJuIGNnZV91dGlsczo6Z2V0X21vZHVsZSgkbW9kbmFtZSk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmZ2V0X3Byb21vdGlvbnNfbW9kdWxlKCkKICB7CiAgICAkcmVzID0gbnVsbDsKICAgICRlY29tbSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dFY29tbWVyY2VCYXNlJyk7CiAgICAkbW9kbmFtZSA9ICRlY29tbS0+R2V0UHJlZmVyZW5jZSgncHJvbW90aW9uc19tb2R1bGUnKTsKICAgIGlmKCAkbW9kbmFtZSA9PSAnJyB8fCAkbW9kbmFtZSA9PSAnLTEnICkgcmV0dXJuICRyZXM7CgogICAgcmV0dXJuIGNnZV91dGlsczo6Z2V0X21vZHVsZSgkbW9kbmFtZSk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmZ2V0X3BheW1lbnRfbW9kdWxlKCkKICB7CiAgICAkcmVzID0gbnVsbDsKICAgICRlY29tbSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dFY29tbWVyY2VCYXNlJyk7CiAgICAkbW9kbmFtZSA9ICRlY29tbS0+R2V0UHJlZmVyZW5jZSgncGF5bWVudF9tb2R1bGUnKTsKICAgIGlmKCAkbW9kbmFtZSA9PSAnJyB8fCAkbW9kbmFtZSA9PSAnLTEnICkgcmV0dXJuICRyZXM7CgogICAgcmV0dXJuIGNnZV91dGlsczo6Z2V0X21vZHVsZSgkbW9kbmFtZSk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmZ2V0X29yZGVyX21hbmFnZXIoKQogIHsKICAgIC8vIHRvZG86IHRoaXMgY2FuIGJlIGNoYW5nZWQuCiAgICByZXR1cm4gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdPcmRlcnMnKTsKICB9CgogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXRfbGluZWl0ZW1fZGVzYygpCiAgewogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgICRmbiA9ICRlY29tbS0+R2V0TW9kdWxlUGF0aCgpLicvdGVtcGxhdGVzL29yaWdfbGluZWl0ZW1fZGVzY190ZW1wbGF0ZS50cGwnOwogICAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogICAgICB7CgkkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJGVjb21tLT5TZXRUZW1wbGF0ZSgnbGluZWl0ZW1fZGVzY190ZW1wbGF0ZScsJGRhdGEpOwogICAgICB9CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJvZHVjdF9pbmZvKCRzb3VyY2UsJHByb2R1Y3RfaWQpCiAgewogICAgJGNsYXNzbmFtZSA9ICdjZ2Vjb21tX3NvdXJjZXRyYW5zbGF0b3JfJy5zdHJ0b2xvd2VyKCRzb3VyY2UpOwogICAgaWYoIGNsYXNzX2V4aXN0cygkY2xhc3NuYW1lKSApCiAgICAgIHsKCSR0cmFuc2xhdG9yID0gbmV3ICRjbGFzc25hbWU7CgkkdHJhbnNsYXRvci0+Z2V0X3Byb2R1Y3RfaW5mbygkcHJvZHVjdF9pZCk7CiAgICAgIH0KICAgIC8vIG9sZCBmdW5jdGlvbmFsaXR5LgogICAgJG1vZCA9IHNlbGY6OmdldF9zdXBwbGllcl9tb2R1bGUoJHNvdXJjZSk7CiAgICBpZiggISRtb2QgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gJG1vZC0+Z2V0X3Byb2R1Y3RfaW5mbygkcHJvZHVjdF9pZCk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYXR0cmlidXRlX2Ryb3Bkb3duX3ZhbHVlcygkcHJvZHVjdF9pbmZvLCRhdHRyaWJzZXRfaWQpCiAgewogICAgaWYoICFpc19hcnJheSgkcHJvZHVjdF9pbmZvKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNzZXQoJHByb2R1Y3RfaW5mb1snYXR0cmlidXRlcyddKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNzZXQoJHByb2R1Y3RfaW5mb1snYXR0cmlidXRlcyddWyRhdHRyaWJzZXRfaWRdKSApIHJldHVybiBGQUxTRTsKCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwogICAgJGVjb21tID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0Vjb21tZXJjZUJhc2UnKTsKICAgIAogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLCRlY29tbS0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLCRlY29tbS0+R2V0UHJlZmVyZW5jZSgnd2VpZ2h0X3VuaXRzJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9jb2RlJywkZWNvbW0tPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X2NvZGUnKSk7CiAgICAkdGVtcGxhdGUgPSAkZWNvbW0tPkdldFByZWZlcmVuY2UoJ2F0dHJpYl9pdGVtX2Rlc2NyaXB0aW9uJyk7CgogICAgJG91dHB1dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkcHJvZHVjdF9pbmZvWydhdHRyaWJ1dGVzJ11bJGF0dHJpYnNldF9pZF1bJ3ZhbHVlcyddIGFzICRhdHRyaWJfaWQgPT4gJG9uZSApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbignYXR0cmliX3RleHQnLCRvbmVbJ2F0dHJpYl90ZXh0J10pOwoJJHNtYXJ0eS0+YXNzaWduKCdhdHRyaWJfYWRqdXN0Jywkb25lWydhdHRyaWJfYWRqdXN0bWVudCddKTsKCSRzbWFydHktPmFzc2lnbignYXR0cmliX3NrdScsJG9uZVsnc2t1J10pOwoJJHN0ciA9ICRlY29tbS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsJCgkkb3V0cHV0WyRvbmVbJ2F0dHJpYl9pZCddXSA9ICRzdHI7CiAgICAgIH0KICAgIAogICAgaWYoIGNvdW50KCRvdXRwdXQpICkKICAgICAgewoJcmV0dXJuICRvdXRwdXQ7CiAgICAgIH0KCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjYWxjdWxhdGVfY2FydGl0ZW1fc3VtbWFyeSgkcHJvZHVjdF9pbmZvLCRzZWxlY3RlZF9hdHRyaWJzKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkZWNvbW0gPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLCRlY29tbS0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLCRlY29tbS0+R2V0UHJlZmVyZW5jZSgnd2VpZ2h0X3VuaXRzJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9jb2RlJywkZWNvbW0tPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X2NvZGUnKSk7CiAgICAKICAgICRzbWFydHktPmFzc2lnbignb25lcHJvZHVjdCcsJHByb2R1Y3RfaW5mbyk7CiAgICAkbWV0YSA9IG5ldyBzdGRDbGFzczsKICAgICRtZXRhLT5hdHRyaWJ1dGVzID0gJHNlbGVjdGVkX2F0dHJpYnM7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21ldGEnLCRtZXRhKTsKICAgICRzdHIgPSAkZWNvbW0tPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnbGluZWl0ZW1fZGVzY190ZW1wbGF0ZScpOwogICAgcmV0dXJuICRzdHI7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY29tcGFueV9hZGRyZXNzKCkKICB7CiAgICAkZWNvbW0gPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJHRtcCA9ICRlY29tbS0+R2V0UHJlZmVyZW5jZSgnbXlpbmZvX2FkZHJlc3MnKTsKICAgICRyZXMgPSBudWxsOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkcmVzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_cart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRXh0ZW5zaW9ucyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB1c2VmdWwgZnVuY3Rpb25zCiMgIGFuZCBjb21tb25seSB1c2VkIGd1aSBjYXBhYmlsaXRpZXMgdG8gb3RoZXIgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX2NhcnQKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NhcnRfY29udGVudHMoJGZldV91aWQgPSAtMSkKICB7CiAgICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAgIGlmKCAkY2FydC0+R2V0TnVtSXRlbXMoKSA8PSAwICkgcmV0dXJuIEZBTFNFOwoKICAgICRuYW1lcyA9ICRjYXJ0LT5HZXRCYXNrZXROYW1lcygpOwogICAgJGRhdGEgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJG5hbWVzIGFzICRiYXNrZXRfbmFtZSApCiAgICAgIHsKCSRkYXRhWyRiYXNrZXRfbmFtZV0gPSBhcnJheSgpOwoJJGRhdGFbJGJhc2tldF9uYW1lXVsnZGV0YWlscyddID0gJGNhcnQtPkdldEJhc2tldERldGFpbHMoJGJhc2tldF9uYW1lLCRmZXVfdWlkKTsKCSRkYXRhWyRiYXNrZXRfbmFtZV1bJ2l0ZW1zJ10gPSAkY2FydC0+R2V0QmFza2V0SXRlbXMoJGJhc2tldF9uYW1lLCRmZXVfdWlkKTsKICAgICAgfQogICAgcmV0dXJuICRkYXRhOwogIH0KCiAgCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBvbl9jYXJ0X2l0ZW1fYWRkZWQoY2dfZWNvbW1fY2FydGl0ZW0gJiRvYmopCiAgewogICAgJGNhcnQgPSBjZ19lY29tbTo6Z2V0X2NhcnRfbW9kdWxlKCk7CiAgICAkcGFybXNbJ2NhcnRfaXRlbSddID0gJG9iajsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdDYXJ0SXRlbWFkZGVkJywkcGFybXMpOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gb25fY2FydF9hZGp1c3RlZCgkc3RhdHVzID0gJycpCiAgewogICAgJGNhcnQgPSBjZ19lY29tbTo6Z2V0X2NhcnRfbW9kdWxlKCk7CiAgICAkcGFybXNbJ2NhcnRfaXRlbXMnXSA9IHNlbGY6OmdldF9jYXJ0X2NvbnRlbnRzKCk7CiAgICAkcGFybXNbJ3N0YXR1cyddID0gJHN0YXR1czsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdDYXJ0QWRqdXN0ZWQnLCRwYXJtcyk7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_cartitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRXh0ZW5zaW9ucyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB1c2VmdWwgZnVuY3Rpb25zCiMgIGFuZCBjb21tb25seSB1c2VkIGd1aSBjYXBhYmlsaXRpZXMgdG8gb3RoZXIgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX2NhcnRpdGVtCnsKICBjb25zdCAgIFRZUEVfUFJPRFVDVCA9IDE7CiAgY29uc3QgICBUWVBFX1NFUlZJQ0UgPSAzOwogIGNvbnN0ICAgVFlQRV9TSElQUElORyA9IDI7CiAgY29uc3QgICBUWVBFX1RBWEVTID0gMzsKICBjb25zdCAgIFRZUEVfRElTQ09VTlQgPSA0OwogIGNvbnN0ICAgVFlQRV9PVEhFUiA9IDU7CgogIHByaXZhdGUgJF9zb3VyY2UgPSBudWxsOwogIHByaXZhdGUgJF9wcm9kdWN0X2lkID0gbnVsbDsKICBwcml2YXRlICRfc2t1ID0gbnVsbDsKICBwcml2YXRlICRfcXVhbnRpdHkgPSBudWxsOwogIHByaXZhdGUgJF9iYXNlX3ByaWNlID0gbnVsbDsKICBwcml2YXRlICRfYXR0cmlidXRlcyA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkX3R5cGUgPSBzZWxmOjpUWVBFX1BST0RVQ1Q7CiAgcHJpdmF0ZSAkX2VzdGltYXRlZCA9IGZhbHNlOwogIHByaXZhdGUgJF9wZW5kaW5nID0gZmFsc2U7CiAgcHJpdmF0ZSAkX3VuaXRfd2VpZ2h0ID0gbnVsbDsKICBwcml2YXRlICRfdW5pdF9wcmljZSA9IG51bGw7CiAgcHJpdmF0ZSAkX3N1bW1hcnkgPSBudWxsOwogIHByaXZhdGUgJF9pdGVtX3RvdGFsID0gbnVsbDsKICBwcml2YXRlICRfc3Vic2NyaXB0aW9uID0gbnVsbDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRza3UsJHByb2R1Y3RfaWQsJHF1YW50aXR5LCRzb3VyY2UgPSAnUHJvZHVjdHMnKQogIHsKICAgICR0aGlzLT5fc291cmNlID0gJHNvdXJjZTsKICAgICR0aGlzLT5fc2t1ID0gJHNrdTsKICAgICR0aGlzLT5fcHJvZHVjdF9pZCA9ICRwcm9kdWN0X2lkOwogICAgJHRoaXMtPl9xdWFudGl0eSA9ICRxdWFudGl0eTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfZXN0aW1hdGVkKCRmbGFnKQogIHsKICAgICR0aGlzLT5fZXN0aW1hdGVkID0gKGJvb2wpJGZsYWc7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gaXNfZXN0aW1hdGVkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9lc3RpbWF0ZWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3NvdXJjZSgkbnVtKQogIHsKICAgICR0aGlzLT5fc291cmNlID0gJG51bTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NvdXJjZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fc291cmNlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJvZHVjdF9pZCgkbnVtKQogIHsKICAgICR0aGlzLT5fcHJvZHVjdF9pZCA9ICRudW07CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wcm9kdWN0X2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9wcm9kdWN0X2lkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc2t1KCRudW0pCiAgewogICAgJHRoaXMtPl9za3UgPSAkbnVtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2t1KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9za3U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9wZW5kaW5nKCRudW0gPSB0cnVlKQogIHsKICAgICR0aGlzLT5fcGVuZGluZyA9ICRudW07CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wZW5kaW5nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9wZW5kaW5nOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcXVhbnRpdHkoJG51bSkKICB7CiAgICAkdGhpcy0+X3F1YW50aXR5ID0gJG51bTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3F1YW50aXR5KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9xdWFudGl0eTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2Jhc2VfcHJpY2UoJG51bSkKICB7CiAgICAkdGhpcy0+X2Jhc2VfcHJpY2UgPSAkbnVtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfYmFzZV9wcmljZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fYmFzZV9wcmljZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3VuaXRfcHJpY2UoJG51bSkKICB7CiAgICAkdGhpcy0+X3VuaXRfcHJpY2UgPSAkbnVtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfdW5pdF9wcmljZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fdW5pdF9wcmljZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2F0dHJpYnV0ZXMoJGF0dHJpYnMpCiAgewogICAgaWYoIGlzX2FycmF5KCRhdHRyaWJzKSApCiAgICAgICR0aGlzLT5fYXR0cmlidXRlcyA9ICRhdHRyaWJzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfYXR0cmlidXRlcygpCiAgewogICAgcmV0dXJuICR0aGlzLT5fYXR0cmlidXRlczsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3R5cGUoJG51bSkKICB7CiAgICAkdGhpcy0+X3R5cGUgPSAkbnVtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfdHlwZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fdHlwZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3VuaXRfd2VpZ2h0KCRudW0pCiAgewogICAgJHRoaXMtPl91bml0X3dlaWdodCA9ICRudW07CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF91bml0X3dlaWdodCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fdW5pdF93ZWlnaHQ7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9zdW1tYXJ5KCRudW0pCiAgewogICAgJHRoaXMtPl9zdW1tYXJ5ID0gJG51bTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N1bW1hcnkoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N1bW1hcnk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9pdGVtX3RvdGFsKCRudW0pCiAgewogICAgJHRoaXMtPl9pdGVtX3RvdGFsID0gJG51bTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2l0ZW1fdG90YWwoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2l0ZW1fdG90YWw7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9zdWJzY3JpcHRpb24oY2dfZWNvbW1fcHJvZHVjdGluZm9fc3Vic2NyaXB0aW9uICRzdWJzY3IpCiAgewogICAgJHRoaXMtPl9zdWJzY3JpcHRpb24gPSAkc3Vic2NyOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgICR0bXBbJ3Byb2R1Y3RfaWQnXSA9ICR0aGlzLT5fcHJvZHVjdF9pZDsKICAgICR0bXBbJ3NrdSddID0gJHRoaXMtPl9za3U7CiAgICAkdG1wWydxdWFudGl0eSddID0gJHRoaXMtPl9xdWFudGl0eTsKICAgICR0bXBbJ2Jhc2VfcHJpY2UnXSA9ICR0aGlzLT5fYmFzZV9wcmljZTsKICAgICR0bXBbJ3R5cGUnXSA9ICR0aGlzLT5fdHlwZTsKICAgICR0bXBbJ3BlbmRpbmcnXSA9ICR0aGlzLT5fcGVuZGluZzsKICAgICR0bXBbJ3VuaXRfd2VpZ2h0J10gPSAkdGhpcy0+X3VuaXRfd2VpZ2h0OwogICAgJHRtcFsndW5pdF9wcmljZSddID0gJHRoaXMtPl91bml0X3ByaWNlOwogICAgJHRtcFsnc3VtbWFyeSddID0gJHRoaXMtPl9zdW1tYXJ5OwogICAgJHRtcFsnaXRlbV90b3RhbCddID0gJHRoaXMtPl9pdGVtX3RvdGFsOwogICAgaWYoICR0aGlzLT5fc3Vic2NyaXB0aW9uICkKICAgICAgewoJJHRtcFsnc3Vic2NyaXB0aW9uJ10gPSAkdGhpcy0+X3N1YnNjcmlwdGlvbi0+dG9fYXJyYXkoKTsKICAgICAgfQogICAgcmV0dXJuICR0bXA7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_company_address.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX2NvbXBhbnlfYWRkcmVzcyBleHRlbmRzIGNnZV9hZGRyZXNzCnsKICBwdWJsaWMgZnVuY3Rpb24gaXNfdmFsaWQoKQogIHsKICAgIGlmKCAkdGhpcy0+Z2V0X2NvbXBhbnkoKSA9PSAnJyApIHJldHVybiBGQUxTRTsKICAgIGlmKCAkdGhpcy0+Z2V0X2FkZHJlc3MxKCkgPT0gJycgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggJHRoaXMtPmdldF9jaXR5KCkgPT0gJycgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggJHRoaXMtPmdldF9zdGF0ZSgpID09ICcnICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICR0aGlzLT5nZXRfcG9zdGFsKCkgPT0gJycgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggJHRoaXMtPmdldF9jb3VudHJ5KCkgPT0gJycgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggJHRoaXMtPmdldF9waG9uZSgpID09ICcnICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICR0aGlzLT5nZXRfZW1haWwoKSA9PSAnJyApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiBUUlVFOwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_order.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRXh0ZW5zaW9ucyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB1c2VmdWwgZnVuY3Rpb25zCiMgIGFuZCBjb21tb25seSB1c2VkIGd1aSBjYXBhYmlsaXRpZXMgdG8gb3RoZXIgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX29yZGVyCnsKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9vcmRlcl9jb250ZW50cygkb3JkZXJfaWQpCiAgewogICAgJG9yZGVybWFuYWdlciA9IGNnX2Vjb21tOjpnZXRfb3JkZXJfbWFuYWdlcigpOwogICAgaWYoICEkb3JkZXJtYW5hZ2VyICkgcmV0dXJuIEZBTFNFOwoKICAgIGlmKCAhbWV0aG9kX2V4aXN0cygkb3JkZXJtYW5hZ2VyLCdnZXRfcG9ydGFibGVfb3JkZXInKSApIAogICAgICByZXR1cm4gRkFMU0U7CgogICAgJGRhdGEgPSAkb3JkZXJtYW5hZ2VyLT5nZXRfcG9ydGFibGVfb3JkZXIoJG9yZGVyX2lkKTsKICAgIHJldHVybiAkZGF0YTsKICB9CgogIAogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gb25fb3JkZXJfY3JlYXRlZCgkb3JkZXJfaWQpCiAgewogICAgJGNhcnQgPSBjZ19lY29tbTo6Z2V0X29yZGVyX21hbmFnZXIoKTsKICAgICRwYXJtc1snb3JkZXJfaWQnXSA9ICRvcmRlcl9pZDsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdPcmRlckNyZWF0ZWQnLCRwYXJtcyk7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBvbl9vcmRlcl91cGRhdGVkKCRvcmRlcl9pZCkKICB7CiAgICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAgICRwYXJtc1snb3JkZXJfaWQnXSA9ICRvcmRlcl9pZDsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdPcmRlclVwZGF0ZWQnLCRwYXJtcyk7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBvbl9vcmRlcl9kZWxldGVkKCRvcmRlcl9pZCkKICB7CiAgICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAgICRwYXJtc1snb3JkZXJfaWQnXSA9ICRvcmRlcl9pZDsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdPcmRlckRlbGV0ZWQnLCRwYXJtcyk7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBvbl9nYXRld2F5X3RyYW5zYWN0aW9uKCRvcmRlcl9pZCkKICB7CiAgICAkY2FydCA9IGNnX2Vjb21tOjpnZXRfY2FydF9tb2R1bGUoKTsKICAgICRwYXJtc1snb3JkZXJfaWQnXSA9ICRvcmRlcl9pZDsKICAgICRtb2QgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0NHRWNvbW1lcmNlQmFzZScpOwogICAgJG1vZC0+U2VuZEV2ZW50KCdPbkdhdGV3YXlUcmFuc2FjdGlvbicsJHBhcm1zKTsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_productinfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRXh0ZW5zaW9ucyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB1c2VmdWwgZnVuY3Rpb25zCiMgIGFuZCBjb21tb25seSB1c2VkIGd1aSBjYXBhYmlsaXRpZXMgdG8gb3RoZXIgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX3Byb2R1Y3RpbmZvX3N1YnNjcmlwdGlvbgp7CiAgY29uc3QgU1VCU0NSX1BFUklPRF9OT05FICAgICAgICA9ICdub25lJzsKICBjb25zdCBTVUJTQ1JfUEVSSU9EX01PTlRITFkgICAgID0gJ21vbnRobHknOwogIGNvbnN0IFNVQlNDUl9QRVJJT0RfUVVBUlRFUkxZICAgPSAncXVhcnRlcmx5JzsKICBjb25zdCBTVUJTQ1JfUEVSSU9EX1NFTUlBTlVBTExZID0gJ3NlbWlhbnVhbGx5Jzs7CiAgY29uc3QgU1VCU0NSX1BFUklPRF9ZRUFSTFkgICAgICA9ICd5ZWFybHknOwoKICBjb25zdCBTVUJTQ1JfRVhQSVJZX05PTkUgICAgICAgID0gJ25vbmUnOwogIGNvbnN0IFNVQlNDUl9FWFBJUllfT05FWUVBUiAgICAgPSAnb25leWVhcic7CiAgCiAgcHJpdmF0ZSAkX3BlcmlvZDsKICBwcml2YXRlICRfZXhwaXJ5OwoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BlcmlvZCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fcGVyaW9kOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF9wZXJpb2QoJHBlcmlvZCkKICB7CiAgICBzd2l0Y2goJHBlcmlvZCkKICAgICAgewogICAgICBjYXNlIFNVQlNDUl9QRVJJT0RfTk9ORToKICAgICAgY2FzZSBTVUJTQ1JfUEVSSU9EX01PTlRITFk6CiAgICAgIGNhc2UgU1VCU0NSX1BFUklPRF9RVUFSVEVSTFk6CiAgICAgIGNhc2UgU1VCU0NSX1BFUklPRF9TRU1JQU5VQUxMWToKICAgICAgY2FzZSBTVUJTQ1JfUEVSSU9EX1lFQVJMWToKCSR0aGlzLT5fcGVyaW9kID0gJHBlcmlvZDsKCWJyZWFrOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9leHBpcnkoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2V4cGlyeSgpOwogIH0KCiAKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2V4cGlyeSgkdmFsKQogIHsKICAgIHN3aXRjaCgkdmFsKQogICAgICB7CiAgICAgIGNhc2UgU1VCU0NSX0VYUElSWV9OT05FOgogICAgICBjYXNlIFNVQlNDUl9FWFBJUllfT05FWUVBUjoKCSR0aGlzLT5fZXhwaXJ5ID0gJHZhbDsKCWJyZWFrOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgICR0bXBbJ3BlcmlvZCddID0gJHRoaXMtPl9wZXJpb2Q7CiAgICAkdG1wWydleHBpcnknXSA9ICR0aGlzLT5fZXhwaXJ5OwogICAgcmV0dXJuICR0bXA7CiAgfQp9OwoKCmNsYXNzIGNnX2Vjb21tX3Byb2R1Y3RpbmZvCnsKICBwcml2YXRlICRfcHJvZHVjdF9pZCA9IG51bGw7CiAgcHJpdmF0ZSAkX3dlaWdodCA9IG51bGw7CiAgcHJpdmF0ZSAkX3NrdSA9IG51bGw7CiAgcHJpdmF0ZSAkX3ByaWNlID0gbnVsbDsKICBwcml2YXRlICRfbmFtZSA9IG51bGw7CiAgcHJpdmF0ZSAkX3RheGFibGUgPSBudWxsOwogIHByaXZhdGUgJF9zdWJzY3JpcHRpb24gPSBudWxsOwoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wcm9kdWN0X2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9wcm9kdWN0X2lkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJvZHVjdF9pZCgkdmFsKQogIHsKICAgICR0aGlzLT5fcHJvZHVjdF9pZCA9IChpbnQpJHZhbDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3dlaWdodCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fd2VpZ2h0OwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfd2VpZ2h0KCR2YWwpCiAgewogICAgJHRoaXMtPl93ZWlnaHQgPSAoZmxvYXQpJHZhbDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NrdSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fc2t1OwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc2t1KCR2YWwpCiAgewogICAgJHRoaXMtPl9za3UgPSB0cmltKCR2YWwpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcHJpY2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3ByaWNlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJpY2UoJHZhbCkKICB7CiAgICAkdGhpcy0+X3ByaWNlID0gKGZsb2F0KSR2YWw7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9uYW1lOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfbmFtZSgkdmFsKQogIHsKICAgICR0aGlzLT5fbmFtZSA9IHRyaW0oJHZhbCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF90YXhhYmxlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl90YXhhYmxlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfdGF4YWJsZSgkdmFsKQogIHsKICAgICR0aGlzLT5fdGF4YWJsZSA9IChpbnQpJHZhbDsKICB9Cgp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_shipping_box.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX3NoaXBwaW5nX2JveAp7CiAgcHJpdmF0ZSAkX25hbWU7CiAgcHJpdmF0ZSAkX3dpZHRoX2NtOwogIHByaXZhdGUgJF9oZWlnaHRfY207CiAgcHJpdmF0ZSAkX2xlbmd0aF9jbTsKICBwcml2YXRlICRfd2VpZ2h0X2tnOwogIHByaXZhdGUgJF9zY29yZTsKICAKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lLCR3ZWlnaHRfa2csJHNjb3JlKQogIHsKICAgICR0aGlzLT5fbmFtZSA9ICRuYW1lOwogICAgJHRoaXMtPl93ZWlnaHRfa2cgPSAoZmxvYXQpJHdlaWdodF9rZzsKICAgICR0aGlzLT5fc2NvcmUgPSAoaW50KSRzY29yZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X25hbWUoJG5hbWUpCiAgewogICAgJHRoaXMtPl9uYW1lID0gJG5hbWU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9uYW1lOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfd2lkdGgoJHdpZHRoKQogIHsKICAgICR0aGlzLT5fd2lkdGhfY20gPSAoZmxvYXQpJHdpZHRoOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfd2lkdGgoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3dpZHRoX2NtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVpZ2h0KCRoZWlnaHQpCiAgewogICAgJHRoaXMtPl9oZWlnaHRfY20gPSAoZmxvYXQpJGhlaWdodDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2hlaWdodCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5faGVpZ2h0X2NtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfbGVuZ3RoKCRsZW5ndGgpCiAgewogICAgJHRoaXMtPl9sZW5ndGhfY20gPSAoZmxvYXQpJGxlbmd0aDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xlbmd0aCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fbGVuZ3RoX2NtOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfd2VpZ2h0KCR3ZWlnaHQpCiAgewogICAgJHRoaXMtPl93ZWlnaHRfa2cgPSAoZmxvYXQpJHdlaWdodDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3dlaWdodCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fd2VpZ2h0X2tnOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc2NvcmUoJHNjb3JlKQogIHsKICAgICR0aGlzLT5fc2NvcmUgPSAoaW50KSRzY29yZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Njb3JlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9zY29yZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gaXNfdmFsaWQoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9uYW1lICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICR0aGlzLT5fd2VpZ2h0X2tnIDw9IDAgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdG9fYXJyYXkoKQogIHsKICAgICRkYXRhID0gYXJyYXkoKTsKICAgICRkYXRhWyduYW1lJ10gPSAkdGhpcy0+X25hbWU7CiAgICAkZGF0YVsnd2lkdGhfY20nXSA9ICR0aGlzLT5fd2lkdGhfY207CiAgICAkZGF0YVsnaGVpZ2h0X2NtJ10gPSAkdGhpcy0+X2hlaWdodF9jbTsKICAgICRkYXRhWydsZW5ndGhfY20nXSA9ICR0aGlzLT5fbGVuZ3RoX2NtOwogICAgJGRhdGFbJ3dlaWdodF9rZyddID0gJHRoaXMtPl93ZWlnaHRfa2c7CiAgICAkZGF0YVsnc2NvcmUnXSA9ICR0aGlzLT5fc2NvcmU7CiAgICByZXR1cm4gJGRhdGE7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGNtcChjZ19lY29tbV9zaGlwcGluZ19ib3gmICRhLGNnX2Vjb21tX3NoaXBwaW5nX2JveCYgJGIpCiAgewogICAgaWYoICRhLT5nZXRfc2NvcmUoKSA8ICRiLT5nZXRfc2NvcmUoKSApIHJldHVybiAtMTsKICAgIGlmKCAkYS0+Z2V0X3Njb3JlKCkgPiAkYi0+Z2V0X3Njb3JlKCkgKSByZXR1cm4gMTsKICAgIGlmKCAkYS0+Z2V0X3dlaWdodCgpIDwgJGItPmdldF93ZWlnaHQoKSApIHJldHVybiAtMTsKICAgIGlmKCAkYS0+Z2V0X3dlaWdodCgpID4gJGItPmdldF93ZWlnaHQoKSApIHJldHVybiAxOwogICAgcmV0dXJuIDA7CiAgfQoKfSAvLyBjbGFzcy4KCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_shipping_package.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vIGEgcGFja2FnZSBjb25zaXN0cyBvZiBudW1lcm91cyBpdGVtcy4KLy8gYSBjb3N0LgovLyBhIHRyYWNraW5nIG51bWJlci4KCmNsYXNzIGNnX2Vjb21tX3NoaXBwaW5nX3BhY2thZ2UKewp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cg_ecomm_shipping_profile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnX2Vjb21tX3NoaXBwaW5nX3Byb2ZpbGUKewogIHByaXZhdGUgJF9ib3hlczsKICBwcml2YXRlICRfb3ZlcndlaWdodF9saW1pdDsKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9vdmVyd2VpZ2h0X2xpbWl0KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9vdmVyd2VpZ2h0X2xpbWl0OwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfb3ZlcndlaWdodF9saW1pdCgkdmFsKQogIHsKICAgICR0aGlzLT5fb3ZlcndlaWdodF9saW1pdCA9IChmbG9hdCkkdmFsOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfYm94X2NvdW50KCkKICB7CiAgICByZXR1cm4gY291bnQoJHRoaXMtPl9ib3hlcyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uICZnZXRfYm94X2F0KCRpZHgpCiAgewogICAgaWYoICRpZHggPj0gMCAmJiAkaWR4IDwgJHRoaXMtPmdldF9ib3hfY291bnQoKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X2JveGVzWyRpZHhdOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9ib3goY2dfZWNvbW1fc2hpcHBpbmdfYm94JiAkYm94KQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9ib3hlcykgKSAkdGhpcy0+X2JveGVzID0gYXJyYXkoKTsKICAgICR0aGlzLT5fYm94ZXNbXSA9ICRib3g7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uICZnZXRfYm94ZXMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2JveGVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfYm94ZXMoJGRhdGEpCiAgewogICAgaWYoICFpc19hcnJheSgkZGF0YSkgKSByZXR1cm47CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKysgKQogICAgICB7CglpZiggISgkZGF0YVskaV0gaW5zdGFuY2VvZiBjZ19lY29tbV9zaGlwcGluZ19ib3gpICkgcmV0dXJuOwogICAgICB9CiAgICAkdGhpcy0+X2JveGVzID0gJGRhdGE7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAkZGF0YVsnb3ZlcndlaWdodF9saW1pdCddID0gJHRoaXMtPmdldF9vdmVyd2VpZ2h0X2xpbWl0KCk7CiAgICBpZiggY291bnQoJHRoaXMtPl9ib3hlcykgKQogICAgICB7CgkkZGF0YVsnYm94ZXMnXSA9IGFycmF5KCk7Cglmb3IoICRpID0gMDsgJGkgPCAkdGhpcy0+Z2V0X2JveF9jb3VudCgpOyAkaSsrICkKCSAgewoJICAgICRkYXRhWydib3hlcyddW10gPSAkdGhpcy0+Z2V0X2JveF9hdCgkaSktPnRvX2FycmF5KCk7CgkgIH0KICAgICAgfQogIH0KCgp9IC8vIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/interface.cgecomm_cart_module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmludGVyZmFjZSBjZ2Vjb21tX2NhcnRfbW9kdWxlCnsKICBwdWJsaWMgZnVuY3Rpb24gRXJhc2VDYXJ0KCk7CgogIHB1YmxpYyBmdW5jdGlvbiAmR2V0QmFza2V0SXRlbXMoJG5hbWUsJGZldV91aWQgPSAtMSk7CgogIHB1YmxpYyBmdW5jdGlvbiBHZXRCYXNrZXREZXRhaWxzKCRuYW1lLCRmZXVfdWlkID0gLTEpOwoKICBwdWJsaWMgZnVuY3Rpb24gR2V0QmFza2V0TmFtZXMoJGZldV91aWQ9JycpOwoKICBwdWJsaWMgZnVuY3Rpb24gR2V0TnVtQmFza2V0cygpOwoKICBwdWJsaWMgZnVuY3Rpb24gR2V0TnVtSXRlbXMoKTsKCiAgcHVibGljIGZ1bmN0aW9uIEdldFRvdGFsKCk7CgogIHB1YmxpYyBmdW5jdGlvbiBHZXRUb3RhbFdlaWdodCgpOwoKICBwdWJsaWMgZnVuY3Rpb24gQWRkQ2FydEl0ZW0oJiRvYmosJGJhc2tldF9uYW1lID0gJycpOwoKICBwdWJsaWMgZnVuY3Rpb24gJkdldEl0ZW1zKCk7CgogIHB1YmxpYyBmdW5jdGlvbiBTZXRJdGVtcygkaXRlbXMpOwoKICBwdWJsaWMgZnVuY3Rpb24gSXNDYXJ0TW9kdWxlKCk7CgogIHB1YmxpYyBmdW5jdGlvbiBTdXBwb3J0c1NoaXBwaW5nSW5mbygpOwoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkZHRvY2FydF9mb3JtKCRwYXJhbXMpOwp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gZXZlbnRzCiR0aGlzLT5DcmVhdGVFdmVudCgnQ2FydEFkanVzdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnQ2FydEl0ZW1BZGRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ09yZGVyQ3JlYXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ09yZGVyVXBkYXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ09yZGVyRGVsZXRlZCcpOwoKLy8gdGVtcGxhdGVzLgpjZ19lY29tbTo6cmVzZXRfbGluZWl0ZW1fZGVzYygpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gZXZlbnRzCiR0aGlzLT5SZW1vdmVFdmVudCgnQ2FydEFkanVzdGVkJyk7CiR0aGlzLT5SZW1vdmVFdmVudCgnQ2FydEl0ZW1BZGRlZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnQoJ09yZGVyQ3JlYXRlZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnQoJ09yZGVyVXBkYXRlZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnQoJ09yZGVyRGVsZXRlZCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRWNvbW1lcmNlQmFzZSAoYykgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBhIGJhc2UgY29tbXVuaWNhdGlvbnMKIyAgbGF5ZXIgYW5kIGNvbW1vbiBwcmVmZXJlbmNlIHJlcG9zaXRvcnkgZm9yIGhpcyBlY29tbWVyY2Ugc3VpdGUgb2YKIyAgbW9kdWxlcyBmb3IgQ01TTVMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_cart_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2FydF9tb2R1bGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNhcnRfbW9kdWxlIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY2FydF9tb2R1bGVzIHNlbGVjdGVkPSRjYXJ0X21vZHVsZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2NhcnRfbW9kdWxlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_general_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3VycmVuY3lfc3ltYm9sJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1cnJlbmN5X3N5bWJvbCIgdmFsdWU9InskY3VycmVuY3lfc3ltYm9sfSIgc2l6ZT0iNCIgbWF4bGVuZ3RoPSI0Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjdXJyZW5jeV9jb2RlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1cnJlbmN5X2NvZGUiIHZhbHVlPSJ7JGN1cnJlbmN5X2NvZGV9IiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3dlaWdodF91bml0cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH13ZWlnaHRfdW5pdHMiIHZhbHVlPSJ7JHdlaWdodF91bml0c30iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGVuZ3RoX3VuaXRzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1sZW5ndGhfdW5pdHMiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR1bml0cyBzZWxlY3RlZD0kbGVuZ3RoX3VuaXRzfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_myinfo_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NvbXBhbnknKX06KjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNvbXBhbnkiIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskbXlfYWRkcmVzcy0+Z2V0X2NvbXBhbnkoKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maXJzdG5hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Zmlyc3RuYW1lIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSI1MCIgdmFsdWU9InskbXlfYWRkcmVzcy0+Z2V0X2ZpcnN0bmFtZSgpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xhc3RuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWxhc3RuYW1lIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSI1MCIgdmFsdWU9InskbXlfYWRkcmVzcy0+Z2V0X2xhc3RuYW1lKCl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYWRkcmVzczEnKX06KjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFkZHJlc3MxIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIxMDAiIHZhbHVlPSJ7JG15X2FkZHJlc3MtPmdldF9hZGRyZXNzMSgpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FkZHJlc3MyJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFkZHJlc3MyIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIxMDAiIHZhbHVlPSJ7JG15X2FkZHJlc3MtPmdldF9hZGRyZXNzMigpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NpdHknKX06KjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNpdHkiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjUwIiB2YWx1ZT0ieyRteV9hZGRyZXNzLT5nZXRfY2l0eSgpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3N0YXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zdGF0ZSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHN0YXRlX2xpc3Qgc2VsZWN0ZWQ9JG15X2FkZHJlc3MtPmdldF9zdGF0ZSgpfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcG9zdGFsJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXBvc3RhbCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iMjUiIHZhbHVlPSJ7JG15X2FkZHJlc3MtPmdldF9wb3N0YWwoKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jb3VudHJ5Jyl9Oio8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y291bnRyeSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGNvdW50cnlfbGlzdCBzZWxlY3RlZD0kbXlfYWRkcmVzcy0+Z2V0X2NvdW50cnkoKX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Bob25lJyl9Oio8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1waG9uZSIgc2l6ZT0iMTIiIG1heGxlbmd0aD0iMjUiIHZhbHVlPSJ7JG15X2FkZHJlc3MtPmdldF9waG9uZSgpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZheCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1mYXgiIHNpemU9IjEyIiBtYXhsZW5ndGg9IjI1IiB2YWx1ZT0ieyRteV9hZGRyZXNzLT5nZXRfZmF4KCl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW1haWwnKX06KjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWVtYWlsIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JG15X2FkZHJlc3MtPmdldF9lbWFpbCgpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_payments_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGF5bWVudF9tb2R1bGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXBheW1lbnRfbW9kdWxlIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcGF5bWVudF9tb2R1bGVzIHNlbGVjdGVkPSRwYXltZW50X21vZHVsZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3BheW1lbnRfbW9kdWxlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_promotions_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbW90aW9uc19tb2R1bGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXByb21vdGlvbnNfbW9kdWxlIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcHJvbW90aW9uc19tb2R1bGVzIHNlbGVjdGVkPSRwcm9tb3Rpb25zX21vZHVsZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3Byb21vdGlvbnNfbW9kdWxlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_shipping_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y2dfYWN0aXZldGFiIiB2YWx1ZT0ic2hpcHBpbmciPnsqIGEgbGl0dGxlIHRyaWNrIGZvciB0aGUgdGFiICp9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc2hpcHBpbmdfbW9kdWxlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zaGlwcGluZ19tb2R1bGUiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzaGlwcGluZ19tb2R1bGVzIHNlbGVjdGVkPSRzaGlwcGluZ19tb2R1bGV9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19zaGlwcGluZ19tb2R1bGUnKX0KICA8L3A+CjwvZGl2PgoKe2lmIGlzc2V0KCRwcm9kdWN0c19jaGVja2JveGVzKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzaGlwX3NlcGVyYXRlbHlfZmllbGQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXNoaXBfc2VwZXJhdGVseSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHByb2R1Y3RzX2NoZWNrYm94ZXMgc2VsZWN0ZWQ9JHNoaXBfc2VwZXJhdGVseX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3NoaXBfc2VwZXJhdGVseScpfQogIDwvcD4KPC9kaXY+CnsvaWZ9Cgp7aWYgaXNzZXQoJHByb2R1Y3RzX2RpbWVuc2lvbnMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NoaXBfZGltZW5zaW9uc19maWVsZCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9c2hpcF9kaW1lbnNpb25zIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcHJvZHVjdHNfZGltZW5zaW9ucyBzZWxlY3RlZD0kc2hpcF9kaW1lbnNpb25zfQogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fc2hpcF9zZXBlcmF0ZWx5Jyl9CiAgPC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X292ZXJ3ZWlnaHRfbGltaXQnKX0gKHskd2VpZ2h0X3VuaXRzfSk6PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9b3ZlcndlaWdodF9saW1pdCIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSI1IiB2YWx1ZT0ieyRzaGlwcGluZ19wcm9maWxlLT5nZXRfb3ZlcndlaWdodF9saW1pdCgpfG51bWJlcl9mb3JtYXQ6Mn0iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19vdmVyd2VpZ2h0X2xpbWl0Jyl9CiAgPC9wPgo8L2Rpdj4KCjxmaWVsZHNldCBzdHlsZT0id2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7Ij4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X3NoaXBwaW5nX2JveGVzJyl9OjwvbGVnZW5kPgp7YXNzaWduIHZhcj0nYm94ZXMnIHZhbHVlPSRzaGlwcGluZ19wcm9maWxlLT5nZXRfYm94ZXMoKX0KPHRhYmxlPgogIDx0aGVhZD4KICA8dHI+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9PC90ZD4KICAgIDx0ZD57JG1vZC0+TGFuZygncHJvbXB0X3dpZHRoJyl9KHskbGVuZ3RoX3VuaXRzfSkpPC90ZD4KICAgIDx0ZD57JG1vZC0+TGFuZygncHJvbXB0X2hlaWdodCcpfSh7JGxlbmd0aF91bml0c30pKTwvdGQ+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9sZW5ndGgnKX0oeyRsZW5ndGhfdW5pdHN9KSk8L3RkPgogICAgPHRkPnskbW9kLT5MYW5nKCdwcm9tcHRfd2VpZ2h0Jyl9KHskd2VpZ2h0X3VuaXRzfSkpPC90ZD4KICAgIDx0ZD57JG1vZC0+TGFuZygncHJvbXB0X3NvcnRpbmcnKX08L3RkPgogIDwvdHI+CiAgPC90aGVhZD4KICA8L3Rib2R5PgogIHtmb3JlYWNoIGZyb209JGJveGVzIGl0ZW09J2JveCd9CiAgPHRyPgogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWJveF9uYW1lW3skYm94LT5nZXRfbmFtZSgpfV0iIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0ieyRib3gtPmdldF9uYW1lKCl9Ii8+PC90ZD4KICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1ib3hfd2lkdGhbeyRib3gtPmdldF9uYW1lKCl9XSIgc2l6ZT0iNCIgbWF4bGVuZ3RoPSI0IiB2YWx1ZT0ieyRib3gtPmdldF93aWR0aCgpfG51bWJlcl9mb3JtYXQ6Mn0iLz48L3RkPgogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWJveF9oZWlnaHRbeyRib3gtPmdldF9uYW1lKCl9XSIgc2l6ZT0iNCIgbWF4bGVuZ3RoPSI0IiB2YWx1ZT0ieyRib3gtPmdldF9oZWlnaHQoKXxudW1iZXJfZm9ybWF0OjJ9Ii8+PC90ZD4KICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1ib3hfbGVuZ3RoW3skYm94LT5nZXRfbmFtZSgpfV0iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIgdmFsdWU9InskYm94LT5nZXRfbGVuZ3RoKCl8bnVtYmVyX2Zvcm1hdDoyfSIvPjwvdGQ+CiAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Ym94X3dlaWdodFt7JGJveC0+Z2V0X25hbWUoKX1dIiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiIHZhbHVlPSJ7JGJveC0+Z2V0X3dlaWdodCgpfG51bWJlcl9mb3JtYXQ6Mn0iLz48L3RkPgogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWJveF9zY29yZVt7JGJveC0+Z2V0X25hbWUoKX1dIiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiIHZhbHVlPSJ7JGJveC0+Z2V0X3Njb3JlKCl9Ii8+PC90ZD4KICA8L3RyPgogIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgo8L2ZpZWxkc2V0PgoKCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXNoaXBwaW5nX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_suppliers_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3VwcGxpZXJfbW9kdWxlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9c3VwcGxpZXJfbW9kdWxlc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjMiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzdXBwbGllcl9hbGxfbW9kdWxlcyBzZWxlY3RlZD0kc3VwcGxpZXJfbW9kdWxlc30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3N1cHBsaWVyX21vZHVsZXMnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2xpbmVpdGVtX2Rlc2NfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF9saW5laXRlbV9kZXNjX3RlbXBsYXRlfQogICAgPGJyLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfbGluZWl0ZW1fZGVzYyIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldCcpfSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2xpbmVpdGVtX2Rlc2NfdGVtcGxhdGUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2F0dHJpYl9pdGVtX2Rlc2NyaXB0aW9uJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWF0dHJpYl9pdGVtX2Rlc2NyaXB0aW9uIiB2YWx1ZT0ieyRhdHRyaWJfaXRlbV9kZXNjcmlwdGlvbn0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjUxMiIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2F0dHJpYl9pdGVtX2Rlc2NyaXB0aW9uJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_taxes_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGF4X21vZHVsZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dGF4X21vZHVsZSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHRheF9tb2R1bGVzIHNlbGVjdGVkPSR0YXhfbW9kdWxlfQogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fdGF4X21vZHVsZScpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_lineitem_desc_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcHJvZHVjdCBzdW1tYXJ5IHRlbXBsYXRlICp9CnsqIHVzZWQgZm9yIHN1bW1hcml6aW5nIHByb2R1Y3RzIGluIHZpZXcgY2FydCBmb3JtIHBhZ2UgKn0Ke3N0cmlwfQp7JG9uZXByb2R1Y3QucHJvZHVjdF9uYW1lfSZuYnNwOwp7Zm9yZWFjaCBmcm9tPSRtZXRhLT5hdHRyaWJ1dGVzIGl0ZW09J2F0dHJpYid9CiAgeyRhdHRyaWItPm5hbWV9Jm5ic3A7e2lmICRhdHRyaWItPmFkanVzdG1lbnQgIT0gMH17JGN1cnJlbmN5c3ltYm9sfSh7JGF0dHJpYi0+YWRqdXN0bWVudHxudW1iZXJfZm9ybWF0OjJ9KXsvaWZ9Jm5ic3A7CnsvZm9yZWFjaH0Key9zdHJpcH0=]]></data>
	</file>
</module>
