<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>CGSimpleSmarty</name>
	<version>1.2</version>
  <mincmsversion>1.2</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4KPHVsPgo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkKICAgIDxwPlRlc3QgaWYgYSBwYXJ0aWN1bGFyIG1vZHVsZSBpcyBpbnN0YWxsZWQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0mZ3Q7bW9kdWxlX2luc3RhbGxlZCgnRnJvbnRFbmRVc2VycycpfUZvdW5kIEZFVXsvaWZ9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+CiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnskY2dzaW1wbGUtJmd0O21vZHVsZV92ZXJzaW9uKCdGcm9udEVuZFVzZXJzJywnZmV1X3ZlcnNpb24nKX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyByb290IHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcm9vdCBwYXJlbnQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmd0O2dldF9wYWdlX3RpdGxlKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnskY2dzaW1wbGUtJmd0O2hhc19jaGlsZHJlbignJywkaGFzX2NoaWxkcmVuKX17aWYgJGhhc19jaGlsZHJlbn1UaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbntlbHNlfVRoZSBjdXJyZW50IHBhZ2UgaGFzIG5vIGNoaWxkcmVuey9pZn08L3ByZT4KICAgIDwvcD4KPC9saT4KCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+CiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCwgJ2NvbnRlbnRfZW4nIGlzIGFzc3VtZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KPC91bD4KPGg0Pk90aGVyIFNtYXJ0eSBmdW5jdGlvbnM8L2g0Pgo8dWw+CiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPgogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIGNyZWF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG88L2xpPgogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPgogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPgogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwYWdlPC9saT4KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIEEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBsaW5rIGlzIGNsaWNrZWQuPC9saT4KICAgICAgIDxsaT5pbWFnZSAtIEFuIGltYWdlIHRvIHVzZSBvbiB0aGUgbGluazwvbGk+CiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOgo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdOZXdzJyBhY3Rpb249J2Zlc3VibWl0JyB0ZXh0PSdTdWJtaXQgYSBOZXcgTmV3cyBBcnRpY2xlJ308L3ByZT48L3A+PC9saT4KCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+CiAgICA8cD5Bbm90aGVyIHNtYXJ0eSBwbHVnaW4gdGhhdCB3aWxsIGFsbG93IHJlcGVhdGluZyB0ZXh0PC9wPgogICAgPHA+QXJndW1lbnRzOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gYmUgcmVwZWF0ZWQ8L2xpPgogICAgICAgIDxsaT5jb3VudCAtIFRoZSBudW1iZXIgb2YgdGltZXMgaXQgc2hvdWxkIGJlIHJlcGVhdGVkPC9saT4KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPgogICAgICA8L3VsPgogICAgPGJyLz4KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9J3RoaXMnIGNvdW50PSc1J308L3ByZT48L3A+CiAgICA8L2xpPgo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPg==</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtyb2JAdGVjaGNvbS5keW5kbnMub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPjEuMiAtIE1hcmNoLCAyMDA4CiAgPHA+QWRkIHRoZSBjZ3JlcGVhdCBzbWFydHkgcGx1Z2luPC9wPgogIDxwPkFkZCBpbWFnZSBzdXBwb3J0IHRvIHRoZSBtb2R1bGVfYWN0aW9uX2xpbmsgc21hcnR5IHBsdWdpbjwvcD4KICA8cD5VcGRhdGUgY29weXJpZ2h0IGFuZCBsaWNlbnNlPC9wPgo8L2xpPgo8bGk+MS4xLjEgLSBGZWJydWFyeSwgMjAwOAogIDxwPkZpeCBtaW5vciBwcm9ibGVtIHdpdGggdGhlIG1vZHVsZV9leGlzdHMgbWV0aG9kPC9wPgo8L2xpPgo8bGk+MS4xIC0gRmVicnVhcnksIDIwMDgKICA8cD5BZGRlZCBnZXRfcGFnZV9tZW51dGV4dCgpIG1ldGhvZDwvcD4KICA8cD5BZGRlZCBtb2R1bGVfYWN0aW9uX2xpbms8L3A+CjwvbGk+CjxsaT4xLjAgLSBEZWNlbWJlciwgMjAwNwogIDxwPkluaXRpYWwgcmVsZWFzZTwvcD4KPC9saT4KPC91bD48YnIgLz4=</about>
	<description>Calguys Simple Smarty Tools</description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/CGSimpleSmarty.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2Z1bmN0aW9uLm1vZHVsZV9hY3Rpb24ucGhwJyk7CiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2Z1bmN0aW9uLnJlcGVhdC5waHAnKTsKcmVxdWlyZV9vbmNlKCRmbik7CgpjbGFzcyBDR1NpbXBsZVNtYXJ0eSBleHRlbmRzIENNU01vZHVsZQp7CiAgZnVuY3Rpb24gQ0dTaW1wbGVTbWFydHkoKQogIHsKICAgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2NsYXNzLmNnc2ltcGxlLnBocCcpOwogICAgcmVxdWlyZV9vbmNlKCRmbik7CgogICAgZ2xvYmFsICRnQ21zOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkb2JqID0gbmV3IGNnU2ltcGxlKCR0aGlzKTsKICAgICRzbWFydHktPmFzc2lnbignY2dzaW1wbGUnLCRvYmopOwoKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdtb2R1bGVfYWN0aW9uX2xpbmsnLCdtb2R1bGVfYWN0aW9uX2xpbmsnKTsKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3JlcGVhdCcsJ3NtYXJ0eV9mdW5jdGlvbl9jZ3JlcGVhdCcpOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuICdDR1NpbXBsZVNtYXJ0eSc7CiAgfQogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZyaWVuZGx5TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogIH0KICAKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMic7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4yJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCiAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUKICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuIEl0IGhlbHBzIHVzZXJzCiAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLAogICBxdWVzdGlvbnMsIGNhc2VzIG9mIGJlZXIsIGFuZC9vciBsYXJnZSBzdW1zIG9mIG1vbmV5LgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ3JvYkB0ZWNoY29tLmR5bmRucy5vcmcnOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gZmFsc2U7IC8vIEkgdGhpbmsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhbmRsZXNFdmVudHMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZXNFdmVudHMgKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGwoKQogIHsKICAgIC8vJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ1NlYXJjaCcsICdTZWFyY2hJdGVtQWRkZWQnLCBmYWxzZSApOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQogIAoKCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/class.cgsimple.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIGNnU2ltcGxlCnsKICB2YXIgJF9tb2R1bGU7CgogIC8vLy8vLy8vLwogIC8vIENvbnN0cnVjdG9yCiAgLy8vLy8vLy8vCiAgZnVuY3Rpb24gY2dTaW1wbGUoJiRtb2R1bGUpCiAgewogICAgJHRoaXMtPl9tb2R1bGUgPSYgJG1vZHVsZTsKICB9CgoKICAvLy8vLy8vLy8vCiAgLy8gQSBmdW5jdGlvbiB0byB0ZXN0IGlmIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSBpcyBpbnN0YWxsZWQKICAvLy8vLy8vLy8vCiAgZnVuY3Rpb24gbW9kdWxlX2luc3RhbGxlZCgkbW9kdWxlLCRhc3NpZ24gPSAnJykKICB7CiAgICBpZiggJG1vZHVsZSA9PSAnJyApIHJldHVybiAwOwogICAgJG1vZHVsZSA9JiAkdGhpcy0+X21vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJG1vZHVsZSk7CgogICAgJHJlc3VsdCA9IDA7CiAgICBpZiggaXNfb2JqZWN0KCAkbW9kdWxlICkgKSAkcmVzdWx0ID0gMTsKCiAgICBpZiggIWVtcHR5KCRhc3NpZ24pICkKICAgICAgewoJZ2xvYmFsICRnQ21zOwoJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7Cgkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0KTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKICAvLy8vLy8vLy8KICAvLyBBIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgcGFyZW50IHBhZ2UgYWxpYXMgb2YgYSBnaXZlbiBwYWdlIG9yCiAgLy8gb2YgdGhlIGN1cnJlbnQgcGFnZQogIC8vLy8vLy8vLwogIGZ1bmN0aW9uIGdldF9wYXJlbnRfYWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRhbGlhcyA9PSAnJyApCiAgICAgIHsKCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgIH0KICAgICRjb250ZW50ID0mICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwogICAgaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKICAgICRwYXJlbnRpZCA9ICRjb250ZW50LT5QYXJlbnRJZCgpOwogICAgaWYoICRwYXJlbnRpZCA8PSAwICkgcmV0dXJuICcnOwogICAgJGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JZCgkcGFyZW50aWQpOwoKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRhbGlhczsKICB9CgogIAogIC8vLy8vLy8vLwogIC8vIEEgZnVuY3Rpb24gdG8gcmV0dXJuIHRoZSB0b3Btb3N0IHBhcmVudCBwYWdlIGFsaWFzIG9mIGEgZ2l2ZW4gcGFnZSBvcgogIC8vIG9mIHRoZSBjdXJyZW50IHBhZ2UKICAvLy8vLy8vLy8KICBmdW5jdGlvbiBnZXRfcm9vdF9hbGlhcygkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgICBpZiggJGFsaWFzID09ICcnICkKICAgICAgewoJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKICAgICAgfQogICAgJGlkID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VJREZyb21BbGlhcygkYWxpYXMpOwogICAgCiAgICB3aGlsZSggJGlkID4gMCApCiAgICAgIHsKCSRjb250ZW50ID0mICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21JZCgkaWQpOwoJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgkkYWxpYXMgPSAkY29udGVudC0+QWxpYXMoKTsKCSRpZCA9ICRjb250ZW50LT5QYXJlbnRJZCgpOwogICAgICB9CiAgICAKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRhbGlhczsKICB9CgoKICAvLy8vLy8vLy8KICAvLyBBIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgcGFnZSB0aXRsZSBvZiBhIGdpdmVuIHBhZ2Ugb3IKICAvLyBvZiB0aGUgY3VycmVudCBwYWdlCiAgLy8vLy8vLy8vCiAgZnVuY3Rpb24gZ2V0X3BhZ2VfdGl0bGUoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRhbGlhcyA9PSAnJyApCiAgICAgIHsKCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgIH0KICAgICRjb250ZW50ID0mICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwogICAgaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGNvbnRlbnQtPk5hbWUoKSk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkY29udGVudC0+TmFtZSgpOwogIH0KCiAgCiAgLy8vLy8vLy8vCiAgLy8gQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIG1lbnV0ZXh0IG9mIGEgZ2l2ZW4gcGFnZSBvcgogIC8vIG9mIHRoZSBjdXJyZW50IHBhZ2UKICAvLy8vLy8vLy8KICBmdW5jdGlvbiBnZXRfcGFnZV9tZW51dGV4dCgkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgICBpZiggJGFsaWFzID09ICcnICkKICAgICAgewoJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKICAgICAgfQogICAgJGNvbnRlbnQgPSYgJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CiAgICBpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgogICAgaWYoICRhc3NpZ24gIT0gJycgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+TWVudVRleHQoKSk7CglyZXR1cm47CiAgICAgIH0KICAgIHJldHVybiAkY29udGVudC0+TWVudVRleHQoKTsKICB9CgogIAogIC8vLy8vLy8vLwogIC8vIEEgZnVuY3Rpb24gdG8gdGVzdCBpZiBhIGdpdmVuIChvciB0aGUgY3VycmVudCBwYWdlKSBoYXMKICAvLyBjaGlsZHJlbi4KICAvLy8vLy8vLy8KICBmdW5jdGlvbiBoYXNfY2hpbGRyZW4oJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogIHsKICAgICRyZXN1bHQgPSBmYWxzZTsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgaWYoICRhbGlhcyA9PSAnJyApCiAgICAgIHsKCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgIH0KCiAgICAkY29udGVudCA9JiAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApICRyZXN1bHQgPSBmYWxzZTsKICAgICRyZXN1bHQgPSAkY29udGVudC0+SGFzQ2hpbGRyZW4oKTsKCiAgICBpZiggJGFzc2lnbiAhPSAnJyApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHQpOwoJcmV0dXJuOwogICAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXR1cm4gYSBtb2R1bGUncyB2ZXJzaW9uCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gbW9kdWxlX3ZlcnNpb24oJG5hbWUsICRhc3NpZ24gPSAnJykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkb3V0ID0gJyc7CiAgICBpZiggIWVtcHR5KCRuYW1lKSApCiAgICAgIHsKCWlmKCBpc3NldCggJGdDbXMtPm1vZHVsZXNbJG5hbWVdICkgKQoJICB7CgkgICAgJG9iaiA9JiAkZ0Ntcy0+bW9kdWxlc1skbmFtZV1bJ29iamVjdCddOwoJICAgICRvdXQgPSAkb2JqLT5HZXRWZXJzaW9uKCk7CgkgIH0KICAgICAgfQoKICAgIGlmKCAkYXNzaWduICE9ICcnICkKICAgICAgewoJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7Cgkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkb3V0KTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICAKICAvLy8vLy8vLy8vCiAgLy8gR2V0IHBhZ2UgY29udGVudCBmcm9tIGEgY29udGVudCBibG9jawogIC8vLy8vLy8vLy8KICBmdW5jdGlvbiBnZXRfcGFnZV9jb250ZW50KCRhbGlhcywkYmxvY2sgPSAnJywkYXNzaWduID0gJycpCiAgewogICAgJHJlc3VsdCA9IGZhbHNlOwogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgICBpZiggJGJsb2NrID09ICcnICkgJGJsb2NrID0gJ2NvbnRlbnRfZW4nOwoKICAgIGlmKCAkYWxpYXMgIT0gJycgKQogICAgICB7CgkkY29udGVudCA9JiAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApICRyZXN1bHQgPSBmYWxzZTsKICAgIAoJaWYoICRibG9jayAhPSAnY29udGVudF9lbicgKQoJICB7CgkgICAgJGNvbnRlbnQtPkdldEFkZGl0aW9uYWxDb250ZW50QmxvY2tzKCk7CgkgIH0KCSRyZXN1bHQgPSAkY29udGVudC0+R2V0UHJvcGVydHlWYWx1ZSgkYmxvY2spOwogICAgICB9CgogICAgaWYoICRhc3NpZ24gIT0gJycgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJHNtYXJ0eSwkcmVzdWx0KTsKCXJldHVybjsKICAgICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKfTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.module_action.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8KLy8gQSBzaW1wbGUgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbgovLy8vLy8vLy8vCmZ1bmN0aW9uIG1vZHVsZV9hY3Rpb25fbGluaygkcGFyYW1zLCAmJHNtYXJ0eSkKewogIGdsb2JhbCAkZ0NtczsKCiAgaWYoICFpc3NldCgkcGFyYW1zWydtb2R1bGUnXSkgKQogICAgewogICAgICAvLyBub3RoaW5nIHRvIGRvCiAgICAgIHJldHVybjsKICAgIH0KICAkbW9kdWxlID0gJHBhcmFtc1snbW9kdWxlJ107CiAgdW5zZXQoJHBhcmFtc1snbW9kdWxlJ10pOwoKICBpZiggIWlzc2V0KCRnQ21zLT5tb2R1bGVzWyRtb2R1bGVdWydvYmplY3QnXSkgKQogICAgewogICAgICAvLyBub3RoaW5nIHRvIGRvCiAgICAgIHJldHVybjsKICAgIH0KCiAgJHRleHQgPSAkbW9kdWxlOwogIGlmKCBpc3NldCgkcGFyYW1zWyd0ZXh0J10pICkKICAgIHsKICAgICAgJHRleHQgPSB0cmltKCRwYXJhbXNbJ3RleHQnXSk7CiAgICAgIHVuc2V0KCRwYXJhbXNbJ3RleHQnXSk7CiAgICB9CgogICRjb25mbWVzc2FnZSA9ICcnOwogIGlmKCBpc3NldCgkcGFyYW1zWydjb25mbWVzc2FnZSddKSApCiAgICB7CiAgICAgICRjb25mbWVzc2FnZSA9IHRyaW0oJHBhcmFtc1snY29uZm1lc3NhZ2UnXSk7CiAgICAgIHVuc2V0KCRwYXJhbXNbJ2NvbmZtZXNzYWdlJ10pOwogICAgfQoKICAkaW1hZ2UgPSAnJzsKICBpZiggaXNzZXQoJHBhcmFtc1snaW1hZ2UnXSkgKQogICAgewogICAgICAkaW1hZ2UgPSB0cmltKCRwYXJhbXNbJ2ltYWdlJ10pOwogICAgICB1bnNldCgkcGFyYW1zWydpbWFnZSddKTsKICAgIH0KCiAgJGFjdGlvbiA9ICdkZWZhdWx0JzsKICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aW9uJ10pICkKICAgIHsKICAgICAgJGFjdGlvbiA9ICRwYXJhbXNbJ2FjdGlvbiddOwogICAgICB1bnNldCgkcGFyYW1zWydhY3Rpb24nXSk7CiAgICB9CgogICRpbWFnZW9ubHkgPSBmYWxzZTsKICBpZiggaXNzZXQoJHBhcmFtc1snaW1hZ2Vvbmx5J10pICkKICAgIHsKICAgICAgJGltYWdlb25seSA9IHRydWU7CiAgICAgIHVuc2V0KCRwYXJhbXNbJ2ltYWdlb25seSddKTsKICAgIH0KCi8vICAgJGlubGluZSA9IDA7Ci8vICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSApCi8vICAgICB7Ci8vICAgICAgICRpbmxpbmUgPSAoaW50KSRwYXJhbXNbJ2lubGluZSddOwovLyAgICAgICB1bnNldCgkcGFyYW1zWydpbmxpbmUnXSk7Ci8vICAgICB9CgogICRwYWdlaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydjb250ZW50X2lkJ107CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2UnXSkgKQogICAgewogICAgICAvLyBjb252ZXJ0IHRoZSBwYWdlIGFsaWFzIHRvIGFuIGlkCiAgICAgICRtcWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgICAkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3BhZ2UnXSk7CiAgICAgIGlmIChpc3NldCgkbm9kZSkpCgl7CgkgICRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQoJICBpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICAgIHsKCSAgICAgICRwYWdlaWQgPSAkY29udGVudC0+SWQoKTsKCSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydwYWdlJ10pOwoJICBpZiAoaXNzZXQoJG5vZGUpKQoJICAgIHsKCSAgICAgICRwYWdlaWQgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgICAgfQoJfQogICAgICB1bnNldCgkcGFyYW1zWydwYWdlJ10pOwogICAgfQoKICAkdXJsb25seSA9IGZhbHNlOwogIGlmKCBpc3NldCgkcGFyYW1zWyd1cmxvbmx5J10pICkKICAgIHsKICAgICAgJHVybG9ubHkgPSB0cnVlOwogICAgICB1bnNldCgkcGFyYW1zWyd1cmxvbmx5J10pOwogICAgfQoKICAKICAkb2JqID0mICRnQ21zLT5tb2R1bGVzWyRtb2R1bGVdWydvYmplY3QnXTsKICBpZiggIWVtcHR5KCRpbWFnZSkgJiYgbWV0aG9kX2V4aXN0cygkb2JqLCdDcmVhdGVJbWFnZUxpbmsnKSAmJiAkdXJsb25seSA9PSBmYWxzZSApCiAgICB7CiAgICAgICRvdXRwdXQgPSAkb2JqLT5DcmVhdGVJbWFnZUxpbmsoJ2p1bmsnLCRhY3Rpb24sJHBhZ2VpZCwkdGV4dCwkaW1hZ2UsCgkJCQkgICAgICAkcGFyYW1zLCcnLCRjb25mbWVzc2FnZSwkaW1hZ2Vvbmx5KTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRvdXRwdXQgPSAkb2JqLT5DcmVhdGVMaW5rKCdqdW5rJywkYWN0aW9uLCRwYWdlaWQsJHRleHQsJHBhcmFtcywkY29uZm1lc3NhZ2UsJHVybG9ubHkpOwogICAgfQogIHJldHVybiAkb3V0cHV0Owp9CgojIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.repeat.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8KLy8gQSBzaW1wbGUgZnVuY3Rpb24gdG8gcmVwZWF0IGEgc3RyaW5nIE4gdGltZXMKLy8vLy8vLy8vLwpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fY2dyZXBlYXQoJHBhcmFtcywgJiRzbWFydHkpCnsKICAkbnVtID0gMTsKICBpZiggIWlzc2V0KCRwYXJhbXNbJ3RleHQnXSkgKSByZXR1cm47CiAgJHRleHQgPSAkcGFyYW1zWyd0ZXh0J107CgogIGlmKCBpc3NldCgkcGFyYW1zWydjb3VudCddKSApCiAgICB7CiAgICAgICRudW0gPSAoaW50KSRwYXJhbXNbJ2NvdW50J107CiAgICB9CgogICRvdXQgPSAnJzsKICBmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkKICAgIHsKICAgICAgJG91dCAuPSAkdGV4dDsKICAgIH0KICAKICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkKICAgIHsKICAgICAgZ2xvYmFsICRnQ21zOwogICAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKHRyaW0oJHBhcmFtc1snYXNzaWduJ10pLCRvdXQpOwogICAgICByZXR1cm47CiAgICB9CgogIHJldHVybiAkb3V0Owp9CgojIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgQwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QKPHVsPgo8bGk+MS4yIC0gTWFyY2gsIDIwMDgKICA8cD5BZGQgdGhlIGNncmVwZWF0IHNtYXJ0eSBwbHVnaW48L3A+CiAgPHA+QWRkIGltYWdlIHN1cHBvcnQgdG8gdGhlIG1vZHVsZV9hY3Rpb25fbGluayBzbWFydHkgcGx1Z2luPC9wPgogIDxwPlVwZGF0ZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2U8L3A+CjwvbGk+CjxsaT4xLjEuMSAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHA+Rml4IG1pbm9yIHByb2JsZW0gd2l0aCB0aGUgbW9kdWxlX2V4aXN0cyBtZXRob2Q8L3A+CjwvbGk+CjxsaT4xLjEgLSBGZWJydWFyeSwgMjAwOAogIDxwPkFkZGVkIGdldF9wYWdlX21lbnV0ZXh0KCkgbWV0aG9kPC9wPgogIDxwPkFkZGVkIG1vZHVsZV9hY3Rpb25fbGluazwvcD4KPC9saT4KPGxpPjEuMCAtIERlY2VtYmVyLCAyMDA3CiAgPHA+SW5pdGlhbCByZWxlYXNlPC9wPgo8L2xpPgo8L3VsPgpFT1Q7CgojIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5JzsKCiMgSAokbGFuZ1snaGVscCddID0gPDw8RU9YCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgo8cD5XaGVuIHRoaXMgbW9kdWxlIGlzIGluc3RhbGxlZCwgYSBuZXcgc21hcnR5IG9iamVjdCBuYW1lZCBjZ3NpbXBsZSBpcyBhdXRvbWF0aWNhbGx5IGF2YWlsYWJsZSB0byB5b3VyIHBhZ2UgdGVtcGxhdGVzLCBnbG9iYWwgY29udGVudCBibG9ja3MsIGFuZCB2YXJpb3VzIG1vZHVsZSB0ZW1wbGF0ZXMuICBUaGlzIHNtYXJ0eSBvYmplY3QgaGFzIG51bWVyb3VzIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gY2FsbCBhdCBhbnkgdGltZS48L3A+CjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPihcJG1vZHVsZW5hbWUsW1wkYXNzaWduXSkKICAgIDxwPlRlc3QgaWYgYSBwYXJ0aWN1bGFyIG1vZHVsZSBpcyBpbnN0YWxsZWQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+XCRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+CiAgICAgICAgIDxsaT5bXCRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT57aWYgXCRjZ3NpbXBsZS0mZ3Q7bW9kdWxlX2luc3RhbGxlZCgnRnJvbnRFbmRVc2VycycpfUZvdW5kIEZFVXsvaWZ9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPihcJG1vZHVsZW5hbWUsW1wkYXNzaWduXSkKICAgIDxwPlJldHVybiB0aGUgdmVyc2lvbiBudW1iZXIgb2YgYSBzcGVjaWZpYyBpbnN0YWxsZWQgbW9kdWxlPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+XCRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+CiAgICAgICAgIDxsaT5bXCRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT57XCRjZ3NpbXBsZS0mZ3Q7bW9kdWxlX3ZlcnNpb24oJ0Zyb250RW5kVXNlcnMnLCdmZXVfdmVyc2lvbicpfVdlIGhhdmUgVmVyc2lvbiB7XCRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbXCRhbGlhc10sW1wkYXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPltcJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bXCRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHtcJGNnc2ltcGxlLSZndDtnZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRfcm9vdF9hbGlhczwvc3Ryb25nPihbXCRhbGlhc10sW1wkYXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bXCRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bXCRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMge1wkY2dzaW1wbGUtJmd0O2dldF9yb290X2FsaWFzKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbXCRhbGlhc10sW1wkYXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W1wkYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+W1wkYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtcJGNnc2ltcGxlLSZndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oW1wkYWxpYXNdLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPltcJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPltcJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7XCRjZ3NpbXBsZS0mZ3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmhhc19jaGlsZHJlbjwvc3Ryb25nPihbXCRhbGlhc10sW1wkYXNzaWduXSkKICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W1wkYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bXCRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPntcJGNnc2ltcGxlLSZndDtoYXNfY2hpbGRyZW4oJycsXCRoYXNfY2hpbGRyZW4pfXtpZiBcJGhhc19jaGlsZHJlbn1UaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbntlbHNlfVRoZSBjdXJyZW50IHBhZ2UgaGFzIG5vIGNoaWxkcmVuey9pZn08L3ByZT4KICAgIDwvcD4KPC9saT4KCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KFwkYWxpYXMsW1wkYmxvY2tdLFtcJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlwkYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPgogICAgICAgPGxpPltcJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAnY29udGVudF9lbicgaXMgYXNzdW1lZC48L2xpPgogICAgICAgPGxpPltcJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMge1wkY2dzaW1wbGUtJmd0O2dldF9wYWdlX3RpdGxlKCl9PC9wcmU+CiAgICA8L3A+CjwvbGk+CjwvdWw+CjxoND5PdGhlciBTbWFydHkgZnVuY3Rpb25zPC9oND4KPHVsPgogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvPC9saT4KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4KICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gcHV0IGluIHRoZSBsaW5rPC9saT4KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+CiAgICAgICA8bGk+dXJsb25seSAtIEluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIGxpbmssIGdlbmVyYXRlIGp1c3QgdGhlIHVybDwvbGk+CiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+CiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPgogICAgICAgPGxpPmltYWdlb25seSAtIElmIGFuIGltYWdlIGlzIHNwZWNpZmllZCwgY3JlYXRlIGEgbGluayBvbmx5IGNvbnNpc3Rpbmcgb2YgdGhlIGltYWdlLiAgVGhlIHRleHQgd2lsbCBiZSB1c2VkIGZvciB0aGUgdGl0bGUgYXR0cmlidXRlPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZToKPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nTmV3cycgYWN0aW9uPSdmZXN1Ym1pdCcgdGV4dD0nU3VibWl0IGEgTmV3IE5ld3MgQXJ0aWNsZSd9PC9wcmU+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e2NncmVwZWF0fTwvc3Ryb25nPgogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4KICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICAgIDx1bD4KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4KICAgICAgICA8bGk+Y291bnQgLSBUaGUgbnVtYmVyIG9mIHRpbWVzIGl0IHNob3VsZCBiZSByZXBlYXRlZDwvbGk+CiAgICAgICAgPGxpPmFzc2lnbiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBzcGVjaWZpZWQgc21hcnR5IHZhcmlhYmxlPC9saT4KICAgICAgPC91bD4KICAgIDxici8+CiAgICA8cD5FeGFtcGxlOiA8cHJlPntjZ3JlcGVhdCB0ZXh0PSd0aGlzJyBjb3VudD0nNSd9PC9wcmU+PC9wPgogICAgPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KRU9YOwoKIyBNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgU2ltcGxlIFNtYXJ0eSBUb29scyc7CgojIFAKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaXMgbm93IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaGFzIGJlZW4gcmVtb3ZlZCc7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjEgLSBGZWJydWFyeSwgMjAwOA0KICA8cD5BZGRlZCBtb2R1bGVfYWN0aW9uX2xpbms8L3A+DQo8L2xpPg0KPGxpPjEuMCAtIERlY2VtYmVyLCAyMDA3DQogIDxwPkluaXRpYWwgcmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDR1NpbXBsZVNtYXJ0eSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNvIHRlbnRvIG1vZHVsIGTEm2wmYWFjdXRlOz88L2gzPg0KPHA+VGVudG8gbW9kdWwgcG9za3l0dWplIG7Em2tvbGlrIGplZG5vZHVjaCZ5YWN1dGU7Y2ggcG9txa9jZWsgcHJvIHByJmFhY3V0ZTtjaSBzICZzY2Fyb247YWJsb25vdmFjJmlhY3V0ZTttIHN5c3QmZWFjdXRlO21lbSBTbWFydHkgdmUgVmEmc2Nhcm9uO2ljaCBhcGxpa2FjJmlhY3V0ZTtjaCBuZWJvIHDFmWkgbW9kaWZpa2FjaSBjaG92JmFhY3V0ZTtuJmlhY3V0ZTsgVmEmc2Nhcm9uO2ljaCBzdHImYWFjdXRlO25lay48L3A+DQo8aDM+SmFrIHRlbnRvIG1vZHVsIHBvdcW+JmlhY3V0ZTt0OjwvaDM+DQo8cD5QbyBpbnN0YWxhY2kgdG9ob3RvIG1vZHVsdSBtxa/FvmV0ZSB2ZSBWYSZzY2Fyb247aWNoICZzY2Fyb247YWJsb24mYWFjdXRlO2NoIHN0ciZhYWN1dGU7bmVrLCBibG9jJmlhY3V0ZTtjaCBvYnNhaHUgYSAmc2Nhcm9uO2FibG9uJmFhY3V0ZTtjaCBtb2R1bMWvIHphxI0maWFjdXRlO3QgcG91xb4maWFjdXRlO3ZhdCBub3YmeWFjdXRlOyBTbWFydHkgb2JqZWt0IHBvam1lbm92YW4meWFjdXRlOyA8aT5jZ3NpbXBsZTwvPi4gVGVudG8gb2JqZWt0IHpwxZlpc3R1cMWIdWplIG1ub2hvIGZ1bmtjJmlhY3V0ZTssIGt0ZXImZWFjdXRlOyBtxa/FvmV0ZSB6YcSNJmlhY3V0ZTt0IHBvdcW+JmlhY3V0ZTt2YXQuPC9wPg0KPGg0PkRvc3R1cG4mZWFjdXRlOyBmdW5rY2U6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3R1amUsIHpkYSBqZSBkYW4meWFjdXRlOyBtb2R1bCBuYWluc3RhbG92JmFhY3V0ZTtuLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gSm0mZWFjdXRlO25vIG1vZHVsdSwgayBuxJttdcW+IHNlIHZ6dGFodWplIGtvbnRyb2xhLjwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+UMWZJmlhY3V0ZTtrbGFkOjxici8+DQogICAgPHByZT57aWYgJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlZyJmFhY3V0ZTt0JmlhY3V0ZTsgxI0maWFjdXRlO3NsbyB2ZXJ6ZSB1cml0JmVhY3V0ZTtobyBuYWluc3RhbG92YW4mZWFjdXRlO2hvIG1vZHVsdTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gSm0mZWFjdXRlO25vIG1vZHVsdSwgamVob8W+IMSNJmlhY3V0ZTtzbG8gdmVyemUgY2hjZXRlIHpqaXN0aXQuPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5QxZkmaWFjdXRlO2tsYWQ6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPm1vZHVsZV92ZXJzaW9uKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTssJiMwMzk7ZmV1X3ZlcnNpb24mIzAzOTspfVdlIGhhdmUgVmVyc2lvbiB7JGZldV92ZXJzaW9ufSBvZiBGcm9udEVuZFVzZXJzPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyBhbGlhcyBzdHImYWFjdXRlO25reSBiZXpwcm9zdMWZZWRuxJsgcm9kacSNb3ZzayZlYWN1dGU7IHbFr8SNaSB6YWRhbiZlYWN1dGU7IHN0ciZhYWN1dGU7bmNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4gcm9kacSNIGJ1ZGUgdnlwcyZhYWN1dGU7bi4gIFBva3VkIG5lbiZpYWN1dGU7IHV2ZWRlbmEgxb4mYWFjdXRlO2RuJmFhY3V0ZTsgaG9kbm90YSwgYnVkZSBwb3XFvml0YSBzb3XEjWFzbiZhYWN1dGU7IHN0ciZhYWN1dGU7bmthLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5QxZkmaWFjdXRlO2tsYWQ6PGJyLz4NCiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlZyJmFhY3V0ZTt0JmlhY3V0ZTsgYWxpYXMga2/FmWVudSAtIHJvZGnEjWUgemFkYW4mZWFjdXRlOyBzdHImYWFjdXRlO25reSwga3RlciZ5YWN1dGU7IGplIG5lanYmeWFjdXRlOyZzY2Fyb247ZSB2IGhpZXJhcmNoaWkgLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4ga2/FmWVuIGJ1ZGUgdnlwcyZhYWN1dGU7bi4gUG9rdWQgbmVuJmlhY3V0ZTsgaG9kbm90YSB1dmVkZW5hLCBidWRlIHBvdcW+aXRhIGFrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgc3RyJmFhY3V0ZTtua2EuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPlDFmSZpYWN1dGU7a2xhZDo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyB0aXR1bGVrIHV2ZWRlbiZlYWN1dGU7IHN0ciZhYWN1dGU7bmt5LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4gdGl0dWxlayBjaGNlbWUgdnlwc2F0LiAgUG9rdWQgbmVuJmlhY3V0ZTsgemFkJmFhY3V0ZTtuYSDFviZhYWN1dGU7ZG4mYWFjdXRlOyBob2Rub3RhLCBidWRlIHBvdcW+aXRhIGFrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgc3RyJmFhY3V0ZTtua2EuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPlDFmSZpYWN1dGU7a2xhZDo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9tZW51dGV4dDwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyB0ZXh0LCBqJmlhY3V0ZTttxb4gamUgdXLEjWl0JmFhY3V0ZTsgc3RyJmFhY3V0ZTtua2EgcG9wcyZhYWN1dGU7bmEgdiBtZW51LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIG1lbnV0ZXh0IG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbigmIzAzOTsmIzAzOTssJGhhc19jaGlsZHJlbil9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjwvdWw+DQo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gY3JlYXRlIGEgbGluayB0byBhIG1vZHVsZSBhY3Rpb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gY3JlYXRlIGEgbGluayB0bzwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gcHV0IGluIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPg0KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZTo8YnIvPg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PC9wPg0KPC91bD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgVG9vbHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCAmcXVvdDtDR1NpbXBsZVNtYXJ0eSZxdW90OyBqZSBueW4maWFjdXRlOyBuYWluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCAmcXVvdDtDR1NpbXBsZVNtYXJ0eSZxdW90OyBqZSBvZGluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwMzAyNDYxNC4zMDEuNjgudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg4MDI2NzgzNy4xMTgwOTkxNjY5LjEyMDI2NDgzNzQuMTIwMzAyNDYxNC4zMDEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjEgLSBGZWJydWFyeSwgMjAwOA0KICA8cD5BZGRlZCBtb2R1bGVfYWN0aW9uX2xpbms8L3A+DQo8L2xpPg0KPGxpPjEuMCAtIERlY2VtYmVyLCAyMDA3DQogIDxwPkluaXRpYWwgcmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDRyBTaW1wbGUgU21hcnR5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPg0KPHA+TWl0IGRpZXNlbSBNb2R1bCBlcmhhbHRlbiBTaWUgZWluIHBhYXIgZWluZmFjaGUgU21hcnR5LVdlcmt6ZXVnZSwgZGllIFNpZSBpbiBlaWdlbmVuIE1vZHVsZW4gb2RlciB6dXIgQW5wYXNzdW5nIGRlciBTZWl0ZW4tRWlnZW5zY2hhZnRlbiBpbiBDTVMgbWFkZSBzaW1wbGUuPC9wPg0KPGgzPldpZSB3aXJkIGVzIGVpbmdlc2V0enQ/PC9oMz4NCjxwPldlbm4gZGFzIE1vZHVsIGluc3RhbGxpZXJ0IGlzdCwgaXN0IGluIGRlbiBUZW1wbGF0ZXMsIEdsb2JhbGVuIEluaGFsdHNibCZvdW1sO2NrZW4gdW5kIHZlcnNjaGllZGVuZW4gdW5kIGRlbiBNb2R1bC1UZW1wbGF0ZXMgYXV0b21hdGlzY2ggZWluIG5ldWVzIFNtYXJ0eS1PYmpla3QgbWl0IGRlbSBOYW1lbiBjZ3NpbXBsZSB2ZXJmJnV1bWw7Z2Jhci4gRGllc2VzIFNtYXJ0eS1PYmpla3QgaGF0IHZlcnNjaGllZGVuZSBGdW5rdGlvbmVuLCBkaWUgU2llIGplZGVyemVpdCBhdWZydWZlbiBrJm91bWw7bm5lbi48L3A+DQo8aDQ+VmVyZiZ1dW1sO2diYXJlIEZ1bmt0aW9uZW46PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlByJnV1bWw7ZnQsIG9iIGVpbiBiZXN0aW1tdGVzIE1vZHVsIGluc3RhbGxpZXJ0IGlzdC48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIGRlciBOYW1lIGRlcyBNb2R1bHMsIGRlc3NlbiBFeGlzdGVueiBiencuIEluc3RhbGxhdGlvbiBnZXByJnV1bWw7ZnQgd2VyZGVuIHNvbGw8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT57aWYgJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZFVS1Nb2R1bCBnZWZ1bmRlbnsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGllIFZlcnNpb25zbnVtbWVyIGRlcyBhYmdlZnJhZ3RlbiBNb2R1bHMgenVyJnV1bWw7Y2s8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIGRlciBOYW1lIGRlcyBNb2R1bHMsIGRhcyBnZXByJnV1bWw7ZnQgd2VyZGVuIHNvbGw8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5tb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1FcyBpc3QgZGllIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gZGVzIEZyb250RW5kVXNlcnMtTW9kdWxzIGluc3RhbGxpZXJ0PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgZWluZXIgZmVzdGdlbGVndGVuIFNlaXRlIHp1ciZ1dW1sO2NrLiBGYWxscyBrZWluZSAmdXVtbDtiZXJnZW9yZG5ldGUgU2VpdGUgdm9yaGFuZGVuIGlzdCwgd2lyZCBlaW4gbGVlcmVyIFN0cmluZyB6dXImdXVtbDtjayBnZWdlYmVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBkZXIgU2VpdGUsIGRlcmVuICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGlzdCB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEFsaWFzIGRlciAmcXVvdDtvYmVyc3RlbiZxdW90OyAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIHp1ciZ1dW1sO2NrLiBGYWxscyBrZWluZSAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlbiBleGlzdGllcmVuLCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBTZWl0ZW4tQWxpYXMgZGVyIG9iZXJzdGVuLCAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGlzdCB7JGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBUaXRlbCBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgU2VpdGVuLUFsaWFzLCBkZXJlbiBUaXRlbCBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIFRpdGVsIGRlciBha3R1ZWxsZW4gU2VpdGUgaXN0IHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5QciZ1dW1sO2Z0LCBvYiBlaW5lIGZlc3RnZWxlZ3RlIFNlaXRlIHVudGVyZ2VvcmRuZXRlIFNlaXRlbiBoYXQuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIGRlciB6dSBwciZ1dW1sO2ZlbmRlbiBTZWl0ZS4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbigmIzAzOTsmIzAzOTssJGhhc19jaGlsZHJlbil9e2lmICRoYXNfY2hpbGRyZW59RGllIGFrdHVlbGxlIFNlaXRlIGhhdCB1bnRlcmdlb3JkbmV0ZSBTZWl0ZW57ZWxzZX1EaWUgYWt0dWVsbGUgU2VpdGUgaGF0IGtlaW5lIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gSW5oYWx0IGVpbmVzIGZlc3RnZWxlZ3RlbiBDb250ZW50LUJsb2NrcyBlaW5lciBhbmRlcmVuIFNlaXRlIHp1ciZ1dW1sO2NrLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBEZXIgQWxpYXMgZGVyIFNlaXRlLCBkZXJlbiBJbmhhbHQgenVyJnV1bWw7Y2sgZ2VnZWJlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVzIENvbnRlbnQtQmxvY2tzIGRlciBmZXN0Z2VsZWd0ZW4gU2VpdGUuIE9obmUgVm9yZ2FiZSB3aXJkIGRlciBXZXJ0IGF1cyAmIzAzOTtjb250ZW50X2VuJiMwMzk7IHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgSW5oYWx0IGRlciBmZXN0Z2VsZWd0ZW4gU2VpdGUgaXN0IHskY2dzaW1wbGUtPmdldF9wYWdlX2NvbnRlbnQoaG9tZSl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjwvdWw+DQo8aDQ+V2VpdGVyZSBTbWFydHktRnVuY3Rpb25lbjwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5FaW4gU21hcnR5LVBsdWdpbiwgbWl0IGRlbSBlaW4gTGluayBhdWYgZWluZSBNb2R1bC1Ba3Rpb24gZ2VzZXR6dCB3ZXJkZW4ga2Fubi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gZGFzIE1vZHVsLCBhdWYgd2VsY2hlcyBlaW4gTGluayBnZXNldHp0IHdlcmRlbiBzb2xsPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIGRpZSBBa3Rpb24gZGVzIE1vZHVscywgd2VsY2hlIGF1ZmdlcnVmZW4gd2VyZGVuIHNvbGw8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gZGVyIGF1c3p1Z2ViZW5kZSBUZXh0IGRlcyBMaW5rczwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBoaWVybWl0IGthbm4gZGllIFNlaXRlLCBhdWYgZGVyIGRhcyBFcmdlYm5pcyBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsLCBmZXN0Z2VsZWd0IHdlcmRlbjwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBhbnN0YXR0IGVpbmVuIExpbmsgenUgZXJ6ZXVnZW4sIGthbm4gYXVjaCBudXIgZGllIFVSTCBhdXNnZWdlYmVuIHdlcmRlbjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5KZWRlcyB3ZWl0ZXJlIEFyZ3VtZW50cyBmJnV1bWw7ciBkYXMgamV3ZWlsaWdlIFNtYXJ0eS1QbHVnaW4gd2lyZCBkZXIgZXJ6ZXVndGVuIFVSTCBoaW56dWdlZiZ1dW1sO2d0LjwvcD4gICANCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O0VpbmVuIG5ldWVuIEFydGlrZWwgZWluc2VuZGVuJiMwMzk7fTwvcHJlPjwvcD4NCjwvdWw+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBlaW5mYWNoZSBTbWFydHktV2Vya3pldWdlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgd3VyZGUgaW5zdGFsbGllcnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IHd1cmRlIGRlaW5zdGFsbGllcnQnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MTc0NjI3MzYuMTE0NzUxMTg1Ni4xMjAyMzczNzMzLjEyMDIzNzcwMjIuMjk2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5NDI4NDcxNS4yNDUuMTE0LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1nb29nbGUuZGV8dXRtY2N0PS9pZ3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjAgLSBEZWNlbWJlciwgMjAwNw0KICA8cD5Jbml0aWFsIHJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ0dTaW1wbGVTbWFydHknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBzaW1wbGUgc21hcnR5IHV0aWxpdGllcyBmb3IgdXNlIGluIGFwcGxpY2F0aW9ucyBvciBmb3IgY3VzdG9taXppbmcgdGhlIGJlaGF2aW91ciBvZiB5b3VyIENNUyBNYWRlIFNpbXBsZSBwYWdlcy48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8cD5XaGVuIHRoaXMgbW9kdWxlIGlzIGluc3RhbGxlZCwgYSBuZXcgc21hcnR5IG9iamVjdCBuYW1lZCBjZ3NpbXBsZSBpcyBhdXRvbWF0aWNhbGx5IGF2YWlsYWJsZSB0byB5b3VyIHBhZ2UgdGVtcGxhdGVzLCBnbG9iYWwgY29udGVudCBibG9ja3MsIGFuZCB2YXJpb3VzIG1vZHVsZSB0ZW1wbGF0ZXMuICBUaGlzIHNtYXJ0eSBvYmplY3QgaGFzIG51bWVyb3VzIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gY2FsbCBhdCBhbnkgdGltZS48L3A+DQo8aDQ+QXZhaWxhYmxlIEZ1bmN0aW9uczo8L2g0Pg0KPHVsPg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtPm1vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9Rm91bmQgRkVVey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPm1vZHVsZV92ZXJzaW9uKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTssJiMwMzk7ZmV1X3ZlcnNpb24mIzAzOTspfVdlIGhhdmUgVmVyc2lvbiB7JGZldV92ZXJzaW9ufSBvZiBGcm9udEVuZFVzZXJzPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtPmdldF9yb290X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjwvdWw+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTaW1wbGUgU21hcnR5IFRvb2xzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaXMgb3JhIGluc3RhbGxhdG8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5ICZlZ3JhdmU7IHN0YXRvIHJpbW9zc28nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk4MzY0NzU2LjQyNi4xMC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvdG9waWMsMTUzMTguMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4MDcxNTE2NDAuMTE4Mjk2MDQ1Ni4xMTk4MzY0NzU2LjExOTk1NDAzNzguNDI3JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjIgLSBNYXJjaCwgMjAwOA0KICA8cD5BZGQgdGhlIGNncmVwZWF0IHNtYXJ0eSBwbHVnaW48L3A+DQogIDxwPkFkZCBpbWFnZSBzdXBwb3J0IHRvIHRoZSBtb2R1bGVfYWN0aW9uX2xpbmsgc21hcnR5IHBsdWdpbjwvcD4NCiAgPHA+VXBkYXRlIGNvcHlyaWdodCBhbmQgbGljZW5zZTwvcD4NCjwvbGk+DQo8bGk+MS4xLjEgLSBGZWJydWFyeSwgMjAwOA0KICA8cD5GaXggbWlub3IgcHJvYmxlbSB3aXRoIHRoZSBtb2R1bGVfZXhpc3RzIG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+MS4xIC0gRmVicnVhcnksIDIwMDgNCiAgPHA+QWRkZWQgZ2V0X3BhZ2VfbWVudXRleHQoKSBtZXRob2Q8L3A+DQogIDxwPkFkZGVkIG1vZHVsZV9hY3Rpb25fbGluazwvcD4NCjwvbGk+DQo8bGk+MS4wIC0gRGVjZW1iZXIsIDIwMDcNCiAgPHA+SW5pdGlhbCByZWxlYXNlPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0mYW1wO2d0O21vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9Rm91bmQgRkVVey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYXJlbnRfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9yb290X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX21lbnV0ZXh0PC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDtoYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KPC91bD4NCjxoND5PdGhlciBTbWFydHkgZnVuY3Rpb25zPC9oND4NCjx1bD4NCiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+DQogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPg0KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIEEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBsaW5rIGlzIGNsaWNrZWQuPC9saT4NCiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5pbWFnZW9ubHkgLSBJZiBhbiBpbWFnZSBpcyBzcGVjaWZpZWQsIGNyZWF0ZSBhIGxpbmsgb25seSBjb25zaXN0aW5nIG9mIHRoZSBpbWFnZS4gIFRoZSB0ZXh0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRpdGxlIGF0dHJpYnV0ZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFVSTCBnZW5lcmF0ZWQuPC9wPiAgIDxwPkV4YW1wbGU6DQo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSYjMDM5O05ld3MmIzAzOTsgYWN0aW9uPSYjMDM5O2Zlc3VibWl0JiMwMzk7IHRleHQ9JiMwMzk7U3VibWl0IGEgTmV3IE5ld3MgQXJ0aWNsZSYjMDM5O308L3ByZT48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4NCiAgICA8cD5Bbm90aGVyIHNtYXJ0eSBwbHVnaW4gdGhhdCB3aWxsIGFsbG93IHJlcGVhdGluZyB0ZXh0PC9wPg0KICAgIDxwPkFyZ3VtZW50czo8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBUaGUgbnVtYmVyIG9mIHRpbWVzIGl0IHNob3VsZCBiZSByZXBlYXRlZDwvbGk+DQogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0mIzAzOTt0aGlzJiMwMzk7IGNvdW50PSYjMDM5OzUmIzAzOTt9PC9wcmU+PC9wPg0KICAgIDwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgU2ltcGxlIFNtYXJ0eSBWZXJrdCZvc2xhc2g7eSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGVyIG4mYXJpbmc7IGluc3RhbGxlcnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGhhciBibGl0dCBmamVybmV0JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTI1NDA2ODEyLjExODgwNzc0MTcuMTIwNTg4NTExNi4xMjA1OTM5NzY1LjQwMCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMDU2ODYyMzMuMzk0LjI3LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1jbXMxLmhlbG1pbmlrb24ubm98dXRtY2N0PS9hZG1pbi9saXN0bW9kdWxlcy5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjAgLSBEZWNlbWJlciwgMjAwNw0KICA8cD5Jbml0aWFsIHJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4gJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0+bW9kdWxlX2luc3RhbGxlZCgmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7KX1Gb3VuZCBGRVV7L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPm1vZHVsZV92ZXJzaW9uPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+eyRjZ3NpbXBsZS0+bW9kdWxlX3ZlcnNpb24oJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5OywmIzAzOTtmZXVfdmVyc2lvbiYjMDM5Oyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFyZW50X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGl0bGUgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbigmIzAzOTsmIzAzOTssJGhhc19jaGlsZHJlbil9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPC91bD4gJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTaW1wbGUgU21hcnR5IFRvb2xzICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0MTIxMjMwNjUuMTIwMDM5OTYwMS4xMjAwNzU2OTEwLjEyMDA4MTUyMjcuNSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMDA3NTY5MTAuNC40LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjAgLSBEZWNlbWJlciwgMjAwNw0KICA8cD5Jbml0aWFsIHJlbGVhc2U8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ0dTaW1wbGVTbWFydHknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBzaW1wbGUgc21hcnR5IHV0aWxpdGllcyBmb3IgdXNlIGluIGFwcGxpY2F0aW9ucyBvciBmb3IgY3VzdG9taXppbmcgdGhlIGJlaGF2aW91ciBvZiB5b3VyIENNUyBNYWRlIFNpbXBsZSBwYWdlcy48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8cD5XaGVuIHRoaXMgbW9kdWxlIGlzIGluc3RhbGxlZCwgYSBuZXcgc21hcnR5IG9iamVjdCBuYW1lZCBjZ3NpbXBsZSBpcyBhdXRvbWF0aWNhbGx5IGF2YWlsYWJsZSB0byB5b3VyIHBhZ2UgdGVtcGxhdGVzLCBnbG9iYWwgY29udGVudCBibG9ja3MsIGFuZCB2YXJpb3VzIG1vZHVsZSB0ZW1wbGF0ZXMuICBUaGlzIHNtYXJ0eSBvYmplY3QgaGFzIG51bWVyb3VzIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gY2FsbCBhdCBhbnkgdGltZS48L3A+DQo8aDQ+QXZhaWxhYmxlIEZ1bmN0aW9uczo8L2g0Pg0KPHVsPg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtPm1vZHVsZV9pbnN0YWxsZWQoXCdGcm9udEVuZFVzZXJzXCcpfUZvdW5kIEZFVXsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybiB0aGUgdmVyc2lvbiBudW1iZXIgb2YgYSBzcGVjaWZpYyBpbnN0YWxsZWQgbW9kdWxlPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5tb2R1bGVfdmVyc2lvbihcJ0Zyb250RW5kVXNlcnNcJyxcJ2ZldV92ZXJzaW9uXCcpfVdlIGhhdmUgVmVyc2lvbiB7JGZldV92ZXJzaW9ufSBvZiBGcm9udEVuZFVzZXJzPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtPmdldF9yb290X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oXCdcJywkaGFzX2NoaWxkcmVuKX17aWYgJGhhc19jaGlsZHJlbn1UaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbntlbHNlfVRoZSBjdXJyZW50IHBhZ2UgaGFzIG5vIGNoaWxkcmVuey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXMsWyRibG9ja10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRleHQgb2YgYSBzcGVjaWZpYyBjb250ZW50IGJsb2NrIG9mIGFub3RoZXIgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JGFsaWFzIC0gVGhlIHBhZ2UgYWxpYXMgdG8gZXh0cmFjdCBjb250ZW50IGZyb20uPC9saT4NCiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCwgXCdjb250ZW50X2VuXCcgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPC91bD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICfQmNC90YHRgtGA0YPQvNC10L3RgtGLIENhbGd1eXMgU2ltcGxlIFNtYXJ0eSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5INCx0YvQuyDRg9GB0YLQsNC90L7QstC70LXQvSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkg0LHRi9C7INGD0LTQsNC70ZHQvSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTk3ODI5MDYuMzQuMTgudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPW1lcmtsZS5ydXx1dG1jY3Q9L2FkbWluL2FkZGNvbnRlbnQucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIxMzA5ODA1Ny4xMTkzNjYxNDgzLjExOTk3ODI5MDYuMTE5OTc5NjY3NS4zNSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
