<?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>SelfRegistration</name>
	<version>1.2.1</version>
  <mincmsversion>1.3.1</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICJFbWFpbCBBZGRyZXNzIiBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPgo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICJzaWdudXAiIGFuZCAidmVyaWZ5Ii4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICJzaWdudXAiIGlzIGFzc3VtYmVkLjwvcD4KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAic2lnbnVwIiwgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5J3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTWFpbGVyID0mZ3Q7IDEuNzMuOTwvbGk+PGxpPkZyb250RW5kVXNlcnMgPSZndDsgMS40LjQ8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+CjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMncyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+CjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAiY2hlY2thbGwiPC9wPgo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPgo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPgo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPgo8cD5BZGRlZCBhICJEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkiIGJ1dHRvbjwvcD4KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+CjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPgo8cD5UaGUgIlJlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uIiBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPgo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPgo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPgo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPgo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+CjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPgo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+CiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+CiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+CiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPgogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPgogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+CiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+CiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+CiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9J2JsYWgnfTwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+CiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+CiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPgogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPgogICAgPHA+QWRkcyBwcmVmZXJlbmNlcyBhbmQgYmVoYXZpb3VyIGZvciBwYWdlcyB0byByZWRpcmVjdCB0byBhZnRlciBhIHVzZXIgaXMgcmVnaXN0ZXJlZCwgYW5kL29yIHZlcmlmaWVkPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4KICAgIDxwPnVzZSA9JiBzeW50YXggdG8gYWxsIGNhbGxzIHRvIEdldE1vZHVsZUluc3RhbmNlKCk8L3A+CiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJ3Qgd29yayBhbnl3YXlzKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjYuIC0gTWFyIDIwMDg8L3A+CiAgICA8cD5MaWNlbnNlIGNoYW5nZTwvcD4KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPgogICAgPHA+TWlub3IgYnVnIGZpeGVzIGFuZCBjbGVhbnVwczwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+CiAgICA8cD5BZGQgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBhdXRvbWF0aWMgbG9nZ2luZyBpbiBvbmNlIHZlcmlmaWNhdGlvbiBpcyBjb21wbGV0ZTwvcD4KICAgIDxwPk1pbm9yLCBidXQgaW1wb3J0YW50IGJ1ZyBmaXhlcy48L3A+CjxsaT4KPGxpPjxwPlZlcnNpb24gMS4yLjEgLSBKdWwgMjAwODwvcD4KICAgIDxwPkFkZGVkIHN1cHBvcnQgZm9yIGVtYWlsIGFkZHJlc3NlcyBhcyB0aGUgdXNlcm5hbWUgKHRoYW5rcyBfU2pHXykuPC9wPgo8bGk+CjwvdWw+PGJyIC8+</about>
	<description>A module that allows front end users to register themselves.</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.9</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.4.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKCiAgICAkbW9kZSA9ICdzaWdudXAnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtb2RlJ10gKSApCiAgICAgIHsKCSRtb2RlID0gJHBhcmFtc1snbW9kZSddOwogICAgICB9CgogICAgc3dpdGNoKCAkbW9kZSApCiAgICAgIHsKICAgICAgY2FzZSAnc2lnbnVwJzoKCV9Vc2VyRGlzcGxheVJlZ2lzdHJhdGlvbkZvcm0xKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWJyZWFrOwoKICAgICAgY2FzZSAndmVyaWZ5JzoKCV9Vc2VyRGlzcGxheVZlcmlmaWNhdGlvbkZvcm0oICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJYnJlYWs7CgogICAgICBjYXNlICdsb3N0ZW1haWwnOgogICAgICBjYXNlICdzZW5kYW5vdGhlcmVtYWlsJzoKICAgICAgY2FzZSAnc2VuZG1vcmVtYWlsJzoKCV9Vc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0oICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICcnLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkbW9kZScpKTsKCWJyZWFrOwogICAgICB9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbnMuYWRtaW5wYW5lbC5waHAnKTsKCiRhY3RpdmVfdGFiID0gLTE7CmlmKCBpc3NldCgkcGFyYW1zWydhY3RpdmVfdGFiJ10pKQogIHsKICAgICRhY3RpdmVfdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwogIH0KCi8vIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZG1pbnVzZXJzJywkdGhpcy0+TGFuZygndXNlcnMnKSwKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAnYWRtaW51c2VycycpKTsKICB9CgkJCSAgICAgICAKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVnMXRlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnKSwgCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3JlZzF0ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVnMnRlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnKSwgCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3JlZzJ0ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1haWxjb25maXJtX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2VtYWlsY29uZmlybV90ZW1wbGF0ZScpLCAKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAnZW1haWxjb25maXJtX3RlbXBsYXRlJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyksIAoJCQkgICAgICAgKCRhY3RpdmVfdGFiID09ICdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScsIAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpLAoJCQkgICAgICAgKCRhY3RpdmVfdGFiID09ICdmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAKCQkJICAgICAgICR0aGlzLT5MYW5nKCdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCgkJCSAgICAgICAoJGFjdGl2ZV90YWIgPT0gJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKSk7CiAgfQoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZmVyZW5jZXMnLCAkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSwKCQkJICAgICAgICgkYWN0aXZlX3RhYiA9PSAncHJlZmVyZW5jZXMnKSk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyB0aGUgY29udGVudCBvZiB0aGUgdGFicwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZG1pbnVzZXJzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdXNlcnN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycgKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3JlZzF0ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pblJlZzFUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3JlZzJ0ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pblJlZzJUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2VtYWlsY29uZmlybV90ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGVUYWIoICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKTsKICAgIF9EaXNwbGF5QWRtaW5FbWFpbFVzZXJFZGl0ZWRUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgICBfRGlzcGxheUFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJlZmVyZW5jZXMnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9wcmVmc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCgoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiRmZXVzZXJzID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXVzZXJzICkKICB7CiAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAogICAgLy8gdGhpcyBzaG91bGRuJ3QgaGFwcGVuIG9uY2UgdGhlIHVzZXIgaGFzIHNlZW4gdGhlIGZvcm0uCiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJycsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CgokY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CmlmKCAhJGNtc21haWxlciApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCi8vIGNoZWNrIGZvciByZXF1aXJlZCBwYXJhbWV0ZXJzCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgovLyBDaGVjayB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHNvbWUgY29udGVudAovLyBhbmQgdmFsaWRhdGUgZW1haWwgZmllbGRzCmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgaWYoICRwcm9wbmFtZSA9PSAncGFzc3dvcmQnIHx8ICRwcm9wbmFtZSA9PSAncmVwZWF0cGFzc3dvcmQnICkKCXsKCSAgY29udGludWU7Cgl9CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgICRyZXF1aXJlZCA9ICRhcnJbM107CiAgICAgIGlmKCAkcmVxdWlyZWQgPT0gMiAmJiAKCSAgKCFpc3NldCgkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pIHx8ICRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSA9PSAnJyApICkKCXsKCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9yZXF1aXJlZGZpZWxkJywkcHJvcG5hbWUpOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJfQoKICAgICAgaWYoICRhcnJbMV0gPT0gJzInICkKCXsKCSAgJHJlc3VsdCA9ICRmZXVzZXJzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSk7CgkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIH0KCX0KICAgIH0KfQoKCi8vIGdldCB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkCiR1c2VybmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgewogICAgJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKICB9CiRwYXNzd29yZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgewogICAgJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICB9CiRyZXBlYXRwYXNzd29yZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKSApCiAgewogICAgJHJlcGVhdHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKTsKICB9CgovLyBjaGVjayBpZiB0aGUgdXNlcm5hbWUgaXMgdmFsaWQgb3IgdGFrZW4KaWYoICR1c2VybmFtZSA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHl1c2VybmFtZScpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CmlmKCAhJGZldXNlcnMtPklzVmFsaWRVc2VybmFtZSggJHVzZXJuYW1lICkgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZScpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CiR1aWQgPSAkdGhpcy0+R2V0VGVtcFVzZXJJRCgkdXNlcm5hbWUpOwppZiggJHVpZCAhPSBmYWxzZSAmJiAkdWlkICE9ICRwYXJhbXNbJ3VzZXJfaWQnXSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgoKLy8gY2hlY2sgaWYgdGhlIHBhc3N3b3JkcyBtYXRjaCBvciBpZiB0aGV5J3JlIHZhbGlkCi8vIGlmIHRoZXkncmUgc2V0IGF0YWxsCmlmKCAkcGFzc3dvcmQgIT0gJycgKQogIHsKICAgIGlmKCAkcGFzc3dvcmQgIT0gJHJlcGVhdHBhc3N3b3JkICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgICAkbWlucHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWluX3Bhc3N3b3JkbGVuZ3RoJyk7CiAgICAkbWF4cHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJyk7CiAgICBpZiggc3RybGVuKCRwYXNzd29yZCkgPCAkbWlucHdsZW4gfHwgc3RybGVuKCRwYXNzd29yZCkgPiAkbWF4cHdsZW4gKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFzc3dvcmQnLAoJCQkJCSBhcnJheSgkbWlucHdsZW4sJG1heHB3bGVuKSk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgfQoKCi8vIGZpbmQgYW4gZW1haWwgZmllbGQuLi4gc29tZXRoaW5nIHRoYXQncyBuYW1lIGhhcyBlbWFpbCBpbiBpdAovLyBvciBpcyBvZiB0eXBlIDIKJGVtYWlsX2ZpZWxkID0gJyc7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCiAgICAgIGlmKCBwcmVnX21hdGNoKCcvZW1haWwvaScsJGFyclswXSkgfHwgJGFyclsxXSA9PSAyICkKCXsKCSAgLy8gZm91bmQgc29tZXRoaW5nIHJlc2VtYmxpbmcgYW4gZW1haWwgZmllbGQKCSAgJGVtYWlsX2ZpZWxkID0gJ2lucHV0XycuJHByb3BuYW1lOwoJICBicmVhazsKCX0KICAgIH0KfSAgICAKaWYoICRlbWFpbF9maWVsZCA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQoKLy8gZm9yIGFueSB0eXBlIDUgcHJvcGVydGllcywgd2UgY2hhbmdlIHRoZSAKLy8gYXJyYXkgcmVzdWx0IGludG8gYW4gZW5jb2RlZCBzdHJpbmcKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwogICAgICBpZiggJGFyclsxXSA9PSA1ICkKCXsKCSAgJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKTsKCX0KICAgIH0KfQoKCi8vIGdlbmVyYXRlIGEgdW5pcXVlIGNvZGUgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXIgdG8gZG91YmxlIGNvbmZpcm0KLy8gaGlzIGxvZ2luLgokY29kZSA9ICRmZXVzZXJzLT5HZW5lcmF0ZVJhbmRvbVByaW50YWJsZVN0cmluZygpOwoKLy8gaGF2ZSB0byBhZGQgdGhlIHJlY29yZCB0byB0aGUgZGF0YWJhc2Ugc28gdGhhdCB3ZSBrbm93IHdobyB0aGlzIGd1eSBpcwovLyB3aGVuIGhlIGNvbWVzIGJhY2sKJHJldHVybiA9ICR0aGlzLT5FZGl0VGVtcFVzZXIoICRwYXJhbXNbJ3VzZXJfaWQnXSwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRjb2RlICk7CmlmKCAkcmV0dXJuWzBdID09IGZhbHNlICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXR1cm5bMV07CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCgovLyByZW1vdmUgYW55IGV4aXN0aW5nIHByb3BlcnRpZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CgovLyBhbmQgYWRkIGhpcyBwcm9wZXJ0aWVzIHRvbwovLyBidXQgZmlyc3Qgd2UgcmVtb3ZlIHRoZSBvbmVzIHdlJ3ZlIGhhbmRsZWQgYWxyZWFkeQokdG1wdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwp1bnNldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwoKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJewoJICBjb250aW51ZTsKCX0KICAgICAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCSAgICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKICAgICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJewoJICAvLyBub3cgd2UgaGF2ZSBhbiBpc3N1ZSB0byBmaWd1cmUgb3V0CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICByZXR1cm47Cgl9CiAgICB9Cn0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfYWRqdXN0ZW1haWwnXSApICYmICRwYXJhbXNbJ2lucHV0X2FkanVzdGVtYWlsJ10gPT0gMSApCiAgewogICAgLy8gb2theSwgd2UncmUgbm93IHJlYWR5IHRvIHNlbmQgdGhlIGVtYWlsLCB5YWhvbywgeWFob28sIHlhaG9vCiAgICAvLyBub3cgd2UgaGF2ZSB0byBkZWNpZGUgd2hhdCBnb2VzIGluIGl0LgogICAgJGNtc21haWxlci0+QWRkQWRkcmVzcyggJHBhcmFtc1skZW1haWxfZmllbGRdICk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWUnLCR1c2VybmFtZSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICcnICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYXNzd29yZCcsJHBhc3N3b3JkKTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2RlJywkY29kZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkcGFybXMgPSBhcnJheSggJ21vZGUnID0+ICd2ZXJpZnknLAoJCSAgICAnaW5wdXRfdXNlcm5hbWUnID0+ICR1c2VybmFtZSwKCQkgICAgJ2lucHV0X2dyb3VwX2lkJyA9PiAkcGFyYW1zWydncm91cF9pZCddLAoJCSAgICAnaW5wdXRfY29kZScgPT4gJGNvZGUgKTsKICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSx0cnVlKTsKICAgICRzbWFsbHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAnJywgYXJyYXkoJ21vZGUnID0+ICd2ZXJpZnknKSwnJyx0cnVlLHRydWUgKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGx1cmwnLCRzbWFsbHVybCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCR1cmwsJHBhcm1zLCcnLGZhbHNlLHRydWUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGxsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJCSRzbWFsbHVybCxhcnJheSgnbW9kZSc9Pid2ZXJpZnknKSwnJyxmYWxzZSx0cnVlKSk7CiAgICAkaHRtbGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpOwogICAgJHRleHRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgIGlmKCAkaHRtbGJvZHkgIT0gJycgKQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJGh0bWxib2R5ICk7CgkkY21zbWFpbGVyLT5TZXRBbHRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF9zdWJqZWN0JywkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJykpKTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCQogICAgLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQogICAgLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkcGFyYW1zWyRlbWFpbF9maWVsZF0gKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScpOwogIH0KCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJ2FkbWludXNlcnMnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.edittempuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICB7CiAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgokZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1c2VycyApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CiAgICByZXR1cm47CiAgfQoKJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwppZiggISRjbXNtYWlsZXIgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCgokdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwokdXNlcmRldGFpbHMgPSAkdGhpcy0+R2V0VGVtcFVzZXJEZXRhaWxzKCAkdWlkICk7CmlmKCAhJHVzZXJkZXRhaWxzICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJykgKTsKICAgIHJldHVybjsKICB9CgovLyBnZXQgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucwokcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApOwppZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9wcm9wcmVsYXRpb25zJykuJyAnLiRyZWxhdGlvbnNbMV0gKTsKICAgIHJldHVybjsKICB9CnVhc29ydCggJHJlbGF0aW9ucywgCglhcnJheSgnU2VsZnJlZ1V0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JyApKTsKCi8vIGdldCB0aGUgdXNlcnMnIHByb3BlcnRpZXMKJHByb3BzID0gYXJyYXkoKTsKewogICR0X3Byb3BzID0gJHRoaXMtPkdldFRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApOwogIGlmKCAhJHRfcHJvcHMgKQogICAgewogICAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpLicgJy4kcmVsYXRpb25zWzFdICk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgLy8gYSBsaXR0bGUgcmUtc29ydGluZwogIGZvcmVhY2goICR0X3Byb3BzIGFzICRwcm9wICkKICAgIHsKICAgICAgJHByb3BzWyRwcm9wWyd0aXRsZSddXSA9ICRwcm9wOwogICAgfQp9CgovLyBoZXJlIHdlJ2xsIGRpc3BsYXkgYSBmb3JtIHRoYXQgaXMgc2ltaWxhciB0byB0aGUgcmVnaXN0cmF0aW9uIGZvcm0gaW4gCi8vIGV2ZXJ5IHdheSwKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgfQoKJHJvd2FycmF5ID0gYXJyYXkoKTsKCi8vIG1ha2Ugc3VyZSB1c2VybmFtZSBpcyBpbiB0aGVyZQokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAkdXNlcmRldGFpbHNbJ3VzZXJuYW1lJ107CiRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3VzZXJuYW1lJywKCQkJCSAgICAgICBpbXBsb2RlKCI7IixhcnJheSgndXNlcm5hbWUnLDAsMzAsMikpKTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3VzZXJuYW1lJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdXNlcm5hbWUnLCAkdmFsLCAKCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSk7CiRyb3dhcnJheVtdID0gJG9uZXJvdzsKCi8vIGFuZCBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5leHRyYXRleHQgPSAkdGhpcy0+TGFuZygndHh0X2NoYW5nZXBhc3N3b3JkJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJHZhbCA9ICcnOwokb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl9wYXNzd29yZCcsCgkJCQkgICAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3Bhc3N3b3JkJywwLDMwLDIpKSk7CiRvbmVyb3ctPnByb21wdCA9ICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpOwokb25lcm93LT5jb250cm9sID0kdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICR2YWwsIAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbmQgbWFrZSBoaW0gcmVwZWF0IHRoZSBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAnJzsKJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fcmVwZWF0cGFzc3dvcmQnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCdyZXBlYXRwYXNzd29yZCcsMCwzMCwyKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygncmVwZWF0cGFzc3dvcmQnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAkdmFsLAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbiBvcHRpb24gdG8gc2VuZCBhbm90aGVyIGNvbmZpcm1hdGlvbiBtZXNzYWdlCi8vIGJ1dCBhIGRpZmZlcmVudCBvbmUgZnJvbSB0aGUgbm9ybWFsCiRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKJG9uZXJvdy0+Y29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3NlbmRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmV4dHJhdGV4dCA9ICR0aGlzLT5MYW5nKCd0eHRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9hZGp1c3RtZW50ZW1haWwnLCAxLCAxKTsKJHJvd2FycmF5W10gPSAkb25lcm93OwoKZm9yZWFjaCggJHJlbGF0aW9ucyBhcyAkcmVsbiApCnsKICAvLyBkb24ndCBwcm9jZXNzIGhpZGRlbiBmaWVsZHMgaGVyZQogIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAzICkgY29udGludWU7CgogIC8vIGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHJlbG5bJ25hbWUnXSApOwoKICBpZiggJGRlZm5bJ3R5cGUnXSA9PSA2ICkKICAgIHsKICAgICAgLy8gaW1hZ2VzIGFyZSBpZ25vcmVkIHRvbwogICAgICBjb250aW51ZTsKICAgIH0KCiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoKICAkY29sb3IgPSAnJzsKICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMiApICRjb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAkbWFya2VyID0gJyc7CiAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDIgKSAkbWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAkb25lcm93LT5yZXF1aXJlZCA9ICgkcmVsblsncmVxdWlyZWQnXSA9PSAyKTsKICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fJy4kcmVsblsnbmFtZSddLAoJCQkJCSBpbXBsb2RlKCI7IixhcnJheSgkcmVsblsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAkZGVmblsnbGVuZ3RoJ10sJHJlbG5bJ3JlcXVpcmVkJ10pKSk7CgogICR2YWwgPSBpc3NldCgkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSkgPyAkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSA6ICcnOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kZGVmblsnbmFtZSddOwogIHN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCiAgICB7CiAgICBjYXNlIDA6IC8vIHRleHQKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgJGRlZm5bJ21heGxlbmd0aCddICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdpbnB1dF8nLiRyZWxuWyduYW1lJ10sIDEsICR2YWwgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkgJHZhbCwgJGRlZm5bJ2xlbmd0aCddLCAoJGRlZm5bJ21heGxlbmd0aCddKSApOwogICAgICBicmVhazsKCiAgICBjYXNlIDM6IC8vIHRleHRhcmVhCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJGRlZm5bJ25hbWUnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNDogLy8gZHJvcGRvd24KICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgCgkJCQkJCSAgICAnaW5wdXRfJy4kZGVmblsnbmFtZSddLCAKCQkJCQkJICAgICRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgICR2YWwpOwogICAgICBicmVhazsKCiAgICBjYXNlIDU6IC8vIG11bHRpc2VsZWN0CiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwKCQkJCQkJICAgICAgJ2lucHV0XycuJGRlZm5bJ25hbWUnXS4nW10nLAoJCQkJCQkgICAgICAkZmV1c2Vycy0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLCAxKSwKCQkJCQkJICAgICAgYXJyYXkoKSwKCQkJCQkJICAgICAgJHZhbCk7CiAgICAgIGJyZWFrOwogICAgfQoKICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsCgkJICAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2RvX2VkaXR1c2VyJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdlZGl0dXNlcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd1c2VyX2lkJywgJHVzZXJkZXRhaWxzWydpZCddICkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbjInLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdncm91cF9pZCcsICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9scycsICRyb3dhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY29udHJvbGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR1c2VyLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.post_createuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1sndXNlcm5hbWUnXSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCRwYXJhbXNbJ3VzZXJuYW1lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2VtYWlsJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkcGFyYW1zWydlbWFpbCddKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.post_registeruser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1sndXNlcm5hbWUnXSkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCRwYXJhbXNbJ3VzZXJuYW1lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2VtYWlsJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkcGFyYW1zWydlbWFpbCddKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.reguser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1c2VycyApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgIC8vIHRoaXMgc2hvdWxkbid0IGhhcHBlbiBvbmNlIHRoZSB1c2VyIGhhcyBzZWVuIHRoZSBmb3JtLgogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICcnLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CiAgICByZXR1cm47CiAgfQoKJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwppZiggISRjbXNtYWlsZXIgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJycsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CgoKLy8gY2hlY2sgZm9yIHJlcXVpcmVkIHBhcmFtZXRlcnMKaWYoICFpc3NldCggJHBhcmFtc1snZ3JvdXBfaWQnXSApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwogICAgcmV0dXJuOwogIH0KCgovLyBDaGVjayB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHNvbWUgY29udGVudAovLyBhbmQgdmFsaWRhdGUgZW1haWwgZmllbGRzCmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKICAgICAgJHJlcXVpcmVkID0gJGFyclszXTsKICAgICAgaWYoICRyZXF1aXJlZCA9PSAyICYmIAogICAgICAoJHByb3BuYW1lICE9ICd1c2VybmFtZScgJiYgJHByb3BuYW1lICE9ICdwYXNzd29yZCcgJiYgJHByb3BuYW1lICE9ICdyZXBlYXRwYXNzd29yZCcpICYmCgkgICghaXNzZXQoJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKSB8fCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gPT0gJycgKSApCgl7CgkgICRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHByb3BuYW1lICk7CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcmVxdWlyZWRmaWVsZCcsJGRlZm5bJ3Byb21wdCddKTsKCSAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7Cgl9CgogICAgICBpZiggJGFyclsxXSA9PSAnMicgKQoJewoJICAkcmVzdWx0ID0gJGZldXNlcnMtPklzVmFsaWRFbWFpbEFkZHJlc3MoICRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSk7CgkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkgICAgICByZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCSAgICB9Cgl9CiAgICB9Cn0KCgovLyBnZXQgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZAokdXNlcm5hbWUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICkgKQogIHsKICAgICR1c2VybmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CiAgfQokcGFzc3dvcmQgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICkgKQogIHsKICAgICRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSk7CiAgfQokcmVwZWF0cGFzc3dvcmQgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddICkgKQogIHsKICAgICRyZXBlYXRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgfQoKLy8gY2hlY2sgaWYgdGhlIHVzZXJuYW1lIGlzIHZhbGlkIG9yIHRha2VuCmlmKCAkdXNlcm5hbWUgPT0gJycgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgaWYgKCRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZV9pc19lbWFpbCcpKQogICAgICAgICB7CiAgICAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eWVtYWlsJyk7CiAgICAgICAgIH0KICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHl1c2VybmFtZScpOwogICAgICAgICB9CiAgICAgICAgIAogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQoKaWYoICEkZmV1c2Vycy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICBpZiAoJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJykpCiAgICAgICAgIHsKICAgICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRlbWFpbCcpOwogICAgICAgICB9CiAgICBlbHNlCiAgICAgIHsKICAgICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZScpOwogICAgICB9CiAgICByZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CgokdWlkID0gJHRoaXMtPkdldFRlbXBVc2VySUQoJHVzZXJuYW1lKTsKaWYoICR1aWQgIT0gZmFsc2UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJuYW1ldGFrZW4nKTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KaWYoICRmZXVzZXJzLT5HZXRVc2VySUQoJHVzZXJuYW1lKSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicpOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQoKLy8gY2hlY2sgaWYgdGhlIHBhc3N3b3JkcyBtYXRjaCBvciBpZiB0aGV5J3JlIHZhbGlkCmlmKCAkcGFzc3dvcmQgIT0gJHJlcGVhdHBhc3N3b3JkICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KJG1pbnB3bGVuID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcpOwokbWF4cHdsZW4gPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJyk7CmlmKCBzdHJsZW4oJHBhc3N3b3JkKSA8ICRtaW5wd2xlbiB8fCBzdHJsZW4oJHBhc3N3b3JkKSA+ICRtYXhwd2xlbiApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHBhc3N3b3JkJywKCQkJCSAgICAgYXJyYXkoJG1pbnB3bGVuLCRtYXhwd2xlbikpOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQoKJGVtYWlsX2ZpZWxkID0gJyc7CmlmICgkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVfaXNfZW1haWwnKSkKICAgewogICAvLyBlbWFpbCBmaWVsZCBpcyBlYXN5IQogICAkZW1haWxfZmllbGQgPSAnaW5wdXRfdXNlcm5hbWUnOwogICB9CmVsc2UKICAgewogICAvLyBmaW5kIGFuIGVtYWlsIGZpZWxkLi4uIHNvbWV0aGluZyB0aGF0J3MgbmFtZSBoYXMgZW1haWwgaW4gaXQKICAgLy8gb3IgaXMgb2YgdHlwZSAyCgogICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCiAgIHsKICAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgICAgIHsKICAgICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwoKICAgICAgICAgaWYoIHByZWdfbWF0Y2goJy9lbWFpbC9pJywkYXJyWzBdKSB8fCAkYXJyWzFdID09IDIgKQoJICAgICAgICB7CgkgICAgICAgIC8vIGZvdW5kIHNvbWV0aGluZyByZXNlbWJsaW5nIGFuIGVtYWlsIGZpZWxkCgkgICAgICAgICRlbWFpbF9maWVsZCA9ICdpbnB1dF8nLiRwcm9wbmFtZTsKCSAgICAgICAgYnJlYWs7CgkgICAgICAgIH0KICAgICAgfQogICB9CiAgIH0KCmlmKCAkZW1haWxfZmllbGQgPT0gJycgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZW1haWxhZGRyZXNzJyk7CiAgICByZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CgokZW1haWwgPSAkcGFyYW1zWyRlbWFpbF9maWVsZF07CgovLyBmb3IgYW55IHR5cGUgNSBwcm9wZXJ0aWVzLCB3ZSBjaGFuZ2UgdGhlIAovLyBhcnJheSByZXN1bHQgaW50byBhbiBlbmNvZGVkIHN0cmluZwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICBpZiggcHJlZ19tYXRjaCggJy9eaGlkZGVuXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgIGlmKCAkYXJyWzFdID09IDUgKQoJewoJICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gPSBpbXBsb2RlKCcsJywkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pOwoJfQogICAgfQp9CgoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJykgKQogIHsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1skZW1haWxfZmllbGQuJ19hZ2FpbiddICkgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3NlY29uZGVtYWlsYWRkcmVzcycpOwoJcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KCiAgICBpZiggJHBhcmFtc1skZW1haWxfZmllbGRdICE9ICRwYXJhbXNbJGVtYWlsX2ZpZWxkLidfYWdhaW4nXSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJyk7CglyZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgICAgfQogIH0KCiAgIAokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgewogICAgaWYgKCEgJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKTsKCXJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgICB9CiAgfQoKLy8gZ2VuZXJhdGUgYSB1bmlxdWUgY29kZSB0aGF0IHRoZSB1c2VyIGNhbiBlbnRlciB0byBkb3VibGUgY29uZmlybQovLyBoaXMgbG9naW4uCiRjb2RlID0gJGZldXNlcnMtPkdlbmVyYXRlUmFuZG9tUHJpbnRhYmxlU3RyaW5nKCk7CgovLyBoYXZlIHRvIGFkZCB0aGUgcmVjb3JkIHRvIHRoZSBkYXRhYmFzZSBzbyB0aGF0IHdlIGtub3cgd2hvIHRoaXMgZ3V5IGlzCi8vIHdoZW4gaGUgY29tZXMgYmFjawokcmV0dXJuID0gJHRoaXMtPkNyZWF0ZVRlbXBVc2VyKCAkcGFyYW1zWydncm91cF9pZCddLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGNvZGUgKTsKaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJldHVyblsxXTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KCi8vIGFuZCBhZGQgaGlzIHByb3BlcnRpZXMgdG9vCi8vIGJ1dCBmaXJzdCB3ZSByZW1vdmUgdGhlIG9uZXMgd2UndmUgaGFuZGxlZCBhbHJlYWR5CiR0bXB1aWQgPSAkcmV0dXJuWzFdOwoKdW5zZXQoJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3VzZXJuYW1lJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaGlkZGVuX3JlcGVhdHBhc3N3b3JkJ10gKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJewoJICBjb250aW51ZTsKCX0KICAgICAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCSAgICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKICAgICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJewoJICAvLyBub3cgd2UgaGF2ZSBhbiBpc3N1ZSB0byBmaWd1cmUgb3V0CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwoJICByZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCX0KICAgIH0KfQoKJGFjdGlvbiA9ICdwb3N0X3JlZ2lzdGVydXNlcic7CiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1sndXNlcm5hbWUnXSA9ICR1c2VybmFtZTsKJHBhcm1zWydlbWFpbCddID0gJGVtYWlsOwoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsMSkgKQogIHsKICAgIC8vIG9rYXksIHdlJ3JlIG5vdyByZWFkeSB0byBzZW5kIHRoZSBlbWFpbCwgeWFob28sIHlhaG9vLCB5YWhvbwogICAgLy8gbm93IHdlIGhhdmUgdG8gZGVjaWRlIHdoYXQgZ29lcyBpbiBpdC4KICAgICR0aGlzLT5fU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCgkaWQsJHJldHVybmlkLCRlbWFpbCwKCQkJCSAgICAgICR1c2VybmFtZSwgJHBhcmFtc1snZ3JvdXBfaWQnXSwgJGNvZGUgKTsKCQogICAgLy8gc2VuZCBhbiBldmVudAogICAgJHRoaXMtPlNlbmRFdmVudCgnb25OZXdVc2VyJywKCQkgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgJ2VtYWlsJz0+JGVtYWlsKSk7CgogICAgLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQogICAgLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgovLyAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbmFtZScsICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwovLyAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkYWRkcmVzcyApOwovLyAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyk7CiAgfQplbHNlCiAgewogICAgJGFjdGlvbiA9ICdwb3N0X2NyZWF0ZXVzZXInOwogICAgCiAgICAvLyBpdCBhcHBlYXJzIHdlJ3JlIGFsbG93aW5nIGluc3RhbnQgcmVnaXN0cmF0aW9uCiAgICAkcmVzdWx0ID0gJHRoaXMtPl9DcmVhdGVGcm9udGVuZFVzZXIoICR0bXB1aWQsICRwYXJhbXNbJ2dyb3VwX2lkJ10sCgkJCQkJICAkdXNlcm5hbWUsICRwYXNzd29yZCApOwogICAgCiAgICBpZiggJHJlc3VsdCAhPSAwICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0OwoJcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KICAgIAogICAgLy8gc2VuZCBhbiBldmVudAogICAgJHRoaXMtPlNlbmRFdmVudCgnb25OZXdVc2VyJywKCQkgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgJ2VtYWlsJz0+JGVtYWlsKSk7CiAgICAKICAgIC8vIHdvb2hvb28sIHRoZSB1c2VyIGJlIGNyZWF0ZWQgKGhvcGVmdWxseSkuCiAgICAvLyBkZWxldGUgdGhlIHJlY29yZHMgZnJvbSB0aGUgU2VsZlJlZyB0YWJsZXMKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlclByb3BlcnRpZXMoICR0bXB1aWQgKTsKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlciggJHRtcHVpZCApOwogICAgCiAgICAvLyBkbyB3ZSBhdXRvbWF0aWNhbGx5IGxvZyB0aGlzIHVzZXIgaW4/CiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luX2FmdGVydmVyaWZ5JykgKQogICAgICB7CgkkZmV1ID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJJGZldS0+TG9naW4oICR1c2VybmFtZSwgJHBhc3N3b3JkICk7CiAgICAgIH0KICB9CgovLyBDaGVjayBpZiB3ZSBoYXZlIHRvIHJlZGlyZWN0IHRvIGEgcGFnZSBvciBub3QKCiRkZXN0cGFnZXN0ciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJyk7CmlmKCAhZW1wdHkoJGRlc3RwYWdlc3RyKSApCiAgewogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkZGVzdHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGRlc3RwYWdlc3RyKTsKICAgIGlmKCAkZGVzdHBhZ2VpZCA9PSBGQUxTRSApCiAgICAgIHsKCSR0bXBhbGlhcyA9ICRjb250ZW50b3BzLT5HZXRQYWdlQWxpYXNGcm9tSUQoJGRlc3RwYWdlc3RyKTsKCWlmKCAhJHRtcGFsaWFzICkKCSAgewoJICAgICRkZXN0cGFnZWlkID0gJHRtcGFsaWFzOwoJICB9CiAgICAgIH0KICAgICRyZXR1cm5pZCA9ICRkZXN0cGFnZWlkOwogIH0KCmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19za2lwX2ZpbmFsX21zZycpICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRyZXR1cm5pZCk7CiAgfQoKJHRoaXMtPlJlZGlyZWN0KCRpZCwkYWN0aW9uLCRyZXR1cm5pZCwkcGFybXMpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlYWxsJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTUgeWVhcnMnKTsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTF3ZWVrJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgd2VlaycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMW1vbnRoJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZU9sZFRlbXBVc2VycygnLTEgbW9udGgnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTFtb250aCddICkgKQogIHsKICAgICR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGlzdDFkYXknXSApICkKICB7CiMgY3JlYXRlIGEgY3N2IGZpbGUgZm9yIHRlbXAgdXNlcnMgdGhhdCBoYXZlCiMgYmVlbiBpbiB0aGVyZSBtb3JlIHRoYW4gb25lIGRheQogICAgJHJlc3VsdCA9ICR0aGlzLT5DU1ZPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwogICAgaWYoICRyZXN1bHQgPT0gJycgKQogICAgICB7CgllY2hvICI8aDM+Tm8gcmVzdWx0cyByZXR1cm5lZDwvaDM+IjsKCXJldHVybjsKICAgICAgfQogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9dHJhcHBlZGluc2VsZnJlZy5jc3YnKTsKICAgIHdoaWxlKEBvYl9lbmRfY2xlYW4oKSk7CiAgICBlY2hvICRyZXN1bHQ7CiAgICBleGl0KCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9pbmxpbmUnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywKCQkJICRwYXJhbXNbJ2lucHV0X2lubGluZSddKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9ub3RpZnknXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nLCAwKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbiddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsCgkJCSAkcGFyYW1zWydpbnB1dF9lbWFpbF9jb25maXJtYXRpb24nXSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJywgMCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kX2VtYWlsc190bycsCgkJCSAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ZvcmNlX2VtYWlsX3R3aWNlJ10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnLCAxKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScsIDApOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2tpcF9maW5hbF9tc2cnXSApICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19za2lwX2ZpbmFsX21zZycsIDEpOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJywgMCk7CiAgfQoKJGxvZ2luX2FmdGVydmVyaWZ5ID0gMDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5J10pICkKICB7CiAgICAkbG9naW5fYWZ0ZXJ2ZXJpZnkgPSAxOwogIH0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2luX2FmdGVydmVyaWZ5JywkbG9naW5fYWZ0ZXJ2ZXJpZnkpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSAgICAgdHJpbSgkcGFyYW1zWydpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkgICAgIHRyaW0oJHBhcmFtc1snaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSkpOwoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJlZmVyZW5jZXMnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.verifyuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgogICAgJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgoKLy8gbm93IGFsbCB3ZSBoYXZlIHRvIGRvIGlzIGdldCB0aGUgdXNlcm5hbWUsIGNvZGUsIGFuZCBwYXNzd29yZAovLyBhbmQgbWFrZSBzdXJlIGl0IGFsbCBtYXRjaGVzCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICBpZiAoJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJykpCiAgICAgICAgIHsKICAgICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdlbWFpbCcpOwogICAgICAgICB9CiAgICBlbHNlCiAgICAgICAgIHsKICAgICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3Npbmd1c2VybmFtZScpOwogICAgICAgICB9CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICB7CiAgICAkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFzc3dvcmQnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQokcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwppZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb2RlJ10gKSApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ2NvZGUnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQokY29kZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfY29kZSddKTsKCi8vIG5vdyBnZXQgdGhlIGRldGFpbHMgb3V0IG9mIHRoZSBkYXRhYmFzZSBmb3IgdGhzIHVzZXIKJGRiID0gJHRoaXMtPkdldERiKCk7CiRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSB1c2VybmFtZSA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVzZXJuYW1lICkgKTsKaWYoICEkZGJyZXN1bHQgKQogIHsKICAgICRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQppZiggJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDEgKQogIHsKICAgICRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpOwogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkJICAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJykuIjogIi4kdXNlcm5hbWUpOwogICAgcmV0dXJuICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgfQogICAgCiR0bXB1c2VyID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwppZiggbWQ1KCRwYXNzd29yZCkgIT0gJHRtcHVzZXJbJ3Bhc3Nzd29yZCddICkKICB7CiAgICAkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KaWYoICRjb2RlICE9ICR0bXB1c2VyWydjb2RlJ10gKQogIHsKICAgICRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NvZGVzZG9udG1hdGNoJyk7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAKCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9jb2Rlc2RvbnRtYXRjaCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgIHJldHVybiAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ncm91cF9pZCddICkgJiYgJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSAhPSAnJyApCiAgewogICAgJGdyb3VwX2lkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9ncm91cF9pZCddKTsKICB9CiBlbHNlCiAgIHsKICAgICAkZ3JvdXBfaWQgPSAkdG1wdXNlclsnZ3JvdXBfaWQnXTsKICAgfQoKJHJlc3VsdCA9ICR0aGlzLT5fQ3JlYXRlRnJvbnRlbmRVc2VyKCAkdG1wdXNlclsnaWQnXSwgJGdyb3VwX2lkLAoJCQkJICAgICAgJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKaWYoICRyZXN1bHQgIT0gMCApCiAgewogICAgJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0OwogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICByZXR1cm4gJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CgovLyB3b29ob29vLCB0aGUgdXNlciBiZSBjcmVhdGVkIChob3BlZnVsbHkpLgovLyBkZWxldGUgdGhlIHJlY29yZHMgZnJvbSB0aGUgU2VsZlJlZyB0YWJsZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHRtcHVzZXJbJ2lkJ10gKTsKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdXNlclsnaWQnXSApOwoKdW5zZXQoJHBhcmFtc1snbW9kZSddKTsKdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwoKLy8gZG8gd2UgYXV0b21hdGljYWxseSBsb2cgdGhpcyB1c2VyIGluPwppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2luX2FmdGVydmVyaWZ5JykgKQogIHsKICAgICRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAkZmV1LT5Mb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKICB9CgovLyBDaGVjayBpZiB3ZSBoYXZlIHRvIHJlZGlyZWN0IHRvIGEgcGFnZSBvciBub3QKJGRlc3RwYWdlc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5Jyk7CmlmKCAhZW1wdHkoJGRlc3RwYWdlc3RyKSApCiAgewogICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAkZGVzdHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGRlc3RwYWdlc3RyKTsKICAgIGlmKCAkZGVzdHBhZ2VpZCA9PSBGQUxTRSApCiAgICAgIHsKCSR0bXBhbGlhcyA9ICRjb250ZW50b3BzLT5HZXRQYWdlQWxpYXNGcm9tSUQoJGRlc3RwYWdlc3RyKTsKCWlmKCAhJHRtcGFsaWFzICkKCSAgewoJICAgICRkZXN0cGFnZWlkID0gJHRtcGFsaWFzOwoJICB9CiAgICAgIH0KICAgICRyZXR1cm5pZCA9ICRkZXN0cGFnZWlkOwogIH0KJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWyd1c2VybmFtZSddID0gJHBhcmFtc1sndXNlcm5hbWUnXTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwncG9zdF9jcmVhdGV1c2VyJywkcmV0dXJuaWQsJHBhcm1zKTsKCj8+]]></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.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnc2V0cHJlZnMnLCAkcmV0dXJuaWQgKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pbmxpbmUnLAoJCSR0aGlzLT5MYW5nKCd1c2VfaW5saW5lX2Zvcm1zJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2lubGluZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdpbnB1dF9pbmxpbmUnLDEsCgkJCQkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lubGluZV9mb3JtcycsMSkpKQogIDsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbm90aWZ5JywKCQkkdGhpcy0+TGFuZygnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ub3RpZnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsIAoJCQkJCSAgICAnaW5wdXRfbm90aWZ5JywgMSwKCQkJCQkgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZW1haWxfY29uZmlybWF0aW9uJywKCQkkdGhpcy0+TGFuZygncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW1haWxfY29uZmlybWF0aW9uJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAKCQkJCQkgICAgJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbicsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jb25maXJtbWFpbF90bycsCgkJJHRoaXMtPkxhbmcoJ3NlbmRfZW1haWxzX3RvJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NvbmZpcm1tYWlsX3RvJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsIAoJCQkJCSdpbnB1dF9jb25maXJtbWFpbF90bycsIAoJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kX2VtYWlsc190bycpLAoJCQkJCTMwLCA2MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpLCAnJywgJycsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fc3VibWl0cHJlZnMnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZm9yY2VfZW1haWxfdHdpY2UnLAoJCSR0aGlzLT5MYW5nKCdmb3JjZV9lbWFpbF90d2ljZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mb3JjZV9lbWFpbF90d2ljZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgCgkJCQkJICAgICdpbnB1dF9mb3JjZV9lbWFpbF90d2ljZScsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NraXBfZmluYWxfbXNnJywKCQkkdGhpcy0+TGFuZygnc2tpcF9maW5hbF9tc2cnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2tpcF9maW5hbF9tc2cnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsCgkJCQkJICAgICdpbnB1dF9za2lwX2ZpbmFsX21zZycsIDEsCgkJCQkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX3NraXBfZmluYWxfbXNnJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSR0aGlzLT5MYW5nKCdyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLAoJCQkJICAgICAgICdpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlcicpLAoJCQkJICAgICAgIDIwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9sb2dpbl9hZnRlcnZlcmlmeScsCgkJJHRoaXMtPkxhbmcoJ2xvZ2luX2FmdGVydmVyaWZ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsCgkJCQkJICAgJ2lucHV0X2xvZ2luX2FmdGVydmVyaWZ5JywxLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2dpbl9hZnRlcnZlcmlmeScpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZWRpcmVjdF9hZnRlcnZlcmlmeScsCgkJJHRoaXMtPkxhbmcoJ3JlZGlyZWN0X2FmdGVydmVyaWZ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X2FmdGVydmVyaWZ5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwKCQkJCSAgICAgICAnaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9hZnRlcnZlcmlmeScpLAoJCQkJICAgICAgIDIwKSk7CiAgICAKJG51bSA9ICR0aGlzLT5Db3VudFRlbXBVc2VycygpOwppZiggJG51bSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbnVtcmVzZXRyZWNvcmRzJywKCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9udW1yZXNldHJlY29yZCcpKTsKICAgICRzbWFydHktPmFzc2lnbignZGF0YV9udW1yZXNldHJlY29yZHMnLCAkbnVtKTsgLy90b2RvCiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZWFsbCcsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X3JlbW92ZWFsbCcsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVtb3ZlYWxsJyksCgkJCQkJICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZTF3ZWVrJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlMXdlZWsnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZTF3ZWVrJyksCgkJCQkJICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CiAgICAgIAogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZTFtb250aCcpLAoJCQkJCSAgICAgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxZGF5JywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlMWRheScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVtb3ZlMWRheScpLAoJCQkJCSAgICAgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9saXN0MWRheScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X2xpc3QxZGF5JywKCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2xpc3QxZGF5JykpKTsKICB9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_userstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpnbG9iYWwgJGdDbXM7CiRkYiA9ICR0aGlzLT5HZXREYigpOwovLyBkaXNwbGF5IGEgdGFibGUgd2l0aCB1c2VyaWQsIGdyb3VwX2lkIChuYW1lPyksIHVzZXJuYW1lLCBjcmVhdGVkYXRlLCA8ZW1haWwgYWRkcmVzcz4KLy8gYW5kIGFsbG93IHRoZSBhZG1pbiB0byBlZGl0LCBkZWxldGUsIGFuZCBvciBvcHRpb25hbGx5IHNlbmQgdGhhdCB1c2VyIGEgbWVzc2FnZQovLyBzaG91bGQgYWxzbyBoYXZlIGEgY2hlY2tib3ggc28gdGhhdCB0aGUgYWRtaW4gY2FuIGRlbGV0ZSBhIGJ1bmNoIG8gdXNlcnMgYXQgdGhlIHNhbWUgdGltZQovLyBhbmQgYSBzZWxlY3QgYWxsIHdvdWxkIGJlIGNvb2wuCgovLyBnZXQgYSBsaXN0IG9mIGFsbCBvZiB0aGUgZ3J1cHMKJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldXNlcnMgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKICAgIHJldHVybjsKICB9CiRncnBsaXN0ID0gYXJyYXkoKTsKewogICR0X2dycGxpc3QgPSAkZmV1c2Vycy0+R2V0R3JvdXBMaXN0RnVsbCgpOwogIGlmKCAhaXNfYXJyYXkoICR0X2dycGxpc3QgKSB8fCBjb3VudCgkdF9ncnBsaXN0KSA9PSAwICkKICAgIHsKICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJICAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2dyb3VwcycpKTsKICAgICAgcmV0dXJuOwogICAgfQogIC8vIGZvciBvdXIgcHVycG9zZXMgaGVyZSwgd2UnbGwgcmUtb3JnIHRfZ3JvdXBsaXN0IHRvIGJlIGtleWVkIGJ5IGlkCiAgZm9yZWFjaCggJHRfZ3JwbGlzdCBhcyAkZ3JwICkKICAgIHsKICAgICAgJGdycGxpc3RbJGdycFsnaWQnXV0gPSAkZ3JwOwogICAgfQp9CgovLyBhbiBhcnJheSBmb3IgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucyAod2UncmUgZ29ubmEgY2FjaGUgZW0pCiRyZWxhdGlvbnMgPSBhcnJheSgpOwoKLy8gYW4gYXJyYXkgZm9yIHRoZSBlbWFpbCBmaWVsZCBuYW1lcywgYnkgZ3JvdXAgaWQgKHdlJ3JlIGdvbm5hIGNhY2hlIGVtIHRvbykKJGVtYWlsZmxkcyA9IGFycmF5KCk7CgovLyBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zCiRwcm9wcyA9ICRmZXVzZXJzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CmlmKCAkcHJvcHMgPT0gZmFsc2UgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGRlZm5zJykpOwogICAgcmV0dXJuOwogIH0KCi8vIHNvbWUgamF2YXNjcmlwdAokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2phdmFzY3JpcHQnLAoJCSAgICAgICc8U0NSSVBUIExBTkdVQUdFPSJKYXZhU2NyaXB0Ij4KZnVuY3Rpb24gY2hlY2tBbGwoZm1vYmosc3RhdGUpIHsKICBmb3IgKHZhciBpPTA7aTxmbW9iai5lbGVtZW50cy5sZW5ndGg7aSsrKSB7CiAgICB2YXIgZSA9IGZtb2JqLmVsZW1lbnRzW2ldOwogICAgaWYgKCAoZS50eXBlPT0iY2hlY2tib3giKSAmJiAoIWUuZGlzYWJsZWQpICkgewogICAgICBlLmNoZWNrZWQgPSBzdGF0ZTsKICAgIH0KICB9Cn0gPC9TQ1JJUFQ+Jyk7CgovLyBzb21lIGxhYmVscwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RvX2RlbGV0ZXVzZXJzYnVsaycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2RlbGV0ZScsJHRoaXMtPkxhbmcoJ2RlbGV0ZXNlbHVzZXJzJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyaWR0ZXh0JywkdGhpcy0+TGFuZygnaGRyX3VzZXJpZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZXRleHQnLCR0aGlzLT5MYW5nKCdoZHJfdXNlcm5hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JwbmFtZXRleHQnLCR0aGlzLT5MYW5nKCdoZHJfZ3JwbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjcmVhdGVkdGV4dCcsJHRoaXMtPkxhbmcoJ2hkcl9jcmVhdGVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsdGV4dCcsJHRoaXMtPkxhbmcoJ2hkcl9lbWFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZWxldGV0ZXh0JywkdGhpcy0+TGFuZygnc2VsZWN0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NoZWNrYWxsYm94JywKCQkgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCQkJCSR0aGlzLT5MYW5nKCdjaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQknb25DbGljaygpPSJjaGVja0FsbChkb2N1bWVudC5mb3Jtc1swXSx0cnVlKTtyZXR1cm4gZmFsc2UiJykuCgkJICAgICAgIiZuYnNwOyZuYnNwOyIuCgkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwKCQkJCQkkdGhpcy0+TGFuZygndW5jaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQknb25DbGljaygpPSJjaGVja0FsbChkb2N1bWVudC5mb3Jtc1swXSxmYWxzZSk7cmV0dXJuIGZhbHNlIicpKTsKICAgIAovLyBzZWxlY3QgYWxsIHRoZSB1c2Vycwokcm93YXJyYXkgPSBhcnJheSgpOwovLyB0b2RvLCBhZGQgc29tZSByZWFsIGZpbHRlcmluZyBoZXJlCiRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIExJTUlUIDI1MCI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKaWYoICRkYnJlc3VsdCAmJiAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkgKQogIHsKICAgIC8vIHdlIGhhdmUgcm93cwogICAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkgICAgCgkkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkb25lcm93LT51c2VyaWQgPSAkcm93WydpZCddOwoJJG9uZXJvdy0+dXNlcm5hbWUgPSAkcm93Wyd1c2VybmFtZSddOwoJJG9uZXJvdy0+Z3JwbmFtZSA9ICRncnBsaXN0WyRyb3dbJ2dyb3VwX2lkJ11dWydncm91cG5hbWUnXTsgIC8vIHVnbHkgZWgKCSRvbmVyb3ctPmNyZWF0ZWQgPSAkcm93WydjcmVhdGVkYXRlJ107Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCS8vIHRvZG8gZW1haWwsIGVkaXRsaW5rLCBtYXJrZGVsZXRlYm94CgoJLy8gbm93IHdlIGhhdmUgYSBncm91cCBpZC4uLiBoYXZlIHRvIGdldCBhIGxpc3Qgb2YgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCglpZiggIWlzc2V0KCAkcmVsYXRpb25zWyAkcm93Wydncm91cF9pZCddIF0gKSApCgkgIHsKCSAgICAvLyBub3QgaW4gdGhlIGNhY2hlLCBzbyBnZXQgdGhlbQoJICAgICR0X3JlbGF0aW9ucyA9ICRmZXVzZXJzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkcm93Wydncm91cF9pZCddICk7CgkgICAgaWYoICR0X3JlbGF0aW9uc1swXSA9PSBmYWxzZSApCgkgICAgICB7CgkJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCQkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkJICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9ncm91cHByb3ByZWxucycsJHRfcmVsYXRpb25zWzFdKSApOwoJCXJldHVybjsKCSAgICAgIH0KCgkgICAgLy8gYW5kIGNhY2hlIHRoZW0KCSAgICAkcmVsYXRpb25zWyAkcm93Wydncm91cF9pZCddIF0gPSAkdF9yZWxhdGlvbnM7CgkgIH0KCgkvLyBub3csIGdvIHRocm91Z2ggYWxsIG9mIHRoZSByZWxhdGlvbnMsIHhyZWYgd2l0aCB0aGUgcHJvcGVydGllcyBmaWVsZAoJLy8gYW5kIHRyeSB0byBmaW5kIG9uZSB0aGF0J3MgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBncm91cAoJLy8gd2UnbGwgY2FjaGUgdGhhdCB0b28KCWlmKCAhaXNzZXQoICRlbWFpbGZsZHNbICRyb3dbJ2dyb3VwX2lkJ10gXSApICkKCSAgewoJICAgICRmb3VuZCA9IGZhbHNlOwoJICAgIC8vIG5vdCBpbiB0aGUgY2FjaGUsIHNvIHdlJ2xsIGZpbmQgb25lCgkgICAgZm9yZWFjaCggJHJlbGF0aW9uc1sgJHJvd1snZ3JvdXBfaWQnXSBdIGFzICRyZWxuICkKCSAgICAgIHsKCQlmb3JlYWNoKCAkcHJvcHMgYXMgJG9uZXByb3AgKQoJCSAgewoJCSAgICBpZiggJHJlbG5bJ25hbWUnXSA9PSAkb25lcHJvcFsnbmFtZSddICYmCgkJCSRvbmVwcm9wWyd0eXBlJ10gPT0gMiApIC8vIGVtYWlsIAoJCSAgICAgIHsKCQkJLy8gd29vaG9vLCB3ZSBmb3VuZCBhbiBlbWFpbCBmaWVsZCBpbiB0aGUgcHJvcGVydHkgcmVsYXRpb25zIGZvciB0aGlzCgkJCS8vIGdyb3VwCgkJCSRlbWFpbGZsZHNbJHJvd1snZ3JvdXBfaWQnXV0gPSAkcmVsblsnbmFtZSddOwoJCQkkZm91bmQgPSB0cnVlOwoJCQlicmVhazsKCQkgICAgICB9CgkJICB9CgkgICAgICB9CgoJICAgIGlmKCAhJGZvdW5kICkKCSAgICAgIHsKCQkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJCSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKSk7CgkJcmV0dXJuOwoJICAgICAgfQoJICB9CgkgICAgCgkvLyBub3csIGdldCB0aGUgZW1haWwgYWRkcmVzcyBmb3IgdGhpcyB1c2VyCgkkb25lcm93LT5lbWFpbCA9ICR0aGlzLT5HZXRUZW1wVXNlclByb3BlcnR5KCRyb3dbJ2lkJ10sJGVtYWlsZmxkc1skcm93Wydncm91cF9pZCddXSwKCQkJCQkJICAgICR0aGlzLT5MYW5nKCd1bmtub3duJykpOwoJJG9uZXJvdy0+ZWRpdGxpbmsgPQoJICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZWRpdHRlbXB1c2VyJywgJHJldHVybmlkLAoJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJICAgICBhcnJheSAoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pKTsKCSRvbmVyb3ctPmRlbGV0ZWxpbmsgPQoJICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZGVsZXRldGVtcHVzZXInLCAkcmV0dXJuaWQsCgkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCSAgICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJICAgICBhcnJheSAoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pLAoJCQkgICAgICR0aGlzLT5MYW5nICgnYXJleW91c3VyZV9kZWxldGV1c2VyJykpOwoJJG9uZXJvdy0+bWFya2RlbGV0ZWJveCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbWFya2RlbGV0ZV8nLiRyb3dbJ2lkJ10sJHJvd1snaWQnXSk7CgkgICAgCgkkcm93YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7CiAgICAgIH0KICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXNmb3VuZCcsJHRoaXMtPkxhbmcoJ3VzZXJzZm91bmQnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndXNlcmxpc3QudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/functions.adminpanel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5SZWcxVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluUmVnMVRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfcmVnMXRlbXBsYXRlJyk7CiAgICBlY2hvICc8cD5SZWdpc3RyYXRpb24gVGVtcGxhdGU8L3A+JzsKICAgIGVjaG8gJzxici8+PHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJyksCgkJCQkJICAgJ3JlZzFfdGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJzxwPlBvc3QgUmVnaXN0cmF0aW9uIFRlbXBsYXRlPC9wPic7CiAgICBlY2hvICc8YnIvPjxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyksCgkJCQkJICAgJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCcsICcnKS4nPC9wPic7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluUmVnMlRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblJlZzJUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X3JlZzJ0ZW1wbGF0ZScpOwogICAgZWNobyAnPGJyLz48cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19yZWcydGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnc3VibWl0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5FbWFpbENvbmZpcm1hdGlvblRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NldF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUnKTsKICAgIGVjaG8gJzx0YWJsZT4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdzdWJqZWN0JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3N1YmplY3QnLAoJCQkJCSAgICAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JyksIDgwLCAyMDAgKS4nPC90ZD48L3RyPic7IAogICAgCiAgICBlY2hvICc8dHIgdmFsaWduPSJ0b3AiPjx0ZD4nLiRtb2R1bGUtPkxhbmcoJ3RleHRib2R5JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJyksCgkJCQkJICAgJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdodG1sYm9keScpLic6PC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3RkPjwvdHI+JzsKICAgIGVjaG8gJzwvdGFibGU+JzsgIAogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfZmluYWxtZXNzYWdlX3RlbXBsYXRlJyk7CiAgICBlY2hvICc8YnIvPjxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvcD4nOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJyk7CiAgICBlY2hvICc8dGFibGU+JzsKICAgIGVjaG8gJzx0ciB2YWxpZ249InRvcCI+PHRkPicuJG1vZHVsZS0+TGFuZygnc3ViamVjdCcpLic6KjwvdGQ+PHRkPicuJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9zdWJqZWN0JywKCQkJCQkgICAgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfc3ViamVjdCcpLCA4MCwgMjAwICkuJzwvdGQ+PC90cj4nOyAKICAgIAogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCd0ZXh0Ym9keScpLic6KjwvdGQ+PHRkPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsICAKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyksCgkJCQkJICAgJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdodG1sYm9keScpLic6PC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPC90YWJsZT4nOyAgCiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKTsKICAgIGVjaG8gJzxici8+Jy4kbW9kdWxlLT5MYW5nKCd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJykuCiAgICAgICc8cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKSwKCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvcD4nOwogICAgZWNobyAnPGJyLz4nLiRtb2R1bGUtPkxhbmcoJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpLgogICAgICAnPHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCgkJCQkJICAgJ3RlbXBsYXRlY29udGVudDInLCAnJykuJzwvcD4nOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgU2VsZnJlZ1V0aWxzCnsKICBmdW5jdGlvbiBhcnJheV9rZXlfZXhpc3RzX3N1YnN0ciggJGFyciwgJGV4cHIgKQogIHsKICAgICRrZXlzID0gYXJyYXlfa2V5cyggJGFyciApOwogICAgZm9yZWFjaCggJGtleXMgYXMgJGsgKQogICAgICB7CglpZiggc3Ryc3RyKCAkaywgJGV4cHIgKSApIHJldHVybiB0cnVlOwogICAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBhcnJheV9maW5kX2tleV9yZWdleHAoICRhcnIsICRleHByICkKICB7CiAgICAka2V5cyA9IGFycmF5X2tleXMoICRhcnIgKTsKICAgIGZvcmVhY2goICRrZXlzIGFzICRrICkKICAgICAgewoJaWYoIHByZWdfbWF0Y2goICRleHByLCAkayApICkgcmV0dXJuICRrOwogICAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgZnVuY3Rpb24gYXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCggJGFycjEsICRhcnIyICkKICB7CiAgICAkeHhyZXN1bHQgPSBhcnJheSgpOwogICAgLy8gYWRkIGl0ZW1zIGNvbW1vbiB0byBhcnIxIGFuZCBhcnIyIAogICAgLy8gYnV0IGZhdm9yIHJlcXVpcmVkIGl0ZW1zCiAgICBpZiggIWlzX2FycmF5KCAkYXJyMSApIHx8ICFpc19hcnJheSggJGFycjIgKSApCiAgICAgIHsKCXJldHVybjsKICAgICAgfQogICAgZm9yZWFjaCggJGFycjEgYXMgJGExICkKICAgICAgewoJZm9yZWFjaCggJGFycjIgYXMgJGEyICkKCSAgewoJICAgIGlmKCAkYTFbJ25hbWUnXSA9PSAkYTJbJ25hbWUnXSApIAoJICAgICAgewoJCWlmKCAkYTFbJ3JlcXVpcmVkJ10gPT0gMiApIAoJCSAgewoJCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMSApOwoJCSAgICBicmVhazsKCQkgIH0KCQllbHNlIAoJCSAgewoJCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMiApOwoJCSAgICBicmVhazsKCQkgIH0KCSAgICAgIH0gICAgCgkgIH0KICAgICAgfQogIAogICAgLy8gYWRkIGl0ZW1zIGluIGFycjEgbm90IGluIHJlc3VsdAogICAgZm9yZWFjaCggJGFycjEgYXMgJGExICkKICAgICAgewoJJGZvdW5kID0gZmFsc2U7Cglmb3JlYWNoKCAkeHhyZXN1bHQgYXMgJHJlcyApCgkgIHsKCSAgICBpZiggJGExWyduYW1lJ10gPT0gJHJlc1snbmFtZSddICkKCSAgICAgIHsKCQkkZm91bmQgPSB0cnVlOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CglpZiggISRmb3VuZCApCgkgIHsKCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMSApOwoJICB9CiAgICAgIH0KICAKICAgIC8vIGFkZCBpdGVtcyBpbiBhcnIyIG5vdCBpbiByZXN1bHQKICAgIGZvcmVhY2goICRhcnIyIGFzICRhMiApCiAgICAgIHsKCSRmb3VuZCA9IGZhbHNlOwoJZm9yZWFjaCggJHh4cmVzdWx0IGFzICRyZXMgKQoJICB7CgkgICAgaWYoICRhMlsnbmFtZSddID09ICRyZXNbJ25hbWUnXSApCgkgICAgICB7CgkJJGZvdW5kID0gdHJ1ZTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICEkZm91bmQgKQoJICB7CgkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTIgKTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gJHh4cmVzdWx0OwogIH0KCgogIGZ1bmN0aW9uIGNvbXBhcmVfZWxlbWVudHNfYnlfc29ydG9yZGVyX2tleSggJGUxLCAkZTIgKQogIHsKICAgIGlmKCAkZTFbJ3NvcnRfa2V5J10gPCAkZTJbJ3NvcnRfa2V5J10gKQogICAgICB7CglyZXR1cm4gLTE7CiAgICAgIH0KICAgIGVsc2UgaWYoICRlMVsnc29ydF9rZXknXSA+ICRlMlsnc29ydF9rZXknXSApCiAgICAgIHsKCXJldHVybiAxOwogICAgICB9CiAgICByZXR1cm4gMDsKICB9CgoKICBmdW5jdGlvbiBleHBsb2RlX3dpdGhfa2V5KCRzdHIsICRpbmdsdWU9Jz0nLCAkb3V0Z2x1ZT0nJicpCiAgewogICAgJHJldCA9IGFycmF5KCk7CiAgICAkYTEgPSBzcGxpdCgkb3V0Z2x1ZSwkc3RyKTsKICAgIGZvcmVhY2goICRhMSBhcyAkYTIgKQogICAgICB7CglsaXN0KCAkaywgJHYgKSA9IHNwbGl0KCAkaW5nbHVlLCAkYTIgKTsKCSRyZXRbICRrIF0gPSAkdjsKICAgICAgfQogICAgcmV0dXJuICRyZXQ7CiAgfQoKCiAgZnVuY3Rpb24gZmluZF9pbmRleF9vZl92YWx1ZSggJGRhdGEsICR2YWx1ZSwgJGRmbHQgKQogIHsKICAgICRpID0gMDsKICAgIGZvcmVhY2goICRkYXRhIGFzICRrPT4kdiApCiAgICAgIHsKCWlmKCAkdiA9PSAkdmFsdWUgKQoJICB7CgkgICAgcmV0dXJuICRpOwoJICB9CgkkaSsrOwogICAgICB9CiAgICByZXR1cm4gJGRmbHQ7CiAgfQoKCiAgZnVuY3Rpb24gaW1wbG9kZV93aXRoX2tleSgkYXNzb2MsICRpbmdsdWUgPSAnPScsICRvdXRnbHVlID0gJyYnKQogIHsKICAgICRyZXR1cm4gPSBudWxsOwogICAgZm9yZWFjaCAoJGFzc29jIGFzICR0ayA9PiAkdHYpICRyZXR1cm4gLj0gJG91dGdsdWUuJHRrLiRpbmdsdWUuJHR2OwogICAgcmV0dXJuIHN1YnN0cigkcmV0dXJuLHN0cmxlbigkb3V0Z2x1ZSkpOwogIH0KCgoKICBmdW5jdGlvbiBteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkbmFtZSwgJHZhbHVlPScnLCAkc2VsZWN0ZWR2YWx1ZT0nJywgCgkJCQkgJGFkZHR0ZXh0PScnKQogIHsKICAgICR0ZXh0ID0gJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbHVlLiciJzsKICAgICRhcnIgPSBzcGxpdCgiLCIsJHNlbGVjdGVkdmFsdWUpOwogICAgZm9yZWFjaCggJGFyciBhcyAkYSApCiAgICAgIHsKCWlmICgkYSA9PSAkdmFsdWUpCgkgIHsKCSAgICAkdGV4dCAuPSAnICcgLiAnY2hlY2tlZD0iY2hlY2tlZCInOwoJICB9CiAgICAgIH0KICAgIGlmICgkYWRkdHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdHRleHQ7CiAgICAgIH0KICAgICR0ZXh0IC49ICIgLz5cbiI7CiAgICByZXR1cm4gJHRleHQ7CiAgfQoKICBmdW5jdGlvbiBteUNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJGltYWdlPScnLCAkYWRkdHRleHQ9JycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJHRleHQgPSAnPGlucHV0IG5hbWU9IicuJGlkLiRuYW1lLiciIHZhbHVlPSInLiR2YWx1ZS4nIiB0eXBlPSc7CiAgICBpZiAoJGltYWdlICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnImltYWdlIic7CgkkaW1nID0gJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRpbWFnZTsKCSR0ZXh0IC49ICcgc3JjPSInLiRpbWcuJyInOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkdGV4dCAuPSAnInN1Ym1pdCInOwogICAgICB9CiAgICBpZiAoJGFkZHR0ZXh0ICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnICcuJGFkZHR0ZXh0OwogICAgICB9CiAgICAkdGV4dCAuPSAnIC8+JzsKICAgIHJldHVybiAkdGV4dCAuICJcbiI7CiAgfQoKCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAkbmFtZSwgJHZhbHVlPScnLCAkYWRkdGV4dD0nJywgJGRlbGltPScsJykKICB7CiAgICBpZiggaXNfYXJyYXkoICR2YWx1ZSApICkKICAgICAgewoJJHZhbCA9IFNlbGZyZWdVdGlsczo6aW1wbG9kZV93aXRoX2tleSggJHZhbHVlICk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHZhbCA9ICR2YWx1ZTsKICAgICAgfQogICAgJHZhbCA9IHN0cl9yZXBsYWNlKCciJywgJyZxdW90OycsICR2YWwpOwogICAgJHRleHQgPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbC4nIic7CiAgICBpZiAoJGFkZHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gIiAvPlxuIjsKICAgIHJldHVybiAkdGV4dDsKICB9CgogIGZ1bmN0aW9uIGlzX2Fzc29jaWF0aXZlKCYkYXJyYXkpewogICAgaWYgKCFpc19hcnJheSgkYXJyYXkpKSByZXR1cm4gZmFsc2U7CiAgICBmb3JlYWNoKGFycmF5X2tleXMoJGFycmF5KSBhcyAka2V5PT4kdmFsdWUpIHsKICAgICAgaWYoICFpc19udW1lcmljKCRrZXkpICkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCn0gLy8gRW5kIG9mIGNsYXNzCgojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogU2VsZlJlZ2lzdHJhdGlvbiAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgIHdpdGggYSB3ZWJzaXRlLgojCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVzZXJEaXNwbGF5UmVnaXN0cmF0aW9uRm9ybTEoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX1VzZXJEaXNwbGF5UmVnaXN0cmF0aW9uRm9ybTEoICYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ2dyb3VwJ10gKSApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKCXJldHVybjsKICAgICAgfQoKICAgICRmZXVzZXJzID0mICRtb2R1bGUtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgJGNtc21haWxlciA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICBpZiggISRjbXNtYWlsZXIgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyB5ZXAsIGFsbCB0aGUgbW9kdWxlcyBhcmUgaGVyZSwgbm93IHdlCiAgICAvLyBoYXZlIHRvIGNvbnZlcnQgdGhlIGdyb3VwbmFtZSBpbnRvIGFuIGlkCiAgICAkZ3JwaWQgPSAkZmV1c2Vycy0+R2V0R3JvdXBJRCgkcGFyYW1zWydncm91cCddKTsKICAgIGlmKCAkZ3JwaWQgPT0gZmFsc2UgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub3N1Y2hncm91cCcpKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIG5vdyB3ZSBoYXZlIGFuIGlkLi4uIGhhdmUgdG8gZ2V0IGEgbGlzdCBvZiB0aGUgZ3JvdXBzIHByb3BlcnRpZXMKICAgICRyZWxhdGlvbnMgPSAkZmV1c2Vycy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICk7CiAgICBpZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRyZWxhdGlvbnNbMV0gKTsKCXJldHVybjsKICAgICAgfQogICAgdWFzb3J0KCAkcmVsYXRpb25zLAoJICAgIGFycmF5KCdTZWxmcmVnVXRpbHMnLCdjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXknKSApOwoKICAgIC8vIG5vdyB3ZSBoYXZlIHRoZSBwcm9wZXJ0aWVzLCBnb3R0YSBzaG93IHNvbWV0aGluZyB0byB0aGUgdXNlcgogICAgLy8gZGFtbWl0LgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddKTsKICAgICAgfQoKICAgIC8vIG5vdyB3ZSdyZSByZWFkeSB0byBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKICAgIC8vIGZpcnN0IHdlIHB1dCBpbiBzdHVmZiB0aGF0IGlzIHJlcXVpcmVkICh1c2VybmFtZSwgcGFzc3dvcmQsIGV0YywgZXRjKQogICAgJHJvd2FycmF5ID0gYXJyYXkoKTsKCiAgICAvLyBtYWtlIHN1cmUgdXNlcm5hbWUgaXMgaW4gdGhlcmUKICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKICAgICRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgJG9uZXJvdy0+bWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAgICRvbmVyb3ctPnJlcXVpcmVkID0gMTsKICAgICR2YWwgPSAoaXNzZXQoJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSkpID8gJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSA6ICcnOwogICAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fdXNlcm5hbWUnLAoJCQkJCSAgIGltcGxvZGUoIjsiLGFycmF5KCd1c2VybmFtZScsMCwzMCwyKSkpOwogICAgaWYgKCRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZV9pc19lbWFpbCcpKQogICAgICAgICB7CiAgICAgICAgICRvbmVyb3ctPnByb21wdCA9ICRtb2R1bGUtPkxhbmcoJ2VtYWlsJyk7CiAgICAgICAgIH0KICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAkb25lcm93LT5wcm9tcHQgPSAkbW9kdWxlLT5MYW5nKCd1c2VybmFtZScpOwogICAgICAgICB9CiAgICAkb25lcm93LT5uYW1lID0gJ3VzZXJuYW1lJzsKICAgICRvbmVyb3ctPmNvbnRyb2wgPSRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF91c2VybmFtZScsICR2YWwsCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwKCQkJCQkgICAgICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSk7CiAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCiAgICAvLyBhbmQgcGFzc3dvcmQKICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKICAgICRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgJG9uZXJvdy0+bWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAgICRvbmVyb3ctPnJlcXVpcmVkID0gMTsKICAgICR2YWwgPSAoaXNzZXQoJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSkpID8gJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSA6ICcnOwogICAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fcGFzc3dvcmQnLAoJCQkJCSAgIGltcGxvZGUoIjsiLGFycmF5KCdwYXNzd29yZCcsMCwzMCwyKSkpOwogICAgJG9uZXJvdy0+cHJvbXB0ID0gJG1vZHVsZS0+TGFuZygncGFzc3dvcmQnKTsKICAgICRvbmVyb3ctPm5hbWUgPSAncGFzc3dvcmQnOwogICAgJG9uZXJvdy0+Y29udHJvbCA9JG1vZHVsZS0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICR2YWwsCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSk7CiAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCiAgICAvLyBhbmQgbWFrZSBoaW0gcmVwZWF0IHRoZSBwYXNzd29yZAogICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwogICAgJG9uZXJvdy0+Y29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiAgICAkb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwogICAgJG9uZXJvdy0+cmVxdWlyZWQgPSAxOwogICAgJHZhbCA9IChpc3NldCgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKSkgPyAkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddIDogJyc7CiAgICAkb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl9yZXBlYXRwYXNzd29yZCcsCgkJCQkJICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3JlcGVhdHBhc3N3b3JkJywwLDMwLDIpKSk7CiAgICAkb25lcm93LT5wcm9tcHQgPSAkbW9kdWxlLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpOwogICAgJG9uZXJvdy0+bmFtZSA9ICdyZXBlYXRwYXNzd29yZCc7CiAgICAkb25lcm93LT5jb250cm9sID0kbW9kdWxlLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwgJ2lucHV0X3JlcGVhdHBhc3N3b3JkJywgJHZhbCwKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKTsKICAgIGFycmF5X3B1c2goICRyb3dhcnJheSwgJG9uZXJvdyApOwoKICAgICRyZWxhdGlvbnMyID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRyZWxhdGlvbnMgYXMgJHJlbG4gKQogICAgICB7CgkkZGVmbiA9ICRmZXVzZXJzLT5HZXRQcm9wZXJ0eURlZm4oICRyZWxuWyduYW1lJ10gKTsKCWlmKCAkZGVmblsndHlwZSddID09IDYgKQoJICB7CgkgICAgLy8gaW1hZ2VzIGFyZSBpZ25vcmVkCgkgICAgY29udGludWU7CgkgIH0KCgkkcmVsblsnbWFwdG8nXSA9ICRkZWZuWyduYW1lJ107CgkkcmVsblsncHJvbXB0J10gPSAkZGVmblsncHJvbXB0J107CglpZiggJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScgKSApCgkgIHsKCSAgICAkcmVsYXRpb25zMltdID0gJHJlbG47CgkgICAgaWYoICRkZWZuWyd0eXBlJ10gPT0gMiApCgkgICAgICB7CgkJLy8gdG9kbywgY2hhbmdlIHNvbWV0aGluZyBoZXJlCgkJJHJlbG5bJ25hbWUnXSA9ICRyZWxuWyduYW1lJ10uJ19hZ2Fpbic7CgkJJHJlbG5bJ21hcHRvJ10gPSAkZGVmblsnbmFtZSddOwoJCSRyZWxuWydwcm9tcHQnXSA9ICRkZWZuWydwcm9tcHQnXS4nICgnLiRtb2R1bGUtPkxhbmcoJ2FnYWluJykuJyknOwoJCSRyZWxhdGlvbnMyW10gPSAkcmVsbjsKCSAgICAgIH0KCSAgfQoJZWxzZQoJICB7CgkgICAgJHJlbGF0aW9uczJbXSA9ICRyZWxuOwoJICB9CiAgICAgIH0KCiAgICBmb3JlYWNoKCAkcmVsYXRpb25zMiBhcyAkcmVsbiApCiAgICB7CiAgICAgIC8vIGRvbid0IHByb2Nlc3MgaGlkZGVuIGZpZWxkcyBoZXJlCiAgICAgIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAzICkgY29udGludWU7CgogICAgICAvLyBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb24KICAgICAgJGRlZm4gPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZuKCAkcmVsblsnbWFwdG8nXSApOwoKICAgICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoKICAgICAgJGNvbG9yID0gJyc7CiAgICAgIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAyICkgJGNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgICAkbWFya2VyID0gJyc7CiAgICAgIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAyICkgJG1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgICAgICRvbmVyb3ctPnJlcXVpcmVkID0gKCRyZWxuWydyZXF1aXJlZCddID09IDIpOwogICAgICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAgICAgJG9uZXJvdy0+bWFya2VyICAgPSAkbWFya2VyOwogICAgICAkb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl8nLiRyZWxuWyduYW1lJ10sCgkJCQkJICAgICBpbXBsb2RlKCI7IixhcnJheSgkcmVsblsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAgICAgJGRlZm5bJ2xlbmd0aCddLCRyZWxuWydyZXF1aXJlZCddKSkpOwoKICAgICAgJHZhbCA9IGlzc2V0KCRwYXJhbXNbJ2lucHV0XycuJHJlbG5bJ25hbWUnXV0pID8gJHBhcmFtc1snaW5wdXRfJy4kcmVsblsnbmFtZSddXSA6ICcnOwogICAgICAkb25lcm93LT5wcm9tcHQgPSAkcmVsblsncHJvbXB0J107CiAgICAgICRvbmVyb3ctPm5hbWUgPSAkcmVsblsnbmFtZSddOwogICAgICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kcmVsblsnbmFtZSddOwogICAgICBzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQoJewoJY2FzZSAwOiAvLyB0ZXh0CgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICAgICAkdmFsLCAkZGVmblsnbGVuZ3RoJ10sICRkZWZuWydtYXhsZW5ndGgnXSApOwoJICBicmVhazsKCgljYXNlIDE6IC8vIGNoZWNrYm94CgkgICRvbmVyb3ctPmNvbnRyb2wgPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLCAxLCAkdmFsICk7CgkgIGJyZWFrOwoKCWNhc2UgMjogLy8gZW1haWwKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkgICAgICR2YWwsICRkZWZuWydsZW5ndGgnXSwgKCRkZWZuWydtYXhsZW5ndGgnXSkgKTsKCSAgYnJlYWs7CgoJY2FzZSAzOiAvLyB0ZXh0YXJlYQoJICAkb25lcm93LT5jb250cm9sID0gJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSk7CgkgIGJyZWFrOwoKCWNhc2UgNDogLy8gZHJvcGRvd24KCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0RHJvcGRvd24oCgkJCQkJCQkkaWQsCgkJCQkJCQknaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkJJGZldXNlcnMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwgMSksCgkJCQkJCQktMSwKCQkJCQkJCSR2YWwpOwoJICBicmVhazsKCgljYXNlIDU6IC8vIG11bHRpc2VsZWN0CgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLAoJCQkJCQkJICAnaW5wdXRfJy4kZGVmblsnbmFtZSddLidbXScsCgkJCQkJCQkgICRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLAoJCQkJCQkJICBhcnJheSgpLAoJCQkJCQkJICAkdmFsKTsKCSAgYnJlYWs7Cgl9CgogICAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKICAgIH0KCiAgICAkaW5saW5lID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJyx0cnVlKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydub2lubGluZSddKSApCiAgICAgIHsKCSRpbmxpbmUgPSBmYWxzZTsKICAgICAgfQogICAgLy8gYW5kIHRoZSByZXN0IG9mIHRoZSBzdHVmZgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdzdGFydGZvcm0nLAoJCQkgICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3JlZ3VzZXInLAoJCQkJCQkgICAgICRyZXR1cm5pZCwgJ3Bvc3QnLCAnJywgJGlubGluZSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCRtb2R1bGUtPkxhbmcoJ3VzZXJfcmVnaXN0cmF0aW9uJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZ3JvdXBfaWQnLCAkZ3JwaWQgKS4KCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdncm91cCcsICRwYXJhbXNbJ2dyb3VwJ10gKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignY29udHJvbHMnLCAkcm93YXJyYXkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xjb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbXNnX3NlbmRhbm90aGVyZW1haWwnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ21zZ19zZW5kYW5vdGhlcmVtYWlsJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfc2VuZGFub3RoZXJlbWFpbCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkbW9kdWxlLT5MYW5nKCdjbGlja2hlcmUnKSwKCQkJCQkgICAgYXJyYXkoJ21vZGUnPT4nc2VuZGFub3RoZXJlbWFpbCcpLCcnLGZhbHNlLHRydWUpKTsKCiAgICAkY2FwdGNoYSA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwogICAgaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhX3RpdGxlJywgJG1vZHVsZS0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJCQkkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgICB9CgogICAgLy8gdG9kbywgcHV0IHRoaXMgaW50byB0aGUgZGF0YWJhc2UgYW5kIGxldCB0aGUgYWRtaW4gcGxheSB3aXRoIGl0LgogICAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVXNlckRpc3BsYXlWZXJpZmljYXRpb25Gb3JtKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZ1bmN0aW9uIF9Vc2VyRGlzcGxheVZlcmlmaWNhdGlvbkZvcm0oICYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgICRmZXVzZXJzID0mICRtb2R1bGUtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddKTsKICAgICAgfQoKICAgICR1c2VybmFtZSA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICkgKQogICAgICB7CgkkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogICAgICB9CiAgICAkcGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICAgICAgewoJJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICAgfQogICAgJGNvZGUgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY29kZSddICkgKQogICAgICB7CgkkY29kZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfY29kZSddKTsKICAgICAgfQogICAgJGdyb3VwX2lkID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2dyb3VwX2lkJ10gKSApCiAgICAgIHsKCSRncm91cF9pZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSk7CiAgICAgIH0KCiAgICAvLyBwcm9jZXNzIHRoZSB0ZW1wbGF0ZQogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywKCQkJICAkbW9kdWxlLT5MYW5nKCd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nKSk7CiAgICBpZiAoJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJykpCiAgICAgIHsKICAgICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZScsJG1vZHVsZS0+TGFuZygnZW1haWwnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZScsCgkJCSAgJG1vZHVsZS0+TGFuZygndXNlcm5hbWUnKSk7CiAgICAgIH0KICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF91c2VybmFtZScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfdXNlcm5hbWUnLAoJCQkJCQkgJHVzZXJuYW1lLAoJCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFzc3dvcmQnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ3Bhc3N3b3JkJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Bhc3N3b3JkJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwnaW5wdXRfcGFzc3dvcmQnLAoJCQkJCQkgICAgICRwYXNzd29yZCwKCQkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY29kZScsCgkJCSAgJG1vZHVsZS0+TGFuZygnY29kZScpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb2RlJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jb2RlJywKCQkJCQkJICRjb2RlLCAzMCwgMzAgKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICAgJG1vZHVsZS0+Q3JlYXRlRnJvbnRlbmRGb3JtU3RhcnQoJGlkLCAkcmV0dXJuaWQsICd2ZXJpZnl1c2VyJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnaW5wdXRfZ3JvdXBfaWQnLCAkZ3JvdXBfaWQgKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3JlZzJ0ZW1wbGF0ZScpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAkZmV1c2VycyA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKCXJldHVybjsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICAgICAgewoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgICAgIH0KCiAgICAkaW5saW5lID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJyx0cnVlKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydub2lubGluZSddKSApCiAgICAgIHsKCSRpbmxpbmUgPSBmYWxzZTsKICAgICAgfQogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3NlbmRhbm90aGVyZW1haWwnLCAkcmV0dXJuaWQsICdwb3N0JywgJycsICRpbmxpbmUpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduICgnZW5kZm9ybScsICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dF91c2VybmFtZScsCgkJCSAgICRvbmVyb3ctPmNvbnRyb2wgPSRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF91c2VybmFtZScsCgkJCQkJCQkJICAgICR2YWwsIDIwLAoJCQkJCQkJCSAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywKCQkJCQkJCSAgICAkbW9kdWxlLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpOwogIH0KCgoKPz4=]]></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[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYWxseSBsb2cgdGhlIHVzZXIgaW4gdG8gRnJvbnRFbmRVc2VycyBhZnRlciB0aGUgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICdEb25cJ3QgZGlzcGxheSB0aGUgZmluYWwgbWVzc2FnZSBhZnRlciByZWdpc3RyYXRpb24nOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ1BhZ2VJRC9BbGlhcyB0byByZWRpcmVjdCB0byBhZnRlciByZWdpc3RyYXRpb24gaXMgY29tcGxldGUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ1VzZSBJbmxpbmUgRm9ybXMgPGVtPihmb3JtIG91dHB1dCByZXBsYWNlcyB0aGUgbW9kdWxlIHRhZywgbm90IGFsbCBvZiBjb250ZW50KTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIHZlcmlmaWVkIGhpcyBpbmZvcm1hdGlvbiBhbmQgaXMgbm93IGNvbXBsZXRlbHkgcmVnaXN0ZXJlZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJwo8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSBuZXcgdXNlciBoYXMgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybTwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuZXcgdXNlcnMgc2VsZWN0ZWQgdXNlcm5hbWU8L2xpPgo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPgo8L3VsPgonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnCjxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIG5ldyB1c2VycyB1aWQ8L2xpPgo8L3VsPgonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NoYW5nZSBhZG1pbiBwcmVmZXJlbmNlcz8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFbWFpbCBhZGRyZXNzZXMgZG8gbm90IG1hdGNoJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnUmVxdWlyZSB1c2VycyB0byBlbnRlciB0aGVpciBlbWFpbCBhZGRyZXNzIHR3aWNlJzsKJGxhbmdbJ2FnYWluJ10gPSAnYWdhaW4nOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdEZWxldGUgU2VsZWN0ZWQgVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdObyBwcm9wZXJ0eSBkZWZpbml0aW9ucywgb3IgcHJvYmxlbSByZXRyZWl2aW5nIHRoZW0gZnJvbSB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBncm91cHMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyBncm91cCBsaXN0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvcic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnQ2xpY2sgSGVyZSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0kgaGF2ZSBhbHJlYWR5IGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0sIGJ1dCBkaWQgbm90IHJlY2VpdmUgYW4gZW1haWwsIGNhbiB5b3UgcGxlYXNlIHJlLXNlbmQgaXQnOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdBIG5ldyB1c2VyIGhhcyBiZWVuIGFkZGVkIHRvIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1sndW5rbm93biddID0gJ1Vua25vd24nOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0JzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ0NoZWNrIEFsbCc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1VuY2hlY2sgQWxsJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnU2VuZCBhbiBlbWFpbCB0byB0aGUgdXNlcic7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXMgdGhlIHVzZXIgdGhhdCB0aGVpciBhY2NvdW50IGhhcyBiZWVuIGFkanVzdGVkJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0ZpbGwgaW4gdGhlc2UgZmllbGRzIHRvIGNoYW5nZSB0aGUgdXNlciBwYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgcGFydGlhbGx5IHJlZ2lzdGVyZWQgdXNlcj8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ1VzZXJJRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dyb3VwJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpaSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXNlcnMgZm91bmQgKGxpbWl0ZWQgdG8gYSBtYXhpbXVtIG9mIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdVc2Vycyc7CiRsYW5nWydsaXN0MWRheSddID0gJ0xpc3QgYWxsIGVudHJpZXMgbW9yZSB0aGFuIDEgZGF5IG9sZCc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViamVjdCBmb3Igb3V0Z29pbmcgZW1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lc3NhZ2UgYm9keSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHQgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlZ2lzdGVyaW5nLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIHdlZWsgb2xkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBtb250aCBvbGQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBkYXkgb2xkJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7IAokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnWW91ciByZWdpc3RyYXRpb24gaW5mbyBoYXMgYmVlbiBtb2RpZmllZCc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnUmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdGVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0ZpbmFsIE1lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZ5IFJlZ2lzdHJhdGlvbic7CiRsYW5nWydjb2RlJ10gPSAnVmFsaWRhdGlvbiBLZXknOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldCBUbyBEZWZhdWx0cyc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGZvdW5kIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ0ludmFsaWQgZW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHZhbGlkIGVtYWlsIGFkZHJlc3MgZmllbGQgZm91bmQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZpZWxkICVzIG11c3QgYmUgZmlsbGVkIGluJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ1VzZXIgSW5mbyBDaGFuZ2VkIFRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVXNlciBub3QgZm91bmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVXNlcm5hbWUgaXMgaW52YWxpZCAodG9vIGxvbmcsIHRvbyBzaG9ydCwgb3IgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzKS4gIEhpbnQtIFVzZXJuYW1lcyBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyAobm8gc3BhY2VzKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWwnXSA9ICdFbWFpbCBpcyBpbnZhbGlkLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVGhhdCB1c2VybmFtZSBpcyBjdXJyZW50bHkgaW4gdXNlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0VSUk9SOiBQYXNzd29yZHMgZG9udCBtYXRjaCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdQYXNzd29yZCBpcyBpbnZhbGlkIChwYXNzd29yZHMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBjaGFyYWN0ZXJzIGluIGxlbmd0aCknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ1VzZXJuYW1lIGNhbm5vdCBiZSBlbXB0eSc7CiRsYW5nWydlcnJvcl9lbXB0eWVtYWlsJ10gPSAnRW1haWwgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgKGFnYWluKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGlvbiBlbWFpbHMgc2hvdWxkIGJlIHNlbnQgdG8nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpcm0gcmVnaXN0cmF0aW9uIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIE1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdGhhdCBhbGxvd3MgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIHNlbGYgcmVnaXN0cmF0aW9uIG1vZHVsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+CjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPgo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+CjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzXCdzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPgo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICJjaGVja2FsbCI8L3A+CjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+CjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgInlvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkIiBlbWFpbCB0ZW1wbGF0ZXM8L3A+CjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+CjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPgo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPgo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+CjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+CjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+CjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+CjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPgo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+CjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPgo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPgogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPgogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+CiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+CiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPgogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPgogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPgogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD1cJ2JsYWhcJ308L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPgogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPgogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNC4gLSBKYW4gMjAwODwvcD4KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjUuIC0gRmViIDIwMDg8L3A+CiAgICA8cD51c2UgPSYgc3ludGF4IHRvIGFsbCBjYWxscyB0byBHZXRNb2R1bGVJbnN0YW5jZSgpPC9wPgogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXMgKHRoZXkgZGlkblwndCB3b3JrIGFueXdheXMpPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuNi4gLSBNYXIgMjAwODwvcD4KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPgogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXM8L3A+CiAgICA8cD5NaW5vciBidWcgZml4ZXMgYW5kIGNsZWFudXBzPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjIgLSBNYXIgMjAwODwvcD4KICAgIDxwPkFkZCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGF1dG9tYXRpYyBsb2dnaW5nIGluIG9uY2UgdmVyaWZpY2F0aW9uIGlzIGNvbXBsZXRlPC9wPgogICAgPHA+TWlub3IsIGJ1dCBpbXBvcnRhbnQgYnVnIGZpeGVzLjwvcD4KPGxpPgo8bGk+PHA+VmVyc2lvbiAxLjIuMSAtIEp1bCAyMDA4PC9wPgogICAgPHA+QWRkZWQgc3VwcG9ydCBmb3IgZW1haWwgYWRkcmVzc2VzIGFzIHRoZSB1c2VybmFtZSAodGhhbmtzIF9TakdfKS48L3A+CjxsaT4KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+CjxwPkluIG9yZGVyIHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgY3JlYXRlIGEgcHJvcGVydHkgb2YgdHlwZSAiRW1haWwgQWRkcmVzcyIgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPgo8aDM+UGFyYW1ldGVyczwvaDM+CjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAic2lnbnVwIiBhbmQgInZlcmlmeSIuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAic2lnbnVwIiBpcyBhc3N1bWJlZC48L3A+CjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgInNpZ251cCIsIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+CjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZGlzYWJsZSBjYXB0Y2hhIG9uIHRoZSBzaWdudXAgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgY2FwdGNoYSBzdXBwb3J0IGlzIHByb3ZpZGVkLiAgVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgaXQuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnUG9za3l0bnV0JnlhY3V0ZTsgb3bEm8WZb3ZhYyZpYWN1dGU7IGsmb2FjdXRlO2QgamUgbmVwbGF0biZ5YWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VkJmFhY3V0ZTtsb3N0IHZ5dm9sYW4mYWFjdXRlOyBrZHnFviBub3YmeWFjdXRlOyB1xb5pdmF0ZWwgZG9rb27EjWlsIHZ5cGzFiG92JmFhY3V0ZTtuJmlhY3V0ZTsgcmVnaXN0cmHEjW4maWFjdXRlO2hvIGZvcm11bCZhYWN1dGU7xZllJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVZCZhYWN1dGU7bG9zdCB6bmHEjSZpYWN1dGU7YyZpYWN1dGU7LCDFvmUgdcW+aXZhdGVsIHBvdHZyZGlsIG9kZXNsYW4meWFjdXRlOyBlLW1haWwgYSBqZSBueW4maWFjdXRlOyBrb21wbGV0bsSbIHphcmVnaXN0cm92JmFhY3V0ZTtuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptxJtuaXQgYWRtaW5pc3RyYcSNbiZpYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTs/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdQb25lY2h0ZSB0b3RvIHBvbGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7IHBybyB6YWNob3YmYWFjdXRlO24maWFjdXRlOyBzdCZhYWN1dGU7dmFqJmlhY3V0ZTtjJmlhY3V0ZTtobyBoZXNsYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9uZWNodGUgdG90byBwb2xlIHByJmFhY3V0ZTt6ZG4mZWFjdXRlOyBwcm8gemFjaG92JmFhY3V0ZTtuJmlhY3V0ZTsgc3QmYWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxvdiZlYWN1dGU7IGFkcmVzeSBzZSBuZXNob2R1aiZpYWN1dGU7JzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVnnFvmFkb3ZhdCwgYWJ5IHXFvml2YXRlbCZlYWN1dGU7IHZsb8W+aWxpIHN2b3UgZS1tYWlsb3ZvdSBhZHJlc3UgZHZha3ImYWFjdXRlO3QnOwokbGFuZ1snYWdhaW4nXSA9ICd6bm92dSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1NtYXphdCB2eWJyYW4mZWFjdXRlOyB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgZGVmaW5pY2Ugdmxhc3Rub3N0JmlhY3V0ZTssIG5lYm8gZG8mc2Nhcm9uO2xvIGsgY2h5YsSbIHDFmWkgamVqaWNoIHpqaSZzY2Fyb247xaVvdiZhYWN1dGU7biZpYWN1dGU7IHogZGF0YWImYWFjdXRlO3plJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgc2t1cGlueSwgbmVibyBkbyZzY2Fyb247bG8gayBwb3QmaWFjdXRlO8W+JmlhY3V0ZTttIHDFmWkgamVqaWNoIHomaWFjdXRlO3NrJmFhY3V0ZTtuJmlhY3V0ZTsgeiBkYXRhYiZhYWN1dGU7emUnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhIGRhdGFiJmFhY3V0ZTt6ZSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpa27Em3RlIHpkZSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0ppxb4ganNlbSB2eXBsbmlsIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgZm9ybXVsJmFhY3V0ZTvFmSwgYWxlIG5lb2JkcsW+ZWwganNlbSBlLW1haWwsIG3Fr8W+ZXRlIG1pIGhvIHByb3MmaWFjdXRlO20gem5vdnUgcG9zbGF0Lic7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0RvIEZyb250RW5kVXNlcnMgYnlsIHDFmWlkJmFhY3V0ZTtuIG5vdiZ5YWN1dGU7IHXFvml2YXRlbCc7CiRsYW5nWydlZGl0J10gPSAnVXByYXZpdCc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bSZ5YWN1dGU7JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1Z5YnJhdCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWeWJyYXQgdiZzY2Fyb247ZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1pydSZzY2Fyb247aXQgdiZ5YWN1dGU7YsSbcic7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1Bvc2xhdCBlLW1haWwgdcW+aXZhdGVsaSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xb5pdmF0ZWxlLCDFvmUgamVqaWNoICZ1YWN1dGU7xI1ldCBieWwgdXByYXZlbic7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWeXBsxYh0ZSB0YXRvIHBvbGUgcHJvIHptxJtudSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdVcHJhdml0IHXFvml2YXRlbGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT3ByYXZkdSBjaGNldGUgdnltYXphdCB0b2hvdG8gxI0mYWFjdXRlO3N0ZcSNbsSbIHJlZ2lzdHJvdmFuJmVhY3V0ZTtobyB1xb5pdmF0ZWxlPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1XFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnU2t1cGluYSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ3Z5dHZvxZllbm8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdOYWxlemVuJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsgKG9tZXplbm8gbWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTttIHBvxI10ZW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvml2YXRlbCZlYWN1dGU7JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnVnlwc2F0IHYmc2Nhcm9uO2VjaG55IHBvbG/Fvmt5IHYmaWFjdXRlO2NlIG5lxb4gMSBkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdQxZllZG3Em3Qgb2RjaG96JmlhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnVMSbbG8gSFRNTCB6cHImYWFjdXRlO3Z5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVMSbbG8gdGV4dG92JmVhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ07Em2t0ZcWZJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsganNvdSDEjSZhYWN1dGU7c3RlxI1uxJsgcmVnaXN0cm92YW4maWFjdXRlOy4gSmVqaWNoIHBvxI1ldCBqZSBha3R1JmFhY3V0ZTtsbsSbOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ09kZWJyYXQgdiZzY2Fyb247ZWNobnkgcG9sb8W+a3kgc3RhciZzY2Fyb247JmlhY3V0ZTsgbmXFviB0JnlhY3V0ZTtkZW4nOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHJvayc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHQmeWFjdXRlO2Rlbic7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZGV2cmF0IHYmc2Nhcm9uO2VjaG55IHomYWFjdXRlO3puYW15JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdKc3RlIHNpIGppc3Q/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1ZhJnNjYXJvbjtlIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgJnVhY3V0ZTtkYWplIGJ5bHkgdXByYXZlbnknOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1BvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhY2UnOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdPdsSbxZlpdCByZWdpc3RyYWNpJzsKJGxhbmdbJ2NvZGUnXSA9ICdPdsSbxZlvdmFjJmlhY3V0ZTsga2wmaWFjdXRlO8SNJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdOYXN0YXZpdCBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdQcm8gdG9ob3RvIHXFvml2YXRlbGUgbmVieWx5IG5hbGV6ZW55IMW+JmFhY3V0ZTtkbiZlYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lYnlsbyBuYWxlemVubyBwb2xlIG9ic2FodWomaWFjdXRlO2MmaWFjdXRlOyBwbGF0bm91IGUtbWFpbG92b3UgYWRyZXN1JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQb2xlICVzIG11cyZpYWN1dGU7IGImeWFjdXRlO3QgdnlwbG7Em25vJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYcSNbiZpYWN1dGU7ICZzY2Fyb247YWJsb25hIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgJnNjYXJvbjthYmxvbmEgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBlLW1haWx1IHBybyBwb3R2cnplbiZpYWN1dGU7JzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHptxJtueSB1xb5pdmF0ZWxzayZ5YWN1dGU7Y2ggaW5mb3JtYWMmaWFjdXRlOyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVcW+aXZhdGVsIG5lYnlsIG5hbGV6ZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgbmVwbGF0biZlYWN1dGU7IChwxZkmaWFjdXRlO2xpJnNjYXJvbjsgZGxvdWgmZWFjdXRlOywgcMWZJmlhY3V0ZTtsaSZzY2Fyb247IGtyJmFhY3V0ZTt0ayZlYWN1dGU7LCBuZWJvIG9ic2FodWplIG5lcGxhdG4mZWFjdXRlOyB6bmFreSAtIHBvdm9sZW5hIGpzb3UgcG91emUgcCZpYWN1dGU7c21lbmEgYmV6IGRpYWtyaXRpa3kgYSBtZXplcikuICc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgamnFviBwb3XFviZpYWN1dGU7diZhYWN1dGU7bm8nOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnQ0hZQkE6IEhlc2xhIG5lb2Rwb3YmaWFjdXRlO2RhaiZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0hlc2xvIGplIG5lcGxhdG4mZWFjdXRlOyAoaGVzbGEgbXVzJmlhY3V0ZTsgbSZpYWN1dGU7dCBkJmVhY3V0ZTtsa3UgbWV6aSAlcyBhICVzIHpuYWt5KSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gbXVzJmlhY3V0ZTsgYiZ5YWN1dGU7dCB6YWQmYWFjdXRlO25vJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnSGVzbG8gKHpub3Z1KSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnUMWZaWhsYSZzY2Fyb247b3ZhYyZpYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUMWZaSB2b2wmYWFjdXRlO24maWFjdXRlOyBtdWR1bHUgYnlsbyBwb3XFvml0byBwxZkmaWFjdXRlO2xpJnNjYXJvbjsgbSZhYWN1dGU7bG8gcGFyYW1ldHLFrywgbmVibyBqc291IHphZGFuJmVhY3V0ZTsgcGFyYW1ldHJ5IG5lcGxhdG4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdOZW1vaHUgc2UgcMWZaXBvaml0IGsgbXVkdWx1IEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdVdmVkZW4mZWFjdXRlOyBqbSZlYWN1dGU7bm8gc2t1cGlueSBuZWV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgeiBvYnImYWFjdXRlO3prdSBuZWJ5bCB2bG/FvmVuIHNwciZhYWN1dGU7dm7Emyc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgZS1tYWlseSBieSBtxJtseSBiJnlhY3V0ZTt0IHphc2wmYWFjdXRlO255IG5hIGUtbWFpbHknOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdWecW+YWRvdmF0IHXFvml2dGVsb3ZvIHBvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSBlLW1haWxlbSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnUG9zbGF0IHVwb3pvcm7Em24maWFjdXRlOyBlLW1haWxlbSwga2R5xb4gc2UgbsSba2RvIHJlZ2lzdHJ1amUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsU3Rvcm5vJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1Zsb8W+aXQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2Ftb3N0YXRuJmFhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UgYnlsIG9kaW5zdGFsb3YmYWFjdXRlO24uIE5hc2hsZWRhbm91IHDFmSZpYWN1dGU7JnNjYXJvbjt0xJsuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RpbnN0YWxvdiZhYWN1dGU7bi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemUgJXMgaW5zdGFsbG92JmFhY3V0ZTtuLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdWbGFzdG5vc3RpIG1vZHVsdSBuYXN0YXZlbnknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUMWZJmlhY3V0ZTtzdHVwIHphayZhYWN1dGU7eiZhYWN1dGU7bi4gUHJvcyZpYWN1dGU7bSB6a29udHJvbHVqdGUgc3YmYWFjdXRlOyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYWt0dWFsaXpvdiZhYWN1dGU7biBuYSB2ZXJ6aSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2ZW4maWFjdXRlOyBtb2R1bHUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYcSNbiZpYWN1dGU7IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIHNhbW9yZWdpc3RyYWNlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9kdWwsIGt0ZXImeWFjdXRlOyB1bW/FvsWIdWplIHNhbW9zdGF0bm91IHJlZ2lzdHJhY2kgdcW+aXZhdGVsxa8uJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlYmaWFjdXRlO3RlanRlIHYgbW9kdWx1IFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExODk4MTEwMzkuMTA1LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPW1pbGhhdXMud2lraWRvdC5jb218dXRtY2N0PS9wcnV6a3VtLWRvbW92c2t5Y2gtc3RyYW5lay1jbXN8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTYwODg1NTIxMC4xMTY3OTA4MTA5LjExOTAwNDUwOTcuMTE5MDA1MDI2OC4xMTInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nIGF1dG9tYXRpc2sgYnJ1Z2VyZW4gaW5kIGkgRnJvbnRFbmRVc2VycyBlZnRlciB2ZXJpZmlrYXRpb24gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICdWaXMgaWtrZSBkZW4gZW5kZWxpZ2UgYmVza2VkIGVmdGVyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUmVkaXJlY3QgdGlsIGYmb3NsYXNoO2xnZW5kZSBQYWdlSUQvQWxpYXMgZWZ0ZXIgcmVnaXN0cmVyaW5nZW4gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdSZWRpcmVjdCB0aWwgZiZvc2xhc2g7bGdlbmRlIFBhZ2VJRC9BbGlhcyBlZnRlciB2ZXJpZmlrYXRpb24gZXIgZ2VubmVtZiZvc2xhc2g7cnQnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ0JydWcgSW5saW5lIEZvcm1zIDxlbT4oZm9ybWVucyBvdXRwdXQgZXJzdGF0dGVyIGt1biBtb2R1bGV0cyB0YWcgLSBpa2tlIGFsdCBpbmRob2xkIHAmYXJpbmc7IHNpZGVuKTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVmFsaWRlcmluZ3Nrb2RlbiBlciB1Z3lsZGlnJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0VuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gbnkgYnJ1Z2VyIGhhciB1ZGZ5bGR0IHJlZ2lzdHJlcmluZ3NibGFua2V0dGVuJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIGJydWdlciBoYXIgdmVyaWZpY2VyZXQgc2luIGluZm9ybWF0aW9uIG9nIGhhciBmdWxkdGVuZHQgcmVnaXN0cmVyaW5nZW4nOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIG55IGJydWdlciBoYXIgdWRmeWxkdCByZWdpc3RyZXJpbmdzYmxhbmtldHRlbjwvcD4NCjxoND5QYXJhbWV0cmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5icnVnZXJuYXZuPC9lbT4gLSBCcnVnZXJuYXZuIHZhbGd0IGFmIGRlbiBueWUgYnJ1Z2VyPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIERlbiBueWUgYnJ1Z2VycyBlbWFpbCBhZHJlc3NlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RW4gYmVnaXZlbmhlZCwgZGVyIGluZGlrZXJlciBhdCBlbiBicnVnZXIgZXIgYmxldmV0IHZlcmlmaWNlcmV0IG9nIG51IGVyIHJlZ2lzdHJlcmV0IHNvbSBmcm9udCBlbmQgYnJ1Z2VyPC9wPg0KPGg0PlBhcmFtZXRyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWdlcm5hdm48L2VtPiAtIERldCByZWdpc3RyZXJlZGUgYnJ1Z2VybmF2bjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdTa2FsIGFkbWluIGluZHN0aWxsaW5nZXIgJmFlbGlnO25kcmVzPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFkIGRldHRlIGZlbHQgdiZhZWxpZztyZSB0b210IGZvciBhdCBiZXZhcmUgYnJ1Z2VyZW5zIGtvZGVvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhZCBkZXR0ZSBmZWx0IHYmYWVsaWc7cmUgdG9tdCBmb3IgYXQgYmV2YXJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgYWRyZXNzZXIgZXIgaWtrZSBlbnMnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdLciZhZWxpZzt2IGF0IGJydWdlcmUgaW5kdGFzdGVyIGRlcmVzIGVtYWlsYWRyZXNzZSB0byBnYW5nZSc7CiRsYW5nWydhZ2FpbiddID0gJ2lnZW4nOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTbGV0IHZhbGd0ZSBicnVnZXJlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnSW5nZW4gZWdlbnNrYWJlciBkZWZpbmVyZXQsIGVsbGVyIGRlciB2YXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBkZW0gZnJhIGRhdGFiYXNlbic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZWxsZXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBncnVwcGVvdmVyc2lndCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRmVqbCBpIGRhdGFiYXNlbic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgcG9zdCBlbWFpbCAtIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrIGhlcic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0plZyBoYXIgYWxsZXJlZGUgdWRmeWxkdCByZWdpc3RyZXJpbmdzYmxhbmtldHRlbiwgbWVuIGplZyBoYXIgaWtrZSBtb2R0YWdldCBlbiBlbWFpbC4gVmlsIEkgdmVubGlnc3Qgc2VuZGUgZGVuIGlnZW4/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNaXN0ZXQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VuIG55IGJydWdlciBlciBibGV2ZXQgdGlsZiZvc2xhc2g7amV0IEZyb250RW5kQnJ1Z2VyZSc7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVa2VuZHQnOwokbGFuZ1snc2VsZWN0J10gPSAnViZhZWxpZztsZyc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdNYXJrZXIgYWxsZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0ZqZXJuIG1hcmtlcmluZyBmcmEgYWxsZSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZW4gZW1haWwgdGlsIGJydWdlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVnZXJlbiBvbSBhdCBoYW5zIGtvbnRvIGVyIGJsZXZldCAmYWVsaWc7bmRyZXQpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1VkZnlsZCBkaXNzZSBmZWx0ZXIgZm9yIGF0ICZhZWxpZztuZHJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWdlciBicnVnZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZGVsdmlzdCBvcHJldHRlZGUgYnJ1Z2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnQnJ1Z2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ09wcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdGdW5kbmUgYnJ1Z2VyZSAoYmVnciZhZWxpZztuc2V0IHRpbCBtYXggMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0JydWdlcmUnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWaXMgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUgZm9yIHVkZyZhcmluZztlbmRlIG1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIGJlc2tlZCBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGVrc3QgYmVza2VkIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnRXQgYW50YWwgYnJ1Z2VyZSBlciBtaWR0IGkgYXQgcmVnaXN0cmVyZSBzaWcuICBMaWdlIG51IGVyIGFudGFsbGV0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiB1Z2UgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdTbGV0IGFsbGUgaW5kbCZhZWxpZztnLCBkZXIgZXIgbWVyZSBlbmQgZW4gZGFnIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2cnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnRGluZSByZWdpc3RyZXJlZGUgb3BseXNuaW5nZXIgZXIgYmxldmV0ICZhZWxpZztuZHJldCc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQmVrciZhZWxpZztmdGVsc2UgcCZhcmluZzsgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0ciZlYWN1dGU7cic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdFbmRlbGlnIGJlc2tlZCAtIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1ZlcmlmaWNlciByZWdpc3RyZXJpbmcnOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkZXJpbmdza29kZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnUyZhZWxpZzt0IHRpbCBkZWZhdWx0JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0luZ2VuIGVnZW5za2FiZXIgZnVuZGV0IGZvciBkZW5uZSBicnVnZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnSW5nZW4gdGlsa255dHRlZGUgZWdlbnNrYWJlcic7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVZ3lsZGlnIGVtYWlsIGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdJbnRldCBneWxkaWd0IGVtYWlsIGFkcmVzc2UtZmVsdCBmdW5kZXQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZlbHQgJXMgc2thbCB1ZGZ5bGRlcyc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmVyaW5nc3RlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJlcmluZ3N0ZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jla3ImYWVsaWc7ZnQgZW1haWwgLSB0ZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdCcnVnZXIgaW5mb3JtYXRpb25lciAmYWVsaWc7bmRyZWRlIC0gdGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JydWdlcmVuIGJsZXYgaWtrZSBmdW5kZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bmV0IGVyIHVneWxkaWd0IChmb3IgbGFuZ3QsIGZvciBrb3J0IGVsbGVyIGluZGVob2xkZXIgdWd5bGRpZ2Uga2FyYWt0ZXJlcikuIFRpcCAtIGJydWdlcm5hdm5lIG0mYXJpbmc7IGt1biBpbmRlaG9sZGUgYWxwaGFudW1lcmlza2UgdGVnbiAoaW5nZW4gbWVsbGVtcnVtKSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGV0IGJydWdlcm5hdm4gZXIgYWxsZXJlZGUgaSBicnVnJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0Zlamw6IEtvZGVvcmQgbWF0Y2hlciBpa2tlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0tvZGVvcmRldCBlciBpa2tlIGd5bGRpZ3QgKGtvZGVvcmQgc2thbCB2JmFlbGlnO3JlIG1lbGxlbSAlcyBvZyAlcyB0ZWduKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnRmVsdGV0IGJydWdlcm5hdm4ga2FuIGlra2UgdiZhZWxpZztyZSB0b210JzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnS29kZW9yZCAoaWdlbiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU2tyaXYgdGVrc3RlbiBmcmEgYmlsbGVkZXQnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVXRpbHN0ciZhZWxpZztra2VsaWdlIGVsbGVyIHVrb3JyZWt0ZSBwYXJhbWV0cmUgYW5naXZldCB0aWwgbW9kdWxldCc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIHNrYWZmZSBGcm9udEVuZFVzZXJzIG1vZHVsZXQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdEZXQgYW5naXZuZSBncnVwcGVuYXZuIGVrc2lzdGVyZXIgaWtrZSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxsZWRlciBibGV2IGlra2Ugc2tyZXZldCBrb3JyZWt0JzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnRW1haWxzIHZlZHImb3NsYXNoO3JlbmRlIHJlZ2lzdHJlcmluZyBza2FsIHNlbmRlcyB0aWwnOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdLciZhZWxpZzt2IGF0IGJydWdlcmVuIGJla3ImYWVsaWc7ZnRlciByZWdpc3RyZXJpbmdlbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgZW4gZW1haWwgbiZhcmluZztyIGVuIG55IGJydWdlciByZWdpc3RyZXJlciBzaWcnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxsZXInOwokbGFuZ1snc3VibWl0J10gPSAnSW5kc2VuZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bCB0aWwgc2VsdnJlZ2lzdHJlcmluZyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbmVuIGJsZXYgZ2VubmVtZiZvc2xhc2g7cnQgbWVkIHN1Y2Nlcy4gSHVzayBhdCBzJmFlbGlnO3R0ZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyB0aWxsYWRlbHNlci4gIEh2aXMgQ2FwdGNoYSBtb2R1bGV0IGVyIGluc3RhbGxlcmV0LCBlciBjYXB0Y2hhIGZ1bmt0aW9uZW4gZGVmYXVsdC4gIFZpIGFuYmVmYWxlciBkdSBpbnN0YWxsZXJlciBkZXR0ZSBtb2R1bC4NCg0KSHZpcyBDYXB0Y2hhIG1vZHVsZXQgZXIgaW5zdGFsbGVyZXQsIG9nIGR1IGlra2UgJm9zbGFzaDtuc2tlciBhdCBicnVnZSBkZXQsIGthbiBkdSBzbCZhcmluZzsgZGV0IGZyYSBtZWQgJiMwMzk7bm9jYXB0Y2hhJiMwMzk7IHBhcmFtZXRlcmV0IGkgZGluIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWwgdGlsIHNlbHZyZWdpc3RyZXJpbmcgZXIgYmxldmV0IGFmaW5zdGFsbGVyZXQuIFZpIHNlcy4uLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGFmaW5zdGFsbGVyZXQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBlciBpbnN0YWxsZXJldC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxldHMgaW5kc3RpbGxpbmdlciBlciBibGV2ZXQgb3BkYXRlcmV0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbiZhZWxpZztndGV0LiBDaGVjayBkaW5lIHRpbGxhZGVsc2VyLic7CiRsYW5nWydlcnJvciddID0gJ0ZlamwhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgb3BncmFkZXJldCB0aWwgdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWwgaW5kc3RpbGxpbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRXQgbW9kdWwsIGRlciB0aWxsYWRlciBicnVnZXJlIGF0IHJlZ2lzdHJlcmUgZGVtIHNlbHYuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlZlbGtvbW1lbiB0aWwgbW9kdWxldCBmb3Igc2VsdnJlZ2lzdHJlcmluZzwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkh2YWQgZyZvc2xhc2g7ciBkZXR0ZSBtb2R1bD88L2gzPg0KPHA+RGV0dGUgbW9kdWwgZXIgZGVzaWduZXQgdGlsIGF0IHRpbGxhZGUgZnJvbnQgZW5kIGJydWdlcmUgYXQgcmVnaXN0cmVyZSBkZW0gc2VsdiBvZyB1ZGZ5bGRlIGRlbiBwJmFyaW5nO2tyJmFlbGlnO3ZuZSBpbmZvcm1hdGlvbi4gRGV0IHNlbmRlciBlbiBiZWtyJmFlbGlnO2Z0ZWxzZXMgZW1haWwgbWVkIGV0IGxpbmsgdGlsIGVuIGFuZGVuIHNpZGUsIGRlciBza2FsIHVkZiZvc2xhc2g7cmVzIGluZGVuIHJlZ2lzdHJlcmluZ2VuIGVyIGZ1bGRlbmR0LiBOJmFyaW5nO3IgcmVnaXN0cmVyaW5nZW4gZXIgZnVsZHRlbmR0IHZpbCBkZXIgYmxpdmVyIG9wcmV0dGV0IGVuIGJydWdlcmtvbnRvIGkgZnJvbnQgZW5kIGJydWdlciBtb2R1bGV0LjwvcD4NCjxwPkZvciBhdCBicnVnZSBkZXR0ZSBtb2R1bCBza2FsIGR1IG9wcmV0dGUgZW4gZWdlbnNrYWIgbWVkIHR5cGVuICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaSBGcm9udGVuZFVzZXJzIG1vZHVsZXQgb2cgYXNzb2NpZXJlIGRlbiBlZ2Vuc2thYiBtZWQgZ3J1cHBlbiwgZGVyIHNrYWwgYnJ1Z2VzIHRpbCBzZWx2cmVnaXN0cmVyaW5nLjwvcD4NCg0KPGgzPkh2b3JkYW4gYnJ1Z2VyIGplZyBkZXQ8L2gzPg0KPHA+RHUgcGxhY2VyZXIgZiZvc2xhc2g7bGdlbmRlIHRhZyBwJmFyaW5nOyBkaW4gc2lkZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+RHUgc2thbCBpbmRlbiBkYSBoYXZlIG9wcmV0dGV0IGVnZW5za2FiZXIgb2cgYnJ1Z2VyZ3J1cHBlciBpIEZyb250RW5kVXNlcnMgbW9kdWxldCBmb3IgYXQgZGV0dGUgdmlsIHZpcmtlIGtvcnJla3QuPC9wPg0KPGgzPlBhcmFtZXRyZTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG11bGlnZSB2JmFlbGlnO3JkaWVyIGVyICZxdW90O3NpZ251cCZxdW90OyBvZyAmcXVvdDt2ZXJpZnkmcXVvdDsuICBIdmlzIGRldHRlIHBhcmFtZXRlciBpa2tlIGVyIHNwZWNpZmljZXJldCwgdmlsICZxdW90O3NpZ251cCZxdW90OyBibGl2ZSB2YWxndC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSBwYXJhbWV0ZXIgZXIgcCZhcmluZztrciZhZWxpZzt2ZXQgaHZpcyBtb2RlIGVyICZxdW90O3NpZ251cCZxdW90OyBlbGxlciBodmlzIG1vZGUgZXIgdG9tLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSB2aWwgc2wmYXJpbmc7IGNhcHRjaGEgZnJhIHAmYXJpbmc7IHNpZ251cCBmb3JtdWxhcmVuLiBIdmlzIENhcHRjaGEgbW9kdWxldCBlciBpbnN0YWxsZXJldCB2aWwgY2FwdGNoYSBzdXBwb3J0IHYmYWVsaWc7cmUgc3RhbmRhcmQuICBEZXR0ZSBwYXJhbWV0ZXIgc2wmYXJpbmc7ciBkZXQgZnJhLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRldHRlIG1vZHVsIGlua2x1ZGVyZXIgaWtrZSBrb21tZXJjaWVsIHN1cHBvcnQuIERlciBhbGxpZ2V2ZWwgZm9yc2tlbGxpZ2UgcmVzc291cmNlciB0aWxnJmFlbGlnO25nZWxpZ2UsIGRlciBrYW4gaGomYWVsaWc7bHBlIGRpZyBtZWQgZGV0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjEwMjQyNjU4LjI2LjE1LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MjU3MzI5NDAuMTIwNTQ4OTg0Mi4xMjEwMjQyNjU4LjEyMTA5NTI1NjcuMjcnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnRGVuIEJlbnV0emVyIGF1dG9tYXRpc2NoIGltIEZyb250RW5kVXNlcnMtTW9kdWwgYW5tZWxkZW4sIHdlbm4gZGllICZVdW1sO2JlcnByJnV1bWw7ZnVuZyBlcmZvbGdyZWljaCBhYmdlc2NobG9zc2VuIHd1cmRlJzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnTmFjaCBkZXIgUmVnaXN0cmllcnVuZyBrZWluZSBhYnNjaGxpZSZzemxpZztlbmRlIE1pdHRlaWx1bmcgYW56ZWlnZW4nOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ1NlaXRlbi1JRC9BbGlhcywgYXVmIGRpZSBkaWUgQmVudXR6ZXIgbmFjaCBkZXIgdm9sbHN0JmF1bWw7bmRpZ2VuIFJlZ2lzdHJpZXJ1bmcgd2VpdGVyZ2VsZWl0ZXQgd2VyZGVuIHNvbGxlbic7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ1NlaXRlbi1JRC9BbGlhcywgYXVmIGRpZSBkaWUgQmVudXR6ZXIgbmFjaCBkZXIgdm9sbHN0JmF1bWw7bmRpZ2VuICZVdW1sO2JlcnByJnV1bWw7ZnVuZyB3ZWl0ZXJnZWxlaXRldCB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdJbmxpbmUtRm9ybXVsYXJlIHZlcndlbmRlbiA8ZW0+KGRhcyBGb3JtdWxhciBlcnNldHp0IGRlbiBNb2R1bC1UYWcsIG5pY2h0IGRlbiBnZXNhbXRlbiBjb250ZW50IFRhZyk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ0RlciBlaW5nZWdlYmVuZSAmVXVtbDtiZXJwciZ1dW1sO2Z1bmdzc2NobCZ1dW1sO3NzZWwgaXN0IHVuZyZ1dW1sO2x0aWcnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIGRhcyBSZWdpc3RyaWVydW5nc2Zvcm11bGFyIHZvbGxzdCZhdW1sO25kaWcgYXVzZ2VmJnV1bWw7bGx0IGhhdCc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIHNlaW5lIERhdGVuICZ1dW1sO2JlcnByJnV1bWw7ZnQgaGF0IHVuZCBqZXR6dCB2b2xsc3QmYXVtbDtuZGlnIHJlZ2lzdHJpZXJ0IGlzdCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbiBCZW51dHplciBkYXMgUmVnaXN0cmllcnVuZ3Nmb3JtdWxhciB2b2xsc3QmYXVtbDtuZGlnIGF1c2dlZiZ1dW1sO2xsdCBoYXQ8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGRlciBOYW1lIGRlcyBuZXVlbiBCZW51dHplcnM8L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gZGllIEVtYWlsYWRyZXNzZSBkZXMgbmV1ZW4gQmVudXR6ZXJzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIHNlaW5lIERhdGVuICZ1dW1sO2JlcnByJnV1bWw7ZnQgaGF0IHVuZCBqZXR6dCB2b2xsc3QmYXVtbDtuZGlnIHJlZ2lzdHJpZXJ0IGlzdDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIHJlZ2lzdHJpZXJ0ZSBCZW51dHplcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIElEIGRlcyBuZXVlbiBCZW51dHplcnM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnRGllIEFkbWluaXN0cmF0b3ItRWluc3RlbGx1bmdlbiAmYXVtbDtuZGVybj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhc3NlbiBTaWUgZGllc2VzIEZlbGQgbGVlciwgd2VubiBTaWUgZGFzIGJpc2hlcmlnZSBCZW51dHplci1QYXNzd29ydCBiZWliZWhhbHRlbiBtJm91bWw7Y2h0ZW4uJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYXNzZW4gU2llIGRpZXNlcyBGZWxkIGxlZXIsIHdlbm4gU2llIGRhcyBiaXNoZXJpZ2UgQmVudXR6ZXItUGFzc3dvcnQgYmVpYmVoYWx0ZW4gbSZvdW1sO2NodGVuLic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0RpZSBFbWFpbC1BZHJlc3NlbiBzdGltbWVuIG5pY2h0ICZ1dW1sO2JlcmVpbi4nOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdCZW51dHplciBtJnV1bWw7c3NlbiBpaHJlIEVtYWlsYWRyZXNzZSB6dXIgQmVzdCZhdW1sO3RpZ3VuZyBlaW4gendlaXRlcyBNYWwgZWluZ2ViZW4uJzsKJGxhbmdbJ2FnYWluJ10gPSAnTm9jaCBlaW5tYWwnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdEaWUgYXVzZ2V3JmF1bWw7aGx0ZW4gQmVudXR6ZXIgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnS2VpbmUgRWlnZW5zY2hhZnRzZGVmaW5pdGlvbmVuIHZvcmhhbmRlbiwgb2RlciBQcm9ibGVtZSBiZWkgZGVyZW4gQWJydWYgYXVzIGRlciBEYXRlbmJhbmsnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdLZWluZSBCZW51dHplcmdydXBwZW4gdm9yaGFuZGVuLCBvZGVyIGVpbiBQcm9ibGVtIGJlaW0gQXVmZmluZGVuIGRlciBCZW51dHplcmdydXBwZW5saXN0ZSc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0ZW5iYW5rZmVobGVyJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ05hY2hmb2xnZW5kZXMgVGVtcGxhdGUgYmVpIHZlcmxvcmVuZ2VnYW5nZW5lciBFbWFpbCc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgYmVpIHZlcmxvcmVuZ2VnYW5nZW5lciBFbWFpbCc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdIaWVyIGtsaWNrZW4nOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdJY2ggaGFiZSBkYXMgUmVnaXN0cmllcnVuZ3Nmb3JtdWxhciBiZXJlaXRzIHZvbGxzdCZhdW1sO25kaWcgYXVzZ2VmJnV1bWw7bGx0LCBoYWJlIGFiZXIgbm9jaCBrZWluZSBFbWFpbCBiZWtvbW1lbi4gSyZvdW1sO25uZW4gU2llIG1pciBkaWVzZSBub2NoIGVpbm1hbCBzZW5kZW4/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBiZWkgdmVybG9yZW5nZWdhbmdlbmVyIEVtYWlsJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnRWluIG5ldWVyIEJlbnV0emVyIHd1cmRlIGltIEZyb250ZW5kVXNlcnMtTW9kdWwgaGluenVnZWYmdXVtbDtndC4nOwokbGFuZ1snZWRpdCddID0gJ0JlYXJiZWl0ZW4nOwokbGFuZ1sndW5rbm93biddID0gJ1VuYmVrYW5udCc7CiRsYW5nWydzZWxlY3QnXSA9ICdBdXN3JmF1bWw7aGxlbic7CiRsYW5nWydjaGVja19hbGwnXSA9ICdBbGxlIGF1ZiAmIzAzOTsmVXVtbDtiZXJwciZ1dW1sO2Z0JiMwMzk7IHNldHplbic7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0FsbGUgYXVmICYjMDM5O05pY2h0ICZ1dW1sO2JlcnByJnV1bWw7ZnQmIzAzOTsgc2V0emVuJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnRWluZSBFbWFpbCBhbiBkZW4gQmVudXR6ZXIgc2VuZGVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtaWVydCBkZW4gQmVudXR6ZXIsIGRhc3Mgc2VpbiBLb250byBrb3JyaWdpZXJ0IHd1cmRlKSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdTaWUgbSZ1dW1sO3NzZW4gZGllc2UgRmVsZGVyIGF1c2YmdXVtbDtsbGVuLCB1bSBkYXMgQmVudXR6ZXItUGFzc3dvcnQgenUgJmF1bWw7bmRlcm4uJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnQmVudXR6ZXIgYmVhcmJlaXRlbic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoIGRpZXNlbiB0ZWlsd2Vpc2UgcmVnaXN0cmllcnRlbiBCZW51dHplciBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdCZW51dHplci1JRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdCZW51dHplcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdCZW51dHplcmdydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCZW51dHplciBnZWZ1bmRlbiAoYmVzY2hyJmF1bWw7bmt0IGF1ZiBtYXhpbWFsIDI1MCBCZW51dHplciknOwokbGFuZ1sndXNlcnMnXSA9ICdCZW51dHplcic7CiRsYW5nWydsaXN0MWRheSddID0gJ0FsbGUgRWludHImYXVtbDtnZSBhdWZsaXN0ZW4sIGRpZSAmYXVtbDtsdGVyIGFscyAxIFRhZyBzaW5kJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdCZXRyZWZmIGYmdXVtbDtyIGRpZSBhdXNnZWhlbmRlIEVtYWlsJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSW5oYWx0IGRlciBIVE1MLU5hY2hyaWNodCc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ0luaGFsdCBkZXIgVGV4dC1OYWNocmljaHQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQW56YWhsIHZvbiBCZW51dHplcm4sIGRpZSBpaHIgdmVybG9yZW4gZ2VnYW5nZW5lcyBQYXNzdyZvdW1sO3J0ZXIgenVyJnV1bWw7Y2tzZXR6ZW4gd29sbGVuLiBBa3R1ZWxsIHNpbmQgZGllczonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuLCBkaWUgJmF1bWw7bHRlciBhbHMgZWluZSBXb2NoZSBzaW5kJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ0FsbGUgRWludHImYXVtbDtnZSBlbnRmZXJuZW4sIGRpZSAmYXVtbDtsdGVyIGFscyBlaW4gTW9uYXQgc2luZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbiwgZGllICZhdW1sO2x0ZXIgYWxzIGVpbmVuIFRhZyBzaW5kJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ0FsbGUgRWludHImYXVtbDtnZSBlbnRmZXJuZW4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dvbGxlbiBTaWUgZGFzIHdpcmtsaWNoPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdJaHJlIFJlZ2lzdHJpZXJ1bmdzaW5mb3JtYXRpb24gd3VyZGUgbW9kaWZpemllcnQuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyaWVydW5nc2Jlc3QmYXVtbDt0aWd1bmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyaWVyZW4nOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgQWJzY2hsdXNzbmFjaHJpY2h0JzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJpZXJ1bmcgJnV1bWw7YmVycHImdXVtbDtmZW4nOwokbGFuZ1snY29kZSddID0gJyZVdW1sO2JlcnByJnV1bWw7ZnVuZ3NzY2hsJnV1bWw7c3NlbCc7CiRsYW5nWydkZWZhdWx0J10gPSAnQWxzIFN0YW5kYXJkIHNldHplbic7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdLZWluZSBFaWdlbnNjaGFmdGVuIGYmdXVtbDtyIGRpZXNlbiBCZW51dHplciBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9ub3Byb3ByZWxhdGlvbnMnXSA9ICdLZWluZSBCZXppZWh1bmdlbiB6dSBkZXIgRWlnZW5zY2hhZnQnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnVW5nJnV1bWw7bHRpZ2UgRW1haWxhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnS2VpbiBnJnV1bWw7bHRpZ2VzIEFkcmVzc2ZlbGQgZ2VmdW5kZW4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0RhcyBGZWxkICVzIG11c3MgYXVzZ2VmJnV1bWw7bGx0IHdlcmRlbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmllcnVuZ3MtVGVtcGxhdGUgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmllcnVuZ3MtVGVtcGxhdGUgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBkaWUgRW1haWxiZXN0JmF1bWw7dGlndW5nJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGdlJmF1bWw7bmRlcnRlIEJlbnV0emVyLUluZm9ybWF0aW9uZW4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JlbnV0emVyIG5pY2h0IGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0RlciBCZW51dHplciBpc3QgdW5nJnV1bWw7bHRpZyAoenUgbGFuZywgenUga3VyeiBvZGVyIGVudGgmYXVtbDtsdCB1bmcmdXVtbDtsdGlnZSBaZWljaGVuKS4NCjxiPkhpbndlaXM6PC9iPiBCZW51dHplcm5hbWVuIGQmdXVtbDtyZmVuIG51ciBhbHBoYW51bWVyaXNjaGUgWmVpY2hlbiBlbnRoYWx0ZW4gKGtlaW5lIExlZXJ6ZWljaGVuKSEnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RpZXNlciBCZW51dHplcm5hbWUgaXN0IGJlcmVpdHMgdmVyZ2ViZW4hJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0ZFSExFUjogRGllIFBhc3N3Jm91bWw7cnRlciBzdGltbWVuIG5pY2h0ICZ1dW1sO2JlcmVpbiEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnRGFzIFBhc3N3b3J0IGlzdCB1bmcmdXVtbDtsdGlnIChQYXNzdyZvdW1sO3J0ZXIgbSZ1dW1sO3NzZW4gJXMgYmlzICVzIFplaWNoZW4gbGFuZyBzZWluKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnRGVyIEJlbnV0emVybmFtZSBkYXJmIG5pY2h0IGxlZXIgZ2VsYXNzZW4gd2VyZGVuISc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhc3N3b3J0IChub2NoIGVpbm1hbCknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29ydCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JlbnV0emVybmFtZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnQml0dGUgZ2ViZW4gU2llIGRlbiBUZXh0IGF1cyBkZW0gQmlsZCBlaW4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnRGFzIE1vZHVsIHd1cmRlIG1pdCB1bnZvbGxzdCZhdW1sO25kaWdlbiAob2RlciBmYWxzY2hlbikgUGFyYW1ldGVybiBhdWZnZXJ1ZmVuISc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdLb25udGUga2VpbmUgVmVyYmluZHVuZyB6dW0gRnJvbnRFbmRVc2Vycy1Nb2R1bCBoZXJzdGVsbGVuISc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ0RlciBhbmdlZ2ViZW5lIEdydXBwZW5uYW1lIGV4aXN0aWVydCBuaWNodCEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGVyIGF1cyBkZW0gQmlsZCBlaW5nZWdlYmVuZSBUZXh0IHdhciBmYWxzY2gnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdEaWUgUmVnaXN0cmllcnVuZ3MtRW1haWxzIHNvbGxlbiB2ZXJzYW5kdCB3ZXJkZW4gYW4nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdFcmZvcmRlcnQsIGRhc3MgZGVyIEJlbnV0emVyIGRpZSBSZWdpc3RyaWVydW5nIHBlciBFbWFpbCBiZXN0JmF1bWw7dGlndCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnQmVuYWNocmljaHRpZ3VuZ3NlbWFpbCB2ZXJzZW5kZW4sIHdlbm4gc2ljaCBqZW1hbmQgcmVnaXN0cmllcnQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Fic2VuZGVuJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGZSZWdpc3RyYXRpb24tTW9kdWwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEaWUgSW5zdGFsbGF0aW9uIHdhciBlcmZvbGdyZWljaC4gQml0dGUgZGVua2VuIFNpZSBkYXJhbiwgZGllIEJlcmVjaHRpZ3VuZyAmIzAzOTtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyYjMDM5OyB6dSBzZXR6ZW4uIFdlbm4gZGFzIENhcHRjaGEtTW9kdWwgaW5zdGFsbGllcnQgaXN0LCBzdGVodCBJaG5lbiBkaWUgQ2FwdGNoYS1GdW5rdGlvbmFsaXQmYXVtbDt0IHN0YW5kYXJkbSZhdW1sOyZzemxpZztpZyB6dXIgVmVyZiZ1dW1sO2d1bmcuIFp1ciBWZXJtZWlkdW5nIHZvbiBTcGFtIHdpcmQgZHJpbmdlbmQgZW1wZm9obGVuLCBkaWVzZXMgTW9kdWxzIHp1IHZlcndlbmRlbi4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QsIGVzIGFiZXIgbmljaHQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLCBtJnV1bWw7c3NlbiBTaWUgU2VsZlJlZ2lzdHJhdGlvbiBtaXQgZGVtIFBhcmFtZXRlciBub2NhcHRjaGEgYXVmcnVmZW4uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEYXMgU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCB3dXJkZSBlcmZvbGdyZWljaCBkZWluc3RhbGxpZXJ0Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsdmVyc2lvbiAlcyBpbnN0YWxsaWVydC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlaW5zdGVsbHVuZ2VuIGFrdHVhbGlzaWVydC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0LiBCaXR0ZSBwciZ1dW1sO2ZlbiBTaWUgSWhyZSBCZXJlY2h0aWd1bmdlbi4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWhsZXIhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYXVmIFZlcnNpb24gJXMgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxhZG1pbmlzdHJhdGlvbic7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbGZSZWdpc3RyYXRpb24tTW9kdWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFaW4gTW9kdWwsIG1pdCBkZW0gc2ljaCBCZW51dHplciBzZWxic3QgcmVnaXN0cmllcmVuIGsmb3VtbDtubmVuLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XaWxsa29tbWVuIGJlaW0gU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bC48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmc1wmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kIFwmcXVvdDtjaGVja2FsbFwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSBcJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWRcJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhIFwmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXlcJnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgXCZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uXCZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS48L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjEuMyAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjQuIC0gSmFuIDIwMDg8L3A+DQogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPg0KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4NCiAgICA8cD51c2UgPSZhbXA7IHN5bnRheCB0byBhbGwgY2FsbHMgdG8gR2V0TW9kdWxlSW5zdGFuY2UoKTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJiMwMzk7dCB3b3JrIGFueXdheXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPg0KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+DQogICAgPHA+TWlub3IsIGJ1dCBpbXBvcnRhbnQgYnVnIGZpeGVzLjwvcD4NCjxsaT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPg0KPHA+TWl0IGRpZXNlbSBNb2R1bCBrJm91bWw7bm5lbiBCZW51dHplciBzaWNoIHNlbGJzdCByZWdpc3RyaWVyZW4gdW5kIGRpZSBub3R3ZW5kaWdlbiBJbmZvcm1hdGlvbmVuIGVpbmdlYmVuLiBEYW5hY2ggd2lyZCBlaW5lIEJlc3QmYXVtbDt0aWd1bmdzZW1haWwgbWl0IGVpbmVtIExpbmsgenUgZWluZXIgendlaXRlbiBTZWl0ZSB2ZXJzYW5kdCwgdW0gZGllIFJlZ2lzdHJpZXJ1bmcgenUgdmVydm9sbHN0JmF1bWw7bmRpZ2VuLiBOYWNoIGRlbSBlcmZvbGdyZWljaGVuIEFic2NobHVzcyB3aXJkIGltIEZyb250ZW5kVXNlcnMtTW9kdWwgZWluIG5ldWVzIEJlbnV0emVyLUtvbnRvIGVyc3RlbGx0LjwvcD4NCjxwPlVtIGRpZXNlcyBNb2R1bCB6dSB2ZXJ3ZW5kZW4sIG0mdXVtbDtzc2VuIFNpZSBpbSBGcm9udGVuZFVzZXItTW9kdWwgZWluZSBFaWdlbnNjaGFmdCB2b20gVHlwICYjMDM5O0VtYWlsLUFkcmVzc2UmIzAzOTsgZXJzdGVsbGVuIHVuZCBkaWVzZSBFaWdlbnNjaGFmdCBkYW5uIG1pdCBkZXIgR3J1cHBlIHZlcmJpbmRlbiwgZGllIGYmdXVtbDtyIFNlbGJzdHJlZ2lzdHJpZXJ1bmcgZWluZ2VzZXR6dCB3ZXJkZW4gc29sbC48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dCA/PC9oMz4NCjxwPkYmdXVtbDtnZW4gU2llIGRlbiBUYWcge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O1NlbGZSZWdpc3RyYXRpb24mIzAzOTsgZ3JvdXA9JiMwMzk7dXNlcmdyb3VwJiMwMzk7fSBpbiBJaHJlIFNlaXRlIGVpbi48L3A+DQo8cD5EYW1pdCBkYXMgTW9kdWwgZnVua3Rpb25pZXJ0LCBtJnV1bWw7c3NlbiBTaWUgamVkb2NoIHp1dm9yIGRpZSBCZW51dHplcmdydXBwZW4gdW5kIGRlcmVuIEVpZ2Vuc2NoYWZ0ZW4gaW0gRnJvbnRlbmRVc2Vycy1Nb2R1bCBlcnN0ZWxsdCBoYWJlbi48L3A+DQo8aDM+UGFyYW1ldGVyPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gbSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kICYjMDM5O3NpZ251cCYjMDM5OyB1bmQgJiMwMzk7dmVyaWZ5JiMwMzk7LiAgT2huZSBWb3JnYWJlIGlzdCAmIzAzOTtzaWdudXAmIzAzOTsgZGVyIFN0YW5kYXJkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIERpZXNlciBQYXJhbWV0ZXIgaXN0IGVyZm9yZGVybGljaCwgd2VubiBkZXIgTW9kdXMgJiMwMzk7c2lnbnVwJiMwMzk7IGlzdCBvZGVyIG5pY2h0IGdlc2V0enQgd3VyZGUuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIERpZXNlciBQYXJhbWV0ZXIgZGVha3RpdmllcnQgZGllIENhcHRjaGEtRnVua3Rpb25hbGl0JmF1bWw7dCBpbSBSZWdpc3RyaWVydW5nc2Zvcm11bGFyLiBJc3QgZGFzIENhcHRjaGEtTW9kdWwgaW5zdGFsbGllcnQsIHdpcmQgZGllc2UgRnVua3Rpb25hbGl0JmF1bWw7dCBhbnNvbnN0ZW4gYXV0b21hdGlzY2ggdmVyd2VuZGV0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRpZXNlcyBNb2R1bCBiZWluaGFsdGV0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuIFNpZSBrJm91bWw7bm5lbiBqZWRvY2ggJnV1bWw7YmVyIGZvbGdlbmRlIE0mb3VtbDtnbGljaGtlaXRlbiBIaWxmZSB6dSBkZW0gTW9kdWwgZXJoYWx0ZW46PC9wPg0KPHVsPg0KPGxpPkYmdXVtbDtyIGRpZSBsZXR6dGUgVmVyc2lvbiBkaWVzZXMgTW9kdWxzLCBGQVFzLCBkZW0gVmVyc2FuZCBlaW5lcyBGZWhsZXJyZXBvcnRzIG9kZXIgZGVtIEthdWYga29tbWVyemllbGxlbiBTdXBwb3J0IGJlc3VjaGVuIFNpZSBiaXR0ZSBjYWxndXlzIA0KSG9tZXBhZ2UgdW50ZXIgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5FaW5lIHdlaXRlcmUgRGlza3Vzc2lvbiB6dSBkaWVzZW0gTW9kdWwgaXN0IGF1Y2ggaW4gZGVuIEZvcmVuIHZvbiA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGU8L2E+IHp1IGZpbmRlbi48L2xpPg0KPGxpPkRlciBBdXRvciBjYWxndXkxMDAwLCBpc3QgaCZhdW1sO3VmaWcgaW0gPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5MZXR6dGxpY2ggayZvdW1sO25uZW4gU2llIGRlbiBBdXRvciBhdWNoIGRpcmVrdCBwZXIgRW1haWwga29udGFrdGllcmVuLjwvbGk+ICAgIA0KPC91bD4NCjxwPk5hY2ggZGVyIEdQTCB3aXJkIGRpZXNlIFNvZnR3YXJlIHNvIHZlciZvdW1sO2ZmZW50bGljaHQsIHdpZSBzaWUgaXN0LiBCaXR0ZSBsZXNlbiBTaWUgZGVuDQogTGl6ZW56dGV4dCBmJnV1bWw7ciBkZW4gdm9sbGVuIEhhZnR1bmdzYXVzc2NobHVzcy48L3A+DQoNCjxoMz5Db3B5cmlnaHQgdW5kIExpemVuejwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuLjwvcD4NCjxwPkRpZXNlcyBNb2R1bCB3dXJkZSB1bnRlciBkZXIgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiB2ZXImb3VtbDtmZmVudGxpY2h0LiBTaWUgbSZ1dW1sO3NzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkYXMgTW9kdWwgdmVyd2VuZGVuLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzE3NDYyNzM2LjExNDc1MTE4NTYuMTIxMzc4MDYyMC4xMjEzNzgyNzY0LjMyMCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTI5MDY1MzUuMzE4LjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2FyIEZvcm11bGFyaW9zIGVuIEwmaWFjdXRlO25lYSA8ZW0+KHNhbGlkYXMgcG9yIGZvcm11bGFyaW8gcmVlbXBsYXphbiBhIGxhIGV0aXF1ZXRhIGRlbCBtJm9hY3V0ZTtkdWxvLCBubyB0b2RvIGVsIGNvbnRlbmlkbyk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ0VsIGMmb2FjdXRlO2RpZ28gZGUgdmFsaWRhY2kmb2FjdXRlO24gcHJvdmlzdG8gZXMgaW52JmFhY3V0ZTtsaWRvJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VuIGV2ZW50byBpbmRpY2FuZG8gcXVlIHVuIG51ZXZvIHVzdWFyaW8gaGEgY29tcGxldGFkbyBlbCBmb3JtdWxhcmlvIGRlIHJlZ2lzdHJvJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVbiBldmVudG8gaW5kaWNhbmRvIHF1ZSB1biB1c3VhcmlvIGhhIHZlcmlmaWNhZG8gc3UgaW5mb3JtYWNpJm9hY3V0ZTtuIHkgZXN0JmFhY3V0ZTsgYWhvcmEgY29tcGxldGFtZW50ZSByZWdpc3RyYWRvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+VW4gZXZlbnRvIGluZGljYW5kbyBxdWUgdW4gbnVldm8gdXN1YXJpbyBoYSBjb21wbGV0YWRvIGVsIGZvcm11bGFyaW8gZGUgcmVnaXN0cm88L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIHVzdWFyaW8gc2VsZWNjaW9uYWRvIHBhcmEgZWwgbnVldm8gdXN1YXJpbzwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBMYSBkaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIGRlbCBudWV2byB1c3VhcmlvPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+VW4gZXZlbnRvIGluZGljYW5kbyBxdWUgdW4gdXN1YXJpbyBoYSB2ZXJpZmljYWRvIHN1IGluZm9ybWFjaSZvYWN1dGU7biB5IGVzdCZhYWN1dGU7IGFob3JhIGNvbXBsZXRhbWVudGUgcmVnaXN0cmFkbzwvcD4NCjxoND5QYXImYWFjdXRlO21ldHJvczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBFbCBub21icmUgZGUgdXN1YXJpbyByZWdpc3RyYWRvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEVsIHVpZCBkZWwgbnVldm8gdXN1YXJpbzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICcmaXF1ZXN0O0NhbWJpYXIgcHJlZmVyZW5jaWFzIGRlIGFkbWluaXN0cmFjaSZvYWN1dGU7bj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0RlamFyIGVzdGUgY2FtcG8gdmFjJmlhY3V0ZTtvIHNpIG5vIHF1aWVyZSBjYW1iaWFyIGxhIGNvbnRyYXNlJm50aWxkZTthJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdEZWphciBlc3RlIGNhbXBvIHZhYyZpYWN1dGU7byBzaSBubyBxdWllcmUgY2FtYmlhciBsYSBjb250cmFzZSZudGlsZGU7YSBkZWwgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0xhcyBkaXJlY2Npb25lcyBlbWFpbCBubyBzb24gY29pbmNpZGVudGVzJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnU2UgcmVxdWllcmUgcXVlIGVsIHVzdWFyaW8gaW5ncmVzZSBzdSBlbWFpbCBkb3MgdmVjZXMnOwokbGFuZ1snYWdhaW4nXSA9ICdvdHJhIHZleic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0VsaW1pbmFyIFVzdWFyaW9zIFNlbGVjY2lvbmFkb3MnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdObyBoYXkgcHJvcGllZGFkZXMgZGVmaW5pZGFzLCBvIGhheSBwcm9ibGVtYXMgcGFyYSBvYnRlbmVybGFzIGRlIGxhIGJhc2UgZGUgZGF0b3MnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBoYXkgZ3J1cG9zLCBvIGhheSBwcm9ibGVtYXMgcGFyYSBvYnRlbmVyIGxhIGxpc3RhIGRlIGdydXBvcyc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyb3IgZGUgbGEgQmFzZSBkZSBEYXRvcyc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgSW5ncmVzbyBkZSBFbWFpbCBQZXJkaWRvJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgUGVyZGlkbyc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdIYWNlciBDbGljayBBcXUmaWFjdXRlOyc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ1lhIGhlIGNvbXBsZXRhZG8gZWwgZm9ybXVsYXJpbyBkZSByZWdpc3RybywgcGVybyBubyBoZSByZWNpYmlkbyB1biBlbWFpbCwgcHVlZGVuIHVzdGVkZXMgcmUtZW52aWFyIGFsIG1pc21vJzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgUGVyZGlkbyc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1NlIGhhIGFncmVnYWRvIHVuIG51ZXZvIHVzdWFyaW8gYWwgUG9ydGFsJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXInOwokbGFuZ1sndW5rbm93biddID0gJ0Rlc2Nvbm9jaWRvJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGVjY2lvbmFyJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ01hcmNhciBUb2Rvcyc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc21hcmNhciBUb2Rvcyc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ0VudmlhciB1biBlbWFpbCBhbCB1c3VhcmlvJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtYSBhbCB1c3VhcmlvIHF1ZSBzdSBjdWVudGEgaGEgc2lkbyBhanVzdGFkYSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdMbGVuYSBlc3RvcyBjYW1wb3MgcGFyYSBjYW1iaWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyIFVzdWFyaW8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnJmlxdWVzdDtFc3QmYWFjdXRlOyBzZWd1cm8gcXVlIHF1aWVyZSBlbGltaW5hciBlc3RlIHVzdWFyaW8gcGFyY2lhbG1lbnRlIHJlZ2lzdHJhZG8/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdJRCBkZSBVc3VhcmlvJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ05vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cG8nOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdDcmVhZG8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzdWFyaW9zIGVuY29udHJhZG9zIChsaW1pdGFkbyBhIHVuIG0mYWFjdXRlO3hpbW8gZGUgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1VzdWFyaW9zJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGFyIHRvZGFzIGxhcyBlbnRyYWRhcyBkZSBhbnRpZ3VlZGFkIG1heW9yIGEgMSBkJmlhY3V0ZTthJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdBc3VudG8gZGVsIGVtYWlsIGRlIHNhbGlkYSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgZGVsIGN1ZXJwbyBkZWwgbWVuc2FqZSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHRvIGRlbCBjdWVycG8gZGVsIG1lbnNhamUnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSGF5IHVuYSBjYW50aWRhZCBkZSB1c3VhcmlvcyBxdWUgZXN0YW4gZW4gcHJvY2VzbyBkZSByZWdpc3Ryby4gIEFjdHVhbG1lbnRlIGVzYSBjYW50aWRhZCBlcyBkZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1bmEgc2VtYW5hIGRlIHRpZW1wbyc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1biBtZXMgZGUgdGllbXBvJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzIHF1ZSB0aWVuZW4gbSZhYWN1dGU7cyBkZSB1biBkJmlhY3V0ZTthIGRlIHRpZW1wbyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdRdWl0YXIgdG9kYXMgbGFzIGVudHJhZGFzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3Vybz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnU3VzIGRhdG9zIGRlIHJlZ2lzdHJvIHNlIGhhbiBtb2RpZmljYWRvJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdDb25maXJtYWNpJm9hY3V0ZTtuIGRlIFJlZ2lzdHJvJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cm8gZGUgVXN1YXJpbyc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgTWVuc2FqZSBGaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYXIgUmVnaXN0cm8nOwokbGFuZ1snY29kZSddID0gJ0Mmb2FjdXRlO2RpZ28gZGUgVmFsaWRhY2kmb2FjdXRlO24nOwokbGFuZ1snZGVmYXVsdCddID0gJ1BvbmVyIGEgVmFsb3IgcG9yIERlZmVjdG8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gc2UgZW5jb250cmFyb24gcHJvcGllZGFkZXMgcGFyYSBlc3RlIHVzdWFyaW8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gaGF5IHJlbGFjaSZvYWN1dGU7biBkZSBwcm9waWVkYWRlcyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIGludiZhYWN1dGU7bGlkYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHNlIGVuY29udHImb2FjdXRlOyBjYW1wbyBkZSBkaXJlY2NpJm9hY3V0ZTtuIGVtYWlsIHYmYWFjdXRlO2xpZG8nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0VsIGNhbXBvICVzIGRlYmUgbGxlbmFyc2UgZW4nOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBSZWdpc3RybyAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgUmVnaXN0cm8gMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgRW1haWwgZGUgQ29uZmlybWFjaSZvYWN1dGU7bic7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgQ2FtYmlvIEluZm8gZGUgVXN1YXJpbyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2lhcyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVc3VhcmlvIG5vIGVuY29udHJhZG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnRWwgTm9tYnJlIGRlIFVzdWFyaW8gZXMgaW52JmFhY3V0ZTtsaWRvIChtdXkgbGFyZ28sIG11eSBjb3J0bywgbyBjb250aWVuZSBjYXJhY3RlcmVzIGludiZhYWN1dGU7bGlkb3MpLiAgQXl1ZGEtIEVsIG5vbWJyZSBkZSBVc3VhcmlvIHNvbG8gZGViZSBjb250ZW5lciBjYXJhY3RlcmVzIGFsZmFudW0mZWFjdXRlO3JpY29zIHkgc2luIGVzcGFjaW9zJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdFc2Ugbm9tYnJlIGRlIHVzdWFyaW8geWEgZXN0JmFhY3V0ZTsgZW4gdXNvJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0VSUk9SOiBMYXMgY29udHJhc2UmbnRpbGRlO2FzIG5vIHNvbiBjb2luY2lkZW50ZXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnTGEgY29udHJhc2UmbnRpbGRlO2EgZXMgaW52JmFhY3V0ZTtsaWRhIChwYXNzd29yZHMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBjaGFyYWN0ZXJzIGluIGxlbmd0aCknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0VsIG5vbWJyZSBkZSB1c3VhcmlvIG5vIHB1ZWRlIGVzdGFyIHZhYyZpYWN1dGU7byc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthIChvdHJhIHZleiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ05vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbmdyZXNhciBlbCB0ZXh0byBkZSBsYSBpbWFnZW4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTiZ1YWN1dGU7bWVybyBpbnN1ZmljaWVudGUgKG8gaW5jb3JyZWN0bykgZGUgcGFyJmFhY3V0ZTttZXRyb3MgcGFyYSBlbCBtJm9hY3V0ZTtkdWxvJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05vIHNlIG9idHV2byB1bmEgaW5zdGFuY2lhIGRlbCBtJm9hY3V0ZTtkdWxvIGRlIEF1dG8gUmVnaXN0cmFjaSZvYWN1dGU7bic7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ0VsIG5vbWJyZSBkZSBncnVwbyBlc3BlY2lmaWNhZG8gbm8gZXhpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0VsIHRleHRvIGRlIGxhIGltYWdlbiBubyBzZSBpbmdyZXNvIGNvcnJlY3RhbWVudGUnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFbWFpbHMgZGUgcmVnaXN0cm8gc2UgZW52JmlhY3V0ZTthbiBhJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUmVxdWVyaXIgcXVlIGVsIHVzdWFyaW8gY29uZmlybWUgc3UgcmVnaXN0cm8gdiZpYWN1dGU7YSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnRW52aWFyIHVuIGVtYWlsIGRlIG5vdGlmaWNhY2kmb2FjdXRlO24gY3VhbmRvIGFsZ3VpZW4gc2UgcmVnaXN0cmEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snc3VibWl0J10gPSAnRW52aWFyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ00mb2FjdXRlO2R1bG8gZGUgQXV0b3JlZ2lzdHJvJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnU2UgaGEgaW5zdGFsYWRvIGNvbiAmZWFjdXRlO3hpdG8sIHBvciBmYXZvciByZWN1ZXJkZSBjb25maWd1cmFyIGxvcyBwZXJtaXNvcyBkZSAmcXVvdDtNb2RpZmljYXIgQ29uZmlndXJhY2kmb2FjdXRlO24gZGUgQXV0byBSZWdpc3RyYWNpJm9hY3V0ZTtuJnF1b3Q7LiAgU2kgZWwgbSZvYWN1dGU7ZHVsbyBDYXB0Y2hhIGVzdCZhYWN1dGU7IGluc3RhbGFkbywgZW50b25jZXMgbGEgZnVuY2lvbmFsaWRhZCBjYXB0Y2hhIHNlIGhhYmlsaXRhIHBvciBkZWZlY3RvLiAgUmVjb21lbmRhbW9zIGVuY2VyY2lkYW1lbnRlIGluc3RhbGFyIGVzdGUgJnVhY3V0ZTtsdGltbyBtJm9hY3V0ZTtkdWxvLiAgU2kgZWwgbSZvYWN1dGU7ZHVsbyBDYXB0Y2hhIGVzdCZhYWN1dGU7IGluc3RhbGFkbywgeSB1c3RlZCBkZXNlYSBkZXNoYWJpbGl0YXJsbywgdXNlIGVsIHBhciZhYWN1dGU7bWV0cm8gbm9jYXB0Y2hhIGVuIGxhIGV0aXF1ZXRhIGRlIHNlbGZyZWdpc3RyYXRpb24uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdFbCBtJm9hY3V0ZTtkdWxvIGRlIEF1dG8gUmVnaXN0cmFjaSZvYWN1dGU7biBzZSBoYSBkZXNpbnN0YWxhZG8uICBOb3MgdmVtb3MuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBEZXNpbnN0YWxhZG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0luc3RhbGFkYSB2ZXJzaSZvYWN1dGU7biAlcyBkZWwgbSZvYWN1dGU7ZHVsby4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW5jaWFzIGRlIG0mb2FjdXRlO2R1bG8gYWN0dWFsaXphZGFzLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc28gTmVnYWRvLiBQb3IgZmF2b3IgY2hlcXVlYXIgc3VzIHBlcm1pc29zLic7CiRsYW5nWydlcnJvciddID0gJyZpZXhjbDtFcnJvciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNJm9hY3V0ZTtkdWxvIGFjdHVhbGl6YWRvIGEgdmVyc2kmb2FjdXRlO24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuY2lhcyBkZWwgTSZvYWN1dGU7ZHVsbyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5lbCBkZSBBZG1pbiBkZWwgTSZvYWN1dGU7ZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ00mb2FjdXRlO2R1bG8gZGUgQXV0byBSZWdpc3RyYWNpJm9hY3V0ZTtuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbSZvYWN1dGU7ZHVsbyBxdWUgcGVybWl0ZSBhIGxvcyB1c3VhcmlvcyBkZWwgcG9ydGFsIGF1dG8gcmVnaXN0cmFyc2UuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJpZW52ZW5pZG8gYWwgbSZvYWN1dGU7ZHVsbyBkZSBhdXRvIHJlZ2lzdHJhY2kmb2FjdXRlO24uPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+DQogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+DQogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+DQogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSYjMDM5O2JsYWgmIzAzOTt9PC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4zLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+DQogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPg0KICAgIDxwPkFkZHMgdGhlIG5vaW5saW5lIHBhcmFtZXRlcjwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPiZpcXVlc3Q7UXUmZWFjdXRlOyBoYWNlIGVzdG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4NCjxwPkluIG9yZGVyIHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgY3JlYXRlIGEgcHJvcGVydHkgb2YgdHlwZSAmcXVvdDtFbWFpbCBBZGRyZXNzJnF1b3Q7IGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICZxdW90O3NpZ251cCZxdW90Oywgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZGlzYWJsZSBjYXB0Y2hhIG9uIHRoZSBzaWdudXAgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgY2FwdGNoYSBzdXBwb3J0IGlzIHByb3ZpZGVkLiAgVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgaXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1NDU1OTUxNDcuMTE5NDcyMTYyMC4xMTk4MzI1OTIzLjExOTgzMzMwOTkuNic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTgwNTUxODIuMy4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1sb2NhbGhvc3R8dXRtY2N0PS9jbXNtcy9hZG1pbi9tb2R1bGVpbnRlcmZhY2UucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVHVydmFrb29kLCBtaWxsZSBzaXNlc3Rhc2lkLCBvbiB2aWdhbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgbiZhdW1sO2l0YWIsIGV0IHV1cyBrYXN1dGFqYSBvbiByZWdpbWlzdHJlZXJpbWlzdm9ybWkgdCZhdW1sO2l0bnVkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdTJnV1bWw7bmRtdXMsIG1pcyBuJmF1bWw7aXRhYiwgZXQga2FzdXRhamEgb24gb21hIHJlZ2lzdHJlZXJpbmd1IGtpbm5pdGFudWRuaW5nIG9uIHQmYXVtbDtpZWxpa3VsdCBFTEsga2FzdXRhamFrcyByZWdpc3RyZWVyaXR1ZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCB1dXMga2FzdXRhamEgb24gcmVnaW1pc3RyZWVyaW1pc3Zvcm1pIHQmYXVtbDtpdG51ZDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0gdXVlIGthc3V0YWphIGthc3V0YWphbmltaTwvbGk+DQo8bGk+PGVtPmUtbWFpbDwvZW0+IC0gdXVlIGthc3V0YWphIGUtbWFpbGkgYWFkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCBrYXN1dGFqYSBvbiBvbWEgcmVnaXN0cmVlcmluZ3Uga2lubml0YW51ZG5pbmcgb24gdCZhdW1sO2llbGlrdWx0IEZFVSBrYXN1dGFqYWtzIHJlZ2lzdHJlZXJpdHVkPC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+a2FzdXRhamFuaW1pPC9lbT4gLSByZWdpc3RyZWVyaW51ZCBrYXN1dGFqYSBrYXN1dGFqYW5pbWk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnTXV1ZGEgYWRtaW5pc3RyYWF0b3JpIGVlbGlzdHVzaT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxpIGFhZHJlc3NpZCBlaSBrYXR0dSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UtbWFpbGkgcGVhYiBzaXNlc3RhbWEgMiBrb3JkYSc7CiRsYW5nWydhZ2FpbiddID0gJ3V1ZXN0aSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0t1c3R1dGEgVmFsaXR1ZCBLYXN1dGFqYWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdPbWFkdXNpIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gbmVuZGUgayZhdW1sO3R0ZXNhYW1pc2VnYSBhbmRtZWJhYXNpc3QuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnR3J1cHBlIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gZ3J1cHBpZGUgbmltZWtpcmphIGsmYXVtbDt0dGVzYWFtaXNlZ2EgYW5kbWViYWFzaXN0Lic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQW5kbWViYWFzaSB2aWdhJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3RpdGEgS2FkdW51ZCBFLW1haWxpIE1hbGwnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtpIFNpaW4nOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdNYSBvbGVuIGtvcnJhIGp1YmEgcmVnaXN0cmVlcmltaXN2b3JtaSB0JmF1bWw7aXRudWQsIGt1aWQgZWkgc2FhbnVkIGUtbWFpbGkuIEthcyB0ZSBzYWFrc2l0ZSBzZWxsZSBtdWxlIHV1ZXN0aSBzYWF0YT8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnVXVzIGthc3V0YWphIGxpc2F0dWQgRUxLLXNzZSc7CiRsYW5nWydlZGl0J10gPSAnTXV1ZGEnOwokbGFuZ1sndW5rbm93biddID0gJ1R1bmRtYXR1JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZhbGknOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnTSZhdW1sO3JnaXN0YSBLJm90aWxkZTtpayc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0VlbWFsZGEgTSZhdW1sO3JnaXN0dXNlZCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NhYWRhIGthc3V0YWphbGUgZS1tYWlsJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZWVyaWIga2FzdXRhamF0LCBldCB0ZW1hIGtvbnRvdCBvbiBtdXVkZXR1ZCknOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVCZhdW1sO2lkYSBuZWVkIHYmYXVtbDtsamFkLCBrdWkgc29vdmlkIG11dXRhIGthc3V0YWphIHBhcm9vbGknOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdXVkYSBLYXN1dGFqYXQnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBrdXN0dXRhZGEgc2VsbGUgb3NhbGlzZWx0IHJlZ2lzdHJlZXJpbnVkIGthc3V0YWphPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnS2FzdXRhamEgSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cHAnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdMb29kdWQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdLYXN1dGFqYSh0KSBsZWl0dWQgKG1ha3NpbWFhbHNlbHQgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0thc3V0YWphZCc7CiRsYW5nWydsaXN0MWRheSddID0gJ04mYXVtbDtpdGEgayZvdGlsZGU7aWtpIHNpc2VzdHVzaSwgbWlzIG9uIHZhbmVtYWQga3VpIDEgcCZhdW1sO2V2JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdWJmF1bWw7bGphbWluZXZhIGUtbWFpbGkgdGVlbWEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIGtpcmphIHNpc3UnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZWtzdGlwJm90aWxkZTtoaXNlIGtpcmphIHNpc3UnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTSZvdGlsZGU7bmluZ2F0ZSBrYXN1dGFqYXRlIHJlZ2lzdHJlZXJpbWluZSBvbiBwb29sZWxpLiBIZXRrZWwgb24gbmVpZCBrYXN1dGFqYWlkOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCwgbWlzIG9uIHZhbmVtYWQga3VpIDEgbiZhdW1sO2RhbCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdFZW1hbGRhIGsmb3RpbGRlO2lrIHNpc2VzdHVzZWQsIG1pcyBvbiB2YW5lbWFkIGt1aSAxIGt1dSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkLCBtaXMgb24gdmFuZW1hZCBrdWkgMSBwJmF1bWw7ZXYnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGVkIHNhIGtpbmRlbD8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnU2ludSByZWdpc3RyZWVyaW1pc2luZm8gb24gdXVlbmRhdHVkJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyZWVyaW1pc2UgS2lubml0dXMnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZWVyaSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdMJm90aWxkZTtwbGlrdSBUZWF0ZSBNYWxsJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ0tpbm5pdGEgUmVnaXN0cmVlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnVHVydmFrb29kJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdUYWFzdGEgYWxnc2VhZGVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ1NlbGxlIGthc3V0YWphIG9tYWR1c2kgZWkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ1Nlb3NlaWQgb21hZHVzdGVnYSBlaSBvbGUnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnVmlnYW5lIGUtbWFpbGkgYWFkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0tlaHRpdmF0IGUtbWFpbGkgYWFkcmVzc2kgdiZhdW1sO2xqYSBlaSBsZWl0dWQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJyVzIHYmYXVtbDtsaSBvbiBrb2h1c3R1c2xpayc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdLaW5uaXR1c2UgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ0thc3V0YWphIEluZm8gTXV1ZGV0dWQgTWFsbCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VlbGlzdHVzZWQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS2FzdXRhamF0IGVpIGxlaXR1ZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdrYXN1dGFqYW5pbWkgb24gdmlnYW5lIChsaWlnYSBwaWtrLCBsJnV1bWw7aGlrZSwgdiZvdGlsZGU7aSBzaXNhbGRhYiBrZWVsYXR1ZCBtJmF1bWw7cmtlKS4gTWVlbGRldHVsZXR1czoga2FzdXRhamFuaW1pIHYmb3RpbGRlO2liIHNpc2FsZGFkYSB2YWlkIHQmYXVtbDtodGkgKHQmdXVtbDtoaWt1ZCBqYSBzcGV0c2lhYWxzZWQgbSZhdW1sO3JnaWQtcyZ1dW1sO21ib2xpZCBrZWVsYXR1ZCknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1NlZSBrYXN1dGFqYW5pbWkgb24ganViYSBrYXN1dHVzZWwnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnVklHQTogUGFyb29saWQgZWkga2F0dHUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFyb29sIG9uIHZpZ2FuZSAocGFyb29saWQgcGVhdmFkIG9sZW1hIHYmYXVtbDtoZW1hbHQgJXMga3VuaSAlcyB0JmF1bWw7aGVtJmF1bWw7cmtpIHBpa2FkKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pIHBlYWIgb2xlbWEgdCZhdW1sO2lkZXR1ZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhcm9vbCAodXVlc3RpKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhcm9vbCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0thc3V0YWphbmltaSc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdNb29kdWxpbGUgYW50dWQgcGFyYW1lZXRyaXRlIGFydiBvbiBlYmFwaWlzYXYgdiZvdGlsZGU7aSB2aWdhbmUnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnRWkgc3V1ZGEgbGFhZGlkYSBFTEsgbW9vZHVsaXQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdTZWxsaXNlIG5pbWVnYSBncnVwcGkgZWkgZWtzaXN0ZWVyaSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJlZXJpbWlzZSBlLW1hbGlkIHR1bGVrcyBzYWF0YSBhYWRyZXNzaWxlJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnS2FzdXRhamEgcGVhYiBvbWEgcmVnaXN0cmVlcmluZ3UgZS1tYWlsaSB0ZWVsIGtpbm5pdGFtYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2FhZGEgdGVhZGEsIGt1aSBrZWVnaSByZWdpc3RyZWVyaWInOwokbGFuZ1snY2FuY2VsJ10gPSAnVCZ1dW1sO2hpc3RhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhYWRhJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsZWVyaW1pbmUgJm90aWxkZTtubmVzdHVzLiBNJmF1bWw7JmF1bWw7cmEga2luZGxhc3RpIGFzamFnYSBzZW90dWQga2FzdXRhamF0ZWxlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7ICZvdGlsZGU7aWd1cy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9vZHVsaSB2ZXJzaW9vbiAlcyBpbnN0YWxsZWVyaXR1ZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9vZHVsaSBlZWxpc3R1c2VkIHV1ZW5kYXR1ZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnTGlnaXAmYXVtbDsmYXVtbDtzIGtlZWxhdHVkLiBQYWx1biBrb250cm9sbGkgb21hICZvdGlsZGU7aWd1c2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlnYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb29kdWwgdXVlbmRhdHVkIHZlcnNpb29uaWxlICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb29kdWxpIEVlbGlzdHVzZWQnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9vZHVsaSBBZG1pbnN0cmVlcmltaXNwYW5lZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdFbmVzZSBSZWdpc3RyZWVyaW1pc2UgTW9vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9vZHVsLCBtaXMgbGFzZWIgZWVzbGlpdGUgKGtvZHVsZWhlIGthc3V0YWphbGlpZGVzZSkga2FzdXRhamF0ZWwgZW5uYXN0IGlzZSBrYXN1dGFqYWtzIHJlZ3NpdHJlZXJpZGEuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlRlcmUgdHVsZW1hc3QgRW5lc2UgUmVnaXN0cmVlcmltaXNlIE1vb2R1bGlsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNTcxMjE2MTguMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MjYzMzIwNTMuMTE1NzEyMTYxOC4xMTU3NjU5OTQyLjExNTc3NDU5NTAuNSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYWxseSBsb2cgdGhlIHVzZXIgaW4gdG8gRnJvbnRFbmRVc2VycyBhZnRlciB0aGUgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICcmQXVtbDtsJmF1bWw7IG4mYXVtbDt5dCZhdW1sOyBraWl0b3Mtdmllc3RpJmF1bWw7IHJla2lzdGVyJm91bWw7aW5uaW4gaiZhdW1sO2xrZWVuJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInXSA9ICdTaXZ1biBJRC9hbGlhcywgam9rYSBuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gcmVraXN0ZXImb3VtbDtpbm5pbiBqJmF1bWw7bGtlZW4nOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdTaXZ1biBJRC9hbGlhcywgam9rYSBuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gcmVraXN0ZXImb3VtbDtpbm5pbiB2YWh2aXN0YW1pc2VuIGomYXVtbDtsa2Vlbic7CiRsYW5nWyd1c2VfaW5saW5lX2Zvcm1zJ10gPSAnVXNlIElubGluZSBGb3JtcyA8ZW0+KGZvcm0gb3V0cHV0IHJlcGxhY2VzIHRoZSBtb2R1bGUgdGFnLCBub3QgYWxsIG9mIGNvbnRlbnQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdWYWx0dXV0dXNhdmFpbiBvbiB2JmF1bWw7JmF1bWw7ciZhdW1sOyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSBuZXcgdXNlciBoYXMgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybSc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgdXNlciBoYXMgdmVyaWZpZWQgaGlzIGluZm9ybWF0aW9uIGFuZCBpcyBub3cgY29tcGxldGVseSByZWdpc3RlcmVkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ZhaWhkYSBoYWxsaW5uYW4gYXNldHVrc2lhPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnSiZhdW1sO3QmYXVtbDsgdCZhdW1sO20mYXVtbDsga2VudHQmYXVtbDsgdHloaiZhdW1sO2tzaSBzJmF1bWw7aWx5dHQmYXVtbDsmYXVtbDtrc2VzaSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdKJmF1bWw7dCZhdW1sOyB0JmF1bWw7bSZhdW1sOyBrZW50dCZhdW1sOyB0eWhqJmF1bWw7a3NpIHMmYXVtbDtpbHl0dCZhdW1sOyZhdW1sO2tzZXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBzYWxhc2FuYW4nOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFbWFpbC1vc29pdHRlZXQgZWl2JmF1bWw7dCBvbGUgc2FtYXQnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdWYWFkaSBrJmF1bWw7eXR0JmF1bWw7amlsdCZhdW1sOyBlbWFpbC1vc29pdGUga2FodGVlbiBrZXJ0YWFuJzsKJGxhbmdbJ2FnYWluJ10gPSAndXVkZXN0YWFuJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnUG9pc3RhIHZhbGl0dXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnRWkgb21pbmFpc3V1a3NpYSB0YWkgb25nZWxtYSB0aWV0b2thbm5hc3NhJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnRWkgcnlobWkmYXVtbDsgdGFpIG9uZ2VsbWEgdGlldG9rYW5uYXNzYSc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnVGlldG9rYW50YXZpcmhlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0wmYXVtbDtoZXQmYXVtbDsgdW5vaGRpdGtvIHNhbGFzYW5hc2kgLWVtYWlsaW4gcG9oamEnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Vub2hkaXRrbyBzYWxhc2Fuc2kgLWVtYWlsaW4gcG9oamEnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnUGFpbmEgdCZhdW1sO3N0JmF1bWw7JzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnT2xlbiBqbyBzdW9yaXR0YW51dCByZWtpc3RlciZvdW1sO2lubmluLCBtdXR0YSBlbiBzYWFudXQgcyZhdW1sO2hrJm91bWw7cG9zdGlhLic7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVW5vaGRpdGtvIHNhbGFzYW5zaSAtZW1haWxpbiBwb2hqYSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1V1c2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsgbGlzJmF1bWw7dHR5IEZyb250RW5kVXNlcnNpaW4nOwokbGFuZ1snZWRpdCddID0gJ011b2trYWEnOwokbGFuZ1sndW5rbm93biddID0gJ1R1bnRlbWF0b24nOwokbGFuZ1snc2VsZWN0J10gPSAnVmFsaXRzZSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWYWxpdHNlIGthaWtraSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1BvaXN0YSB2YWxpbm5hdCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ0wmYXVtbDtoZXQmYXVtbDsgZW1haWwgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUnOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhrZXJ0b28gayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUgdGlsaW4gbXVva2thdWtzZXN0YSknOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVCZhdW1sO3l0JmF1bWw7IG4mYXVtbDttJmF1bWw7IGtlbnQmYXVtbDt0IHZhaWh0YWFrc2VzaSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnTXVva2thYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyZhdW1sOyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdPbGV0a28gdmFybWEgZXR0JmF1bWw7IGhhbHVhdCBwb2lzdGFhIHQmYXVtbDttJmF1bWw7biBwdW9saXR0YWluIHJla2lzdGVyJm91bWw7aWR5biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7IElEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnUnlobSZhdW1sOyc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0x1b3R1JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7amkmYXVtbDsgbCZvdW1sO3lkZXR0eSAobiZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIG1ha3NpbWlzc2FhbiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGFhIHlsaSBwJmF1bWw7aXYmYXVtbDtuIHZhbmhhdCc7CiRsYW5nWydzdWJqZWN0J10gPSAnQWloZSBsJmF1bWw7aHRldmlsbGUgZW1haWxlaWxsZSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwtZW1haWxpbiBzaXMmYXVtbDtsdCZvdW1sOyc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1Rla3N0aS1lbWFpbGluIHNpcyZhdW1sO2x0Jm91bWw7JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyB0JmF1bWw7bGwmYXVtbDsgaGV0a2VsbCZhdW1sOyByZWtpc3RlciZvdW1sO2l0eW0mYXVtbDtzcyZhdW1sOzogJzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUG9pc3RhIGthaWtraSB5bGkgdmlpa29uIHZhbmhhdCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSBrdXVrYXVkZW4gdmFuaGF0JzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSBwJmF1bWw7aXYmYXVtbDtuIHZhbmhhdCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdQb2lzdGEga2Fpa2tpJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGV0a28gdmFybWE/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1Jla2lzdGVyJm91bWw7aW50aSB0aWV0b2phIG11dXRldHR1JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWtpc3RlciZvdW1sO2lubmluIHZhaHZpc3R1cyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1Jla2lzdGVyJm91bWw7aWR5JzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0tpaXRvcyAtdmllc3RpcG9oamEnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmFybWlzdGEgcmVraXN0ZXImb3VtbDtpbnRpJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWh2aXN0dXNhdmFpbic7CiRsYW5nWydkZWZhdWx0J10gPSAnUGFsYXV0YSBvbGV0dWtzZXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtsdCZhdW1sOyBlaSBsJm91bWw7eWR5IG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnRWkgb21pbmFpc3V1c3N1aHRlaXRhJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ1ZpcmhlZWxsaW5lbiBlbWFpbCBvc29pdGUnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdFaSBrJmF1bWw7eXAmYXVtbDsmYXVtbDsgZW1haWwtb3NvaXRla2VudHQmYXVtbDsmYXVtbDsnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0tlbnR0JmF1bWw7ICVzIHQmYXVtbDt5dHl5IHQmYXVtbDt5dHQmYXVtbDsmYXVtbDsnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1Jla2lzdGVyJm91bWw7aW50aXBvaGphIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1Jla2lzdGVyJm91bWw7aW50aXBvaGphIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnVmFodmlzdHVzLWVtYWlsaW4gcG9oamEnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHRpZXRvamEgdmFpaGRldHR1IC1wb2hqYSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyZhdW1sOyBlaSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIG9uIHZpcmhlZWxsaW5lbiAobGlpYW4gbHloeXQsIGxpaWFuIHBpdGsmYXVtbDsgdGFpIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHZpcmhlZWxsaXNpJmF1bWw7IG1lcmtrZWomYXVtbDspLiBLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBlaSBzYWEgc2lzJmF1bWw7bHQmYXVtbDsmYXVtbDsgdmFpbiBraXJqYWltaWEgamEgbnVtZXJvaXRhIChlaSB2JmF1bWw7bGlseSZvdW1sO250aSZhdW1sOyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIG9uIGpvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ1ZpcmhlOiBzYWxhc2FuYXQgZWl2JmF1bWw7dCBvbGUgeWh0ZW5ldiZhdW1sO3QnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnU2FsYXNhbmEgb24gdmlyaGVlbGxpbmVuLiBTYWxhc2FuYW4gdHVsZWUgb2xsYSB2JmF1bWw7aGludCZhdW1sOyZhdW1sO24gJXMgamEgZW5pbnQmYXVtbDsmYXVtbDtuICVzIG1lcmtraSZhdW1sOyBwaXRrJmF1bWw7JzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBlaSB2b2kgb2xsYSB0eWhqJmF1bWw7JzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnU2FsYXNhbmEgKHV1ZGVzdGFhbiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdTYWxhc2FuYSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdTeSZvdW1sO3QmYXVtbDsga3V2YXNzYSBvbGV2YSB0ZWtzdGknOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnViZhdW1sOyZhdW1sO3JpJmF1bWw7ICh0YWkgcHV1dHR1dmlhKSBwYXJhbWV0cmVqYSBtb2R1dWxpa3V0c3Vzc2EnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnRWkgdm9pdHUgYWx1c3RhYSBGcm9udEVuZFVzZXJzLW1vZHV1bGlhJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnVmFsaXR0dWEgcnlobSZhdW1sOyZhdW1sOyBlaSBvbGUnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnS3V2YXNzYSBvbGV2YSBqYSBzeSZvdW1sO3RldHR5IHRla3N0aSBlaXYmYXVtbDt0IG9sZSB5aHRlbmV2JmF1bWw7dCc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1Jla2lzdGVyJm91bWw7aW50aS1lbWFpbGl0IGwmYXVtbDtoZXRldCZhdW1sOyZhdW1sO24gb3NvaXR0ZWVzZWVuJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnVmFhZGkgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgdmFodmlzdGFtYWFuIHJla2lzdGVyJm91bWw7aW50aSBzJmF1bWw7aGsmb3VtbDtwb3N0aWxsYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnTCZhdW1sO2hldCZhdW1sOyBlbWFpbC1pbG1vaXR1cyB1dWRlc3RhIHJla2lzdGVyJm91bWw7aW5uaXN0JmF1bWw7JzsKJGxhbmdbJ2NhbmNlbCddID0gJ1BlcnV1dGEnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHBlcm1pc3Npb24uICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB0aGVuIGNhcHRjaGEgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXZSBzdHJvbmdseSByZWNjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhpcyBtb2R1bGUuICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhbmQgeW91IHdhbnQgdG8gZGlzYWJsZSBpdCwgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW0gaW4geW91ciBzZWxmcmVnaXN0cmF0aW9uIHRhZy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIC1tb2R1dWxpIG9uIHBvaXN0ZXR0dSBqJmF1bWw7cmplc3RlbG0mYXVtbDtzdCZhdW1sOy4gTiZhdW1sO2hlbGwmYXVtbDsmYXVtbDtuISc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHV1bGluIGFzZW5udXMgcG9pc3RldHR1JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHV1bGluIHZlcnNpbyAlcyBhc2VubmV0dHUuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsaW4gYXNldHVrc2V0IHAmYXVtbDtpdml0ZXR0eS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnSyZhdW1sO3l0dCZvdW1sO29pa2V1c3ZpcmhlISBUYXJraXN0YSBvaWtldXRlc2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlyaGUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdXVsaSBwJmF1bWw7aXZpdGV0dHkgdmVyc2lvb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsaW4gYXNldHVrc2V0JzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsaW4gaGFsbGludGFwYW5lZWxpJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gLW1vZHV1bGknOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1dWxpLCBqb2thIHNhbGxpaSBzaXZ1c3RvbiBrJmF1bWw7eXR0JmF1bWw7amllbiAoRkVVKSByZWtpc3RlciZvdW1sO2lkJmF1bWw7IGl0c2UgaXRzZW5zJmF1bWw7Lic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5UZXJ2ZXR1bG9hIGsmYXVtbDt5dHQmYXVtbDttJmF1bWw7JmF1bWw7biBTZWxmIHJlZ2lzdHJhdGlvbiAtbW9kdXVsaWEuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+DQogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+DQogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+DQogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSYjMDM5O2JsYWgmIzAzOTt9PC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4zLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+DQogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4NCjxwPkluIG9yZGVyIHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgY3JlYXRlIGEgcHJvcGVydHkgb2YgdHlwZSAmcXVvdDtFbWFpbCBBZGRyZXNzJnF1b3Q7IGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICZxdW90O3NpZ251cCZxdW90Oywgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZGlzYWJsZSBjYXB0Y2hhIG9uIHRoZSBzaWdudXAgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgY2FwdGNoYSBzdXBwb3J0IGlzIHByb3ZpZGVkLiAgVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgaXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE5NTk1NDcxOTMuMTIxMzg2NTc4My4xMjE0MDc4NTcyLjEyMTQwODM3MjIuMTInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjE0MDU2MzQ1LjEwLjQudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2ZvcnVtL2ZvcnVtLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9ndWUgYXV0b21hdGlxdWVtZW50IGwmIzAzOTt1dGlsaXNhdGV1ciBkYW5zIEZyb250RW5kVXNlcnMgYXByJmVncmF2ZTtzIGxhIHYmZWFjdXRlO3JpZmljYXRpb24gZGVzICZlYWN1dGU7dGFwZXMgZCYjMDM5O2VucmVnaXN0cmVtZW50Jm5ic3A7JzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnTmUgcGFzIGFmZmljaGVyIGxlIG1lc3NhZ2UgZmluYWwgYXByJmVncmF2ZTtzIGwmIzAzOTtlbnJlZ2lzdHJlbWVudCZuYnNwOyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUGFnZUlEL0FsaWFzIG8mdWdyYXZlOyByZWRpcmlnZXIgbCYjMDM5O3V0aWxpc2F0ZXVyIGFwciZlZ3JhdmU7cyBsJiMwMzk7ZW5yZWdpc3RyZW1lbnQmbmJzcDsnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdQYWdlSUQvQWxpYXMgbyZ1Z3JhdmU7IHJlZGlyaWdlciBsJiMwMzk7dXRpbGlzYXRldXIgYXByJmVncmF2ZTtzIGwmIzAzOTsmZWFjdXRlO3RhcGUgZGUgdiZlYWN1dGU7cmlmaWNhdGlvbiZuYnNwOyc7CiRsYW5nWyd1c2VfaW5saW5lX2Zvcm1zJ10gPSAnVXRpbGlzZXIgZGVzIGZvcm11bGFpcmVzIGlubGluZSAobGUgZm9ybXVsYWlyZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcmVtcGxhY2UgbGEgYmFsaXNlIGR1IG1vZHVsZSwgcGFzIHRvdXQgbGUgY29udGVudSkmbmJzcDsnOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdMYSBjbCZlYWN1dGU7IGRlIHZhbGlkYXRpb24gZm91cm5pZSBuJiMwMzk7ZXN0IHBhcyB2YWxpZGUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgaW5kaXF1ZSBxdSYjMDM5O3VuIG5vdXZlbCB1dGlsaXNhdGV1ciBhIGNvbXBsJmVhY3V0ZTt0JmVhY3V0ZTsgbGUgZm9ybXVsYWlyZSBkJiMwMzk7ZW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGluZGlxdWUgcXUmIzAzOTt1biB1dGlsaXNhdGV1ciBhIHYmZWFjdXRlO3JpZmkmZWFjdXRlOyBzb24gaW5mb3JtYXRpb24gZXQgZXN0IG1haW50ZW5hbnQgY29tcGwmZWdyYXZlO3RlbWVudCANCg0KZW5yZWdpc3RyJmVhY3V0ZTsnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBpbmRpcXVlIHF1JiMwMzk7dW4gbm91dmVsIHV0aWxpc2F0ZXVyIGEgY29tcGwmZWFjdXRlO3QmZWFjdXRlOyBsZSBmb3JtdWxhaXJlIGQmIzAzOTtlbnJlZ2lzdHJlbWVudDwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPk5vbSBkJiMwMzk7dXRpbGlzYXRldXI8L2VtPiAtIExlcyBub3V2ZWF1eCB1dGlsaXNhdGV1cnMgcyZlYWN1dGU7bGVjdGlvbm5lbnQgbGV1ciBub20gZCYjMDM5O3V0aWxpc2F0ZXVyczwvbGk+DQo8bGk+PGVtPkVtYWlsPC9lbT4gLSBMJiMwMzk7YWRyZXNzZSBlbWFpbCBkdSBub3V2ZWwgdXRpbGlzYXRldXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBpbmRpcXVlIHF1JiMwMzk7dW4gdXRpbGlzYXRldXIgYSB2JmVhY3V0ZTtyaWZpJmVhY3V0ZTsgZXQgZXN0IG1haW50ZW5hbnQgZW5yZWdpc3RyJmVhY3V0ZTsgYXZlYyBsZSBtb2R1bGUgRnJvbnRFbmRVc2VycyAoR2VzdGlvbiBkZXMgdXRpbGlzYXRldXJzIGR1IHNpdGUpPC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+Tm9tIGQmIzAzOTt1dGlsaXNhdGV1cjwvZW0+IC0gTGUgbm9tIGQmIzAzOTt1dGlsaXNhdGV1ciBlbnJlZ2lzdHImZWFjdXRlOzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBMJiMwMzk7SUQgZGVzIG5vdXZlYXV4IHV0aWxpc2F0ZXVyczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDaGFuZ2VyIGxlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2UgZGUgbCYjMDM5O2FkbWluaXN0cmF0ZXVyID8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhaXNzZXogY2V0IGNoYW1wIHZpZGUgcG91ciBwciZlYWN1dGU7c2VydmV6IGxlIG1vdCBkZSBwYXNzZSB1dGlsaXNhdGV1cic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFpc3NleiBjZXQgY2hhbXAgdmlkZSBwb3VyIHByJmVhY3V0ZTtzZXJ2ZXogbGUgbW90IGRlIHBhc3NlIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnTCYjMDM5O2FkcmVzc2UgZW1haWwgbmUgY29ycmVzcG9uZCBwYXMnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdEZW1hbmRlIGF1eCB1dGlsaXNhdGV1cnMgZCYjMDM5O2VudHJlciBsZXVyIGFkcmVzc2UgZW1haWwgZGV1eCBmb2lzJm5ic3A7JzsKJGxhbmdbJ2FnYWluJ10gPSAnJmFncmF2ZTsgbm91dmVhdSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0VmZmFjZSBsZXMgdXRpbGlzYXRldXJzIHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTtzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnUGFzIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBkJmVhY3V0ZTtmaW5pZXMgb3UgcHJvYmwmZWdyYXZlO21lIHBvdXIgbGVzIG9idGVuaXIgZGUgbGEgYmFzZSBkZSBkb25uJmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnUGFzIGRlIGdyb3VwZSwgb3UgcHJvYmwmZWdyYXZlO21lIHBvdXIgb2J0ZW5pciBsYSBsaXN0ZSBkZXMgZ3JvdXBlcyc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyZXVyIGRlIGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZXMnOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBlbnZvaSBwZXJkdSBkJiMwMzk7ZW1haWwnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZCYjMDM5O2VtYWlsIHBlcmR1JzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0NsaXF1ZXogaWNpJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSiYjMDM5O2FpIGQmZWFjdXRlO2omYWdyYXZlOyBjb21wbCZlYWN1dGU7dCZlYWN1dGU7IGxlIGZvcm11bGFpcmUgZCYjMDM5O2VucmVnaXN0cmVtZW50IG1haXMgamUgbiYjMDM5O2FpIHBhcyByZSZjY2VkaWw7dSBkJiMwMzk7ZW1haWwsIHBvdXZlei12b3VzIHMudi5wLiBsZSByZW52b3llcic7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkJiMwMzk7ZW1haWwgcGVyZHUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVbiBub3V2ZWwgdXRpbGlzYXRldXIgYSAmZWFjdXRlO3QmZWFjdXRlOyBham91dCZlYWN1dGU7IGF1IG1vZHVsZSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICcmRWFjdXRlO2RpdGVyJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdJbmNvbm51JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1MmZWFjdXRlO2xlY3Rpb25uZXInOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnVG91dCBzJmVhY3V0ZTtsZWN0aW9ubmVyJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnVG91dCBkJmVhY3V0ZTtzJmVhY3V0ZTtsZWN0aW9ubmVyJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnRW52b3llciB1biBlbWFpbCAmYWdyYXZlOyBsJiMwMzk7dXRpbGlzYXRldXInOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhJbmZvcm1lciBsZXMgdXRpbGlzYXRldXJzIHF1ZSBsZXVyIGNvbXB0ZSBhICZlYWN1dGU7dCZlYWN1dGU7IG1vZGlmaSZlYWN1dGU7KSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdSZW1wbGlzc2V6IGNlcyBjaGFtcHMgcG91ciBtb2RpZmllciBsZSBtb3QgZGUgcGFzc2UgdXRpbGlzYXRldXInOwokbGFuZ1snZWRpdHVzZXInXSA9ICcmRWFjdXRlO2RpdGVyIGwmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgZWZmYWNlciBjZXQgdXRpbGlzYXRldXIgcGFydGllbGxlbWVudCBlbnJlZ2lzdHImZWFjdXRlOyA/ICc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnSUQgdXRpbGlzYXRldXInOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnTm9tIGQmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dyb3VwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRpbGlzYXRldXJzIHRyb3V2JmVhY3V0ZTtzIChsaW1pdCZlYWN1dGU7ICZhZ3JhdmU7IHVuIG1heGltdW0gZGUgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0aWxpc2F0ZXVycyc7CiRsYW5nWydsaXN0MWRheSddID0gJ0xpc3RlciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHBsdXMgdmllaWxsZSBkJiMwMzk7dW4gam91ciAnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1amV0IHBvdXIgbCYjMDM5O2VtYWlsIGVudm95JmVhY3V0ZTsmbmJzcDsnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb3JwcyBkdSBtZXNzYWdlIEhUTUwmbmJzcDsnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZXh0ZSBkdSBjb3JwcyBkdSBtZXNzYWdlJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ1VuIGNlcnRhaW4gbm9tYnJlIGQmIzAzOTt1dGlsaXNhdGV1cnMgc29udCBhdSBtaWxpZXUgZHUgcHJvY2Vzc3VzIGQmIzAzOTtlbnJnaXN0cmVtZW50LiBMZXVyIG5vbWJyZSBhY3R1ZWwgZXN0IGRlIDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdTdXBwcmltZXIgdG91dGVzIGxlcyBlbnRyJmVhY3V0ZTtlcyBkZSBwbHVzIGQmIzAzOTt1bmUgc2VtYWluZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdTdXBwcmltZXIgdG91dGVzIGxlcyBlbnRyJmVhY3V0ZTtlcyBkZSBwbHVzIGQmIzAzOTt1biBtb2lzJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdTdXBwcmltZXIgdG91dGVzIGxlcyBlbnRyJmVhY3V0ZTtlcyBkZSBwbHVzIGQmIzAzOTt1biBqb3VyJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyID8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnVm90cmUgaW5mb3JtYXRpb24gZCYjMDM5O2VucmVnaXN0cmVtZW50IGEgJmVhY3V0ZTt0JmVhY3V0ZTsgbW9kaWZpJmVhY3V0ZTtlJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdDb25maXJtYXRpb24gZCYjMDM5O2VucmVnaXN0cmVtZW50JzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUyYjMDM5O2VucmVnaXN0cmVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgbWVzc2FnZSBmaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWJmVhY3V0ZTtyaWZpZXIgbCYjMDM5O2VucmVnaXN0cmVtZW50JzsKJGxhbmdbJ2NvZGUnXSA9ICdDbCZlYWN1dGU7IGRlIHZhbGlkYXRpb24nOwokbGFuZ1snZGVmYXVsdCddID0gJ1ZhbGV1cnMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnQXVjdW5lIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHRyb3V2JmVhY3V0ZTtlIHBvdXIgY2V0IHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ1BhcyBkZSByZWxhdGlvbiBkZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdBZHJlc3NlIGVtYWlsIGludmFsaWRlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnQXVjdW4gY2hhbXAgZCYjMDM5O2FkcmVzc2UgZW1haWwgdmFsaWRlIG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHRyb3V2JmVhY3V0ZTsgcG91ciBjZXQgdXRpbGlzYXRldXInOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0xlIGNoYW1wICVzIGRvaXQgJmVjaXJjO3RyZSByZW1wbGknOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZCYjMDM5O2VucmVnaXN0cmVtZW50IDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZCYjMDM5O2VucmVnaXN0cmVtZW50IDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBjb25maXJtYXRpb24gZCYjMDM5O2VtYWlsICc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGQmIzAzOTtpbmZvcm1hdGlvbnMgdXRpbGlzYXRldXIgY2hhbmcmZWFjdXRlO2VzJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVdGlsaXNhdGV1ciBpbnRyb3V2YWJsZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdMZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyIGVzdCBpbnZhbGlkZSAodHJvcCBsb25nLCB0cm9wIGNvdXJ0IG9yIGNvbnRpZW50IGRlcyBjYXJhY3QmZWdyYXZlO3JlcyBub24gdmFsaWRlcykuIFRydWMgLSBsZXMgbm9tcyBkJiMwMzk7dXRpbGlzYXRldXJzIG5lIGRvaXZlbnQgY29udGVuaXIgcXVlIGRlcyBjYXJhY3QmZWdyYXZlO3JlcyBhbHBoYW51bSZlYWN1dGU7cmlxdWVzIChzYW5zIGVzcGFjZXMpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbCddID0gJ0FkcmVzc2UgZW1haWwgaW52YWxpZGUuJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdDZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyIGVzdCBkJmVhY3V0ZTtqJmFncmF2ZTsgcHJpcyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFcnJldXIgOiBMZXMgbW90cyBkZSBwYXNzZSBuZSBjb3JyZXNwb25kZW50IHBhcyAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnTGUgbW90IGRlIHBhc3NlIG4mIzAzOTtlc3QgcGFzIHZhbGlkZSAobGVzIG1vdHMgZGUgcGFzc2UgZG9pdmVudCAmZWNpcmM7dHJlIGVudHJlICVzIGV0ICVzIGNhcmFjdCZlZ3JhdmU7cmVzIGRlIGxvbmcpICc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnTGUgbm9tIGQmIzAzOTt1dGlsaXNhdGV1ciBuZSBwZXV0IHBhcyAmZWNpcmM7dHJlIHZpZGUnOwokbGFuZ1snZXJyb3JfZW1wdHllbWFpbCddID0gJ2xlIGNoYW1wcyBFbWFpbCBuZSBwZXV0IHBhcyAmZWNpcmM7dHJlIHZpZGUnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdNb3QgZGUgcGFzc2UgKCZhZ3JhdmU7IG5vdXZlYXUpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTW90IGRlIHBhc3NlJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tIGQmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdFbnRyZXIgbGUgdGV4dGUgZmlndXJhbnQgZGFucyBsJiMwMzk7aW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTm9tYnJlIGluc3VmZmlzYW50IChvdSBpbmNvcnJlY3QpIGRlIHBhcmFtJmVncmF2ZTt0cmVzIGVudm95JmVhY3V0ZTtzIGF1IG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdOJiMwMzk7YSBwYXMgcHUgcmVjZXZvaXIgZCYjMDM5O2luc3RhbmNlIGR1IG1vZHVsZSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnTGUgbm9tIGR1IGdyb3VwZSBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7IG4mIzAzOTtleGlzdGUgcGFzJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0xlIHRleHRlIGNvbnRlbnUgZGFucyBsJiMwMzk7aW1hZ2UgbiYjMDM5O2VzdCBwYXMgY29ycmVjdCc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ0wmIzAzOTtlbWFpbCBkJiMwMzk7ZW5yZWdpc3RyZW1lbnQgZGV2cmFpdCAmZWNpcmM7dHJlIGVudm95JmVhY3V0ZTsgJmFncmF2ZTsmbmJzcDsnOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aSZlZ3JhdmU7cmUgcXVlIGwmIzAzOTt1dGlsaXNhdGV1ciBjb25maXJtZSBzb24gZW5yZWdpc3RyZW1lbnQgcGFyIGVtYWlsJm5ic3A7JzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdFbnZvaWUgdW4gZW1haWwgZGUgbm90aWZpY2F0aW9uIGxvcnNxdWUgcXVlbHF1JiMwMzk7dW4gcyYjMDM5O2VucmVnaXN0cmUmbmJzcDsnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBkJiMwMzk7YXV0by1lbnJlZ2lzdHJlbWVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0wmIzAzOTtpbnN0YWxsYXRpb24gciZlYWN1dGU7dXNzaWUsIHMudi5wLiByYXBwZWxlei12b3VzIGRlIGQmZWFjdXRlO2ZpbmlyIGxlcyBwZXJtaXNzaW9ucyAmcXVvdDtkZXMgciZlYWN1dGU7Z2xhZ2VzIGR1IE1vZHVsZSBkJiMwMzk7YXV0by1lbnJlZ2lzdHJlbWVudCZxdW90Oy4gU2kgbGUgQ2FwdGNoYSBlc3QgaW5zdGFsbCZlYWN1dGU7LCBsYSBmb25jdGlvbiBDYXB0Y2hhIGZvbmN0aW9ubmUgcGFyIGQmZWFjdXRlO2ZhdXQuIE5vdXMgdm91cyByZWNvbW1hbmRvbnMgZm9ydGVtZW50IGQmIzAzOTtpbnN0YWxsZXIgY2UgbW9kdWxlLiBTaSBsZSBtb2R1bGUgQ2FwdGNoYSBlc3QgaW5zdGFsbCZlYWN1dGU7LCBldCBxdWUgdm91cyB2b3VsZXogbGUgZCZlYWN1dGU7c2FjdGl2ZXIsIHV0aWxpc2V6IGxlIHBhcmFtJmVncmF2ZTt0cmUgbm9jYXB0Y2hhIGRhbnMgdm90cmUgYmFsaXNlIGQmIzAzOTthdXRvLWVucmVnaXN0cmVtZW50Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTGUgbW9kdWxlIGQmIzAzOTthdXRvLWVucmVnaXN0cmVtZW50IGVzdCBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7LiBBIGJpZW50Jm9jaXJjO3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0xhIHZlcnNpb24gJXMgZHUgbW9kdWxlIGVzdCBpbnN0YWxsJmVhY3V0ZTtlLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdMZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBkdSBtb2R1bGUgb250ICZlYWN1dGU7dCZlYWN1dGU7IG1pc2UgJmFncmF2ZTsgam91ci4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjJmVncmF2ZTtzIGludGVyZGl0LiBTLlYuUC4gY29udHImb2NpcmM7bGV6IHZvcyBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJldXIgISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ0xlIG1vZHVsZSBhICZlYWN1dGU7dCZlYWN1dGU7IG1pcyAmYWdyYXZlOyBqb3VyICZhZ3JhdmU7IGxhIHZlcnNpb24gJXMnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFubmVhdSBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWxlIGQmIzAzOTthdXRvLWVucmVnaXN0cmVtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxlIHF1aSBwZXJtZXQgYXV4IHV0aWxpc2F0ZXVycyBkZSBzJiMwMzk7ZW5yZWdpc3RyZXIgcGFyIGV1eC1tJmVjaXJjO21lcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmllbnZlbnVlIGRhbnMgbGUgbW9kdWxlIGQmIzAzOTthdXRvLWVucmVnaXN0cmVtZW50LjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjQuIC0gSmFuIDIwMDg8L3A+DQogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPg0KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4NCiAgICA8cD51c2UgPSZhbXA7IHN5bnRheCB0byBhbGwgY2FsbHMgdG8gR2V0TW9kdWxlSW5zdGFuY2UoKTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJiMwMzk7dCB3b3JrIGFueXdheXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPg0KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+DQogICAgPHA+TWlub3IsIGJ1dCBpbXBvcnRhbnQgYnVnIGZpeGVzLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjIuMSAtIEp1bCAyMDA4PC9wPg0KICAgIDxwPkFkZGVkIHN1cHBvcnQgZm9yIGVtYWlsIGFkZHJlc3NlcyBhcyB0aGUgdXNlcm5hbWUgKHRoYW5rcyBfU2pHXykuPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+Q2UgbW9kdWxlIGVzdCBjb24mY2NlZGlsO3UgcG91ciBwZXJtZXR0cmUgYXV4IHV0aWxpc2F0ZXVycyBkZSBzJiMwMzk7ZW5yZWdpc3RyZXIgZXV4LW0mZWNpcmM7bWVzIGF2ZWMgbGVzIGluZm9ybWF0aW9ucyByZXF1aXNlcy4gSWwgZW52b2llIGVuc3VpdGUgdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGF2ZWMgdW4gbGllbiB2ZXJzIHVuZSBkZXV4aSZlZ3JhdmU7bWUgcGFnZSBxdWkgZG9pdCAmZWNpcmM7dHJlIGNvbXBsJmVhY3V0ZTt0ZXIgYXZhbnQgbCYjMDM5O2VucmVnaXN0cmVtZW50LiBVbmUgZm9pcyBsJiMwMzk7ZW5yZWdpc3RyZW1lbnQgdGVybWluJmVhY3V0ZTssIHVuIGNvbXB0ZSB1dGlsaXNhdGV1ciBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7IGRhbnMgbGUgbW9kdWxlIEZyb250RW5kVXNlcnMgKEdlc3Rpb24gZGVzIHV0aWxpc2F0ZXVycyBkdSBzaXRlKS48L3A+DQo8cD5JUG91ciB1dGlsaXNlciBjZSBtb2R1bGUsIHZvdXMgZGV2ZXogY3ImZWFjdXRlO2VyIHVuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkZSB0eXBlICZxdW90O0FkcmVzc2UgZW1haWwmcXVvdDsgZGFucyBsZSBtb2R1bGUgRnJvbnRlbmRVc2VycywgYXNzb2NpJmVhY3V0ZTtzIGF2ZWMgbGUgZ3JvdXBlIGQmZWFjdXRlO2ZpbmkuPC9wPg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyID88L2gzPg0KPHA+TW9kdWxlcyBkJmVhY3V0ZTtwZW5kYW50IDogQ01TTWFpbGVyIGV0IEZyb250RW5kVXNlcnM8L3A+DQo8cD5Wb3VzIGRldmV6IHBsYWNlciBsYSBiYWxpc2Ugc3VpdmFudGUgZGFucyB2b3RyZSBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH0gKHVzZXJncm91cCBlc3QgdW4gZ3JvdXBlIGV4aXN0YW50IGRhbnMgbGUgbW9kdWxlIEZyb250RW5kVXNlcnMpLjwvcD4NCjxwPlZvdXMgZGV2ZXogYXZvaXIgZCZlYWN1dGU7aiZhZ3JhdmU7IGNyJmVhY3V0ZTtlciBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHBvdXIgdW4gb3UgZGVzIGdyb3VwZXMgZGFucyBsZSBtb2R1bGUgRnJvbnRFbmRVc2VycyBwb3VyIHVuIGZvbmN0aW9ubmVtZW50IGNvcnJlY3QuPC9wPg0KPGgzPlF1ZWxzIHBhcmFtJmVncmF2ZTt0cmVzID88L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbjwvZW0+IC0gVmFsZXVycyBwb3NzaWJsZXMgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuIFNpIGNlIHBhcmFtJmVncmF2ZTt0cmUgbiYjMDM5O2VzdCBwYXMgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyAsICZxdW90O3NpZ251cCZxdW90OyBlc3QgbGEgdmFsZXVyIHBhciBkJmVhY3V0ZTtmYXV0LjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uPC9lbT4gLSBDZSBwYXJhbSZlZ3JhdmU7dHJlIGVzdCByZXF1aXMgYXZlYyBsZSBtb2RlICZxdW90O3NpZ251cCZxdW90Oywgb3Ugc2kgbGUgbW9kZSBlc3QgbGFpc3MmZWFjdXRlOyB2aWRlLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbjwvZW0+IC0gQ2VsYSBkJmVhY3V0ZTtzYWN0aXZlcmEgQ2FwdGNoYSBzdXIgbGUgZm9ybXVsYWlyZSBkXCYjMDM5O2luc2NyaXB0aW9uLiBQYXIgZCZlYWN1dGU7ZmF1dCwgc2kgbGUgbW9kdWxlIENhcHRjaGEgZXN0IGluc3RhbGwmZWFjdXRlOywgQ2FwdGNoYSBmb25jdGlvbm5lLiBDZSBwYXJhbSZlZ3JhdmU7dHJlIGQmZWFjdXRlO3NhY3RpdmUgQ2FwdGNoYS48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5DZSBtb2R1bGUgbmUgY29udGllbnQgYXVjdW4gc3VwcG9ydCBjb21tZXJjaWFsLiBDZXBlbmRhbnQsIGNlcyByZXNzb3VyY2VzIHNvbnQgZGlzcG9uaWJsZXMgcG91ciB2b3VzIGFpZGVyIDo8L3A+DQo8dWw+DQo8bGk+UG91ciBsYSBkZXJuaSZlZ3JhdmU7cmUgdmVyc2lvbiBkZSBjZSBtb2R1bGUsIGxlcyBGQVFzLCBvdSBwb3VyIGFubm9uY2VyIHVuIGJ1Zywgb3UgcG91ciBhY2hldGVyIGR1IHN1cHBvcnQgY29tbWVyY2lhbCwgdmV1aWxsZXogdmlzaXRlciBsZSBzaXRlIGRlIGNhbGd1eSA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+RGVzIGRpc2N1c3Npb25zIGNvbXBsJmVhY3V0ZTttZW50YWlyZXMgcmVsYXRpdmVzICZhZ3JhdmU7IGNlIG1vZHVsZSBwZXV2ZW50IGF1c3NpICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlO2VzIHN1cjxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+bGVzIEZvcnVtcyBDTVMgTWFkZSBTaW1wbGU8L2E+LjwvbGk+DQo8bGk+TCYjMDM5O2F1dGV1ciwgY2FsZ3V5MTAwMCwgZXN0IHNvdXZlbnQgc3VyIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5Db25mb3JtJmVhY3V0ZTttZW50ICZhZ3JhdmU7IGxhIGxpY2VuY2UgR1BMLCBjZSBtb2R1bGUgZXN0IGRpc3RyaWJ1JmVhY3V0ZTsgdGVsIHF1ZWwuIFZldWlsbGV6IHZvdXMgciZlYWN1dGU7ZiZlYWN1dGU7cmVyIGRpcmVjdGVtZW50ICZhZ3JhdmU7IGxhIGxpY2VuY2UgcG91ciB0b3V0IGF2aXMgZGUgbm9uIHJlc3BvbnNhYmlsaXQmZWFjdXRlOy48L3A+DQoNCjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTY1NzMyOTQuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MDA4MjQ5NjEuMTIxNjU3MzI5NC4xMjE2NTc5NjEzLjEyMTY1ODE2ODAuMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYW1lbnRlIGluc2VyaXNjZSBsbyB1c2VyIG5lbCBtb2R1bG8gRnJvbnRFbmRVc2VycyBkb3BvIGNoZSBpIHBhc3NpIGRpIHZlcmlmaWNhIHNvbm8gY29tcGxldGF0aSc7CiRsYW5nWydza2lwX2ZpbmFsX21zZyddID0gJ05vbiB2aXN1YWxpenphcmUgaWwgbWVzc2FnZ2lvIGZpbmFsZSBkb3BvIGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ0lEL0FsaWFzIGRhIHJlZGlyaWdlcmUgZG9wbyBjaGUgbGEgcmVnaXN0cmF6aW9uZSAmZWdyYXZlOyBjb21wbGV0YSc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ0lEL0FsaWFzIGRhIHJlZGlyaWdlcmUgZG9wbyBjaGUgaWwgcHJvY2Vzc28gZGkgdmVyaWZpY2EgJmVncmF2ZTsgY29tcGxldG8nOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ1VzYSBpbCBmb3JtIElubGluZSA8ZW0+KGwmIzAzOTt1c2NpdGEgZGVsIGZvcm0gcmlwb3NpemlvbmEgaWwgbW9kdWxvIHRhZywgbm9uIHR1dHRvIGlsICBjb250ZW50KTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnTGEgY2hpYXZlIGRpIHZhbGlkYXppb25lIG5vbiAmZWdyYXZlOyB2YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVW4gZXZlbnRvIGluZGljYSBjaGUgdW4gbnVvdm8gdXRlbnRlIGhhIGNvbXBsZXRhdG8gaWwgbW9kdWxvIGRpIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VuIGV2ZW50byBpbmRpY2EgY2hlIHVuIHV0ZW50ZSBoYSB2ZXJpZmljYXRvIGxlIHN1ZSBpbmZvcm1hemlvbmkgZSBvcmEgJmVncmF2ZTsgY29tcGxldGFtZW50ZSByZWdpc3RyYXRvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NhbWJpYXJlIGxlIHByZWZlcmVuemUgZGkgYW1taW5pc3RyYXppb25lPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0luZGlyaXp6aSBlbWFpbCBub24gY29pbmNpZG9ubyc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UmIzAzOTsgcmljaGllc3RvIGNoZSBsJiMwMzk7dXRlbnRlIGludHJvZHVjYSBsJiMwMzk7aW5kaXJpenpvIGVtYWlsIGR1ZSB2b2x0ZSc7CiRsYW5nWydhZ2FpbiddID0gJ2RpIG51b3ZvJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnQ2FuY2VsbGEgZ2xpIHV0ZW50aSBzZWxlemlvbmF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05lc3N1bmEgZGVmaW5pemlvbmUgZGkgcHJvcHJpZXQmYWdyYXZlOywgbyB1biBwcm9ibGVtYSBhIHJpY2V2ZXJsZSBkYWwgZGF0YWJhc2UnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdOZXNzdW4gZ3J1cHBvLCBvIHVuIHByb2JsZW1hIGEgcmljZXZlcmUgbGEgbGlzdGEgZ3J1cHBpJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJvcmUgbmVsIGRhdGFiYXNlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIEVtYWlsIHBlcnNhIGluc2VyaXRvJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBFbWFpbCBwZXJzYSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdwcmVtZW5kbyBxdWEnOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdTZSBhdmV0ZSBjb21wbGV0YXRvIGlsIG1vZHVsbyBkaSByZWdpc3RyYXppb25lIG1hIG5vbiBhdmV0ZSByaWNldnV0byBsYSBlbWFpbCwgcG90ZXRlIHJpc3BlZGlybmUgdW4mIzAzOTthbHRyYSc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgRW1haWwgcGVyc2EnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVbiBudW92byB1dGVudGUgJmVncmF2ZTsgc3RhdG8gYWdnaXVudG8gYWkgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpY2EnOwokbGFuZ1sndW5rbm93biddID0gJ1Njb25vc2NpdXRvJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGV6aW9uYSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlemlvbmEgdHV0dG8nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdEZXNlbGV6aW9uYSB0dXR0byc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBhbGwmIzAzOTt1dGVudGUnOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1hIGwmIzAzOTt1dGVudGUgY2hlIGwmIzAzOTthY2NvdW50ICZlZ3JhdmU7IHN0YXRvIGNvbnNvbGlkYXRvJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1JpZW1waXJlIHF1ZXN0aSBjYW1waSBwZXIgY2FtYmlhcmUgbGEgcGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNb2RpZmljYSB1dGVudGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIGNhbmNlbGxhcmUgcXVlc3RvIHV0ZW50ZSByZWdpc3RyYXRvIHBhcnppYWxtZW50ZT8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIFV0ZW50ZSc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwbyc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRlbnRpIHRyb3ZhdGkgKGxpbWl0YXRvIGFkIHVuIG1hc3NpbW8gZGkgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0ZW50aSc7CiRsYW5nWydsaXN0MWRheSddID0gJ1Zpc3VhbGl6emEgdHV0dGUgbGUgZW50cmF0ZSBwaSZ1Z3JhdmU7IHZlY2NoaWUgZGkgdW4gZ2lvcm5vJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPZ2dldHRvIHBlciBsZSBlbWFpbCBpbiB1c2NpdGEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGluIEhUTUwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGNvbWUgdGVzdG8nOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtZXJvIGRpIHV0ZW50aSBzb25vIG5lbCBtZXp6byBkZWxsYSByZWdpc3RyYXppb25lLiBJbiBxdWVzdG8gbW9tZW50byBpbCBjb250YXRvcmUgJmVncmF2ZTsgYTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlIHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBtZXNlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuIGdpb3Jubyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpZXRlIHNpY3Vybz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnTGEgdm9zdHJhIHJlZ2lzdHJhemlvbmUgJmVncmF2ZTsgc3RhdGEgbW9kaWZpY2F0YSc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQ29uZmVybWEgZGVsbGEgcmVnaXN0cmF6aW9uZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkZWwgbWVzc2FnZ2lvIGZpbmFsZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBkZWxsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGlhdmUgZGkgdmFsaWRhemlvbmUnOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldHRhIGFpIHZhbG9yaSBwcmVkZWZpbml0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgcGVyIHF1ZXN0byB1dGVudGUnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTmVzc3VuYSByZWxhemlvbmUgZGVsbGUgcHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbmRpcml6em8gZW1haWwgbm9uIHZhbGlkbyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lc3N1biBjYW1wbyBwZXIgdW4gdmFsaWRvIGluZGlyaXp6byBlbWFpbCAmZWdyYXZlOyBzdGF0byB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdJbCBjYW1wbyAlcyBkZXZlIGVzc2VyZSBwcmVzZW50ZSc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyAxIHBlciBsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIDIgcGVyIGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgbGEgY29uZmVybWEgZGEgZW1haWwnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgaWwgY2FtYmlvIGRlbGxlIGluZm9ybWF6aW9uaSB1dGVudGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbnplJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0ZW50ZSBub24gdHJvdmF0byc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gdmFsaWRvICh0cm9wcG8gbHVuZ28sIHRyb3BwbyBjb3J0byBvIGNvbnRpZW5lIGNhcmF0dGVyaSBub24gdmFsaWRpKS4gU2kgcmljb3JkYSBjaGUgZGV2ZSBjb250ZW5lcmUgc29sbyBjYXJhdHRlcmkgYWxmYW51bWVyaWNpIHNlbnphIHNwYXppLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnUXVlc3RvIHVzZXJuYW1lICZlZ3JhdmU7IGdpJmFncmF2ZTsgaW4gdXNvJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0Vycm9yZTogbGUgcGFzc3dvcmQgbm9uIGNvaW5jaWRvbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaW52YWxpZGEgKGRldmUgZXNzZXJlIGNvbXByZXNhIGZyYSAlcyBlICVzIGNhcmF0dGVyaSBhbGZhbnVtZXJpY2kgc2VuemEgc3BhemkpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gcHUmb2dyYXZlOyBlc3NlcmUgdnVvdG8nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoZGkgbnVvdm8pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnSW5zZXJpcmUgaWwgdGVzdG8gZGFsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ051bWVybyBpbnN1ZmZpY2llbnRlIChvIG5vbiBjb3JyZXR0bykgZGkgcGFyYW1ldHJpIGludHJvZG90dGkgYWwgbW9kdWxvJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05vbiBwb3NzbyBwcmVuZGVyZSB1bmEgaXN0YW56YSBkZWwgbW9kdWxvIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdJbCBub21lIGdydXBwbyBzcGVjaWZpY2F0byBub24gZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0lsIHRlc3RvIGRhbGwmIzAzOTtpbW1hZ2luZSBub24gJmVncmF2ZTsgc3RhdG8gaW5zZXJpdG8gY29ycmV0dGFtZW50ZSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ0xhIGVtYWlsIGRpIHJlZ2lzdHJhemlvbmUgc2FyJmFncmF2ZTsgc3BlZGl0YSBhJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnU2kgcmljaGllZGUgY2hlIGwmIzAzOTt1dGVudGUgY29uZmVybWkgbGEgcmVnaXN0cmF6aW9uZSB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBkaSBub3RpZmljYSBxdWFuZG8gcXVhbGN1bm8gc2kgcmVnaXN0cmEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snc3VibWl0J10gPSAnSW5vbHRyYSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bG8gZGkgU2VsZiBSZWdpc3RyYXRpb24nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRvIGNvbiBzdWNjZXNzbywgc2kgcmljb3JkaSBzaSBzZXR0YXJlIGlsIHBlcm1lc3NvIHBlciAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gU2UgaWwgbW9kdWxvIENhcHRjaGEgJmVncmF2ZTsgaW5zdGFsbGF0bywgYWxsb3JhIGxhIHN1YSBmdW56aW9uYWxpdCZhZ3JhdmU7ICZlZ3JhdmU7IGFiaWxpdGF0YSBwZXIgZGVmYXVsdC4gSW5jb3JhZ2dpYW1vIHRhbGUgaW5zdGFsbGF6aW9uZSBwb2ljaCZlZ3JhdmU7IHV0aWxpenphbmRvIGlsIHBhcmFtZXRybyBub2NhcHRjaGEgJmVncmF2ZTsgcG9zc2liaWxlIGRpc2FiaWxpdGFyZSB0YWxlIGZ1bnppb25hbGl0JmFncmF2ZTsuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdJbCBtb2R1bG8gU2VsZiBSZWdpc3RyYXRpb24gJmVncmF2ZTsgZGlzaW5zdGFsbGF0by4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gZGlzaW5zdGFsbGF0by4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2lvbmUgZGVsIG1vZHVsbyAlcyBpbnN0YWxsYXRhLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbnplIGRlbCBtb2R1bG8gYWdnaW9ybmF0ZS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzbyBuZWdhdG8uIFNpIHByZWdhIGRpIGNvbnRyb2xsYXJlIGkgcGVybWVzc2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3JlISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsbyBhZ2dpb3JuYXRvIGFsbGEgdmVyc2lvbmUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuemUgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSBkZWwgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWxvIFNlbGYgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxvIGNoZSBwZXJtZXR0ZSBhZ2xpIHV0ZW50aSBkaSBhdXRvIHJlZ2lzdHJhcnNpLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CZW52ZW51dGkgbmVsIG1vZHVsbyBkaSBhdXRvcmVnaXN0cmF6aW9uZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjEgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPg0KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4NCiAgICA8cD5BZGRzIHByZWZlcmVuY2VzIGFuZCBiZWhhdmlvdXIgZm9yIHBhZ2VzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGEgdXNlciBpcyByZWdpc3RlcmVkLCBhbmQvb3IgdmVyaWZpZWQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjUuIC0gRmViIDIwMDg8L3A+DQogICAgPHA+dXNlID0mYW1wOyBzeW50YXggdG8gYWxsIGNhbGxzIHRvIEdldE1vZHVsZUluc3RhbmNlKCk8L3A+DQogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXMgKHRoZXkgZGlkbiYjMDM5O3Qgd29yayBhbnl3YXlzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNi4gLSBNYXIgMjAwODwvcD4NCiAgICA8cD5MaWNlbnNlIGNoYW5nZTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtczwvcD4NCiAgICA8cD5NaW5vciBidWcgZml4ZXMgYW5kIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkFkZCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGF1dG9tYXRpYyBsb2dnaW5nIGluIG9uY2UgdmVyaWZpY2F0aW9uIGlzIGNvbXBsZXRlPC9wPg0KPGxpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPmNhcHRjaGE8L3N0cm9uZz4gPGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7Pm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTgwNzE1MTY0MC4xMTgyOTYwNDU2LjEyMDY1NjgyOTYuMTIwNjc5Nzc2My40NTgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjA2NTY4Mjk2LjQ1Ny4zMi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdGljYWxseSBsb2cgdGhlIHVzZXIgaW4gdG8gRnJvbnRFbmRVc2VycyBhZnRlciB0aGUgdmVyaWZpY2F0aW9uIHN0ZXAgaXMgY29tcGxldGUnOwokbGFuZ1snc2tpcF9maW5hbF9tc2cnXSA9ICdEb24mIzAzOTt0IGRpc3BsYXkgdGhlIGZpbmFsIG1lc3NhZ2UgYWZ0ZXIgcmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVydmVyaWZ5J10gPSAnUGFnZUlEL0FsaWFzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHZlcmlmaWNhdGlvbiBzdGVwIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2UgSW5saW5lIEZvcm1zIDxlbT4oZm9ybSBvdXRwdXQgcmVwbGFjZXMgdGhlIG1vZHVsZSB0YWcsIG5vdCBhbGwgb2YgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ1RoZSB2YWxpZGF0aW9uIGtleSBzdXBwbGllZCBpcyBpbnZhbGlkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyB2ZXJpZmllZCBoaXMgaW5mb3JtYXRpb24gYW5kIGlzIG5vdyBjb21wbGV0ZWx5IHJlZ2lzdGVyZWQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSBuZXcgdXNlciBoYXMgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuZXcgdXNlcnMgc2VsZWN0ZWQgdXNlcm5hbWU8L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gVGhlIG5ldyB1c2VycyBlbWFpbCBhZGRyZXNzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgdXNlciBoYXMgYmVlbiB2ZXJpZmllZCBhbmQgaXMgbm93IHJlZ2lzdGVyZWQgd2l0aCBmZXVzZXJzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHJlZ2lzdGVyZWQgdXNlcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIG5ldyB1c2VycyB1aWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQ2hhbmdlIGFkbWluIHByZWZlcmVuY2VzPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGVhdmUgdGhpcyBmaWVsZCBlbXB0eSB0byBwcmVzZXJ2ZSB0aGUgdXNlciBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGVhdmUgdGhpcyBmaWVsZCBlbXB0eSB0byBwcmVzZXJ2ZSB0aGUgdXNlciBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0VtYWlsIGFkZHJlc3NlcyBkbyBub3QgbWF0Y2gnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdSZXF1aXJlIHVzZXJzIHRvIGVudGVyIHRoZWlyIGVtYWlsIGFkZHJlc3MgdHdpY2UnOwokbGFuZ1snYWdhaW4nXSA9ICdhZ2Fpbic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0RlbGV0ZSBTZWxlY3RlZCBVc2Vycyc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05vIHByb3BlcnR5IGRlZmluaXRpb25zLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgdGhlbSBmcm9tIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ05vIGdyb3Vwcywgb3IgcHJvYmxlbSByZXRyZWl2aW5nIGdyb3VwIGxpc3QnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdDbGljayBIZXJlJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSSBoYXZlIGFscmVhZHkgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybSwgYnV0IGRpZCBub3QgcmVjZWl2ZSBhbiBlbWFpbCwgY2FuIHlvdSBwbGVhc2UgcmUtc2VuZCBpdCc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0EgbmV3IHVzZXIgaGFzIGJlZW4gYWRkZWQgdG8gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3QnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnQ2hlY2sgQWxsJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnVW5jaGVjayBBbGwnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSB1c2VyJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtcyB0aGUgdXNlciB0aGF0IHRoZWlyIGFjY291bnQgaGFzIGJlZW4gYWRqdXN0ZWQnOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnRmlsbCBpbiB0aGVzZSBmaWVsZHMgdG8gY2hhbmdlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdCBVc2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBwYXJ0aWFsbHkgcmVnaXN0ZXJlZCB1c2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3JvdXAnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlpJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCAobGltaXRlZCB0byBhIG1heGltdW0gb2YgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1VzZXJzJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdCBhbGwgZW50cmllcyBtb3JlIHRoYW4gMSBkYXkgb2xkJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJqZWN0IGZvciBvdXRnb2luZyBlbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZXNzYWdlIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVnaXN0ZXJpbmcuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIGRheSBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBciBqxatzIMSvc2l0aWtpbsSZcz8/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1lvdXIgcmVnaXN0cmF0aW9uIGluZm8gaGFzIGJlZW4gbW9kaWZpZWQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhY2lqb3MgcGF0dmlydGluaW1hcyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdGVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0ZpbmFsIE1lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAncGF0aWtyaW50aSByYWdpc3RyYWNpasSFJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aW9uIEtleSc7CiRsYW5nWydkZWZhdWx0J10gPSAnU2V0IFRvIERlZmF1bHRzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ05vIHByb3BlcnRpZXMgZm91bmQgZm9yIHRoaXMgdXNlcic7CiRsYW5nWydlcnJvcl9ub3Byb3ByZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0eSByZWxhdGlvbnMnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnSW52YWxpZCBlbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTm8gdmFsaWQgZW1haWwgYWRkcmVzcyBmaWVsZCBmb3VuZCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRmllbGQgJXMgbXVzdCBiZSBmaWxsZWQgaW4nOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdDb25maXJtYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnVXNlciBJbmZvIENoYW5nZWQgVGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdOdXN0YXR5bWFpJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ05hdWRvdG9qYXMgbmVyYXN0YXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTmV0ZWlzaW5nYXMgbmF1ZG90b2pvIHZhcmRhcyAocGVyIGlsZ2FzLCBwZXIgdHJ1bXBhcywgYXJiYSB0dXJpIG5ldGVpc2luZ8WzIHNpbWJvbGnFsykuICBQYXNpdGlrcmlua2l0ZS0gTmFkb3Rvam8gdmFyZGUgZ2FsaSBixat0aSB0aWsgcmFpZMSXcyBpciBza2FpxI1pYWkgKGJlIHRhcnDFsyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJyZTY2Fyb247aXMgbmF1ZG90b2pvIHZhcmRhcyBqYXUgeXJhIG5hdWRvamFtYXMnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnS0xBSURBOiBzbGFwdGHFvm9kxb5pYWkgbmVzdXRhbXBhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ05ldGVpc2luZ2FzIHNsYXB0YcW+ZGlzIChzbGFwdGHFvm9kxb5pbyBpbGdpcyB0dXJpIGLFq3RpICAlcyBpa2kgJXMgc2ltYm9sacWzKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnTmF1ZG90b2pvIHZhcmRhcyBuZWdhbGkgYsWrdGkgdHUmc2Nhcm9uO8SNaWFzJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnU2xhcHRhxb5vZGlzICh2xJdsKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1NsYXB0YcW+b2Rpcyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ05hdWRvdG9qbyB2YXJkYXMnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ8SudmVza2l0ZSB0ZWtzdMSFIHBhdmFpemR1b3TEhSBwYXZlaWtzbGUnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGlvbiBlbWFpbHMgc2hvdWxkIGJlIHNlbnQgdG8nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpcm0gcmVnaXN0cmF0aW9uIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBdCZzY2Fyb247YXVrdGknOwokbGFuZ1snc3VibWl0J10gPSAnUGF0ZWlrdGknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUmVnaXN0cmFjaWpvcyBtb2R1bGlzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0aW9uIHN1Y2Nlc3NmdWxsLCBwbGVhc2UgcmVtZW1iZXIgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBwZXJtaXNzaW9uLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdGhlbiBjYXB0Y2hhIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCBieSBkZWZhdWx0LiAgV2Ugc3Ryb25nbHkgcmVjY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoaXMgbW9kdWxlLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgYW5kIHlvdSB3YW50IHRvIGRpc2FibGUgaXQsIHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtIGluIHlvdXIgc2VsZnJlZ2lzdHJhdGlvbiB0YWcuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdSZWdpc3RyYWNpam9zIG1vZHVsaXMgaSZzY2Fyb247aW5zdGFsaXVvdGFzLiAnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0tsYWlkYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1JlZ2lzdHJhY2lqb3MgbW9kdWxpcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIHRoYXQgYWxsb3dzIGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBzZWxmIHJlZ2lzdHJhdGlvbiBtb2R1bGUuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+DQogICAgPHA+QWRkcyB0aGUgaWQgdG8gdGhlIG9uVXNlclJlZ2lzdGVyZWQgRXZlbnQ8L3A+DQogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+DQogICAgPHA+WW91IGNhbiBub3cgdXNlIHtTZWxmUmVnaXN0cmF0aW9uIGdyb3VwPSYjMDM5O2JsYWgmIzAzOTt9PC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4zLiAtIE5vdiAyMDA3PC9wPg0KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+DQogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPg0KICAgIDxwPkFkZHMgdGhlIG5vaW5saW5lIHBhcmFtZXRlcjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNC4gLSBKYW4gMjAwODwvcD4NCiAgICA8cD5TcGxpdHMgYSBmZXcgbW9yZSBhY3Rpb25zIHVwIGludG8gc2VwZXJhdGUgZmlsZXM8L3A+DQogICAgPHA+QWRkcyBwcmVmZXJlbmNlcyBhbmQgYmVoYXZpb3VyIGZvciBwYWdlcyB0byByZWRpcmVjdCB0byBhZnRlciBhIHVzZXIgaXMgcmVnaXN0ZXJlZCwgYW5kL29yIHZlcmlmaWVkPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS41LiAtIEZlYiAyMDA4PC9wPg0KICAgIDxwPnVzZSA9JmFtcDsgc3ludGF4IHRvIGFsbCBjYWxscyB0byBHZXRNb2R1bGVJbnN0YW5jZSgpPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zICh0aGV5IGRpZG4mIzAzOTt0IHdvcmsgYW55d2F5cyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjYuIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+TGljZW5zZSBjaGFuZ2U8L3A+DQogICAgPHA+UmVtb3ZlIGNhbmNlbCBidXR0b25zIGZyb20gZm9ybXM8L3A+DQogICAgPHA+TWlub3IgYnVnIGZpeGVzIGFuZCBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjIgLSBNYXIgMjAwODwvcD4NCiAgICA8cD5BZGQgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBhdXRvbWF0aWMgbG9nZ2luZyBpbiBvbmNlIHZlcmlmaWNhdGlvbiBpcyBjb21wbGV0ZTwvcD4NCiAgICA8cD5NaW5vciwgYnV0IGltcG9ydGFudCBidWcgZml4ZXMuPC9wPg0KPGxpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+b25saW5lPC9hPjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTI1ODgwNDQuOC44LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocC90b3BpYywyMjU2Ni4wL3RvcGljc2Vlbi5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjM4MjQ3ODM2MDA2ODk1NjM2MDAuMTIxMjEyODc2OC4xMjEyNTg4MDQ0LjEyMTI1OTEzMDguOSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nZyBicnVrZXJlbiBhdXRvbWF0aXNrIGlubiBpIEZyb250RW5kVXNlcnMgZXR0ZXIgYXQgdmVyaWZpa2Fzam9uc3RyaW5uZXQgZXIgZnVsbGYmb3NsYXNoO3J0JzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnSWtrZSB2aXMgYmVrcmVmdGVsc2VzbWVsZGluZ2VuIGV0dGVyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnJlZ2lzdGVyJ10gPSAnUGFnZUlEL0FsaWFzICZhcmluZzsgdmlkZXJlc2VuZGUgdGlsIGV0dGVyIHJlZ2lzdHJlcmluZ2VuIGVyIGZlcmRpZyc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ1BhZ2VJRC9BbGlhcyAmYXJpbmc7IHZpZGVyZXNlbmRlIHRpbCBldHRlciB2ZXJpZmlzZXJpbmdlbiBlciBmdWxsZiZvc2xhc2g7cnQnOwokbGFuZ1sndXNlX2lubGluZV9mb3JtcyddID0gJ0Jlbnl0dCBJbmxpbmUgc2tqZW1hZXIgPGVtPihza2plbWEgdXRkYXRhIGVyc3RhdHRlciBtb2R1bHRhZ2dlbiBvZyBpa2tlIGFsdCBpbm5ob2xkZXQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdWYWxpZGVyaW5ncyBuJm9zbGFzaDtra2VsZW4gc29tIGVyIG9wcGdpdHQgZXIgdWd5bGRpZyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdFbiBoZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnlsdCB1dCByZWdpc3RyZXJpbmdzc2tqZW1hZXQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0VuIEhlbmRlbHNlIHNvbSBpbmRpa2VyZXIgYXQgZW4gYnJ1a2VyIGhhciBiZWtyZWZ0ZXQgc2luIGluZm9ybWFzam9uIG9nIGVyIG4mYXJpbmc7IGZ1bGx0IHJlZ2lzdHJlcnQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FbiBIZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIG55IGJydWtlciBoYXIgZnVsbGYmb3NsYXNoO3J0IHJlZ2lzdHJlcmluZ3Nza2plbWFldDwvcD4NCjxoND5Jbm5zdGlsbGluZ2VyPC9oND4NCjx1bD4NCjxsaT48ZW0+YnJ1a2VybmF2bjwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgdmFsZ3RlIGJydWtlcm5hdm48L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gRGVuIG55ZSBicnVrZXJlbnMgZW1haWxhZHJlc3NlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RW4gSGVuZGVsc2Ugc29tIGluZGlrZXJlciBhdCBlbiBicnVrZXIgaGFyIGJsaXR0IGJla3JlZnRldCBvZyBlciBuJmFyaW5nOyByZWdpc3RyZXJ0IHAmYXJpbmc7IGZldXNlcnM8L3A+DQo8aDQ+SW5uc3RpbGxpbmdlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWtlcm5hdm48L2VtPiAtIERldCByZWdpc3RyZXJ0ZSBicnVrZXJuYXZuPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIERlbiBueWUgYnJ1a2VycyB1aWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnRm9yYW5kcmUgYWRtaW4gcHJlZmVyYW5zZXI/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdMYSBkZXR0ZSBmZWx0ZXQgdiZhZWxpZztyZSB0b210IGZvciAmYXJpbmc7IGJlaG9sZGUgYnJ1a2VycGFzc29yZGV0JzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYSBkZXR0ZSBmZWx0ZXQgdiZhZWxpZztyZSB0b210IGZvciAmYXJpbmc7IGJlaG9sZGUgYnJ1a2VycGFzc29yZGV0JzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRXBvc3RhZHJlc3NlbmUgZXIgaWtrZSBsaWtlJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVHZpbmdlciBicnVrZXJuZSB0aWwgJmFyaW5nOyB0YXN0ZSBpbm4gZXBvc3RhZHJlc3NlbiBzaW4gdG8gZ2FuZ2VyJzsKJGxhbmdbJ2FnYWluJ10gPSAnaWdqZW4nOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTbGV0dCB2YWxndGUgYnJ1a2VyZSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0luZ2VuIGZlbHQgZGVmaW5pc2pvbmVyLCBlbGxlciBwcm9ibGVtIG1lZCAmYXJpbmc7IGhlbnRlIGRlbSBmcmEgZGF0YWJhc2VuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnSW5nZW4gZ3J1cHBlciBmdW5uZXQsIGVsbGVyIHByb2JsZW1lciBtZWQgJmFyaW5nOyBsZXNlIGdydXBwZWxpc3Rlbic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2VmZWlsJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01hbCBmb3IgRXR0ZXIgdGFwdCBlcG9zdCc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBUYXB0IGVwb3N0JzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtrIGhlcic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0plZyBoYXIgYWxsZXJlZGUgZnVsbGYmb3NsYXNoO3J0IHJlZ2lzdHJlcmluZ3Nza2plbWFldCwgbWVuIG1vdHRvayBpa2tlIG5vZW4gZXBvc3QuIEthbiBkZXJlIHNlbmRlIGRlbiBwJmFyaW5nOyBueXR0JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIG1pc3RldCBwYXNzb3JkJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnRW4gbnkgYnJ1a2VyIGVyIGxhZ3QgdGlsIGkgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnUmVkaWdlcic7CiRsYW5nWyd1bmtub3duJ10gPSAnVWtqZW50JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZlbGcnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnVmVsZyBhbGxlJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnVmVsZyBpbmdlbic7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZXBvc3QgdGlsIGJydWtlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVrZXJlbiBvbSBhdCBrb250b2VuIGhhciBibGl0dCBqdXN0ZXJ0JzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0Z5bGwgdXQgZGlzc2UgZmVsdGVuZSBmb3IgJmFyaW5nOyBmb3JhbmRyZSBicnVrZXJwYXNzb3JkZXQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyIGJydWtlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBkZWx2aXMgcmVnaXN0cmVydGUgYnJ1a2VyZW4/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdCcnVrZXJJRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cHBlJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0Vwb3N0JzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCcnVrZXJlIGZ1bm5ldCAoYmVncmVuc2V0IHRpbCBtYWtzIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdCcnVrZXJlJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdCBhbGxlIGlubmxlZ2cgbWVyIGVubiAxIGRhZyBnYW1sZSc7CiRsYW5nWydzdWJqZWN0J10gPSAnRW1uZSBmb3IgdXRnJmFyaW5nO2VuZGUgZXBvc3QnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lbGRpbmdzLWtyb3BwJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZWxkaW5ncy1rcm9wcCc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFdCBhbnRhbGwgYnJ1a2VyZSBlciBtaWR0IGkgcmVnaXN0cmVyaW5nZW4uIERldHRlIGFudGFsbGVyIGVyIG4mYXJpbmc7Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyBtZXIgZW5uIGVuIHVrZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgbWVyIGVubiBlbiBtJmFyaW5nO25lZCBnYW1sZSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIG1lciBlbm4gZW4gZGFnIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnRXIgZHUgc2lra2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdEaW5lIHJlZ2lzdHJlcmluZ3NkYXRhIGhhciBibGl0dCBlbmRyZXQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0Jla3JlZnRlbHNlIHAmYXJpbmc7IHJlZ2lzdHJlcmluZyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGF2c2x1dHRlbmRlIG1lbGRpbmcnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnQmVrcmVmdCByZWdpc3RyZXJpbmcnOwokbGFuZ1snY29kZSddID0gJ0tvZGVuJm9zbGFzaDtra2VsIChWYWxpZGF0aW9uIEtleSknOwokbGFuZ1snZGVmYXVsdCddID0gJ1RpbGJha2VzdGlsbCB0aWwgc3RhbmRhcmR2ZXJkaWVyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0luZ2VuIGVnZW5za2FwZXIgZnVubmV0IGZvciBkZW5uZSBicnVrZXJlbic7CiRsYW5nWydlcnJvcl9ub3Byb3ByZWxhdGlvbnMnXSA9ICdJbmdlbiBlZ2Vuc2thcCByZWxhc2pvbmVyJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ1VneWxkaWcgZXBvc3RhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnSW5nZW4gZ3lsZGlnIGVtYWlsYWRyZXNzZSBmZWx0IGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRmVsdGV0ICVzIG0mYXJpbmc7IGZ5bGxlcyB1dCc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmVyaW5nc21hbCAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyZXJpbmdzbWFsIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBiZWtyZWZ0ZWxzZSBlcG9zdCc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGJydWtlci1pbmZvIGZvcmFuZHJldCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JydWtlciBpa2tlIGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuZXQgZXIgdWd5bGRpZyAoZm9yIGxhbmd0LCBmb3Iga29ydCwgZWxsZXIgaW5uZWhvbGRlciB1Z3lsZGlnZSB0ZWduKS4gIEhpbnQtIEJydWtlcm5hdm4gbSZhcmluZzsgaW5uZWhvbGRlIGt1biBhbGZhbnVtZXJpc2tlIHRlZ24gKGluZ2VuIG1lbGxvbXJvbSknOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsJ10gPSAnRXBvc3QgZXIgdWd5bGRpZy4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVrZXJuYXZuZXQgZXIgYWxsZXJlZGUgaSBicnVrJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0ZFSUw6IHBhc3NvcmRlbmUgZXIgaWtrZSBsaWtlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhc3NvcmRldCBlciB1Z3lsZGlnIChwYXNzb3JkIG0mYXJpbmc7IHYmYWVsaWc7cmUgbWVsbG9tICVzIG9nICVzIGthcmFrdGVyZXIgaSBsZW5nZGUpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuZXQga2FuIGlra2UgdiZhZWxpZztyZSBibGFua3QnOwokbGFuZ1snZXJyb3JfZW1wdHllbWFpbCddID0gJ0Vwb3N0IGthbiBpa2tlIHYmYWVsaWc7cmUgdG9tdCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhc3NvcmQgKGlnamVuKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3NvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRXBvc3QnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ09wcGdpIHRla3N0ZW4gZnJhIGJpbGRldCc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdVZ3lsZGlnIG51bW1lciAoZWxsZXIgZmVpbCkgcGFyYW1ldGVyZSBnaXR0IHRpbCBtb2R1bGVuJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0ZhbnQgaWtrZSBGcm9udEVuZFVzZXJzIG1vZHVsZW4nOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdPcHBnaXR0IGdydXBwZW5hdm4gZWtzaXN0ZXJlciBpa2tlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0ZW4gZnJhIGJpbGRldCBibGUgaWtrZSBza3JldmV0IHJpa3RpZyc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJlcmluZ3NlbWFpbGVyIHNrdWxsZSBibGkgc2VuZHQgdGlsJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnS3JldiBhdCBicnVrZXJlbiBtJmFyaW5nOyBiZWtyZWZ0ZSByZWdpc3RyZXJpbmdlbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgZW4gZW1haWwgbWVsZGluZyBuJmFyaW5nO3Igbm9lbiByZWdpc3RyZXJlciBzZWcnOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2Vsdi1yZWdpc3RyZXJpbmdzIG1vZHVsJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGFzam9uIHZlbGx5a2tldCwgaHVzayAmYXJpbmc7IHNldHRlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHJldHRpZ2hldGVuLiANCk9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0LCBzJmFyaW5nOyB2aWwgY2FwdGNoYSBmdW5rc2pvbmVuIGJsaSBzbCZhcmluZzt0dCBwJmFyaW5nOyBzb20gc3RhbmRhcmQuIFZpIGFuYmVmYWxlciBwJmFyaW5nOyBkZXQgc3Rlcmtlc3RlIGF0IGR1IGluc3RhbGxlcmVyIGRlbm5lIG1vZHVsZW4uIE9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0IG9nIGR1IGlra2UgdmlsIGJlbnl0dGUgZGV0dGUsIGJydWtlciBkdSBwYXJhbWV0ZXJlbiBub2NhcHRjaGEgaSBkaW4gc2Vsdi1yZWdpc3RyZXJpbmdzIHRhZ2cuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTZWx2cmVnaXN0cmVyaW5ncyBNb2R1bGVuIGVyIGF2aW5zdGFsbGVydC4gIFNlciBkZWcgc2VuZXJlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZW4gYXZpbnN0YWxsZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzam9uICVzIGluc3RhbGxlcnQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsIGlubnN0aWxsaW5nZXIgb3BwZGF0ZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0LiBWZW5ubGlnc3Qgc2pla2sgZGluZSByZXR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWlsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIGlubnN0aWxsbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmlzdHJhc2pvbnNwYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbHZyZWdpc3RyZXJpbmdzIE1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIGZyb250LWVuZCBicnVrZXJlICZhcmluZzsgcmVnaXN0cmVyZSBzZWcgc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+VmVsa29tbWVuIHRpbCBTZWx2cmVnaXN0cmVyaW5ncyBtb2R1bGVuLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjQuIC0gSmFuIDIwMDg8L3A+DQogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPg0KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4NCiAgICA8cD51c2UgPSZhbXA7IHN5bnRheCB0byBhbGwgY2FsbHMgdG8gR2V0TW9kdWxlSW5zdGFuY2UoKTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJiMwMzk7dCB3b3JrIGFueXdheXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPg0KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+DQogICAgPHA+TWlub3IsIGJ1dCBpbXBvcnRhbnQgYnVnIGZpeGVzLjwvcD4NCjxsaT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4NCjxwPkluIG9yZGVyIHRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG11c3QgY3JlYXRlIGEgcHJvcGVydHkgb2YgdHlwZSAmcXVvdDtFbWFpbCBBZGRyZXNzJnF1b3Q7IGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICZxdW90O3NpZ251cCZxdW90Oywgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZGlzYWJsZSBjYXB0Y2hhIG9uIHRoZSBzaWdudXAgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgY2FwdGNoYSBzdXBwb3J0IGlzIHByb3ZpZGVkLiAgVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgaXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7Pm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxNDUwOTI5Ny4xNzguOS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTIxNTg2NDY5NS4xMjE1ODcxMDg5LjIzMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjE1ODcxMDg5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnTG9nIGRlIGdlYnJ1aWtlciBhdXRvbWF0aXNjaCBhYW4sIG5hIGJldmVzdGlnaW5nJzsKJGxhbmdbJ3NraXBfZmluYWxfbXNnJ10gPSAnTGFhdHN0ZSBiZXJpY2h0IG5pZXQgdG9uZW4gbmEgcmVnaXN0cmF0aWUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ1RlIG9wZW5lbiBQYWdlSUQvQWxpYXMgbmEgcmVnaXN0cmF0aWUnOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJ2ZXJpZnknXSA9ICdUZSBvcGVuZW4gUGFnZUlEL0FsaWFzIG5hIGJldmVzdGlnaW5nJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdHZWJydWlrICZxdW90O0lubGluZSZxdW90OyBmb3JtdWxpZXJlbiA8ZW0+KG1vZHVsZSBhYW5yb2VwIHdvcmR0IHZlcnZhbmdlbiwgbmlldCBkZSBpbmhvdWQpPC9lbT4nOwokbGFuZ1snZXJyb3JfY29kZXNkb250bWF0Y2gnXSA9ICdEZSBpbmdldm9lcmRlIHZhbGlkYXRpZXNsZXV0ZWwgaXMgb25nZWxkaWcnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIG5pZXV3ZSBnZWJydWlrZXIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGhlZWZ0IGluZ2V2dWxkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gZ2VicnVpa2VyIHppam4gZ2VnZXZlbnMgaGVlZnQgZ2V2YWxpZGVlcmQgZW4gbnUgdm9sbGVkaWcgaXMgZ2VyZWdpc3RyZWVyZC4nOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gbmlldXdlIGdlYnJ1aWtlciBoZXQgcmVnaXN0cmF0aWVmb3JtdWxpZXIgaGVlZnQgaW5nZXZ1bGQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBnZXNlbGVjdGVlcmRlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIEhldCBnZXNlbGVjdGVlcmRlIGVtYWlsYWRyZXM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMgZGllIGFhbmdlZWZ0IGRhdCBlZW4gZ2VicnVpa2VyIHppam4gZ2VnZXZlbnMgaGVlZnQgZ2V2YWxpZGVlcmQgZW4gbnUgdm9sbGVkaWcgaXMgZ2VyZWdpc3RyZWVyZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIGdlcmVnaXN0cmVlcmRlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ZlcmFuZGVyIGJlaGVlcnN2b29ya2V1cmVuPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFhdCBkaXQgdmVsZCBsZWVnIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSBiZWhvdWRlbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFhdCBkaXQgdmVsZCBsZWVnIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSBiZWhvdWRlbic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0VtYWlsYWRyZXNzZW4ga29tZW4gbmlldCBvdmVyZWVuJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVmVycGxpY2h0IGdlYnJ1aWtlcnMgb20gaHVuIGVtYWlsYWRyZXMgdHdlZSBtYWFsIGluIHRlIHZvZXJlbic7CiRsYW5nWydhZ2FpbiddID0gJ29wbmlldXcnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdWZXJ3aWpkZXIgZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnR2VlbiBlaWdlbnNjaGFwc2RlZmluaXRpZSBvZiBlZW4gcHJvYmxlZW0gb20gZGV6ZSB1aXQgZGUgZGF0YWJhc2UgdGUgaGFsZW4nOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdHZWVuIGdyb2VwZW4gb2YgZWVuIHByb2JsZWVtIG1ldCBoZXQgb3BoYWxlbiB2YW4gZGUgZ3JvZXBlbmxpanN0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZS1mb3V0JzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgdmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrIGhpZXInOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdJayBoZWIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGFsIGluZ2V2dWxkLCBtYWFyIGhlYiBub2cgZ2VlbiBlbWFpbCBvbnR2YW5nZW4uIEt1bnQgdSBoZXQgb3BuaWV1dyB2ZXJzdHVyZW4/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdWZXJsb3JlbiBlbWFpbHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnRWVuIG5pZXV3ZSBnZWJydWlrZXIgaXMgdG9lZ2V2b2VnZCBhYW4gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnQmV3ZXJrJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdPbmJla2VuZCc7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3RlZXInOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnU2VsZWN0ZWVyIGFsbGVzJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnRGVzZWxlY3RlZXIgYWxsZXMnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTdHV1ciBlZW4gZW1haWwgbmFhciBkZSBnZWJydWlrZXInOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1lZXJ0IGRlIGdlYnJ1aWtlciBkYXQgemlqbiBhY2NvdW50IGlzIGFhbmdlcGFzdCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWdWwgZGV6ZSB2ZWxkZW4gaW4gb20gaGV0IGdlYnJ1aWtlcnN3YWNodHdvb3JkIHRlIHZlcmFuZGVyZW4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdCZXdlcmsgZ2VicnVpa2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1dlZXQgdSB6ZWtlciBkYXQgZGV6ZSwgZGVlbHMgZ2VyZWdpc3RyZWVyZGUgZ2VicnVpa2VyLCB2ZXJ3aWpkZXJkIG1vZXQgd29yZGVuPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnR2VicnVpa2Vycy1JRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dyb2VwJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnQWFuZ2VtYWFrdCc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnZ2VicnVpa2VyKHMpIGdldm9uZGVuIChiZXBlcmt0IHRvdCBtYXhpbWFhbCAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnR2VicnVpa2Vycyc7CiRsYW5nWydsaXN0MWRheSddID0gJ1Rvb24gYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuICZlYWN1dGU7JmVhY3V0ZTtuIGRhZyBvdWQnOwokbGFuZ1snc3ViamVjdCddID0gJ09uZGVyd2VycCB2YW4gdWl0Z2FhbmRlIGVtYWlsJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCB0ZWtzdCB2YW4gZGUgZW1haWwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdQbGF0dGUgdGVrc3QgdmFuIGRlIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0VlbiBhYW50YWwgZ2VicnVpa2VycyBpcyB6aWNoIGFhbiBoZXQgcmVnaXN0cmVyZW4uIERpdCB6aWpuIGVyIG51Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIHdlZWsgb3VkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIG1hYW5kIG91ZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnVmVyd2lqZGVyIGFsbGUgaW52b2VyIHZhbiBtZWVyIGRhbiBlZW4gZGFnIG91ZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXInOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dlZXQgdSBoZXQgemVrZXI/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1V3IHJlZ2lzdHJhdGllaW5mb3JtYXRpZSBpcyBhYW5nZXBhc3QnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhdGllYmV2ZXN0aWdpbmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZWVyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0Fmcm9uZGluZ3Nib29kc2NoYXBzamFibG9vbic7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmllZXIgcmVnaXN0cmF0aWUnOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkYXRpZXNsZXV0ZWwnOwokbGFuZ1snZGVmYXVsdCddID0gJ0FjdGl2ZWVyIHN0YW5kYWFyZHdhYXJkZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnR2VlbiBlaWdlbnNjaGFwcGVuIHZvb3IgZGV6ZSBnZWJydWlrZXIgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnR2VlbiBlaWdlbnNjaGFwc3JlbGF0aWVzJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ09uZ2VsZGlnIGVtYWlsYWRyZXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdHZWVuIGdlbGRpZyBlbWFpbGFkcmVzdmVsZCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnVmVsZCAlcyBtb2V0IGluZ2V2dWxkIHppam4nOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGllc2phYmwuIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGllc2phYmwuIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQmV2ZXN0aWdpbmdzZW1haWwtc2phYmxvb24nOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnR2VicnVpa2Vyc2luZm8tc2phYmxvb24nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0dlYnJ1aWtlciBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtIGlzIG9uZ2VsZGlnICh0ZSBsYW5nLCB0ZSBrb3J0IG9mIG9uZ2VsZGlnZSBrYXJha3RlcnMpLiBUaXA6IGdlYnJ1aWtlcnNuYW1lbiBtb2dlbiBhbGxlZW4gYWxmYW51bWVyaWVrZSBrYXJha3RlcnMgZW4gZ2VlbiBzcGF0aWVzIGJldmF0dGVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdEZSBnZWJydWlrZXJzbmFhbSBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0ZvdXQ6IFdhY2h0d29vcmRlbiBrb21lbiBuaWV0IG92ZXJlZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCBpcyBmb3V0ICh3YWNodHdvb3JkZW4gbW9ldGVuIHR1c3NlbiBkZSAlcyBlbiAlcyBrYXJha3RlcnMgbGFuZyB6aWpuKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0ga2FuIG5pZXQgbGVlZyB6aWpuJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCAob3BuaWV1dyknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1ZvZXIgZGUgdGVrc3QgdWl0IGhldCBwbGFhdGplIGluJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ09udm9sZG9lbmRlIChvZiBpbmNvcnJlY3RlKSBwYXJhbWV0ZXJzIG9wZ2VnZXZlbiBhYW4gZGUgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0tvbiBnZWVuIGluc3RhbmNlIHZhbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBrcmlqZ2VuJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnT3BnZWdldmVucyBncm9lcHNuYWFtIGJlc3RhYXQgbmlldCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdEZSB0ZWtzdCB1aXQgaGV0IHBsYWF0amUgaXMgbmlldCBnb2VkIGluZ2V2b2VyZCc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGllLWVtYWlsIG1vZXQgdmVyc3R1dXJkIHdvcmRlbiBhYW4nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdWZXJwbGljaHQgZGUgZ2VicnVpa2VyIG9tIGRlIHJlZ2lzdHJhdGllIHRlIGJldmVzdGlnZW4gdmlhIGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdTdHV1ciBlZW4gZW1haWxiZXZlc3RpZ2luZyBhbHMgaWVtYW5kIHppY2ggcmVnaXN0cmVlcnQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snc3VibWl0J10gPSAnVmVyc3R1dXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgaW5zdGFsbGF0aWUgaXMgYWZnZXJvbmQuIFZlcmdlZXQgbmlldCBvbSBkZSByZWNodGVuIHZhbiAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBpbiB0ZSBzdGVsbGVuLiBBbHMgZGUgQ2FwdGNoYSBtb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzLCBkYW4gc3RhYXQgZGV6ZSBmdW5jdGlvbmFsaXRlaXQgc3RhbmRhYXJkIGFhbi4gV2UgcmFkZW4gdSBzdGVyayBhYW4gb20gZGV6ZSBtb2R1bGUgdGUgaW5zdGFsbGVyZW4uIEFscyBkZSBDYXB0Y2hhIG1vZHVsZSBnZSZpdW1sO25zdGFsbGVlcmQgaXMgZW4gdSB3aWx0IGRlemUgdWl0c2NoYWtlbGVuLCBnZWJydWlrIGRhbiBkZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIGRlIHNlbGZyZWdpc3RyYXRpb24gdGFnJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBTZWxmIFJlZ2lzdHJhdGlvbi1tb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGdlZGVpbnN0YWxsZWVyZCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGV2ZXJzaWUgJXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGV2b29ya2V1cmVuIGdldXBkYXRlLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdUb2VnYW5nIGdld2VpZ2VyZC4gQ29udHJvbGVlciB1dyByZWNodGVuLic7CiRsYW5nWydlcnJvciddID0gJ0ZvdXQhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIG9wZ2V3YWFyZGVlcmQgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZXZvb3JrZXVyZW4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlYmVoZWVycGFuZWVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWVuIG1vZHVsZSBkaWUgaGV0IEZyb250RW5kIGdlYnJ1aWtlcnMgbW9nZWxpamsgbWFha3QgemljaHplbGYgdGUgcmVnaXN0cmVyZW4uJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGtvbSBiaWogZGUgU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLjwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMS4zIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXQgZG9ldCBoZXQ/PC9oMz4NCjxwPkRlemUgbW9kdWxlIGlzIG9udHdvcnBlbiBvbSBGcm9udEVuZFVzZXJzIHRvZSB0ZSBzdGFhbiB6aWNoemVsZiB0ZSByZWdpc3RyZXJlbiBlbiBkZSBiZW5vZGlnZGUgaW5mb3JtYXRpZSBpbiB0ZSB2dWxsZW4uIEhldCB2ZXJzdHV1cnQgdmVydm9sZ2VucyBlZW4gYmV2ZXN0aWdpbmdzbWFpbCBtZXQgZWVuIGxpbmsgbmFhciBlZW4gdHdlZWRlIHBhZ2luYSBkaWUgaW5nZXZ1bGQgbW9ldCB3b3JkZW4gdm9vciBkZSByZWdpc3RyYXRpZSBhZmdlcm9uZCBrYW4gd29yZGVuLiBOYSBhZnJvbmRpbmcgdmFuIGRlIHJlZ2lzdHJhdGllIGlzIGVlbiBnZWJydWlrZXJzYWNjb3VudCBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0LjwvcD4NCjxwPk9tIGRlemUgbW9kdWxlIHRlIGt1bm5lbiBnZWJydWlrZW4gZGllbnQgZWVuIGVpZ2Vuc2NoYXAgdmFuIGhldCB0eXBlIEUtbWFpbGFkcmVzIGluIGRlIEZyb250RW5kVXNlcnMtbW9kdWxlIGFhbmdlbWFha3QgdGUgd29yZGVuIGVuIG1vZXQgZGV6ZSBnZWtvcHBlbGQgd29yZGVuIG1ldCBkZSBnZWJydWlrZXJzZ3JvZXAgZGllIGdlYnJ1aWt0IHdvcmR0IHZvb3IgZGUgemVsZnJlZ2lzdHJhdGllLjwvcD4NCjxoMz5Ib2UgZ2VicnVpayBpayBoZXQ/PC9oMz4NCjxwPkplIHBsYWF0c3QgZGUgdm9sZ2VuZGUgdGFnIGluIGplIHBhZ2luYSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD1nZWJydWlrZXJzZ3JvZXB9PC9wPg0KPHA+SmUgbW9ldCB2b29yYWYgZGUgZWlnZW5zY2hhcHBlbiBlbiBnZWJydWlrZXJzZ3JvZXBlbiBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0IGhlYmJlbiBvbSBkZSB6ZWxmcmVnaXN0cmF0aWUgdGUga3VubmVuIGdlYnJ1aWtlbi48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uZWVsPC9lbT4gLSBtb2dlbGlqa2Ugd2FhcmRlbiB6aWpuICZxdW90O3NpZ251cCZxdW90OyBlbiAmcXVvdDt2ZXJpZnkmcXVvdDsuICBBbHMgZGV6ZSBwYXJhbWV0ZXIgbmlldCBvcGdlZ2V2ZW4gaXMgZ2VsZHQgJnF1b3Q7c2lnbnVwJnF1b3Q7LjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFZlcmVpc3QgYWxzIGRlIG1vZGUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIG9mIGFscyBkZSBtb2RlIG5pZXQgb3BnZWdldmVuIGlzLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmVlbDwvZW0+IC0gSGllcm1lZSB3b3JkdCBjYXB0Y2hhIHVpdGdlc2NoYWtlbGQgb3AgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyLiBTdGFuZGFhcmQgd29yZHQgY2FwdGNoYSBvbmRlcnN0ZXVuZCwgbWl0cyBkZSBDYXB0Y2hhLW1vZHVsZSBnZSZpdW1sO25zdGFsbGVlcmQgaXMuIERlemUgcGFyYW1ldGVyIHNjaGFrZWx0IGRlIG1vZHVsZSB1aXQuPC9wPg0KPGgzPk9uZGVyc3RldW5pbmc8L2gzPg0KPHA+RGV6ZSBtb2R1bGUgYmV2YXQgZ2VlbiBjb21tZXJjaSZldW1sO2xlIG9uZGVyc3RldW5pbmcuIEVyIHppam4gZWNodGVyIGVlbiBhYW50YWwgbW9nZWxpamtoZWRlbiBvbSBqZSBlcm1lZSB0ZSBoZWxwZW46PC9wPg0KPHVsPg0KPGxpPlZvb3IgZGUgbmlldXdzdGUgdmVyc2llIHZhbiBkZXplIG1vZHVsZSwgRkFRcywgb2Ygb20gZWVuIEJ1ZyBSZXBvcnQgaW4gdGUgZGllbmVuIG9mIGNvbW1lcmNpZWxlIG9uZGVyc3RldW5pbmcgdGUgdnJhZ2VuLCBrdW4gamUgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGJlem9la2VuIG9wIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+VmVyZGVyZSBiZXNwcmVraW5nZW4gdmFuIGRlemUgbW9kdWxlIGthbiBvb2sgZ2V2b25kZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+RGUgYXV0ZXVyLCBjYWxndXkxMDAwLCBrYW4gdmFhayBhYW5nZXRyb2ZmZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5UZW5zbG90dGUga2FuIGplIGVuaWdlIHN1Y2NlcyBoZWJiZW4gZG9vciBkZSBhdXRldXIgZGlyZWN0IHRlIGUtbWFpbGVuLjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0NDkyNTEyOTUuMTIwNjQ3NzIwMi4xMjA2NDc3MjAyLjEyMDY1NTgxODEuMic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNjU1ODE4MS4yLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDIwNjgxLjAvdG9waWNzZWVuLmh0bWx8dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvZ2luX2FmdGVydmVyaWZ5J10gPSAnQXV0b21hdHljem5pZSB6YWxvZ3VqIHXFvHl0a293bmlrYSBkbyBVxbx5dGtvd25payZvYWN1dGU7dyBGRVUgZ2R5IHdlcnlmaWthY2phIHByemViaWVnbmllIHBvcHJhd25pZSc7CiRsYW5nWydza2lwX2ZpbmFsX21zZyddID0gJ05pZSB3ecWbd2lldGxhaiBvc3RhdG5pZWogd2lhZG9tb8WbY2kgcG8gcmVqZXN0cmFjamknOwokbGFuZ1sncmVkaXJlY3RfYWZ0ZXJyZWdpc3RlciddID0gJ0lELVN0cm9ueS9BbGlhcyBnZHppZSBwcnpla2llcm93YcSHIHBvIHd5a29uYW5pdSByZWplc3RyYWNqaSc7CiRsYW5nWydyZWRpcmVjdF9hZnRlcnZlcmlmeSddID0gJ0lELVN0cm9ueS9BbGlhcyBnZHppZSBwcnpla2llcm93YcSHIHBvIHd5a29uYW5pdSB3ZXJ5ZmlrYWNqaSc7CiRsYW5nWyd1c2VfaW5saW5lX2Zvcm1zJ10gPSAnVcW8eXdhaiBmb3JtdWxhcnp5IHcgdHJlxZtjaSA8ZW0+KHd5xZt3aWV0bG9ueSBmb3JtdWxhcnogemFzdMSFcGkgem5hY3puaWsgbW9kdcWCdSwgYWxlIG5pZSBjYcWCxIUgemF3YXJ0b8WbxIcgc3Ryb255KTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnV3Byb3dhZHpvbnkga2x1Y3ogd2FsaWRhY2ppICc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdaZGFyemVuaWUgd3NrYXp1asSFY2UsIMW8ZSBub3d5IHXFvHl0a293bmlrIHd5cGXFgm5pxYIgZm9ybXVsYXJ6IHJlamVzdHJhY3lqbnknOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1pkYXJ6ZW5pZSB3c2thenVqxIVjZSwgxbxlIHXFvHl0a293bmlrIHp3ZXJ5Zmlrb3dhxYIgc3dvamUgZGFuZSBpIGplc3QganXFvCBjYcWCa293aWNpZSB6YXJlamVzdHJvd2FueSc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5ldyB1c2VycyBzZWxlY3RlZCB1c2VybmFtZTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdabWllxYQgdXN0YXdpZW5pYSBhZG1pbmlzdHJhdG9yYT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1Bvem9zdGF3IHRvIHBvbGUgcHVzdGUsIGJ5IG5pZSB6bWllbmlhxIcgaGFzxYJhIHXFvHl0a293bmlrYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG96b3N0YXcgdG8gcG9sZSBwdXN0ZSwgYnkgbmllIHptaWVuaWHEhyBoYXPFgmEgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnQWRyZXN5IGVtYWlsIG5pZSB6Z2FkemFqxIUgc2nEmSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1d5bWFnYWogcG9kdyZvYWN1dGU7am5lZ28gd3Byb3dhZHplbmlhIGVtYWlsYSc7CiRsYW5nWydhZ2FpbiddID0gJ3Bvbm93bmllJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnU2thc3VqIHd5YnJhbnljaCB1xbx5dGtvd25payZvYWN1dGU7dyc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0JyYWsgZGVmaW5pY2ppIHfFgmHFm2Npd2/Fm2NpIGtvbnRhIGx1YiBwcm9ibGVtIHogb3RyenltYW5pZW0gaWNoIHogYmF6eSBkYW55Y2gnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdCcmFrIHpkZWZpbmlvd2FueWNoIGdydXAgbHViIHByb2JsZW0geiBvdHJ6eW1hbmllbSBpY2ggeiBiYXp5IGRhbnljaCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQsWCxIVkIGJhenkgZGFueWNoJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1N6YWJsb24gd3lzecWCYW5pYSB6Z3ViaW9uZWdvIGVtYWlsYSc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnU3phYmxvbiB6Z3ViaW9uZWdvIGVtYWlsYSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrbmlqIHR1dGFqJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnV3lwZcWCbmnFgmVtIGp1xbwgZm9ybXVsYXJ6IHJlamVzdHJhY3lqbnksIGFsZSBuaWUgb3RyenltYcWCZW0gZW1haWxhIHBvdHdpZXJkemFqxIVjZWdvIC0gcHJvc3rEmSBvIHBvbm93bmUgamVnbyB3eXPFgmFuaWUuJzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdTemFibG9uIHpndWJpb25lZ28gZW1haWxhJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnTm93eSB1xbx5dGtvd25payB6b3N0YcWCIGRvZGFueSBkbyBiYXp5IHXFvHl0a293bmlrJm9hY3V0ZTt3IEZFVSc7CiRsYW5nWydlZGl0J10gPSAnRWR5dHVqJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdOaWV6bmFueSc7CiRsYW5nWydzZWxlY3QnXSA9ICdaYXpuYWN6ZW5pZSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdaYXpuYWN6IHdzenlzdGtvJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnT2R6bmFjeiB3c3p5c3Rrbyc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1d5c3nFgmFqIGVtYWlsIGRvIHXFvHl0a293bmlrYSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xbx5dGtvd25pa2EsIMW8ZSBqZWdvIGtvbnRvIHpvc3RhxYJvIHptb2R5Zmlrb3dhbmUpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1d5cGXFgm5paiB0ZSBwb2xhIGJ5IHptaWVuacSHIGhhc8WCbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZHl0dWogdcW8eXRrb3duaWthJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ0N6eSBuYSBwZXdubyBjaGNlc3ogc2thc293YcSHIGN6xJnFm2Npb3dvIHphcmVqZXN0cm93YW5lZ28gdcW8eXRrb3duaWthPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEIChJZCB1xbx5dGtvd25pa2EpJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ05hendhIHXFvHl0a293bmlrYSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBhJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnU3R3b3J6b255JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICd1xbx5dGtvd25payZvYWN1dGU7dyB6bmFsZXppb25vIChvZ3Jhbmljem9ubyBkbyBtYXguIDI1MCB3eW5payZvYWN1dGU7dyknOwokbGFuZ1sndXNlcnMnXSA9ICdVxbx5dGtvd25pY3knOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0YSB3c3p5c3RraWNoIHdwaXMmb2FjdXRlO3cgc3RhcnN6eWNoIG5pxbwgMSBkemllxYQnOwokbGFuZ1snc3ViamVjdCddID0gJ1R5dHXFgiBtYWlsYSB3eWNob2R6xIVjZWdvJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnVHJlxZvEhyB3aWFkb21vxZtjaSBIVE1MJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVHJlxZvEhyB3aWFkb21vxZtjaSB0ZWtzdG93ZWonOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTGljemJhIHXFvHl0a293bmlrJm9hY3V0ZTt3IHcgdHJha2NpZSByZWplc3RyYWNqaS4gVyBjaHdpbGkgb2JlY25laiB0YSBsaWN6YmEgdG86JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnU2thc3VqIHdzenlzdGtpZSB3cGlzeSBzdGFyc3plIG5pxbwgdHlkemllxYQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnU2thc3VqIHdzenlzdGtpZSB3cGlzeSBzdGFyc3plIG5pxbwgbWllc2nEhWMnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1NrYXN1aiB3c3p5c3RraWUgd3Bpc3kgc3RhcnN6ZSBuacW8IGR6aWXFhCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdTa2FzdWogd3N6eXN0a2llIHdwaXN5JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdOYSBwZXdubz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnVHdvamUgaW5mb3JtYWNqZSBvIHJlamVzdHJhY2ppIHpvc3RhxYJ5IHptaWVuaW9uZSc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnUG90d2llcmR6ZW5pZSByZWplc3RyYWNqaSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1phcmVqZXN0cnVqIHNpxJknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnU3phYmxvbiB3aWFkb21vxZtjaSBvc3RhdGVjem5laic7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdXZXJ5ZmlrYWNqYSByZWplc3RyYWNqaSc7CiRsYW5nWydjb2RlJ10gPSAnS2x1Y3ogd2FsaWR1asSFY3knOwokbGFuZ1snZGVmYXVsdCddID0gJ1VzdGF3IGRvbXnFm2xuZSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdCcmFrIHfFgmHFm2Npd2/Fm2NpIHpuYWxlemlvbnljaCBkbGEgdGVnbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnQnJhayByZWxhY2ppIHfFgmHFm2Npd2/Fm2NpJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05pZXByYXdpZMWCb3d5IGFkcmVzIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTmllIHpuYWxlemlvbm8gcHJhd2lkxYJvd3ljaCBwJm9hY3V0ZTtsIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQb2xlICVzIG11c2kgem9zdGHEhyB3eXBlxYJuaW9uZSc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnU3phYmxvbiByZWplc3RyYWNqaSAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdTemFibG9uIHJlamVzdHJhY2ppIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBwb3R3aWVyZHphasSFY2VnbyBlbWFpbGEnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBpbmZvcm1hY2ppIG8gem1pYW5pZSBkYW55Y2ggdcW8eXRrb3duaWthJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnV8WCYcWbY2l3b8WbY2knOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnTmllIHpuYWxlemlvbm8gdGFraWVnbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthIGplc3QgbmllcG9wcmF3bmEgKHphIGTFgnVnYSwgemEga3Imb2FjdXRlO3RrYSBsdWIgemF3aWVyYSBuaWVwcmF3aWTFgm93ZSB6bmFraSkuICBQb2Rwb3dpZWTFuiAtIG5hend5IHXFvHl0a293bmlrYSBtdXN6xIUgemF3aWVyYcSHIHR5bGtvIGFsZmFudW1lcnljem5lIHpuYWtpLCBiZXogcG9sc2tpY2ggem5hayZvYWN1dGU7dyBpIGJleiBzcGFjamkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbCddID0gJ0VtYWlsIGplc3QgbmllcHJhd2lkxYJvd3knOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RhIG5hendhIHXFvHl0a293bmlrYSBqZXN0IGp1xbwgdcW8eXdhbmEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnQsWBxIREOiBoYXPFgmEgbmllIHpnYWR6YWrEhSBzacSZISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdIYXPFgm8gamVzdCBuaWVwb3ByYXduZSAoaGFzxYJvIG11c2kgbWllxIcgZMWCdWdvxZvEhyBwb21pxJlkenkgJXMgYSAlcyB6bmFrJm9hY3V0ZTt3KSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthIG5pZSBtb8W8ZSBwdXN0YSc7CiRsYW5nWydlcnJvcl9lbXB0eWVtYWlsJ10gPSAnRW1haWwgbmllIG1vxbxlIGJ5xIcgcHVzdHknOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdIYXPFgm8gKHBvbm93bmllKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hhc8WCbyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ05hendhIHXFvHl0a293bmlrYSc7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdXcHJvd2FkxbogdGVrc3QgeiBvYnJhemthJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ05pZXByYXdpZMWCb3dhIGxpY3piYSAobHViIG5pZXByYXdpZMWCb3dlIHdhcnRvxZtjaSkgcGFyYW1ldHImb2FjdXRlO3cgd3l3b8WCYW5pYSBtb2R1xYJ1JzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05pZSBtb2fEmSB1enlza2HEhyBkb3N0xJlwdSBkbyBtb2R1xYJ1IFXFvHl0a293bmlrJm9hY3V0ZTt3IEZFVSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ1d5d2/FgmFuYSBuYXp3YSBncnVweSBuaWUgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGVrc3QgeiBvYnJhemthIHpvc3RhxYIgd3Byb3dhZHpvbnkgbmllcG9wcmF3bmllJzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnRW1haWxhIHJlamVzdHJhY3lqbmUgcG93aW5ueSBiecSHIHd5c3nFgmFuZSBkbzonOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdXeW1hZ2FqIHBvdHdpZXJkemVuaWEgcmVqZXN0cmFjamkgdcW8eXRrb3duaWthIHByemV6IGVtYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdXeXN5xYJhaiBlbWFpbCBpbmZvcm11asSFY3ksIGdkeSBub3d5IHXFvHl0a293bmlrIHNpxJkgemFyZWplc3RydWplJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FudWx1aic7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0F1dG8tcmVqZXN0cmFjamEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxhY2phIHByemViaWVnxYJhIHBvbXnFm2xuaWUsIHBhbWnEmXRhaiBvIHVzdGF3aWVuaXUgcHJhd2EgZG9zdMSZcHUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgKFptaWVuaWFqIHVzdGF3aWVuaWFtaSBtb2R1xYJ1IEF1dG8tcmVqZXN0cmFjamkpIGRsYSBvZHBvd2llZG5pZWogZ3J1cHkgdcW8eXRrb3duaWsmb2FjdXRlO3cgQ01TLWEuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1xYIgQXV0by1yZWplc3RyYWNqaSBvZGluc3RhbG93YW55LiBEbyB6b2JhY3plbmlhIHdrciZvYWN1dGU7dGNlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHXFgiBvZGluc3RhbG93YW55JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHXFgiB3IHdlcnNqaSAlcyB6YWluc3RhbG93YW55Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdVc3Rhd2llbmlhIG1vZHXFgnUgem9zdGHFgnkgemFrdHVhbGl6b3dhbmUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0Rvc3TEmXAgemFicm9uaW9ueS4gU3ByYXdkxbogc3dvamUgdXByYXduaWVuaWEhJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHXFgiB6b3N0YcWCIHVwZ3JhZGUtb3dhbnkgZG8gd2Vyc2ppICVzJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1VzdGF3aWVuaWEgbW9kdcWCdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5lbCBhZG1pbmlzdHJhY3lqbnkgbW9kdcWCdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0F1dG8tcmVqZXN0cmFjamEnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1xYIgdW1vxbxsaXdpYWrEhWN5IHXFvHl0a293bmlrb20gc3Ryb255IGF1dG8tcmVqZXN0cmFjasSZJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldpdGFteSB3IG1vZHVsZSBhdXRvLXJlamVzdHJhY2ppLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjQuIC0gSmFuIDIwMDg8L3A+DQogICAgPHA+U3BsaXRzIGEgZmV3IG1vcmUgYWN0aW9ucyB1cCBpbnRvIHNlcGVyYXRlIGZpbGVzPC9wPg0KICAgIDxwPkFkZHMgcHJlZmVyZW5jZXMgYW5kIGJlaGF2aW91ciBmb3IgcGFnZXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgYSB1c2VyIGlzIHJlZ2lzdGVyZWQsIGFuZC9vciB2ZXJpZmllZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuNS4gLSBGZWIgMjAwODwvcD4NCiAgICA8cD51c2UgPSZhbXA7IHN5bnRheCB0byBhbGwgY2FsbHMgdG8gR2V0TW9kdWxlSW5zdGFuY2UoKTwvcD4NCiAgICA8cD5SZW1vdmUgY2FuY2VsIGJ1dHRvbnMgZnJvbSBmb3JtcyAodGhleSBkaWRuJiMwMzk7dCB3b3JrIGFueXdheXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS42LiAtIE1hciAyMDA4PC9wPg0KICAgIDxwPkxpY2Vuc2UgY2hhbmdlPC9wPg0KICAgIDxwPlJlbW92ZSBjYW5jZWwgYnV0dG9ucyBmcm9tIGZvcm1zPC9wPg0KICAgIDxwPk1pbm9yIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4yIC0gTWFyIDIwMDg8L3A+DQogICAgPHA+QWRkIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljIGxvZ2dpbmcgaW4gb25jZSB2ZXJpZmljYXRpb24gaXMgY29tcGxldGU8L3A+DQogICAgPHA+TWlub3IsIGJ1dCBpbXBvcnRhbnQgYnVnIGZpeGVzLjwvcD4NCjxsaT4NCjxsaT48cD5WZXJzaW9uIDEuMi4xIC0gSnVsIDIwMDg8L3A+DQogICAgPHA+QWRkZWQgc3VwcG9ydCBmb3IgZW1haWwgYWRkcmVzc2VzIGFzIHRoZSB1c2VybmFtZSAodGhhbmtzIF9TakdfKS48L3A+DQo8bGk+DQo8bGk+PHA+VmVyc2lvbiAxLjIuMS5QT0xJU0ggLSBKdWx5IDIwMDg8L3A+DQogICAgPHA+RG9kYW5lIHTFgnVtYWN6ZW5pZSB3acSZa3N6b8WbY2kgbW9kdcWCdSAtIHd3dy5udW1lcjkucGw8L3A+DQo8L2xpPg0KDQo8L3VsPg0KDQoNCic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAmcXVvdDtzaWdudXAmcXVvdDsgaXMgYXNzdW1iZWQuPC9wPg0KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PiZhbXA7bHQ7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxNTE4NzEwOC4zOS4xMy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9bnVtZXI5LnBsfHV0bWNjdD0vbmV3L2FkbWluL2VkaXRjb250ZW50LnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzE3MDkzNDM4LjEyMDU0MTA2NDEuMTIxNTE4NzEwOC4xMjE2MDQ4ODY2LjQwJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnQ2hlaWEgZGUgdmFsaWRhcmUgZnVybml6YXRhIGVzdGUgaW52YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRXZlbmltZW50IGNhcmUgaW5kaWNhIGNvbXBsZXRhcmVhIGZvcm11bGFydWx1aSBkZSBpbnJlZ2lzdHJhcmUgZGUgY2F0cmUgbm91bCB1dGlsaXphdG9yJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFdmVuaW1lbnQgY2FyZSBpbmRpY2EgZmFwdHVsIGNhIHV0aWxpemF0b3J1bCBzaS1hIHZlcmlmaWNhdCBpbmZvcm1hdGlpbGUgc2kgYWN1bSBlc3RlIGNvbXBsZXQgaW5yZWdpc3RyYXQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FdmVuaW1lbnQgY2FyZSBpbmRpY2EgY29tcGxldGFyZWEgZm9ybXVsYXJ1bHVpIGRlIGlucmVnaXN0cmFyZSBkZSBjYXRyZSBub3VsIHV0aWxpemF0b3I8L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIE51bWVsZSB1dGlsaXphdG9yIGFsIG5vdWx1aSB1dGlsaXphdG9yPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIEFkcmVzYSBkZSBlLW1haWwgYSBub3VsdWkgdXRpbGl6YXRvcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkV2ZW5pbWVudCBjYXJlIGluZGljYSBmYXB0dWwgY2EgdXRpbGl6YXRvcnVsIGEgZm9zdCB2ZXJpZmljYXQgc2kgYWN1bSBlc3RlIGlucmVnaXN0cmF0IGluIGdydXB1bCB1dGlsaXphdG9yaWxvciBmcm9udGVuZDwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTnVtZWxlIHV0aWxpemF0b3IgaW5yZWdpc3RyYXQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnU2NoaW1iYXRpIHByZWZlcmludGVsZSBhZG1pbj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhc2F0aSBhY2VzdCBjYW1wIG5lY29tcGxldGF0IHBlbnRydSBwYXN0cmFyZWEgcGFyb2xlaSB1dGlsaXphdG9yJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYXNhdGkgYWNlc3QgY2FtcCBuZWNvbXBsZXRhdCBwZW50cnUgcGFzdHJhcmVhIHBhcm9sZWkgdXRpbGl6YXRvcic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0FkcmVzZWxlIGRlIGUtbWFpbCBudSBjb2luY2lkJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnUHJldGluZGUgY2EgdXRpbGl6YXRvcmlpIHNhIGludHJvZHVjYSBhZHJlc2EgZGUgZS1tYWlsIGRlIGRvdWEgb3JpJzsKJGxhbmdbJ2FnYWluJ10gPSAnaW5jYSBvIGRhdGEnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTdGVyZ2UgdXRpbGl6YXRvcmlpIHNlbGVjdGF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ051IGV4aXN0YSBwcm9wcmlldGF0aSBkZWZpbml0ZSwgc2F1IHByb2JsZW1hIGxhIG9idGluZXJlYSBsb3IgZGluIGJhemEgZGUgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ051IGV4aXN0YSBncnVwdXJpLCBzYXUgcHJvYmxlbWEgbGEgb2J0aW5lcmVhIGxpc3RlaSBncnVwdXJpbG9yJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcm9hcmUgbGEgYmF6YSBkZSBkYXRlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBwb3N0YXJlIGUtbWFpbCBwaWVyZHV0JzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIHBpZXJkdXQnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnQXBhc2EgYWljaSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0FtIGNvbXBsZXRhdCBkZWphIGZvcm11bGFydWwgZGUgaW5yZWdpc3RyYXJlLCBkYXIgbnUgYW0gcHJpbWl0IHVuIGUtbWFpbCwgdmEgcm9nIHNhLWwgcmV0cmltaXRldGknOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBlLW1haWwgcGllcmR1dCc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1VuIG5vdSB1dGlsaXphdG9yIGEgZm9zdCBhZGF1Z2F0IGxhIHV0aWxpemF0b3JpaSBGcm9udEVuZCc7CiRsYW5nWydlZGl0J10gPSAnRWRpdGVhemEnOwokbGFuZ1sndW5rbm93biddID0gJ05lY3Vub3NjdXQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0ZWF6YSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlY3RlYXphIHRvdCc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc2VsZWN0ZWF6YSB0b3QnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdUcmltaXRlIHVuIGUtbWFpbCB1dGlsaXphdG9ydWx1aSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybWVhemEgdXRpbGl6YXRvcnVsIGNhLCBjb250dWwgbHVpIGEgZm9zdCBhanVzdGF0JzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0NvbXBsZXRlYXphIGFjZXN0ZSBjYW1wdXJpIHBlbnRydSBhIHNjaGltYmEgcGFyb2xhIHV0aWxpemF0b3J1bHVpJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1N1bnRldGkgc2lndXIoYSkgY2EgZG9yaXRpIHNhIHN0ZXJnZXRpIGFjZXN0IHV0aWxpemF0b3IgaW5yZWdpc3RyYXQgcGFydGlhbD8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIHV0aWxpemF0b3InOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0UtbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRpbGl6YXRvcmkgZ2FzaXRpIChsaW1pdGF0IGxhIG1heGltdW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0aWxpemF0b3JpJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGVhemEgdG9hdGUgaW50cmFyaWxlIG1haSB2ZWNoaSBkZSBvIHppJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJpZWN0IHBlbnRydSBlLW1haWwtdWwgZGUgZXhwZWRpYXQnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb250aW51dCBtZXNhaiBIVE1MICc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ0NvbnRpbnV0IG1lc2FqIHRleHQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtYXIgZGUgdXRpbGl6YXRvcmkgc2UgYWZsYSBpbiBwbGluIHByb2NlcyBkZSBpbnJlZ2lzdHJhcmUuIE51bWFydWwgYWNlc3RvcmEgZXN0ZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdFbGltaW5hIHRvYXRlIGludHJhcmlsZSBtYWkgdmVjaGkgZGUgbyBzYXB0YW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gbHVuYSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gemknOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N1bnRldGkgc2lndXIoYSk/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0luZm9ybWF0aWlsZSBkdW1uZWF2b2FzdHJhIGRlIGlucmVnaXN0cmFyZSBhdSBmb3N0IG1vZGlmaWNhdGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0NvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdJbnJlZ2lzdHJlYXphJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ1NhYmxvbiBtZXNhaiBmaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBpbnJlZ2lzdHJhcmVhJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGVpYSBkZSB2YWxpZGFyZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnU2V0YXQgaW1wbGljaXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTnUgYXUgZm9zdCBnYXNpdGUgcHJvcHJpZXRhdGkgcGVudHJ1IGFjZXN0IHV0aWxpemF0b3InOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnUmVsYXRpaSBwcm9wcmlldGF0aSBpbmV4aXN0ZW50ZSc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdBZHJlc2EgZGUgZS1tYWlsIGludmFsaWRhJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnQ2FtcCBhZHJlc2EgZGUgZS1tYWlsIHZhbGlkYSBpbmV4aXN0ZW50JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdDYW1wdWwgJXMgdHJlYnVpZSBzYSBmaWUgY29tcGxldGF0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdTYWJsb24gaW5yZWdpc3RyYXJlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1NhYmxvbiBpbnJlZ2lzdHJhcmUgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIGNvbmZpcm1hcmUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnU2FibG9uIGluZm9ybWF0aWkgdXRpbGl6YXRvciBzY2hpbWJhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJpbnRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0aWxpemF0b3IgaW5leGlzdGVudCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOdW1lIHV0aWxpemF0b3IgaW52YWxpZCAocHJlYSBsdW5nLCBwcmVhIHNjdXJ0LCBzYXUgY29udGluZSBjYXJhY3RlcmUgaW52YWxpZGUpLiAgSW5kaWNpdS0gTnVtZWxlIHV0aWxpemF0b3IgdHJlYnVpZSBzYSBjb250aW5hIGRvYXIgY2FyYWN0ZXJlIGFsZmEtbnVtZXJpY2UoZmFyYSBzcGF0aWkpJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdBY2VzdCBudW1lIHV0aWxpemF0b3IgZXN0ZSBkZWphIGZvbG9zaXQnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRVJPQVJFOiBQYXJvbGVsZSBudSBjb2luY2lkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhcm9sYSBlc3RlIGludmFsaWRhIChsdW5naW1lYSBwYXJvbGVpIHRyZWJ1aWUgc2EgZmllIGN1cHJpbnNhIGludHJlICAlcyBzaSAlcyBjYXJhY3RlcmUpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdOdW1lbGUgdXRpbGl6YXRvciBudSBwb2F0ZSBmaSB2aWQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXJvbGEgKGRpbiBub3UpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFyb2xhJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnRyb2R1Y2V0aSB0ZXh0dWwgZGluIGltYWdpbmUnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTnVtYXIgaW5zdWZpY2llbnQgKHNhdSBpbmNvcmVjdCkgZGUgcGFyYW1ldHJpIGZ1cm5pemF0aSBtb2R1bHVsdWknOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnTnUgc2UgcG9hdGUgb2J0aW5lIG8gaW5zdGFudGEgYSBtb2R1bHVsdWkgVXRpbGl6YXRvcmkgRnJvbnRFbmQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdOdW1lbGUgZ3J1cHVsdWkgc3BlY2lmaWNhdCBudSBleGlzdGEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGV4dHVsIGRpbiBpbWFnaW5lIG51IGEgZm9zdCBpbnRyb2R1cyBjb3JlY3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFLW1haWwtdXJpbGUgZGUgaW5yZWdpc3RyYXJlIHRyZWJ1aWUgdHJpbWlzZSBjYXRyZSc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ05lY2VzaXRhIGNvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWkgZGUgY2F0cmUgdXRpbGl6YXRvciB2aWEgZS1tYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdUcmltaXRlIHVuIGUtbWFpbCBkZSBub3RpZmljYXJlIGNhbmQgY2luZXZhIHNlIGlucmVnaXN0cmVhemEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW51bGVhemEnOwokbGFuZ1snc3VibWl0J10gPSAnVHJpbWl0ZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bCBBdXRvLUlucmVnaXN0cmFyZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGFyZSByZXVzaXRhLCB2YSByb2cgc2EgcmV0aW5ldGkgc2Egc2V0YXRpIHBlcm1pc2l1bmlsZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gIERhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGF0dW5jaSBmdW5jdGlvbmFsaXRhdGVhIGNhcHRjaGEgZXN0ZSBpbXBsaWNpdCBhY3RpdmF0YS4gIFZhIGluY3VyYWphbSBjdSBjYWxkdXJhIHNhIGluc3RhbGF0aSBhY2VzdCBtb2R1bC4gRGFjYSBtb2R1bHVsIENhcHRjaGEgZXN0ZSBpbnN0YWxhdCwgc2kgZG9yaXRpIHNhLWwgZGV6YWN0aXZhdGksIGZvbG9zaXRpIHBhcmFtZXRydWwgbm9jYXB0Y2hhIGluIGV0aWNoZXRhIGR1bW5lYXZvYXN0cmEgc2VsZnJlZ2lzdHJhdGlvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsdWwgQXV0by1JbnJlZ2lzdHJhcmUgZXN0ZSBkZXppbnN0YWxhdC4gIFBlIGN1cmFuZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBkZXppbnN0YWxhdC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2l1bmVhICVzIGluc3RhbGF0YS4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyaW50ZWxlIG1vZHVsdWx1aSBhdSBmb3N0IGFjdHVhbGl6YXRlLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBpbnRlcnppcy4gU3VudGV0aSBydWdhdChhKSBzYSB2ZXJpZmljYXRpIHBlcm1pc2l1bmlsZS4nOwokbGFuZ1snZXJyb3InXSA9ICdFcm9hcmUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWx1bCBhIGZvc3QgYWN0dWFsaXphdCBsYSB2ZXJzaXVuZWEgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmludGVsZSBtb2R1bHVsdWknOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFub3VsIGRlIGNvbWFuZGEgYWwgbW9kdWx1bHVpJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWwgQXV0by1JbnJlZ2lzdHJhcmUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCBjYXJlIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnRlbmQgc2Egc2UgYXV0by1pbnJlZ2lzdHJlemUuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJ1biB2ZW5pdCBsYSBtb2R1bHVsIGRlIGF1dG8taW5yZWdpc3RyYXJlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3QgbW9kdWw/PC9oMz4NCjxwPkFjZXN0IG1vZHVsIGVzdGUgcHJvaWVjdGF0IHBlbnRydSBhIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnQgZW5kIHNhIHNlIGF1dG8taW5yZWdpc3RyZXplIHNpIHNhIGNvbXBsZXRlemUgaW5mb3JtYXRpaWxlIG5lY2VzYXJlLiAgSW4gY29udGludWFyZSwgbW9kdWx1bCB2YSB0cmltaXRlIHVuICBlLW1haWwgZGUgY29uZmlybWFyZSwgY3UgdW4gbGluayBsYSBvIHBhZ2luYSBzZWN1bmRhcmEgY2FyZSB0cmVidWllIGNvbXBsZXRhdGEgaW5haW50ZSBjYSBpbnJlZ2lzdHJhcmVhIHNhIGZpZSBpbmNoZWlhdGEuICBEZSBpbmRhdGEgY2UgaW5yZWdpc3RyYXJlYSBlc3RlIGluY2hlaWF0YSwgdW4gY29udCB1dGlsaXphdG9yIGVzdGUgY3JlYXQgaW4gbW9kdWx1bCBkZSBmcm9udCB1c2Vycy48L3A+DQo8cD5QZW50cnUgYSBwdXRlYSBmb2xvc2kgYWNlc3QgbW9kdWwsIHRyZWJ1aWUgc2EgY3JlYXRpIG8gcHJvcHJpZXRhdGUgZGUgdGlwdWwgJnF1b3Q7QWRyZXNhIGUtbWFpbCZxdW90OyBpbiBtb2R1bHVsIEZyb250ZW5kVXNlcnMgc2kgc2EgYXNvY2lhdGkgYWNlYSBwcm9wcmlldGF0ZSBjdSBncnVwdWwgY2FyZSB0cmVidWllIGZvbG9zaXQgcGVudHJ1IGF1dG8taW5yZWdpc3RyYXJlLjwvcD4NCjxoMz5DdW0gaWwgZm9sb3Nlc2M/PC9oMz4NCjxwPlBsYXNhdGkgdXJtYXRvYXJlYSBldGljaGV0YSBpbiBwYWdpbmEgZHVtbmVhdm9hc3RyYSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+VHJlYnVpZSBzYSBmaSBjcmVhdCBpbiBwcmVhbGFiaWwgcHJvcHJpZXRhdGlsZSBzaSBncnVwdXJpbGUgdXRpbGl6YXRvciBwZW50cnUgY2EgYWNlYXN0YSBzYSBmdW5jdGlvbmV6ZSBjb3JlY3QuPC9wPg0KPGgzPlBhcmFtZXRyaTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHZhbG9yaSBwb3NpYmlsZSBzdW50ICZxdW90O3NpZ251cCZxdW90OyBzaSAmcXVvdDt2ZXJpZnkmcXVvdDsuICBEYWNhIGFjZXN0IHBhcmFtZXRydSBudSBlc3RlIHNwZWNpZmljYXQsICZxdW90O3NpZ251cCZxdW90OyBlc3RlIGFzdW1hdC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBBY2VzdCBwYXJhbWV0cnUgZXN0ZSBuZWNlc2FyIGRhY2EgbW9kZSBlc3RlICZxdW90O3NpZ251cCZxdW90Oywgc2F1IGRhY2EgbW9kZSBlc3RlIGxhc2F0IHZpZC48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gQWNlc3RhIHZhIGRlemFjdGl2YSBjYXB0Y2hhIHBlbnRydSBmb3JtdWxhcnVsIGRlIGlucmVnaXN0cmFyZS4gSW1wbGljaXQsIGRhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGVzdGUgb2Zlcml0IHN1cG9ydC11bCBjYXB0Y2hhLiAgQWNlc3QgcGFyYW1ldHJ1IGlsIGRlemFjdGl2ZWF6YS48L3A+DQo8aDM+U3Vwb3J0PC9oMz4NCjxwPkFjZXN0IG1vZHVsIG51IGluY2x1ZGUgc3Vwb3J0IGNvbWVyY2lhbC4gVG90dXNpLCBleGlzdGEgdW4gbnVtYXIgZGUgcmVzdXJzZSBtZW5pdGUgc2EgdmEgYWp1dGU6PC9wPg0KPHVsPg0KPGxpPlBlbnRydSB1bHRpbWEgdmVyc2l1bmUgYSBhY2VzdHVpIG1vZHVsLCBGQVEtdXJpLCBzYXUgcmFwb3J0YXJlYSB1bnVpIFJhcG9ydCBkZSBCdWcgc2F1IGN1bXBhcmFyZWEgc3Vwb3J0dWx1aSBjb21lcmNpYWwsIHN1bnRldGkgcnVnYXQoYSkgc2Egdml6aXRhdGkgcGFnaW5hIGRlIHN0YXJ0IGEgbW9kdWx1bHVpIGx1aSBjYWxndXkgbGEgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5EaXNjdXRpaSBzdXBsaW1lbnRhcmUgZGVzcHJlIGFjZXN0IG1vZHVsIHBvdCBmaSBnYXNpdGUgZGUgYXNlbWVuZWEgaW4gPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5BdXRvcnVsLCBjYWxndXkxMDAwLCBhZGVzZWEgcG9hdGUgZmkgZ2FzaXQgaW4gPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkluIGZpbmFsLCBwdXRldGkgYXZlYSBzYW5zZSBkZSBzdWNjZXMgcHJpbiB0cmltdGVyZWEgdW51aSBlLW1haWwgZGlyZWN0IGF1dG9ydWx1aS48L2xpPiAgDQo8L3VsPg0KPHA+Q2F0IGRlc3ByZSBHUEwsIGFjZXN0IHNvZnQgZXN0ZSBvZmVyaXQgYXNhIGN1bSBlc3RlLiBTdW50ZXRpIHJ1Z2F0KGEpIHNhIGNpdGl0aSBjb250aW51dHVsIGxpY2VudGVpIHBlbnRydSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+RHJlcHR1cmkgZGUgY29waWVyZSBzaSBsaWNlbnRhPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBUb2F0ZSBkcmVwdHVyaWxlIHJlemVydmF0ZS48L3A+DQo8cD5BY2VzdCBtb2R1bCBhIGZvc3QgbGl2cmF0IHN1YiA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5MaWNlbnRhIHB1YmxpY2EgR05VPC9hPi4gVHJlYnVpZSBzYSBmaXRpIGRlIGFjb3JkIGN1IGFjZWFzdGEgbGljZW50YSBpbmFpbnRlIGRlIGEgdXRpbGl6YSBtb2R1bHVsLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0MjI4MjQ2NTAuMTE5MzI0NDUwNi4xMTkzNjI4NzU4LjExOTM3Nzk4MjMuOCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5MzI1MTcwMi4zLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWxvY2FsaG9zdHx1dG1jY3Q9L2Ntc21hZGVzaW1wbGUvYWRtaW4vbW9kdWxlaW50ZXJmYWNlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ9Ch0L7QsdGL0YLQuNC1INC/0L7QutCw0LfRi9Cy0LDQtdGCINGH0YLQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L/QvtC00YLQstC10YDQtNC40Lsg0YHQstC+0Lgg0LTQsNC90L3Ri9C1INC4INGC0LXQv9C10YDRjCDQt9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0L0uJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4INCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0LA/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAn0JDQtNGA0LXRgdCwIEVtYWlsINC90LUg0YHQvtCy0L/QsNC00LDRjtGCJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAn0J/QvtGC0YDQtdCx0L7QstCw0YLRjCDQvtGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INC/0L7QstGC0L7RgNC90L7Qs9C+INCy0LLQvtC00LAgZW1haWwnOwokbGFuZ1snYWdhaW4nXSA9ICfRgdC90L7QstCwJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAn0KPQtNCw0LvQuNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAn0J7RiNC40LHQutCwINCx0LDQt9GLINC00LDQvdC90YvRhSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAn0KnQtdC70LrQvdC40YLQtSDQt9C00LXRgdGMJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAn0K8g0YPQttC1INC30LDQv9C+0LvQvdC40Lsg0YDQtdCz0LjRgdGC0YDQsNGG0LjQvtC90L3Rg9GOINGE0L7RgNC80YMsINC90L4g0L3QtSDQv9C+0LvRg9GH0LjQuyDRgdC+0L7QsdGJ0LXQvdC40Y8uINCc0L7Qs9C70Lgg0LHRiyDQstGL0YHQu9Cw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QvtCy0YLQvtGA0L3Qvj8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICfQlNC+0LHQsNCy0LvQvdC1INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMJzsKJGxhbmdbJ2VkaXQnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCc7CiRsYW5nWyd1bmtub3duJ10gPSAn0J3QtdC40LfQstC10YHRgtC90YvQuSc7CiRsYW5nWydzZWxlY3QnXSA9ICfQktGL0LHRgNCw0YLRjCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICfQntGC0LzQtdGC0LjRgtGMINCy0YHQtSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ9Ch0L3Rj9GC0Ywg0L7RgtC80LXRgtC60YMg0YHQviDQstGB0LXRhSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ9Cf0L7RgdC70LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1zIHRoZSB1c2VyIHRoYXQgdGhlaXIgYWNjb3VudCBoYXMgYmVlbiBhZGp1c3RlZCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICfQl9Cw0L/QvtC70L3QuNGC0LUg0Y3RgtC4INC/0L7Qu9GPINC00LvRjyDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC/0LDRgNC+0LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snZWRpdHVzZXInXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHBhcnRpYWxseSByZWdpc3RlcmVkIHVzZXI/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ9CT0YDRg9C/0L/QsCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ9Ch0L7Qt9C00LDQvSc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICfQodC+0L7QsdGJ0LXQvdC40LUnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIChsaW1pdGVkIHRvIGEgbWF4aW11bSBvZiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9C4JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJqZWN0INC00LvRjyDQuNGB0YXQvtC00YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZXNzYWdlIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVnaXN0ZXJpbmcuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIGRheSBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICfQlNCw0L3QvdGL0LUg0LLQsNGI0LXQuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCx0YvQu9C4INC40LfQvNC10L3QtdC90YsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ9Cf0L7QtNGC0LLQtdGA0LbQtNC10L3QuNC1INGA0LXQs9C40YHRgtGA0LDRhtC40LgnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICfQl9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y8nOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZnkgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aW9uIEtleSc7CiRsYW5nWydkZWZhdWx0J10gPSAn0KPRgdGC0LDQvdC+0LLQutC4INC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ9Cd0LUg0L3QsNC50LTQtdC90L4g0YHQstC+0LnRgdGC0LIg0LTQu9GPINGN0YLQvtCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00L7Qu9C20L3QviDQsdGL0YLRjCDQt9Cw0L/QvtC70L3QtdC90L4nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAn0J/QsNGA0L7Qu9GMJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ9Ch0L7QvtCx0YnQtdC90LjQtSDQviDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INC00L7Qu9C20L3QviDQsdGL0YLRjCDQv9C+0YHQu9Cw0L3QviDQvdCwJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUmVxdWlyZSB0aGUgdXNlciB0byBjb25maXJtIHJlZ2lzdHJhdGlvbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgYW4gZW1haWwgbm90aWZpY2F0aW9uIHdoZW4gc29tZW9uZSByZWdpc3RlcnMnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICJNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyIgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0JzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/QvCDRgdCw0LzQvtGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBzZWxmIHJlZ2lzdHJhdGlvbiBtb2R1bGUuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJ3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgImNoZWNrYWxsIjwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgIkVtYWlsIEFkZHJlc3MiIGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAic2lnbnVwIiBhbmQgInZlcmlmeSIuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAic2lnbnVwIiBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICJzaWdudXAiLCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjE4ODQ3NjQ0LjExNjc4OTU0NTUuMTE3OTA3ODg0OC4xMTc5MDgzNDk4LjQzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE3OTA4MzQ5OC40My4yOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3JlZGlyZWN0X2FmdGVycmVnaXN0ZXInXSA9ICdQYWdlSUQvQWxpYXMgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3JlZGlyZWN0X2FmdGVydmVyaWZ5J10gPSAnUGFnZUlEL0FsaWFzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHZlcmlmaWNhdGlvbiBzdGVwIGlzIGNvbXBsZXRlJzsKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2UgSW5saW5lIEZvcm1zIDxlbT4oZm9ybSBvdXRwdXQgcmVwbGFjZXMgdGhlIG1vZHVsZSB0YWcsIG5vdCBhbGwgb2YgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ092ZXJvdmFjJmlhY3V0ZTsgayZvYWN1dGU7ZCBqZSBuZXBsYXRuJnlhY3V0ZTsnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVWRhbG9zxaUgdnl2b2xhbiZhYWN1dGU7IHYgcHImaWFjdXRlO3BhZGUsIGtlxI8gbm92JnlhY3V0ZTsgdcW+JmlhY3V0ZTt2YXRlxL4gZG9rb27EjWlsIHZ5cGzFiG92YW5pZSByZWdpc3RyYcSNbiZlYWN1dGU7aG8gZm9ybXVsJmFhY3V0ZTtyYS4nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VkYWxvc8WlIG96bmHFpXVqJnVhY3V0ZTtjYSBwciZpYWN1dGU7cGFkLCBrZcSPIG5vdiZ5YWN1dGU7IHXFviZpYWN1dGU7dmF0ZcS+IHBvdHZyZGlsIG9kb3NsYW4meWFjdXRlOyBlLW1haWwgYSB2IHRlanRvIGNodiZpYWN1dGU7bGkgdcW+IGplIGtvbXBsZXRuZSB6YXJlZ2lzdHJvdmFuJnlhY3V0ZTsuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBuZXcgdXNlcnMgdWlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptZW5pxaUgYWRtaW5pc3RyJmFhY3V0ZTt0b3Jza2UgbmFzdGF2ZW5pYT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1BvbmVjaGFqdGUgdG90byBwb2xlIHByJmFhY3V0ZTt6ZG5lIHByZSB6YWNob3ZhbmllIHMmdWFjdXRlO8SNYXNuJmVhY3V0ZTtobyBoZXNsYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9uZWNoYWp0ZSB0b3RvIHBvbGUgcHImYWFjdXRlO3pkbmUgcHJlIHphY2hvdmFuaWUgcyZ1YWN1dGU7xI1hc24mZWFjdXRlO2hvIGhlc2xhJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRS1tYWlsb3YmZWFjdXRlOyBhZHJlc3kgc2EgbmV6aG9kdWomdWFjdXRlOyc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1Z5xb5hZG92YcWlLCBhYnkgIHXFviZpYWN1dGU7dmF0ZWxpYSB2a2xhZGFsaSBzdm9qdSBlLW1haWxvdiZ1YWN1dGU7IGFkcmVzdSBkdmFrciZhYWN1dGU7dC4nOwokbGFuZ1snYWdhaW4nXSA9ICd6bm92YSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1Z5bWF6YcWlIHZ5YnJhbiZ5YWN1dGU7Y2ggdcW+JmlhY3V0ZTt2YXRlxL5vdic7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ8W9aWFkbmUgZGVmaW4maWFjdXRlO2NpZSB2bGFzbm9zdCZpYWN1dGU7LCBhbGVibyBkbyZzY2Fyb247bG8gayBjaHliZSBwcmkgaWNoIG92ZXJvdmFuJmlhY3V0ZTsgdiBkYXRhYiZhYWN1dGU7emUuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnxb1pYWRuZSBza3VwaW55IGFsZWJvIGRvJnNjYXJvbjtsbyBrIHByb2JsJmVhY3V0ZTttb20gcHJpIGljaCB6JmlhY3V0ZTtza2F2YW4maWFjdXRlOyB2IGRhdGFiJmFhY3V0ZTt6ZS4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhIHYgZGF0YWImYWFjdXRlO3plJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrbml0ZSB0dSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ1XFviBzb20gdnlwbG5pbCByZWdpc3RyYcSNbiZ5YWN1dGU7IGZvcm11bCZhYWN1dGU7ciwgYWxlIG5lb2JkcsW+YWwgc29tIGUtbWFpbC4gTSZvY2lyYzvFvmV0ZSBtaSBobyBwcm9zJmlhY3V0ZTttIHpub3ZhIHBvc2xhxaU/JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnQSBuZXcgdXNlciBoYXMgYmVlbiBhZGRlZCB0byBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bXknOwokbGFuZ1snc2VsZWN0J10gPSAnVnlicmHFpSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWeWJyYcWlIHYmc2Nhcm9uO2V0a28nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdacnUmc2Nhcm9uO2nFpSB2JnlhY3V0ZTtiZXInOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdQb3NsYcWlIGUtbWFpbCB1xb4maWFjdXRlO3ZhdGXEvm92aSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xb4maWFjdXRlO3ZhdGXEvmEsIMW+ZSBqZWhvICZ1YWN1dGU7xI1ldCBib2wgcHImYWFjdXRlO3ZlIHVwcmF2ZW4meWFjdXRlOyc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWeXBsxYh0ZSB0aWV0byBwb2xpYSBwcmUgem1lbnUgdcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdVcHJhdmnFpSB1xb4maWFjdXRlO3ZhdGXEvmEnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnTmFvemFqIGNoY2V0ZSB2eW1hemHFpSB0b2h0byDEjWlhc3RvxI1uZSByZWdpc3Ryb3ZhbiZlYWN1dGU7aG8gdcW+JmlhY3V0ZTt2YXRlxL5hPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1XFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnU2t1cGluYSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ1Z5dHZvcmVuJmVhY3V0ZTsnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdOJmFhY3V0ZTtqZGVuJmlhY3V0ZTsgIHXFviZpYWN1dGU7dmF0ZWxpYSAob2JtZWR6ZW4mZWFjdXRlOyBtYXhpbSZhYWN1dGU7bG55bSBwb8SNdG9tIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdVxb4maWFjdXRlO3ZhdGVsaWEnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWeXAmaWFjdXRlO3NhxaUgdiZzY2Fyb247ZXRseSAgcG9sb8W+a3kgdmlhYyBha28gMSBkZcWIIHN0YXImZWFjdXRlOy4nOwokbGFuZ1snc3ViamVjdCddID0gJ1ByZWRtZXQgb2RjaCZhYWN1dGU7ZHphaiZ1YWN1dGU7Y2VobyBlLW1haWx1Lic7CiRsYW5nWydodG1sYm9keSddID0gJ1RlbG8gSFRNTCBzcHImYWFjdXRlO3Z5Lic7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RlbG8gdGV4dG92JmVhY3V0ZTtobyBlLW1haWx1Lic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdOaWVrdG9yJmlhY3V0ZTsgdcW+JmlhY3V0ZTt2YXRlbGlhIHMmdWFjdXRlOyDEjWlhc3RvxI1uZSByZWdpc3Ryb3ZhbiZpYWN1dGU7LiBJY2ggcG/EjWV0IGplIGFrdHUmYWFjdXRlO2xuZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdPZG9icmHFpSB2JnNjYXJvbjtldGt5IHBvbG/Fvmt5IHN0YXImc2Nhcm9uO2llIGFrbyB0JnlhY3V0ZTvFvmRlxYguJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ09kb2JyYcWlIHYmc2Nhcm9uO2V0a3kgcG9sb8W+a3kgc3RhciZzY2Fyb247aWUgYWtvIHJvayc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAndiZzY2Fyb247ZXRreSBwb2xvxb5reSBzdGFyJnNjYXJvbjtpZSBha28gZGXFiCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZG9iYcWlIHYmc2Nhcm9uO2V0a3kgeiZhYWN1dGU7em5hbXknOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnVmEmc2Nhcm9uO2UgcmVnaXN0cmHEjW4mZWFjdXRlOyAmdWFjdXRlO2RhamUgYm9saSB1cHJhdmVuJmVhY3V0ZTsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1BvdHZyZGVuaWUgcmVnaXN0ciZhYWN1dGU7Y2llLic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHImYWFjdXRlO2NpYSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdGaW5hbCBNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ092ZXJmacWlIHJlZ2lzdHImYWFjdXRlO2NpdSc7CiRsYW5nWydjb2RlJ10gPSAnT3Zlcm92YWMmaWFjdXRlOyBrxL4mdWFjdXRlO8SNJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdOYXN0YXZpxaUgbmEgdiZ5YWN1dGU7Y2hvZHppZSBob2Rub3R5Lic7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdQcmUgdG9odG8gdcW+JmlhY3V0ZTt2YXRlxL5hIG5lYm9saSBuJmFhY3V0ZTtqZGVuJmVhY3V0ZTsgxb5pYWRuZSB2bGFzbm9zdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lYm9sbyBuJmFhY3V0ZTtqZGVuJmVhY3V0ZTsgcG9sZSBvYnNhaHVqJnVhY3V0ZTtjZSBwbGF0biZ1YWN1dGU7IGUtbWFpbG92JnVhY3V0ZTsgYWR0cmVzdS4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1BvbGUgJXMgbXVzJmlhY3V0ZTsgYnnFpSB2eXBsbmVuJmVhY3V0ZTsnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIGUtbWFpbHUgcHJlIHBvdHZyZGVuaWUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHptZW55IHXFviZpYWN1dGU7dmF0ZcS+c2smeWFjdXRlO2NoIGluZm9ybSZhYWN1dGU7Y2lpJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTmFzdGF2ZW5pZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVxb4maWFjdXRlO3ZhdGXEviBuZWJvbCBuJmFhY3V0ZTtqZGVuJnlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gamUgbmVwbGF0biZlYWN1dGU7IChwciZpYWN1dGU7bGkmc2Nhcm9uOyBkbGgmZWFjdXRlOywgcHImaWFjdXRlO3NsacSNIGtyJmFhY3V0ZTt0a2UsIGFsZWJvICBvYnNhaHVqZSBuZXBsYXRuJmVhY3V0ZTsgem5ha3kgLSBwb3ZvbGVuJmVhY3V0ZTsgcyZ1YWN1dGU7IGxlbiBwJmlhY3V0ZTtzbWVuYSBiZXogZGlha3JpdGlreSBhIG1lZHppZXIpLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gamUgdcW+IHBvdcW+JmlhY3V0ZTt2YW4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdDSFlCQTogSGVzbGEgc2EgbmV6aG9kdWomdWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdIZXNsbyBqZSBuZXBsYXRuJmVhY3V0ZTsgKGhlc2xhIG11c2lhIG1hxaUgZGzFvmt1IG1lZHppICVzIGEgJXMgem5ha21pKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8gbXVzJmlhY3V0ZTsgYiZ5YWN1dGU7xaUgemFkYW4mZWFjdXRlOyc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0hlc2xvICh6bm92YSknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIZXNsbyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1ByaWhsYXNvdmFjaWUgbWVubyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUHJpIHZvbGFuJmlhY3V0ZTsgbW9kdWx1IGJvbG8gcG91xb5pdCZ5YWN1dGU7Y2ggcHImaWFjdXRlO2xpJnNjYXJvbjsgbSZhYWN1dGU7bG8gcGFyYW1ldHJvdiwgYWxlYm8gbmlla3RvciZlYWN1dGU7IGJvbGkgcGFyYW1ldHJlIHphZGFuJmVhY3V0ZTsgbmVwbGF0biZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05lbSZvY2lyYzvFvmVtIHNhIHByaXBvamnFpSBrIG1vZHVsdSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnVXZlZGVuJmFhY3V0ZTsgc2t1cGluYSBuZWV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgeiBvYnImYWFjdXRlO3prYSBuZWJvbCB2bG/FvmVuJnlhY3V0ZTsgc3ByJmFhY3V0ZTt2bmUnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWdpc3RyYcSNbiZlYWN1dGU7IGUtbWFpbHkgYnkgbWFsaSBiecWlIHphc2xhbiZlYWN1dGU7JzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUG/FvmFkb3ZhxaUgdcW+JmlhY3V0ZTt2YXRlxL5vdm8gcG90dnJkZW5pZSByZWdpc3RyJmFhY3V0ZTtjaWUgZS1tYWlsb20nOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1Bvc2xhxaUgdXBvem9ybmVuaWUgZS1tYWlsb20sIGtlxI8gc2Egbmlla3RvIHphcmVnaXN0cnVqZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2nFpSc7CiRsYW5nWydzdWJtaXQnXSA9ICdWbG/FvmnFpSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTYW1vc3RhdG4mYWFjdXRlOyByZWdpc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHBlcm1pc3Npb24uICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB0aGVuIGNhcHRjaGEgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXZSBzdHJvbmdseSByZWNjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhpcyBtb2R1bGUuICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhbmQgeW91IHdhbnQgdG8gZGlzYWJsZSBpdCwgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW0gaW4geW91ciBzZWxmcmVnaXN0cmF0aW9uIHRhZy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHImYWFjdXRlO2NpYSBib2wgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemlhICVzIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnVmxhc3Rub3N0aSBtb2R1bHUgbmFzdGF2ZW4mZWFjdXRlOyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQciZpYWN1dGU7c3R1cCB6YWsmYWFjdXRlO3phbiZ5YWN1dGU7LiBQcm9zJmlhY3V0ZTttIHNrb250cm9sdWp0ZSBzdm9qYSBwciZhYWN1dGU7dmEuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYWt0dWFsaXpvdmFuJnlhY3V0ZTsgbmEgdmVyeml1ICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdOYXN0YXZlbmllIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbmlzdHImYWFjdXRlO8SNbiZ5YWN1dGU7IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIHNhbW9yZWdpc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCwga3RvciZ5YWN1dGU7IHVtb8W+xYh1amUgc2Ftb3N0YXRuJnVhY3V0ZTsgIHJlZ2lzdHImYWFjdXRlO2NpdSB1xb4maWFjdXRlO3ZhdGXEvm92Lic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5WaXRhanRlIHYgbW9kdWxlIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHImYWFjdXRlO2NpYS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS40LiAtIEphbiAyMDA4PC9wPg0KICAgIDxwPlNwbGl0cyBhIGZldyBtb3JlIGFjdGlvbnMgdXAgaW50byBzZXBlcmF0ZSBmaWxlczwvcD4NCiAgICA8cD5BZGRzIHByZWZlcmVuY2VzIGFuZCBiZWhhdmlvdXIgZm9yIHBhZ2VzIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGEgdXNlciBpcyByZWdpc3RlcmVkLCBhbmQvb3IgdmVyaWZpZWQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5NzQ0NTU1NS41My4xNS51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPXRpbnkgbWVkaWEgcGx1Z2lufHV0bWNtZD1vcmdhbmljJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTk5NzA3MTgzLjExODcxNzY5NzcuMTIwMDM4OTQzOC4xMjAwMzk3MjgzLjU3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKICAgIC8vIHZhbGlkYXRpb25zIGluIHByb2Nlc3MKICAgICRmbGRzID0gIgogICAgICAgICAgICAgaWQgSSBLRVksCiAgICAgICAgICAgICBncm91cF9pZCBJIE5PVCBOVUxMLAogICAgICAgICAgICAgdXNlcm5hbWUgQyg4MCkgTk9UIE5VTEwsCiAgICAgICAgICAgICBwYXNzc3dvcmQgQygzMikgTk9UIE5VTEwsCiAgICAgICAgICAgICBjb2RlIEMoMjApIE5PVCBOVUxMLAogICAgICAgICAgICAgY3JlYXRlZGF0ZSAiLkNNU19BRE9EQl9EVDsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIiwgCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICRkYi0+Q3JlYXRlU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnNfc2VxIiApOwoKICAgICRmbGRzID0gImlkIEkgS0VZLAogICAgICAgICAgICAgdXNlciBJIE5PVCBOVUxMLCAKICAgICAgICAgICAgIHRpdGxlIEMoMTAwKSBOT1QgTlVMTCwKICAgICAgICAgICAgIGRhdGEgQygyNTUpIAogICAgICAgICAgICAiOyAKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXNfc2VxIiApOwoKIAogICAgLy8gcHJlZmVyZW5jZXMKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsMSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZF9lbWFpbHNfdG8nLCdyb290QGxvY2FsaG9zdC5jb20nKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywKCQkJICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3N1YmplY3QnLAoJCQkgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCcpKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcxdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScsICR0aGlzLT5kZmx0X3Bvc3RyZWcxX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcydGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24yX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgogICAgLy8gUGVybWlzc2lvbnMKICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkgICAgJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoKICAgIC8vIGV2ZW50cwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKICAgICR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiICk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzX3NlcSIgKTsKCiAgICAvLyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKICAgIC8vIHBlcm1pc3Npb25zCiAgICAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKICAgICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnKTsKCiAgICAvLyBldmVudHMKICAgICR0aGlzLT5SZW1vdmVFdmVudCgnb25OZXdVc2VyJyk7CiAgICAkdGhpcy0+UmVtb3ZlRXZlbnQoJ29uVXNlclJlZ2lzdGVyZWQnKTsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKewogICAgLy8gdGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdlciBuZWVkZWQKICBzd2l0Y2goICRvbGR2ZXJzaW9uICkKICAgIHsKICAgIGNhc2UgJzEuMC4zJzoKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKCQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfdXNlcmVkaXRlZF9zdWJqZWN0JywKCQkJICAgICAkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbicpKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsICR0aGlzLT5kZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkKCS8vIFBlcm1pc3Npb25zCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkJJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoJLy8gbm90aWNlLCBubyBicmVyYWsKICAgICAgfQogICAgICAKICAgIGNhc2UgJzEuMC40JzoKICAgICAgewoJJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKCSR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwogICAgICB9CiAgICB9Cgp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/SelfRegistration.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKIyAgd2l0aCBhIHdlYnNpdGUuCiMgCiMgVmVyc2lvbjogMS4yCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2Z1bmN0aW9ucy5waHAiICk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBTZWxmUmVnaXN0cmF0aW9uIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvcm0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgPGNlbnRlcj4KICA8dGFibGUgd2lkdGg9Ijc1JSI+Cntmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8dHI+CiAgICA8dGQ+eyRjb250cm9sLT5oaWRkZW59CiAgICB7aWYgJGNvbnRyb2wtPmNvbG9yICE9IFwnXCd9CiAgICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAge2Vsc2V9CiAgICAgIHskY29udHJvbC0+cHJvbXB0fXskY29udHJvbC0+bWFya2VyfQogICAgey9pZn0KICAgIDwvdGQ+CiAgICA8dGQ+eyRjb250cm9sLT5jb250cm9sfTwvdGQ+CiAgPC90cj4Key9mb3JlYWNofQogIDwvdGFibGU+CiAgPC9jZW50ZXI+Cjxici8+CnsvaWZ9CntpZiBpc3NldCgkY2FwdGNoYSl9CnskY2FwdGNoYV90aXRsZX06IHskaW5wdXRfY2FwdGNoYX08YnIgLz4KICB7JGNhcHRjaGF9PGJyIC8+CnsvaWZ9CiB7JGhpZGRlbn17aWYgaXNzZXQoJGhpZGRlbjIpfXskaGlkZGVuMn17L2lmfXskc3VibWl0fTxici8+CnskbXNnX3NlbmRhbm90aGVyZW1haWx9Jm5ic3A7eyRsaW5rX3NlbmRhbm90aGVyZW1haWx9CnskZW5kZm9ybX0KPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KICc7CgogIHZhciAkZGZsdF9wb3N0cmVnMV90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgaXNzZXQoJG1lc3Nhc2dlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPlRoYW5rIHlvdSB7JHVzZXJuYW1lfSBmb3IgcmVnaXN0ZXJpbmcgd2l0aCB7JHNpdGVuYW1lfS4gIEFuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geyRlbWFpbH0gd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbnRpbnVlIHRoZSByZWdpc3RyYXRpb24gcHJvY2VzczwvcD4KPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQp7JHN0YXJ0Zm9ybX0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfdXNlcm5hbWV9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3VzZXJuYW1lfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfcGFzc3dvcmR9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3Bhc3N3b3JkfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfY29kZX08L2ZvbnQ+CiAgICA8L3RkPgogICAgPHRkPnskaW5wdXRfY29kZX08L3RkPgogIDwvdHI+CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4KIHskaGlkZGVufXskaGlkZGVuMn17JHN1Ym1pdH0KeyRlbmRmb3JtfQo8IS0tIFJlZ2lzdHJhdGlvbiAyIHRlbXBsYXRlIC0tPgogJzsgIAoKICB2YXIgJGRmbHRfZW1haWxjb25maXJtX3RlbXBsYXRlID0gJwo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KPGh0bWw+Cjxib2R5Pgo8cD5HcmVldGluZ3MgeyRuYW1lfSB3ZWxjb21lIHRvIHRoZSBzaXRlLiAgVGhpcyBlbWFpbCBpcyBiZWluZyBzZW50IGJlY2F1c2Ugc29tZWJvZHkgcmVnaXN0ZXJlZCBmb3IgYWNjZXNzIHRvIHskc2l0ZW5hbWV9IHVzaW5nIHRoaXMgZW1haWwgYWRkcmVzcy4gSWYgdGhpcyB3YXMgeW91LCBwbGVhc2UgY2xpY2sgb24gdGhlIGZvbGxvd2luZyBsaW5rIGFuZCBlbnRlciB5b3VyIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHRoZSB1bmlxdWUgY29kZSBiZWxvdzwvcD4KICAgPHA+Rm9sbG93IHRoaXMgbGluazogeyRsaW5rfTwvcD4KICAgPHA+b3IgdGhpcyBsaW5rOiB7JHNtYWxsbGlua308L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSBzb21lYm9keSByZWdpc3RlcmVkIGZvciBhY2Nlc3MgdG8geyRzaXRlbmFtZX0gdXNpbmcgdGhpcyBlbWFpbCBhZGRyZXNzLiBJZiB0aGlzIHdhcyB5b3UsIHBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93LgoKRm9sbG93IHRoaXMgbGluazogeyR1cmx9Cm9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CkNvZGU6IHskY29kZX0KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSA9ICcKPCEtLSBFbWFpbFVzZXJFZGl0ZWQgdGVtcGxhdGUgLS0+CjxodG1sPgo8Ym9keT4KPHA+R3JlZXRpbmdzIHskbmFtZX0gd2VsY29tZSB0byB0aGUgc2l0ZS4gIFRoaXMgZW1haWwgaXMgYmVpbmcgc2VudCBiZWNhdXNlLCBhbHRob3VnaCB5b3UgaGF2ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB7JHNpdGVuYW1lfSwgdGhlcmUgd2FzIGFuIGVycm9yIGluIHlvdXIgaW5wdXQuICBUaGUgYWRtaW5pc3RyYXRvciBoYXMgZG9uZSBoaXMgYmVzdCB0byBjb3JyZWN0IHRoaXMgZGF0YSwgYW5kIHlvdSBhcmUgbm93IGJlaW5nIHNlbnQgYW4gdXBkYXRlZCByZWdpc3RyYXRpb24gZm9ybS4gUGxlYXNlIGNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluayBhbmQgZW50ZXIgeW91ciB1c2VybmFtZSwgcGFzc3dvcmQsIGFuZCB0aGUgdW5pcXVlIGNvZGUgYmVsb3c8L3A+CiAgIDxwPkZvbGxvdyB0aGlzIGxpbms6IHskbGlua308L3A+CiAgIDxwPm9yIHRoaXMgbGluazogeyRzbWFsbGxpbmt9PC9wPgogICA8cD5QYXNzd29yZDogeyRwYXNzd29yZH08L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsVXNlckVkaXRlZCB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSwgYWx0aG91Z2ggeW91IGhhdmUgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggeyRzaXRlbmFtZX0sIHRoZXJlIHdhcyBhbiBlcnJvciBpbiB5b3VyIGlucHV0LiAgVGhlIGFkbWluaXN0cmF0b3IgaGFzIGRvbmUgaGlzIGJlc3QgdG8gY29ycmVjdCB0aGlzIGRhdGEsIGFuZCB5b3UgYXJlIG5vdyBiZWluZyBzZW50IGFuIHVwZGF0ZWQgcmVnaXN0cmF0aW9uIGZvcm0uIFBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93CiAgIEZvbGxvdyB0aGlzIGxpbms6IHskdXJsfQogICAgIG9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CiAgIFBhc3N3b3JkOiB7JHBhc3N3b3JkfQogICBDb2RlOiB7JGNvZGV9Cic7CgogIHZhciAkZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUgPSAnCjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgo8cD5XZWxjb21lIHskdXNlcm5hbWV9IHRvIHskc2l0ZW5hbWV9LiAgWW91ciByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBQbGVhc2UgbG9naW4gdG8gY29udGludWU8L3A+CjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgogICc7CgogIHZhciAkZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlID0gJwo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPkkgZGlkblwndCByZWNlaXZlIG15IGNvbmZpcm1hdGlvbiBlbWFpbCwgcGxlYXNlIHNlbmQgYW5vdGhlciBvbmUuPC9wPgo8cD5NeSBVc2VybmFtZSBpczogeyRzdGFydGZvcm19eyRpbnB1dF91c2VybmFtZX0mbmJzcDt7JHN1Ym1pdH17JGVuZGZvcm19PC9wPgo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CiAgJzsKCiAgdmFyICRkZmx0X3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFNlbmRBbm90aGVyRW1haWwgdGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD5UaGFuayB5b3UgeyR1c2VybmFtZX0gZm9yIHJlZ2lzdGVyaW5nIHdpdGggeyRzaXRlbmFtZX0uICBXZSBhcmUgc29ycnkgeW91IGhhZCBkaWZmaWN1bHR5IHJlY2VpdmluZyB5b3VyIGVtYWlsLiAgQSBzZWNvbmQgZW1haWwgaGFzIGJlZW4gc2VudCB0byB7JGVtYWlsfSB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gY29udGludWUgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzPC9wPgo8IS0tIFBvc3QgU2VuZEFub3RoZXJFbWFpbCB0ZW1wbGF0ZSAtLT4KJzsKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnU2VsZlJlZ2lzdHJhdGlvbic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjMuMSI7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMi4xJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ0NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGhvdG1haWwuY29tJzsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUsIGRlcGVuZGluZyBvbgogICB3aGV0aGVyIHlvdXIgbW9kdWxlIGFkZHMgYW55dGhpbmcgdG8gdGhlIEFkbWluIGFyZWEgb2YKICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSdsbCBiZSBjYWxsaW5nCiAgIHRoZSBhZG1pbiBwYXJ0IG9mIHlvdXIgbW9kdWxlIHRoZSAiQWRtaW4gUGFuZWwiIGZvcgogICB3YW50IG9mIGEgYmV0dGVyIHRlcm0uCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ3VzZXJzZ3JvdXBzJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudERlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2Rlc2NyaXB0aW9uXycuJGV2ZW50bmFtZSApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEV2ZW50RGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEV2ZW50SGVscCggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9oZWxwXycuJGV2ZW50bmFtZSApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICAkc3RhdHVzID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFJlZ2lzdGVyaW5nIFVzZXJzJykKICAgICAgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKQogICAgICB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiAgICByZXR1cm4gJHN0YXR1czsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCAnQ01TTWFpbGVyJyA9PiAnMS43My45JywKCQkgICdGcm9udEVuZFVzZXJzJyA9PiAnMS40LjQnICk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtb2RlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vY2FwdGNoYScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdncm91cCcsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2lubGluZScsQ0xFQU5fSU5UKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgLy8gcGVybWlzc2lvbnMKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKCiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICBmdW5jdGlvbiBteUdldFBhZ2VOYW1lKCAkYWxpYXNvcmlkICkKICB7CiAgICAkb2JqID0gQ29udGVudE1hbmFnZXI6OkxvYWRQYWdlRnJvbUFsaWFzKCAkYWxpYXNvcmlkICk7CiAgICByZXR1cm4gJG9iai0+TmFtZSgpOwogIH0KCgogIGZ1bmN0aW9uIG15UmVkaXJlY3RUb1RhYiggJGlkLCAkdGFiLCAkcGFyYW1zID0gJycgKQogIHsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICBpZiggaXNfYXJyYXkoICRwYXJhbXMgKSApCiAgICAgIHsKCSRwYXJtcyA9ICRwYXJhbXM7CiAgICAgIH0KICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJHRhYjsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcm1zICk7CiAgfQoKCiAgZnVuY3Rpb24gbXlSZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMgPSAnJyApCiAgewogICAgLy8gdW5zZXQgYW55IHBhc3N3b3JkIHRoaW5ncyAKICAgIHVuc2V0KCAkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ2hpZGRlbl9yZXBlYXRwYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydwYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1sncmVwZWF0cGFzc3dvcmQnXSApOwoKICAgIHVuc2V0KCAkcGFyYW1zWydhY3Rpb24nXSApOwogICAgLy8kdGhpcy0+UmVkaXJlY3QoICRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkcGFyYW1zLCB0cnVlICk7CiAgICByZXR1cm4gJHRoaXMtPkRvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpCiAgewogICAgc3dpdGNoICgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2RlbGV0ZXRlbXB1c2VyJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb0RlbGV0ZVVzZXIoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ2RvX2RlbGV0ZXVzZXJzYnVsayc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRG9EZWxldGVCdWxrVXNlcnMoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NlbmRhbm90aGVyZW1haWwnOgoJewoJICAkdGhpcy0+X1NlbmRBbm90aGVyUmVnRW1haWwoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcxdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcxVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcydGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcyVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5FbWFpbENvbmZpcm1UZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9TZXRBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfZmluYWxtZXNzYWdlX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQoKLy8gICAgICAgY2FzZSAnZGVmYXVsdCc6Ci8vICAgICAgIGNhc2UgJ2RlZmF1bHRhZG1pbic6Ci8vICAgICAgIGNhc2UgJ2RvX2VkaXR1c2VyJzoKLy8gICAgICAgY2FzZSAnZWRpdHRlbXB1c2VyJzoKLy8gICAgICAgY2FzZSAncmVndXNlcic6Ci8vICAgICAgIGNhc2UgJ3NldHByZWZzJzoKLy8gICAgICAgY2FzZSAndmVyaWZ5dXNlcic6CiAgICAgIGRlZmF1bHQ6Cgl7CgkgIHBhcmVudDo6RG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfQ3JlYXRlRnJvbnRlbmRVc2VyKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCApCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0NyZWF0ZUZyb250ZW5kVXNlciggJHRtcGlkLCAkZ3JvdXBfaWQsICR1c2VybmFtZSwgJHBhc3N3b3JkICkKICB7CiAgICAkZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpOwogICAgICB9CgogICAgLy8gdG9kbywgZmlndXJlIG91dCB3aGVuIHVzZXJzIHNob3VsZCBleHBpcmUKICAgICRleHBpcmVzID0gc3RydG90aW1lKCcrNSB5ZWFycycpOwogICAgJHJlc3VsdCA9ICRmZXVzZXJzLT5BZGRVc2VyKCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgKTsKICAgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuICRyZXN1bHRbMV07CiAgICAgIH0KCiAgICAkdWlkID0gJHJlc3VsdFsxXTsKICAgICRnaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncm91cCcsIC0xKTsKICAgIGlmKCAkZ2lkICE9IC0xICkKICAgICAgewoJLy8gYSBkZWZhdWx0IGdyb3VwIGlzIHJlcXVpcmVkLAoJLy8gc28gYWRkIGhpbSB0byB0aGF0IGdyb3VwCglpZiggISRmZXVzZXJzLT5Bc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdpZCApICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+TGFuZygnd2FybmluZ19jb3VsZG5vdGFkZGdyb3VwJyk7CgkgIH0KICAgICAgfQoKICAgIC8vIGFuZCBhZGQgdGhlIHVzZXIgdG8gd2hhdGV2ZXIgZ3JvdXAgc3BlY2lmaWVkIGluIHRoZSBncm91cHMgcGFyYW1ldGVyCiAgICBpZiggJGdyb3VwX2lkICkKICAgICAgewoJaWYoICEkZmV1c2Vycy0+QXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRncm91cF9pZCApICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+TGFuZygnd2FybmluZ19jb3VsZG5vdGFkZGdyb3VwJyk7CgkgIH0KICAgICAgfSAgICAKCiAgICAvLyBoZSdzIGluLi4uLiBoZSdzIGluLi4uIG5vdyBqdXN0IGFkZCBoaXMgcHJvcGVydGllcwogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHRtcGlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CiAgICAgIH0KICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKICAgICAgewoJJGZldXNlcnMtPlNldFVzZXJQcm9wZXJ0eUZ1bGwoICRyb3dbJ3RpdGxlJ10sICRyb3dbJ2RhdGEnXSwgJHVpZCApOwogICAgICB9CgovLyAgICAgLy8gbm93IGRpc3BsYXkgYSB3YXJtIGZ1enp5IG1lc3NhZ2UKLy8gICAgIGdsb2JhbCAkZ0NtczsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCAkdXNlcm5hbWUgKTsKLy8gICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKLy8gICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnKTsKCiAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICAkdGhpcy0+U2VuZEV2ZW50KCdvblVzZXJSZWdpc3RlcmVkJywKCQkgICAgIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwKCQkJICAgJ2lkJz0+JHVpZCkpOwoKICAgIC8vIGFuZCBub3RpZnkgdGhlIGFkbWluaXN0cmF0b3IKICAgIC8vIGlmIHRoZSBhZG1pbiB3YW50cyBub3RpZmljYXRpb25zLgogICAgLy8gb2ZmIHdlIGdvLgogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJykgKQogICAgICB7CgkKCSRjbXNtYWlsZXIgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKCWlmKCAhJGNtc21haWxlciApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX25vY21zbWFpbGVybW9kdWxlJyk7CgkgIH0KCQoJJGNtc21haWxlci0+QWRkQWRkcmVzcygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZF9lbWFpbHNfdG8nKSk7CgkkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCdBIG5ldyB1c2VyIGhhcyByZWdpc3RlcmVkIG9uICcuJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CgkkbXNnID0gJ0EgbmV3IHVzZXIgKCcuJHVzZXJuYW1lLicpIGhhcyBjb21wbGV0ZWQgcmVnaXN0cmF0aW9uIHRvIHlvdXIgc2l0ZS4geW91IHNob3VsZCBjaGVjayB0aGlzIHVzZXIgb3V0IGFuZCB2YWxpZGF0ZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBpcyBhcyBjb21wbGV0ZSBhbmQgdmFsaWQgYXMgcG9zc2libGUuJzsKCSRjbXNtYWlsZXItPlNldEJvZHkoJG1zZyk7ICAKCSRjbXNtYWlsZXItPklzSFRNTChmYWxzZSk7IC8vIHdlJ3JlIG5vdCBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2VuZCgpOwogICAgICB9CgogICAgJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgJHRoaXMtPkxhbmcoJ2luZm9fdXNlcnZlcmlmaWVkJykuIjogIi4kdXNlcm5hbWUpOwogICAgcmV0dXJuIDA7CiAgfQoKCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZT0nJykKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwogICAgaWYgKCRtZXNzYWdlICE9ICcnKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICAgIH0KICAgIAogICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9Eb0RlbGV0ZUJ1bGtVc2VycygkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0RvRGVsZXRlQnVsa1VzZXJzKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7CglpZiggJGtleSA9PSAnbWFya2RlbGV0ZV8nLiR2YWx1ZSApCgkgIHsKCSAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkdmFsdWUgKTsKCSAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXIoICR2YWx1ZSApOyAKCSAgfQogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCdhZG1pbnVzZXJzJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0RvRGVsZXRlVXNlcigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9Eb0RlbGV0ZVVzZXIoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoICFpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKCXJldHVybjsKICAgICAgfQoKICAgICRpZCA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlclByb3BlcnRpZXMoICRpZCApOwogICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkaWQgKTsgCiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCdhZG1pbnVzZXJzJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VuZEFub3RoZXJFbWFpbCgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZW5kQW5vdGhlclJlZ0VtYWlsKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIC8vIHdlIGhhdmUgdGhlIHVzZXJuYW1lICh0aGVvcmV0aWNhbGx5KSBpbiB0aGUgJHBhcmFtcwogICAgaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICAgICAgewoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsKICAgICAgfQogICAgJHVzZXJuYW1lID0gJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXTsKCiAgICAvLyBsb29rIHVwIHRoZSB1c2VybmFtZSBhbmQgZ2V0IGFuIGlkCiAgICAkdGVtcHVzZXJpZCA9ICR0aGlzLT5HZXRUZW1wVXNlcklEKCAkdXNlcm5hbWUgKTsKICAgIGlmKCAhJHRlbXB1c2VyaWQgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBhbmQgd2hhdGV2ZXIgZGV0YWlscyB3ZSBjYW4gZnJvbSB0aGUgdXNlcnMgdGFibGUKICAgICRkZXRhaWxzID0gJHRoaXMtPkdldFRlbXBVc2VyRGV0YWlscyggJHRlbXB1c2VyaWQgKTsKICAgIGlmKCAkZGV0YWlscyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgIC8vIG5vdyBnZXQgcHJvcGVydGllcwogICAgJHRlbXB1c2VycHJvcHMgPSAkdGhpcy0+R2V0VGVtcFVzZXJQcm9wZXJ0aWVzKCAkdGVtcHVzZXJpZCApOwogICAgaWYoICR0ZW1wdXNlcnByb3BzID09IGZhbHNlICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgJGZldXNlcnMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gaGF2ZSB0aGUgZ3JvdXAgaWQsIGdldCB0aGUgZ3JvdXAgcHJvcGVydHkgcmVsYXRpb25zCiAgICAkcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRkZXRhaWxzWydncm91cF9pZCddICk7CiAgICBpZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICRyZWxhdGlvbnNbMV07CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAkcHJvcHMgPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgaWYoICRwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBub3cgZmluZCBhbiBlbWFpbCBhZGRyZXNzIHByb3BlcnR5CiAgICAvLyBhbmQgbWFrZSBzdXJlIGl0J3Mgb2YgdHlwZSAyCiAgICAkZm91bmQgPSAnJzsKICAgIGZvcmVhY2goICRyZWxhdGlvbnMgYXMgJHJlbG4gKQogICAgICB7Cglmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQoJICB7CgkgICAgaWYoICRwcm9wWyd0eXBlJ10gPT0gMiAmJiAkcmVsblsnbmFtZSddID09ICRwcm9wWyduYW1lJ10gKQoJICAgICAgewoJCS8vIGZvdW5kIGFuIGVtYWlsIHByb3BlcnR5CgkJZm9yZWFjaCggJHRlbXB1c2VycHJvcHMgYXMgJHRlbXBwcm9wICkKCQkgIHsKCQkgICAgaWYoICRyZWxuWyduYW1lJ10gPT0gJHRlbXBwcm9wWyd0aXRsZSddICkKCQkgICAgICB7CgkJCSRmb3VuZCA9ICR0ZW1wcHJvcFsnZGF0YSddOwoJCQlicmVhazsKCQkgICAgICB9CgkJICB9CgkgICAgICB9CgkgICAgaWYoICRmb3VuZCAhPSAnJyApCgkgICAgICB7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAkZm91bmQgIT0gJycgKQoJICB7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgfQogICAgaWYoICEkZm91bmQgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgICR0aGlzLT5fU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCggJGlkLCRyZXR1cm5pZCwkZm91bmQsICR1c2VybmFtZSwgJGRldGFpbHNbJ2dyb3VwX2lkJ10sCgkJCQkgICAgICAgJGRldGFpbHNbJ2NvZGUnXSApOwoKICAgIC8vIHdlJ3JlIG5vdCByZWRpcmVjdGluZyBhbnl3aGVyZSB3ZSBuZWVkIHRvIGRpc3BsYXkgc29tZSBuaWNlIG1lc3NhZ2UKICAgIC8vIGFib3V0IHdlIGp1c3Qgc3BhbW1lZCB5b3VyIGluYm94LCBldGMsIGV0Yy4KICAgIGdsb2JhbCAkZ0NtczsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCR1c2VybmFtZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsJywgJGZvdW5kICk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgfSAgCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRhZGRyZXNzLCR1c2VybmFtZSwkZ3JvdXBfaWQsJGNvZGUpOwogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRpZCwkcmV0dXJuaWQsJGFkZHJlc3MsJHVzZXJuYW1lLCRncm91cF9pZCwkY29kZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICBpZiggISRjbXNtYWlsZXIgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCAkYWRkcmVzcyApOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1lJywkdXNlcm5hbWUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2RlJywkY29kZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkcGFybXMgPSBhcnJheSggJ21vZGUnID0+ICd2ZXJpZnknLAoJCSAgICAnaW5wdXRfdXNlcm5hbWUnID0+ICR1c2VybmFtZSwKCQkgICAgJ2lucHV0X2dyb3VwX2lkJyA9PiAkZ3JvdXBfaWQsCgkJICAgICdpbnB1dF9jb2RlJyA9PiAkY29kZSApOwogICAgJHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCcnLCRwYXJtcywnJyx0cnVlLHRydWUpOwogICAgJHNtYWxsdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnbW9kZScgPT4gJ3ZlcmlmeScpLCcnLHRydWUsIHRydWUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmwnLCR1cmwpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzbWFsbHVybCcsJHNtYWxsdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHVybCwkcGFybXMsJycsZmFsc2UsdHJ1ZSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzbWFsbGxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRzbWFsbHVybCxhcnJheSgnbW9kZSc9Pid2ZXJpZnknKSwnJyxmYWxzZSx0cnVlKSk7CiAgICAkaHRtbGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScpOwogICAgJHRleHRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJyk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgIGlmKCAkaHRtbGJvZHkgIT0gJycgKQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJGh0bWxib2R5ICk7CgkkY21zbWFpbGVyLT5TZXRBbHRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbicpKSk7CiAgICAkY21zbWFpbGVyLT5TZW5kKCk7CgogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluUmVnMVRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluUmVnMVRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3Bvc3RyZWcxX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZWcxX3RlbXBsYXRlY29udGVudCddICkgfHwKCSAgICAgaXNzZXQoICRwYXJhbXNbJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWydyZWcxX3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3JlZzF0ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pblJlZzJUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblJlZzJUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19yZWcydGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfcmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcmVnMnRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3JlZzJ0ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5FbWFpbENvbmZpcm1UZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWxjb25maXJtX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkaHRtbHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJGh0bWx0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddOwoJICB9CgkkdGV4dHRlbXBsYXRlID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApICkKCSAgewoJICAgICR0ZXh0dGVtcGxhdGUgPSAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J107CgkgIH0KCSRzdWJqZWN0ID0gJyc7CglpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSApICkKCSAgewoJICAgICRzdWJqZWN0ID0gJHBhcmFtc1snaW5wdXRfc3ViamVjdCddOwoJICB9CglpZiggJHN1YmplY3QgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5c3ViamVjdCcpKTsKCSAgICByZXR1cm47CgkgIH0KCWlmKCAkdGV4dHRlbXBsYXRlID09ICcnICkKCSAgewoJICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsCgkJCQkgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c3BlY2lmeXRleHR0ZW1wbGF0ZScpKTsKCSAgICByZXR1cm47CgkgIH0KCgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoICdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywKCQkJICAgICAgJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICk7CgkKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnZW1haWxjb25maXJtX3RlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5GaW5hbE1lc3NhZ2VUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfZmluYWxtZXNzYWdlX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnZmluYWxtZXNzYWdlX3RlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluRW1haWxDb25maXJtYXRpb25UZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgCiAgICAgIHsKCSRodG1sdGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCgkgIHsKCSAgICAkaHRtbHRlbXBsYXRlID0gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J107CgkgIH0KCSR0ZXh0dGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJHRleHR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXTsKCSAgfQoJJHN1YmplY3QgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICkgKQoJICB7CgkgICAgJHN1YmplY3QgPSAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J107CgkgIH0KCWlmKCAkc3ViamVjdCA9PSAnJyApCgkgIHsKCSAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCRwYXJhbXMsJHJldHVybmlkLAoJCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfbXVzdHNwZWNpZnlzdWJqZWN0JykpOwoJICAgIHJldHVybjsKCSAgfQoJaWYoICR0ZXh0dGVtcGxhdGUgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5dGV4dHRlbXBsYXRlJykpOwoJICAgIHJldHVybjsKCSAgfQoKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3N1YmplY3QnLAoJCQkgICAgICAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10gKTsKCQogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5TZXRBbm90aGVyRW1haWxUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRidXR0b24nXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSApOwogICAgICB9CiAgICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50MiddICk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnICk7CiAgfQoKCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyBBUEkgRlVOQ1RJT05TCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgZnVuY3Rpb24gQWRkVGVtcFVzZXJQcm9wZXJ0eSggJHVpZCwgJHByb3BuYW1lLCAkcHJvcHZhbHVlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8pIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQsICR1aWQsICRwcm9wbmFtZSwgJHByb3B2YWx1ZSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gQ291bnRUZW1wVXNlcnMoKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUIGNvdW50KCopIGFzIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuICRyb3dbJ2NvdW50J107CiAgfQoKCiAgZnVuY3Rpb24gQ3JlYXRlVGVtcFVzZXIoICRnaWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICBpZiggJHVzZXJuYW1lID09ICcnIHx8ICRwYXNzd29yZCA9PSAnJyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIC8vIGdldCBhbiBpZAogICAgJGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzX3NlcSIpOwogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7IAogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCwgJGdpZCwgJHVzZXJuYW1lLCBtZDUoJHBhc3N3b3JkKSwgJGNvZGUsCgkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTVGFtcCh0aW1lKCkpLCInIikpKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFLCRpZCk7CiAgfQoKCiAgZnVuY3Rpb24gQ1NWT2xkVGVtcFVzZXJzKCRleHBpcnljb2RlKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJGV4cGlyZXMgPSAkZGItPkRiVGltZVN0YW1wKHN0cnRvdGltZSggJGV4cGlyeWNvZGUgKSk7CiAgICAvLyBmaW5kIGFsbCB0aGUgdXNlciBpZCdzIHRoYXQgbWF0Y2gKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBjcmVhdGVkYXRlIDwgPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGV4cGlyZXMgKSApOyAKICAgICRyZXN1bHQgPSAnJzsKCiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIAogICAgICB7CgkkdmFscyA9IGFycmF5X3ZhbHVlcyggJHJvdyApOwoJJHJlc3VsdCAuPSAkcm93WydpZCddLiIsIi4kcm93Wyd1c2VybmFtZSddLiIsIi4kcm93Wydjb2RlJ10uIiwiLiRyb3dbJ2NyZWF0ZWRhdGUnXS4iLCI7CgkkcTIgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgICAgIFdIRVJFIHVzZXIgPSA/IE9SREVSIGJ5IGlkIjsKCSRkYnJlc3VsdDIgPSAkZGItPkV4ZWN1dGUoICRxMiwgYXJyYXkoICRyb3dbJ2lkJ10gKSApOwoJd2hpbGUoICRyb3cyID0gJGRicmVzdWx0Mi0+RmV0Y2hSb3coKSApCgkgIHsKCSAgICAkcmVzdWx0IC49ICRyb3cyWydkYXRhJ10uIiwiOwoJICB9CgkkcmVzdWx0IC49ICJlbmRcbiI7CiAgICAgIH0KCiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICBmdW5jdGlvbiBFZGl0VGVtcFVzZXIoICR1aWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICBpZiggJHVzZXJuYW1lID09ICcnICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgU0VUIHVzZXJuYW1lID0gPywgY29kZSA9ID8iOwogICAgJHBhcmFtcyA9IGFycmF5KCR1c2VybmFtZSwkY29kZSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICcnICkKICAgICAgewoJJHEgLj0gIixwYXNzc3dvcmQgPSA/IjsKCSRwYXJhbXNbXSA9IG1kNSgkcGFzc3dvcmQpOwogICAgICB9CiAgICAkcSAuPSAiIFdIRVJFIGlkID0gPyI7CiAgICAkcGFyYW1zW10gPSAkdWlkOwoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwYXJhbXMgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBFeHBpcmVPbGRUZW1wVXNlcnMoJGV4cGlyeWNvZGUpCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZXhwaXJlcyA9ICRkYi0+RGJUaW1lU3RhbXAoc3RydG90aW1lKCAkZXhwaXJ5Y29kZSApKTsKICAgIC8vIGZpbmQgYWxsIHRoZSB1c2VyIGlkJ3MgdGhhdCBtYXRjaAogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGNyZWF0ZWRhdGUgPCA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZXhwaXJlcyApICk7IAogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSAKICAgICAgewoJLy8gdGhlbiBkZWxldGUgdGhlaXIgcHJvcGVydGllcwoJJHEyID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CgkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcTIsIGFycmF5KCAkcm93WydpZCddICkgKTsKICAgICAgfQoKICAgIC8vIHRoZW4gZGVsZXRlIHRoZW0KICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgV0hFUkUgY3JlYXRlZGF0ZSA+ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRleHBpcmVzICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVGVtcFVzZXIoICR1aWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoJHVpZCkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkdWlkICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzIAogICAgICAgICAgV0hFUkUgdXNlciA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICBmdW5jdGlvbiBHZXRUZW1wVXNlckRldGFpbHMoICR1aWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCB8fCAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCApIHJldHVybiBmYWxzZTsKICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gJHJvdzsKICB9CgoKICBmdW5jdGlvbiBHZXRUZW1wVXNlcklEKCAkdXNlcm5hbWUgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwoKICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycyBXSEVSRQogICAgICAgICAgdXNlcm5hbWUgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdXNlcm5hbWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoICEkcm93ICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuICRyb3dbJ2lkJ107CiAgfQoKCiAgZnVuY3Rpb24gR2V0VGVtcFVzZXJQcm9wZXJ0eSggJHVpZCwgJHByb3BuYW1lLCAkZGZsdCApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgZGF0YSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyBBTkQgdGl0bGUgPSAgPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgJHByb3BuYW1lICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuICRkZmx0OwogICAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoICEkcm93ICkKICAgICAgewoJcmV0dXJuICRkZmx0OwogICAgICB9CiAgICByZXR1cm4gJHJvd1snZGF0YSddOwogIH0KCgogIGZ1bmN0aW9uIEdldFRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICBXSEVSRSB1c2VyID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCB8fCAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRyZXN1bHRbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/edituser.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9CiAgICB7aWYgJGNvbnRyb2wtPmV4dHJhdGV4dH0KICAgICAgJm5ic3A7eyRjb250cm9sLT5leHRyYXRleHR9CiAgICB7L2lmfQogICAgPC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskc3VibWl0fXskY2FuY2VsfQp7JGVuZGZvcm19CjwhLS0gUmVnaXN0cmF0aW9uIDEgdGVtcGxhdGUgLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9Cnskc3RhcnRmb3JtfQo8dGFibGUgd2lkdGg9IjEwMCUiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbmxpbmV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2lubGluZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZnl9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25vdGlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jb25maXJtbWFpbF90b306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY29uZmlybW1haWxfdG99PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZW1haWxfY29uZmlybWF0aW9ufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbWFpbF9jb25maXJtYXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZm9yY2VfZW1haWxfdHdpY2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZvcmNlX2VtYWlsX3R3aWNlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NraXBfZmluYWxfbXNnfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9za2lwX2ZpbmFsX21zZ308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZWRpcmVjdF9hZnRlcnJlZ2lzdGVyfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2xvZ2luX2FmdGVydmVyaWZ5fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9sb2dpbl9hZnRlcnZlcmlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZWRpcmVjdF9hZnRlcnZlcmlmeX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVkaXJlY3RfYWZ0ZXJ2ZXJpZnl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KCTwvZGl2PgogICA8L3RkPgogICA8dGQgd2lkdGg9IjUwJSIgdmFsaWduPSJ0b3AiPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9udW1yZXNldHJlY29yZHN9PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRhX251bXJlc2V0cmVjb3Jkc308L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZTF3ZWVrfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlMW1vbnRofTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVtb3ZlMWRheX08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZWFsbH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2xpc3QxZGF5fTwvcD4KICAgICAgPC9kaXY+CiAgIDwvdGQ+CiAgPC90cj4KPC90YWJsZT4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/signup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskYmFja317JHN1Ym1pdH17JGNhbmNlbH0KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/userlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRqYXZhc2NyaXB0fQp7aWYgJG1lc3NhZ2UgIT0gJyd9CiAge2lmICRlcnJvciAhPSAnJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7ZWxzZX0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JHN0YXJ0Zm9ybX0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskdXNlcmlkdGV4dH08L3RoPgoJCQk8dGg+eyR1c2VybmFtZXRleHR9PC90aD4KCQkJPHRoPnskZ3JwbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY3JlYXRlZHRleHR9PC90aD4KCQkJPHRoPnskZW1haWx0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskZGVsZXRldGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskZW50cnktPnVzZXJpZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dXNlcm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmdycG5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNyZWF0ZWR9PC90ZD4KCQkJPHRkPnskZW50cnktPmVtYWlsfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5tYXJrZGVsZXRlYm94fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CgkgCnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnskY2hlY2thbGxib3h9PGJyLz4KeyRzdWJtaXR9CnsvaWZ9CnskZW5kZm9ybX0Key9pZn0K]]></data>
	</file>
</module>
