<?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>FrontEndUsers</name>
	<version>1.3.1</version>
  <mincmsversion>1.2</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPgo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+CjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+Cjx1bD4KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICYgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPgo8bGk+CjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPgo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4KPC9saT4KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPgo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJ05leHRcJzwvcD4KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPgo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPgo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHVsPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSJuYW1lIjwvbGk+CjxwPkZvcm1zOgo8dWw+CiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+CiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+CiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+CiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+CjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4KPC91bD4KPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0icGFnZSI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSJncm91cDEsIGdyb3VwMiwgZ3JvdXAzIjwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSJncm91cCI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvc3R1c2VybmFtZSBmb3JtLCB0aGlzIGZlYXR1cmUgc3BlY2lmaWVzIHRoZSBmcm9udGVuZCB1c2VyIGdyb3VwIHRvIGFzc3VtZSB0aHQgdXNlcnMgYXJlIG1lbWJlcnMgb2YuPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9IjEiPC9saT4KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPgo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+UmVxdWlyZW1lbnRzPC9oMz4KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj4mbHQ7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+PGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DTVNNYWlsZXIgPSZndDsgMS43My4zPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPgo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPgo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+CjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPgo8bGk+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPgo8bGk+MC4xLjYgLSBKYW51YXJ5LCAyMDA2CiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+CjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYKICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4KPC9saT4KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+CiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+CiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+CiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+CiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+CiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+CiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4KPC9saT4KPGxpPjEuMC4xIC0gTWFyY2gsIDIwMDYKICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPgogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPgogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+CiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+CiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYKICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNgogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4KPC9saT4KPGxpPjEuMC40IC0gTWF5LCAyMDA2CiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+CiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+CiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+CiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+CiAgICA8cD5BZGRlZCB0aGUgXCdzaWxlbnRcJyBmb3JtPC9wPgogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+CiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPgo8L2xpPgo8bGk+MS4wLjUgLSBNYXksIDIwMDYKICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+CjxsaT4xLjAuNiAtIE1heSwgMjAwNgogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+CjwvbGk+CjxsaT4xLjEuMCAtIE1heSwgMjAwNgogICAgPHA+RXZlbnRzPC9wPgogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+CiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPgogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBceyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4KPC9saT4KPGxpPjEuMS4xIC0gU2VwdCwgMjAwNgogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCdhbGxvdyBkdXBsaWNhdGUgZW1haWxzXCcgd2FzIG9mZjwvcD4KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPgogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+CjwvbGk+CjxsaT4xLjEuMiAtIERlYywgMjAwNgogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+CiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPgogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPgogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+CiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+CjwvbGk+CiAgICA8bGk+MS4yLjAgLSBBcHJpbCwgMjAwNwogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPgogICAgPHA+QWRkIHN1cHBvcnQgZm9yIG11bHRpIHNlbGVjdCBsaXN0czwvcD4KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPgogICAgPHA+YmV0dGVyIGNoZWNraW5nIG9mIHRoZSAiYXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkIiBzdHVmZjwvcD4KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4KICAgIDxwPlNwbGl0IGludG8gbW9yZSBmaWxlcyBmb3IgcGVyZm9ybWFuY2U8L3A+CiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+CiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+CiAgICA8cD5FbWFpbCBmaWVsZHMsIHdoZW4gc3BlY2lmaWVkIGFzIG9wdGlvbmFsLCBtYWtlIGVtIGFjdHVhbGx5IG9wdGlvbmFsPC9wPgogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPgogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4KICAgIDxwPkZpeGVzIHRvIENTViBleHBvcnQuLi4gaXQgd2FzIGFzc3VtaW5nIHRoZSBkYl9wcmVmaXggaXMgY21zXzwvcD4KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+CiAgICA8cD5BZGRzIHByb3BlciB1c2VyIGhpc3RvcnkgdHJhY2tpbmcuICBOb3cgdHJhY2sgZmFpbGVkIGxvZ2lucywgbG9naW5zLCBleHBpcmllcywgYW5kIGxvZ291dHMsIG9uIGEgcGVyIHVzZXIgYmFzaXMuPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPgogICAgPHA+TWlub3IgZml4ZXMgdG8gYmVoYXZpb3VyIG9hZiB0aGUgcHJlZmVyZW5jZXMgcGFuZWxzLjwvcD4KPC9saT4KPGxpPjEuMi4xIC0gSnVuZSwgMjAwNwoJPHA+QSBjb29raWUgaXMgbm93IHVzZWQgdG8ga2VlcCB0cmFjayBvZiBsb2dpbiBzdGF0ZSBiZXR3ZWVuIHNlc3Npb25zLCBob3dldmVyIHRoZSBjb29raWUgZG9lcyBub3QgbGFzdCBhbnkgbG9uZ2VyIHRoYW4gdGhlIHRpbWVvdXQgc3BlY2lmaWVkIGluIHRoZSB1c2VyIHNldHRpbmdzLjwvcD4KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPgoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHJlYWQtb25seSBwcm9wZXJ0aWVzLjwvcD4KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPgo8L2xpPgo8bGk+Cgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+Cgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+CiAgICAgICAgCjwvbGk+CjxsaT4xLjMgLSBPY3RvYmVyLCAyMDA3CjxwPkFkZGVkIHN1cHBvcnQgZm9yICdyZW1lbWJlciBtZScgc28gdGhhdCBsb2dpbiBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gYSBjb29raWUuICBBbmQgc3VwcG9ydCBmb3IgYSBmb3JtIHRvIGFsbG93IHRoYXQgY29va2llIHRvIGJlIHJlc2V0LjwvcD4KPHA+Tm8gbG9uZ2VyIHN1cHBvcnQgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHByb3BlcnR5IG5hbWVzLjwvcD4KPHA+TnVtZXJvdXMgc21hbGwgYnVnZml4ZXMuPC9wPgo8cD5SZXF1aXJlIENNUyAxLjIgb3IgZ3JlYXRlci48L3A+CjwvbGk+CjxsaT4xLjMuMSAtIE5vdmVtYmVyLCAyMDA3CjxwPkZpeGVzIHByb2JsZW1zIHdpdGggcGFyYW1ldGVycyBub3QgYmVpbmcgY2xlYW5lZCBpbiB0aGUgY2hhbmdlIHNldHRpbmdzIGRpYWxvZyBvbiB0aGUgZnJvbnQgZW5kLjwvcD4KPHA+Rml4ZXMgYW4gdXBkcmFkZSBpc3N1ZSBpbiB0aGUgZGF0YWJhc2Ugc2NoZW1hPC9wPgo8cD5GaXhlcyBhbiBpc3N1ZSBpbiBhIEdldFNtYXJ0eSgpIGNhbGwgdGhhdCB3YXMgYXBwYXJlbnRseSBjYXVzaW5nIHBlb3BsZSBkaWZmaWN1bHRpZXMgd2l0aCB0aGUgbG9naW4gZm9ybS48L3A+CjxwPkFkZCBhIHByZWZlcmVuY2UgdGhhdCBhbGxvd3MgYWRtaW5zIHRvIHNwZWNpZnkgYSBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHRoZSBmb3Jnb3QgcGFzc3dvcmQgdmFsaWRhdGlvbiBmb3JtIGlzIGNvbXBsZXRlLjwvcD4KPHA+Rml4ZXMgYSBwcm9ibGVtIHdpdGggaGlkZGVuIHByb3BlcnRpZXMgYmVpbmcgbG9zdCBhZnRlciBhIHVzZXIgY2hhbmdlZCB0aGVpciBzZXR0aW5ncy48L3A+CjxwPlRoZSBGb3Jnb3QgUGFzc3dvcmQgYW5kIExvc3QgVXNlcm5hbWUgZm9ybXMgYXJlIG5vdyBpbmxpbmU8L3A+CjxwPkZpeGVzIHRvIGVycm9ycyBpbiBlbmNyeXB0aW9uIHdpdGggdGhlIHNlc3Npb25pbmc8L3A+CjxwPkZpeGVzIHRvIHRoZSBsb3N0IHVzZXJuYW1lIGZ1bmN0aW9uYWxpdHkuPC9wPgo8L3VsPjxiciAvPg==</about>
	<description>Allow users to log in to the frontend of your site</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKLy8gY2hlY2sgcGVybWlzc2lvbnMgYWdhaW4KaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZGdyb3VwJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIHJldHVybjsKICB9CgokcHJvcGRlZm4gPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZucygpOwppZiggY291bnQoJHByb3BkZWZuKSA9PSAwICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpKTsKICAgIHJldHVybjsKICB9CgovLyBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRwYXJhbXNbJ2Vycm9yJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkcGFyYW1zWydtZXNzYWdlJ10pOwogIH0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5MYW5nKCdhZGRncm91cCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnc3RhcnRmb3JtJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLAoJCQkJCSAgICAgICAnZG9fYWRkZ3JvdXAnLAoJCQkJCSAgICAgICAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2NhbmNlbCcsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywKCQkJCQkJICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgCiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF9ncm91cG5hbWUnLAoJCSAgICAgICAkdGhpcy0+TGFuZyAoJ25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X2dyb3VwbmFtZScsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQgKCRpZCwgJ2lucHV0X2dyb3VwbmFtZScsCgkJCQkJICAgICAgICIiLCAyMCwgODApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgncHJvbXB0X2dyb3VwZGVzYycsCgkJICAgICAgICR0aGlzLT5MYW5nICgnZGVzY3JpcHRpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X2dyb3VwZGVzYycsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQgKCRpZCwgJ2lucHV0X2dyb3VwZGVzYycsCgkJCQkJICAgICAgICIiLCA4MCwgMjU1KSk7ICAgIAoKLy8gZGlzcGxheSBhIGxpc3Qgb2YgdGhlIHByb3BlcnRpZXMgaW4gYSBmb3JtCi8vIHRvIGFsbG93IHRoZSB1c2VyIHRvIHBpY2sgd2hpY2ggb25lcyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIG9uZXMgYXJlbnQuCiRyb3dhcnJheSA9IGFycmF5KCk7CiRyb3djbGFzcyA9ICdyb3cxJzsKJGtleXMgPSBhcnJheV9rZXlzKCR0aGlzLT50eXBlcyk7CiRvcHRpb25zID0gYXJyYXkoICR0aGlzLT5MYW5nKCdvZmYnKSA9PiAwLAoJCSAgJHRoaXMtPkxhbmcoJ29wdGlvbmFsJykgPT4gMSwKCQkgICR0aGlzLT5MYW5nKCdyZXF1aXJlZCcpID0+IDIsCgkJICAkdGhpcy0+TGFuZygnaGlkZGVuJykgPT4gMywKCQkgICR0aGlzLT5MYW5nKCdyZWFkb25seScpID0+IDQpOwogICAgCiRzb3J0b3JkZXIgPSAxOwpmb3JlYWNoKCAkcHJvcGRlZm4gYXMgJGRlZm4gKQp7CiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwogICRvbmVyb3ctPm5hbWUgPSAkZGVmblsnbmFtZSddOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkb25lcm93LT50eXBlID0gJHRoaXMtPkxhbmcoJGtleXNbJGRlZm5bJ3R5cGUnXV0pOwogICRvbmVyb3ctPnNvcnRvcmRlciA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3NvcnRvcmRlcl8nLiRkZWZuWyduYW1lJ10sICRzb3J0b3JkZXIsIDMsIDIgKTsKICAkb25lcm93LT5yZXF1aXJlZCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdpbnB1dF9yZXF1aXJlZF8nLiRkZWZuWyduYW1lJ10sICRvcHRpb25zICk7CgogIGlmKCAkZGVmblsndHlwZSddICE9IDYgKQogICAgewogICAgICAkb25lcm93LT5hc2tpbmxvc3R1biA9CgkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfbG9zdHVuXycuJGRlZm5bJ25hbWUnXSwgMSApOwogICAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKICAgIH0KCiAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7CiAgKyskc29ydG9yZGVyOwp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3BzJywgJHJvd2FycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wY291bnQnLGNvdW50KCRyb3dhcnJheSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NvcnRvcmRlcnRleHQnLCAkdGhpcy0+TGFuZygnc29ydG9yZGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywkdGhpcy0+TGFuZygnbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3Byb21wdCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBldGV4dCcsJHRoaXMtPkxhbmcoJ3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZmllbGRzdGF0dXN0ZXh0JywkdGhpcy0+TGFuZygnZmllbGRzdGF0dXMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlZGlubG9zdHVudGV4dCcsJHRoaXMtPkxhbmcoJ3VzZWRpbmxvc3R1bicpKTsKCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdhZGRncm91cC50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.addprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKLy8gY2hlY2sgcGVybWlzc2lvbnMgYWdhaW4KaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2VkaXRwcm9wJ10gKSApCiAgICAgIHsKCWlmKCBpc3NldCgkcGFyYW1zWydvcmlnX3R5cGUnXSkgJiYgJHBhcmFtc1snb3JpZ190eXBlJ10gPT0gJHBhcmFtc1snbmV3X3R5cGUnXSApCgkgIHsKCSAgICAkcGFyYW1zWydpbnB1dF90eXBlJ10gPSAkcGFyYW1zWyduZXdfdHlwZSddOwoJICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkb19lZGl0cHJvcCcsJHJldHVybmlkLCAkcGFyYW1zKTsKCSAgICByZXR1cm47CgkgIH0KCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ3N0YXJ0Zm9ybScsIAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2VkaXRwcm9wJywkcmV0dXJuaWQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ2hpZGRlbicsCgkJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdwcm9wbmFtZScsJHBhcmFtc1snZWRpdHByb3AnXSkpOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLCAKCQkJICAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZGRwcm9wMicsJHJldHVybmlkKSk7CiAgICAgIH0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb21zZzEnLAoJCQkgICR0aGlzLT5MYW5nKCdtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnZW5kZm9ybScsCgkJCSAgICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSApOwogICAgICB9CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2Vycm9yJ10gKSApCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddICk7CiAgICAgIH0KICAgIAogICAgJG5hbWUgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9uYW1lJ10gKSApICRuYW1lID0gJHBhcmFtc1snaW5wdXRfbmFtZSddOwogICAgJHByb21wdCA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3Byb21wdCddICkgKSAkcHJvbXB0ID0gJHBhcmFtc1snaW5wdXRfcHJvbXB0J107CiAgICAkdHlwZSA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ25ld190eXBlJ10pICkgewogICAgICAkdHlwZSA9ICRwYXJhbXNbJ25ld190eXBlJ107CiAgICB9IGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3R5cGUnXSkgKSB7CiAgICAgICR0eXBlID0gJHBhcmFtc1snaW5wdXRfdHlwZSddOwogICAgfQogICAgaWYoJHRoaXMtPmRldmRlYnVnKXsKICAgICAgZWNobyAiaW5wdXRfdHlwZSA9ICIgLiAkcGFyYW1zWydpbnB1dF90eXBlJ10gLiAiPGJyPiI7CiAgICAgIGVjaG8gInR5cGUgPSAiIC4gJHR5cGUgLiAiPGJyPiI7CiAgICB9CiAgICAKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZWRpdHByb3AnXSApICkJewogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9tc2cyJywkdGhpcy0+TGFuZygnZWRpdHByb3BfaW5mb21zZycpKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlZGl0cHJvcCcsICAKCQkJICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdlZGl0cHJvcCcsICRwYXJhbXNbJ2VkaXRwcm9wJ10pKTsKICAgICAgCiAgICAgIGlmKCAkdHlwZSA9PSAwIHx8ICR0eXBlID09IDIgKXsgLy8gdGV4dCBvciBlbWFpbCBpbnB1dAoJJGxlbmd0aCA9ICcnOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CgkgICRsZW5ndGggPSAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXTsKCX0KCSRtYXhsZW5ndGggPSAnJzsKCWlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSApICkgewoJICAkbWF4bGVuZ3RoID0gJHBhcmFtc1snaW5wdXRfbWF4bGVuZ3RoJ107Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdCcsJHRoaXMtPkxhbmcoJ2xlbmd0aCcpCgkJCSAgICAgIC4kdGhpcy0+TGFuZygnbGVuZ3RoY29tbWVudCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQnLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbGVuZ3RoJywkbGVuZ3RoLCAzLCAzICkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQyJywkdGhpcy0+TGFuZygnbWF4bGVuZ3RoJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dDInLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbWF4bGVuZ3RoJywkbWF4bGVuZ3RoLCAzLCAzICkpOwogICAgICB9IGVsc2UgaWYoJHR5cGUgPT0gNCB8fCAkdHlwZSA9PSA1KXsgLy8gZHJvcGRvd24gJiBtdWx0aXNlbGVjdAoJJHNlbG9wdGlvbnMgPSAkdGhpcy0+R2V0U2VsZWN0T3B0aW9ucyggJG5hbWUgKTsKCS8vIGNvbnZlcnQgdGhlIAoJJHNlbG9wdGlvbnNTdHIgPSAnJzsKCWZvcmVhY2goICRzZWxvcHRpb25zIGFzICRrZXk9PiR2YWx1ZSApIAoJICB7CgkgICAgaWYoICRrZXkgPT0gJHZhbHVlICkKCSAgICAgIHsKCQkkc2Vsb3B0aW9uc1N0ciAuPSAiJHZhbHVlXG4iOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkc2Vsb3B0aW9uc1N0ciAuPSAiJGtleT0kdmFsdWVcbiI7CgkgICAgICB9CgkgIH0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0JywkdGhpcy0+TGFuZygnc2Vsb3B0aW9ucycpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQnLCAgCgkJCSAgICAgICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkc2Vsb3B0aW9uc1N0ciwgJ2lucHV0X2V4dHJhJykpOwogICAgICB9IGVsc2UgaWYoICR0eXBlID09IDYgKSB7CgkvLyBpbWFnZQoJJGxlbmd0aCA9ICcnOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CgkgICRsZW5ndGggPSAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXTsKCX0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0JywkdGhpcy0+TGFuZygnc2l6ZScpCgkJCSAgICAgIC4kdGhpcy0+TGFuZygnc2l6ZWNvbW1lbnQnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0JywKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2xlbmd0aCcsJGxlbmd0aCwgMywgMyApKTsKICAgICAgfQogICAgICAKICAgIH0KICAgIAogICAgJHN1Ym1pdCA9ICR0aGlzLT5MYW5nKCduZXh0Jyk7CiAgICAkdGl0bGUgPSAkdGhpcy0+TGFuZygnYWRkcHJvcCcpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2VkaXRwcm9wJ10gKSApIAogICAgICB7CgkkdGl0bGUgPSAkdGhpcy0+TGFuZygnZWRpdHByb3AnKTsKCSRzdWJtaXQgPSAkdGhpcy0+TGFuZygnc3VibWl0Jyk7CiAgICAgIH0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiggJ3RpdGxlJywgJHRpdGxlICk7CiAgICAkaWR4ID0gUlJVdGlsczo6ZmluZF9pbmRleF9vZl92YWx1ZSgkdGhpcy0+dHlwZXMsJHR5cGUsLTEpOwogICAgJHR5cGVzID0gJHRoaXMtPmxhbmdpZnlLZXlzKCR0aGlzLT50eXBlcyk7CiAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X25hbWUnLCR0aGlzLT5MYW5nKCduYW1lJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9uYW1lJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbmFtZScsJG5hbWUsIDMwLCAzMCApKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3Byb21wdCcsJHRoaXMtPkxhbmcoJ3Byb21wdCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcHJvbXB0JywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfcHJvbXB0JywkcHJvbXB0LCA1MCwgODAgKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90eXBlJywkdGhpcy0+TGFuZygndHlwZScpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdHlwZScsICAKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnaW5wdXRfdHlwZScsICR0eXBlcywKCQkJCQkJICAgICAgJGlkeCwgJHR5cGUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignb3JpZ190eXBlJywgIAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvcmlnX3R5cGUnLCAkdHlwZSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkc3VibWl0ICkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnY2FuY2VsJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCQkgICAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRwcm9wLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.addprop2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCgppZigkcGFyYW1zWydpbnB1dF90eXBlJ10gPT0gMSB8fCAvL2NoZWNrYm94CiAgICRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9PSAzICl7IC8vdGV4dGFyZWEKICBpZiggaXNzZXQoICRwYXJhbXNbJ2VkaXRwcm9wJ10gKSApIHsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkb19lZGl0cHJvcCcsJHJldHVybmlkLCAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9IGVsc2UgewogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RvX2FkZHByb3AnLCRyZXR1cm5pZCwgJHBhcmFtcyk7CiAgICByZXR1cm47CiAgfQogfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydlZGl0cHJvcCddICkgKSB7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnc3RhcnRmb3JtJywgCgkJCSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fZWRpdHByb3AnLCRyZXR1cm5pZCkpOwogICR0aGlzLT5zbWFydHktPmFzc2lnbiggJ2hpZGRlbicsCgkJCSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdwcm9wbmFtZScsJHBhcmFtc1snZWRpdHByb3AnXSkpOwogfSBlbHNlIHsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLCAKCQkJICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkb19hZGRwcm9wJywkcmV0dXJuaWQpKTsKIH0KCiR0aGlzLT5zbWFydHktPmFzc2lnbiggJ2VuZGZvcm0nLCAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgppZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkgewogICR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSApOwogfQppZiggaXNzZXQoICRwYXJhbXNbJ2Vycm9yJ10gKSApCXsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSApOwogfQoKaWYgKCRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9PSA0IHx8ICRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9PSA1KSAKICB7IC8vZHJvcC1kb3duIG9yIG11bHRpc2VsZWN0CiAgICAkc2Vsb3B0aW9ucyA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3NlbG9wdGlvbnMnXSApICkgewogICAgICAkc2Vsb3B0aW9ucyA9ICRwYXJhbXNbJ2lucHV0X3NlbG9wdGlvbnMnXTsKICAgIH0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0MScsJHRoaXMtPkxhbmcoJ3NlbG9wdGlvbnMnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0MScsICAKCQkJICAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHNlbG9wdGlvbnMsICdpbnB1dF9zZWxvcHRpb25zJykpOwogIH0KIGVsc2UgaWYgKCRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9PSA2ICkKICAgewogICAgIC8vIGltYWdlCiAgICAgJGxlbmd0aCA9ICc4MCc7CiAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CiAgICAgICAkbGVuZ3RoID0gJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ107CiAgICAgfQogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0MScsJHRoaXMtPkxhbmcoJ3NpemUnKQoJCQkgICAuJyZuYnNwOycuJHRoaXMtPkxhbmcoJ3NpemVjb21tZW50JykpOwogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQxJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2xlbmd0aCcsJGxlbmd0aCwgMywgMyApKTsKICAgfQogZWxzZSAKICAgeyAvL3RleHQgaW5wdXQgb3IgZW1haWwKICAgICAkbGVuZ3RoID0gJzMwJzsgICAvL2hhcmRjb2RlZCBmb3Igbm93LCB0b2RvCiAgICAgJG1heGxlbmd0aCA9ICcyNTUnOyAvL2hhcmRjb2RlZCBmb3Igbm93LCB0b2RvCiAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CiAgICAgICAkbGVuZ3RoID0gJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ107CiAgICAgfQogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0MScsJHRoaXMtPkxhbmcoJ2xlbmd0aCcpCgkJCSAgIC4kdGhpcy0+TGFuZygnbGVuZ3RoY29tbWVudCcpKTsKICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0MScsCgkJCSAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9sZW5ndGgnLCRsZW5ndGgsIDMsIDMgKSk7CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQyJywkdGhpcy0+TGFuZygnbWF4bGVuZ3RoJykpOwogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQyJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X21heGxlbmd0aCcsJG1heGxlbmd0aCwgMywgMyApKTsKICAgfQokdGl0bGUgPSAkdGhpcy0+TGFuZygnYWRkcHJvcCcpOwppZiggaXNzZXQoJHBhcmFtc1snZWRpdGluZyddICkgKSAKICB7CiAgICAkdGl0bGUgPSAkdGhpcy0+TGFuZygnZWRpdHByb3AnKTsKICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbiggJ3RpdGxlJywgJHRpdGxlICk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2lucHV0X25hbWUnLCAkcGFyYW1zWydpbnB1dF9uYW1lJ10pKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9tcHQnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2lucHV0X3Byb21wdCcsJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90eXBlJywgIAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdpbnB1dF90eXBlJywgJHBhcmFtc1snaW5wdXRfdHlwZSddKSk7CiAgICAKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLAoJCQkJCQkJICAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywKCQkJCQkJCSAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkZHByb3AyLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.adduser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHVzZXInICkgKQogIHsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAndXNlcnMnICk7CiAgfQoKJGdpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2dyb3VwJywgLTEpOwppZiggJGdpZCAhPSAtMSApCiAgewogICAgLy8gdGhlIGRlZmF1bHQgZ3JvdXAgaGFzIGJlZW4gc2V0CiAgICAvLyBzbyB3ZSdsbCBwdXQgdGhpcyBpbiB0aGUgbWVtYmVyb2YgcGFyYW1ldGVyCiAgICAvLyBpZiBpdCdzIG5vdCBhbHJlYWR5IHNldAogICAgaWYoICFpc3NldCggJHBhcmFtc1snbWVtYmVyb2YnXSApICkKICAgICAgewoJJHBhcmFtc1snbWVtYmVyb2ZfJy4kZ2lkXSA9ICRnaWQ7CiAgICAgIH0KICB9CgokdGhpcy0+X0Rpc3BsYXlBZG1pblVzZXJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_exportgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICFpc3NldCggJGdDbXMgKSApIHJldHVybjsKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdGdyb3VwcycpICkgcmV0dXJuOwppZiggIWlzc2V0KCRwYXJhbXNbJ2dyb3VwX2lkJ10pICkgcmV0dXJuOwoKJGdyb3VwaWQgPSAkcGFyYW1zWydncm91cF9pZCddOwoKJGdycF9pbmZvID0gJHRoaXMtPkdldEdyb3VwSW5mbyggJGdyb3VwaWQgKTsKaWYoIGlzX2FycmF5KCAkZ3JwX2luZm8gKSAmJiAkZ3JwX2luZm9bMF0gPT09IEZBTFNFICkgCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CiAgICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGdyb3VwaWQnLCRncm91cGlkKTsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwogICAgcmV0dXJuOwogIH0KCiRncnBfcHJvcF9yZWxzID0gJHRoaXMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncm91cGlkICk7CmlmKCBpc19hcnJheSggJGdycF9wcm9wX3JlbHMgKSAmJiAkZ3JwX3Byb3BfcmVsc1swXSA9PT0gRkFMU0UgKQogIHsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwogICAgJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vcmVsYXRpb25zJyk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKICAgIHJldHVybjsKICB9CgokZmlsZW5hbWUgPSAkZ3JwX2luZm9bJ2dyb3VwbmFtZSddLicueG1sJzsKJHNtYXJ0eS0+YXNzaWduKCdncm91cF9uYW1lJywkZ3JwX2luZm9bJ2dyb3VwbmFtZSddKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cF9kZXNjcmlwdGlvbicsJGdycF9pbmZvWydncm91cGRlc2MnXSk7CiRwcm9wZXJ0aWVzID0gYXJyYXkoKTsKZm9yZWFjaCggJGdycF9wcm9wX3JlbHMgYXMgJG9uZXJlbCApCnsKICAkZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm4oICRvbmVyZWxbJ25hbWUnXSApOwogIGlmKCAhJGRlZm4gKQogICAgewogICAgICAkcGFybXMgPSBhcnJheSgpOwogICAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwogICAgICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcHJvcG5vdGZvdW5kJywkb25yZWxbJ25hbWUnXSk7CiAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwogICAgICByZXR1cm47CiAgICB9CgogICRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKICAkb2JqLT5uYW1lID0gJG9uZXJlbFsnbmFtZSddOwogICRvYmotPnNvcnRvcmRlciA9ICRvbmVyZWxbJ3NvcnRfa2V5J107CiAgJG9iai0+c3RhdHVzID0gJG9uZXJlbFsncmVxdWlyZWQnXTsKICAkb2JqLT5sb3N0dW5mbGFnID0gJG9uZXJlbFsnbG9zdHVuZmxhZyddOwogICRvYmotPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkb2JqLT50eXBlID0gJGRlZm5bJ3R5cGUnXTsKICAkb2JqLT5sZW5ndGggPSAkZGVmblsnbGVuZ3RoJ107CiAgJG9iai0+bWF4bGVuZ3RoID0gJGRlZm5bJ21heGxlbmd0aCddOwogIGlmKCAkb2JqLT50eXBlID09IDQgfHwgJG9iai0+dHlwZSA9PSA1ICkKICAgIHsKICAgICAgJG9wcyA9IGFycmF5KCk7CiAgICAgICRzZWxlY3Rfb3BzID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoICRvYmotPm5hbWUsIDIgKTsKICAgICAgZm9yZWFjaCggJHNlbGVjdF9vcHMgYXMgJHNlbF9vcCApCgl7CgkgICRvcCA9IG5ldyBTdGRDbGFzczsKCSAgJG9wLT5uYW1lID0gJHNlbF9vcFsnb3B0aW9uX25hbWUnXTsKCSAgJG9wLT50ZXh0ID0gJHNlbF9vcFsnb3B0aW9uX3RleHQnXTsKCSAgJG9wc1tdID0gJG9wOwoJfQogICAgICAkb2JqLT5vcHRpb25zID0gJG9wczsKICAgIH0KCiAgJHByb3BlcnRpZXNbXSA9ICRvYmo7Cn0KJHNtYXJ0eS0+YXNzaWduKCdwcm9wZXJ0aWVzJywkcHJvcGVydGllcyk7CgppZihpbmlfZ2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicpKQogIHsKICAgIGluaV9zZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJywgJ09mZicpOwogIH0KCmlmKCFpbmlfZ2V0X2Jvb2xlYW4oJ3NhZmVfbW9kZScpKQogIHsKICAgIHNldF90aW1lX2xpbWl0KDApOwogIH0KCi8vIGdldCB0aGUgZGF0YQokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQokZGF0YSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2dyb3VwX3htbC50cGwnKTsKCmhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsKaGVhZGVyKCdFeHBpcmVzOiAwJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVjaz0wJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogcHJpdmF0ZScsZmFsc2UpOwpoZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOwpoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiJGZpbGVuYW1lXCIiICk7CmhlYWRlcignQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Jyk7CmhlYWRlcignQ29udGVudC1MZW5ndGg6ICcgLiBzdHJsZW4oJGRhdGEpKTsKZWNobyAkZGF0YTsKCkBmbHVzaCgpOyBAb2JfZmx1c2goKTsgQG9iX2ZsdXNoKCk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_importgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICFpc3NldCggJGdDbXMgKSApIHJldHVybjsKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdGdyb3VwcycpICkgcmV0dXJuOwoKZnVuY3Rpb24gY2hlY2tfZ3JvdXBfY29tcGxldGUoICYkZ3JwICkKewogIGlmKCAhaXNfYXJyYXkoICRncnAgKSApIAogICAgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgaWYoIWlzc2V0KCRncnBbJ25hbWUnXSkgfHwgZW1wdHkoJGdycFsnbmFtZSddKSkKICAgIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIAogIC8vIHBhc3NlZAogIGlmKCAhaXNzZXQoJGdycFsncHJvcGVydGllcyddKSB8fCAhaXNfYXJyYXkoJGdycFsncHJvcGVydGllcyddKSB8fAogICAgICAoY291bnQoJGdycFsncHJvcGVydGllcyddKSA9PSAwKSApCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgZm9yZWFjaCggJGdycFsncHJvcGVydGllcyddIGFzICRvbmVwcm9wICkKICAgIHsKICAgICAgaWYoICFjaGVja19wcm9wZXJ0eV9jb21wbGV0ZSggJG9uZXByb3AgKSApCgl7CgkgIHJldHVybiBmYWxzZTsKCX0KICAgIH0KCiAgcmV0dXJuIHRydWU7Cn0KCgpmdW5jdGlvbiBjaGVja19wcm9wZXJ0eV9jb21wbGV0ZSggJiRwcm9wICkKewogIGlmKCAhaXNfYXJyYXkoICRwcm9wICkgKSAKICAgIHsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGlmKCFpc3NldCgkcHJvcFsnbmFtZSddKSB8fCBlbXB0eSgkcHJvcFsnbmFtZSddKSkKICAgIHsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGlmKCFpc3NldCgkcHJvcFsndHlwZSddKSB8fCAkcHJvcFsndHlwZSddID09ICcnKQogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgaWYoIWlzc2V0KCRwcm9wWydwcm9tcHQnXSkgfHwgZW1wdHkoJHByb3BbJ3Byb21wdCddKSkKICAgIHsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGlmKCFpc3NldCgkcHJvcFsnc29ydG9yZGVyJ10pIHx8IGVtcHR5KCRwcm9wWydzb3J0b3JkZXInXSkpCiAgICB7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBpZighaXNzZXQoJHByb3BbJ3N0YXR1cyddKSB8fCBlbXB0eSgkcHJvcFsnc3RhdHVzJ10pKQogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgaWYoIWlzc2V0KCRwcm9wWydsb3N0dW5mbGFnJ10pIHx8IGVtcHR5KCRwcm9wWydsb3N0dW5mbGFnJ10pKQogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogIGlmKGlzc2V0KCRwcm9wWydsZW5ndGgnXSkpCiAgICB7CiAgICAgIGlmKGVtcHR5KCRwcm9wWydsZW5ndGgnXSkpCgl7CgkgIHJldHVybiBGQUxTRTsKCX0KICAgICAgaWYoaW50dmFsKCRwcm9wWydsZW5ndGgnXSkgPT0gMCkKCXsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgfQogIGlmKGlzc2V0KCRwcm9wWydtYXhsZW5ndGgnXSkpCiAgICB7CiAgICAgIGlmKGVtcHR5KCRwcm9wWydtYXhsZW5ndGgnXSkpCgl7CgkgIHJldHVybiBGQUxTRTsKCX0KICAgICAgaWYoaW50dmFsKCRwcm9wWydtYXhsZW5ndGgnXSkgPT0gMCkKCXsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgfQoKICAkdHlwZSA9IGludHZhbCgkcHJvcFsndHlwZSddKTsKICBpZiggJHR5cGUgPiA2IHx8ICR0eXBlIDwgMCApIHJldHVybiBGQUxTRTsKICBpZiggJHR5cGUgPT0gNCB8fCAkdHlwZSA9PSA1ICkKICAgIHsKICAgICAgLy8gY2hlY2sgZm9yIG9wdGlvbnMKICAgICAgaWYoICFpc3NldCgkcHJvcFsnb3B0aW9ucyddKSB8fCAhaXNfYXJyYXkoJHByb3BbJ29wdGlvbnMnXSkgKQoJewoJICByZXR1cm4gRkFMU0U7Cgl9CgogICAgICBmb3JlYWNoKCAkcHJvcFsnb3B0aW9ucyddIGFzICRvbmVvcCApCgl7CgkgIGlmKCAhaXNzZXQoJG9uZW9wWyduYW1lJ10pIHx8ICFpc3NldCgkb25lb3BbJ3RleHQnXSkgKQoJICAgIHsKCSAgICAgIHJldHVybiBGQUxTRTsKCSAgICB9Cgl9CiAgICB9CgogIHJldHVybiBUUlVFOwp9CgoKaWYoIGlzc2V0KCAkcGFyYW1zWydjYW5jZWwnXSApICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidncm91cHMnKTsKICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFybXMgKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snc3VibWl0J10gKSApCiAgewogICAgLy8KICAgIC8vIFN1Ym1pdCB3YXMgcHJlc3NlZAogICAgLy8KICAgIGlmKCAhaXNzZXQoICRfRklMRVNbJGlkLid4bWxmaWxlJ10gKSApCiAgICAgIHsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfdXBsb2FkJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCXJldHVybjsKICAgICAgfQogICAgJHRoZWZpbGUgPSYgJF9GSUxFU1skaWQuJ3htbGZpbGUnXTsKICAgIGlmKCAkdGhlZmlsZVsndHlwZSddICE9ICd0ZXh0L3htbCcgfHwKCSR0aGVmaWxlWydzaXplJ10gPT0gMCB8fAoJJHRoZWZpbGVbJ2Vycm9yJ10gIT0gMCApCiAgICAgIHsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vCiAgICAvLyBXZSBnb3QgYW4gWE1MIGZpbGUgKGhvcGUgaXQncyB0aGUgcmlnaHQgb25lCiAgICAvLyBub3cgd2UgY2FuIHRyeSB0byBwYXJzZSBpdCAKICAgIC8vCgogICAgJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkdGhlZmlsZVsndG1wX25hbWUnXSApOwogICAgJHBhcnNlciA9IHhtbF9wYXJzZXJfY3JlYXRlKCk7CiAgICAkcmV0ID0geG1sX3BhcnNlX2ludG9fc3RydWN0KCAkcGFyc2VyLCAkeG1sLCAkdmFsLCAkeHQgKTsKICAgIHhtbF9wYXJzZXJfZnJlZSggJHBhcnNlciApOwoKICAgIGlmKCAkcmV0ID09IDAgKQogICAgICB7CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9iYWRfeG1sJykuJyAxJzsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8KICAgIC8vIFdlIGhhdmUgc29tZSBraW5kIG9mIHZhbGlkIFhNTAogICAgLy8KICAgICRvbmVwcm9wZXJ0eSA9IGFycmF5KCk7CiAgICAkb25lb3B0aW9uID0gYXJyYXkoKTsKICAgICRoYXZlX2NvbXBsZXRlX2dyb3VwID0gZmFsc2U7CiAgICAkZ3JwX2luZm8gPSBhcnJheSgpOwogICAgZm9yZWFjaCggJHZhbCBhcyAkZWxlbSApCiAgICAgIHsKCSR2YWx1ZSA9IChpc3NldCgkZWxlbVsndmFsdWUnXSk/JGVsZW1bJ3ZhbHVlJ106JycpOwoJJHR5cGUgPSAoaXNzZXQoJGVsZW1bJ3R5cGUnXSk/JGVsZW1bJ3R5cGUnXTonJyk7CgkkdGFnID0gc3RydG9sb3dlcigkZWxlbVsndGFnJ10pOwoJJGZsZCA9IHN1YnN0cigkdGFnLHN0cnBvcygkdGFnLCdfJykrMSk7CgoJc3dpdGNoKCAkdGFnICkKCSAgewoJICBjYXNlICdmZXVfZ3JvdXAnOgoJICAgIHsKCSAgICAgIGlmKCAkdHlwZSAhPSAnY29tcGxldGUnICYmICR0eXBlICE9ICdjbG9zZScgKSBjb250aW51ZTsKCSAgICAgIGlmKCAhY2hlY2tfZ3JvdXBfY29tcGxldGUoJGdycF9pbmZvKSApCgkJewoJCSAgLy8gYW4gZXJyb3IgdGhhdCB3ZSBzaG91bGQgbmV2ZXIgZ2V0CgkJICAkcGFybXMgPSBhcnJheSgpOwoJCSAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCQkgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9iYWRfeG1sJykuJyAyJzsKCQkgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJCSAgcmV0dXJuOwoJCX0KCSAgICAgIC8vIHdlIHNob3VsZCBoYXZlIGEgY29tcGxldGUgZ3JvdXAgYXQgdGhpcyBwb2ludAoJICAgICAgJGhhdmVfY29tcGxldGVfZ3JvdXAgPSB0cnVlOwoJICAgICAgYnJlYWs7CgkgICAgfQoKCSAgY2FzZSAnZ3JwX25hbWUnOgoJICBjYXNlICdncnBfZGVzY3JpcHRpb24nOgoJICAgIHsKCSAgICAgIGlmKCAkdHlwZSAhPSAnY29tcGxldGUnICYmICR0eXBlICE9ICdjbG9zZScgKSBjb250aW51ZTsKCSAgICAgIGlmKCBpc3NldCgkZ3JwX2luZm9bJGZsZF0pICkKCQl7CgkJICAvLyBhbiBlcnJvciB0aGF0IHdlIHNob3VsZCBuZXZlciBnZXQKCQkgICRwYXJtcyA9IGFycmF5KCk7CgkJICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJCSAgJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2JhZF94bWwnKS4nIDMnOwoJCSAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CgkJICByZXR1cm47CgkJfQoJICAgICAgJGdycF9pbmZvWyRmbGRdID0gJHZhbHVlOwoJICAgICAgYnJlYWs7CgkgICAgfQoKCgkgIGNhc2UgJ3Byb3BlcnR5JzoKCSAgICB7CgkgICAgICBpZiggJHR5cGUgIT0gJ2NvbXBsZXRlJyAmJiAkdHlwZSAhPSAnY2xvc2UnICkgY29udGludWU7CgkgICAgICBpZiggIWNoZWNrX3Byb3BlcnR5X2NvbXBsZXRlKCRvbmVwcm9wZXJ0eSkgKQoJCXsKCQkgIC8vIGFuIGVycm9yIHRoYXQgd2Ugc2hvdWxkIG5ldmVyIGdldAoJCSAgJHBhcm1zID0gYXJyYXkoKTsKCQkgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkJICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfYmFkX3htbCcpLicgNCc7CgkJICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCQkgIHJldHVybjsKCQl9CgkgICAgICBpZiggIWlzc2V0KCRncnBfaW5mb1sncHJvcGVydGllcyddKSApCgkJewoJCSAgJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10gPSBhcnJheSgpOwoJCX0KCSAgICAgICRncnBfaW5mb1sncHJvcGVydGllcyddW10gPSAkb25lcHJvcGVydHk7CgkgICAgICAkb25lcHJvcGVydHkgPSBhcnJheSgpOwoJICAgICAgYnJlYWs7CgkgICAgfQoKCSAgY2FzZSAncHJvcF9uYW1lJzoKCSAgY2FzZSAncHJvcF9wcm9tcHQnOgoJICBjYXNlICdwcm9wX3ZhbHVlJzoKCSAgY2FzZSAncHJvcF90eXBlJzoKCSAgY2FzZSAncHJvcF9sZW5ndGgnOgoJICBjYXNlICdwcm9wX21heGxlbmd0aCc6CgkgIGNhc2UgJ3Byb3Bfc29ydG9yZGVyJzoKCSAgY2FzZSAncHJvcF9zdGF0dXMnOgoJICBjYXNlICdwcm9wX2xvc3R1bmZsYWcnOgoJICAgIHsKCSAgICAgIGlmKCAkdHlwZSAhPSAnY29tcGxldGUnICYmICR0eXBlICE9ICdjbG9zZScgKSBjb250aW51ZTsKCSAgICAgIGlmKCBpc3NldCggJG9uZXByb3BlcnR5WyRmbGRdICkgKQoJCXsKCQkgIC8vIGFuIGVycm9yIHRoYXQgd2Ugc2hvdWxkIG5ldmVyIGdldAoJCSAgJHBhcm1zID0gYXJyYXkoKTsKCQkgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkJICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfYmFkX3htbCcpLicgNSc7CgkJICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCQkgIHJldHVybjsKCQl9CgkgICAgICAkb25lcHJvcGVydHlbJGZsZF0gPSAkdmFsdWU7CgkgICAgICBicmVhazsKCSAgICB9CgoJICBjYXNlICdwcm9wX29wdGlvbic6CgkgICAgewoJICAgICAgaWYoICR0eXBlICE9ICdjb21wbGV0ZScgJiYgJHR5cGUgIT0gJ2Nsb3NlJyApIGNvbnRpbnVlOwoJICAgICAgJG9uZXByb3BlcnR5WydvcHRpb25zJ11bXSA9ICRvbmVvcHRpb247CgkgICAgICAkb25lb3B0aW9uID0gYXJyYXkoKTsKCSAgICAgIGJyZWFrOwoJICAgIH0KCgkgIGNhc2UgJ29wX25hbWUnOgoJICBjYXNlICdvcF90ZXh0JzoKCSAgICB7CgkgICAgICBpZiggJHR5cGUgIT0gJ2NvbXBsZXRlJyAmJiAkdHlwZSAhPSAnY2xvc2UnICkgY29udGludWU7CgkgICAgICAkb25lb3B0aW9uWyRmbGRdID0gJHZhbHVlOwoJICAgICAgYnJlYWs7CgkgICAgfQoJICB9IC8vIHN3aXRjaAogICAgICB9IC8vIGZvcmVhY2gKCiAgICAvLwogICAgLy8gSWYgd2UgZ290IGhlcmUsIHdlIHBhcnNlZCB0aGUgeG1sIGZpbGUgcHJvcGVybHkKICAgIC8vIGFuZCBpdCBsb29rcyBnb29kLgogICAgLy8KCiAgICAvLyBJZiB0aGUgbmV3bmFtZSBpcyBzZXQsIHdlJ2xsIHVzZSB0aGF0CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmV3bmFtZSddKSAmJgoJJHBhcmFtc1snaW5wdXRfbmV3bmFtZSddICE9ICcnICkKICAgICAgewoJJGdycF9pbmZvWyduYW1lJ10gPSAkcGFyYW1zWydpbnB1dF9uZXduYW1lJ107CiAgICAgIH0KCiAgICBpZiggJHRoaXMtPkdyb3VwRXhpc3RzQnlOYW1lKCAkZ3JwX2luZm9bJ25hbWUnXSApICkKICAgICAgewoJLy8gYW4gZXJyb3IgdGhhdCB3ZSBzaG91bGQgbmV2ZXIgZ2V0CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ncm91cGV4aXN0cycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CglyZXR1cm47CiAgICAgIH0KCiAgICBpZiggIWlzc2V0KCRncnBfaW5mb1sncHJvcGVydGllcyddKSB8fAoJIWlzX2FycmF5KCRncnBfaW5mb1sncHJvcGVydGllcyddKSB8fAoJKGNvdW50KCRncnBfaW5mb1sncHJvcGVydGllcyddKSA9PSAwKSApCiAgICAgIHsKCS8vIG5vIHByb3BlcnRpZXM/CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9wZXJ0aWVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIE5vdyBhZGQgdGhlIHByb3BlcnRpZXMKICAgIC8vIChmaXJzdCBzY2FuIGZvciBuYW1lcykKICAgICRwYXNzZWQgPSB0cnVlOwogICAgZm9yZWFjaCggJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10gYXMgJG9uZXByb3AgKQogICAgICB7CgkkcmVzID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbiggJG9uZXByb3BbJ25hbWUnXSApOwoJaWYoIGlzX2FycmF5KCRyZXMpICkKCSAgewoJICAgICRwYXNzZWQgPSBmYWxzZTsKCSAgICBicmVhazsKCSAgfQogICAgICB9CiAgICBpZiggISRwYXNzZWQgKQogICAgICB7CgkvLyBubyBwcm9wZXJ0aWVzPwoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZHVwX3Byb3BlcnRpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8KICAgIC8vIE5vdyByZWFsbHkgYWRkIHRoZW0KICAgIC8vCiAgICBmb3JlYWNoKCAkZ3JwX2luZm9bJ3Byb3BlcnRpZXMnXSBhcyAkb25lcHJvcCApCiAgICAgIHsKCSRyZXMgPSAkdGhpcy0+QWRkUHJvcGVydHlEZWZuKCRvbmVwcm9wWyduYW1lJ10sCgkJCQkgICAgICAkb25lcHJvcFsncHJvbXB0J10sCgkJCQkgICAgICAkb25lcHJvcFsndHlwZSddLAoJCQkJICAgICAgJG9uZXByb3BbJ2xlbmd0biddLAoJCQkJICAgICAgJG9uZXByb3BbJ21heGxlbmd0aCddKTsKCWlmKCBpc19hcnJheSggJHJlcyApICYmICRyZXNbMF0gPT09IEZBTFNFICkKCSAgewoJICAgIC8vIGZvciBzb21lIGR1bWIgcmVhc29uLCB3ZSBzdGlsbCBjb3VsZG4ndCBpbnNlcnQgCgkgICAgLy8gdGhlIHByb3BlcnR5CgkgICAgJHBhcm1zID0gYXJyYXkoKTsKCSAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJICAgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50YWRkcHJvcCcpOwoJICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJICAgIHJldHVybjsKCSAgfQoKCWlmKCAkb25lcHJvcFsndHlwZSddID09IDQgfHwgJG9uZXByb3BbJ3R5cGUnXSA9PSA1ICkKCSAgewoJICAgIC8vIGl0J3MgYSBzZWxlY3QgdHlwZQoJICAgICRvcHMgPSBhcnJheSgpOwoJICAgIGZvcmVhY2goICRvbmVwcm9wWydvcHRpb25zJ10gYXMgJG9uZW9wICkKCSAgICAgIHsKCQkkb3BzW10gPSAkb25lb3BbJ3RleHQnXS4nPScuJG9uZW9wWyduYW1lJ107CgkgICAgICB9CgkgICAgJHJlcyA9ICR0aGlzLT5BZGRTZWxlY3RPcHRpb25zKCAkb25lcHJvcFsnbmFtZSddLCAkb3BzICk7CgkgICAgaWYoICRyZXNbMF0gPT0gRkFMU0UgKQoJICAgICAgewoJCS8vIGZvciBzb21lIGR1bWIgcmVhc29uLCB3ZSBzdGlsbCBjb3VsZG4ndCBpbnNlcnQgCgkJLy8gdGhlIHByb3BlcnR5CgkJJHBhcm1zID0gYXJyYXkoKTsKCQkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50YWRkcHJvcCcpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJCXJldHVybjsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gV29vaG9vLCB0aGUgcHJvcGVydGllcyB3ZXJlIGFkZGVkCiAgICAvLyBOb3cgdG8gYWRkIHRoZSBncm91cCBpdHNlbGYuCiAgICAkcmVzID0gJHRoaXMtPkFkZEdyb3VwKCRncnBfaW5mb1snbmFtZSddLAoJCQkgICAkZ3JwX2luZm9bJ2Rlc2NyaXB0aW9uJ10pOwogICAgaWYoIGlzX2FycmF5KCAkcmVzICkgJiYgJHJlc1swXSA9PT0gRkFMU0UgKQogICAgICB7CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50YWRkZ3JvdXAnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CiAgICAkZ3JwaWQgPSAkcmVzWzFdOwoKICAgIC8vIGFuZCBhc3NvY2lhdGUgdGhlIHByb3BlcnRpZXMgd2l0aCB0aGUgZ3JvdXAKICAgICRlcnJvciA9IGZhbHNlOwogICAgZm9yZWFjaCggJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10gYXMgJG9uZXByb3AgKQogICAgICB7CgkvLyBpZiBpdCdzIGFuIG9wdGlvbiB0eXBlICh0eXBlIDQgb3IgNSkgdGhlbgoJLy8gYWRkIHRoZSBvcHRpb25zCgkkcmVzID0gJHRoaXMtPkFkZEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAKCQkJCQkJJG9uZXByb3BbJ25hbWUnXSwKCQkJCQkJJG9uZXByb3BbJ3NvcnRvcmRlciddLCAKCQkJCQkJJG9uZXByb3BbJ2xvc3R1bmZsYWcnXSwgCgkJCQkJCScnICk7CglpZiggJHJlc1swXSA9PT0gRkFMU0UgKQoJICB7CgkgICAgJGVycm9yID0gdHJ1ZTsKCSAgfQogICAgICB9CiAgICBpZiggJGVycm9yID09IHRydWUgKQogICAgICB7CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50YWRkZ3JvdXByZWxuJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCXJldHVybjsKICAgICAgfQoKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJHBhcm1zKTsKICB9IC8vIGlmCgovLyBQcm92aWRlIGEgc2ltcGxlIGZvcm0gdGhhdCBhbGxvd3MgcGVvcGxlIHRvIGNob29zZSB0aGUgZmlsZSB0byBpbXBvcnQKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCSR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9pbXBvcnRncm91cCcsJHJldHVybmlkLAoJCQkJICAgICAgICdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWxlbmFtZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR4bWxmaWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbGVuYW1lJywKCQkkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwneG1sZmlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbmV3bmFtZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXdncm91cG5hbWUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmV3bmFtZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X25ld25hbWUnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ltcG9ydGdyb3VwLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_logout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQovKgogRnJvbnRFbmRVc2Vycy4gQSBwbHVnaW4gZm9yIENNUyAtIENNUyBNYWRlIFNpbXBsZQogQ29weXJpZ2h0IChjKSAyMDA0LTA1IGJ5IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KCiBUcmFuc2xhdGlvbnM6CiBGcmVuY2g6IFBhdHJpY2lhIEJydW4sIGh0dHA6Ly93d3cuYnJ1bWFsc29sc3RpY2UuY29tCiBOb3J3ZWdpYW4gKGJva20/bCk6IFJvZ2VyICJTdGlnbWEiIEtudXRzZW4gPHN0aWdtYXN0ZXJAZ21haWwuY29tPgoKIENNUy0gQ01TIE1hZGUgU2ltcGxlIGlzIENvcHlyaWdodCAoYykgVGVkIEt1bHAgKHdpc2h5QHVzZXJzLnNmLm5ldCkKIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCgogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiovCgppZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2VkaXR1c2VycycpICkgewoJaWYoIGlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkgKSB7CgkJJHRoaXMtPkxvZ291dFVzZXIoJHBhcmFtc1sndXNlcl9pZCddLAoJCQkJCQkJCQkJCSR0aGlzLT5MYW5nKCdhZG1pbl9sb2dvdXQnKSk7Cgl9Cn0KCQokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3ByZWZzJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_setlostun_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0cyddICkgKQogIHsKICAgIC8vCiAgICAvLyBSZXNldCB0byBmYWN0b3J5IGRlZmF1bHRzCiAgICAvLwogICAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19sb3N0dW5mb3JtX3RlbXBsYXRlLnRwbCcpOwogICAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgICAgIHsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvc3R1bmZvcm0nLCR0ZW1wbGF0ZSk7CiAgICAgIH0KCiAgICAvLwogICAgLy8gUmVzZXQgdG8gZmFjdG9yeSBkZWZhdWx0cwogICAgLy8KICAgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfbG9zdHVuZm9ybV9jb25maXJtX3RlbXBsYXRlLnRwbCcpOwogICAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgICAgIHsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvc3R1bmZvcm1fY29uZmlybScsJHRlbXBsYXRlKTsKICAgICAgfQoKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScgKTsKICAgIHJldHVybjsKICB9CgoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApICkKICB7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9zdHVuZm9ybScsdHJpbSgkcGFyYW1zWydsb3N0dW5mb3JtJ10pKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb3N0dW5mb3JtX2NvbmZpcm0nLHRyaW0oJHBhcmFtc1snbG9zdHVuZm9ybV9jb25maXJtJ10pKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScgKTsKICAgIHJldHVybjsKICB9CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5Mb2dpblRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKewogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fc2V0bG9naW50ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywkbW9kdWxlLT5MYW5nKCd0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhKCBmYWxzZSwgJGlkLAoJCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ2ZldXNlcnNfbG9naW5mb3JtJyksCgkJCQkJCSAgICd0ZW1wbGF0ZWxvZ2luZm9ybScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkJICAgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZGVmYXVsdHMnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0cycsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRzJykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpKTsKICBlY2hvICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVmb3JtLnRwbCcpOwp9CgoKZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkxvZ291dFRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKewogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fc2V0bG9nb3V0dGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZScsJG1vZHVsZS0+TGFuZygndGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywKCQkJICAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2xvZ291dGZvcm0nKSwKCQkJCQkJICAgJ3RlbXBsYXRlbG9nb3V0Zm9ybScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkJICAgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZGVmYXVsdHMnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0cycsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRzJykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpKTsKICBlY2hvICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVmb3JtLnRwbCcpOwp9CgoKZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkNoYW5nZVNldHRpbmdzVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQp7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19zZXRjaGFuZ2VzZXR0aW5nc3RlbXBsYXRlJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUnLCRtb2R1bGUtPkxhbmcoJ3RlbXBsYXRlJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19jaGFuZ2VzZXR0aW5nc2Zvcm0nKSwKCQkJCQkJICAgJ3RlbXBsYXRlY29udGVudCcpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkJICAgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZGVmYXVsdHMnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0cycsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRzJykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpKTsKICBlY2hvICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVmb3JtLnRwbCcpOwp9CgoKZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkZvcmdvdFBhc3N3b3JkVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQp7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19zZXRmb3Jnb3Rwd3RlbXBsYXRlJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUxJywkbW9kdWxlLT5MYW5nKCdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUxJywKCQkJICAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZm9ybScpLAoJCQkJCQkgICAndGVtcGxhdGVjb250ZW50MScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlMicsJG1vZHVsZS0+TGFuZygnZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUyJywKCQkJICAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZW1haWxmb3JtJyksCgkJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQyJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUzJywkbW9kdWxlLT5MYW5nKCdmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUzJywKCQkJICAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkdmVyaWZ5Zm9ybScpLAoJCQkJCQkgICAndGVtcGxhdGVjb250ZW50MycpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkJICAgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZGVmYXVsdHMnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0cycsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRzJykpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpKTsKICBlY2hvICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZSgnZm9yZ290cHdfdGVtcGxhdGVmb3JtLnRwbCcpOwp9CgoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gRE8gVEhFIEFDVElPTgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpnbG9iYWwgJGdDbXM7CmlmICghICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCkpICB7CiAgZWNobyAiQnJlYWtpbmcgYW4gZW50cnksIGFyZSB3ZT8iOwogIHJldHVybjsKIH0KCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiRhY3RpdmVfdGFiID0gJ3VzZXJzJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydhY3RpdmVfdGFiJ10gKSApCiAgewogICAgJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHBhcmFtc1snZXJyb3InXSk7CiAgfQoKLy8gdGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CgppZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ3Byb3BlcnRpZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAncHJvcGVydGllcycsICR0aGlzLT5MYW5nKCd1c2VyX3Byb3BlcnRpZXMnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICdwcm9wZXJ0aWVzJykpOwogIH0KaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd1c2Vyc25ncm91cHMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnZ3JvdXBzJywgJHRoaXMtPkxhbmcoJ2dyb3VwcycpLCgkYWN0aXZlX3RhYiA9PSAnZ3JvdXBzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAndXNlcnMnLCAkdGhpcy0+TGFuZygndXNlcnMnKSwoJGFjdGl2ZV90YWIgPT0gJ3VzZXJzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAndXNlcmhpc3RvcnknLCAkdGhpcy0+TGFuZygndXNlcmhpc3RvcnknKSwoJGFjdGl2ZV90YWIgPT0gJ3VzZXJoaXN0b3J5JykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnYWRtaW4nLCAkdGhpcy0+TGFuZygnYWRtaW4nKSwoJGFjdGl2ZV90YWIgPT0gJ2FkbWluJykpOwogIH0KaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdzaXRlcHJlZnMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAncHJlZnMnLCAkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSwoJGFjdGl2ZV90YWIgPT0gJ3ByZWZzJykpOwogIH0KaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd0ZW1wbGF0ZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnbG9naW50ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdsb2dpbl90ZW1wbGF0ZScpLAoJCQkgICAgICAoJGFjdGl2ZV90YWIgPT0gJ2xvZ2ludGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoICdsb2dvdXR0ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdsb2dvdXRfdGVtcGxhdGUnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICdsb2dvdXR0ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJyksCgkJCSAgICAgICgkYWN0aXZlX3RhYiA9PSAnY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoICdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScpLAoJCQkgICAgICAoJGFjdGl2ZV90YWIgPT0gJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnbG9zdHVzZXJuYW1lX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScpLAoJCQkgICAgICAoJGFjdGl2ZV90YWIgPT0gJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScpKTsKCiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyBUaGVjb250ZW50IG9mIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdwcm9wZXJ0aWVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcm9wZXJ0aWVzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcHJvcGVydGllc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KICAgIAppZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ3VzZXJzbmdyb3VwcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZ3JvdXBzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZ3JvdXBzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3VzZXJzJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdXNlcnN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigndXNlcmhpc3RvcnknKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9hY3Rpb24udXNlcmhpc3RvcnkucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignYWRtaW4nKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9hZG1pbnRhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnc2l0ZXByZWZzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3ByZWZzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQoKaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd0ZW1wbGF0ZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2xvZ2ludGVtcGxhdGUnKTsKICAgIF9EaXNwbGF5QWRtaW5Mb2dpblRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsb2dvdXR0ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkxvZ291dFRlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkNoYW5nZVNldHRpbmdzVGVtcGxhdGVUYWIoICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJyk7CiAgICBfRGlzcGxheUFkbWluRm9yZ290UGFzc3dvcmRUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignbG9zdHVzZXJuYW1lX3RlbXBsYXRlJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fbG9zdHVzZXJuYW1lX3RlbXBsYXRlLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_addgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZGdyb3VwJyApICkKICB7CiAgICByZXR1cm47CiAgfQoKLy8gYXJlIHdlIGNhbmNlbGxpbmcKaWYgKGlzc2V0ICgkcGFyYW1zWydjYW5jZWwnXSkpCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdncm91cHMnICk7CiAgfQoKJGdyb3VwbmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2dyb3VwbmFtZSddICkgKQogIHsKICAgICRncm91cG5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2dyb3VwbmFtZSddKTsKICB9CiRncm91cGRlc2MgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ncm91cGRlc2MnXSApICkKICB7CiAgICAkZ3JvdXBkZXNjID0gdHJpbSgkcGFyYW1zWydpbnB1dF9ncm91cGRlc2MnXSk7CiAgfQoKLy8gbWFrZSBzdXJlIHRoZSBwYXJhbWV0ZXJzIGFyZSBmaWxsZWQgaW4KaWYoICRncm91cG5hbWUgPT0gJycgfHwgJGdyb3VwZGVzYyA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9ICcxJzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkZ3JvdXAnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBtYWtlIHN1cmUgdGhlIGdyb3VwIG5hbWUgZG9lc24ndCBhbHJlYWR5IGV4aXN0CmlmKCAkdGhpcy0+R2V0R3JvdXBJRCggJGdyb3VwbmFtZSApICE9IGZhbHNlICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2dyb3VwZXhpc3RzJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkZ3JvdXAnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgokcmVsbmFkZGVkID0gMDsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgJHByb3BuYW1lID0gJyc7CiAgJHNvcnRvcmRlciA9ICcnOwogICRsb3N0dW4gPSAtMTsKICBpZiggcHJlZ19tYXRjaCggJy9eaW5wdXRfcmVxdWlyZWRfLycsICRrZXkgKSAmJiAoJHZhbCAhPSAwKSApCiAgICB7CiAgICAgICRyZWxuYWRkZWQrKzsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdpbnB1dF9yZXF1aXJlZF8nKSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgaWYoICgkdmFsID09IDAgfHwgJHZhbCA9PSAzIHx8ICR2YWwgPT0gNCkgJiYgJGxvc3R1biA9PSAxICkKICAgIHsKICAgICAgLy8gdGhpcyBpcyBub3QgZ29vZC4KICAgICAgLy8gaXQgY2FuJ3QgYmUgaGlkZGVuLCByZWFkb25seSwgb3Igb2ZmIGFuZCBiZSAKICAgICAgLy8gc2V0IGluIHRoZSBsb3N0dW4gZmxhZwogICAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9yZWxhdGlvbnMnKTsKICAgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2FkZGdyb3VwJywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgICAgcmV0dXJuOwogICAgfQoKfQppZiggJHJlbG5hZGRlZCA9PSAwICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vcmVsYXRpb25zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkZ3JvdXAnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyB3ZSdyZSBjbGVhciB0byBhZGQKJHJldCA9ICR0aGlzLT5BZGRHcm91cCggJGdyb3VwbmFtZSwgJGdyb3VwZGVzYyApOwppZiggJHJldFswXSA9PSBGQUxTRSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9ICcxJzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXRbMV07CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkZ3JvdXAnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBhbHNvIGFkZCB0aGUgcHJvcGVydHkgY2hvaWNlcwokdGhpcy0+RGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJHJldFsxXSApOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICAkcHJvcG5hbWUgPSAnJzsKICAkc29ydG9yZGVyID0gJyc7CiAgJGxvc3R1biA9IC0xOwogIGlmKCBwcmVnX21hdGNoKCAnL15pbnB1dF9yZXF1aXJlZF8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdpbnB1dF9yZXF1aXJlZF8nKSk7CiAgICB9CiAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXJfJy4kcHJvcG5hbWVdICkgKQogICAgewogICAgICAkc29ydG9yZGVyID0gJHBhcmFtc1snaW5wdXRfc29ydG9yZGVyXycuJHByb3BuYW1lXTsKICAgIH0KICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2xvc3R1bl8nLiRwcm9wbmFtZV0gKSApCiAgICB7CiAgICAgICRsb3N0dW4gPSAxOwogICAgfQogIAogIGlmKCAkdmFsICE9IDAgJiYgJHByb3BuYW1lICE9ICcnKQogICAgewogICAgICAkdGhpcy0+QWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkcmV0WzFdLCAkcHJvcG5hbWUsICRzb3J0b3JkZXIsICRsb3N0dW4sICR2YWwgKTsKICAgIH0KfQoKLy8gc2VuZCBhbiBldmVudAokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ25hbWUnXSA9ICRncm91cG5hbWU7CiRwYXJtc1snZGVzY3JpcHRpb24nXSA9ICRncm91cGRlc2M7CiRwYXJtc1snaWQnXSA9ICRyZXRbMV07CiR0aGlzLT5TZW5kRXZlbnQoJ09uQ3JlYXRlR3JvdXAnLCRwYXJtcyk7CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsgCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_addprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiAgICAvLyBhcmUgd2UgY2FuY2VsbGluZwogICAgaWYgKGlzc2V0ICgkcGFyYW1zWydjYW5jZWwnXSkpCiAgICAgIHsKCSR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJvcGVydGllcycgKTsKICAgICAgfQogICAgCiAgICAkbmFtZSA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSApICkgewogICAgICAkbmFtZSA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1snaW5wdXRfbmFtZSddLHRydWUpOwogICAgfQogICAgJHByb21wdCA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3Byb21wdCddICkgKSB7CiAgICAgICRwcm9tcHQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Byb21wdCddKTsKICAgIH0KICAgICR0eXBlID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdHlwZSddKSApIHsKICAgICAgJHR5cGUgPSAkcGFyYW1zWydpbnB1dF90eXBlJ107CiAgICB9CiAgICAkc2Vsb3B0aW9ucyA9ICcnOwogICAgJG9wdGlvbnMgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zZWxvcHRpb25zJ10gKSApIHsKICAgICAgJHNlbG9wdGlvbnMgPSAkcGFyYW1zWydpbnB1dF9zZWxvcHRpb25zJ107CiAgICAgICRvcHRpb25zID0gZXhwbG9kZSgiXG4iLCAkc2Vsb3B0aW9ucyk7CiAgICB9CiAgICAKICAgIC8vIG5vdyBjaGVjayBldmVyeXRoaW5nIG91dAogICAgLy8gdG9kbywgYWRkIGEgbWF4aW11bSBmaWVsZCBsZW5ndGggcHJlZmVyZW5jZQogICAgaWYoICRuYW1lID09ICcnIHx8ICRwcm9tcHQgPT0gJycgKXsKICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCRpZCwnYWRkcHJvcCcsJHJldHVybmlkLCRwYXJhbXMpOwogICAgICByZXR1cm47CiAgICB9IAoKICAgIHN3aXRjaCgkdHlwZSl7CiAgICBjYXNlIDA6CiAgICBjYXNlIDI6CiAgICAgICRsZW5ndGggPSAyMDsKICAgICAgJG1heGxlbmd0aCA9IDIwOwogICAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CgkkbGVuZ3RoID0gdHJpbSgkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSk7CiAgICAgIH0KICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSApICkgewoJJG1heGxlbmd0aCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbWF4bGVuZ3RoJ10pOwogICAgICB9CiAgICAgIGJyZWFrOwogICAgY2FzZSAxOgogICAgICAkbGVuZ3RoID0gMTsKICAgICAgYnJlYWs7CiAgICBjYXNlIDM6CiAgICAgICRsZW5ndGggPSAyNTU7CiAgICAgIGJyZWFrOwogICAgY2FzZSA0OgogICAgICAvLyBkcm9wZG93bgogICAgICAvLyBnZXQgdGhlIG51bWJlciBvZiBlbXB0eSB2YWx1ZXMKICAgICAgLy8gYW5kIHN1YnRyYWN0IGl0IGZyb20gdGhlIGFycmF5IGNvdW50CiAgICAgICRlbGVtZW50X2NvdW50X2FycmF5ID0gYXJyYXlfY291bnRfdmFsdWVzKCRvcHRpb25zKTsKICAgICAgJGVtcHR5X2VsZW1lbnRfY291bnQgPSAKCSRlbGVtZW50X2NvdW50X2FycmF5WyIiXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiXHIiXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiX18iXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiX19cciJdOwogICAgICAkbGVuZ3RoID0gY291bnQoJG9wdGlvbnMpIC0gJGVtcHR5X2VsZW1lbnRfY291bnQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSA1OgogICAgICAvLyBtdWx0aXNlbGVjdAogICAgICAvLyBnZXQgdGhlIG51bWJlciBvZiBlbXB0eSB2YWx1ZXMKICAgICAgLy8gYW5kIHN1YnRyYWN0IGl0IGZyb20gdGhlIGFycmF5IGNvdW50CiAgICAgICRlbGVtZW50X2NvdW50X2FycmF5ID0gYXJyYXlfY291bnRfdmFsdWVzKCRvcHRpb25zKTsKICAgICAgJGVtcHR5X2VsZW1lbnRfY291bnQgPSAKCSRlbGVtZW50X2NvdW50X2FycmF5WyIiXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiXHIiXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiX18iXSArCgkkZWxlbWVudF9jb3VudF9hcnJheVsiX19cciJdOwogICAgICAkbGVuZ3RoID0gY291bnQoJG9wdGlvbnMpIC0gJGVtcHR5X2VsZW1lbnRfY291bnQ7CiAgICAgIGJyZWFrOwogICAgICBicmVhazsKICAgIGNhc2UgNjoKICAgICAgLy8gaW1hZ2UKICAgICAgJGxlbmd0aCA9IDgwOwogICAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CgkkbGVuZ3RoID0gdHJpbSgkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSk7CiAgICAgIH0KICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICAkbGVuZ3RoID0gMTsKICAgIH0gICAgCgogICAgaWYoICgoJHR5cGUgPT0gMCB8fCAkdHlwZSA9PSAyKSAmJiAoICRsZW5ndGggPCAxIHx8ICRsZW5ndGggPiAyNTUgfHwgJG1heGxlbmd0aCA8IDEgfHwgJG1heGxlbmd0aCA+IDEwMjQgfHwgJG1heGxlbmd0aCA8ICRsZW5ndGggKSkgfHwKCSgoJHR5cGUgPT0gNCB8fCAkdHlwZSA9PSA1KSAmJiAkc2Vsb3B0aW9ucyA9PSAnJyApIHx8CgkoKCR0eXBlID09IDYpICYmICgkbGVuZ3RoIDwgNTAgfHwgJGxlbmd0aCA+IDEwMjQpKQoJKXsKICAgICAgcHJpbnRfciggJHBhcmFtcyApOyBkaWUoKTsKICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCRpZCwnYWRkcHJvcDInLCRyZXR1cm5pZCwkcGFyYW1zKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIAogICAgLy8gQWRkIHNlbGVjdCBvcHRpb25zCiAgICBpZiAoJHNlbG9wdGlvbnMpIHsKICAgICAgJHJlc3VsdCA9ICR0aGlzLT5BZGRTZWxlY3RPcHRpb25zKCAkbmFtZSwgJG9wdGlvbnMgKTsKICAgICAgaWYoICEkcmVzdWx0WzBdICkgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0WzFdOwoJJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdhZGRwcm9wJywkcmV0dXJuaWQsJHBhcmFtcyk7CiAgICAgIH0KICAgIH0KCiAgICAKICAgIC8vIGFuZCBhZGQgdGhlIHByb3BlcnR5IGRlZmluaXRpb24KICAgICRyZXN1bHQgPSAkdGhpcy0+QWRkUHJvcGVydHlEZWZuKCAkbmFtZSwgJHByb21wdCwgJHR5cGUsICRsZW5ndGgsICRtYXhsZW5ndGggKTsKICAgIGlmKCAhJHJlc3VsdFswXSApIHsKICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCRpZCwnYWRkcHJvcCcsJHJldHVybmlkLCRwYXJhbXMpOwogICAgfQogICAgCiAgICAkdGhpcy0+bXlSZWRpcmVjdHRvVGFiKCAkaWQsICdwcm9wZXJ0aWVzJyApOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_adduser1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHVzZXInICkgKQogIHsKICAgIHJldHVybjsKICB9CgovLyBhcmUgd2UgY2FuY2VsbGluZwppZiAoaXNzZXQgKCRwYXJhbXNbJ2NhbmNlbCddKSkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3VzZXJzJyApOwogIH0KCi8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVycyBhcmUgZmlsbGVkIGluCiR1c2VybmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CiRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSk7CiRyZXBlYXQgICA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CgokcmV0ID0gJHRoaXMtPl9oYW5kbGVVc2VySW5mb1ZhbGlkYXRpb24oICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSwgdHJ1ZSApOwpzd2l0Y2goICRyZXQgKQogIHsKICBjYXNlIC0xOiAvLyBlcnJvcgogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkbWVzc2FnZTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGR1c2VyJywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgIHJldHVybjsKICAgIGJyZWFrOwogIGNhc2UgMDogIC8vIG5vIGVycm9yLCBidXQgZG9uJ3QgY29udGludWUgb3BlcmF0aW9uCiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkdXNlcicsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgICByZXR1cm47CiAgICBicmVhazsKICBjYXNlIDE6ICAvLyBhbGwgaXMgZ29vZCwgY29udGludWUgb3BlcmF0aW9uCiAgICBicmVhazsKICB9CgoKLy8gY29udmVydCB0aGUgZXhwaXJlcyBmaWVsZCB0byBhIHJlYWwgdGltZQokZXhwaXJlcyA9IE5VTEw7CgovLyBhbmQgc3RvcmUgdGhpcyBhbGwgaW4gdGhlIHBhcmFtcywgCiRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gPSAkdXNlcm5hbWU7CiRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gPSAkcGFzc3dvcmQ7CiRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gPSAkcmVwZWF0OwoKLy8gYW5kIGdvIHRvIHN0ZXAgMgokdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_adduser3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2FkZHVzZXInICkgKQogIHsKICAgIHJldHVybjsKICB9CgovLyBkbyB3ZSB3YW50IHRvIGdvIGJhY2sKaWYoIGlzc2V0KCAkcGFyYW1zWydiYWNrJ10gKSApCiAgewogICAgLy8geXVwIHdlIGRvCiAgICAkcGFyYW1zID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTs7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkdXNlcicsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgIC8vIHl1cCB3ZSBkbwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAndXNlcnMnICk7CiAgfQoKLy8gZ2V0IHRoZSBmaWVsZCBpbmZvCiRmbGRpbmZvID0gYXJyYXkoKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAkayA9PiAkdiApCnsKICBpZiggcHJlZ19tYXRjaCgnL15oaWRkZW5fLycsICRrICkgKQogICAgewogICAgICAkZmxkbmFtZSA9IHN1YnN0ciggJGssIHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgJHByb3BpbmZvID0gc3BsaXQoJzsnLCR2KTsKICAgICAgJGZsZGluZm9bJGZsZG5hbWVdID0gJHByb3BpbmZvOwogICAgfQp9CgovLyBub3cgZ2V0IGVhY2ggb2YgdGhlIGZpZWxkcwokZmllbGRzID0gYXJyYXkoKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAkayA9PiAkdiApCnsKICBpZiggcHJlZ19tYXRjaCgnL15pbnB1dF8vJywgJGsgKSApCiAgICB7CiAgICAgICRmbGRuYW1lID0gc3Vic3RyKCAkaywgc3RybGVuKCdpbnB1dF8nKSk7CiAgICAgICRmaWVsZHNbJGZsZG5hbWVdID0gJHY7IAogICAgfQp9CgovLyBub3cgdmFsaWRhdGUKZm9yZWFjaCggJGZsZGluZm8gYXMgJG5hbWUgPT4gJHZhbCApCnsKICAvLyBwcm9jZXNzIGVtcHR5IHJlcXVpcmVkIGZpZWxkcwogIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgZW1wdHkgb3B0aW9uYWwgb25lcwogIGlmKCAkdmFsWzNdID09IDIgKQogICAgewogICAgICBpZiggJHZhbFsxXSA9PSA2ICkgLy8gSW1hZ2UgZmllbGQKCXsKCSAgaWYoICghaXNzZXQoJF9GSUxFU1skaWQuJ2lucHV0XycuJG5hbWVdKSB8fCAkX0ZJTEVTWyRpZC4naW5wdXRfJy4kbmFtZV1bJ3NpemUnXSA9PSAwKSAmJgoJICAgICAgJHZhbFs1XSA9PSAnJykKCSAgICB7CgkgICAgICAvLyBhIHJlcXVpcmVkIGZpZWxkIGlzIGVtcHR5CgkgICAgICAkcGFyYW1zID0gUlJVdGlsczo6YXJyYXlfbWVyZ2UoICRwYXJhbXMsIGV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICkpOwoJICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbScsJG5hbWUpOwoJICAgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2FkZHVzZXIyJywgJHJldHVybmlkLCRwYXJhbXMgKTsKCSAgICAgIHJldHVybjsKCSAgICB9Cgl9CiAgICAgIGVsc2UgaWYoICFpc3NldCgkZmllbGRzWyRuYW1lXSkgfHwgJGZpZWxkc1skbmFtZV0gPT0gJycpCgl7CgkgIC8vIGEgcmVxdWlyZWQgZmllbGQgaXMgZW1wdHkKCSAgJHBhcmFtcyA9IGFycmF5X21lcmdlKCAkcGFyYW1zLCBSUlV0aWxzOjpleHBsb2RlX3dpdGhfa2V5KCAkcGFyYW1zWydzdGVwMV9wYXJhbXMnXSApKTsKCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJywkbmFtZSk7CgkgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwkcGFyYW1zICk7CgkgIHJldHVybjsKCX0KICAgIH0KCiAgLy8gdmFsaWRhdGUgZmlsbGVkIGluIGZpZWxkcwogIC8vIGFuZCBkbyBwb3N0IHByb2Nlc3NpbmcKICBpZiggaXNzZXQoJGZpZWxkc1skbmFtZV0pIHx8ICR2YWxbMV0gPT0gNiApCiAgICB7CiAgICAgIHN3aXRjaCggJHZhbFsxXSApCgl7CgljYXNlIDA6IC8vIHRleHQKCQkvLyBub3QgbXVjaCB3ZSBjYW4gZG8gdG8gdmFsaWRhdGUgYSB0ZXh0IGZpZWxkLgoJICBicmVhazsKCWNhc2UgMTogLy8gY2hlY2tib3gKCQkvLyBvciBhIGNoZWNrYm94CgkgIGJyZWFrOwoJY2FzZSAyOiAvLyBlbWFpbAoJCS8vIGVtYWlsIGFkZHJlc3NlcyBjYW4gYmUgdmFsaWRhdGVkIHRob3VnaAoJICBicmVhazsKCWNhc2UgMzogLy8gdGV4dGFyZWEKCQkvLyBhIHRleHRhcmVhIGNhbiBiZSB2YWxpZGF0ZWQgZm9yIGxlbmd0aC4KCSAgYnJlYWs7CgljYXNlIDQ6IC8vIGRyb3Bkb3duCgljYXNlIDU6IC8vIG11bHRpc2VsZWN0CgkJLy8gaG93IGNhbiB3ZSB2YWxpZGF0ZSBhIGRyb3Bkb3duPwoJICBicmVhazsKCWNhc2UgNjogLy8gaW1hZ2UKCQkvLyBpbWFnZSB0eXBlcyBkb24ndCBoYXZlIGEgcGFyYW0gKGV2ZW4gaWYgd2UgaGF2ZSB1cGxvYWRlZCBhIGZpbGUpCgkJLy8gc28gd2Ugc2V0IG9uZQoJICAkZmllbGRzWyRuYW1lXSA9ICc8bm90c2V0Pic7CgkgIGJyZWFrOwoJfQogICAgfQp9CgovLyBnZXQgdGhlIHBhcm1zIGZyb20gdGhlIGZpcnN0IHN0ZXAKJHBhcm1zMSA9IFJSVXRpbHM6OmV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICk7CiAgICAKLy8gYW5kIG1lcmdlIGVtIGludG8gJHBhcmFtcyBzbyB3ZSBjYW4gYWN0dWFsbHkgYWRkIHRoZSB1c2VyIGFjY291bnQKJHBhcmFtcyA9IGFycmF5X21lcmdlKCAkcGFyYW1zLCAkcGFybXMxICk7CgovLyBub3cgZmluZCBvdXQgd2hpY2ggZ3JvdXBzIGhlJ3MgYSBtZW1iZXIgb2YKJG1lbWJlcm9mID0gYXJyYXkoKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAkayA9PiAkdiApCnsKICBpZiggcHJlZ19tYXRjaCgnL15tZW1iZXJvZl8vJywgJGsgKSApCiAgICB7CiAgICAgICRtZW1iZXJvZltdID0gJHBhcmFtc1ska107CiAgICB9Cn0KCi8vIG5vdyB3ZSBjYW4gYWN0dWFsbHkgYWRkIHRoZSB1c2VyCiRyZXQgPSAkdGhpcy0+QWRkVXNlciggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSwgCgkJICAgICAgICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10sCgkJICAgICAgICRwYXJhbXNbJ2lucHV0X2V4cGlyZXNkYXRlJ10gKTsKaWYoICRyZXRbMF0gPT0gRkFMU0UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJldFsxXTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQokdWlkID0gJHJldFsxXTsKCi8vIGFuZCBhZGQgaGltIHRvIGhpcyBncm91cHMKZm9yZWFjaCggJG1lbWJlcm9mIGFzICRtZW0gKQp7CiAgaWYoICEkdGhpcy0+QXNzaWduVXNlclRvR3JvdXAoICRyZXRbMV0sICRtZW0gKSApCiAgICB7CiAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGdyb3VwaWQnLCRtZW0pOwogICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgICByZXR1cm47CiAgICB9Cn0KCi8vIGFuZCBhZGQgaGlzIHByb3BlcnRpZXMKZm9yZWFjaCggJGZpZWxkcyBhcyAkayA9PiAkdiApCnsKICAkdmFscyA9JiAkZmxkaW5mb1ska107CiAgaWYoIHByZWdfbWF0Y2goJy9fY2xlYXIkLycsICRrICkgKQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCQogIGlmKCAkdmFsc1sxXSA9PSA2ICkKICAgIHsKICAgICAgLy8gaW1hZ2UgdHlwZQogICAgICBpZiggaXNzZXQoJF9GSUxFU1skaWQuJ2lucHV0XycuJGtdKSAmJiAkX0ZJTEVTWyRpZC4naW5wdXRfJy4ka11bJ3NpemUnXSA+IDAgKQoJewoJICAvLyBpdCdzIGFuIHVwbG9hZGVkIGZpbGUgdHlwZQoJICAkcmVzdWx0ID0gJHRoaXMtPk1hbmFnZUltYWdlVXBsb2FkKCRpZCwnaW5wdXRfJywgJGssICR1aWQsICR2YWxzWzJdICk7CgkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcicpLicmbmJzcDsnLiRyZXN1bHQ7CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCSAgJHYgPSAkcmVzdWx0WzFdOwoJfQogICAgfQoKICBpZiggaXNfYXJyYXkoICR2ICkgKQogICAgewogICAgICAkdiA9IGltcGxvZGUoJywnLCR2KTsKICAgIH0KICAkcmV0ID0gJHRoaXMtPlNldFVzZXJQcm9wZXJ0eUZ1bGwoICRrLCAkdiwgJHVpZCApOwogIGlmKCAkcmV0ID09IGZhbHNlICkKICAgIHsKICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcicpOwogICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgICByZXR1cm47CiAgICB9Cn0KCi8vIHNlbmQgYW4gZXZlbnQKJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWydpZCddID0gJHVpZDsKJHBhcm1zWyduYW1lJ10gPSAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddOwokdGhpcy0+U2VuZEV2ZW50KCdPbkNyZWF0ZVVzZXInLCRwYXJtcyk7CgovLyBrZWVwIGEgbG9nIG9mIGl0CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAoJICAgICAgJHRoaXMtPkxhbmcoJ3VzZXJfYWRkZWQnLGFycmF5KCR1aWQsJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSkpKTsKCi8vIGFuZCB0aGF0IHNob3VsZCBiZSBpdAokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICd1c2VycycgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_admintasks.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd1c2Vyc25ncm91cHMnKSApCiAgewogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snYnV0dG9uX2V4cG9ydHVzZXJzJ10gKSApCiAgewogICAgLy8gd2Ugd2FudCB0byBleHBvcnQgYSBjc3YgZmlsZSBkbyB3ZQogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9ZmV1c2Vycy5jc3YnKTsKICAgIHdoaWxlKEBvYl9lbmRfY2xlYW4oKSk7CgogICAgJHN0YXJ0ID0gMDsKICAgICRudW0gPSAyOyAvLyB0b2RvLCBzaG91bGQgYmUgYSBwcmVmZXJlbmNlCiAgICAkZG9uZSA9IDA7CiAgICAKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgJHVpZCA9ICcnOwogICAgJGZpcnN0ID0gMTsKICAgIHdoaWxlKCAkZG9uZSA9PSAwICkKICAgICAgewoJJHF1ZXJ5ID0gIlNFTEVDVCBESVNUSU5DVCBncm91cG5hbWUsdXNlcmlkLHVzZXJuYW1lLGNyZWF0ZWRhdGUsZXhwaXJlcyxkYXRhIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBBLCIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAgQiwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgQywgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIEQgd2hlcmUgQS5pZD1CLmdyb3VwX2lkIGFuZCBDLnRpdGxlID0gQi5uYW1lIGFuZCBDLnVzZXJpZCA9IEQuaWQgb3JkZXIgYnkgZ3JvdXBuYW1lLHVzZXJpZCxzb3J0X2tleSxuYW1lIGxpbWl0ICRzdGFydCwkbnVtIjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5ICk7CglpZiggISRkYnJlc3VsdCB8fCAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDApICkKCSAgewoJICAgIGVjaG8gJGRiLT5FcnJvck1zZygpOwoJICAgICRkb25lID0gMTsKCSAgICBicmVhazsKCSAgfQoJCgkvLyBub3cgaXRlcmF0ZSB0aHJvdWdoIGFsbCBvZiB0aGUgcmVzdWx0cywgYW5kIGRvIHRoZSBleHBvcnQKCSRvdXRwdXQgPSAnJzsKCXdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKCSAgewoJICAgIGlmKCAkdWlkICE9ICRyb3dbJ3VzZXJpZCddICkKCSAgICAgIHsgCgkJLy8gdWlkIGNoYW5nZWQgZnJvbSB0aGUgbGFzdCBvbmUKCQlpZiggJGZpcnN0ID09IDAgKQoJCSAgewoJCSAgICAkb3V0cHV0IC49ICJcbiI7ICAvLyBuZXdsaW5lCgkJICB9CgkJJGZpcnN0ID0gMDsKCQkkb3V0cHV0IC49ICRyb3dbJ2dyb3VwbmFtZSddLiIsIi4kcm93Wyd1c2VyaWQnXS4iLCIuJHJvd1sndXNlcm5hbWUnXS4iLCIuCgkJICAkcm93WydjcmVhdGVkYXRlJ10uIiwiLiRyb3dbJ2V4cGlyZXMnXTsKCQkkdWlkID0gJHJvd1sndXNlcmlkJ107CgkgICAgICB9CgkgICAgCgkgICAgLy8gb3V0cHV0IHRoZSBwcm9wZXJ0eQoJICAgICRvdXRwdXQgLj0gIiwiLiRyb3dbJ2RhdGEnXTsKCSAgfQoKCS8vIGdldCByZWFkeSBmb3IgYW5vdGhlciByb3VuZAoJZWNobyAkb3V0cHV0OwoJJHN0YXJ0ICs9ICRudW07CiAgICAgIH0KICAgIAogICAgLy8gb25lIGxhc3QgbmV3bGluZQogICAgZWNobyAiXG5lbmRcbiI7CiAgICAKICAgIGV4aXQoKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydidXR0b25fZXhwb3J0dXNlcmhpc3RvcnknXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZXhwb3J0dXNlcmhpc3RvcnkucGhwJyk7CiAgfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1snYnV0dG9uX2NsZWFydXNlcmhpc3RvcnknXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY2xlYXJ1c2VyaGlzdG9yeS5waHAnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydidXR0b25faW1wb3J0dXNlcnMnXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5faW1wb3J0dXNlcnMucGhwJyk7CiAgfQoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_deletegroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3JlbW92ZWdyb3VwcycgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKCmlmICghaXNzZXQgKCRwYXJhbXNbJ2dyb3VwX2lkJ10pIHx8ICRwYXJhbXNbJ2dyb3VwX2lkJ10gPT0gIiIpCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CiAgICByZXR1cm47CiAgfSAgCgokZ3JvdXAgPSAkdGhpcy0+R2V0R3JvdXBJbmZvKCAkcGFyYW1zWydncm91cF9pZCddICk7CmlmKCAhaXNzZXQoJGdyb3VwWydpZCddKSAmJiAkZ3JvdXBbMF0gPT0gRkFMU0UgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRncm91cFsxXSApOwogICAgcmV0dXJuOwogIH0KCmlmKCBjb3VudCgkdGhpcy0+R2V0VXNlcnNJbkdyb3VwKCAkZ3JvdXBbJ2lkJ10gKSkgIT0gMCApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlcnJvcl9ub3RlbXB0eWdyb3VwJykpOwogICAgcmV0dXJuOwogIH0KCiRyZXQgPSAkdGhpcy0+RGVsZXRlR3JvdXBGdWxsKCAkcGFyYW1zWydncm91cF9pZCddICk7CmlmKCAkcmV0WzBdID09IEZBTFNFICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZ3JvdXBbMV0gKTsKICAgIHJldHVybjsKICB9CgokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ2lkJ10gPSAkcGFyYW1zWydncm91cF9pZCddOwokcGFybXNbJ25hbWUnXSA9ICRncm91cFsnZ3JvdXBuYW1lJ107CiR0aGlzLT5TZW5kRXZlbnQoJ09uRGVsZXRlR3JvdXAnLCRwYXJtcyk7CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_deleteprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKLy8gY2hlY2sgcGVybWlzc2lvbnMgYWdhaW4KaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2RlbGV0ZXByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3Byb3BuYW1lJ10gKSApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snZXJyb3InXSA9IDE7CiAgICAkcGFybXNbJ21lc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnLCRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKLy8gZGVsZXRlIGFsbCBvY2N1cmFuY2VzIG9mIHRoaXMgcHJvcGVydHkgbmFtZSBpbiB0aGUgcHJvcGVydGllcyB0YWJsZQokcmVzdWx0ID0gJHRoaXMtPkRlbGV0ZVVzZXJQcm9wZXJ0eUJ5TmFtZSggJHBhcmFtc1sncHJvcG5hbWUnXSApOwoKLy8gV2UgbmVlZCB0byBkZWxldGUgc2VsZWN0IG9wdGlvbnMgcmVnYXJkbGVzcyBvZiB0aGUgY29udHJvbCB0eXBlLAovLyBiZWNhdXNlIHdlIGRvbid0IGRlbGV0ZSBzZWxlY3Qgb3B0aW9ucyB3aGVuIGNoYW5naW5nIGNvbnRyb2wgdHlwZXMKJHJlc3VsdCA9ICR0aGlzLT5EZWxldGVTZWxlY3RPcHRpb25zKCAkcGFyYW1zWydwcm9wbmFtZSddICk7Ci8vIG5vdyByZWFkeSB0byBkZWxldGUgdGhlIHByb3BlcnR5CiRyZXN1bHQgPSAkdGhpcy0+RGVsZXRlUHJvcGVydHlEZWZuKCAkcGFyYW1zWydwcm9wbmFtZSddICk7CmlmKCAhJHJlc3VsdCApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eScpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnLCRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_deleteuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3JlbW92ZXVzZXJzJyApICkKICB7CiAgICByZXR1cm47CiAgfQoKZ2xvYmFsICRnQ21zOwoKaWYgKCFpc3NldCAoJHBhcmFtc1sndXNlcl9pZCddKSB8fCAkcGFyYW1zWyd1c2VyX2lkJ10gPT0gIiIpCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CiAgICByZXR1cm47CiAgfSAgCgokdXNlciA9ICR0aGlzLT5HZXRVc2VySW5mbyggJHBhcmFtc1sndXNlcl9pZCddICk7CmlmKCAkdXNlclswXSA9PSBGQUxTRSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHJldFsxXSApOwogICAgcmV0dXJuOwogIH0KCi8vIEdldCBhbGwgb2YgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zLCBpZiB0aGV5J3JlIG9mIHR5cGUgNgovLyBhbmQgdGhlIHByb3BlcnR5IGlzIG5vdCBlbXB0eSwgdGhlbiB3ZSBtYXkKLy8gaGF2ZSB0byBkZWxldGUgYSBmaWxlIGFzIHdlbGwuCiRkZWZucyA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiRwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CiRkZXN0RGlyMSA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwppZiggJHByb3BzICkKICB7CiAgICBmb3JlYWNoKCAkZGVmbnMgYXMgJG9uZWRlZm4gKQogICAgICB7CglpZiggJG9uZWRlZm5bJ3R5cGUnXSAhPSA2ICkgY29udGludWU7CgoJZm9yZWFjaCggJHByb3BzIGFzICRvbmVwcm9wICkKCSAgewoJICAgIGlmKCAkb25lcHJvcFsndGl0bGUnXSAhPSAkb25lZGVmblsnbmFtZSddICkgY29udGludWU7CgoJICAgIC8vIGZvdW5kIGEgbWF0Y2gsIHdlIGhhdmUgYSB0eXBlIDYgZmllbGQuCgkgICAgaWYoICRvbmVwcm9wWydkYXRhJ10gPT0gJycgKSBjb250aW51ZTsKCgkgICAgLy8gYW5kIG9uZSB3aXRoIGEgdmFsdWUgdG9vLgoJICAgICRmaWxlMSA9ICRkZXN0RGlyMS4kb25lcHJvcFsnZGF0YSddOwoJICAgIEB1bmxpbmsoICRmaWxlMSApOwoJICB9CiAgICAgIH0KICB9CiAgICAKJHJldCA9ICR0aGlzLT5EZWxldGVVc2VyRnVsbCggJHBhcmFtc1sndXNlcl9pZCddICk7CmlmKCAkcmV0WzBdID09IEZBTFNFICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcmV0WzFdICk7CiAgICByZXR1cm47CiAgfQoKLy8gc2VuZCBhbiBldmVudAokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ2lkJ10gPSAkcGFyYW1zWyd1c2VyX2lkJ107CiRwYXJtc1sndXNlcm5hbWUnXSA9ICR1c2VyWzFdWyd1c2VybmFtZSddOwokdGhpcy0+U2VuZEV2ZW50KCAnT25EZWxldGVVc2VyJywgJHBhcm1zICk7CgovLyBhbmQgbG9nIGl0CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAoJICAgICAgJHRoaXMtPkxhbmcoJ3VzZXJfZGVsZXRlZCcsJHBhcmFtc1sndXNlcl9pZCddKSApOwoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICd1c2VycycgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_editgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXRncm91cHMnICkgKQogIHsKICAgIHJldHVybjsKICB9CgppZiAoaXNzZXQgKCRwYXJhbXNbJ2NhbmNlbCddKSkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsKICB9CgppZiAoIWlzc2V0ICgkcGFyYW1zWydncm91cF9pZCddKSB8fCAkcGFyYW1zWydncm91cF9pZCddID09ICIiKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfSAgCgokZ3JvdXBuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBuYW1lJ10gKSApCiAgewogICAgJGdyb3VwbmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZ3JvdXBuYW1lJ10pOwogIH0KJGdyb3VwZGVzYyA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2dyb3VwZGVzYyddICkgKQogIHsKICAgICRncm91cGRlc2MgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2dyb3VwZGVzYyddKTsKICB9CgovLyBtYWtlIHN1cmUgdGhlIHBhcmFtZXRlcnMgYXJlIGZpbGxlZCBpbgppZiggJGdyb3VwbmFtZSA9PSAnJyB8fCAkZ3JvdXBkZXNjID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZWRpdGdyb3VwJywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBMZXRzIGRvIGEgY2hlY2sgZmlyc3QKJHJlbG5hZGRlZCA9IDA7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogICRwcm9wbmFtZSA9ICcnOwogICRzb3J0b3JkZXIgPSAnJzsKICAkbG9zdHVuID0gLTE7CiAgaWYoIHByZWdfbWF0Y2goICcvXmlucHV0X3JlcXVpcmVkXy8nLCAka2V5ICkgJiYgKCR2YWwgIT0gMCkgKQogICAgewogICAgICAkcmVsbmFkZGVkKys7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaW5wdXRfcmVxdWlyZWRfJykpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgY29udGludWU7CiAgICB9CgogIGlmKCAoJHZhbCA9PSAwIHx8ICR2YWwgPT0gMyB8fCAkdmFsID09IDQpICYmICRsb3N0dW4gPT0gMSApCiAgICB7CiAgICAgIC8vIHRoaXMgaXMgbm90IGdvb2QuCiAgICAgIC8vIGl0IGNhbid0IGJlIGhpZGRlbiwgcmVhZG9ubHksIG9yIG9mZiBhbmQgYmUgCiAgICAgIC8vIHNldCBpbiB0aGUgbG9zdHVuIGZsYWcKICAgICAgJHBhcmFtc1snZXJyb3InXSA9ICcxJzsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vcmVsYXRpb25zJyk7CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdlZGl0Z3JvdXAnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgICByZXR1cm47CiAgICB9Cn0KCmlmKCAkcmVsbmFkZGVkID09IDAgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAnMSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9yZWxhdGlvbnMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdlZGl0Z3JvdXAnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCiRyZXQgPSAkdGhpcy0+U2V0R3JvdXAoICRwYXJhbXNbJ2dyb3VwX2lkJ10sICRwYXJhbXNbJ2lucHV0X2dyb3VwbmFtZSddLAoJCQkkcGFyYW1zWydpbnB1dF9ncm91cGRlc2MnXSApOwppZiggJHJldFswXSA9PSBGQUxTRSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHJldFsxXSApOwogICAgcmV0dXJuOwogIH0KCi8vIGFsc28gYWRkIHRoZSBwcm9wZXJ0eSBjaG9pY2VzCiR0aGlzLT5EZWxldGVBbGxHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkcGFyYW1zWydncm91cF9pZCddICk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogICRwcm9wbmFtZSA9ICcnOwogICRzb3J0b3JkZXIgPSAnJzsKICAkbG9zdHVuID0gLTE7CiAgaWYoIHByZWdfbWF0Y2goICcvXmlucHV0X3JlcXVpcmVkXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2lucHV0X3JlcXVpcmVkXycpKTsKICAgIH0KICBlbHNlIAogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXJfJy4kcHJvcG5hbWVdICkgKQogICAgewogICAgICAkc29ydG9yZGVyID0gJHBhcmFtc1snaW5wdXRfc29ydG9yZGVyXycuJHByb3BuYW1lXTsKICAgIH0KICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2xvc3R1bl8nLiRwcm9wbmFtZV0gKSApCiAgICB7CiAgICAgICRsb3N0dW4gPSAxOwogICAgfQoKICBpZiggJHZhbCAhPSAwICYmICRwcm9wbmFtZSAhPSAnJyApCiAgICB7CiAgICAgICRyZXMgPSAkdGhpcy0+QWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkcGFyYW1zWydncm91cF9pZCddLCAkcHJvcG5hbWUsICRzb3J0b3JkZXIsICRsb3N0dW4sICR2YWwgKTsKICAgIH0KfQoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdncm91cHMnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_editprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXRwcm9wJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIHJldHVybjsKICB9CgokbWF4bGVuZ3RoID0gMjU1OwokbmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X25hbWUnXSApICkgCiAgewogICAgJG5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7IAogICAgJG5hbWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnLyAvJywnXycsJG5hbWUpKTsKICB9CiRwcm9tcHQgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wcm9tcHQnXSApICl7CiAgJHByb21wdCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pOyAKIH0KJHR5cGUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF90eXBlJ10gKSApIHsKICAkdHlwZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdHlwZSddKTsgCiB9CiRzZWxvcHRpb25zID0gJyc7Cgokb3B0aW9ucyA9IGFycmF5KCk7CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9leHRyYSddICkgKSB7CiAgJHNlbG9wdGlvbnMgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2V4dHJhJ10pOwogICRvcHRpb25zID0gZXhwbG9kZSgiXG4iLCAkc2Vsb3B0aW9ucyk7CiB9CgkKaWYoICRuYW1lID09ICcnIHx8ICRwcm9tcHQgPT0gJycpCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snZXJyb3InXSA9IDE7CiAgICAkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdwcm9wZXJ0aWVzJywkcGFybXMpOwogICAgcmV0dXJuOwogIH0KCnN3aXRjaCgkdHlwZSl7CiBjYXNlIDA6IC8vIHRleHQgaW5wdXQKIGNhc2UgMjogLy8gZW1haWwKICAgJGxlbmd0aCA9IDIwOwogICAkbWF4bGVuZ3RoID0gMjA7CiAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKICAgICAkbGVuZ3RoID0gdHJpbSgkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSk7CiAgIH0KICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSApICkgewogICAgICRtYXhsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddKTsKICAgfQogICBicmVhazsKIGNhc2UgMTogLy8gY2hlY2tib3gKICAgJGxlbmd0aCA9IDE7CiAgIGJyZWFrOwogY2FzZSAzOiAvLyB0ZXh0YXJlYQogICAkbGVuZ3RoID0gMjU1OwogICBicmVhazsKIGNhc2UgNDogLy8gZHJvcGRvd24KIGNhc2UgNTogLy8gbXVsdGlzZWxlY3QKICAgLy8gZ2V0IHRoZSBudW1iZXIgb2YgZW1wdHkgdmFsdWVzCiAgIC8vIGFuZCBzdWJ0cmFjdCBpdCBmcm9tIHRoZSBhcnJheSBjb3VudAovLyAgICAkZWxlbWVudF9jb3VudF9hcnJheSA9IGFycmF5X2NvdW50X3ZhbHVlcygkb3B0aW9ucyk7Ci8vICAgICRlbXB0eV9lbGVtZW50X2NvdW50ID0gCi8vICAgICAgJGVsZW1lbnRfY291bnRfYXJyYXlbIiJdICsKLy8gICAgICAkZWxlbWVudF9jb3VudF9hcnJheVsiXHIiXSArCi8vICAgICAgJGVsZW1lbnRfY291bnRfYXJyYXlbIl9fIl0gKwovLyAgICAgICRlbGVtZW50X2NvdW50X2FycmF5WyJfX1xyIl07Ci8vICAgICRsZW5ndGggPSBjb3VudCgkb3B0aW9ucykgLSAkZW1wdHlfZWxlbWVudF9jb3VudDsKICAgJGxlbmd0aCA9IGNvdW50KCRvcHRpb25zKTsKICAgYnJlYWs7CiBjYXNlIDY6IC8vIGltYWdlCiAgICRsZW5ndGggPSA4MDsKICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSApICkgewogICAgICRsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKTsKICAgfQogICBicmVhazsgICAKIGRlZmF1bHQ6CiAgICRsZW5ndGggPSAxOwogfQoKaWYoICgkdHlwZSA9PSAwICYmICggJGxlbmd0aCA8IDEgfHwgJGxlbmd0aCA+IDI1NSB8fCAkbWF4bGVuZ3RoIDwgMSB8fCAkbWF4bGVuZ3RoID4gMTAyNCB8fCAkbWF4bGVuZ3RoIDwgJGxlbmd0aCApKSB8fAogICAgKCgkdHlwZSA9PSA0IHx8ICR0eXBlID09IDUpICYmICRzZWxvcHRpb25zID09ICcnICkgIHx8CiAgICAoKCR0eXBlID09IDYpICYmICgkbGVuZ3RoIDwgNTAgfHwgJGxlbmd0aCA+IDEwMjQpKQogICAgKXsKLy8gICAkcGFyYW1zWydlcnJvciddID0gMTsKLy8gICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHBhcmFtcycpOwovLyAgICR0aGlzLT5teVJlZGlyZWN0KCRpZCwnZWRpdHByb3AnLCRyZXR1cm5pZCwkcGFyYW1zKTsKICBlY2hvICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7IAogIHJldHVybjsKIH0KCQovLyBhbmQgYWRkIHRoZSBwcm9lcHJ0eSBkZWZpbml0aW9uCmlmICgkc2Vsb3B0aW9ucykgewogICR0aGlzLT5EZWxldGVTZWxlY3RPcHRpb25zKCAkbmFtZSApOwogICRyZXN1bHQgPSAkdGhpcy0+QWRkU2VsZWN0T3B0aW9ucyggJG5hbWUsICRvcHRpb25zICk7CgogIGlmKCAhJHJlc3VsdFswXSApIHsKLy8gICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwovLyAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdFsxXTsKLy8gICAgICR0aGlzLT5teVJlZGlyZWN0KCRpZCwnYWRkcHJvcCcsJHJldHVybmlkLCRwYXJhbXMpOwogICAgZWNobyAkcmVzdWx0WzFdOwogICAgcmV0dXJuOwogIH0KIH0KCiRyZXMgPSAkdGhpcy0+U2V0UHJvcGVydHlEZWZuKCAkcGFyYW1zWydwcm9wbmFtZSddLCAkbmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUsICRtYXhsZW5ndGggKTsKaWYoICRyZXMgPT0gZmFsc2UgKQogIHsKLy8gICAgICRwYXJtcyA9IGFycmF5KCk7Ci8vICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKLy8gICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CiAgICBlY2hvICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7Ci8vICAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycsJHBhcm1zKTsKICAgIHJldHVybjsKICB9CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXR1c2VycycgKSApCiAgewogICAgcmV0dXJuOwogIH0KCi8vIGFyZSB3ZSBjYW5jZWxsaW5nCmlmIChpc3NldCAoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAndXNlcnMnICk7CiAgfQoKaWYgKCAhaXNzZXQoJHBhcmFtc1sndXNlcl9pZCddKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgovLyBtYWtlIHN1cmUgdGhlIHBhcmFtZXRlcnMgYXJlIGZpbGxlZCBpbgokdXNlcl9pZCAgID0gdHJpbSgkcGFyYW1zWyd1c2VyX2lkJ10pOwokdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwokcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwokcmVwZWF0ICAgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwoKJHJldCA9ICR0aGlzLT5faGFuZGxlVXNlckluZm9WYWxpZGF0aW9uKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2UsIGZhbHNlLCAKCQkJCQkgdHJ1ZSwgZmFsc2UgKTsKCnN3aXRjaCggJHJldCApCiAgewogIGNhc2UgLTE6IC8vIGVycm9yCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdlcnJvcicsICIxIik7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdtZXNzYWdlJywgJG1lc3NhZ2UgKTsKICAgICR0aGlzLT5fRGlzcGxheUFkbWluRWRpdFVzZXJTdGVwMVBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICByZXR1cm47CiAgY2FzZSAwOiAgLy8gbm8gZXJyb3IsIGJ1dCBkb24ndCBjb250aW51ZSBvcGVyYXRpb24KICAgICR0aGlzLT5fRGlzcGxheUFkbWluVXNlclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICByZXR1cm47CiAgY2FzZSAxOiAgLy8gYWxsIGlzIGdvb2QsIGNvbnRpbnVlIG9wZXJhdGlvbgogICAgYnJlYWs7CiAgfQoKLy8gbG9hZCBwcm9wZXJ0aWVzIGFuZCBzZXQgdGhlbSB1cAovLyBmb3IgdGhlIG5leHQgcGFnZQokcHJvcHMgPSAkdGhpcy0+R2V0VXNlclByb3BlcnRpZXMoICR1c2VyX2lkICk7CmZvcmVhY2goICRwcm9wcyBhcyAkcHJvcCApCnsKICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wWyd0aXRsZSddXSA9IHVybGVuY29kZSgkcHJvcFsnZGF0YSddKTsKfQogICAgCi8vIEFuZCBHbyB0byBzdGVwIDIKJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2VkaXR1c2VyMicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdlZGl0dXNlcnMnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCi8vIGRvIHdlIHdhbnQgdG8gZ28gYmFjawppZiggaXNzZXQoICRwYXJhbXNbJ2JhY2snXSApICkKICB7CiAgICAvLyB5dXAgd2UgZG8KICAgICRwYXJhbXMgPSBSUlV0aWxzOjpleHBsb2RlX3dpdGhfa2V5KCAkcGFyYW1zWydzdGVwMV9wYXJhbXMnXSApOzsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdlZGl0dXNlcicsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwogIH0KCi8vIGdldCB0aGUgZmllbGQgaW5mbwokZmxkaW5mbyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGsgPT4gJHYgKQp7CiAgaWYoIHByZWdfbWF0Y2goJy9eaGlkZGVuXy8nLCAkayApICkKICAgIHsKICAgICAgJGZsZG5hbWUgPSBzdWJzdHIoICRrLCBzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRwcm9waW5mbyA9IHNwbGl0KCc7Jywkdik7CiAgICAgICRmbGRpbmZvWyRmbGRuYW1lXSA9ICRwcm9waW5mbzsKICAgIH0KfQoKLy8gbm93IGdldCBlYWNoIG9mIHRoZSBmaWVsZHMKJGZpZWxkcyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGsgPT4gJHYgKQp7CiAgaWYoIHByZWdfbWF0Y2goJy9eaW5wdXRfLycsICRrICkgKQogICAgewogICAgICAkZmxkbmFtZSA9IHN1YnN0ciggJGssIHN0cmxlbignaW5wdXRfJykpOwogICAgICAkZmllbGRzWyRmbGRuYW1lXSA9ICR2OyAKICAgIH0KfQoKLy8gbm93IHZhbGlkYXRlCmZvcmVhY2goICRmbGRpbmZvIGFzICRuYW1lID0+ICR2YWwgKQp7CiAgLy8gd2UgZG9uJ3QgY2FyZSBhYm91dCBlbXB0eSBvcHRpb25hbCBvbmVzCiAgaWYoICR2YWxbM10gPT0gMiApCiAgICB7CiAgICAgIC8vIHByb2Nlc3MgZW1wdHkgcmVxdWlyZWQgZmllbGRzCiAgICAgIGlmKCAkdmFsWzFdID09IDYgKQoJewoJICBpZiggKCFpc3NldCgkX0ZJTEVTWyRpZC4naW5wdXRfJy4kbmFtZV0pIHx8ICRfRklMRVNbJGlkLidpbnB1dF8nLiRuYW1lXVsnc2l6ZSddID09IDApICYmCgkgICAgICAkdmFsWzVdID09ICcnKQoJICAgIHsKCSAgICAgIC8vIGEgcmVxdWlyZWQgaW1hZ2UgZmllbGQgaXMgZW1wdHkKCSAgICAgICRwYXJhbXMgPSBhcnJheV9tZXJnZSggJHBhcmFtcywgUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKSk7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJywkbmFtZSk7CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCX0KICAgICAgZWxzZSBpZiggIWlzc2V0KCRmaWVsZHNbJG5hbWVdKSB8fCAkZmllbGRzWyRuYW1lXSA9PSAnJyApCgl7CgkgIC8vIGEgcmVxdWlyZWQgb3RoZXIgdHlwZSBmaWVsZCBpcyBlbXB0eQoJICAkcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsIFJSVXRpbHM6OmV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICkpOwoJICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nLCRuYW1lKTsKCSAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2FkZHVzZXIyJywgJHJldHVybmlkLCRwYXJhbXMgKTsKCSAgcmV0dXJuOwoJfQogICAgfQoKICAvLyB2YWxpZGF0ZSBmaWxsZWQgaW4gZmllbGRzCiAgLy8gb3B0aW9uYWwsb3IgcmVxdWlyZWQuCiAgLy8gYW5kIGRvIHBvc3QgcHJvY2Vzc2luZwogIGlmKCBpc3NldCggJGZpZWxkc1skbmFtZV0gKSB8fCAkdmFsWzFdID09IDYgKQogICAgewogICAgICBzd2l0Y2goICR2YWxbMV0gKQoJewoJY2FzZSAwOiAvLyB0ZXh0CgkgIC8vIG5vdCBtdWNoIHdlIGNhbiBkbyB0byB2YWxpZGF0ZSBhIHRleHQgZmllbGQuCgkgIGJyZWFrOwoJY2FzZSAxOiAvLyBjaGVja2JveAoJICAvLyBvciBhIGNoZWNrYm94CgkgIGJyZWFrOwoJY2FzZSAyOiAvLyBlbWFpbAoJICAvLyBlbWFpbCBhZGRyZXNzZXMgY2FuIGJlIHZhbGlkYXRlZCB0aG91Z2gKCSAgYnJlYWs7CgljYXNlIDM6IC8vIHRleHRhcmVhCgkgIC8vIG1heWJlIHNpemU/CgkgIGJyZWFrOwoJY2FzZSA0OiAvLyBkcm9wZG93bgoJICAvLyBIb3cgY2FuIHdlIHZhbGlkYXRlIGEgZHJvcGRvd24/CgkgIGJyZWFrOwoJY2FzZSA1OiAvLyBtdWx0aXNlbGVjdAoJICAvLyBIb3cgY2FuIHdlIHZhbGlkYXRlIGEgbXVsdGktc2VsZWN0CgkgIGlmKCBpc19hcnJheSggJGZpZWxkc1skbmFtZV0gKSApCgkgICAgewoJICAgICAgLy8gY29udmVydCBpdCB0byBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IGZvciBzdG9yYWdlCgkgICAgICAkZmllbGRzWyRuYW1lXSA9IGltcGxvZGUoJywnLCRmaWVsZHNbJG5hbWVdKTsKCSAgICB9CgkgIGJyZWFrOwoJY2FzZSA2OiAvLyBpbWFnZQoJICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfJy4kbmFtZS4nX2NsZWFyJ10pICYmICRwYXJhbXNbJ2lucHV0XycuJG5hbWUuJ19jbGVhciddID09ICdjbGVhcicgKQoJICAgIHsKCSAgICAgIC8vIHdlJ3JlIHRvbGQgdG8gY2xlYXIgYW4gaW1hZ2UgcHJvcGVydHksIHdlIG11c3QgYWxzbwoJICAgICAgLy8gZGVsZXRlIHRoZSBpbWFnZQoJICAgICAgJGRlc3REaXIxID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKCSAgICAgICRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJICAgICAgJGZpbGUxID0gJGRlc3REaXIxLiR2YWxbNV07CgkgICAgICBAdW5saW5rKCAkZmlsZTEgKTsKCSAgICAgIAoJICAgICAgLy8gdW5zZXQgdGhlIGhpZGRlbiBwYXJhbSB0byBwcmV2ZW50IGFueSBmdXJ0aGVyIHByb2Nlc3NpbmcKCSAgICAgIHVuc2V0KCAkcGFyYW1zWydoaWRkZW5fJy4kbmFtZV0gKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAvLyBpbWFnZSB0eXBlcyBkb24ndCBoYXZlIGEgcGFyYW0gKGV2ZW4gaWYgd2UgaGF2ZSB1cGxvYWRlZCBhIGZpbGUpCgkgICAgICAvLyBzbyB3ZSBzZXQgb25lLgoJICAgICAgJGZpZWxkc1skbmFtZV0gPSAkdmFsWzVdOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICB9Cn0KCi8vIGdldCB0aGUgcGFybXMgZnJvbSB0aGUgZmlyc3Qgc3RlcAokcGFybXMxID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTsKICAgIAovLyBhbmQgbWVyZ2UgZW0gaW50byAkcGFyYW1zIHNvIHdlIGNhbiBhY3R1YWxseSBhZGQgdGhlIHVzZXIgYWNjb3VudAokcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsICRwYXJtczEgKTsKCi8vIG5vdyBmaW5kIG91dCB3aGljaCBncm91cHMgaGUncyBhIG1lbWJlciBvZgokZ3JwaWRzID0gYXJyYXkoKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAkayA9PiAkdiApCnsKICBpZiggcHJlZ19tYXRjaCgnL15tZW1iZXJvZl8vJywgJGsgKSApCiAgICB7CiAgICAgICRncnBpZHNbXSA9ICRwYXJhbXNbJGtdOwogICAgfQp9CgokdXNlcl9pZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICB7CiAgICAkdXNlcl9pZCA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKICB9CiBlbHNlIAogICB7CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXJyb3InLCAiMSIpOwogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ21lc3NhZ2UnLCAkcmV0WzFdICk7CiAgICAgJHRoaXMtPl9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgIHJldHVybjsJCiAgIH0KCiR1c2VybmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgewogICAgJHVzZXJuYW1lID0gJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXTsKICB9CiRwYXNzd29yZCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKSAmJiAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICE9ICcnICkKICB7CiAgICAkcGFzc3dvcmQgPSAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddOwogIH0KJGV4cGlyZXNkYXRlID0gc3RydG90aW1lKCcrMTAgeWVhcnMnLCB0aW1lKCkpOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2V4cGlyZXNkYXRlJ10gKSApCiAgewogICAgJGV4cGlyZXNkYXRlID0gJHBhcmFtc1snaW5wdXRfZXhwaXJlc2RhdGUnXTsKICB9CiAgICAKLy8gYW5kIFNldCB0aGUgdXNlcgokcmV0ID0gJHRoaXMtPlNldFVzZXIoICR1c2VyX2lkLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXNkYXRlICk7CmlmKCAkcmV0WzBdID09IGZhbHNlICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdlcnJvcicsICIxIik7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdtZXNzYWdlJywgJHJldFsxXSApOwogICAgJHRoaXMtPl9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgcmV0dXJuOwkKICB9CgovLyBhbmQgdGhlbiBhZGQgaGltIHRvIGhpcyBncm91cHMKJHJldCA9ICR0aGlzLT5TZXRVc2VyR3JvdXBzKCAkdXNlcl9pZCwgJGdycGlkcyApOwppZiggJHJldFswXSA9PSBmYWxzZSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXJyb3InLCAiMSIpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50YXNzaWdudXNlcicpICk7CiAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pbkFkZFVzZXJTdGVwMlBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICByZXR1cm47CQogIH0gCgovLyBhbmQgdGhlbiBhZGQgaGlzIHByb3BlcnRpZXMKLy8gZGVsZXRlIHRoZW0gYWxsIGZpcnN0IHRob3VnaAokdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5RnVsbCggIiIsICR1c2VyX2lkLCB0cnVlICk7CmZvcmVhY2goICRmaWVsZHMgYXMgJGsgPT4gJHYgKQp7CiAgJHZhbHMgPSYgJGZsZGluZm9bJGtdOwoKICBpZiggcHJlZ19tYXRjaCgnL19jbGVhciQvJywgJGsgKSApCiAgICB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogIAogIGlmKCAkdmFsc1sxXSA9PSA2ICkKICAgIHsKICAgICAgLy8gaW1hZ2UgdHlwZQogICAgICBpZiggaXNzZXQoJF9GSUxFU1skaWQuJ2lucHV0XycuJGtdKSAmJiAkX0ZJTEVTWyRpZC4naW5wdXRfJy4ka11bJ3NpemUnXSA+IDAgKQoJewoJICAvLyBpdCdzIGFuIHVwbG9hZGVkIGZpbGUgdHlwZQoJICAkcmVzdWx0ID0gJHRoaXMtPk1hbmFnZUltYWdlVXBsb2FkKCRpZCwnaW5wdXRfJywgJGssICR1c2VyX2lkLCAkdmFsc1syXSApOwoJICBpZiggJHJlc3VsdFswXSA9PSBmYWxzZSApCgkgICAgewoJICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3InKS4nJm5ic3A7Jy4kcmVzdWx0OwoJICAgICAgJHRoaXMtPl9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCSAgJHYgPSAkcmVzdWx0WzFdOwoJfQogICAgfQoKICAkcmV0ID0gJHRoaXMtPlNldFVzZXJQcm9wZXJ0eUZ1bGwoICRrLCAkdiwgJHVzZXJfaWQgKTsKICBpZiggJHJldCA9PSBmYWxzZSApCiAgICB7CiAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3InKTsKICAgICAgJHRoaXMtPl9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgICByZXR1cm47CiAgICB9Cn0KCi8vIGFuZCB3ZSdyZSBkb25lCi8vIHNlbmQgdGhlIGV2ZW50CiRldmVudF9wYXJhbXMgPSBhcnJheSgpOwokZXZlbnRfcGFyYW1zWyduYW1lJ10gPSAkdXNlcm5hbWU7CiRldmVudF9wYXJhbXNbJ2lkJ10gPSAkdXNlcl9pZDsKJHRoaXMtPlNlbmRFdmVudCgnT25VcGRhdGVVc2VyJywkZXZlbnRfcGFyYW1zKTsKCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAndXNlcnMnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_forgotpw.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmV0dXJudG8nXSApICkKICAgICAgewoJJHJldHVybmlkID0gJHBhcmFtc1snaW5wdXRfcmV0dXJudG8nXTsKICAgICAgfQogICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwogICAgcmV0dXJuOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSAgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwogICAgJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CiAgICAKLy8gc2VlIGlmIHdlIGNhbiBmaW5kIHRoaXMgdXNlcgokdWlkID0gJHRoaXMtPkdldFVzZXJJRCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApOwppZiggISR1aWQgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpOwogICAgJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBzZWUgaWYgd2UgY2FuIGRpZyB1cCBhbiBlbWFpbCBhZGRyZXNzIGZvciBoaW0KJGVtYWlsID0gZmFsc2U7CiRkZWZucyA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiRwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcyggJHVpZCApOwppZiggJHByb3BzICkgCiAgewogICAgLy8gd2UgaGF2ZSBwcm9wZXJ0aWVzIGZvciB0aGlzIHVzZXIKICAgIC8vIG5vdyBzZWUgaWYgd2UgaGF2ZSBhbiBlbWFpbCBmaWVsZAogICAgLy8gd2UncmUgZ29ubmEgaXRlcmF0ZSB0aHJvdWdoIHRoZSBwcm9wZXJ0aWVzIHRpbGwgb25lIGlzIGFuIGVtYWlsIHR5cGUKICAgIC8vIHRoZW4gd2UncmUgZ29ubmEgYXNrIHRoZSB1c2VyIGlmIHRoaXMgaXMgdGhlIHJpZ2h0IGFkZHJlc3MuLgogICAgZm9yZWFjaCggJHByb3BzIGFzICRwcm9wZSApCiAgICAgIHsKCWZvcmVhY2goICRkZWZucyBhcyAkZGVmbmUgKQoJICB7CgkgICAgaWYoICRwcm9wZVsndGl0bGUnXSA9PSAkZGVmbmVbJ25hbWUnXSAmJiAkZGVmbmVbJ3R5cGUnXSA9PSAyICYmICRlbWFpbCA9PSBmYWxzZSApCgkgICAgICB7CgkJLy8gZm91bmQgYSBtYXRjaCBhbmQgaXQncyBhbiBlbWFpbCBmaWVsZAoJCSRlbWFpbCA9ICRwcm9wZVsnZGF0YSddOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CgoJaWYoICRlbWFpbCAhPSBmYWxzZSApCgkgIHsKCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgaWYoICEkZW1haWwgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2VtYWlsYWRkcmVzcycpOwoJJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CglpZiggISRjbXNtYWlsZXIgKQoJICB7CgkgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vbWFpbGVybW9kdWxlJyk7CgkgICAgJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKCSAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CgkgICAgcmV0dXJuOwoJICB9CgoJLy8gd2UgZm91bmQgYW5lIG1haWwgYWRkcmVzcwoJLy8gZ2VuZXJhdGUgYSBjb2RlLCBhbmQgc3RvcmUgaXQgc29tZXBsYWNlCgkvLyBidXQgdGhhdCBtZWFucyB3ZSBnb3R0YSBjbGVhbiB0aGVzZSB0aGluZ3MgdXAKCS8vIGZyb20gdGltZSB0byB0aW1lLgoJJGNvZGUgPSAkdGhpcy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKCWlmKCAhJHRoaXMtPlNldFVzZXJUZW1wQ29kZSggJHVpZCwgJGNvZGUgKSApCgkgIHsKCSAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcmVzZXRhbHJlYWR5c2VudCcpOwoJICAgICRwYXJhbXNbJ2Zvcm0nXSA9ICdmb3Jnb3Rwdyc7CgkgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwoJICAgIHJldHVybjsKCSAgfQoKCS8vIHNlbmQgb3VyIGZ1bmt5IGVtYWlsCgkkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRmb3Jnb3RwYXNzd2QnKTsKCSRwaWQgPSAkcmV0dXJuaWQ7CglpZiggJHBhZ2UgKQoJICB7CgkgICAgJHRwaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkcGFnZSApOwoJICAgIGlmKCAkdHBpZCAhPSBmYWxzZSApICRwaWQgPSAkdHBpZDsKCSAgfQoKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJywKCQkJICAgICAgJHRoaXMtPkxhbmcoJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2NvZGUnLCR0aGlzLT5MYW5nKCdtZXNzYWdlX2NvZGUnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RhdGFfY29kZScsJGNvZGUpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbGluaycsJHRoaXMtPkxhbmcoJ3Byb21wdF9saW5rJykpOwoJJHBhcm1zID0gYXJyYXkoICdpbnB1dF91aWQnID0+ICR1aWQsICdpbnB1dF9jb2RlJyA9PiAkY29kZSApOwoJJGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ3ZlcmlmeWNvZGUnLCRwaWQsJycsJHBhcm1zLCAnJywgdHJ1ZSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RhdGFfbGluaycsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwndmVyaWZ5Y29kZScsJHBpZCwkbGluaywkcGFybXMpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZGF0YV91cmwnLCRsaW5rKTsKCgkkYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nKTsKCgkkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCAkZW1haWwgKTsKCSRjbXNtYWlsZXItPlNldEJvZHkoICRib2R5ICk7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CglpZiggc3RyaXBfdGFncygkYm9keSkgIT0gJGJvZHkgKQoJICB7CgkgICAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwoJICB9CgkkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5MYW5nKCdsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0JykpOwoJJGNtc21haWxlci0+U2VuZCgpOwoKCS8vIGFuZCB0ZWxsIHRoZSB1c2VyIHNvbWV0aGluZwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCcsJGVtYWlsKTsKCSRwYXJhbXNbJ3NraXBmb3JtZGlzcGxheSddID0gMTsKCSRwYXJhbXNbJ2Zvcm0nXSA9ICdmb3Jnb3Rwdyc7CgoJaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZXR1cm50byddICkgKQoJICB7CgkgICAgJHJldHVybmlkID0gJHBhcmFtc1snaW5wdXRfcmV0dXJudG8nXTsKCSAgfQoKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCRwYXJhbXMgKTsKCXJldHVybiAxOwogICAgICB9CiAgfQoKLy8gd2UgZm91bmQgbm8gZW1haWwgYWRkcmVzcwokcGFyYW1zWydlcnJvciddID0gMTsKJHBhcmFtc1snbWVzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY291bGRub3RmaW5kZW1haWwnKTsKJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_login.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKJGNhcHRjaGEgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXB0Y2hhJyk7CmlmKCBpc19vYmplY3QoJGNhcHRjaGEpICYmICFpc3NldCgkcGFyYW1zWydub2NhcHRjaGEnXSkgKQogIHsKICAgIGlmICghJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCcpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfbG9naW5mb3JtLnBocCcpOwoJcmV0dXJuOwogICAgICB9CiAgfQoJCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddICkgfHwgJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10gPT0gJycgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3VzZXJuYW1lJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24udXNlcl9sb2dpbmZvcm0ucGhwJyk7CiAgICByZXR1cm47CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10gKSB8fCAkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFzc3dvcmQnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi51c2VyX2xvZ2luZm9ybS5waHAnKTsKICAgIHJldHVybjsKICB9CgovLyBub3cgdmFsaWRhdGUgdGhlIHBhc3N3b3JkIGFuZCB1c2VybmFtZQppZiAoaXNzZXQoJHBhcmFtc1snb25seV9ncm91cHMnXSkpCiAgewogICAgJHJlc3VsdCA9ICR0aGlzLT5Mb2dpbiggJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10sICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddLCAkcGFyYW1zWydvbmx5X2dyb3VwcyddICk7CQkJCiAgfQogZWxzZQogICB7CiAgICAgJHJlc3VsdCA9ICR0aGlzLT5Mb2dpbiggJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10sICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddICk7CQogICB9CmlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJHJlc3VsdFsxXTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi51c2VyX2xvZ2luZm9ybS5waHAnKTsKICAgIHJldHVybjsKICB9CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAoJICAgICAgJHRoaXMtPkxhbmcoJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbicpLiI6ICIuJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10gKTsKCi8vCi8vIHdlJ3JlIGxvZ2dlZCBpbgovLwoKLy8gc3RvcmUgYSBjb29raWUgPwppZiggaXNzZXQoJHBhcmFtc1snZmV1X3JlbWVtYmVybWUnXSkgJiYKICAgICRwYXJhbXNbJ2ZldV9yZW1lbWJlcm1lJ10gPT0gMSkKICB7CiAgICAkdGhpcy0+U2V0TG9naW5Db29raWUoJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10sJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10pOwogIH0KCi8vIHJlZGlyZWN0IHNvbWV3aGVyZSA/CiRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicpOwppZiggaXNzZXQoICRwYXJhbXNbJ3JldHVybnRvJ10gKSApCiAgewogICAgJHBhZ2UgPSAkcGFyYW1zWydyZXR1cm50byddOwogIH0KCi8vIHJlcGxhY2UgeyR1c2VybmFtZX0gd2l0aCB0aGUgdXNlciBuYW1lCi8vIHdlIHNob3VsZCBkbyBhIGNoZWNrIHRvIHNlZSBpZiB0aGUgcGFnZSBleGlzdHMKJHBhZ2UgPSBzdHJfcmVwbGFjZSggIntcJHVzZXJuYW1lfSIsICRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddLCAkcGFnZSApOwoKLy8gcmVwbGFjZSB7JGdyb3VwbmFtZX0gd2l0aCB0aGUgZmlyc3QgZ3JvdXBuYW1lIHdlIGNhbiBmaW5kIHRoYXQgbWF0Y2hlcwokZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdGhpcy0+TG9nZ2VkaW5JZCgpICk7CiRncm91cG5hbWUgPSAkdGhpcy0+R2V0R3JvdXBOYW1lKCAkZ3JvdXBzWzBdWydncm91cGlkJ10gKTsKJHBhZ2UgPSBzdHJfcmVwbGFjZSggIntcJGdyb3VwfSIsICRncm91cG5hbWUsICRwYWdlICk7CgovLyBzZW5kIHRoZSBldmVudAokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ3VzZXJuYW1lJ10gPSAkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXTsKJHBhcm1zWydpcCddID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwokdGhpcy0+U2VuZEV2ZW50KCAnT25Mb2dpbicsICRwYXJtcyApOwoKaWYoICRwYWdlICkKICB7CiAgICAkaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkcGFnZSApOwogICAgaWYoICRpZCApCiAgICAgIHsKCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRpZCApOwoJcmV0dXJuOwogICAgICB9CiAgICBkaWUoICJjb3VsZG4ndCBnZXQgcGFnZWlkIGZvciAkcGFnZSIgKTsKICB9CiR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRyZXR1cm5pZCApOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_lostusername.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICFpc3NldCggJGdDbXMgKSApIHJldHVybjsKaWYoICFpc3NldCggJHBhcmFtc1snc3VibWl0J10gKSApCiAgewogICAgLy8gc2hvdWxkIG5ldmVyIGhhcHBlbgogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmV0dXJudG8nXSApICkKICB7CiAgICAkcmV0dXJuaWQgPSAkcGFyYW1zWydpbnB1dF9yZXR1cm50byddOwogIH0KCmZ1bmN0aW9uIF9oYW5kbGVFcnJvciggJGlkLCAmJG1vZHVsZSwgJHJldHVybmlkLCAkbWVzc2FnZSwgJHBhcmFtcyApCnsKICAkcGFyYW1zWydlcnJvciddID0gMTsKICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkbWVzc2FnZTsKICAkcGFyYW1zWydmb3JtJ10gPSAnbG9zdHVzZXJuYW1lJzsKICAkbW9kdWxlLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgovLwovLyBQcm9jZXNzIGNhcHRjaGEKLy8KJGNhcHRjaGEgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXB0Y2hhJyk7CmlmKCBpc19vYmplY3QoJGNhcHRjaGEpICYmICFpc3NldCggJHBhcmFtc1snbm9jYXB0Y2hhJ10pICkKICB7CiAgICBpZiggISRjYXB0Y2hhLT5DaGVja0NhcHRjaGEoJHBhcmFtc1snaW5wdXRfY2FwdGNoYSddKSApCiAgICAgIHsKCSAgX2hhbmRsZUVycm9yKCAkaWQsICR0aGlzLCAkcmV0dXJuaWQsIAoJCQkkdGhpcy0+TGFuZygnZXJyb3JfY2FwdGNoYW1pc21hdGNoJyksCgkJCSRwYXJhbXMpOwoJICByZXR1cm47CiAgICAgIH0KICB9CgovLwovLyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhc3N3b3JkIHdhcyBmaWxsZWQgb3V0IAovLwppZiggIWlzc2V0KCRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddKSB8fCAKICAgIHRyaW0oJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10pID09ICcnICkKICB7CiAgICBfaGFuZGxlRXJyb3IoICRpZCwgJHRoaXMsICRyZXR1cm5pZCwgCgkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyksCgkJICAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9CgovLwovLyBQcm9jZXNzIGFsbCBvZiB0aGUgcGFyYW1zLCB0aGF0IGhhdmUgYm90aCBhbiBmZXVfaGlkZGVuIGFuZCBmZXVfaW5wdXQgZmllbGQKLy8gZXh0cmFjdCB0aGUgcHJvcGVydHkgbmFtZXMgb3V0IG9mIHRoZW0KLy8KJGZpZWxkcyA9IGFycmF5KCk7CiRmaXJzdHByb3AgPSAnJzsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApCnsKICBpZiggcHJlZ19tYXRjaCggJy9eZmV1X2hpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCAka2V5LCBzdHJsZW4oJ2ZldV9oaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCR2YWx1ZSk7CgogICAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0pIHx8CgkgICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0gPT0gJycpCgl7CgkgIF9oYW5kbGVFcnJvciggJGlkLCAkdGhpcywgJHJldHVybmlkLCAKCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcXVpcmVkZmllbGQnLCRwcm9wbmFtZSksCgkJCSRwYXJhbXMpOwoJICByZXR1cm47Cgl9CgogICAgICBpZiggJGZpcnN0cHJvcCA9PSAnJyApICRmaXJzdHByb3AgPSAkcHJvcG5hbWU7CiAgICAgICRmaWVsZHNbJHByb3BuYW1lXSA9IGFycmF5KCk7CiAgICAgICRmaWVsZHNbJHByb3BuYW1lXVsnaW5wdXQnXSA9ICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV07CiAgICB9Cn0KCi8vCi8vIE5vdywgdHJ5IHRvIGZpbmQgYSB1c2VyaWQvdXNlcm5hbWUKLy8gdGhhdCBtYXRjaCB0aGVzZSBwcm9wZXJ0aWVzCi8vCiRxdWVyeSA9ICJTRUxFQ1QgdXNlcmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMKICAgICAgICAgICBXSEVSRSB0aXRsZSA9ID8gQU5EIGRhdGEgPSA/IjsKJG5ld2ZpZWxkcyA9IGFycmF5KCk7CmZvcmVhY2goICRmaWVsZHMgYXMgJHByb3BuYW1lID0+ICRkYXRhICkKewogICRtYXRjaGVzID0gYXJyYXkoKTsKICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHByb3BuYW1lLCRkYXRhWydpbnB1dCddKSApOwogIHdoaWxlKCAkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICB7CiAgICAgICRtYXRjaGVzW10gPSAkcm93Wyd1c2VyaWQnXTsKICAgIH0KCiAgaWYoIGNvdW50KCRtYXRjaGVzKSA9PSAwICkKICAgIHsKICAgICAgLy8gbm8gbWF0Y2hlcywgd2UgY2FuIHN0b3AgaGVyZQogICAgICBfaGFuZGxlRXJyb3IoICRpZCwgJHRoaXMsICRyZXR1cm5pZCwgCgkJICAgICR0aGlzLT5MYW5nKCdlcnJvcl9jYW50ZmluZHVzZXInKSwgJHBhcmFtcyApOwogICAgICByZXR1cm47CiAgICB9CgogIC8vIHN0b3JlIHRoZSByZXN1bHRzCiAgJGRhdGFbJ21hdGNoZXMnXSA9ICRtYXRjaGVzOwogICRuZXdmaWVsZHNbJHByb3BuYW1lXSA9ICRkYXRhOwp9CgokZmllbGRzID0gJG5ld2ZpZWxkczsKCi8vIG5vdyBnbyB0aHJvdWdoIGVhY2ggb2YgdGhlIG1hdGNoZXMgYXJyYXlzLCBhbmQgZmluZCBhbGwgb2YgdGhlCi8vIHVzZXJpZHMgdGhhdCBhcmUgdGhlIHNhbWUgaW4gZWFjaCByb3cKJGdvb2R1aWRzID0gYXJyYXkoKTsKJGZpcnN0dWlkcyA9JiAkZmllbGRzWyRmaXJzdHByb3BdWydtYXRjaGVzJ107CmZvcmVhY2goICRmaXJzdHVpZHMgYXMgJGZpcnN0dWlkICkKewogICRmb3VuZCA9IHRydWU7CiAgZm9yZWFjaCggJGZpZWxkcyBhcyAkcHJvcG5hbWUgPT4gJGRhdGEgKQogICAgewogICAgICBpZiggJHByb3BuYW1lID09ICRmaXJzdHByb3AgKQoJewoJICBjb250aW51ZTsKCX0KCiAgICAgIGlmKCBhcnJheV9zZWFyY2goICRmaXJzdHVpZCwgJGRhdGFbJ21hdGNoZXMnXSwgdHJ1ZSApID09PSBGQUxTRSApCgl7CgkgIC8vIHRoaXMgZmlyc3R1aWQgdWlkIGZhaWxzLgoJICAkZm91bmQgPSBmYWxzZTsKCSAgYnJlYWs7Cgl9CiAgICB9CiAgaWYoICRmb3VuZCA9PSB0cnVlICkKICAgIHsKICAgICAgJGdvb2R1aWRzW10gPSAkZmlyc3R1aWQ7CiAgICB9Cn0KCmlmKCBjb3VudCggJGdvb2R1aWRzICkgPiAxICkKICB7CiAgICAvLyBub24gdW5pcXVlIG1hdGNoCiAgICBfaGFuZGxlRXJyb3IoICRpZCwgJHRoaXMsICRyZXR1cm5pZCwgCgkJICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9udW5pcXVlbWF0Y2gnKSwgJHBhcmFtcyk7CiAgICByZXR1cm47CiAgfQoKJHVpZCA9ICRnb29kdWlkc1swXTsKCi8vCi8vIENvbmZpcm0gdGhlIHBhc3N3b3JkCi8vCiR1c2VybmFtZSA9ICR0aGlzLT5HZXRVc2VyTmFtZSgkdWlkKTsKaWYoICEkdXNlcm5hbWUgKQogIHsKICAgIC8vIG5vdyB0aGlzIGlzIHdhcnBlZAogICAgX2hhbmRsZUVycm9yKCAkaWQsICR0aGlzLCAkcmV0dXJuaWQsIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpLCAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9CiRwdyA9ICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddOwppZiggISR0aGlzLT5DaGVja1Bhc3N3b3JkKCAkdXNlcm5hbWUsICRwdyApICkKICB7CiAgICAvLyBub3cgdGhpcyBpcyB3YXJwZWQKICAgIF9oYW5kbGVFcnJvciggJGlkLCAkdGhpcywgJHJldHVybmlkLCAKCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9sb2dpbmZhaWxlZCcpLCAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9CgovLwovLyBZYWhvbywgd2UgbWFkZSBpdAovLwoKLy8gZGlzcGxheSBhIHdhcm0gYW5kIGZ1enp5IG1lc3NhZ2UKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfeW91cnVzZXJuYW1laXMnLCR0aGlzLT5MYW5nKCd5b3VyX3VzZXJuYW1lX2lzJykpOwokc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkdXNlcm5hbWUpOwokc21hcnR5LT5hc3NpZ24oJ3ByZW1zZycsJHRoaXMtPkxhbmcoJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJykpOwokc21hcnR5LT5hc3NpZ24oJ3Bvc3Rtc2cnLCR0aGlzLT5MYW5nKCdsb3N0dW5jb25maXJtX3Bvc3Rtc2cnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZldXNlcnNfbG9zdHVuZm9ybV9jb25maXJtJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXRwcmVmcycgKSApCiAgewogICAgcmV0dXJuOwogIH0KCmdsb2JhbCAkZ0NtczsKJGRiID0mICRnQ21zLT5HZXREQigpOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZWFsbCddICkgKQogIHsKICAgICR0aGlzLT5FeHBpcmVUZW1wQ29kZXMoJy01IHllYXJzJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3ByZWZzJyk7CiAgfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMXdlZWsnXSApICkKICB7CiAgICAkdGhpcy0+RXhwaXJlVGVtcENvZGVzKCctMSB3ZWVrJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3ByZWZzJyk7CiAgfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMW1vbnRoJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZVRlbXBDb2RlcygnLTEgbW9udGgnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydjYW5jZWwnXSApICkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3ByZWZzJyApOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbWlucHdsZW4nXSApICYmIAogICAgaXNzZXQoICRwYXJhbXNbJ2lucHV0X21heHB3bGVuJ10gKSApCiAgewogICAgaWYoICRwYXJhbXNbJ2lucHV0X21pbnB3bGVuJ10gPj0gJHBhcmFtc1snaW5wdXRfbWF4cHdsZW4nXSB8fAoJJHBhcmFtc1snaW5wdXRfbWlucHdsZW4nXSA8PSAwICkKICAgICAgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnKSApOwoJcmV0dXJuOwogICAgICB9CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWluX3Bhc3N3b3JkbGVuZ3RoJywkcGFyYW1zWydpbnB1dF9taW5wd2xlbiddKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnLCRwYXJhbXNbJ2lucHV0X21heHB3bGVuJ10pOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbWludW5sZW4nXSApICYmIAogICAgaXNzZXQoICRwYXJhbXNbJ2lucHV0X21heHVubGVuJ10gKSApCiAgewogICAgaWYoICRwYXJhbXNbJ2lucHV0X21pbnVubGVuJ10gPj0gJHBhcmFtc1snaW5wdXRfbWF4dW5sZW4nXSB8fAoJJHBhcmFtc1snaW5wdXRfbWludW5sZW4nXSA8PSAwICkKICAgICAgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnKSApOwoJcmV0dXJuOwogICAgICB9CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWluX3VzZXJuYW1lbGVuZ3RoJywkcGFyYW1zWydpbnB1dF9taW51bmxlbiddKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnLCRwYXJhbXNbJ2lucHV0X21heHVubGVuJ10pOwogIH0KCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyX3Nlc3Npb25fZXhwaXJlcycsICRwYXJhbXNbJ2lucHV0X3Nlc3Npb250aW1lb3V0J10pOwoKJGNvb2tpZV9rZWVwYWxpdmUgPSAwOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2Nvb2tpZWtlZXBhbGl2ZSddICkgKQogIHsKICAgICRjb29raWVfa2VlcGFsaXZlID0gJHBhcmFtc1snaW5wdXRfa2VlcGFsaXZlJ107CiAgfQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29va2llX2tlZXBhbGl2ZScsJGNvb2tpZV9rZWVwYWxpdmUpOwoKJHVzZWNvb2tpZXN0b3JlbWVtYmVyID0gMDsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2Vjb29raWVzdG9yZW1lbWJlciddICkgKQogIHsKICAgICR1c2Vjb29raWVzdG9yZW1lbWJlciA9ICRwYXJhbXNbJ2lucHV0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ107CiAgfQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlY29va2llc3RvcmVtZW1iZXInLCR1c2Vjb29raWVzdG9yZW1lbWJlcik7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScsJHBhcmFtc1snaW5wdXRfY29va2llbmFtZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnLCAkcGFyYW1zWydpbnB1dF9kZmx0Z3JvdXAnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaWduaW5fYnV0dG9uJywgJHBhcmFtc1snaW5wdXRfc2lnbmluX2J1dHRvbiddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsICRwYXJhbXNbJ2lucHV0X3JlcXVpcmVkZmllbGRtYXJrZXInXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsICRwYXJhbXNbJ2lucHV0X3JlcXVpcmVkZmllbGRjb2xvciddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfb25lZ3JvdXAnLCAkcGFyYW1zWydpbnB1dF9yZXF1aXJlb25lZ3JvdXAnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfbWFya2VyJywgJHBhcmFtc1snaW5wdXRfaGlkZGVuZmllbGRtYXJrZXInXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfY29sb3InLCAkcGFyYW1zWydpbnB1dF9oaWRkZW5maWVsZGNvbG9yJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkZm9yZ290cGFzc3dkJywgJHBhcmFtc1snaW5wdXRfZm9yZ290cHdfcGFnZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9jaGFuZ2VzZXR0aW5ncycsICRwYXJhbXNbJ2lucHV0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9naW4nLCAkcGFyYW1zWydpbnB1dF9sb2dpbl9wYWdlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2xvZ291dCcsICRwYXJhbXNbJ2lucHV0X2xvZ291dF9wYWdlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2FmdGVydmVyaWZ5JywKCQkgICAgICRwYXJhbXNbJ2lucHV0X2FmdGVyX3ZlcmlmeV9jb2RlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX2VtYWlscycsICRwYXJhbXNbJ2lucHV0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJywgJHBhcmFtc1snaW5wdXRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X3JlcGVhdGVkX2xvZ2lucycsJHBhcmFtc1snaW5wdXRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnLCAkcGFyYW1zWydpbnB1dF9wd2ZsZGxlbiddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJywgJHBhcmFtc1snaW5wdXRfdW5mbGRsZW4nXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJywkcGFyYW1zWydpbnB1dF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywkcGFyYW1zWydpbnB1dF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSk7CiAgICAKJHF1ZXJ5ID0gIlNFTEVDVCBwZXJtaXNzaW9uX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuInBlcm1pc3Npb25zIFdIRVJFIHBlcm1pc3Npb25fbmFtZSBMSUtFICdGRVUgJSciOwokY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnkpOwoKJGZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMgPSAwOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSApICkKICAkZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyA9ICRwYXJhbXNbJ2lucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnLCRmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zKTsKCmlmIChpc3NldCgkcGFyYW1zWydpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10pICYmICRwYXJhbXNbJ2lucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXT09MSkKICB7CiAgICAvLyB1c2luZyBGRVVzZXItc3BlY2lmaWMgcGVybWlzc2lvbnMsIHNvIGNyZWF0ZSB0aGVtIGlmIG5lY2Vzc2FyeQogICAgaWYgKGludHZhbCgkY291bnQpID09IDApCiAgICAgIHsKCS8vIGNyZWF0ZSAnZW0KCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdGRVUgQWRkIFVzZXJzJywnQWRkIEZyb250LUVuZCBVc2VycycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVXNlcnMnLCdNb2RpZnkgRnJvbnQtRW5kIFVzZXJzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIFJlbW92ZSBVc2VycycsJ1JlbW92ZSBGcm9udC1FbmQgVXNlcnMnKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdGRVUgQWRkIEdyb3VwcycsJ0FkZCBGcm9udC1FbmQgVXNlciBHcm91cHMnKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IEdyb3VwcycsJ01vZGlmeSBGcm9udC1FbmQgVXNlciBHcm91cHMnKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IEdyb3VwIEFzc2lnbm1lbnRzJywnTW9kaWZ5IEZyb250LUVuZCBVc2VyIEdyb3VwIEFzc2lnbm1lbnRzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIFJlbW92ZSBHcm91cHMnLCdSZW1vdmUgRnJvbnQtRW5kIFVzZXIgR3JvdXBzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIE1vZGlmeSBTaXRlIFByZWZlcmVuY2VzJywnTW9kaWZ5IEZyb250LUVuZCBVc2VycyBTaXRlIFByZWZzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycsJ01vZGlmeSBGcm9udC1FbmQgVXNlciBQcm9wZXJ0aWVzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIE1vZGlmeSBUZW1wbGF0ZXMnLCdNb2RpZnkgRnJvbnQtRW5kIFVzZXIgVGVtcGxhdGVzJyk7CiAgICAgIH0KICB9CiBlbHNlCiAgIHsKICAgICAvLyBzaGFyaW5nIGFjY2VzcyBwZXJtaXNzaW9ucyB3aXRoIEFkbWluLCBzbyBkZWxldGUgRkVVc2VyLXNwZWNpZmljIHBlcm1pc3Npb25zIGlmIG5lY2Vzc2FyeQogICAgIGlmIChpbnR2YWwoJGNvdW50KSAhPSAwKQogICAgICAgewoJIC8vIGRlbGV0ZSAnZW0KCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIEFkZCBVc2VycycpOwoJICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFVzZXJzJyk7CgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBSZW1vdmUgVXNlcnMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIEFkZCBHcm91cHMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cHMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cCBBc3NpZ25tZW50cycpOwoJICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgUmVtb3ZlIEdyb3VwcycpOwoJICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwoJICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFRlbXBsYXRlcycpOwogICAgICAgfQogICB9CiAgICAKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_userchangesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIGlmKCBpc3NldCgkcGFyYW1zWydmZXVfY2FuY2VsJ10pICkgCiAgICAgIHsKCWlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0X3JldHVybnRvJ10gKSApCgkgIHsKCSAgICAkcmV0dXJuaWQgPSAkcGFyYW1zWydmZXVfaW5wdXRfcmV0dXJudG8nXTsKCSAgfQoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwogICAgICB9CgogICAgJHVpZCA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCA9PSBmYWxzZSApIAogICAgICB7CgkvLyB1c2VyIGlzbid0IGxvZ2dlZCBpbgoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbicpKTsKCXJldHVybjsKICAgICAgfQogICAgJHJlc3VsdCA9ICR0aGlzLT5HZXRVc2VySW5mbyggJHVpZCApOwogICAgaWYoICRyZXN1bHRbMF0gPT0gRkFMU0UgKQogICAgICB7CgkvLyB1c2VyIGlzbid0IGxvZ2dlZCBpbgoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICRyZXN1bHRbMV0pOwoJcmV0dXJuOwogICAgICB9CiAgICAkdWluZm8gPSAkcmVzdWx0WzFdOwoKICAgICRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10pOwogICAgJHJlcGVhdCAgID0gdHJpbSgkcGFyYW1zWydmZXVfaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICRyZXBlYXQgJiYgJHBhc3N3b3JkICE9ICcnKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZG1pc21hdGNoJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnY2hhbmdlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgICAgfQoKICAgIC8vIGRvIHZhbGlkYXRpb24gb2YgdGhlIGZpZWxkcy4KICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKICAgIHsKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXmZldV9oaWRkZW5fLycsICRrZXkgKSApCgl7CgkgICRwcm9wbmFtZSA9IHN1YnN0ciggJGtleSwgc3RybGVuKCdmZXVfaGlkZGVuXycpKTsKCSAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCSAgJHJlcXVpcmVkID0gJGFyclszXTsKCgkgIGlmKCAkcmVxdWlyZWQgPT0gMiApCgkgICAgewoJICAgICAgLy8KCSAgICAgIC8vIHZhbGlkYXRlIGEgcmVxdWlyZWQgZmllbGQuCgkgICAgICAvLwoJICAgICAgaWYoICRhcnJbMV0gPT0gNiApCgkJewoJCSAgLy8gaXQncyBhbiBpbWFnZSB0eXBlCgkJICBpZiggKCFpc3NldCgkX0ZJTEVTWyRpZC4nZmV1X2lucHV0XycuJHByb3BuYW1lXSkgfHwgJF9GSUxFU1skaWQuJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV1bJ3NpemUnXSA9PSAwKSAmJgoJCSAgICAgICRhcnJbNF0gPT0gJycpCgkJICAgIHsKCQkgICAgICAvLyBidXQgd2UgY2FuJ3QgZmluZCBhIHZhbHVlCgkJICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcXVpcmVkZmllbGQnLCRwcm9wbmFtZSk7CgkJICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdjaGFuZ2VzZXR0aW5ncycsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJCSAgICB9CgkJfQoJICAgICAgZWxzZSBpZiggIWlzc2V0KCRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0pIHx8ICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0gPT0gJycgKQoJCXsKCQkgIC8vIGl0J3Mgc29tZSBvdGhlciB0eXBlIG9mIHJlcXVpcmVkIGZpZWxkLgoJCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcmVxdWlyZWRmaWVsZCcsJHByb3BuYW1lKTsKCQkgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnY2hhbmdlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCQl9CgkgICAgfQoKCSAgLy8KCSAgLy8gc29tZSBhZHZhbmNlZCB2YWxpZGF0aW9uCgkgIC8vIGFuZCBwb3N0IHByb2Nlc3NpbmcKCSAgLy8KCSAgaWYoICRhcnJbMV0gPT0gJzInICYmICRyZXF1aXJlZCA9PSAyICkgLy8gZW1haWwgZmllbGQKCSAgICB7CgkgICAgICAkcmVzdWx0ID0gJHRoaXMtPklzVmFsaWRFbWFpbEFkZHJlc3MoICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0sCQkJCQkJCQkJCQkJJHVpZCApOwoJICAgICAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQoJCXsKCQkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnKS4nICcuJHJlc3VsdFsxXTsKCQkgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnY2hhbmdlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCQl9CgkgICAgfQoKCSAgaWYoICRhcnJbMV0gPT0gJzUnICkgLy8gbXVsdGlzZWxlY3QKCSAgICB7CgkgICAgICAvLyBlbmNvZGUgaXQgaW50byBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0LgoJICAgICAgJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSA9IGltcGxvZGUoJywnLCRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0gKTsKCSAgICB9CgoJICBpZiggJGFyclsxXSA9PSAnNicgKSAvLyBpbWFnZSB0eXBlCgkgICAgewoJICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWUuJ19jbGVhciddICkgJiYKCQkgICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZS4nX2NsZWFyJ10gPT0gJ2NsZWFyJyApCgkJewoJCSAgLy8gd2UncmUgdG9sZCB0byBjbGVhciBhbiBpbWFnZSBwcm9wZXJ0eSwgd2UgbXVzdCBhbHNvCgkJICAvLyBkZWxldGUgdGhlIGltYWdlLgoJCSAgJGRlc3REaXIxID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkgICRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJCSAgJGZpbGUxID0gJGRlc3REaXIxLiRhcnJbNF07CgkJICBAdW5saW5rKCAkZmlsZTEgKTsKCgkJICAvLyB1bnNldCB0aGUgaGlkZGVuIHBhcmFtIHRvIHByZXZlbnQgYW55IGZ1cnRoZXIgcHJvY2Vzc2luZwoJCSAgdW5zZXQoICRwYXJhbXNbJ2ZldV9oaWRkZW5fJy4kcHJvcG5hbWVdICk7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgIC8vIGltYWdlIHR5cGVzIGRvbid0IGhhdmUgYSBwYXJhbSAoZXZlbiBpZiB3ZSBoYXZlIHVwbG9hZGVkIGEgZmlsZSkKCQkgIC8vIHNvIHdlIHNldCBvbmUuCgkJICAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdID0gJGFycls0XTsKCQl9CgkgICAgfQoJfQoKICAgIH0KCiAgICAvLwogICAgLy8gbm93IHdlIGFjdHVhbGx5IGNoYW5nZSB0aGUgdXNlciBzZXR0aW5ncwogICAgLy8KCiAgICAvLyBwYXNzd29yZAogICAgaWYoICRwYXNzd29yZCAhPSAnJykKICAgICAgewoJJHJlc3VsdCA9ICR0aGlzLT5TZXRVc2VyKCAkdWlkLCAkdWluZm9bJ3VzZXJuYW1lJ10sICRwYXNzd29yZCApOwoJaWYoICRyZXN1bHRbMF0gPT0gRkFMU0UgKQoJICB7CgkgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbycpLicgJy4kcmVzdWx0WzFdOwoJICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnY2hhbmdlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCSAgfQogICAgICB9CgogICAgLy8KICAgIC8vIHNvcnJ5LCBidXQgY2hhbmdpbmcgeW91ciBzZXR0aW5ncyBpbnZhbGlkYXRlcyB0b28KICAgIC8vCiAgICAkdGhpcy0+X0F0dGVtcHRJbnZhbGlkYXRlTG9naW5Db29raWUoKTsKCiAgICAvLwogICAgLy8gbm93IGRlbGV0ZSBhbGwgdGhlIHByb3BlcnRpZXMgZm9yIHRoaXMgdXNlcgogICAgLy8gaW4gcHJlcGFyYXRpb24gZm9yIHNldHRpbmcgbmV3IG9uZXMuCiAgICAvLwogICAgJHRoaXMtPkRlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoICIiLCAkdWlkLCB0cnVlICk7CgogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQogICAgewogICAgICBpZiggcHJlZ19tYXRjaCggJy9wYXNzd29yZCQvJywgJGtleSApICkKCXsKCSAgY29udGludWU7Cgl9CgogICAgICBpZiggcHJlZ19tYXRjaCgnL19jbGVhciQvJywgJGsgKSApCgl7CgkgIGNvbnRpbnVlOwoJfQoKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXmZldV9oaWRkZW5fLycsICRrZXkgKSApCgl7CgkgICRwcm9wbmFtZSA9IHN1YnN0ciggJGtleSwgc3RybGVuKCdmZXVfaGlkZGVuXycpKTsKCSAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCgkgIGlmKCAkYXJyWzFdID09IDYgKQoJICAgIHsKCSAgICAgIC8vIGltYWdlIHR5cGUKCSAgICAgICR2YWwgPSAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdOwoJICAgICAgaWYoIGlzc2V0KCAkX0ZJTEVTWyRpZC4nZmV1X2lucHV0XycuJHByb3BuYW1lXSApICYmCgkJICAkX0ZJTEVTWyRpZC4nZmV1X2lucHV0XycuJHByb3BuYW1lXVsnc2l6ZSddID4gMCkKCQl7CgkJICAvLyBJdCBpcyBhbiB1cGxvYWQgZmlsZSB0eXBlCgkJICAkcmVzdWx0ID0gJHRoaXMtPk1hbmFnZUltYWdlVXBsb2FkKCRpZCwgJ2ZldV9pbnB1dF8nLCAkcHJvcG5hbWUsICR1aWQsICRhcnJbMl0gKTsKCQkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCQkgICAgewoJCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcicpLicmbmJzcDsnLiRyZXN1bHRbMV07CgkJICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdjaGFuZ2VzZXR0aW5ncycsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJCSAgICB9CgkJICAkdmFsID0gJHJlc3VsdFsxXTsKCQl9CgkgICAgfQoJICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSApICkKCSAgICB7CgkgICAgICAkdmFsID0gJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXTsKCSAgICB9CgkgIGVsc2UgCgkgICAgewoJICAgICAgY29udGludWU7CgkgICAgfQoKCSAgJHJldCA9ICR0aGlzLT5TZXRVc2VyUHJvcGVydHlGdWxsKCAkcHJvcG5hbWUsICR2YWwsICR1aWQgKTsKCSAgaWYoICRyZXQgPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eScpLicgJy4kcHJvcG5hbWU7CgkgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgICAgICByZXR1cm47CgkgICAgfQoJfQogICAgfQoKLy8gc2VuZCB0aGUgZXZlbnQKJGV2ZW50X3BhcmFtcyA9IGFycmF5KCk7CiRldmVudF9wYXJhbXNbJ25hbWUnXSA9ICR1aW5mb1sndXNlcm5hbWUnXTsKJGV2ZW50X3BhcmFtc1snaWQnXSA9ICR1aWQ7CiR0aGlzLT5TZW5kRXZlbnQoJ09uVXBkYXRlVXNlcicsJGV2ZW50X3BhcmFtcyk7CgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcmV0dXJudG8nXSApICkKICAgICAgewoJJGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhcmFtc1snZmV1X2lucHV0X3JldHVybnRvJ10gKTsKCWlmKCAkaWQgKQoJICB7CgkgICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCggJGlkICk7CgkgICAgcmV0dXJuOwoJICB9CiAgICAgIH0KCiAgICAvLyBhbmQgcmVkaXJlY3QgYmFjayB0byBkZWZhdWx0CiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCBDb250ZW50TWFuYWdlcjo6R2V0RGVmYXVsdFBhZ2VJRCgpICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.editgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXRncm91cHMnICkgKQogIHsKICAgIHJldHVybjsKICB9CgppZiggIWlzc2V0KCAkcGFyYW1zWydncm91cF9pZCddICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nICgnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwogICAgcmV0dXJuOwogIH0KCi8vIG5vdyBnZXQgdGhlIGdyb3VwIGluZm8KJGdyb3VwID0gJHRoaXMtPkdldEdyb3VwSW5mbyggJHBhcmFtc1snZ3JvdXBfaWQnXSApOwppZiggIWlzc2V0KCAkZ3JvdXBbJ2lkJ10gKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJGdyb3VwWzFdICk7CgkJCQkgCiAgICByZXR1cm47CiAgfQoKLy8gcG9wdWxhdGUgdGhlIHRlbXBsYXRlCmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkcGFyYW1zWydlcnJvciddKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsJHBhcmFtc1snbWVzc2FnZSddKTsKICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+TGFuZygnZWRpdGdyb3VwJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsIAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnZ3JvdXBfaWQnLCAkZ3JvdXBbJ2lkJ10gKSApOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLAoJCQkJCSAgICAgICdkb19lZGl0Z3JvdXAnLAoJCQkJCSAgICAgICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSR0aGlzLT5MYW5nKCdzdWJtaXQnKSwgJycsICcnLCAKCQkJCQkJJHRoaXMtPkxhbmcoJ2NvbmZpcm1fZWRpdGdyb3VwJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2dyb3VwbmFtZScsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X2dyb3VwbmFtZScsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQgKCRpZCwgJ2lucHV0X2dyb3VwbmFtZScsCgkJCQkJICAgICAgICRncm91cFsnZ3JvdXBuYW1lJ10sIDIwLCA4MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdwcm9tcHRfZ3JvdXBkZXNjJywKCQkgICAgICAgJHRoaXMtPkxhbmcgKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRfZ3JvdXBkZXNjJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCAoJGlkLCAnaW5wdXRfZ3JvdXBkZXNjJywKCQkJCQkgICAgICAgJGdyb3VwWydncm91cGRlc2MnXSwgODAsIDI1NSkpOwoKLy8gZGlzcGxheSBhIGxpc3Qgb2YgdGhlIHByb3BlcnRpZXMgaW4gYSBmb3JtCi8vIHRvIGFsbG93IHRoZSB1c2VyIHRvIHBpY2sgd2hpY2ggb25lcyBhcmUgcmVxdWlyZWQgYW5kIHdoaWNoIG9uZXMgYXJlbnQuCiRwcm9wZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiRncm91cHByb3BtYXAgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdyb3VwWydpZCddICk7CiRyb3dhcnJheSA9IGFycmF5KCk7CiRyb3djbGFzcyA9ICdyb3cxJzsKJGtleXMgPSBhcnJheV9rZXlzKCR0aGlzLT50eXBlcyk7CiRvcHRpb25zID0gYXJyYXkoICR0aGlzLT5MYW5nKCdvZmYnKSA9PiAwLAoJCSAgJHRoaXMtPkxhbmcoJ29wdGlvbmFsJykgPT4gMSwKCQkgICR0aGlzLT5MYW5nKCdyZXF1aXJlZCcpID0+IDIsCgkJICAkdGhpcy0+TGFuZygnaGlkZGVuJykgPT4gMywKCQkgICR0aGlzLT5MYW5nKCdyZWFkb25seScpID0+IDQpOwpmb3JlYWNoKCAkcHJvcGRlZm4gYXMgJGRlZm4gKQp7CiAgLy8gZmluZCB0aGUgZ3JvdXAgcHJvcGVydHkgbWFwIGZvciB0aGlzIGdyb3VwCiAgLy8gaWYgaXQgZXhpc3RzLCBpZiBpdCBkb2Vzbid0LCB0aGVuIHRoZSB2YWx1ZSBpcyAtMQogICRzZWxlY3RlZHZhbHVlID0gMDsKICAkc29ydG9yZGVyID0gJyc7CiAgJGxvc3R1bmZsYWcgPSAwOwogIGZvcmVhY2goICRncm91cHByb3BtYXAgYXMgJG1hcCApCiAgICB7CiAgICAgIGlmKCAkbWFwWyduYW1lJ10gPT0gJGRlZm5bJ25hbWUnXSApCgl7CgkgICRzZWxlY3RlZHZhbHVlID0gJG1hcFsncmVxdWlyZWQnXTsKCSAgJHNvcnRvcmRlciA9ICRtYXBbJ3NvcnRfa2V5J107CgkgICRsb3N0dW5mbGFnID0gJG1hcFsnbG9zdHVuZmxhZyddOwoJICBicmVhazsKCX0KICAgIH0KICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgJG9uZXJvdy0+bmFtZSA9ICRkZWZuWyduYW1lJ107CiAgJG9uZXJvdy0+cHJvbXB0ID0gJGRlZm5bJ3Byb21wdCddOwogICRvbmVyb3ctPnR5cGUgPSAkdGhpcy0+TGFuZygka2V5c1skZGVmblsndHlwZSddXSk7CiAgJG9uZXJvdy0+c29ydG9yZGVyID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfc29ydG9yZGVyXycuJGRlZm5bJ25hbWUnXSwKCQkJCQkgICAgICAgJHNvcnRvcmRlciwgMywgMik7CiAgJG9uZXJvdy0+cmVxdWlyZWQgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnaW5wdXRfcmVxdWlyZWRfJy4kZGVmblsnbmFtZSddLAoJCQkJCQkgICRvcHRpb25zLC0xLCRzZWxlY3RlZHZhbHVlICApOwoKICBpZiggJGRlZm5bJ3R5cGUnXSAhPSA2ICkKICAgIHsKICAgICAgJG9uZXJvdy0+YXNraW5sb3N0dW4gPQoJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2lucHV0X2xvc3R1bl8nLiRkZWZuWyduYW1lJ10sIDEsICRsb3N0dW5mbGFnICk7CiAgICB9CiAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgogIGFycmF5X3B1c2ggKCRyb3dhcnJheSwgJG9uZXJvdyk7CiAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3BzJywgJHJvd2FycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wY291bnQnLGNvdW50KCRyb3dhcnJheSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywkdGhpcy0+TGFuZygnbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3Byb21wdCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBldGV4dCcsJHRoaXMtPkxhbmcoJ3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc29ydG9yZGVydGV4dCcsJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmaWVsZHN0YXR1c3RleHQnLCR0aGlzLT5MYW5nKCdmaWVsZHN0YXR1cycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VkaW5sb3N0dW50ZXh0JywkdGhpcy0+TGFuZygndXNlZGlubG9zdHVuJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlICgnYWRkZ3JvdXAudHBsJyk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.editprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKCmlmKCAhICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCi8vIEZvciB0aGUgYmVsb3cgY29udHJvbCB0eXBlcyBkb24ndCByZWRyYXcgdGhlIHBhZ2UsIGp1c3QgdXBkYXRlLgovLyBPdGhlcndpc2Ugd2UnbGwgbmVlZCB0byByZWRyYXcgdGhlIHBhZ2Ugd2l0aCBhZGRpdGlvbmFsIHBhcmFtcywKLy8gc3VjaCBhcyBsZW5ndGggb3IgZHJvcGRvd24gc2VsZWN0IG9wdGlvbnMuCi8vIFRoZSBpbnB1dCB0eXBlIHdpbGwgYmUga25vd24gb25seSBhdCB0aGUgc2Vjb25kIGdvLgovLyBzd2l0Y2goJHBhcmFtc1snaW5wdXRfdHlwZSddKQovLyAgIHsKLy8gICBjYXNlIDE6IC8vIGNoZWNrYm94Ci8vICAgY2FzZSAyOiAvLyBlbWFpbAovLyAgIGNhc2UgMzogLy8gdGV4dGFyZWEKLy8gICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkb19lZGl0cHJvcCcsJHJldHVybmlkLCAkcGFyYW1zKTsKLy8gICAgIHJldHVybjsKLy8gICAgIHJldHVybjsKLy8gICB9CgovLyBkaXNwbGF5IGEgZnVua3kgcGFnZSB0byB0aGUgdXNlciB0byBhbGxvdyBoaW0gdG8gZWRpdCBhIHByb3BlcnR5IGRlZmluaXRpb24KLy8gYWN0dWFsbHksIHdlJ2xsIGp1c3Qgc2V0IHNvbWUgc3R1ZmYgdXAgYW5kIHVzZSB0aGUgYWRkIHByb3BlcnR5IHBhZ2UKaWYoICFpc3NldCggJHBhcmFtc1sncHJvcG5hbWUnXSApICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydlcnJvciddID0gMTsKICAgICRwYXJtc1snbWVzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycsJHBhcm1zKTsKICAgIHJldHVybjsKICB9CgokZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm4oICRwYXJhbXNbJ3Byb3BuYW1lJ10gKTsKaWYoICRkZWZuID09IEZBTFNFICkgCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snZXJyb3InXSA9IDE7CiAgICAkcGFybXNbJ21lc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb3Bub3Rmb3VuZCcpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnLCRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKJHBhcmFtc1snZWRpdHByb3AnXQk9ICRwYXJhbXNbJ3Byb3BuYW1lJ107CmlmICghaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSkgewogICRwYXJhbXNbJ2lucHV0X25hbWUnXSAJPSAkcGFyYW1zWydwcm9wbmFtZSddOwogfQppZiAoIWlzc2V0KCRwYXJhbXNbJ2lucHV0X3Byb21wdCddKSkgewogICRwYXJhbXNbJ2lucHV0X3Byb21wdCddCT0gJGRlZm5bJ3Byb21wdCddOwogfQppZihpc3NldCgkcGFyYW1zWydpbnB1dF90eXBlJ10pKXsKICAkcGFyYW1zWyduZXdfdHlwZSddCT0gJHBhcmFtc1snaW5wdXRfdHlwZSddOwogfQokcGFyYW1zWydpbnB1dF90eXBlJ10JPSAkZGVmblsndHlwZSddOwppZiAoIWlzc2V0KCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKSkgewogICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddCT0gJGRlZm5bJ2xlbmd0aCddOwogfQppZiAoIWlzc2V0KCRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddKSkgewogICRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddID0gJGRlZm5bJ21heGxlbmd0aCddOwogfQovLyBpZiggJHBhcmFtc1snbmV3X3R5cGUnXSA9PSA0IHx8ICRwYXJhbXNbJ25ld190eXBlJ10gPT0gNSApCi8vICAgewovLyAgICAgJHBhcmFtc1snaW5wdXRfc2Vsb3B0aW9ucyddID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoICRwYXJhbXNbJ2lucHV0X25hbWUnXSApOwovLyAgIH0KCiR0aGlzLT5teVJlZGlyZWN0KCRpZCwnYWRkcHJvcCcsJHJldHVybmlkLCAkcGFyYW1zKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.logout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwoKJHVzZXJuYW1lID0gJHRoaXMtPkxvZ2dlZEluTmFtZSgpOwokdWlkID0gJHRoaXMtPkxvZ2dlZEluSWQoKTsKCiR0aGlzLT5Mb2dvdXQoJHVpZCk7CgokdGhpcy0+X0F0dGVtcHRJbnZhbGlkYXRlTG9naW5Db29raWUoKTsKCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAoJICAgICAgJHRoaXMtPkxhbmcoJ2Zyb250ZW5kdXNlcl9sb2dvdXQnKSk7CgovLyB3ZSdyZSBsb2dnZWQgb3V0Ci8vIHJlZGlyZWN0IHNvbWV3aGVyZSAKLy8gdG9kbywgYWRkIG1vcmUgb3B0aW9ucyBoZXJlLgokcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9nb3V0Jyk7CmlmKCBpc3NldCggJHBhcmFtc1sncmV0dXJudG8nXSApICkKICB7CiAgICAkcGFnZSA9ICRwYXJhbXNbJ3JldHVybnRvJ107CiAgfQoKJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWyd1c2VybmFtZSddID0gJHVzZXJuYW1lOwokcGFybXNbJ2lkJ10gPSAkdWlkOwokdGhpcy0+U2VuZEV2ZW50KCAnT25Mb2dvdXQnLCAkcGFybXMgKTsKCi8vIHJlcGxhY2UgeyR1c2VybmFtZX0gd2l0aCB0aGUgdXNlciBuYW1lCiRwYWdlID0gc3RyX3JlcGxhY2UoICJ7XCR1c2VybmFtZX0iLCAkdXNlcm5hbWUsICRwYWdlICk7CgovLyByZXBsYWNlIHskZ3JvdXBuYW1lfSB3aXRoIHRoZSBmaXJzdCBncm91cG5hbWUgd2UgY2FuIGZpbmQgdGhhdCBtYXRjaGVzCiRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR1aWQgKTsKJGdyb3VwbmFtZSA9ICR0aGlzLT5HZXRHcm91cE5hbWUoICRncm91cHNbMF1bJ2dyb3VwaWQnXSApOwokcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkZ3JvdXB9IiwgJGdyb3VwbmFtZSwgJHBhZ2UgKTsKCmlmKCAkcGFnZSApCiAgewogICAgJGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKICAgIGlmKCAkaWQgKQogICAgICB7CgkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCAkaWQgKTsKCXJldHVybjsKICAgICAgfQogIH0KJHRoaXMtPlJlZGlyZWN0Q29udGVudCggJHJldHVybmlkICk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.userhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2xpc3R1c2VycycgKSApCiAgewogICAgcmV0dXJuOwogIH0KCiR1c2VyaWQgPSAnJzsKaWYgKGlzc2V0ICgkcGFyYW1zWyd1c2VyX2lkJ10pICYmICRwYXJhbXNbJ3VzZXJfaWQnXSAhPSAiIikKICB7CiAgICAkdXNlcmlkID0gJHBhcmFtc1sndXNlcl9pZCddOwogIH0gIAoKJHBhZ2VsaW1pdHMgPSBhcnJheSgpOwokcGFnZWxpbWl0c1snNSddID0gNTsKJHBhZ2VsaW1pdHNbJzEwJ10gPSAxMDsKJHBhZ2VsaW1pdHNbJzI1J10gPSAyNTsKJHBhZ2VsaW1pdHNbJzUwJ10gPSA1MDsKJHBhZ2VsaW1pdHNbJzEwMCddID0gMTAwOwokcGFnZWxpbWl0c1snMjUwJ10gPSAyNTA7CiRwYWdlbGltaXRzWyc1MDAnXSA9IDUwMDsKCiRkYXRlbGlzdCA9IGFycmF5KCk7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV9hbGxyZWNvcmRzJyldID0gLTE7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV9vbmVob3Vyb2xkJyldID0gJzFoJzsKJGRhdGVsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3NpeGhvdXJvbGQnKV0gPSAnNmgnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfdHdlbHZlaG91cm9sZCcpXSA9ICcxMmgnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lZGF5b2xkJyldID0gJzFkJzsKJGRhdGVsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX29uZXdlZWtvbGQnKV0gPSAnMXcnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfdHdvd2Vla3NvbGQnKV0gPSAnMncnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lbW9udGhvbGQnKV0gPSAnMW0nOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfdGhyZWVtb250aHNvbGQnKV0gPSAnM20nOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfc2l4bW9udGhzb2xkJyldID0gJzZtJzsKJGRhdGVsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX29uZXllYXJvbGQnKV0gPSAnMXknOwoKJHNvcnRvcmRlcnMgPSBhcnJheSgpOwokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnc29ydG9yZGVyX2RhdGVfZGVzYycpXSA9ICdyZWZkYXRlIERFU0MnOwokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnc29ydG9yZGVyX2RhdGVfYXNjJyldID0gJ3JlZmRhdGUgQVNDJzsKJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYycpXSA9ICdhY3Rpb24gREVTQyc7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfYWN0aW9uX2FzYycpXSA9ICdhY3Rpb24gQVNDJzsKJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYycpXSA9ICdpcGFkZHJlc3MgREVTQyc7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYycpXSA9ICdpcGFkZHJlc3MgQVNDJzsKaWYoICR1c2VyaWQgPT0gJycgKQogIHsKICAgICRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYycpXSA9ICd1c2VybmFtZSBERVNDJzsKICAgICRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJyldID0gJ3VzZXJuYW1lIEFTQyc7CiAgfQoKJGV2ZW50dHlwZXMgPSBhcnJheSgpOwokZXZlbnR0eXBlc1snYWxsJ10gPSAnYWxsJzsKJGV2ZW50dHlwZXNbJ2ZhaWwnXSA9ICdmYWlsJzsKJGV2ZW50dHlwZXNbJ2xvZ2luJ10gPSAnbG9naW4nOwokZXZlbnR0eXBlc1snbG9nb3V0J10gPSAnbG9nb3V0JzsKJGV2ZW50dHlwZXNbJ2V4cGlyZSddID0gJ2V4cGlyZSc7CmlmKCBpc3NldCggJHBhcmFtc1snc3VibWl0J10gKSApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYWdlbGltaXQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3BhZ2VsaW1pdCcsJHBhcmFtc1snaW5wdXRfcGFnZWxpbWl0J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3NvcnRvcmRlciddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3Rvcnlfc29ydG9yZGVyJywkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXInXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZXZlbnR0eXBlJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9ldmVudHR5cGUnLCRwYXJhbXNbJ2lucHV0X2V2ZW50dHlwZSddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9maWx0ZXJfZGF0ZSddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfZGF0ZScsJHBhcmFtc1snaW5wdXRfZmlsdGVyX2RhdGUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBfaXAnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2dyb3VwX2lwJywkcGFyYW1zWydpbnB1dF9ncm91cF9pcCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2VybmFtZV9yZWdleCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfdXNlcm5hbWVfcmVnZXgnLCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lX3JlZ2V4J10pOwogICAgICB9CiAgICBpZiggJHVzZXJpZCA9PSAnJyApICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCd1c2VyaGlzdG9yeScpOwogIH0KZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3Jlc2V0J10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3BhZ2VsaW1pdCcsMTApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2V2ZW50dHlwZScsJ2FsbCcpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2RhdGUnLCctMScpOyAvLyB0b2RvCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfZ3JvdXBfaXAnLDApOyAvLyB0b2RvCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3Rvcnlfc29ydG9yZGVyJywncmVmZGF0ZSBERVNDJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfdXNlcm5hbWVfcmVnZXgnLCcnKTsKICAgIGlmKCAkdXNlcmlkID09ICcnICkgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3VzZXJoaXN0b3J5Jyk7CiAgfQoKJGlucHV0X3BhZ2VsaW1pdCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3BhZ2VsaW1pdCcsMTApOwokaW5wdXRfc29ydG9yZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3NvcnRvcmRlcicsJ3JlZmRhdGUgREVTQycpOwokaW5wdXRfZXZlbnR0eXBlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2V2ZW50dHlwZScsJ2FsbCcpOwokaW5wdXRfZmlsdGVyX2RhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfZGF0ZScsJy0xJyk7CiRpbnB1dF9ncm91cF9pcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9ncm91cF9pcCcsMCk7CiRpbnB1dF91c2VybmFtZV9yZWdleCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV91c2VybmFtZV9yZWdleCcpOwoKCi8vIEFkZCB0aGUgdXNlciBpbmZvIHRvIHNtYXJ0eQppZiggJHVzZXJpZCAhPSAnJyApCiAgewogICAgJHJlc3VsdHMgPSAkdGhpcy0+R2V0VXNlckluZm8oJHBhcmFtc1sndXNlcl9pZCddKTsKICAgICR1c2VyaW5mbyA9ICcnOwogICAgaWYoICRyZXN1bHRzWzBdID09PSBUUlVFICkKICAgICAgewoJJHVzZXJpbmZvID0gJHJlc3VsdHNbMV07CiAgICAgIH0KICAgIGZvcmVhY2goICR1c2VyaW5mbyBhcyAkayA9PiAkdiApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigndXNlcl8nLiRrLCR2KTsKICAgICAgfQogICAgJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCRwYXJhbXNbJ3VzZXJfaWQnXSk7CiAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJG9uZXByb3AgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3VzZXJwcm9wXycuJG9uZXByb3BbJ3RpdGxlJ10sJG9uZXByb3BbJ2RhdGEnXSk7CiAgICAgIH0KICB9CgovLyBmaWd1cmUgb3V0IHdoYXQgcGFnZSB3ZSdyZSBvbgokcGFnZW51bWJlciA9IDE7CmlmKCBpc3NldCggJHBhcmFtc1sncGFnZW51bWJlciddICkgKQogIHsKICAgICRwYWdlbnVtYmVyID0gKGludCkkcGFyYW1zWydwYWdlbnVtYmVyJ107CiAgfQokc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJGlucHV0X3BhZ2VsaW1pdDsKCi8vCi8vIEFkZCB0aGUgaGlzdG9yeSB0byBzbWFydHkKLy8KJHdoZXJlID0gYXJyYXkoKTsKJHBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5MSA9ICJTRUxFQ1QgQS4qLEIudXNlcm5hbWUgCiAgICAgICAgICAgICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IEEsIAogICAgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgQgogICAgICAgICAgICBXSEVSRSBBLnVzZXJpZCA9IEIuaWQiOwokcXVlcnkyID0gIlNFTEVDVCBjb3VudCh1c2VyaWQpIGFzIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiOwppZiggJHVzZXJpZCAhPSAnJyApCiAgewogICAgJHdoZXJlW10gPSAndXNlcmlkID0gPyc7CiAgICAkcGFybXNbXSA9ICR1c2VyaWQ7CiAgfQplbHNlCiAgewogICAgLy8gb25seSB1c2UgdGhlIHVzZXJuYW1lIHJlZ2V4IGlmIHRoZSB1c2VyaWQgaXMgZW1wdHkKICAgIGlmKCAkaW5wdXRfdXNlcm5hbWVfcmVnZXggIT0gJycgKQogICAgICB7Cgkkd2hlcmVbXSA9ICd1c2VybmFtZSBSRUdFWFAgPyc7CgkkcGFybXNbXSA9ICRpbnB1dF91c2VybmFtZV9yZWdleDsKICAgICAgfQogIH0KaWYoICRpbnB1dF9ldmVudHR5cGUgIT0gJ2FsbCcgKSAKICB7CiAgICAkd2hlcmVbXSA9ICdhY3Rpb24gPSA/JzsKICAgICRwYXJtc1tdID0gJGlucHV0X2V2ZW50dHlwZTsKICB9CmlmKCAkaW5wdXRfZmlsdGVyX2RhdGUgIT0gLTEgKQogIHsKICAgICRkYXRlID0gJyc7CiAgICBzd2l0Y2goICRpbnB1dF9maWx0ZXJfZGF0ZSApCiAgICAgIHsKICAgICAgY2FzZSAnMWgnOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzEgaG91ciBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICc2aCc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnNiBob3VycyBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICcxMmgnOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzEyIGhvdXJzIGFnbycpOwoJYnJlYWs7CiAgICAgIGNhc2UgJzFkJzoKCSRkYXRlID0gc3RydG90aW1lKCcxIGRheSBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICcxdyc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnMSB3ZWVrIGFnbycpOwoJYnJlYWs7CiAgICAgIGNhc2UgJzJ3JzoKCSRkYXRlID0gc3RydG90aW1lKCcyIHdlZWtzIGFnbycpOwoJYnJlYWs7CiAgICAgIGNhc2UgJzFtJzoKCSRkYXRlID0gc3RydG90aW1lKCcxIG1vbnRoIGFnbycpOwoJYnJlYWs7CiAgICAgIGNhc2UgJzNtJzoKCSRkYXRlID0gc3RydG90aW1lKCczIG1vbnRocyBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICc2bSc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnNiBtb250aHMgYWdvJyk7CglicmVhazsKICAgICAgY2FzZSAnMXknOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzEgeWVhciBhZ28nKTsKCWJyZWFrOwogICAgICB9CiAgICBpZiggJGRhdGUgIT0gJycgKQogICAgICB7Cgkkd2hlcmVbXSA9ICdyZWZkYXRlID4gPyc7CgkkcGFybXNbXSA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgkZGF0ZSksIiciKTsKICAgICAgfQogIH0KaWYoIGNvdW50KCR3aGVyZSkgPiAwICkKICB7CiAgICAkcXVlcnkxIC49ICcgQU5EICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICAkcXVlcnkyIC49ICcgQU5EICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgfQppZiggJGlucHV0X2dyb3VwX2lwID09IDEgKQogIHsKICAgICRxdWVyeTEgLj0gJyBHUk9VUCBCWSBpcGFkZHJlc3MnOwogICAgJHF1ZXJ5MiAuPSAnIEdST1VQIEJZIGlwYWRkcmVzcyc7CiAgfQokcXVlcnkxIC49ICIgT1JERVIgQlkgIi4kaW5wdXRfc29ydG9yZGVyOwokcXVlcnkxIC49ICIgTElNSVQgJHN0YXJ0ZWxlbWVudCwkaW5wdXRfcGFnZWxpbWl0IjsKCi8vIE5vdyBnZXQgdGhlIGNvdW50LCBhbmQgbnVtYmVyIG9mIHBhZ2VzCiR0bXByb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5MiwgJHBhcm1zICk7CiRyZWNvcmRjb3VudCA9ICR0bXByb3dbJ2NvdW50J107CiRwYWdlY291bnQgPSAoaW50KSgkcmVjb3JkY291bnQgLyAkaW5wdXRfcGFnZWxpbWl0KTsKaWYoICgkcmVjb3JkY291bnQgJSAkaW5wdXRfcGFnZWxpbWl0KSAhPSAwICkgJHBhZ2Vjb3VudCsrOwokc21hcnR5LT5hc3NpZ24oJ3JlY29yZGNvdW50JywkcmVjb3JkY291bnQpOwoKLy8gc29tZSBwYWdpbmF0aW9uIHZhcmlhYmxlcyB0byBzbWFydHkuCmlmKCAkcGFnZW51bWJlciA9PSAxICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywnPCcpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCc8PCcpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJHBhcmFtc1snYWN0aW9uJ10sCgkJCQkgICAgICAkcmV0dXJuaWQsJzwnLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlci0xLAoJCQkJCSAgICAndXNlcl9pZCc9PiR1c2VyaWQpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZScsCgkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwkcGFyYW1zWydhY3Rpb24nXSwKCQkJCSAgICAgICRyZXR1cm5pZCwnPDwnLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4xLAoJCQkJCSAgICAndXNlcl9pZCc9PiR1c2VyaWQpKSk7CiAgfQppZiggJHBhZ2VudW1iZXIgPj0gJHBhZ2Vjb3VudCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJz4nKTsKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCc+PicpOwogIH0KZWxzZQogIHsKICAgICRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJHBhcmFtc1snYWN0aW9uJ10sCgkJCQkgICAgICAkcmV0dXJuaWQsJz4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlcisxLAoJCQkJCSAgICAndXNlcl9pZCc9PiR1c2VyaWQpKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsCgkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwkcGFyYW1zWydhY3Rpb24nXSwKCQkJCSAgICAgICRyZXR1cm5pZCwnPj4nLAoJCQkJICAgICAgYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZWNvdW50LAoJCQkJCSAgICAndXNlcl9pZCc9PiR1c2VyaWQpKSk7CgogIH0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywkcGFnZW51bWJlcik7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywkcGFnZWNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCdvZnRleHQnLCR0aGlzLT5MYW5nKCdwcm9tcHRfb2YnKSk7CgppZiggJHVzZXJpZCA9PSAnJyApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdtdWx0aXVzZXInLDEpOwogIH0KCi8vIFRoZSBkYXRhYmFzZSBxdWVyeQokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeTEsICRwYXJtcyApOwokcm93YXJyYXkgPSBhcnJheSgpOwokcm93Y2xhc3MgPSAncm93MSc7CndoaWxlKCAkZGJyZXN1bHQgJiYgISRkYnJlc3VsdC0+RU9GICkKICB7CiAgICAkZmllbGRzID0mICRkYnJlc3VsdC0+ZmllbGRzOwogICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwogICAgZm9yZWFjaCggJGZpZWxkcyBhcyAka2V5ID0+ICR2YWx1ZSApCiAgICAgIHsKCSRvbmVyb3ctPiRrZXkgPSAkdmFsdWU7CiAgICAgIH0KCiAgICAvLyBmaXggc29tZSBmaWVsZHMgdXAKICAgICRvbmVyb3ctPnJlZmRhdGUgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZXJvdy0+cmVmZGF0ZSk7CiAgICBpZiggJG9uZXJvdy0+aXBhZGRyZXNzID09ICcnICkKICAgICAgewoJJG9uZXJvdy0+aXBhZGRyZXNzID0gJHRoaXMtPkxhbmcoJ3Vua25vd24nKTsKICAgICAgfQogICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgogICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgJHJvd2NsYXNzID0gKCRyb3djbGFzcyA9PSAncm93MScpID8gJ3JvdzInIDogJ3JvdzEnOwogICAgJGRicmVzdWx0LT5Nb3ZlTmV4dCgpOwogIH0KCmlmKCBjb3VudCgkcm93YXJyYXkpID09IDAgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZScsJHRoaXMtPkxhbmcoJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVjb3Jkc2ZvdW5kJywkdGhpcy0+TGFuZygncHJvbXB0X3JlY29yZHNmb3VuZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9sZWdlbmRfZmlsdGVyJywkdGhpcy0+TGFuZygnZmlsdGVyJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2xlZ2VuZF9ncm91cHNvcnQnLCR0aGlzLT5MYW5nKCd0aXRsZV9ncm91cHNvcnQnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwkcGFyYW1zWydhY3Rpb24nXSwkcmV0dXJuaWQsJ3Bvc3QnLCcnLGZhbHNlLCcnLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbigncmVzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc2V0JywkdGhpcy0+TGFuZygncmVzZXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFnZWxpbWl0JywkdGhpcy0+TGFuZygncHJvbXB0X3BhZ2VsaW1pdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfcGFnZWxpbWl0JywkcGFnZWxpbWl0cywKCQkJCQkgICAtMSwgJGlucHV0X3BhZ2VsaW1pdCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc29ydG9yZGVyJywkdGhpcy0+TGFuZygnc29ydGJ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NvcnRvcmRlcicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9zb3J0b3JkZXInLCRzb3J0b3JkZXJzLAoJCQkJCSAgIC0xLCRpbnB1dF9zb3J0b3JkZXIpKTsKCQkJCSAgICAgICAKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZ3JvdXBfaXAnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZ3JvdXBfaXAnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZ3JvdXBfaXAnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZ3JvdXBfaXAnLAoJCQkJCSAgIGFycmF5KCR0aGlzLT5MYW5nKCd5ZXMnKT0+MSwKCQkJCQkJICR0aGlzLT5MYW5nKCdubycpPT4wKSwKCQkJCQkgICAtMSwgJGlucHV0X2dyb3VwX2lwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZV9yZWdleCcsJHRoaXMtPkxhbmcoJ3VzZXJmaWx0ZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlcm5hbWVfcmVnZXgnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF91c2VybmFtZV9yZWdleCcsCgkJCQkgICAgICAgJGlucHV0X3VzZXJuYW1lX3JlZ2V4LCAyNSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9ldmVudHR5cGUnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZXZlbnR0eXBlJywKCQkJCQkgICAkZXZlbnR0eXBlcywKCQkJCQkgICAtMSwkaW5wdXRfZXZlbnR0eXBlKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZpbHRlcl9kYXRlJywkdGhpcy0+TGFuZygncHJvbXB0X2ZpbHRlcl9kYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9kYXRlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2ZpbHRlcl9kYXRlJywKCQkJCQkgICAkZGF0ZWxpc3QsCgkJCQkJICAgLTEsJGlucHV0X2ZpbHRlcl9kYXRlKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3VzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygndGl0bGVfdXNlcmhpc3RvcnknKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9mb3InLCR0aGlzLT5MYW5nKCdwcm9tcHRfZm9yJykpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkcm93YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlZmRhdGUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWN0aW9uJywkdGhpcy0+TGFuZygncHJvbXB0X2V2ZW50dHlwZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaXBhZGRyZXNzJywkdGhpcy0+TGFuZygncHJvbXB0X2lwYWRkcmVzcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndXNlcmhpc3RvcnkudHBsJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.verifycode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICAvLyBmaWxsIGluIHRoZSB0ZW1wbGF0ZQokdWlkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdWlkJ10gKSApCiAgewogICAgJHVpZCA9ICRwYXJhbXNbJ2lucHV0X3VpZCddOwogIH0KJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddOwogIH0KIGVsc2UKICAgewogICAgICR1c2VybmFtZSA9ICR0aGlzLT5HZXRVc2VyTmFtZSggJHVpZCApOwogICB9CiRjb2RlID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY29kZSddICkgKQogIHsKICAgICRjb2RlID0gJHBhcmFtc1snaW5wdXRfY29kZSddOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRwYXJhbXNbJ2Vycm9yJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkcGFyYW1zWydtZXNzYWdlJ10pOwogIH0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkgICAgICAkdGhpcy0+ZmVDcmVhdGVGb3JtU3RhcnQoJGlkLCdkb192ZXJpZnljb2RlJywkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2lucHV0X3VpZCcsJHVpZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF91c2VybmFtZScsICR1c2VybmFtZSwKCQkJCQkgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwgCgkJCQkJICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLAoJCQkJCSAgICAgICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jb2RlJywkdGhpcy0+TGFuZygncHJvbXB0X2NvZGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfY29kZScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfY29kZScsICRjb2RlLCAxMCwgMTAgKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3Bhc3N3b3JkJywkdGhpcy0+TGFuZygncHJvbXB0X3Bhc3N3b3JkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Bhc3N3b3JkJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICcnLAoJCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVwZWF0cGFzc3dvcmQnLCR0aGlzLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXBlYXRwYXNzd29yZCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAnJywKCQkJCQkJICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZHZlcmlmeWZvcm0nKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/FrontEndUsers.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLWZpbGUtc3R5bGU6bGludXg7IHRhYi13aWR0aDoyOyBpbmRlbnQtdGFicy1tb2RlOnQ7IGMtYmFzaWMtb2Zmc2V0OiAyOyAtKi0KLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvVXNlck1hbmlwdWxhdG9yLmNsYXNzLnBocCIgKTsKCmNsYXNzIEZyb250RW5kVXNlcnNNYW5pcHVsYXRvciBleHRlbmRzIFVzZXJNYW5pcHVsYXRvcgp7CiAgZnVuY3Rpb24gQ291bnRUZW1wQ29kZVJlY29yZHMoKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREQigpOwogICAgJHEgPSAiU0VMRUNUIENPVU5UKCopIEFTIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIDA7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gJHJvd1snY291bnQnXTsKICB9CgogIGZ1bmN0aW9uIEV4cGlyZVRlbXBDb2RlcygkZXhwaXJ5Y29kZSkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkZXhwaXJlcyA9IHN0cnRvdGltZSggJGV4cGlyeWNvZGUgKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc190ZW1wY29kZQogICAgICAgICAgV0hFUkUgY3JlYXRlZCA+ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRleHBpcmVzICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7ICAgIAogIH0KCiAgZnVuY3Rpb24gUmVtb3ZlVXNlclRlbXBDb2RlKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VXNlclRlbXBDb2RlKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSk7CiAgICBpZiggJGRicmVzdWx0ID09IEZBTFNFIHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gYXJyYXkoVFJVRSwkcm93KTsKICB9CgoKICBmdW5jdGlvbiBTZXRVc2VyVGVtcENvZGUoICR1aWQsICRjb2RlLCAkcmVwbGFjZT1mYWxzZSApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiBmYWxzZTsKICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIFZBTFVFUyg/LD8sPykiOwogICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgJGNvZGUsCgkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIikgKSApOwoKCSBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgIAl7CgkJaWYgKCRyZXBsYWNlKQoJCQl7CiAgICAJCSRxID0gInVwZGF0ZSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIHNldCBjb2RlPT8sIGNyZWF0ZWQ9PyBXSEVSRSB1c2VyaWQ9PyI7CiAgICAJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCRjb2RlLAoJCQkJCSB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwiJyIpLCR1aWQgKSApOwoJCQlpZiAoJGRicmVzdWx0ID09IGZhbHNlKQoJCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9CgkgCWVsc2UKCSAgIAl7CgkJCXJldHVybiBmYWxzZTsKICAgICAgCX0KICAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICBmdW5jdGlvbiBTZXRQcm9wZXJ0eURlZm4oICRuYW1lLCAkbmV3bmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUsICRtYXhsZW5ndGggPSAwICkKICB7CiAgICAkZGIgPSAkdGhpcy0+Z2V0RGIoKTsKICAgIAogICAgaWYoICRtYXhsZW5ndGggPT0gMCApCiAgICAgIHsKCSRtYXhsZW5ndGggPSAkbGVuZ3RoOwogICAgICB9CiAgICAkcSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuCiAgICAgICAgICBTRVQgbmFtZSA9ID8sIHByb21wdCA9ID8sIHR5cGUgPSA/LCBsZW5ndGggPSA/LCBtYXhsZW5ndGggPSA/IAogICAgICAgICAgV0hFUkUgbmFtZSA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRuZXduYW1lLCAkcHJvbXB0LCAkdHlwZSwgJGxlbmd0aCwgJG1heGxlbmd0aCwgJG5hbWUgKSk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZuKCAkbmFtZSApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbgogICAgICAgICAgV0hFUkUgbmFtZT0/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkbmFtZSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0UHJvcGVydHlHcm91cFJlbGF0aW9ucyggJHRpdGxlICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwCiAgICAgICAgICBXSEVSRSBuYW1lID0gPyBPUkRFUiBCWSBzb3J0X2tleSBERVNDIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdGl0bGUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCWFycmF5X3B1c2goICRyZXN1bHQsICRyb3cgKTsKICAgICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgZnVuY3Rpb24gSXNBY2NvdW50RXhwaXJlZCggJHVpZCApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiB0cnVlOyAvLyBkdW5ubyBhYm91dCB0aGlzCiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzCiAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIGV4cGlyZXMgPiA/IjsKICAgICRwYXJtcyA9IGFycmF5KCAkdWlkLCAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSwiJyIpICk7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgCgkJCQkJICRkYi0+RGJUaW1lU3RhbXAodGltZSgpLCInIikgKSApOwogICAgaWYoICRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIHJldHVybiB0cnVlOwogIH0KCgogIGZ1bmN0aW9uIEdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcAogICAgICAgICAgV0hFUkUgZ3JvdXBfaWQgPSA/IE9SREVSIEJZIHNvcnRfa2V5IERFU0MiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRncnBpZCApKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkkcmVzdWx0W10gPSAkcm93OwogICAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICBmdW5jdGlvbiBBZGRHcm91cFByb3BlcnR5UmVsYXRpb24oICRncnBpZCwgJHByb3BuYW1lLCAkc29ydGtleSwgJGxvc3R1biwgJHZhbCApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAKICAgICAgICAgIFZBTFVFUyg/LD8sPyw/LD8pIjsgCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHByb3BuYW1lLCAkZ3JwaWQsICRzb3J0a2V5LCAkdmFsLCAkbG9zdHVuICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CgkJCQlkaWUoICRkYi0+RXJyb3JNc2coKS4iICIuJGRiLT5zcWwgKTsKCQkJCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAKICAgICAgICAgIFdIRVJFIGdyb3VwX2lkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGdycGlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZUdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwCiAgICAgICAgICBXSEVSRSBuYW1lID0gPyBBTkQgZ3JvdXBfaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcHJvcG5hbWUsICRncnBpZCApKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBBZGRQcm9wZXJ0eURlZm4oICRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJGxlbmd0aCwgJG1heGxlbmd0aCA9IDAgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICBpZiggJG1heGxlbmd0aCA9PSAwICkKICAgICAgewoJJG1heGxlbmd0aCA9PSAkbGVuZ3RoOwogICAgICB9CgogICAgJHAgPSBhcnJheSggJG5hbWUsICRwcm9tcHQsICR0eXBlLCAkbGVuZ3RoLCAkbWF4bGVuZ3RoICk7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4KICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCAkcCApOwogICAgaWYoICRkYnJlc3VsdCA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwgJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCgogIGZ1bmN0aW9uIEFkZFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkb3B0aW9ucyApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJGluc2VydF92YWxzID0gJyc7CiAgICAkb3JkZXJfaWQgPSAwOwogICAgZm9yZWFjaCAoJG9wdGlvbnMgYXMgJG9wdHRleHQpewogICAgICAvLyBpZiBubyBhY3R1YWwgdGV4dCBpbiB0aGUgbGluZSwgbWFrZSBzdXJlIGl0IGVxdWFscyAnJywKICAgICAgLy8gaW4gb3JkZXIgbm90IHRvIGFkZCBpdCB0byB0aGUgZGIKICAgICAgJG9wdHRleHQgPSB0cmltKCRvcHR0ZXh0KTsKICAgICAgaWYodHJpbSgkb3B0dGV4dCkgPT0gJycgfHwgdHJpbSgkb3B0dGV4dCkgPT0gJ19fJyApewoJY29udGludWU7CiAgICAgIH0KICAgICAgJG9wdG5hbWUgPSBzdHJfcmVwbGFjZSgnICcsICdfJywgJG9wdHRleHQpOwogICAgICBpZiggc3RyY2hyKCAkb3B0dGV4dCwgJz0nICkgIT09IEZBTFNFICkKCXsKCSAgJHRtcCA9IGV4cGxvZGUoJz0nLCRvcHR0ZXh0KTsKCSAgJG9wdG5hbWUgPSBzdHJfcmVwbGFjZSgnICcsJ18nLCR0bXBbMV0pOwoJICAkb3B0dGV4dCA9ICR0bXBbMF07Cgl9CgogICAgICAkb3JkZXJfaWQrKzsKICAgICAgJGluc2VydF92YWxzIC49ICIoJyIKCS4gJG9yZGVyX2lkIC4gIicsICciCgkuICRvcHRuYW1lIC4gIicsICciCgkuICRvcHR0ZXh0IC4gIicsICciCgkuICRuYW1lLiAiJyksICI7CiAgICB9CiAgICAKICAgICRpbnNlcnRfdmFscyA9IHN1YnN0cigkaW5zZXJ0X3ZhbHMsIDAsIC0yKTsKCiAgICAkZGIgPSAkdGhpcy0+Z2V0RGIoKTsKICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZHJvcGRvd25zCgkJCShvcmRlcl9pZCwgb3B0aW9uX25hbWUsIG9wdGlvbl90ZXh0LCBjb250cm9sX25hbWUpIAoJCQlWQUxVRVMgIiAuICRpbnNlcnRfdmFsczsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYoICRkYnJlc3VsdCA9PSBmYWxzZSApIHsKICAgICAgcmV0dXJuIGFycmF5KEZBTFNFLCAkZGItPkVycm9yTXNnKCkpOwogICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCQkKCiAgCiAgCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZucygpCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVNlbGVjdE9wdGlvbnMoICRuYW1lICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZHJvcGRvd25zCiAgICAgICAgICBXSEVSRSBjb250cm9sX25hbWUgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkbmFtZSApICk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKCWZ1bmN0aW9uIEdlbmVyYXRlUmFuZG9tVXNlcm5hbWUoICRwcmVmaXggPSAndXNlcicgKQoJewoJCXNyYW5kKHRpbWUoKSk7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJJG51bSA9IHJhbmQoMTAwLDk5OTk5KTsKCQkkY291bnQgPSAwOwoJCXdoaWxlKCAkY291bnQgPCAxMDAgKSB7IC8vIHRvZG8sIDEwMCBzaG91bGQgYmUgY29uZmlndXJhYmxlPwoJCQkkcSA9ICJTRUxFQ1QgaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMKICAgICAgICAgICAgIFdIRVJFIHVzZXJuYW1lID0gPyI7CgkJCSRyb3cgPSAkZGItPkdldFJvdyggJHEsIGFycmF5KCAkcHJlZml4LiRudW0gKSApOwoJCQlpZiggISRyb3cgKSAKCQkJCXsKCQkJCQlyZXR1cm4gJHByZWZpeC4kbnVtOwoJCQkJfQoJCQkkbnVtID0gcmFuZCgxMDAsOTk5OTkpOwoJCQkrKyRjb3VudDsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCiAgZnVuY3Rpb24gR2V0UHJvcGVydHlEZWZuKCAkbmFtZSApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbgogICAgICAgICAgV0hFUkUgbmFtZSA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRuYW1lICkgKTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICBpZiggJHJvdyApCiAgICAgIHsKCXJldHVybiAkcm93OwogICAgICB9CiAgICBlbHNlCiAgICAgIHJldHVybiBGQUxTRTsKICB9CgogIGZ1bmN0aW9uIEdldFByb3BlcnR5RGVmbnMoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4gT1JERVIgYnkgbmFtZSBBU0MiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSApOwogICAgaWYoICRkYnJlc3VsdCA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgJHJldCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRyZXRbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkcmV0OwogIH0KCiAgLyoqCiAgICogUmV0dXJucyBzZWxlY3Qgb3B0aW9ucyBhcyBhIHNpbXBsZSBvciBhIDIgZGltZW5zaW9uYWwgYXJyYXkKICAgKgogICAqIEBwYXJhbSBTdHJpbmcgJGNvbnRyb2xuYW1lIC0gbmFtZSBvZiB0aGUgZHJvcGRvd24gYXMgaW4gdGhlIHByb3BkZWZuIHRhYmxlCiAgICogQHBhcmFtIGludCAkZGltIC0gZGltZW5zaW9uIG9mIHRoZSBhcnJheQogICAqIAlpZiAkZGltID09IDEsIHJldHVybnMgYSAxIGRpbWVuc2lvbmFsIGFycmF5IHRleHQ9Pm5hbWUKICAgKiAgICBpZiAkZGltID09IDIsIHJldHVybnMgYSAyIGRpbWVuc2lvbmFsIGFycmF5LCBlYWNoIGl0ZW0gYmVpbmcgYW4KICAgKiAJCWFycmF5IHdpdGggcHJvcGVydGllcyAnb3B0aW9uX25hbWUnLCAnb3B0aW9uX3RleHQnLCAnY29udHJvbF9uYW1lJy4KICAgKi8KICBmdW5jdGlvbiBHZXRTZWxlY3RPcHRpb25zKCAkY29udHJvbG5hbWUsICRkaW09MSApCiAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCgkkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19kcm9wZG93bnMKCQlXSEVSRSBjb250cm9sX25hbWUgPSA/IE9SREVSIEJZIG9yZGVyX2lkIjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCRjb250cm9sbmFtZSkgKTsKCWlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJJHJldCA9IGFycmF5KCk7Cgl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQlpZiAoJGRpbT09Mil7CgkJICAkcmV0W10gPSAkcm93OwoJCX0gZWxzZSB7CgkJICAkcmV0WyRyb3dbJ29wdGlvbl90ZXh0J11dID0gJHJvd1snb3B0aW9uX25hbWUnXTsKCQl9Cgl9CglyZXR1cm4gJHJldDsKICB9CgogIAogIGZ1bmN0aW9uIExvZ2luKCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGdyb3VwcyA9ICcnLCAkbWQ1cHcgPSBmYWxzZSwgCgkJCQkJCQkJCSRmb3JjZV9sb2dvdXQgPSBmYWxzZSkKICB7CiAgICAkZXJyb3IgPSAnJzsKICAgICR1aWQgPSAtMTsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRtb2QgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgaWYoICEkdGhpcy0+Q2hlY2tQYXNzd29yZCggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRncm91cHMsICRtZDVwdyApICkKICAgICAgewoJCQkJJHVpZCA9ICR0aGlzLT5HZXRVc2VySUQoICR1c2VybmFtZSApOwoJCQkJaWYoICEkdWlkICkgJHVpZCA9IC0xOwoJCQkJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbG9naW5mYWlsZWQnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkJCQkkdWlkID0gJHRoaXMtPkdldFVzZXJJRCggJHVzZXJuYW1lICk7CgkJCQlpZiggJGZvcmNlX2xvZ291dCApCgkJCQkJewoJCQkJCQkkdGhpcy0+TG9nb3V0KCR1aWQpOwoJCQkJCX0KCQoJCQkJaWYoICR0aGlzLT5Jc0FjY291bnRFeHBpcmVkKCAkdWlkICkgKQoJCQkJCXsKCQkJCQkJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfYWNjb3VudGV4cGlyZWQnKTsKCQkJCQl9CgkJCQllbHNlIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19yZXBlYXRlZF9sb2dpbnMnKSA9PSAwICkKCQkJCQl7CgkJCQkJCS8vIG1ha2Ugc3VyZSB0aGlzIHVzZXIgaXNuJ3QgYWxyZWFkeSBsb2dnZWQgaW4KCQkJCQkJJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgCiAgICAgICAgICAgICAgVVNFUklEID0gPyI7CgkJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkgKTsKCQkJCQkJaWYoICRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgKQoJCQkJCQkJewoJCQkJCQkJCSRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnKTsKCQkJCQkJCX0KCQkJCQl9CgogICAgICB9CgogICAgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwogICAgaWYoICEkZXJyb3IgKQogICAgICB7CgkJCQkkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gKHNlc3Npb25pZCxsYXN0dXNlZCx1c2VyaWQpCiAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8pIjsKCQkJCQoJCQkJLyogd2UgbWF5IG5lZWQgdG8gc3RhcnQgYSBzZXNzaW9uIG5vdyAqLwoJCQkJaWYoIHNlc3Npb25faWQoKSA9PSAiIiApCgkJCQkJewoJCQkJCQlAc2Vzc2lvbl9zdGFydCgpOwoJCQkJCX0KCQkJCQoJCQkJLy8gbG9nIHRoZSB1c2VyIGluCgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggc2Vzc2lvbl9pZCgpLCB0aW1lKCksICR1aWQgKSk7CgkJCQlpZiggISRkYnJlc3VsdCApIAoJCQkJCXsKCQkJCQkJcmV0dXJuIGFycmF5KEZBTFNFLCAkZGItPkVycm9yTXNnKCkpOwoJCQkJCX0KCQkJCQoJCQkJLy8gc2V0IHRoZSBjb29raWUKCQkJCSRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJCQkJaWYoICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApICkgewoJCQkJCSRleHBpcnl0aW1lID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgndXNlcl9zZXNzaW9uX2V4cGlyZXMnKTsKCQkJCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJyxzZXNzaW9uX2lkKCksdGltZSgpKyRleHBpcnl0aW1lKTsKCQkJCQlAc2V0Y29va2llKCdmZXVfdWlkJywkdWlkLHRpbWUoKSskZXhwaXJ5dGltZSk7CgkJCQl9CgoJCQkJLy8gYW5kIGFkZCBoaXN0b3J5IGluZm8KCQkJCSRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CgkJCQkkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAnbG9naW4nLAoJCQkJCQkJCQkJCQkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksCgkJCQkJCQkJCQkJCQkJCQkgJGlwICkpOwoJCQkJCgkJCQlyZXR1cm4gYXJyYXkoJHVpZCk7CiAgICAgIH0KICAgIAogICAgLy8gbG9nIGFuIGludmFsaWQgbG9naW4KICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAnZmFpbCcsCgkJCSAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksIiciKSwKCQkJICAgICAkaXAgKSk7CiAgICBpZiggISRkYnJlc3VsdCApICRlcnJvciA9ICRkYi0+RXJyb3JNc2coKTsKCiAgICByZXR1cm4gYXJyYXkoRkFMU0UsJGVycm9yKTsKICB9CgoKICBmdW5jdGlvbiBGZXVzZXJzTWFuaXB1bGF0b3IoICR0aGVfbW9kdWxlICkKICB7CiAgICBwYXJlbnQ6OlVzZXJNYW5pcHVsYXRvciggJHRoZV9tb2R1bGUgKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIHRydWUvZmF1c2UKICBmdW5jdGlvbiBDaGVja0dyb3VwUGVybWlzc2lvbiggJGdpZCwgJHBlcm0gKQogIHsKICAgIC8vIHdlIGFsd2F5cyBoYXZlIHRvIHJldHVybiBmYWxzZSB1c2luZyB0aGlzIG1lY2hhbmlzbSAKICAgIC8vIGJlY2F1c2Ugd2UgYXJlIHVzaW5nIGRpZmZlcmVudCB0YWJsZXMgdGhhbiB3aXNoeSBpcyB1c2luZyBmb3IgCiAgICAvLyB1c2VycyBhbmQgZ3JvdXBzCiAgICByZXR1cm4gZmFsc2U7Ci8vICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKLy8gICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuInBlcm1pc3Npb25zIFdIRVJFIHBlcm1pc3Npb25fbmFtZSA9ID8iOwovLyAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwZXJtICkgKTsKLy8gICAgIGlmKCAhJGRicmVzdWx0IHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkgcmV0dXJuIGZhbHNlOwoKLy8gICAgICRwcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwovLyAgICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iZ3JvdXBfcGVybXMgV0hFUkUgcGVybWlzc2lvbl9pZCA9ID8KLy8gICAgICAgICAgIEFORCBncm91cF9pZCA9ID8iOwovLyAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwcm93WydwZXJtaXNzaW9uX2lkJ10sICRnaWQgKSApOwovLyAgICAgaWYoICEkZGJyZXN1bHQgfHwgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDAgKSByZXR1cm4gZmFsc2U7CgovLyAgICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgdHJ1ZS9mYWxzZQogIGZ1bmN0aW9uIENoZWNrVXNlclBlcm1pc3Npb24oICRwZXJtICkKICB7CiAgICAkdWlkID0gJHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAkdWlkID09IGZhbHNlICkgcmV0dXJuIGZhbHNlOwoKICAgIHJldHVybiBDaGVja1VzZXJQZXJtaXNzaW9uQnlVaWQoICR1aWQsICRwZXJtICk7CiAgfQoKCiAgZnVuY3Rpb24gQ2hlY2tVc2VyUGVybWlzc2lvbkJ5VWlkKCAkdWlkLCAkcGVybSApCiAgewogICAgLy8gd2UgYWx3YXlzIGhhdmUgdG8gcmV0dXJuIGZhbHNlIHVzaW5nIHRoaXMgbWVjaGFuaXNtIAogICAgLy8gYmVjYXVzZSB3ZSBhcmUgdXNpbmcgZGlmZmVyZW50IHRhYmxlcyB0aGFuIHdpc2h5IGlzIHVzaW5nIGZvciAKICAgIC8vIHVzZXJzIGFuZCBncm91cHMKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gQXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRnaWQgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CiAgICAvLyB2YWxpZGF0ZSB0aGUgdXNlciBpZAogICAgaWYoICEkdGhpcy0+VXNlckV4aXN0c0J5SUQoICR1aWQgKSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAvLyB2YWxpZGF0ZSB0aGUgZ3JvdXAgaWQKICAgIGlmKCAhJHRoaXMtPkdyb3VwRXhpc3RzQnlJRCggJGdpZCApICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAKICAgIC8vIGFkZCB0aGUgcmVjb3JkIHRvIHRoZSB0YWJsZSB0byBtYWtlIHRoaXMgCiAgICAvLyB1c2VyIGEgbWVtYmVyIG9mIHRoaXMgZ3JvdXAKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIAogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8pIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkLCAkZ2lkICkgKTsKICAgIHJldHVybiggJGRicmVzdWx0ICE9IGZhbHNlICk7CiAgfQoKICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gSXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKQogIHsKICAgIC8vIGEgcGFzc3dvcmQgaXMgdmFsaWQsIGlmIGl0J3MgbGVuZ3RoIGlzCiAgICAvLyB3aXRoaW4gY2VydGFpbiByYW5nZXMKICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgJG1pbmxlbiA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcsIDYgKTsKICAgICRtYXhsZW4gPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnLCAyMCApOwogICAgJGxlbiA9IHN0cmxlbigkcGFzc3dvcmQpOwogICAgaWYoICRsZW4gPCAkbWlubGVuICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICBlbHNlIGlmKCAkbGVuID4gJG1heGxlbiApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAvKgogICAgLy8gdGhlcmUgbXVzdCBiZSBhdGxlYXN0IDMgdW5pcXVlIGNoYXJhY3RlcnMKICAgIGlmKCBzdHJsZW4oY291bnRfY2hhcnMoICR1c2VybmFtZSwgMyApKSA8IG1pbigzLG1pbmxlbikpCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgKi8KICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5CiAgZnVuY3Rpb24gRGVsZXRlVXNlckZ1bGwoICRpZCApCiAgewogICAgLy8gbG9nIHRoZSB1c2VyIG91dAogICAgJHRoaXMtPkxvZ291dFVzZXIoICRpZCApOwoKICAgIC8vIGRlbGV0ZSB1c2VyIHByb3BlcnRpZXMKICAgICR0aGlzLT5EZWxldGVBbGxVc2VyUHJvcGVydGllc0Z1bGwoICRpZCApOwoKICAgIC8vIGRlbGV0ZSB1c2VyIGZyb20gZ3JvdXBzCiAgICAkcmV0ID0gJHRoaXMtPlJlbW92ZVVzZXJGcm9tR3JvdXAoICRpZCwgJycgKTsKICAgIGlmKCAkcmV0WzBdID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuICRyZXQ7CiAgICAgIH0KCiAgICAvLyBkZWxldGUgdXNlciByZWNvcmQKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFPCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQoKICAgIC8vIGFuZCBkZWxldGUgYW55dGhpbmcgZnJvbSB0aGUgdGVtcGNvZGVzIHRhYmxlIHRvbwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFPCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgCiAgICByZXR1cm4gYXJyYXkoIFRSVUUsICIiICk7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkKICBmdW5jdGlvbiBHZXRHcm91cEluZm8oICRnaWQgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRnaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIHJldHVybiAkcm93OwogIH0KICAKICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyBhbiBhcnJheQogIC8vIHNlY29uZCBlbGVtZW50IG9mIGFycmF5IG1heSBiZSBhbiBhcnJheQogIGZ1bmN0aW9uIEdldFVzZXJJbmZvKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGFycmF5KEZBTFNFKTsgLy8gdG9kbywgYWRkIGEgbWVzc2FnZQogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMKICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAkcm93ICk7CiAgfQogIAoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyBhbiBhcnJheSBvciBmYWxzZQogIGZ1bmN0aW9uIENvdW50VXNlcnNJbkdyb3VwKCAkZ3JvdXBpZCApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAkcSA9ICcnOwogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgIGlmKCAkZ3JvdXBpZCA9PSAnJyB8fCAkZ3JvdXBpZCA8IDAgKQogICAgICB7CgkkcSA9ICJTRUxFQ1QgY291bnQoaWQpIGFzIG51bSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyI7IAogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRxID0gIlNFTEVDVCBjb3VudChpZCkgYXMgbnVtIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzLCIuCgkgIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSBpZD11c2VyaWQgQU5EIGdyb3VwaWQgPSA/IjsKCSRwYXJtc1tdID0gJGdyb3VwaWQ7CiAgICAgIH0KCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCAkcGFybXMgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIHJldHVybiAkcm93WydudW0nXTsKICB9CgogIGZ1bmN0aW9uIEdldFVzZXJzSW5Hcm91cCggJGdyb3VwaWQgPSAnJywgJHVzZXJyZWdleCA9ICcnLCAKCQkJCQkJCQkJCQkJCQkkbGltaXQgPSAnJywgJHNvcnQgPSAnJywKCQkJCQkJCQkJCQkJCQkkcHJvcGVydHkgPSAnJywgJHByb3ByZWdleCA9ICcnLAoJCQkJCQkJCQkJCQkJCSRsb2dnZWRpbm9ubHkgPSAwKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHdoZXJlID0gYXJyYXkoKTsKCQkkZ3JvdXAgPSBhcnJheSgpOwogICAgJG9yZGVyc29ydCA9ICIiOwogICAgJHEgPSAiU0VMRUNUIEEuKixjb3VudChELnVzZXJpZCkgYXMgbG9nZ2VkaW4gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgQSI7IAoJCSRncm91cFtdID0gIiBBLmlkIjsKCQlpZiggJGxvZ2dlZGlub25seSApCgkJCXsKCQkJCSRxIC49ICIsIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIEQiOwoJCQkJJHdoZXJlW10gPSAiIEEuaWQgPSBELnVzZXJpZCI7CgkJCX0KCQllbHNlCgkJCXsKCQkJCSRxIC49ICIgTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19sb2dnZWRpbiBECiAgICAgICAgICAgICAgICAgIE9OIEEuaWQgPSBELnVzZXJpZCI7CgkJCX0KICAgIGlmKCAkcHJvcGVydHkgIT0gJycgJiYgJHByb3ByZWdleCAhPSAnJyApCiAgICAgIHsKCQkJCSRxIC49ICIsIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgQiI7CgkJCQkkd2hlcmVbXSA9ICIgQS5pZCA9IEIudXNlcmlkIjsKICAgICAgfQogICAgaWYoICRncm91cGlkICE9ICcnICYmICRncm91cGlkID49IDAgKQogICAgICB7CgkJCQkkcSAuPSAiLCIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIEMiOwoJCQkJJHdoZXJlW10gPSAiIEEuaWQgPSBDLnVzZXJpZCI7CgkJCQkkd2hlcmVbXSA9ICIgZ3JvdXBpZCA9ID8iOwoJCQkJJHBhcm1zW10gPSAkZ3JvdXBpZDsKICAgICAgfQogICAgaWYoICRwcm9wZXJ0eSAhPSAnJyAmJiAkcHJvcHJlZ2V4ICE9ICcnICkKICAgICAgewoJCQkJJHdoZXJlW10gPSAiIEIudGl0bGUgPSA/IGFuZCBCLmRhdGEgUkVHRVhQID8iOwoJCQkJJHBhcm1zW10gPSAkcHJvcGVydHk7CgkJCQkkcGFybXNbXSA9ICRwcm9wcmVnZXg7CiAgICAgIH0KICAgIGlmKCAkdXNlcnJlZ2V4ICE9ICcnICkKICAgICAgewoJCQkJJHdoZXJlW10gPSAiIHVzZXJuYW1lIFJFR0VYUCA/IjsKCQkJCSRwYXJtc1tdID0gJHVzZXJyZWdleDsKICAgICAgfQogICAgaWYoICRzb3J0ICE9ICcnICkKICAgICAgewoJCQkJJG9yZGVyc29ydCAuPSAiIE9SREVSIEJZICRzb3J0IjsKICAgICAgfQogICAgaWYoICRsaW1pdCAhPSAnJyAmJiAkbGltaXQgIT0gJzAnICkKICAgICAgewoJCQkJJG9yZGVyc29ydCAuPSAiIExJTUlUICRsaW1pdCI7IAogICAgICB9CgogICAgLy8gcHV0IHRoZSBxdWVyeSB0b2dldGhlcgogICAgaWYoIGNvdW50KCR3aGVyZSApICkKICAgICAgewoJCQkJJHEgLj0gIiBXSEVSRSAiIC4gaW1wbG9kZSgiIEFORCAiLCR3aGVyZSk7CiAgICAgIH0KCQlpZiggY291bnQoJGdyb3VwKSApCgkJCXsKCQkJCSRxIC49ICIgR1JPVVAgQlkgIi4gaW1wbG9kZSgiICwgIiwkZ3JvdXApOwoJCQl9CiAgICAkcSAuPSAkb3JkZXJzb3J0OwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgJHBhcm1zICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCQkJCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkJCQkkcmVzdWx0W10gPSAkcm93OwogICAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gR3JvdXBFeGlzdHNCeUlEKCAkZ2lkICkKICB7CiAgICAkZGF0YSA9ICR0aGlzLT5HZXRHcm91cEluZm8oICRnaWQgKTsKICAgIHJldHVybiggJGRhdGEgIT0gZmFsc2UgKTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gR3JvdXBFeGlzdHNCeU5hbWUoICRuYW1lICkKICB7CiAgICAkZ2lkID0gJHRoaXMtPkdldEdyb3VwSUQoICRuYW1lICk7CiAgICByZXR1cm4oICRnaWQgIT0gZmFsc2UgKTsKICB9CiAgCiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYXJyYXkKICBmdW5jdGlvbiBJc1ZhbGlkRW1haWxBZGRyZXNzKCAkZW1haWwsICR1aWQgPSAtMSApCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlKCk7CiAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgIGlmKCAhZXJlZ2koIl5bX2EtejAtOS1dKyhcLltfYS16MC05LV0rKSpAW2EtejAtOS1dKyhcLlthLXowLTktXSspKihcLlthLXpdezIsNH0pJCIsICRlbWFpbCApICkKICAgICAgewoJJHJlc3VsdFswXSA9IGZhbHNlOwoJJHJlc3VsdFsxXSA9ICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnKTsKCXJldHVybiAkcmVzdWx0OwogICAgICB9CgogICAgJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlKCk7CiAgICBpZiggISRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnKSApCiAgICAgIHsKCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSRxID0gIlNFTEVDVCBkYXRhIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuLCIuCgkgIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBXSEVSRSBuYW1lPXRpdGxlIEFORAogICAgICAgICAgdHlwZT0yIEFORCBkYXRhIExJS0UgPyI7CgkkcGFybXMgPSBhcnJheSggJGVtYWlsICk7CglpZiggJHVpZCA+IC0xICkKCSAgewoJICAgICRxIC49ICcgQU5EIHVzZXJpZCAhPSA/JzsKCSAgICAkcGFybXNbXSA9ICR1aWQ7CgkgIH0KCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZW1haWwgKSApOwoJaWYoICRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgKQoJICB7CgkgICAgJHJlc3VsdFswXSA9IGZhbHNlOwoJICAgICRyZXN1bHRbMV0gPSAkbW9kdWxlLT5MYW5nKCdlcnJvcl9lbWFpbGFscmVhZHl1c2VkJyk7CgkgICAgcmV0dXJuICRyZXN1bHQ7CgkgIH0KICAgICAgfQoKICAgICRyZXN1bHRbMF0gPSB0cnVlOwogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gSXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKQogIHsKICAgIC8vIGEgdXNlcm5hbWUgaXMgdmFsaWQsIGlmIGl0J3MgbGVuZ3RoIGlzCiAgICAvLyB3aXRoaW4gY2VydGFpbiByYW5nZXMsIGFuZCBpdCBjb250YWlucwogICAgLy8gb25seSBhbHBoYW51bWVyaWNzCiAgICAkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKICAgICRtaW5sZW4gPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtaW5fdXNlcm5hbWVsZW5ndGgnLCA0ICk7CiAgICAkbWF4bGVuID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJywgMjAgKTsKICAgIGlmKCBzdHJsZW4oICR1c2VybmFtZSApIDwgJG1pbmxlbiB8fCBzdHJsZW4oICR1c2VybmFtZSApID4gJG1heGxlbiApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIGlmKCAhcHJlZ19tYXRjaCggJy9eW2EtekEtWjAtOV8tXSokLycsICR1c2VybmFtZSApICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgLyoKICAgIC8vIHRoZXJlIG11c3QgYmUgYXRsZWFzdCAzIHVuaXF1ZSBjaGFyYWN0ZXJzCiAgICBpZiggc3RybGVuKGNvdW50X2NoYXJzKCAkdXNlcm5hbWUsIDMgKSkgPCBtaW4oMyxtaW5sZW4pKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICovCiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5CiAgZnVuY3Rpb24gUmVtb3ZlVXNlckZyb21Hcm91cCggJHVpZCwgJGdpZCApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiBhcnJheSggRkFMU0UgKTsgLy8gdG9kbywgcmV0dXJuIGVycm9yIG1lc3NhZ2UKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRwYXJtcyA9IGFycmF5KCAkdWlkICk7CiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncwogICAgICAgICAgV0hFUkUgdXNlcmlkID0gPyI7CiAgICBpZiggJGdpZCAhPSAnJyApCiAgICAgIHsKCSRxIC49ICIgQU5EIGdyb3VwaWQgPSA/IjsKCWFycmF5X3B1c2goICRwYXJtcywgJGdpZCApOwogICAgICB9CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCAkcGFybXMgKTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gYXJyYXkoIFRSVUUgKTsKICAgICAgfQogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gU2V0R3JvdXAoICRpZCwgJG5hbWUsICRkZXNjICkKICB7CiAgICBpZiggIWlzc2V0KCAkbmFtZSApIHx8ICRuYW1lID09ICcnICkKICAgICAgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsCgkJCQkgICR0aGlzLT5MYW5nICgnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwoJcmV0dXJuOwogICAgICB9CiAgICAKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAkZWlkID0gJHRoaXMtPkdldEdyb3VwSUQoICRuYW1lICk7CiAgICBpZiggJGVpZCAhPSBmYWxzZSAmJiAkZWlkICE9ICRpZCApCiAgICAgIHsKCSRtb2QgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJcmV0dXJuIGFycmF5KEZBTFNFLCRtb2QtPkxhbmcoJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnKSk7CiAgICAgIH0KICAgIAogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgU0VUCiAgICAgICAgICAgICAgICBncm91cG5hbWUgPSA/LCBncm91cGRlc2MgPSA/IFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUsICRkZXNjLCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAnJyk7CiAgfQoKCiAgZnVuY3Rpb24gU2V0VXNlclBhc3N3b3JkKCAkdWlkLCAkcGFzc3dvcmQgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgU0VUIHBhc3N3b3JkID0gPyBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoIG1kNSgkcGFzc3dvcmQpLCAkdWlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUsIiIpOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gU2V0VXNlciggJHVpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzID0gZmFsc2UgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAvLyBtYWtlIHN1cmUgdGhhdCB0aGlzIHVzZXIgZXhpc3RzCiAgICAkcmV0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgICBpZiggJHJldFswXSA9PSBGQUxTRSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwgJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpKTsKICAgICAgfQoKICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHRoaXMgdXNlcm5hbWUgaXMgbm90IHRha2VuIGJ5IHNvbWUgb3RoZXIgaWQKICAgICRudWlkID0gJHRoaXMtPkdldFVzZXJJRCgkdXNlcm5hbWUpOwogICAgaWYoICRudWlkICE9IGZhbHNlICYmICRudWlkICE9ICR1aWQgKQogICAgICB7CgkkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCXJldHVybiBhcnJheShGQUxTRSwgJG1vZHVsZS0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicsJHVpZCkpOwogICAgICB9CgogICAgJGRicmVzdWx0ID0gJyc7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyBTRVQKICAgICAgICAgdXNlcm5hbWUgPSA/IjsKCQogICAgJHBhcm1zW10gPSAkdXNlcm5hbWU7CiAgICBpZiggdHJpbSggJHBhc3N3b3JkICkgIT0gJycgKQogICAgICB7CgkkcSAuPSAiLCBwYXNzd29yZCA9ID8iOwoJJHBhcm1zW10gPSBtZDUoJHBhc3N3b3JkKTsKICAgICAgfQogICAgaWYoICRleHBpcmVzICE9IGZhbHNlICkKICAgICAgewoJJHEgLj0gIiwgZXhwaXJlcyA9ID8iOwoJJHBhcm1zW10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGV4cGlyZXMpLCInIik7CiAgICAgIH0KICAgICRxIC49ICIgV0hFUkUgaWQgPSA/IjsKICAgICRwYXJtc1tdID0gJHVpZDsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwYXJtcyApOwoKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAiIiApOwogIH0KCiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgdHJ1ZS9mYWxzZQogIGZ1bmN0aW9uIFNldFVzZXJHcm91cHMoICR1aWQsICRncnBpZHMgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgIC8vIGZpcnN0IG1ha2Ugc3VyZSB0aGlzIHVzZXIgZXhpc3RzCiAgICAkcmV0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgICBpZiggJHJldFswXSA9PSBGQUxTRSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwgIlVzZXIgZG9lcyBub3QgZXhpc3QiKTsKICAgICAgfQoKICAgIC8vIHRoZW4gcmVtb3ZlIGFsbCBoaXMgY3VycmVudCBhc3NpZ25tZW50cwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgICk7CiAgICAgIH0KCiAgICAvLyBhbmQgYWRkIGFsbCBvZiB0aGVtIGluCiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncwogICAgICAgICAgVkFMVUVTICg/LD8pIjsKICAgIGZvcmVhY2goICRncnBpZHMgYXMgJGdycGlkICkKICAgIHsKICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQsICRncnBpZCApICk7CiAgICAgIGlmKCAhJGRicmVzdWx0ICkKCXsKCSAgcmV0dXJuIGFycmF5KCBGQUxTRSwgJGRiLT5FcnJvck1zZygpICApOwoJfQogICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAiIiApOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIHRydWUvZmFsc2UKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydGllcyggJHVpZCwgJHByb3BzICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgLy8gRGVsZXRlIGFsbCB0aGUgdXNlciBwcm9wZXJ0aWVzCiAgICAvLyBhbmQgc2V0IG5ldyBvbmVzCiAgICAkdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5RnVsbCggIiIsICR1aWQsIHRydWUgKTsKCiAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQogICAgewogICAgICBsaXN0KCAka2V5LCAkdmFsICkgPSBzcGxpdCgiPSIsJHByb3ApOwogICAgICAkdGhpcy0+U2V0VXNlclByb3BlcnR5KCAka2V5LCAkdmFsLCAkdWlkICk7CiAgICB9CgkJCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gVXNlckV4aXN0c0J5SUQoICR1aWQgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CiAgICAkZGF0YSA9ICR0aGlzLT5HZXRVc2VySW5mbyggJHVpZCApOwogICAgcmV0dXJuKCAkZGF0YVswXSAhPSBmYWxzZSApOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkgb3IgZmFsc2UKICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydGllcygkdWlkKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBXSEVSRSB1c2VyaWQ9PyI7CiAgICAkcD1hcnJheSgkdWlkKTsKICAgICRhcnIgPSBhcnJheSgpOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRhcnJbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkYXJyOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgcmVjb3JkcyBvciBmYWxzZQogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIFdIRVJFIHVzZXJpZD0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJHVzZXJpZCkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkpIHsKICAgICAgJHJlc3VsdD1hcnJheSgpOzsKICAgICAgd2hpbGUgKCRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CglhcnJheV9wdXNoKCAkcmVzdWx0LCAkcm93ICk7CiAgICAgIH0KICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQoKICAvLwogIC8vIGVuZCBvZiByYyBmdW5jdGlvbnMKICAvLwoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkdXNlcmlkPSR0aGlzLT5Mb2dnZWRJbklkKCk7CiAgICBpZiAoJHVzZXJpZD09PWZhbHNlKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gJHRoaXMtPkdldFVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGRlZmF1bHR2YWx1ZSk7CiAgfQogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkdXNlcmlkLCAkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkZGI9JHRoaXMtPkdldERCKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBXSEVSRSB0aXRsZT0/IEFORCB1c2VyaWQ9PyI7CiAgICAkcD1hcnJheSgkdGl0bGUsJHVzZXJpZCk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImRhdGEiXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAkZGVmYXVsdHZhbHVlOwogICAgfQogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIFNldFVzZXJQcm9wZXJ0eSgkdGl0bGUsJGRhdGEpIAogIHsKICAgICR1c2VyaWQ9JHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmICgkdXNlcmlkPT09ZmFsc2UpIHJldHVybiBmYWxzZTsKICAgIHJldHVybiAkdGhpcy0+U2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJGRhdGEsJHVzZXJpZCk7CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJGRhdGEsJHVzZXJpZCkgCiAgewogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgV0hFUkUgdGl0bGU9PyBBTkQgdXNlcmlkPT8iOwogICAgJHA9YXJyYXkoJHRpdGxlLCR1c2VyaWQpOwogICAgJHI9JGRiLT5FeGVjdXRlKCRxLCRwKTsKICAgIGlmICghJHIgfHwgKCRyLT5OdW1Sb3dzKCk9PTApKSB7CiAgICAgICRuZXdpZD0kZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllc19zZXEiKTsKICAgICAgJHE9IklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIChpZCx1c2VyaWQsdGl0bGUsZGF0YSkgVkFMVUVTICg/LD8sPyw/KSI7CiAgICAgICRwPWFycmF5KCRuZXdpZCwkdXNlcmlkLCR0aXRsZSwkZGF0YSk7CiAgICAgICRyPSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICB9IGVsc2UgewogICAgICAkcm93PSRyLT5GZXRjaFJvdygpOwogICAgICAkcT0iVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFNFVCBkYXRhPT8gV0hFUkUgaWQ9PyI7CiAgICAgICRwPWFycmF5KCRkYXRhLCRyb3dbImlkIl0pOwogICAgICAkcj0kZGItPkV4ZWN1dGUoJHEsJHApOwogICAgfQogICAgcmV0dXJuICgkciE9ZmFsc2UpOwogIH0KCiAgLy8gZGVsZXRlIGFsbCBvY2N1cmFuY2VzIG9mIHRoZSB1c2VycHJvcGVydHkgYnkgbmFtZQogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUJ5TmFtZSggJHRpdGxlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0REIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHRpdGxlPT8iOwogICAgJHAgPSBhcnJheSggJHRpdGxlICk7CiAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgJHAgKTsKICAgIHJldHVybiAoJHJlc3VsdCE9ZmFsc2UpOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eSgkdGl0bGUsJGFsbD1mYWxzZSkgCiAgewogICAgJHVzZXJpZD0kdGhpcy0+TG9nZ2VkSW5JZCgpOwogICAgaWYgKCR1c2VyaWQ9PT1mYWxzZSkgcmV0dXJuIGZhbHNlOwogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHVzZXJpZD0/IjsKICAgIGlmICghJGFsbCkgJHEuPSIgQU5EIHRpdGxlPT8iOwogICAgJHA9YXJyYXkoKTsKICAgIGlmICgkYWxsKSAkcD1hcnJheSgkdXNlcmlkKTsgZWxzZSAkcD1hcnJheSgkdXNlcmlkLCR0aXRsZSk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICByZXR1cm4gKCRyZXN1bHQhPWZhbHNlKTsKICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGFsbD1mYWxzZSkgCiAgewogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHVzZXJpZD0/IjsKICAgIGlmICghJGFsbCkgJHEuPSIgQU5EIHRpdGxlPT8iOwogICAgJHA9YXJyYXkoKTsKICAgIGlmICgkYWxsKSAkcD1hcnJheSgkdXNlcmlkKTsgZWxzZSAkcD1hcnJheSgkdXNlcmlkLCR0aXRsZSk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICByZXR1cm4gKCRyZXN1bHQhPWZhbHNlKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBEZWxldGVBbGxVc2VyUHJvcGVydGllcygpIAogIHsKICAgIHJldHVybiAkdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5KCIiLHRydWUpOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzRnVsbCgkdXNlcmlkKSAKICB7CiAgICByZXR1cm4gJHRoaXMtPkRlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoIiIsJHVzZXJpZCx0cnVlKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBDaGVja1Bhc3N3b3JkKCR1c2VybmFtZSwkcGFzc3dvcmQsJGdyb3VwcyA9ICcnLCRtZDVwdyA9IGZhbHNlKSAKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUIHUuKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyB1IjsKCQlpZiAoJGdyb3VwcyAhPSAnJykKCQkJewoJCQkJJHEgLj0gJyBJTk5FUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIGIgT04gdS5pZCA9IGIudXNlcmlkIElOTkVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3VwcyBnIE9OIGcuaWQgPSBiLmdyb3VwaWQgJzsKCQkJfQoJCSRxIC49ICcgV0hFUkUgdS51c2VybmFtZT0/IEFORCB1LnBhc3N3b3JkPT8nOwoJCSRwID0gJyc7CgkJaWYoICRtZDVwdyApCgkJCXsKCQkJCSRwPWFycmF5KCR1c2VybmFtZSwkcGFzc3dvcmQpOwoJCQl9CgkJZWxzZQoJCQl7CgkJCQkkcD1hcnJheSgkdXNlcm5hbWUsbWQ1KCRwYXNzd29yZCkpOwoJCQl9CgkJaWYgKCRncm91cHMgIT0gJycpCgkJCXsJCQkKCQkJCS8vc3BsaXQgdGhlIHN0cmluZyBvbiB0aGUgY29tbWFzCgkJCQkkZ3JvdXBzID0gc3BsaXQoJyxcID8nLCAkZ3JvdXBzKTsKCQkJCQoJCQkJLy9tYWtlIGEgYml0IGZvciB0aGUgcXVlcnkKCQkJCSRxIC49ICcgQU5EICgnIC4gaW1wbG9kZSgnIE9SICcsIGFycmF5X2ZpbGwoMCwgY291bnQoJGdyb3VwcyksICdnLmdyb3VwbmFtZSA9ID8nKSkgLiAnKSc7CgkJCQlmb3JlYWNoICgkZ3JvdXBzIGFzICRncm91cCkKCQkJCQl7CgkJCQkJCSRwW10gPSAkZ3JvdXA7CgkJCQkJfQoJCQl9CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsKICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIExvZ2dlZEluTmFtZSgpIAogIHsKICAgICR1c2VyaWQ9JHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmICgkdXNlcmlkKSByZXR1cm4gJHRoaXMtPkdldFVzZXJOYW1lKCR1c2VyaWQpOyBlbHNlIHJldHVybiAiIjsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gTG9nb3V0KCR1aWQgPSAnJykgCiAgewoJCWlmKCAhJHVpZCApIHJldHVybjsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcSA9ICcnOwoJCSRwID0gJyc7CgkJaWYoICR1aWQgPT0gJycgKQoJCQl7CgkJCQkkdWlkID0gJHRoaXMtPkxvZ2dlZEluSWQoKTsKCQkJCWlmKCAhJHVpZCApIHJldHVybiBmYWxzZTsKCQkJCSRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgc2Vzc2lvbmlkPT8iOwoJCQkJJHA9YXJyYXkoc2Vzc2lvbl9pZCgpKTsKCQkJfQoJCWVsc2UKCQkJewoJCQkJJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19sb2dnZWRpbiBXSEVSRSB1c2VyaWQ9PyI7CgkJCQkkcD1hcnJheSgkdWlkKTsKCQkJfQoJCQogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsJHApOwoKCQkvLyBkZWxldGUgdGhlIGNvb2tpZQoJCUBzZXRjb29raWUoJ2ZldV9zZXNzaW9uaWQnLCcnLHRpbWUoKS02MDAwMCk7CgkJQHNldGNvb2tpZSgnZmV1X3VpZCcsJycsdGltZSgpLTYwMDAwKTsKCiAgICAvLyBhbmQgYWRkIGhpc3RvcnkgaW5mbwogICAgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkgVkFMVUVTICg/LD8sPyw/LD8pIjsKICAgICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkLCBzZXNzaW9uX2lkKCksICdsb2dvdXQnLAoJCQkgICAgIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksJGlwICkpOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIExvZ291dFVzZXIoJHVpZCwkZXZlbnRtc2cgPSAnbG9nb3V0JykgCiAgewoJCWlmKCAhJHVpZCApIHJldHVybjsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgdXNlcmlkPT8iOwogICAgJHA9YXJyYXkoJHVpZCk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CgogICAgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkgVkFMVUVTICg/LD8sPyw/LD8pIjsKICAgICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkLCBzZXNzaW9uX2lkKCksICRldmVudG1zZyAsCgkJCQkJCQkJCQkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksJGlwKSApOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEV4cGlyZVVzZXJzKCkgCiAgewogICAgJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlKCk7CiAgICAkZXhwaXJ5dGltZSA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3VzZXJfc2Vzc2lvbl9leHBpcmVzJyk7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgbGFzdHVzZWQ8PyI7CiAgICAkcD1hcnJheSh0aW1lKCktJGV4cGlyeXRpbWUpOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgJHAgKTsKICAgIHdoaWxlKCAkZGJyZXN1bHQgJiYgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpICkKICAgICAgewoJCQkJJHEyID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5CiAgICAgICAgICAgICAgICAgKHVzZXJpZCxzZXNzaW9uaWQsYWN0aW9uLHJlZmRhdGUpCiAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/KSI7CgkJCQkkZGItPkV4ZWN1dGUoICRxMiwgYXJyYXkoICRyb3dbJ3VzZXJpZCddLCAkcm93WydzZXNzaW9uaWQnXSwnZXhwaXJlJywKCQkJCQkJCQkJCQkJCQkJCQl0cmltKCRkYi0+RGJUaW1lU3RhbXAodGltZSgpKSwiJyIpKSk7CgkJCQkkbW9kdWxlLT5Ob3RpZnlFeHBpcmVkVXNlciggJHJvd1sndXNlcmlkJ10gKTsKICAgICAgfQoKICAgICRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgbGFzdHVzZWQ8PyI7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gTG9nZ2VkSW5JZCgpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkc2Vzc2lvbmlkID0gc2Vzc2lvbl9pZCgpOwogICAgJHRoaXMtPkV4cGlyZVVzZXJzKCk7CgogICAgaWYoICRzZXNzaW9uaWQgPT0gIiIgKQogICAgICB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgc2Vzc2lvbmlkPT8iOwogICAgJHA9YXJyYXkoJHNlc3Npb25pZCk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSAKCQkJewoJCQkJJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpOwoJCQkJJHJldHZhbCA9ICRyb3dbInVzZXJpZCJdOwoJCQkJCgkJCQkvLyBub3cgdG91Y2ggdGhlIGxhc3R1c2VkCgkJCQkvLyB0aGlzIHdpbGwgZW5zdXJlIHRoYXQgZXZlcnkgdGltZSB3ZSBjaGVjayB0aGF0IGEgdXNlciBpcwoJCQkJLy8gbG9nZ2VkIGluLCBpdCB0b3VjaGVzIGhpcyBsb2dnZWQgaW4gZW50cnkKCQkJCSRxID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gU0VUIGxhc3R1c2VkID0gPyB3aGVyZSBzZXNzaW9uaWQgPSA/IjsKCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggdGltZSgpLCAkc2Vzc2lvbmlkICkgKTsKCQkJCXJldHVybiAkcmV0dmFsOwoJCQl9IAoJCWVsc2UgCgkJCXsKCQkJCSRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJCQkJaWYoICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApICYmCgkJCQkJCWlzc2V0KCRfQ09PS0lFWydmZXVfc2Vzc2lvbmlkJ10pICkKCQkJCQl7CgkJCQkJCS8vIG5vIHNlc3Npb24gaWQsIGJ1dCB3ZSBoYXZlIGEgY29va2llLCBzbyB3aGF0IHdlJ2xsIGRvCgkJCQkJCS8vIGlzIGZpcnN0IGNoZWNrIHRvIHNlZSBpZiB0aGUgc2Vzc2lvbiBpcyBzdGlsbCBsb2dnZWQgaW4KCQkJCQkJLy8gaWYgaXQgaXMsIGZvcmNlIGEgbG9nb3V0IGZvciB0aGF0IHNlc3Npb24gaWQKCQkJCQkJLy8gYW5kIHN0YXJ0IGEgbmV3IHJlY29yZCwgb3RoZXJ3aXNlLCBpZ25vcmUgdGhlIGNvb2tpZQoJCQkJCQkkdWlkID0gJF9DT09LSUVbJ2ZldV91aWQnXTsKCQkJCQkJJHNlc3Npb25pZCA9ICRfQ09PS0lFWydmZXVfc2Vzc2lvbmlkJ107CgkJCQkJCQoJCQkJCQkkcSA9ICJTRUxFQ1QgdXNlcmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluCiAgICAgICAgICAgICAgICAgICBXSEVSRSBzZXNzaW9uaWQgPSA/IjsKCQkJCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxLCBhcnJheSgkc2Vzc2lvbmlkKSApOwoJCQkJCQlpZiggISRyb3cgKQoJCQkJCQkJewoJCQkJCQkJCS8vIHVzZXIgaGFzIGEgY29va2llLCBidXQgdGhlIHJlY29yZCBoYXMgcHJvYmFibHkgZXhwaXJlZAoJCQkJCQkJCS8vIHNvIHRoZSBjb29raWUgaXMgbm90IGdvb2QgYW55IG1vcmUuCgkJCQkJCQkJCgkJCQkJCQkJLy8gZGVsZXRlIHRoZSBjb29raWUKCQkJCQkJCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJywnJyx0aW1lKCktNjAwMDApOwoJCQkJCQkJCUBzZXRjb29raWUoJ2ZldV91aWQnLCcnLHRpbWUoKS02MDAwMCk7CgkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJfQoJCQkJCQkKCQkJCQkJLy8gZGVsZXRlIHRoZSBleGlzdGluZyByZWNvcmQKCQkJCQkJJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIAogICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBzZXNzaW9uaWQgPSA/IjsKCQkJCQkJJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRzZXNzaW9uaWQgKSApOwoJCQkJCQkKCQkJCQkJLy8gbG9nIHRoZSB1c2VyIGluCgkJCQkJCS8vIHRvZG8sIGxvZyB0aGlzIHRvbywKCQkJCQkJLy8gcmF0aW9uYWxpemUgdGhpcyBjb2RlIHdpdGggTG9naW4oKSBhbmQgTG9nb3V0KCkgbWV0aG9kcwoJCQkJCQlAc2Vzc2lvbl9zdGFydCgpOwoJCQkJCQkkc2Vzc2lvbmlkID0gc2Vzc2lvbl9pZCgpOwoJCQkJCQkKCQkJCQkJJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluCiAgICAgICAgICAgICAgICAgICAgKHNlc3Npb25pZCxsYXN0dXNlZCx1c2VyaWQpCiAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8pIjsKCQkJCQkJJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoJHNlc3Npb25pZCwgdGltZSgpLCAkdWlkKSApOwoJCQkJCQkKCQkJCQkJLy8gc2V0IHRoZSBjb29raWUgYWdhaW4KCQkJCQkJJGV4cGlyeXRpbWUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCd1c2VyX3Nlc3Npb25fZXhwaXJlcycpOwoJCQkJCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJywkc2Vzc2lvbmlkLHRpbWUoKSskZXhwaXJ5dGltZSk7CgkJCQkJCUBzZXRjb29raWUoJ2ZldV91aWQnLCR1aWQsdGltZSgpKyRleHBpcnl0aW1lKTsKCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfQoJCQkJZWxzZQoJCQkJCXsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJfQoJCXJldHVybiBmYWxzZTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBMb2dnZWRJbigpIAogIHsKICAgIGlmKCAhJHRoaXMtPkxvZ2dlZEluSWQoKSApIAoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7IAoJCQl9CiAgICBlbHNlCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gTWVtYmVyT2ZHcm91cCgkdXNlcmlkLCRncm91cGlkKSAKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSB1c2VyaWQ9PyBBTkQgZ3JvdXBpZD0/IjsKICAgIAogICAgJHBhcmFtcz1hcnJheSgkdXNlcmlkLCRncm91cGlkKTsKICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLCRwYXJhbXMpOwogICAgaWYgKCRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSkgCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9IAoJCWVsc2UgCgkJCXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQogIH0KICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gR2V0VXNlck5hbWUoJHVzZXJpZCkgCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkPT8iOwogICAgCiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLGFycmF5KCR1c2VyaWQpKTsKICAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgICByZXR1cm4gJHJvd1sidXNlcm5hbWUiXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldFVzZXJJRCgkdXNlcm5hbWUpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyBXSEVSRSB1c2VybmFtZT0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJHVzZXJuYW1lKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImlkIl07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gQWRkR3JvdXAoICRuYW1lLCAkZGVzY3JpcHRpb24gKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgLy8gc2VlIGlmIGl0IGV4aXN0cyBhbHJlYWR5IG9yIG5vdCAoYnkgbmFtZSkKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCiAgICAgICJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgZ3JvdXBuYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCR0aGlzLT5MYW5nKCdlcnJvcl9ncm91cG5hbWVfZXhpc3RzJykpOwogICAgICB9CiAgICAKICAgICRncnBpZCA9IAogICAgICAkZGItPkdlbklEKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3Vwc19zZXEiICk7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4KICAgICAgIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBWQUxVRVMgKD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGdycGlkLCAkbmFtZSwgJGRlc2NyaXB0aW9uICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFLCRncnBpZCk7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYXJyYXkKICBmdW5jdGlvbiBBZGRVc2VyKCAkbmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcyApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAvLyBzZWUgaWYgaXQgZXhpc3RzIGFscmVhZHkgb3Igbm90IChieSBuYW1lKQogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4KICAgICAgIm1vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIHVzZXJuYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlKCk7CglyZXR1cm4gYXJyYXkoRkFMU0UsJG1vZHVsZS0+TGFuZygnZXJyb3JfdXNlcm5hbWVfZXhpc3RzJykpOwogICAgICB9CiAgICAKICAgIC8vIGdlbmVyYXRlIHRoZSBzZXF1ZW5jZQogICAgJHVpZCA9IAogICAgICAkZGItPkdlbklEKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzX3NlcSIgKTsKCiAgICAvLyBpbnNlcnQgdGhlIHJlY29yZAogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuCiAgICAgICJtb2R1bGVfZmV1c2Vyc191c2VycyBWQUxVRVMgKD8sPyw/LD8sPykiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQsICRuYW1lLCBtZDUoJHBhc3N3b3JkKSwgCgkJCQkJIHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIiksCgkJCQkJIHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgkZXhwaXJlcyksIiciKSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSwkdWlkKTsKICB9CiAgCiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldEdyb3VwTmFtZSgkZ3JvdXBpZCkgCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBpZD0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJGdyb3VwaWQpKTsKICAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgICByZXR1cm4gJHJvd1siZ3JvdXBuYW1lIl07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIAogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRHcm91cERlc2MoJGdyb3VwaWQpIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgaWQ9PyI7CiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLGFycmF5KCRncm91cGlkKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImdyb3VwZGVzYyJdOwogICAgfSAJZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5CiAgZnVuY3Rpb24gRGVsZXRlR3JvdXBGdWxsKCAkaWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREQigpOwogICAgJHJlc3VsdCA9IGFycmF5KCk7CgogICAgLy8gZGVsZXRlIGFsbCBwcm9wZXJ0eSByZWxhdGlvbnMgZnJvbSB0aGlzIGdyb3VwCiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwIFdIRVJFIGdyb3VwX2lkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KCBGQUxTRSwgJGRiLT5FcnJvck1zZygpICk7CiAgICAgIH0KCiAgICAvLyBkZWxldGUgYWxsIGluZGljYXRpb24gdGhhdCBhbnlib2R5IGlzIGEgbWVtYmVyCiAgICAvLyBvZiB0aGlzIGdyb3VwCiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSBncm91cGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KCBGQUxTRSwgJGRiLT5FcnJvck1zZygpICk7CiAgICAgIH0KICAgIAogICAgLy8gYW5kIHRoZW4gZGVsZXRlIHRoZSBncm91cAogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheSggRkFMU0UsICRkYi0+RXJyb3JNc2coKSApOwogICAgICB9CiAgICAKICAgIHJldHVybiBhcnJheSggVFJVRSwgJycgKTsKICB9CiAgCiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldEdyb3VwTGlzdCgpCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxICk7CiAgICBpZiggJGRicmVzdWx0ICkgewogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkJICAkcmVzdWx0WyRyb3dbJ2dyb3VwbmFtZSddXSA9ICRyb3dbJ2lkJ107CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KICAKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldEdyb3VwTGlzdEZ1bGwoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSAgCiAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkgKTsKICAgIGlmKCAkZGJyZXN1bHQgKSB7CiAgICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKICAgICAgICB7CgkJCWFycmF5X3B1c2goJHJlc3VsdCwkcm93KTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICAvLyBvbGQgdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldEdyb3VwSUQoJGdyb3VwbmFtZSkgCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgZ3JvdXBuYW1lPT8iOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSxhcnJheSgkZ3JvdXBuYW1lKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgCiAgICAgIHsKCQkJCSRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpOwoJCQkJcmV0dXJuICRyb3dbImlkIl07CiAgICAgIH0gCiAgICBlbHNlIAogICAgICB7CgkJCQlyZXR1cm4gZmFsc2U7CiAgICAgIH0KICB9CgoKICAvLyBvbGQgdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3VwcygkdXNlcmlkKSB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSB1c2VyaWQ9PyI7CiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLGFycmF5KCR1c2VyaWQpKTsKICAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyZXN1bHQ9IiI7CiAgICAgIHdoaWxlICgkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewoJaWYgKCRyZXN1bHQhPSIiKSB7CgkgICRyZXN1bHQuPSIsIi4kdGhpcy0+R2V0R3JvdXBOYW1lKCRyb3dbImdyb3VwaWQiXSk7Cgl9IGVsc2UgewoJICAkcmVzdWx0PSR0aGlzLT5HZXRHcm91cE5hbWUoJHJvd1siZ3JvdXBpZCJdKTsKCX0KICAgICAgfQogICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAibm9uZSI7CiAgICB9CiAgfQoKCiAgLy8gb2xkIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBEZWxldGVVc2VyKCRpZCkgCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgaWYgKGlzc2V0KCRfR0VUWyRpZC4idXNlcmlkIl0pKSAKICAgICAgJHVzZXJpZD1zdHJfcmVwbGFjZSgiJyIsJ18nLCRfR0VUWyRpZC4idXNlcmlkIl0pOyAKICAgIGVsc2UgCiAgICAgIHJldHVybjsKICAgICRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgV0hFUkUgaWQ9JyR1c2VyaWQnIjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEpOwogICAgJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIFdIRVJFIHVzZXJpZD0nJHVzZXJpZCciOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSk7CiAgfQoKfSAvLyBjbGFzcwoKJG1hbmlwdWxhdG9yID0gJ0Zyb250RW5kVXNlcnNNYW5pcHVsYXRvcic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/FrontEndUsers.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKLy8gYSB2ZXJ5IGltcG9ydGFudCBsaW5lIHRoYXQgaW5jbHVkZXMgYWxsIG9mIG91ciBhcGkgZnVuY3Rpb25zCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL1JhbmRvbS5waHAiICk7CnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2Z1bmN0aW9ucy5waHAiICk7CgpjbGFzcyBGcm9udEVuZFVzZXJzIGV4dGVuZHMgQ01TTW9kdWxlIAp7CiAgdmFyICRkZXZkZWJ1ZyA9IDA7CgogIC8qKgogICAqIFRoZSBkZWZhdWx0IHRlbXBsYXRlIHVzZWQgZm9yIHRoZSBsb2dpbiBmb3JtCiAgICovCiAgdmFyICRkZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUxID0gJwo8IS0tIGZvcmdvdCBwYXNzd29yZCB0ZW1wbGF0ZSAtLT4KeyRzdGFydGZvcm19CnskdGl0bGV9CntpZiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD57JGxvc3Rwd19tZXNzYWdlfTwvcD4KPHA+eyRwcm9tcHRfdXNlcm5hbWV9Jm5ic3A7eyRpbnB1dF91c2VybmFtZX08L3A+CjxwPnskaGlkZGVufXskc3VibWl0fSZuYnNweyRjYW5jZWx9PC9wPgp7JGVuZGZvcm19CjwhLS0gZm9yZ290IHBhc3N3b3JkIHRlbXBsYXRlIC0tPiAKICAnOwoKICB2YXIgJGRmbHRfZm9yZ290cGFzc3dvcmR0ZW1wbGF0ZTIgPSAnCjwhLS0gZm9yZ290IHBhc3N3b3JkIGVtYWlsIHRlbXBsYXRlIC0tPgo8cD57JG1lc3NhZ2VfZm9yZ290cHdlbWFpbH08L3A+CjxwPnskcHJvbXB0X2NvZGV9Jm5ic3A7eyRkYXRhX2NvZGV9PC9wPgo8cD57JHByb21wdF9saW5rfSZuYnNwO3skZGF0YV9saW5rfTxwPgo8IS0tIGZvcmdvdCBwYXNzd29yZCBlbWFpbCB0ZW1wbGF0ZSAtLT4KICAnOwoKCiAgdmFyICRkZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUzID0gJwo8IS0tIGZvcmdvdCBwYXNzd29yZCB2ZXJpZmljYXRpb24gdGVtcGxhdGUgLS0+Cnskc3RhcnRmb3JtfQp7JHRpdGxlfQp7aWYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgJGVycm9yICE9IFwnXCd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KPHA+eyRwcm9tcHRfdXNlcm5hbWV9Jm5ic3A7eyRpbnB1dF91c2VybmFtZX08L3A+CjxwPnskcHJvbXB0X2NvZGV9Jm5ic3A7eyRpbnB1dF9jb2RlfTwvcD4KPHA+eyRwcm9tcHRfcGFzc3dvcmR9Jm5ic3A7eyRpbnB1dF9wYXNzd29yZH08L3A+CjxwPnskcHJvbXB0X3JlcGVhdHBhc3N3b3JkfSZuYnNwO3skaW5wdXRfcmVwZWF0cGFzc3dvcmR9PC9wPgo8cD57JGhpZGRlbn17JHN1Ym1pdH08L3A+CnskZW5kZm9ybX0KPCEtLSBmb3Jnb3QgcGFzc3dvcmQgdmVyaWZpY2F0aW9uIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfbG9naW5mb3JtdGVtcGxhdGUgPSAnCjwhLS0gTG9naW4gZm9ybSB0ZW1wbGF0ZSAtLT4KIDxmb250IHNpemU9Ii0yIj4KIHskc3RhcnRmb3JtfQoge2lmICRlcnJvcn0KICB7JGVycm9yfTxicj4KIHsvaWZ9CiAgPHA+eyRwcm9tcHRfdXNlcm5hbWV9Jm5ic3A7eyRpbnB1dF91c2VybmFtZX0mbmJzcDt7JHByb21wdF9wYXNzd29yZH0mbmJzcDsKICB7JGlucHV0X3Bhc3N3b3JkfTxici8+CiB7aWYgaXNzZXQoJGNhcHRjaGEpfQogIHskY2FwdGNoYV90aXRsZX06IHskaW5wdXRfY2FwdGNoYX08YnIvPgogIHskY2FwdGNoYX08YnIvPgogey9pZn0KICB7aWYgaXNzZXQoJGlucHV0X3JlbWVtYmVybWUpfQogICAgeyRpbnB1dF9yZW1lbWJlcm1lfSZuYnNwO3skcHJvbXB0X3JlbWVtYmVybWV9PGJyLz4KICB7L2lmfQogIHskaW5wdXRfc3VibWl0fTxici8+CnskbGlua19mb3Jnb3R9PGJyLz57JGxpbmtfbG9zdHVufTwvcD4KeyRlbmRmb3JtfQogIDwvZm9udD4KPCEtLSBMb2dpbiBmb3JtIHRlbXBsYXRlIC0tPgogJzsKCiAgdmFyICRkZmx0X2xvZ291dGZvcm10ZW1wbGF0ZSA9ICcKPCEtLSBMb2dvdXQgZm9ybSB0ZW1wbGF0ZSAtLT4KIHskc3RhcnRmb3JtfQogIDxwPnskcHJvbXB0X2xvZ2dlZGlufSZuYnNwO3skdXNlcm5hbWV9PC9wPiAKICA8cD57JGxpbmtfbG9nb3V0fTwvcD4KICA8cD57JGxpbmtfY2hhbmdlc2V0dGluZ3N9PC9wPgogeyRlbmRmb3JtfQo8IS0tIExvZ291dCBmb3JtIHRlbXBsYXRlIC0tPgogJzsKCiAgdmFyICRkZmx0X2NoYW5nZXNldHRpbmdzdGVtcGxhdGUgPSAnCjwhLS0gY2hhbmdlIHNldHRpbmdzIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgJGVycm9yICE9IFwnXCd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CiB7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgPGNlbnRlcj4KICA8dGFibGUgd2lkdGg9Ijc1JSI+CiAgICAge2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgICA8dGQ+eyRjb250cm9sLT5oaWRkZW59PGZvbnQgY29sb3I9InskY29udHJvbC0+Y29sb3J9Ij57JGNvbnRyb2wtPnByb21wdH17JGNvbnRyb2wtPm1hcmtlcn08L2ZvbnQ+PC90ZD4KICAgICA8dGQ+CiAgICAgICB7aWYgaXNzZXQoJGNvbnRyb2wtPmltYWdlKX17JGNvbnRyb2wtPmltYWdlfTxici8+ey9pZn0KICAgICAgIHskY29udHJvbC0+Y29udHJvbH17JGNvbnRyb2wtPmFkZHRleHR9CiAgICAgICB7aWYgJGNvbnRyb2wtPnJlcXVpcmVkICE9IHRydWV9CiAgICAgICAgIHtpZiBpc3NldCgkY29udHJvbC0+Y29udHJvbDIpfXskY29udHJvbC0+cHJvbXB0Mn0mbmJzcDt7JGNvbnRyb2wtPmNvbnRyb2wyfTxici8+ey9pZn0KICAgICAgIHsvaWZ9CiAgICAgPC90ZD4KICA8L3RyPgogey9mb3JlYWNofQogIDwvdGFibGU+CiAgPC9jZW50ZXI+CiB7L2lmfQogeyRoaWRkZW59eyRoaWRkZW4yfXskc3VibWl0fXskY2FuY2VsfQp7JGVuZGZvcm19CjwhLS0gY2hhbmdlIHNldHRpbmdzIHRlbXBsYXRlIC0tPgogJzsKCgogIC8vSG93IG1hbnkgc2Vjb25kcyBvZiBpbmFjdGl2aXR5IGJlZm9yZSBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBsb2dnZWQgb3V0LgogIHZhciAkZXhwaXJ5dGltZTsKICAKICAvL1NldCB0aGlzIHRvIHRydWUgaWYgdXNlciBzaG91bGQgYmUgcmVkaXJlY3RlZCB0byBkZWZhdWx0IHBhZ2UgYWZ0ZXIgCiAgLy8gbG9nZ2luZyBpbi9vdXQuCiAgdmFyICRsb2dpbnRhcmdldDsKICB2YXIgJG90aGVyaW50YXJnZXQ7CiAgdmFyICRsb2dvdXR0YXJnZXQ7CiAgdmFyICRvdGhlcm91dHRhcmdldDsgIAogIHZhciAkYWxsb3d1c2VyYWRtaW47CiAgdmFyICRlbmFibGVlbWFpbHB3OwogIHZhciAkbGFuZz0iIjsKICB2YXIgJHVzZXJtYW5pcCA9IGZhbHNlOwogIHZhciAkdHlwZXMgPSBmYWxzZTsKCiAgLy8gY29uc3RydWN0b3IKICBmdW5jdGlvbiBGcm9udEVuZFVzZXJzKCkKICB7CiAgICBwYXJlbnQ6OkNNU01vZHVsZSgpOwogICAgJHRoaXMtPnR5cGVzID0gYXJyYXkoICd0ZXh0JyA9PiAwLAoJCQkgICdjaGVja2JveCcgPT4gMSwKCQkJICAnZW1haWwnID0+IDIsCgkJCSAgJ3RleHRhcmVhJyA9PiAzLAoJCQkgICdkcm9wZG93bicgPT4gNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlzZWxlY3QnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltYWdlJyA9PiA2KTsKICB9CgogIGZ1bmN0aW9uIF9sb2FkKCkKICB7CiAgICBpZiggJHRoaXMtPnVzZXJtYW5pcCA9PSBOVUxMICkKICAgIHsKICAgICAgLy8gY2hlY2sgYSBwcmVmZXJlbmNlIHRvIHNlZSB3aGljaCB1c2VyIG1hbmlwdWxhdG9yIGNsYXNzCiAgICAgIC8vIHdlIHNob3VsZCB1c2UuICAKICAgICAgJHVzZXJtYW5pcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybWFuaXB1bGF0b3InLCdGcm9udEVuZFVzZXJzLmFwaS5waHAnKTsKICAgICAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwkdXNlcm1hbmlwKTsKICAgICAgaWYoICFpc19yZWFkYWJsZSggJGZuICkgKSAKICAgICAgICBkaWUoIkNvdWxkIG5vdCByZWFkIHVzZXJtYW5pcHVsYXRvciBjbGFzcyBmaWxlOiAkZm4iKTsKICAgICAgcmVxdWlyZV9vbmNlKCRmbik7CiAgICAgIGlmKCAhaXNzZXQoICRtYW5pcHVsYXRvciApICkKICAgICAgICBkaWUoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgbWFuaXB1bGF0b3IgY2xhc3MgbmFtZScpOwogICAgICAkdGhpcy0+dXNlcm1hbmlwID0gbmV3ICRtYW5pcHVsYXRvciggJHRoaXMgKTsKICAgICAgaWYoICFpc19vYmplY3QoICR0aGlzLT51c2VybWFuaXAgKSApCiAgICAgICAgZGllKCJFcnJvciBpbnN0YW50aWF0aW9uZyAkbWFuaXB1bGF0b3Igb2JqZWN0Iik7CiAgICB9CiAgfQoKCi8vICBmdW5jdGlvbiBBZGRHcm91cFBvc3QoJGdyb3VwKQovLyAgewovLyAgICAvLyBhIGdyb3VwIHdhcyBqdXN0IGFkZGVkIGZyb20gdGhlIGJhY2tlbmQKLy8gICAgLy8gbGV0cycgYWRkIHRoZSBzYW1lIGdyb3VwIG5hbWUgaGVyZQovLyAgICAkcmVzdWx0ID0gJHRoaXMtPkFkZEdyb3VwKCRncm91cC0+bmFtZSwkdGhpcy0+TGFuZygnYmFja2VuZF9ncm91cCcpKTsKLy8gIH0KCi8vICAgZnVuY3Rpb24gRGVsZXRlR3JvdXBQb3N0KCRncm91cCkKLy8gICB7Ci8vICAgICBkaWUoICJEZWxldGluZyBncm91cDogIi4kZ3JvdXAtPm5hbWUgKTsKLy8gICAgIC8vIGEgZ3JvdXAgd2FzIGp1c3QgYWRkZWQgZnJvbSB0aGUgYmFja2VuZAovLyAgICAgLy8gbGV0cycgYWRkIHRoZSBzYW1lIGdyb3VwIG5hbWUgaGVyZQovLyAgICAgJGlkID0gJHRoaXMtPkdldEdyb3VwTmFtZSggJGdyb3VwLT5uYW1lICk7Ci8vICAgICBpZiggJGlkICkKLy8gICAgICAgeyAKLy8gCSRyZXN1bHQgPSAkdGhpcy0+RGVsZXRlR3JvdXBGdWxsKCRpZCk7Ci8vICAgICAgIH0KLy8gICB9CgogIGZ1bmN0aW9uIEdlbmVyYXRlUmFuZG9tUHJpbnRhYmxlU3RyaW5nKCAkbGVuID0gMTAgKQogIHsKICAgICRvMSA9IG5ldyBSYW5kb20oIjIzNDU2Nzg5QUJDREVGR0hKS01OUFFSU1RVVldYWVoiKTsKICAgIHJldHVybiAkbzEtPmdldCgkbGVuKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkgCQogIHsKICAgIHJldHVybiAnRnJvbnRFbmRVc2Vycyc7CiAgfQoKIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQkKICB7CiAgICByZXR1cm4gJzEuMy4xJzsKICB9CgogCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgbGFuZ2lmeUtleXMoKQogCiAgIEdpdmVuIGFuIGFzc29jaWF0aXZlIGFycmF5LCByZXBsYWNlIHRoZSB2YWx1ZXMgd2l0aAogICB0cmFuc2xhdGVkIG9uZXMuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gbGFuZ2lmeUtleXMoICRhcnIgKQogIHsKICAgICRvdXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGFyciBhcyAkaz0+JHYgKQogICAgewogICAgICAkayA9ICR0aGlzLT5MYW5nKCRrKTsKICAgICAgJG91dFsgJGsgXSA9ICR2OwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMiI7CiAgfQogIAogCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24gKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcgKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uICgpCiAgewogICAgcmV0dXJuICd1c2Vyc2dyb3Vwcyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSggJ0NNU01haWxlcicgPT4gJzEuNzMuMycgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENvbnRlbnRQcmVSZW5kZXIoJiRjb250ZW50KQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1c2Vyc19sb2dnZWRpbicsKCR0aGlzLT5Mb2dnZWRJbklkKCkgPiAwKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZldXNlcnNfbG9nZ2lubmFtZScsJHRoaXMtPkxvZ2dlZEluTmFtZSgpKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBhcmFtZXRlcnMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsKICAgIGdsb2JhbCAkQ01TX1ZFUlNJT047CiAgICBpZiggdmVyc2lvbl9jb21wYXJlKCAkQ01TX1ZFUlNJT04sICcxLjEnICkgPT0gMSApIHsKICAgICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgIAogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZm9ybScsQ0xFQU5fU1RSSU5HKTsKICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3JldHVybnRvJyxDTEVBTl9TVFJJTkcpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb25seV9ncm91cHMnLENMRUFOX1NUUklORyk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2NhcHRjaGEnLENMRUFOX0lOVCk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF91c2VybmFtZScsQ0xFQU5fU1RSSU5HKTsKICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3Bhc3N3b3JkJyxDTEVBTl9TVFJJTkcpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLENMRUFOX1NUUklORyk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdlcnJvcicsQ0xFQU5fSU5UKTsKICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21lc3NhZ2UnLENMRUFOX1NUUklORyk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsb3N0dW5fZ3JvdXAnLENMRUFOX1NUUklORyk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9jYXB0Y2hhJyxDTEVBTl9TVFJJTkcpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VibWl0JyxDTEVBTl9TVFJJTkcpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfcmV0dXJudG8nLENMRUFOX0lOVCk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF91aWQnLENMRUFOX0lOVCk7CiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9jb2RlJyxDTEVBTl9TVFJJTkcpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2tpcGZvcm1kaXNwbGF5JyxDTEVBTl9JTlQpOwogICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9mZXVfLiovJyxDTEVBTl9TVFJJTkcpOwogICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9FeHBvcnRMb2dnZWRJblVzZXJWYXJpYWJsZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9FeHBvcnRMb2dnZWRJblVzZXJWYXJpYWJsZXMoJGlkLCYkcGFyYW1zLCRyZXR1cm5pZCkgCiAgewogICAgJHVpZCA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CiAgICBpZiggISR1aWQgKSByZXR1cm47CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXJpZCcsICR1aWQpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsICR0aGlzLT5Mb2dnZWRJbk5hbWUoKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfbG9nb3V0JywKCQkJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsImxvZ291dCIsJHJldHVybmlkLAoJCQkJCSAgICAkdGhpcy0+TGFuZygnbG9nb3V0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsX2xvZ291dCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdsb2dvdXQnLCRyZXR1cm5pZCwKCQkJCQkgICAgJycsYXJyYXkoKSwnJyx0cnVlKSk7CiAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfY2hhbmdlc2V0dGluZ3MnKTsKICAgIGlmKCAkcGFnZSApCiAgICB7CiAgICAgICRwYWdlaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkcGFnZSApOwogICAgICBpZiggJHBhZ2VpZCA9PSBmYWxzZSApCiAgICAgIHsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfY2hhbmdlc2V0dGluZ3MnLCc8IS0tIEVycm9yIGNvdWxkIG5vdCBkZXRlcm1pbmUgcGFnZSBmcm9tIGFsaWFzL2lkIC0tPicpOwogICAgICB9CiAgICAgIGVsc2UgCiAgICAgIHsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfY2hhbmdlc2V0dGluZ3MnLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRwYWdlaWQsCgkJCQkJCSR0aGlzLT5MYW5nKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkJYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfY2hhbmdlc2V0dGluZ3MnLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRwYWdlaWQsCgkJCQkJCScnLAoJCQkJCQlhcnJheSgnZm9ybSc9PidjaGFuZ2VzZXR0aW5ncycpLAoJCQkJCQknJyx0cnVlKSk7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19jaGFuZ2VzZXR0aW5ncycsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSkpOwogICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfY2hhbmdlc2V0dGluZ3MnLAoJCQkgICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLAoJCQkJCSAgICAgICAnJywKCQkJCQkgICAgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkgICAgICAgJycsdHJ1ZSkpOwogICAgfQogICAgJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCAkdGhpcy0+TG9nZ2VkSW5JZCgpICk7CiAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJHAgKQogICAgewogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJHBbJ3RpdGxlJ10sJHBbJ2RhdGEnXSk7CiAgICB9CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudEhlbHAoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEV2ZW50SGVscCAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluICgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiBmdW5jdGlvbiBHZXRQYWdlSWQoJGFsaWFzKSB7CQkKICAgIGlmICgkYWxpYXM9PSIiKSByZXR1cm4gZmFsc2U7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcXVlcnkgPSAiU0VMRUNUIGNvbnRlbnRfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSBjb250ZW50X2FsaWFzID0gJyIuc3RyX3JlcGxhY2UoIiciLCdfJywkYWxpYXMpLiInIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQl7CiAgICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgIHJldHVybiAkcm93Wydjb250ZW50X2lkJ107CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgZnVuY3Rpb24gX0dldFVzZXJMb2dvdXRGb3JtKCRpZCwmJHBhcmFtcywkcmV0dXJuaWQpIAogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2xvZ2dlZGluJywKCQkJICAkdGhpcy0+TGFuZygnbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXJpZCcsICR0aGlzLT5Mb2dnZWRJbklkKCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsICR0aGlzLT5Mb2dnZWRJbk5hbWUoKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfbG9nb3V0JywKCQkJICAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwkcmV0dXJuaWQsImxvZ291dCIsCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnbG9nb3V0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsX2xvZ291dCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdsb2dvdXQnLCRyZXR1cm5pZCwKCQkJCQkgICAgJycsYXJyYXkoKSwnJyx0cnVlKSk7CiAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfY2hhbmdlc2V0dGluZ3MnKTsKICAgIGlmKCAkcGFnZSApCiAgICB7CiAgICAgICRwYWdlaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkcGFnZSApOwogICAgICBpZiggJHBhZ2VpZCA9PSBmYWxzZSApCiAgICAgIHsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfY2hhbmdlc2V0dGluZ3MnLCc8IS0tIEVycm9yIGNvdWxkIG5vdCBkZXRlcm1pbmUgcGFnZSBmcm9tIGFsaWFzL2lkIC0tPicpOwogICAgICB9CiAgICAgIGVsc2UgCiAgICAgIHsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfY2hhbmdlc2V0dGluZ3MnLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnZGVmYXVsdCcsICRwYWdlaWQsCgkJCQkJCSAkdGhpcy0+TGFuZygncHJvbXB0X2NoYW5nZXNldHRpbmdzJyksCgkJCQkJCSBhcnJheSgnZm9ybSc9PidjaGFuZ2VzZXR0aW5ncycsCgkJCQkJCSAgICAgICAncmV0dXJudG8nPT4kcmV0dXJuaWQpKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybF9jaGFuZ2VzZXR0aW5ncycsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHBhZ2VpZCwKCQkJCQkJJycsCgkJCQkJCWFycmF5KCdmb3JtJz0+J2NoYW5nZXNldHRpbmdzJyksCgkJCQkJCScnLHRydWUpKTsKICAgICAgfQogICAgfQogICAgZWxzZQogICAgewogICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsaW5rX2NoYW5nZXNldHRpbmdzJywKCQkJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncycpLAoJCQkJCSAgICBhcnJheSgnZm9ybSc9PidjaGFuZ2VzZXR0aW5ncycpKSk7CiAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybF9jaGFuZ2VzZXR0aW5ncycsCgkJCSAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJICAgICAgICcnLAoJCQkJCSAgICAgICBhcnJheSgnZm9ybSc9PidjaGFuZ2VzZXR0aW5ncycpLAoJCQkJCSAgICAgICAnJyx0cnVlKSk7CiAgICB9CiAgICAkcHJvcHMgPSAkdGhpcy0+R2V0VXNlclByb3BlcnRpZXMoICR0aGlzLT5Mb2dnZWRJbklkKCkgKTsKICAgIGlmKCAkcHJvcHMgIT09IGZhbHNlICkKICAgICAgewoJZm9yZWFjaCggJHByb3BzIGFzICRwICkKCSAgewoJICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigkcFsndGl0bGUnXSwkcFsnZGF0YSddKTsKCSAgfQogICAgICB9CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZldXNlcnNfbG9nb3V0Zm9ybScpOwogIH0KCgogZnVuY3Rpb24gX0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJHBlcm0gPSAnJyApCiB7CiAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycsJzAnKSA9PSAnMScpCiAgICAgewogICAgICAgJHAxID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBBZGQgVXNlcnMnICk7CiAgICAgICAkcDIgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBVc2VycycgKTsKICAgICAgICRwMyA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdGRVUgUmVtb3ZlIFVzZXJzJyApOwogICAgICAgJHA0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBBZGQgR3JvdXBzJyApOwogICAgICAgJHA1ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBNb2RpZnkgR3JvdXBzJyApOwogICAgICAgJHA2ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBNb2RpZnkgR3JvdXAgQXNzaWdubWVudHMnICk7CiAgICAgICAkcDcgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIFJlbW92ZSBHcm91cHMnICk7CiAgICAgICAkcDggPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyApOwogICAgICAgJHA5ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnICk7CiAgICAgICAkcDEwID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBNb2RpZnkgVGVtcGxhdGVzJyApOwogICAgIH0KICAgZWxzZQogICAgIHsKICAgICAgICRwMSA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdBZGQgVXNlcnMnICk7CiAgICAgICAkcDIgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFVzZXJzJyApOwogICAgICAgJHAzID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ1JlbW92ZSBVc2VycycgKTsKICAgICAgICRwNCA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdBZGQgR3JvdXBzJyApOwogICAgICAgJHA1ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBHcm91cHMnICk7CiAgICAgICAkcDYgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IEdyb3VwIEFzc2lnbm1lbnRzJyApOwogICAgICAgJHA3ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ1JlbW92ZSBHcm91cHMnICk7CiAgICAgICAkcDggPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnICk7CiAgICAgICAkcDkgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IEZyb250RW5kVXNlclByb3BzJyApOwogICAgICAgJHAxMCA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApOwogICAgIH0KICAgCiAgICRyZXQgPSAwOwogICBzd2l0Y2goICRwZXJtICkKICAgICB7CiAgICAgY2FzZSAnJzogIC8vIGFueSBwZXJtaXNzaW9uCiAgICAgICAkcmV0ID0gKCRwMSB8fCAkcDIgfHwgJHAzIHx8ICRwNCB8fCAkcDUgfHwgJHA2IHx8ICRwNyB8fCAkcDggfHwgJHA5IHx8ICRwMTAgKTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAnYWRkZ3JvdXAnOgogICAgICAgJHJldCA9ICgkcDQpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdhZGR1c2VyJzoKICAgICAgICRyZXQgPSAoJHAxKTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAnYWRkcHJvcCc6CiAgICAgY2FzZSAnYWRkcHJvcDInOgogICAgIGNhc2UgJ2VkaXRwcm9wJzoKICAgICBjYXNlICdkZWxldGVwcm9wJzoKICAgICBjYXNlICdwcm9wZXJ0aWVzJzoKICAgICAgICRyZXQgPSAoJHA5KTsKICAgICAgIGJyZWFrOwogICAgIAogICAgIGNhc2UgJ2xpc3R1c2Vycyc6CiAgICAgICAkcmV0ID0gKCRwMiB8fCAkcDMpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdsaXN0Z3JvdXBzJzoKICAgICAgICRyZXQgPSAoJHA1IHx8ICRwNik7CiAgICAgICBicmVhazsKICAgICAgIAogICAgIGNhc2UgJ2VkaXRncm91cHMnOgogICAgICAgJHJldCA9ICgkcDUgfHwgJHA2KTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAnZWRpdHVzZXJzJzoKICAgICAgICRyZXQgPSAoJHAyKTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAncmVtb3ZlZ3JvdXBzJzoKICAgICAgICRyZXQgPSAoJHA3KTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAncmVtb3ZldXNlcnMnOgogICAgICAgJHJldCA9ICgkcDMpOwogICAgICAgYnJlYWs7CgogICAgIGNhc2UgJ2VkaXRwcmVmcyc6CiAgICAgY2FzZSAnc2l0ZXByZWZzJzoKICAgICAgICRyZXQgPSAoJHA4KTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAndXNlcnNuZ3JvdXBzJzoKICAgICAgICRyZXQgPSAoJHAxIHx8ICRwMiB8fCAkcDMgfHwgJHA0IHx8ICRwNSB8fCAkcDYgfHwgJHA3KTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAndGVtcGxhdGVzJzoKICAgICAgICRyZXQgPSAoJHAxMCk7CiAgICAgICBicmVhazsKICAgICAgIAogICAgIGRlZmF1bHQ6CiAgICAgICAkcmV0ID0gMDsKICAgICAgIGJyZWFrOwogICAgIH0KCiAgIHJldHVybiAkcmV0OwogfQoKCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkJCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbG1lc3NhZ2UnKTsKICB9CgoKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycsJzAnKSA9PSAnMScpCiAgICAgIHsKCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFRlbXBsYXRlcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBBZGQgR3JvdXBzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cHMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgUmVtb3ZlIEdyb3VwcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBBZGQgVXNlcnMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFVzZXJzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRkVVIFJlbW92ZSBVc2VycycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQWRkIEdyb3VwcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBHcm91cHMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdSZW1vdmUgR3JvdXBzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQWRkIFVzZXJzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFVzZXJzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUmVtb3ZlIFVzZXJzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEZyb250RW5kVXNlclByb3BzJyk7CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCgogICBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBzaW1wbGUgbWV0aG9kIHRvIGRpc3BsYXkKICAgZXJyb3IgaW5mb3JtYXRpb24gb24gdGhlIGFkbWluIHNpZGUuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZT0nJykKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwogICAgaWYgKCRtZXNzYWdlICE9ICcnKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICAgIH0KICAgICAgCiAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgfQoKCiAgZnVuY3Rpb24gX0RvUmVzZXRVc2VyQWNjb3VudCggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAkdWlkID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VpZCddICkgKQogICAgICB7CgkkdWlkID0gdHJpbSgkcGFyYW1zWydpbnB1dF91aWQnXSk7CiAgICAgIH0KICAgICRjb2RlID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2NvZGUnXSApICkKICAgICAgewoJJGNvZGUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2NvZGUnXSk7CiAgICAgIH0KICAgICRwYXNzd29yZCA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICkgKQogICAgICB7CgkkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogICAgICB9CiAgICAkcmVwZWF0cGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICAgICAgewoJJHJlcGVhdHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKTsKICAgICAgfQoKICAgIGlmKCAkcGFzc3dvcmQgPT0gJycgfHwgJHJlcGVhdHBhc3N3b3JkID09ICcnIHx8IAoJJHBhc3N3b3JkICE9ICRyZXBlYXRwYXNzd29yZCB8fCAhJHRoaXMtPklzVmFsaWRQYXNzd29yZCgkcGFzc3dvcmQpKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFzc3dvcmQnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICd2ZXJpZnljb2RlJywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyBub3cgd2UgaGF2ZSB0byB2ZXJpZnkgdGhlIGNvZGUKICAgICRyZXN1bHQgPSAkdGhpcy0+R2V0VXNlclRlbXBDb2RlKCAkdWlkICk7CiAgICBpZiggJHJlc3VsdFswXSA9PSBGQUxTRSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdFsxXTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICd2ZXJpZnljb2RlJywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICRkYmNvZGUgPSAkcmVzdWx0WzFdWydjb2RlJ107CgogICAgaWYoICRkYmNvZGUgIT0gJGNvZGUgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkY29kZScpOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ3ZlcmlmeWNvZGUnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIHdoZXcsIHdlIGdvdCBpdC4uLiBub3cgd2UgY2FuIHJlc2V0IHRoZSBwYXNzd29yZAogICAgJHJldCA9ICR0aGlzLT5TZXRVc2VyUGFzc3dvcmQoICR1aWQsICRwYXNzd29yZCApOwogICAgaWYoICRyZXRbMF0gIT0gVFJVRSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHJldFsxXTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICd2ZXJpZnljb2RlJywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyBhbmQgZGVsZXRlIHRoZSBjb2RlCiAgICAkdGhpcy0+UmVtb3ZlVXNlclRlbXBDb2RlKCAkdWlkICk7CgogICAgLy8gQW5kIHJlZGlyZWN0IHRvIGEgc3BlY2lmaWVkIHBhZ2UKICAgICRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicpOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXR1cm50byddICkgKQogICAgICB7CgkkcGFnZSA9ICRwYXJhbXNbJ3JldHVybnRvJ107CiAgICAgIH0KCiAgICAvLyByZXBsYWNlIHskdXNlcm5hbWV9IHdpdGggdGhlIHVzZXIgbmFtZQogICAgLy8gd2Ugc2hvdWxkIGRvIGEgY2hlY2sgdG8gc2VlIGlmIHRoZSBwYWdlIGV4aXN0cwogICAgJHBhZ2UgPSBzdHJfcmVwbGFjZSggIntcJHVzZXJuYW1lfSIsICRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddLCAkcGFnZSApOwoKICAgIC8vIHJlcGxhY2UgeyRncm91cG5hbWV9IHdpdGggdGhlIGZpcnN0IGdyb3VwbmFtZSB3ZSBjYW4gZmluZCB0aGF0IG1hdGNoZXMKICAgICRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR0aGlzLT5Mb2dnZWRpbklkKCkgKTsKICAgICRncm91cG5hbWUgPSAkdGhpcy0+R2V0R3JvdXBOYW1lKCAkZ3JvdXBzWzBdWydncm91cGlkJ10gKTsKICAgICRwYWdlID0gc3RyX3JlcGxhY2UoICJ7XCRncm91cH0iLCAkZ3JvdXBuYW1lLCAkcGFnZSApOwogICAgaWYoICRwYWdlICkKICAgICAgewoJJGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKCWlmKCAkaWQgKQoJICB7CgkgICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCggJGlkICk7CgkgICAgcmV0dXJuOwoJICB9CglkaWUoICJjb3VsZG4ndCBnZXQgcGFnZWlkIGZvciAkcGFnZSIgKTsKICAgICAgfQogICAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwogICAgYnJlYWs7CiAgfQoKICAKICBmdW5jdGlvbiBfRG9TZXRDaGFuZ2VTZXR0aW5nc1RlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdHMnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2NoYW5nZXNldHRpbmdzZm9ybScsICR0aGlzLT5kZmx0X2NoYW5nZXNldHRpbmdzdGVtcGxhdGUpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19jaGFuZ2VzZXR0aW5nc2Zvcm0nLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAnY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnICk7CiAgfQoKCiAgZnVuY3Rpb24gX0RvU2V0Rm9yZ290UFdUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRzJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMSk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmR2ZXJpZnlmb3JtJywkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZm9ybScsICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudDEnXSk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQyJ10pOzsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZHZlcmlmeWZvcm0nLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQzJ10pOzsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScgKTsKICB9CgoKICBmdW5jdGlvbiBfRG9TZXRMb2dpblRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdHMnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvZ2luZm9ybScsICR0aGlzLT5kZmx0X2xvZ2luZm9ybXRlbXBsYXRlKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9naW5mb3JtJywgJHBhcmFtc1sndGVtcGxhdGVsb2dpbmZvcm0nXSk7CiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAnbG9naW50ZW1wbGF0ZScgKTsKICB9CgogIAogIGZ1bmN0aW9uIF9Eb1NldExvZ291dFRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdHMnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvZ291dGZvcm0nLCAkdGhpcy0+ZGZsdF9sb2dvdXRmb3JtdGVtcGxhdGUpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb2dvdXRmb3JtJywgJHBhcmFtc1sndGVtcGxhdGVsb2dvdXRmb3JtJ10pOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2xvZ291dHRlbXBsYXRlJywgJHBhcmFtcyk7CiAgfQoKICAKICBmdW5jdGlvbiBfRG9TZXRQcm9wZXJ0aWVzKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snY2FuY2VsJ10gKSApCiAgICAgIHsKCS8vIHdlIGFyZSBjYW5jZWxsaW5nCgkkdGhpcy0+bXlSZWRpcmVjdFRvVGFiICgkaWQsICdwcm9wZXJ0aWVzJyApOwogICAgICB9CgogICAgLy8gY2hlY2sgaWYgd2UgYXJlIGFkZGluZyBhIHByb3BlcnR5CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ3Byb3BhZGQnXSApICkKICAgICAgewoJLy8geXVwCgkvLyB2YWxpZGF0ZSBmaWVsZHMKCSRuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF9uYW1lJ10pOwoJJG5hbWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnLyAvJywnXycsJG5hbWUpKTsKCSRwcm9tcHQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Byb21wdCddKTsKCSRsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKTsKCSR0eXBlID0gJHBhcmFtc1snaW5wdXRfdHlwZSddOwoKCWlmKCAkbmFtZSA9PSAnJyB8fCAkcHJvbXB0ID09ICcnICkKCSAgewoJICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICRwYXJhbXNbJ21lc3NzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CgkgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJvcGVydGllcycsICRwYXJhbXMgKTsKCSAgICByZXR1cm47CgkgIH0KCglpZiggaXNzZXQoJHBhcmFtc1sncHJvcGRlZm4nXSkgKQoJICB7CgkgICAgJHByb3BzID0gc3BsaXQoIiwiLCRwYXJhbXNbJ3Byb3BkZWZuJ10pOwoJICAgIGZvcmVhY2goICRwcm9wcyBhcyAkcHJvcCApCgkgICAgewoJICAgICAgbGlzdCggJGVuYW1lLCAkZXByb21wdCwgJGV0eXBlLCAkZWxlbmd0aCApID0gc3BsaXQoIjsiLCRwcm9wKTsKCSAgICAgIGlmKCAkbmFtZSA9PSAkZW5hbWUgKSAKCQl7CgkJICAvLyBuYW1lIGlzIGFscmVhZHkgdGFrZW4KCQkgICRwYXJtcyA9IGFycmF5KCk7CgkJICAkcGFybXNbJ2Vycm9yJ10gPSAxOwoJCSAgJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZHVwbGljYXRlbmFtZScpOwoJCSAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJvcGVydGllcycsICRwYXJtcyApOwoJCSAgcmV0dXJuOwoJCX0KCSAgICB9CgkgIH0KCgkkZW50cnkgPSBpbXBsb2RlKCI7IixhcnJheSgkbmFtZSwkcHJvbXB0LCR0eXBlLCRsZW5ndGgpKTsKCWlmKCBpc3NldCgkcGFyYW1zWydwcm9wZGVmbiddKSkKCSAgewoJICAgICRwYXJhbXNbJ3Byb3BkZWZuJ10gLj0gIiwiLiRlbnRyeTsKCSAgfQoJZWxzZSAKCSAgewoJICAgICRwYXJhbXNbJ3Byb3BkZWZuJ10gPSAkZW50cnk7CgkgIH0KCSRwYXJhbXNbJ2Rvbm90bG9hZHByb3BzJ10gPSAxOwoJJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJvcGVydGllcycsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQogICAgZWxzZSBpZiggUlJVdGlsczo6YXJyYXlfa2V5X2V4aXN0c19zdWJzdHIoICRwYXJhbXMsICdwcm9wZWRpdF8nKSAmJiBpc3NldCgkcGFyYW1zWydwcm9wZGVmbiddKSkKICAgICAgewoJJGsgPSBSUlV0aWxzOjphcnJheV9maW5kX2tleV9yZWdleHAoICRwYXJhbXMsICcvXnByb3BlZGl0Xy8nICk7CgkkcG9zMSA9IHN0cnBvcyggJGssICctJyApOwoJJHBvczIgPSBzdHJycG9zKCAkaywgJ18nICk7Cgkka2V5ICA9IHN1YnN0ciggJGsgLCAkcG9zMSsxLCAkcG9zMiAtICRwb3MxIC0gMSk7CgoJLy8gd2UncmUgZWRpdGluZyBhIHByb3BlcnR5CgkvLyBzbyB3ZSB0YWtlIHRoZSBjdXJyZW50IHByb3BlcnR5ICgka2V5KSBhbmQgcmVtb3ZlIGl0CgkvLyBmcm9tIHByb3BzLCBhbmQgcHV0IGl0IGluIHRoZSBwYXJhbXMKCSRwcm9wcyA9IHNwbGl0KCcsJywkcGFyYW1zWydwcm9wZGVmbiddKTsKCSRuZXdwcm9wcyA9ICIiOwoJZm9yZWFjaCggJHByb3BzIGFzICRwICkKCXsKCSAgJGFwcm9wID0gc3BsaXQoIjsiLCRwKTsKCSAgaWYoICRhcHJvcFswXSA9PSAka2V5ICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydpbnB1dF9uYW1lJ10gPSAkYXByb3BbMF07CgkgICAgICAkcGFyYW1zWydpbnB1dF9wcm9tcHQnXSA9ICRhcHJvcFsxXTsKCSAgICAgICRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9ICRhcHJvcFsyXTsKCSAgICAgICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddID0gJGFwcm9wWzNdOwoJICAgIH0KCSAgZWxzZSAKCSAgICB7CgkgICAgICBpZiggJG5ld3Byb3BzID09ICcnICkKCQl7CgkJICAkbmV3cHJvcHMgPSAkcDsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgJG5ld3Byb3BzID0gJG5ld3Byb3BzLiIsIi4kcDsKCQl9CgkgICAgfQoJfQoJJHBhcmFtc1sncHJvcGRlZm4nXSA9ICRuZXdwcm9wczsKCSRwYXJhbXNbJ2Rvbm90bG9hZHByb3BzJ10gPSAxOwoJJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJvcGVydGllcycsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQogICAgZWxzZSBpZiggUlJVdGlsczo6YXJyYXlfa2V5X2V4aXN0c19zdWJzdHIoICRwYXJhbXMsICdwcm9wZGVsZXRlXycpICYmIGlzc2V0KCRwYXJhbXNbJ3Byb3BkZWZuJ10pKQogICAgICB7CgkkayA9IFJSVXRpbHM6OmFycmF5X2ZpbmRfa2V5X3JlZ2V4cCggJHBhcmFtcywgJy9ecHJvcGRlbGV0ZV8vJyApOwoJbGlzdCggJGp1bmssICRrZXkgKSA9IHNwbGl0KCAiXyIsICRrICk7CgoJLy8gd2UncmUgZGVsZXRpbmcgYSBwcm9wZXJ0eQoJLy8gc28gd2UgdGFrZSB0aGUgY3VycmVudCBwcm9wZXJ0eSAoJGtleSkgYW5kIHJlbW92ZSBpdAoJLy8gZnJvbSBwcm9wcywgCgkkcHJvcHMgPSBzcGxpdCgnLCcsJHBhcmFtc1sncHJvcGRlZm4nXSk7CgkkbmV3cHJvcHMgPSAiIjsKCWZvcmVhY2goICRwcm9wcyBhcyAkcCApCgl7CgkgICRhcHJvcCA9IHNwbGl0KCI7IiwkcCk7CgkgIGlmKCAkYXByb3BbMF0gPT0gJGtleSApCgkgICAgewoJICAgICAgY29udGludWU7CgkgICAgfQoJICBlbHNlIAoJICAgIHsKCSAgICAgIGlmKCAkbmV3cHJvcHMgPT0gJycgKQoJCXsKCQkgICRuZXdwcm9wcyA9ICRwOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJICAkbmV3cHJvcHMgPSAkbmV3cHJvcHMuIiwiLiRwOwoJCX0KCSAgICB9Cgl9CgkkcGFyYW1zWydwcm9wZGVmbiddID0gJG5ld3Byb3BzOwoJJHBhcmFtc1snZG9ub3Rsb2FkcHJvcHMnXSA9IDE7CiAgICAgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJvcGVydGllcycsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQoKCiAgICAvLyB3ZSdyZSBzdWJtaXR0aW5nIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucwogICAgJHByb3BzID0gc3BsaXQoJywnLCRwYXJhbXNbJ3Byb3BkZWZuJ10pOwogICAgJHRoaXMtPkRlbGV0ZVByb3BlcnR5RGVmbnMoKTsKICAgIGZvcmVhY2goICRwcm9wcyBhcyAkcHJvcCApCiAgICB7CiAgICAgICRhcHJvcCA9IHNwbGl0KCI7IiwkcHJvcCk7CgogICAgICAkcmV0ID0gJHRoaXMtPkFkZFByb3BlcnR5RGVmbiggJGFwcm9wWzBdLCAkYXByb3BbMV0sICRhcHJvcFsyXSwgJGFwcm9wWzNdLCAkYXByb3BbNF0gKTsKICAgICAgaWYoICRyZXRbMF0gPT0gZmFsc2UgKQoJewoJICAvLyBuYW1lIGlzIGFscmVhZHkgdGFrZW4KCSAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcm9wZXJ0aWVzJyApOwoJICByZXR1cm47Cgl9CiAgICB9CgogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcm9wZXJ0aWVzJyk7CiAgICByZXR1cm47CiAgfQoKCgogIGZ1bmN0aW9uIF9Eb1VzZXJBY3Rpb24oICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoICFpc3NldCgkcGFyYW1zWydmb3JtJ10pKQogICAgICB7CgkvLyBEbyBhbiBhdHRlbXB0IHRvIGxvZ2luIHZpYSBjb29raWUKCSR0aGlzLT5fQXR0ZW1wdExvZ2luV2l0aENvb2tpZSgpOwoJaWYoICEkdGhpcy0+TG9nZ2VkSW4oKSApIAoJICB7CgkgICAgJHBhcmFtc1snZm9ybSddID0gJ2xvZ2luJzsKCSAgfQoJZWxzZSAKCSAgewoJICAgICRwYXJhbXNbJ2Zvcm0nXSA9ICdsb2dvdXQnOwoJICB9CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2Zvcm0nXSApICkKICAgICAgewoJc3dpdGNoKCAkcGFyYW1zWydmb3JtJ10gKSAKCSAgewoJICBjYXNlICdsb2dpbic6CgkgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfbG9naW5mb3JtLnBocCcpOwoJICAgIGJyZWFrOwoJICBjYXNlICdsb2dvdXQnOgoJICAgICR0aGlzLT5fR2V0VXNlckxvZ291dEZvcm0oJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKCSAgICBicmVhazsKCSAgY2FzZSAnbG9zdHVzZXJuYW1lJzoKCSAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uZGVmYXVsdF9sb3N0dXNlcm5hbWVmb3JtLnBocCcpOwoJICAgIGJyZWFrOwoJICBjYXNlICdmb3Jnb3Rwdyc6CgkgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfZm9yZ290cGFzc3dvcmQucGhwJyk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2NoYW5nZXNldHRpbmdzJzoKCSAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24udXNlcl9jaGFuZ2VzZXR0aW5ncy5waHAnKTsKCSAgICBicmVhazsKCSAgY2FzZSAnc2lsZW50JzoKCSAgICAkdGhpcy0+X0V4cG9ydExvZ2dlZEluVXNlclZhcmlhYmxlcyggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICBicmVhazsKCSAgfQoJcmV0dXJuOwogICAgICB9CgogIH0KCgogIGZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddICk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcicsICRwYXJhbXNbJ2Vycm9yJ10gKTsKICAgICAgfQoKICAgIC8vIGNhbGN1bGF0ZSB0aGUgdW5pb24gKHllcCwgdW5pb24sIG5vdCBpbnRlcnNlY3Rpb24pCiAgICAvLyBvZiBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgYWxsIG9mIHRoZSBtZW1iZXIgZ3JvdXBzCiAgICAvLyBwcmVmZXJyaW5nIGFsbCBpdGVtcyB3aXRoIGEgcHJpb3JpdHkgb2YgMgogICAgJHByb3BlcnRpZXMgPSBhcnJheSgpOwogICAgJGdyb3VwcyA9IDA7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCiAgICB7CiAgICAgIGlmKCBwcmVnX21hdGNoKCAnL15tZW1iZXJvZl8vJywgJGtleSApICkKCXsKCSAgJGdyb3VwcysrOwoJICAvLyBnZXQgdGhlIGdyb3VwaWQgZnJvbSB0aGUgY2hlY2tib3gKCSAgJGdycGlkID0gc3Vic3RyKCRrZXksc3RybGVuKCdtZW1iZXJvZl8nKSk7CgkgIAoJICAvLyBoYXZlIHRoZSBncm91cCBpZCwgbm93IGdldCBhIGxpc3Qgb2YgdGhlIHByb3BlcnRpZXMKCSAgJHByb3ByZWxhdGlvbnMgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICk7CgkgICRwcm9wZXJ0aWVzID0gUlJVdGlsczo6YXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCggJHByb3BlcnRpZXMsICRwcm9wcmVsYXRpb25zICk7CgkgIHVhc29ydCggJHByb3BlcnRpZXMsIAoJCSAgYXJyYXkoJ1JSVXRpbHMnLCdjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXknKSApOwoJfQogICAgfQkgIAogICAgaWYoICRncm91cHMgPT0gMCApCiAgICAgIHsKCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZV9vbmVncm91cCcpID09IDEgKQoJICB7CgkgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnKTsKCSAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkdXNlcicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIHJldHVybjsKCSAgfQoKCWlmKCBpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQoJICB7CgkgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2VkaXR1c2VyMycsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICB9CgllbHNlCgkgIHsKCSAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjMnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCSAgfQogICAgICB9CiAgICBpZiggY291bnQoJHByb3BlcnRpZXMpID09IDAgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9wZXJ0aWVzJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkdXNlcicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgIH0KCiAgICAvLyBub3cgd2UncmUgcmVhZHkgdG8gcG9wdWxhdGUgdGhlIHRlbXBsYXRlCiAgICAkcm93YXJyYXkgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJHByb3BlcnRpZXMgYXMgJHByb3AgKQogICAgewogICAgICAvLyBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb24KICAgICAgJGRlZm4gPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZuKCAkcHJvcFsnbmFtZSddICk7CiAgICAgICRwcm9wdmFsID0gJyc7CiAgICAgIGlmKCBpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQoJewoJICAkcHJvcHZhbCA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydHlGdWxsKCAkcHJvcFsnbmFtZSddLCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKCX0KCiAgICAgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCiAgICAgICRjb2xvciA9ICcnOwogICAgICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMiApICRjb2xvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1cmllZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAgICAgaWYoICRwcm9wWydyZXF1aXJlZCddID09IDMgKSAkY29sb3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGlkZGVuX2ZpZWxkX2NvbG9yJywnZ3JlZW4nKTsKICAgICAgJG1hcmtlciA9ICcnOwogICAgICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMiApICRtYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdXJpZWRfZmllbGRfbWFya2VyJywnKicpOwogICAgICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMyApICRtYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGlkZGVuX2ZpZWxkX21hcmtlcicsJyEhJyk7CiAgICAgICRvbmVyb3ctPnJlcXVpcmVkID0gKCRwcm9wWydyZXF1aXJlZCddID09IDIpOwogICAgICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAgICAgJG9uZXJvdy0+bWFya2VyICAgPSAkbWFya2VyOwogICAgICAkb25lcm93LT5oaWRkZW4gPSBSUlV0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fJy4kcHJvcFsnbmFtZSddLAoJCQkJCSAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJHByb3BbJ25hbWUnXSwkZGVmblsndHlwZSddLAoJCQkJCQkJICAgICAgICRkZWZuWydsZW5ndGgnXSwkcHJvcFsncmVxdWlyZWQnXSwKCQkJCQkJCSAgICAgICAkZGVmblsnbWF4bGVuZ3RoJ10sJHByb3B2YWwpKSk7CgogICAgICAkdmFsID0gaXNzZXQoJHBhcmFtc1snaW5wdXRfJy4kcHJvcFsnbmFtZSddXSkgPyAkcGFyYW1zWydpbnB1dF8nLiRwcm9wWyduYW1lJ11dIDogJyc7CiAgICAgICR2YWwgPSB1cmxkZWNvZGUoJHZhbCk7CiAgICAgICRzZWxvcHRpb25zID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJHByb3BbJ25hbWUnXSk7CiAgICAgICRzZWxlY3RlZCA9IGFycmF5KCk7CiAgICAgIGlmKCAkZGVmblsndHlwZSddID09IDUgKQoJewoJICAvLyBoYW5kbGUgY29tbWEgc2VwYXJhdGVkIGFycmF5cyBvZiBzZWxlY3RlZCB2YWx1ZXMKCSAgJHNlbGVjdGVkID0gZXhwbG9kZSgnLCcsJHZhbCk7Cgl9CgogICAgICAkb25lcm93LT5wcm9tcHQgPSAkZGVmblsncHJvbXB0J107CiAgICAgIHN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCgl7CgljYXNlIDA6IC8vIHRleHQKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHByb3BbJ25hbWUnXSwKCQkJCQkJICAgICAkdmFsLCAkZGVmblsnbGVuZ3RoJ10sICRkZWZuWydtYXhsZW5ndGgnXSApOwoJICBicmVhazsKCgljYXNlIDE6IC8vIGNoZWNrYm94CgkgICRvbmVyb3ctPmNvbnRyb2wgPSBSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2lucHV0XycuJHByb3BbJ25hbWUnXSwgMSwgJHZhbCApOwoJICBicmVhazsKCgljYXNlIDI6IC8vIGVtYWlsCgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF8nLiRwcm9wWyduYW1lJ10sCgkJCQkJCSAgICAgJHZhbCwgJGRlZm5bJ2xlbmd0aCddLCAkZGVmblsnbWF4bGVuZ3RoJ10gKTsKCSAgYnJlYWs7CgoJY2FzZSAzOiAvLyB0ZXh0YXJlYQoJICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR2YWwsICdpbnB1dF8nLiRwcm9wWyduYW1lJ10pOwoJICBicmVhazsKCgljYXNlIDQ6IC8vIGRyb3Bkb3duCgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigKCQkJCQkJCSRpZCwgCgkJCQkJCQknaW5wdXRfJy4kcHJvcFsnbmFtZSddLCAKCQkJCQkJCSRzZWxvcHRpb25zLAoJCQkJCQkJLTEsIAoJCQkJCQkJJHZhbCk7CgkgIGJyZWFrOwoKCWNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoCgkJCQkJCQkkaWQsIAoJCQkJCQkJJ2lucHV0XycuJHByb3BbJ25hbWUnXS4nW10nLCAKCQkJCQkJCSRzZWxvcHRpb25zLAoJCQkJCQkJJHNlbGVjdGVkLAoJCQkJCQkJJGRlZm5bJ2xlbmd0aCddKTsKCSAgYnJlYWs7CgoJY2FzZSA2OiAvLyBpbWFnZQoJICB7CgkgICAgaWYoIGlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCgkgICAgICB7CgkJJGRlc3REaXIxID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkkZGVzdERpcjEgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJykuRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkkZGVzdERpcjIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJJGRlc3REaXIyIC49ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJywnZmV1c2VycycpLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJJGZpbGUxID0gJGRlc3REaXIxLiR2YWw7CgkJJGZpbGUyID0gJGRlc3REaXIyLiR2YWw7CgkJaWYoIGlzX3JlYWRhYmxlKCAkZmlsZTEgKSAmJiBpc19maWxlKCRmaWxlMSkgKQoJCSAgewoJCSAgICAkb25lcm93LT5pbWFnZSA9ICc8aW1nIHNyYz0iJy4kZmlsZTIuJyIgYWx0PSInLiR2YWwuJyIvPic7CgkJICAgICRvbmVyb3ctPnByb21wdDIgPSAkdGhpcy0+TGFuZygncHJvbXB0X2NsZWFyJyk7CgkJICAgICRvbmVyb3ctPmNvbnRyb2wyID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdpbnB1dF8nLiRwcm9wWyduYW1lJ10uJ19jbGVhcicsJ2NsZWFyJywnJyk7CgkJICB9CgkgICAgICB9CgkgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdpbnB1dF8nLiRwcm9wWyduYW1lJ10pOwoJICB9CgkgIGJyZWFrOwoJfQoKICAgICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgfQoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgCgkJCSAgUlJVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnc3RlcDFfcGFyYW1zJywgJHBhcmFtcyApKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY29udHJvbHMnLCAkcm93YXJyYXkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9sY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsCgkJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2JhY2snLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2JhY2snLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCdiYWNrJykpKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbjInLCAKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndXNlcl9pZCcsJHBhcmFtc1sndXNlcl9pZCddKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJCQkgICAgICAnZG9fZWRpdHVzZXIzJywKCQkJCQkJCSAgICAgICRyZXR1cm5pZCwKCQkJCQkJCSAgICAgICdwb3N0JywKCQkJCQkJCSAgICAgICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwKCQkJCQkJICAgICAgJ2RvX2FkZHVzZXIzJywKCQkJCQkJICAgICAgJHJldHVybmlkLAoJCQkJCQkgICAgICAncG9zdCcsCgkJCQkJCSAgICAgICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwogICAgICB9CiAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSggJ2FkZHVzZXIyLnRwbCcgKTsKICB9CgoKICBmdW5jdGlvbiBfRGlzcGxheUFkbWluVXNlclBhZ2UoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZ2xvYmFsICRnQ21zOwoKICAgIC8vIHBvcHVsYXRlIHRoZSB0ZW1wbGF0ZQogICAgJGVkaXRpbmcgPSAwOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydhY3Rpb24nXSApICYmIAoJKCRwYXJhbXNbJ2FjdGlvbiddID09ICdlZGl0dXNlcid8fCAkcGFyYW1zWydhY3Rpb24nXSA9PSAnZG9fZWRpdHVzZXIxJyApICkKICAgICAgewoJJGVkaXRpbmcgPSAxOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndXNlcl9pZCcsJHBhcmFtc1sndXNlcl9pZCddKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPkxhbmcoJ2VkaXR1c2VyJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkJICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLAoJCQkJCQkJICAgICAgJ2RvX2VkaXR1c2VyMScsCgkJCQkJCQkgICAgICAkcmV0dXJuaWQpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPkxhbmcoJ2FkZHVzZXInKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJCQkgICAgICAnZG9fYWRkdXNlcjEnLAoJCQkJCQkJICAgICAgJHJldHVybmlkKSk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snZXJyb3InXSkgKQogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkcGFyYW1zWydlcnJvciddKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pICkKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkcGFyYW1zWydtZXNzYWdlJ10pOwogICAgJHVzZXJuYW1lID0gJHRoaXMtPkdlbmVyYXRlUmFuZG9tVXNlcm5hbWUoKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKSApCiAgICAgICR1c2VybmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CiAgICAkcGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKSApCiAgICAgICRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSk7CiAgICAkcmVwZWF0cGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKSApCiAgICAgICRyZXBlYXRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICAkZXhwaXJlcyA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2V4cGlyZXMnXSkgKQogICAgICAkZXhwaXJlcyA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZXhwaXJlcyddKTsKICAgIAogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLAoJCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ25leHQnKSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsCgkJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdwcm9tcHRfdXNlcm5hbWUnLAoJCQkgICAkdGhpcy0+TGFuZyAoJ3VzZXJuYW1lJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRfdXNlcm5hbWUnLAoJCQkgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0ICgkaWQsICdpbnB1dF91c2VybmFtZScsCgkJCQkJCSAgICR1c2VybmFtZSwgCgkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcpLCAKCQkJCQkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgncHJvbXB0X3Bhc3N3b3JkJywKCQkJICAgJHRoaXMtPkxhbmcgKCdwYXNzd29yZCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X3Bhc3N3b3JkJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQgKCRpZCwgJ2lucHV0X3Bhc3N3b3JkJywKCQkJCQkJICAgICAgICRwYXNzd29yZCwgCgkJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgncHJvbXB0X3JlcGVhdHBhc3N3b3JkJywKCQkJICAgJHRoaXMtPkxhbmcgKCdyZXBlYXRwYXNzd29yZCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X3JlcGVhdHBhc3N3b3JkJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQgKCRpZCwgJ2lucHV0X3JlcGVhdHBhc3N3b3JkJywKCQkJCQkJICAgICAgICRyZXBlYXRwYXNzd29yZCwKCQkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKSk7CgogICAgaWYoICRlZGl0aW5nID09IDEgKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbmZvX3Bhc3N3b3JkJywKCQkJICAgICAgICR0aGlzLT5MYW5nICgnaW5mb19hZG1pbl9wYXNzd29yZCcpKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5mb19yZXBlYXRwYXNzd29yZCcsCgkJCSAgICAgICAkdGhpcy0+TGFuZyAoJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnKSk7CiAgICAgIH0KCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdwcm9tcHRfZXhwaXJlcycsCgkJCSAgICR0aGlzLT5MYW5nKCdleHBpcmVzJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXhwaXJlc19kYXRlcHJlZml4JywgJGlkLidleHBpcmVzZGF0ZV8nKTsKICAgICRleHBpcmVzZGF0ZSA9IHN0cnRvdGltZSgnKzEwIHllYXJzJywgdGltZSgpKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZXhwaXJlc2RhdGUnXSApICkKICAgICAgewoJJGV4cGlyZXNkYXRlID0gJHBhcmFtc1snaW5wdXRfZXhwaXJlc2RhdGUnXTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXhwaXJlc2RhdGUnLCAkZXhwaXJlc2RhdGUgKTsKICAgIAoKICAgIC8vIERpc3BsYXkgdGhpcyB1c2VyJ3MgcHJvcGVydGllcyBhbmQgYWxsb3cgdXMgdG8gZWRpdCB0aGVtCgogICAgLy8gZGlzcGxheSBhbmQgZWRpdCBncm91cHMKICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdGdyb3VwcycpICkKICAgICAgewoJLy8gbm93IGRpc3BsYXkgYSBsaXN0IG9mIGdyb3VwcyB0aGF0IHRoaXMgdXNlciBtYXkgb3B0aW9uYWxseSBiZSBpbgoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnaWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2lkJykgKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSApOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnZGVzY3RleHQnLCAkdGhpcy0+TGFuZygnZGVzY3JpcHRpb24nKSApOwoJCgkkZ3JvdXBzID0gJHRoaXMtPkdldEdyb3VwTGlzdEZ1bGwoKTsKCSRyb3dhcnJheSA9IGFycmF5KCk7Cgkkcm93Y2xhc3MgPSAncm93MSc7Cglmb3JlYWNoKCAkZ3JvdXBzIGFzICRncm91cCApCgl7CgkgICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCSAgJG9uZXJvdy0+aWQgPSAkZ3JvdXBbJ2lkJ107CgkgICRvbmVyb3ctPm5hbWUgPSAkZ3JvdXBbJ2dyb3VwbmFtZSddOwoJICAkb25lcm93LT5kZXNjID0gJGdyb3VwWydncm91cGRlc2MnXTsKCSAgJG9uZXJvdy0+bWVtYmVyID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdtZW1iZXJvZl8nLiRncm91cFsnaWQnXSwKCQkJCQkJICAkZ3JvdXBbJ2lkJ10sCgkJCQkJCSAgKGlzc2V0KCRwYXJhbXNbJ21lbWJlcm9mXycuJGdyb3VwWydpZCddXSkgPyAKCQkJCQkJICAgJHBhcmFtc1snbWVtYmVyb2ZfJy4kZ3JvdXBbJ2lkJ11dIDogLTEpKTsKCSAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkgIAoJICBhcnJheV9wdXNoICgkcm93YXJyYXksICRvbmVyb3cpOwoJICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkcm93YXJyYXkpOwogICAgICB9CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wYWRkJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCAkaWQsICdwcm9wYWRkJywKCQkJCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWRkJykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzdGl0bGUnLCAkdGhpcy0+TGFuZygnZ3JvdXBzJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wZXJ0aWVzdGl0bGUnLCAkdGhpcy0+TGFuZygncHJvcGVydGllcycpKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3BzJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncHJvcHMnLCAkdGhpcy0+TGFuZygncHJvcGVydGllcycpLiIuLi4iKSk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkZHVzZXIxLnRwbCcpOwogIH0KCgogIGZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkID0gLTEpIAogIHsKICAgIHN3aXRjaCAoJGFjdGlvbikKICAgICAgewogICAgICBjYXNlICdhZG1pbl9zZXRsb3N0dW5fdGVtcGxhdGUnOgogICAgICBjYXNlICdhZG1pbl9pbXBvcnRncm91cCc6CiAgICAgIGNhc2UgJ2FkbWluX2V4cG9ydGdyb3VwJzoKICAgICAgY2FzZSAnYWRkZ3JvdXAnOgogICAgICBjYXNlICdhZGRwcm9wJzoKICAgICAgY2FzZSAnYWRkcHJvcDInOgogICAgICBjYXNlICdhZGR1c2VyJzoKICAgICAgY2FzZSAnZGVmYXVsdGFkbWluJzogCiAgICAgIGNhc2UgJ2RvX2RlbGV0ZXByb3AnOgogICAgICBjYXNlICdkb19kZWxldGVncm91cCc6CiAgICAgIGNhc2UgJ2RvX2xvZ2luJzoKICAgICAgY2FzZSAnZG9fYWRkdXNlcjEnOgogICAgICBjYXNlICdkb19hZGR1c2VyMyc6CiAgICAgIGNhc2UgJ2RvX2RlbGV0ZXVzZXInOgogICAgICBjYXNlICdkb19hZGRncm91cCc6CiAgICAgIGNhc2UgJ2RvX2FkZHByb3AnOgogICAgICBjYXNlICdkb19lZGl0cHJvcCc6CiAgICAgIGNhc2UgJ2RvX2VkaXR1c2VyMyc6CiAgICAgIGNhc2UgJ2RvX3VzZXJjaGFuZ2VzZXR0aW5ncyc6CiAgICAgIGNhc2UgJ2RvX2VkaXRncm91cCc6CiAgICAgIGNhc2UgJ2RvX2ZvcmdvdHB3JzoKICAgICAgY2FzZSAnZG9fc2V0cHJlZnMnOgogICAgICBjYXNlICdkb19lZGl0dXNlcjEnOgogICAgICBjYXNlICdkb19hZG1pbnRhc2tzJzoKICAgICAgY2FzZSAnZG9fbG9zdHVzZXJuYW1lJzoKICAgICAgY2FzZSAnZWRpdGdyb3VwJzoKICAgICAgY2FzZSAnZWRpdHByb3AnOgogICAgICBjYXNlICdsb2dvdXQnOgogICAgICBjYXNlICd1c2VyaGlzdG9yeSc6CiAgICAgIGNhc2UgJ3ZlcmlmeWNvZGUnOgogICAgICBjYXNlICdhZG1pbl9sb2dvdXQnOgoJcGFyZW50OjpEb0FjdGlvbigkYWN0aW9uLCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CglicmVhazsKCgogICAgICBjYXNlICJjaGFuZ2VzZXR0aW5ncyI7CiAgICAgIHsKIAkgICRwYXJhbXNbJ2Zvcm0nXSA9ICRhY3Rpb247CgkgICR0aGlzLT5fRG9Vc2VyQWN0aW9uKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICBicmVhazsKICAgICAgfQoKICAgICAgY2FzZSAnbG9zdHVzZXJuYW1lJzoKICAgICAgY2FzZSAnZm9yZ290cHcnOgogICAgICBjYXNlICJkZWZhdWx0IjogCiAgICAgICAgewoJICAkdGhpcy0+X0RvVXNlckFjdGlvbiggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgY2FzZSAnZG9fYWRkdXNlcjInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdhZGR1c2VyJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pbkFkZFVzZXJTdGVwMlBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlIAoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KCiAgICAgIAogICAgICBjYXNlICdkb19lZGl0dXNlcjInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdlZGl0dXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgovLyBOT1RVU0VEID8/Ci8vICAgICAgIGNhc2UgJ2RvX2hhbmRsZXByb3BlcnR5JzoKLy8gCXsKLy8gCSAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHByZWZzJyApICkKLy8gCSAgICB7Ci8vIAkgICAgICAkdGhpcy0+X0RvU2V0UHJvcGVydGllcyggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKLy8gCSAgICB9Ci8vIAkgIGVsc2UKLy8gCSAgICB7Ci8vIAkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCi8vIAkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwovLyAJICAgIH0KLy8gCSAgYnJlYWs7Ci8vIAl9CgoKICAgICAgY2FzZSAnZG9fc2V0Y2hhbmdlc2V0dGluZ3N0ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3RlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb1NldENoYW5nZVNldHRpbmdzVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQoKICAgICAgY2FzZSAnZG9fc2V0Zm9yZ290cHd0ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3RlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb1NldEZvcmdvdFBXVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQoKICAgICAgY2FzZSAnZG9fc2V0bG9naW50ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3RlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb1NldExvZ2luVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQoKICAgICAgY2FzZSAnZG9fc2V0bG9nb3V0dGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICd0ZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRG9TZXRMb2dvdXRUZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgoKICAgICAgY2FzZSAnZG9fdmVyaWZ5Y29kZSc6Cgl7CgkgICR0aGlzLT5fRG9SZXNldFVzZXJBY2NvdW50KCRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgIGJyZWFrOwoJfQoKICAgICAgY2FzZSAnZWRpdHVzZXInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdlZGl0dXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluRWRpdFVzZXJTdGVwMVBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5FZGl0VXNlclN0ZXAxUGFnZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyBub3cgZ2V0IHRoZSB1c2VyIGluZm8KICAgICR1c2VyID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKICAgIGlmKCAkdXNlclswXSA9PSBmYWxzZSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR1c2VyWzFdICk7CglyZXR1cm47CiAgICAgIH0KICAgICR1c2VyID0gJHVzZXJbMV07CgogICAgLy8gZ2V0IHRoZSB1c2VyIHByb3BlcnRpZXMKICAgICRwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CiAgICAKICAgIC8vIGdldCB0aGUgZ3JvdXAgbWVtYmVyc2hpcHMKICAgICRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICRwYXJhbXNbJ3VzZXJfaWQnXSApOwovLyB0b2RvLCB1c2VycyBtYXkgKG9wdGlvbmFsbHkpIG5vdCBiZSBwYXJ0IG9mIGFueSBncnVvcHMKLy8gICAgIGlmKCAkZ3JvdXBzID09IGZhbHNlICkKLy8gICAgICAgewovLyAJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2Vycm9yX21lbWJlcmdyb3VwcycpICk7Ci8vIAlyZXR1cm47Ci8vICAgICAgIH0KCiAgICAvLyBwb3B1bGF0ZSB0aGUgcGFyYW1zIHdpdGggdGhlIGFwcHJvcHJpYXRlIHN0dWZmCiAgICAvLyB0aGF0IHdlIGp1c3QgbG9hZGVkCiAgICAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddID0gJHVzZXJbJ3VzZXJuYW1lJ107CiAgICAkcGFyYW1zWydpbnB1dF9leHBpcmVzZGF0ZSddID0gJHVzZXJbJ2V4cGlyZXMnXTsKLy8gICAgICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gPSAkdXNlclsncGFzc3dvcmQnXTsgIC8vIHRoZSBwYXNzd29yZCByb3cgaXMgbWQ1IGhhc2hlZCwgZG9uJ3QgYm90aGVyIGRpc3BsYXlpbmcgaXQKLy8gICAgICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gPSAkdXNlclsncGFzc3dvcmQnXTsKICAgICR1c2VycHJvcHMgPSAnJzsKICAgIGZvcmVhY2goICRwcm9wcyBhcyAkcHJvcCApCiAgICB7CiAgICAgIGlmKCAkdXNlcnByb3BzID09ICcnICkKCXsKCSAgJHVzZXJwcm9wcyA9ICRwcm9wWyd0aXRsZSddLiI9Ii4kcHJvcFsnZGF0YSddOwoJfQogICAgICBlbHNlCgl7CgkgICR1c2VycHJvcHMgLj0gIiwiLiRwcm9wWyd0aXRsZSddLiI9Ii4kcHJvcFsnZGF0YSddOwoJfQogICAgfQogICAgJHBhcmFtc1sndXNlcnByb3BzJ10gPSAkdXNlcnByb3BzOwoKICAgICRtZW1iZXJvZiA9ICcnOwogICAgaWYoICRncm91cHMgIT0gZmFsc2UgKQogICAgICB7Cglmb3JlYWNoKCAkZ3JvdXBzIGFzICRncm91cCApCgl7CgkgICRwYXJhbXNbJ21lbWJlcm9mXycuJGdyb3VwWydncm91cGlkJ11dID0gJGdyb3VwWydncm91cGlkJ107Cgl9CiAgICAgIH0KCiAgICAvLyBhbmQgZGlzcGxheSB0aGUgdXNlciBwYWdlCiAgICAvLyB0b2RvLCBwdXQgYSByZWRpcmVjdCBoZXJlCiAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pblVzZXJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogIH0KCgogIGZ1bmN0aW9uIF9oYW5kbGVVc2VySW5mb1ZhbGlkYXRpb24oICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJiRtZXNzYWdlLCAkbmVlZHB3ID0gdHJ1ZSwgCgkJCQkgICAgICAkZG9leHBpcmUgPSB0cnVlLCAkY2hlY2t1c2VybmFtZSA9IHRydWUgKQogIHsKICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVycyBhcmUgZmlsbGVkIGluCiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogICAgJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICRyZXBlYXQgICA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICAKICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgCgl8fCAoJG5lZWRwdyAmJiAoJHBhc3N3b3JkID09ICcnIHx8ICRyZXBlYXQgPT0gJycpKSAgKQogICAgICB7CglkaWUoIiR1c2VybmFtZSwgJG5lZWRwdywgJHBhc3N3b3JkLCAkcmVwZWF0Iik7CgkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CglyZXR1cm4gLTE7CiAgICAgIH0KCiAgICAvLyBtYWtlIHN1cmUgdGhlIHBhc3N3b3JkcyBtYXRjaAogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0ICkKICAgICAgewoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCcpOwoJcmV0dXJuIC0xOwogICAgICB9CgogICAgLy8gbWFrZSBzdXJlIHRoZSB1c2VybmFtZSBmaXRzIHRoZSBydWxlcwogICAgaWYoICRjaGVja3VzZXJuYW1lICkKICAgICAgewoJaWYoICEkdGhpcy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCgkgIHsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkdXNlcm5hbWUnKTsKCSAgICByZXR1cm4gLTE7CgkgIH0KICAgICAgfQoKICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFzc3dvcmQgZml0cyB0aGUgcnVsZXMKICAgIGlmKCAkbmVlZHB3ICYmICEkdGhpcy0+SXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKSApCiAgICAgIHsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZCcpOwoJcmV0dXJuIC0xOwogICAgICB9CgogICAgaWYoICRkb2V4cGlyZSA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiAxOwogICAgICB9CgogICAgLy8gbWFrZSBzdXJlIGFuIGV4cGlyeSBkYXRlIGlzIHNldAogICAgaWYoICFpc3NldCgkcGFyYW1zWydleHBpcmVzZGF0ZV9Nb250aCddKSApCiAgICAgIHsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJyk7CiAgICAgIH0KCiAgICAkZXhwaXJlcyA9IG1rdGltZSgkcGFyYW1zWydleHBpcmVzZGF0ZV9Ib3VyJ10sIAoJCSRwYXJhbXNbJ2V4cGlyZXNkYXRlX01pbnV0ZSddLCAkcGFyYW1zWydleHBpcmVzZGF0ZV9TZWNvbmQnXSwKCSAgICAgICAgJHBhcmFtc1snZXhwaXJlc2RhdGVfTW9udGgnXSwgJHBhcmFtc1snZXhwaXJlc2RhdGVfRGF5J10sIAoJICAgICAgICAkcGFyYW1zWydleHBpcmVzZGF0ZV9ZZWFyJ10pOwogICAgJHBhcmFtc1snaW5wdXRfZXhwaXJlc2RhdGUnXSA9ICRleHBpcmVzOwogICAgcmV0dXJuIDE7CiAgfQoKCiAgZnVuY3Rpb24gbXlNb2R1bGVQYXRoKCkKICB7CiAgICRzdHIgPSAiL21vZHVsZXMvIi4kdGhpcy0+R2V0TmFtZSgpLiIvIjsKICAgIHJldHVybiAkc3RyOwogIH0KCgogIGZ1bmN0aW9uIG15UmVkaXJlY3RUb1RhYiggJGlkLCAkdGFiLCAkcGFyYW1zID0gJycgKQogIHsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICBpZiggaXNfYXJyYXkoICRwYXJhbXMgKSApCiAgICAgIHsKCSRwYXJtcyA9ICRwYXJhbXM7CiAgICAgIH0KICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJHRhYjsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcm1zLCB0cnVlICk7CiAgfQoKCiAgZnVuY3Rpb24gbXlSZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMgPSAnJyApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICRhY3Rpb24sICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KCgpmdW5jdGlvbiBmZUNyZWF0ZUZvcm1TdGFydCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRpbmxpbmU9dHJ1ZSwgJG1ldGhvZD0ncG9zdCcsICRlbmN0eXBlPScnLCAkaWRzdWZmaXg9JycsICRwYXJhbXMgPSBhcnJheSgpICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJGFjdGlvbiwkcmV0dXJuaWQsJG1ldGhvZCwkZW5jdHlwZSwkaW5saW5lLCRpZHN1ZmZpeCwgJHBhcmFtcyk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0SGVscCgkbGFuZz0nZW5fVVMnKQkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgoKICBmdW5jdGlvbiBHZXRBdXRob3IoKSAKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDAnOwogIH0KCiAgCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDBAaG90bWFpbC5jb20nOwogIH0KCiAgCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkJCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgoKICAvKioKICAgKiBUaGlzIGlzIGEgYXdlc29tZSB1dGlsaXR5IGZ1bmN0aW9uIHRoYXQgcHJvZHVjZXMgdmlydHVhbGx5IGFsbCBoZWxwZnVsCiAgICogZGVidWcgaW5mby4gIFJlbGllcyBvbiB0aGUgdmFsdWUgb2YgdGhlICR2YXJkZWJ1ZyBvZiB0aGUgY2xhc3MuCiAgICoKICAgKiBAcGFyYW0gYXJyYXkgJGRlYnVnYXJyYXkgc2luZ2xlLSBvciBtdWx0aWRpbWVudGlvbmFsIGFycmF5CiAgICogQHBhcmFtIFN0cmluZyAkbWVzc2FnZSB0aGF0IGhlbHAgaWRlbnRpZnkgdGhlIGZ1bmN0aW9uIGNhbGwKICAgKi8KICBmdW5jdGlvbiBfZGVidWdhcnJheSgkZGVidWdhcnJheSwgJG1lc3NhZ2U9JycpCiAgewogICAgaWYgKCR0aGlzLT5kZXZkZWJ1ZyA9PSAxKXsKICAgICAgZWNobyAiXG5cbjxicj48YnI+LS0tLS0tLS0tLS0tLSBEZWJ1ZyBpbmZvOiAtLS0tLS0tLS0tLS0tLS0tPGJyPlxuIjsKICAgICAgJHN0YWNrdHJhY2UgPSBkZWJ1Z19iYWNrdHJhY2UoKTsKICAgICAgaWYgKGNvdW50KCRzdGFja3RyYWNlKSA+IDEgJiYgJHN0YWNrdHJhY2VbMV1bJ2Z1bmN0aW9uJ10gIT0gJycpewoJZWNobyAiSW5zaWRlICIgLiAkc3RhY2t0cmFjZVsxXVsnZnVuY3Rpb24nXSAuICI8YnI+XG4iOwoJZWNobyAiQ2FsbGVkIGZyb20gIgoJICAuICRzdGFja3RyYWNlWzNdWydmdW5jdGlvbiddIC4gIiwgIgoJICAuICRzdGFja3RyYWNlWzJdWydmdW5jdGlvbiddIC4gIjxicj5cbiI7CiAgICAgIH0KICAgICAgaWYgKCRtZXNzYWdlICE9ICcnKXsKCWVjaG8gJG1lc3NhZ2UgLiAiPGJyPiI7CiAgICAgIH0KICAgICAgZWNobyAiXG48dGFibGUgY2VsbHBhZGRpbmc9MTAgYm9yZGVyPTA+XG48dHI+XG48dGQ+IjsKICAgICAgZm9yZWFjaCggJGRlYnVnYXJyYXkgYXMgJGtleSA9PiAkdmFsICl7CgkvLwkJCQllY2hvICI8Yj4ka2V5PC9iPjxicj4iOwoJaWYoaXNfYXJyYXkoJHZhbCkpewoJICBlY2hvICI8L3RkPlxuPHRkPiI7CgkgIGVjaG8gIjxiPkFycmF5PC9iPjxicj4iOwoJICAkdGhpcy0+X2RlYnVnc3ViYXJyYXkoJHZhbCk7Cgl9IGVsc2UgaWYgKGlzX29iamVjdCgkdmFsKSl7CgkgIGVjaG8gIjwvdGQ+XG48dGQ+IjsKCSAgZWNobyAiPGI+T2JqZWN0PC9iPjxicj4iOwoJICAkdGhpcy0+X2RlYnVnc3ViYXJyYXkoZ2V0X29iamVjdF92YXJzKCR2YWwpKTsKCX0gZWxzZSB7CgkgIGVjaG8gIjxiPlZlY3RvcjwvYj48YnI+IjsKCSAgZWNobyAiXHQ8c3BhbiBzdHlsZT1ccGFkZGluZy1sZWZ0OjIwcHhcIj4iCgkgICAgLiAka2V5IC4gIjogIiAuICR2YWwgLiAiPC9zcGFuPjxicj5cbiI7Cgl9CiAgICAgIH07CiAgICAgIGVjaG8gIjwvdGQ+XG48L3RyPlxuPC90YWJsZT5cbiI7CiAgICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0gRW5kIGRlYnVnIGluZm8gLS0tLS0tLS0tLS0tLS0tLTxicj48YnI+XG5cbiI7CiAgICB9CiAgfQoKICAvKioKICAgKiBVdGlsaXR5IGZ1bmN0aW9uLCB1c2VkIGJ5IHRoZSBfZGVidWdhcnJheSBmdW5jdGlvbgogICAqLwogIGZ1bmN0aW9uIF9kZWJ1Z3N1YmFycmF5KCRkZWJ1Z2FycmF5KQogIHsKICAgIGZvcmVhY2goICRkZWJ1Z2FycmF5IGFzICRrZXkgPT4gJHZhbCApCiAgICAgIHsKCWlmKGlzX2FycmF5KCR2YWwpKQoJICB7CgkgICAgZWNobyAiXHQiIC4gJGtleSAuICI6ICIgLiBwcmludF9yKCR2YWwpIC4gIjxicj5cbiI7CgkgIH0gCgllbHNlIAoJICB7CgkgICAgZWNobyAiXHQiIC4gJGtleSAuICI6ICIgLiAkdmFsIC4gIjxicj5cbiI7CgkgIH0KICAgICAgfQogIH0KICAKCi8qIG9sZCBmdW5jdGlvbiAobm90IHVzZWQ/KQogIC8vIHRvZG8sIHB1dCB0aGlzIGludG8gdGhlIFVzZXJNYW5pcHVsYXRvciBzdHVmZgogIGZ1bmN0aW9uIENyZWF0ZU5ld1VzZXIoJGlkKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIGlmIChpc3NldCgkX1BPU1RbJGlkLiJ1c2VybmFtZSJdKSkgCiAgICAgICRuZXd1c2VybmFtZT10cmltKCRfUE9TVFskaWQuInVzZXJuYW1lIl0pOyBlbHNlICRuZXd1c2VybmFtZT0iIjsKICAgIGlmICgkbmV3dXNlcm5hbWU9PSIiKSByZXR1cm4gIlVzZXJuYW1lIG11c3QgYmUgcHJvdmlkZWQhIjsKICAgICRxdWVyeT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgV0hFUkUgdXNlcm5hbWU9JyIuJG5ld3VzZXJuYW1lLiInIjsKICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSByZXR1cm4gIlVzZXJuYW1lIGFscmVhZHkgZXhpc3RzISI7CiAgICAKICAgICRuZXdlbWFpbD10cmltKCRfUE9TVFskaWQuImVtYWlsIl0pOwogICAgCiAgICAkbmV3cGFzc3dvcmQ9dHJpbSgkX1BPU1RbJGlkLiJwYXNzd29yZCJdKTsKICAgIGlmICgkbmV3cGFzc3dvcmQ9PSIiKSByZXR1cm4gIlBhc3N3b3JkIGNhbm5vdCBiZSBibGFuayEiOwogICAgJG5ld3Bhc3N3b3JkMj10cmltKCRfUE9TVFskaWQuInBhc3N3b3JkMiJdKTsKICAgIGlmICgkbmV3cGFzc3dvcmQhPSRuZXdwYXNzd29yZDIpIHJldHVybiAiUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCEiOwogICAgJG5ld2lkPSRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2Vyc19zZXEiKTsKICAgICRxdWVyeT0iSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIChpZCx1c2VybmFtZSxwYXNzd29yZCxlbWFpbCkgVkFMVUVTICg/LD8sPyw/KSI7CiAgICAkcGFyYW1zPWFycmF5KCRuZXdpZCwkbmV3dXNlcm5hbWUsbWQ1KCRuZXdwYXNzd29yZCksJG5ld2VtYWlsKTsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJhbXMpOwogICAgCiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkpIHsKICAgICAgd2hpbGUgKCRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CglpZiAoJF9QT1NUWyRpZC4iZ3JvdXAiLiRyb3dbImlkIl1dPT0ieWVzIikgewoJICAvL0NyZWF0ZSBhbiBhc3NvY2lhdGlvbgoJICAkcT0iSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgKHVzZXJpZCxncm91cGlkKSBWQUxVRVMgKD8sPykiOwoJICAkcGFyYW1zMj1hcnJheSgkbmV3aWQsJHJvd1siaWQiXSk7CgkgICRkYnJlc3VsdDI9JGRiLT5FeGVjdXRlKCRxLCRwYXJhbXMyKTsKCX0KICAgICAgfQogICAgfQogICAgcmV0dXJuICIiOwogIH0KCiAgLy8gb2xkIGZ1bmN0aW9uIChub3QgdXNlZD8pCiAgLy8gdG9kbywgcHV0IHRoaXMgaW50byB0aGUgVXNlck1hbmlwdWxhdG9yIHN0dWZmCiAgZnVuY3Rpb24gQ3JlYXRlTmV3R3JvdXAoJGlkKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRuZXdncm91cG5hbWU9dHJpbSgkX1BPU1RbJGlkLiJncm91cG5hbWUiXSk7CiAgICBpZiAoJG5ld2dyb3VwbmFtZT09IiIpIHJldHVybiAiQSB1bmlxdWUgZ3JvdXAgbmFtZSBtdXN0IGJlIHByb3ZpZGVkISI7CiAgICAkcXVlcnk9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBncm91cG5hbWU9JyIuJG5ld2dyb3VwbmFtZS4iJyI7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYgKCRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSkgcmV0dXJuICJHcm91cCBuYW1lIGFscmVhZHkgZXhpc3RzISI7CiAgICAkbmV3Z3JvdXBkZXNjPXRyaW0oJF9QT1NUWyRpZC4iZ3JvdXBkZXNjIl0pOwogICAgJG5ld2lkPSRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHNfc2VxIik7CiAgICAkcXVlcnk9IklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgKGlkLGdyb3VwbmFtZSxncm91cGRlc2MpIFZBTFVFUyAoPyw/LD8pIjsKICAgICRwYXJhbXM9YXJyYXkoJG5ld2lkLCRuZXdncm91cG5hbWUsJG5ld2dyb3VwZGVzYyk7CiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxdWVyeSwkcGFyYW1zKTsKICAgIHJldHVybiAiIjsKICB9CgoKICAvLyBvbGQgZnVuY3Rpb24gKG5vdCB1c2VkPykKICAvLyB0b2RvLCBwdXQgdGhpcyBpbnRvIHRoZSBVc2VyTWFuaXB1bGF0b3Igc3R1ZmYKICBmdW5jdGlvbiBDaGFuZ2VHcm91cCgkaWQpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIGlmIChpc3NldCgkX1BPU1RbJGlkLiJncm91cGlkIl0pKSAkZ3JvdXBpZD10cmltKCRfUE9TVFskaWQuImdyb3VwaWQiXSk7IGVsc2UgcmV0dXJuICJVbnJlY292ZXJhYmxlIGVycm9yIjsKICAgIGlmIChpc3NldCgkX1BPU1RbJGlkLiJncm91cG5hbWUiXSkpICRncm91cG5hbWU9dHJpbSgkX1BPU1RbJGlkLiJncm91cG5hbWUiXSk7IGVsc2UgcmV0dXJuICJBIHVuaXF1ZSBncm91cCBuYW1lIG11c3QgYmUgcHJvdmlkZWQhIjsKICAgIAogICAgLy9DaGVjayBmb3IgZXhpc3RpbmcgZ3JvdXBuYW1lCiAgICAkcXVlcnk9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBncm91cG5hbWU9JyIuJGdyb3VwbmFtZS4iJyI7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYgKCRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcm93PSRyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgIGlmICgkcm93WyJpZCJdIT0kZ3JvdXBpZCkgcmV0dXJuICJHcm91cCBuYW1lIGFscmVhZHkgZXhpc3RzISI7CiAgICAgIC8vRWxzZSBzYW1lIGdyb3VwLi4uCiAgICB9CiAgICAKICAgICRncm91cGRlc2M9dHJpbSgkX1BPU1RbJGlkLiJncm91cGRlc2MiXSk7CiAgICAkcXVlcnk9IlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIFNFVCBncm91cG5hbWU9Pyxncm91cGRlc2M9PyBXSEVSRSBpZD0/IjsKICAgICRwYXJhbXM9YXJyYXkoJGdyb3VwbmFtZSwkZ3JvdXBkZXNjLCRncm91cGlkKTsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJhbXMpOwogIH0KKi8KCiAgLy8gc2VuZCBhbiBldmVudCB0aGF0IHRoaXMgdXNlciBhY2NvdW50IGhhcyBiZWVuIGV4cGlyZWQKICBmdW5jdGlvbiBOb3RpZnlFeHBpcmVkVXNlciggJHVzZXJpZCApCQogIHsKICAgICR1c2VyID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdXNlcmlkICk7CiAgICBpZiggJHVzZXJbMF0gPT0gRkFMU0UgKQogICAgICB7CgkvLyB0aGlzIHNob3VsZCBiZSBhbiBlcnJvcgoJcmV0dXJuOwogICAgICB9CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydpZCddID0gJHVzZXJpZDsKICAgICRwYXJtc1sndXNlcm5hbWUnXSA9ICR1c2VyWzFdWyd1c2VybmFtZSddOwogICAgJHRoaXMtPlNlbmRFdmVudCgnT25FeHBpcmVVc2VyJywkcGFybXMpOwogIH0KCgogIGZ1bmN0aW9uIGltYWdlVHJhbnNmb3JtKCRzcmNTcGVjLCAkZGVzdFNwZWMsICRzaXplLCAmJGNvbmZpZykKICB7CiAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy8uLi8uLi9saWIvZmlsZW1hbmFnZXIvSW1hZ2VNYW5hZ2VyL0NsYXNzZXMvVHJhbnNmb3JtLnBocCcpOwogICAgCiAgICAkaXQgPSBuZXcgSW1hZ2VfVHJhbnNmb3JtOwogICAgJGltZyA9ICRpdC0+ZmFjdG9yeSgkY29uZmlnWydpbWFnZV9tYW5pcHVsYXRpb25fcHJvZyddKTsKICAgICRpbWctPmxvYWQoJHNyY1NwZWMpOwogICAgaWYgKCRpbWctPmltZ194IDwgJGltZy0+aW1nX3kpCiAgICAgIHsKCSRsb25nX2F4aXMgPSAkaW1nLT5pbWdfeTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkbG9uZ19heGlzID0gJGltZy0+aW1nX3g7CiAgICAgIH0KICAgIAogICAgaWYgKCRsb25nX2F4aXMgPiAkc2l6ZSkKICAgICAgewoJJGltZy0+c2NhbGVCeUxlbmd0aCgkc2l6ZSk7CgkkaW1nLT5zYXZlKCRkZXN0U3BlYywgJ2pwZWcnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkaW1nLT5zYXZlKCRkZXN0U3BlYywgJ2pwZWcnKTsKICAgICAgfQogICAgJGltZy0+ZnJlZSgpOwogIH0KCgogIGZ1bmN0aW9uIE1hbmFnZUltYWdlVXBsb2FkKCRpZCwgJGZsZHByZWZpeCwgJGZsZG5hbWUsICR1aWQsICRpbWFnZV93aWR0aCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CgogICAgJGFsbG93ZWRfZXh0ZW5zaW9ucz0kdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywKCQkJCQkgICAgICcuZ2lmLC5wbmcsLmpwZycpOwogICAgJG1heGZpbGVzaXplID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91cGxvYWRfc2l6ZScsMTAqMTAyNCoxMDI0KTsKICAgICRkZXN0RGlyID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKICAgICRkZXN0RGlyIC49ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJywgJ2ZldXNlcnMnKTsKCiAgICBpZiggIWlzc2V0KCRfRklMRVNbJGlkLiRmbGRwcmVmaXguJGZsZG5hbWVdKSB8fCAhaXNzZXQoICRfRklMRVMgKSApCiAgICAgIHsKCXJldHVybiBhcnJheShmYWxzZSwkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ191cGxvYWQnKSk7CiAgICAgIH0KCiAgICAvLyRkZXN0bmFtZSA9ICRfRklMRVNbJGlkLiRmbGRuYW1lXVsnbmFtZSddOwogICAgJGZpbGUgPSYgJF9GSUxFU1skaWQuJGZsZHByZWZpeC4kZmxkbmFtZV07CiAgICBpZiAoIWlzc2V0ICgkZmlsZVsndHlwZSddKSkKICAgICAgJGZpbGVbJ3R5cGUnXSA9ICcnOwogICAgaWYgKCFpc3NldCAoJGZpbGVbJ3NpemUnXSkpCiAgICAgICRmaWxlWydzaXplJ10gPSAnJzsKICAgIGlmICghaXNzZXQgKCRmaWxlWyd0bXBfbmFtZSddKSkKICAgICAgJGZpbGVbJ3RtcF9uYW1lJ10gPSAnJzsKICAgICRmaWxlWyduYW1lJ10gPQogICAgICBwcmVnX3JlcGxhY2UoJy9bXmEtekEtWjAtOVwuXCRcJVwnXGBcLVxAXHtcfVx+XCFcI1woXClcJlxfXF5dLycsICcnLAogICAgICAgc3RyX3JlcGxhY2UgKGFycmF5ICgnICcsICclMjAnKSwgYXJyYXkgKCdfJywgJ18nKSwgJGZpbGVbJ25hbWUnXSkpOwogICAgCiAgICAvLyBzZXQgdGhlIGRlc3RpbmF0aW9uIG5hbWUKICAgICRleHQgPSBzdHJjaHIoJGZpbGVbJ25hbWUnXSwnLicpOwogICAgJGRlc3RuYW1lID0gJHVpZC4nXycuJGZsZG5hbWUuJGV4dDsKCiAgICAvLyBDcmVhdGUgdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSBpZiBuZWNlc3NhcnkKICAgIEBta2RpcigkZGVzdERpcik7CiAgICBpZiggIWlzX3dyaXRhYmxlKCAkZGVzdERpciApICkKICAgICAgewoJcmV0dXJuIGFycmF5KGZhbHNlLCR0aGlzLT5MYW5nKCdlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJykpOwogICAgICB9CgogICAgLy8gaGVyZSB3ZSdkIHJlc2l6ZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc2lyZWQgd2lkdGgKICAgIC8vIGl0IGFsc28gc2F2ZXMgdGhlIGZpbGUgdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4KICAgICR0aGlzLT5pbWFnZVRyYW5zZm9ybSgkZmlsZVsndG1wX25hbWUnXSwgJGRlc3REaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZGVzdG5hbWUsICRpbWFnZV93aWR0aCwgJGdDbXMtPmNvbmZpZyk7CgogICAgcmV0dXJuIGFycmF5KHRydWUsJGRlc3RuYW1lKTsKICB9CgoKICBmdW5jdGlvbiBTZXRMb2dpbkNvb2tpZSgkdXNlcm5hbWUsJHBhc3N3b3JkKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicpICYmCgkoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnKSAhPSAnJykgKQogICAgICB7CgkkY29va2llbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJyk7CgoJJHBhdCA9IGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pOwoJJGRvbSA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCgkkZXhwaXJlcyA9IHRpbWUoKSsoMzYwMCoyNCozNjUpOwoJJHZhbCA9IGFycmF5KCk7CgkkdmFsWyd1J10gPSAkdXNlcm5hbWU7CgkkdmFsWydwJ10gPSBtZDUoJHBhc3N3b3JkKTsKCSRzdHIgPSBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSggJHZhbCApKTsKCglpZiggZnVuY3Rpb25fZXhpc3RzKCdtY3J5cHRfZWNiJykgKQoJICB7CgkgICAgJGtleSA9ICdGRVUnLm1kNSgkY29uZmlnWydyb290X3BhdGgnXSkubWQ1KCRjb29raWVuYW1lKTsKCSAgICAkc3RyID0gbWNyeXB0X2VjYihNQ1JZUFRfREVTLCRrZXksJHN0cixNQ1JZUFRfRU5DUllQVCk7CgkgIH0KCQoJQHNldGNvb2tpZSggJGNvb2tpZW5hbWUsICRzdHIsCgkJICAgICAkZXhwaXJlcywgJHBhdCwgJGRvbSApOwoJcmV0dXJuOwogICAgICB9CiAgfQoKCiAgZnVuY3Rpb24gX0F0dGVtcHRJbnZhbGlkYXRlTG9naW5Db29raWUoKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicpICYmCgkoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnKSAhPSAnJykgKQogICAgICB7CgkkY29va2llbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJyk7CgkKCSRwYXQgPSBkaXJuYW1lKCRfU0VSVkVSWydTQ1JJUFRfTkFNRSddKTsKCSRkb20gPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CgoJJGV4cGlyZXMgPSB0aW1lKCktMzYwMDsgLy8gb25lIGhvdXIgYWdvCglAc2V0Y29va2llKCAkY29va2llbmFtZSwgJycsICRleHBpcmVzLCAkcGF0LCAkZG9tICk7CiAgICAgIH0KCgoKCgoKCgoKCiAgfQoKCiAgZnVuY3Rpb24gX0F0dGVtcHRMb2dpbldpdGhDb29raWUoKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicpICYmCgkoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnKSAhPSAnJykgKQogICAgICB7CgkkY29va2llbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJyk7CgoJaWYoICFpc3NldCgkX0NPT0tJRVskY29va2llbmFtZV0pICkgCgkgIHsKCSAgICByZXR1cm47CgkgIH0KCgkkc3RyID0gJF9DT09LSUVbJGNvb2tpZW5hbWVdOwoJaWYoIGZ1bmN0aW9uX2V4aXN0cygnbWNyeXB0X2VjYicpICkKCSAgewoJICAgICRrZXkgPSAnRkVVJy5tZDUoJGNvbmZpZ1sncm9vdF9wYXRoJ10pLm1kNSgkY29va2llbmFtZSk7CgkgICAgJHN0ciA9IG1jcnlwdF9lY2IoTUNSWVBUX0RFUywka2V5LCRzdHIsTUNSWVBUX0RFQ1JZUFQpOwoJICB9CgkkYXJyID0gdW5zZXJpYWxpemUoIGJhc2U2NF9kZWNvZGUoJHN0cikgKTsKCglpZiggY291bnQoJGFycikgIT0gMiB8fCAhaXNzZXQoJGFyclsndSddKSB8fCAhaXNzZXQoJGFyclsncCddKSApCgkgIHJldHVybjsKCgkkdGhpcy0+TG9naW4oICRhcnJbJ3UnXSwgJGFyclsncCddLCAnJywgdHJ1ZSwgdHJ1ZSApOwogICAgICB9CiAgfQoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyAgQVBJIEZVTkNUSU9OUyAvLwogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKICBmdW5jdGlvbiBBZGRHcm91cCggJG5hbWUsICRkZXNjcmlwdGlvbiApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QWRkR3JvdXAoICRuYW1lLCAkZGVzY3JpcHRpb24gKTsKICB9CgoKZnVuY3Rpb24gQWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsICRwcm9wbmFtZSwgJHNvcnRrZXksICRsb3N0dW4sICR2YWwgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkFkZEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUsICRzb3J0a2V5LCAkbG9zdHVuLCAkdmFsICk7CiAgfQoKCiAgZnVuY3Rpb24gQWRkUHJvcGVydHlEZWZuKCAkbmFtZSwgJHByb21wdCwgJHR5cGUsICRsZW5ndGgsICRtYXhsZW5ndGggKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkFkZFByb3BlcnR5RGVmbiggJG5hbWUsICRwcm9tcHQsICR0eXBlLCAkbGVuZ3RoLCAkbWF4bGVuZ3RoICk7CiAgfQoKIAogIGZ1bmN0aW9uIEFkZFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkc2Vsb3B0aW9ucyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QWRkU2VsZWN0T3B0aW9ucyggJG5hbWUsICRzZWxvcHRpb25zICk7CiAgfQoKIAogIGZ1bmN0aW9uIEFkZFVzZXIoICRuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5BZGRVc2VyKCAkbmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcyApOwogIH0KCgogIGZ1bmN0aW9uIEFzc2lnblVzZXJUb0dyb3VwKCAkdWlkLCAkZ2lkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Bc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdpZCApOwogIH0KCiAKICBmdW5jdGlvbiBDaGVja1Bhc3N3b3JkKCR1c2VybmFtZSwkcGFzc3dvcmQsJGdyb3VwcyA9ICcnLCRtZDVwdyA9IGZhbHNlKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkNoZWNrUGFzc3dvcmQoJHVzZXJuYW1lLCRwYXNzd29yZCwkZ3JvdXBzLCRtZDVwdyk7CiAgfQoKIAogIGZ1bmN0aW9uIENvdW50VGVtcENvZGVSZWNvcmRzKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Db3VudFRlbXBDb2RlUmVjb3JkcygpOwogIH0KCiAKICBmdW5jdGlvbiBDb3VudFVzZXJzSW5Hcm91cCggJGdpZCA9ICcnICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Db3VudFVzZXJzSW5Hcm91cCggJGdpZCApOwogIH0KCgogIC8qIHdoYXQncyB0aGlzPyAqLwogIGZ1bmN0aW9uIERlbGV0ZUFsbEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsICRwcm9wbmFtZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkLCAkcHJvcG5hbWUgKTsKICB9CgogIGZ1bmN0aW9uIERlbGV0ZVByb3BlcnR5RGVmbiggJG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVByb3BlcnR5RGVmbiggJG5hbWUgKTsKICB9CgoKICBmdW5jdGlvbiBEZWxldGVQcm9wZXJ0eURlZm5zKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVQcm9wZXJ0eURlZm5zKCk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlU2VsZWN0T3B0aW9ucyggJG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVNlbGVjdE9wdGlvbnMoICRuYW1lICk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVXNlckZ1bGwoICR1aWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVVzZXJGdWxsKCAkdWlkICk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVXNlclByb3BlcnR5QnlOYW1lKCAkdGl0bGUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVVzZXJQcm9wZXJ0eUJ5TmFtZSgkdGl0bGUpOwogIH0KCiAgLypXaGF0IGlzIHRoaXM/Ki8KICBmdW5jdGlvbiBEZWxldGVVc2VyUHJvcGVydHkoJHRpdGxlLCRhbGw9ZmFsc2UpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVVzZXJQcm9wZXJ0eSgkdGl0bGUsJGFsbCk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlQWxsVXNlclByb3BlcnRpZXMoKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVBbGxVc2VyUHJvcGVydGllcygpOwogIH0KCiAgCiAgZnVuY3Rpb24gRGVsZXRlQWxsVXNlclByb3BlcnRpZXNGdWxsKCR1c2VyaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzRnVsbCgkdXNlcmlkKTsKICB9CgoKCiAgZnVuY3Rpb24gRGVsZXRlVXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwkYWxsPWZhbHNlKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkdXNlcmlkLCRhbGwpOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZUdyb3VwRnVsbCggJGdpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlR3JvdXBGdWxsKCAkZ2lkICk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlVXNlcigkaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZVVzZXIoICRpZCApOwogIH0KCiAgZnVuY3Rpb24gRXhwaXJlVXNlcnMoKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5FeHBpcmVVc2VycygpOwogIH0KCiAgZnVuY3Rpb24gRXhwaXJlVGVtcENvZGVzKCAkZXhwaXJ5Y29kZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RXhwaXJlVGVtcENvZGVzKCAkZXhwaXJ5Y29kZSApOwogIH0KCgogIGZ1bmN0aW9uIEdlbmVyYXRlUmFuZG9tVXNlcm5hbWUoICRwcmVmaXggPSAndXNlcicgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdlbmVyYXRlUmFuZG9tVXNlcm5hbWUoICRwcmVmaXggKTsKICB9CiAgCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnRpZXMoJHVpZCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRVc2VyUHJvcGVydGllcygkdWlkKTsKICB9CiAgCgogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoJHVzZXJpZCk7CiAgfQoKICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydHkoJHRpdGxlLCRkZWZhdWx0dmFsdWU9ZmFsc2UpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFVzZXJQcm9wZXJ0eSggJHRpdGxlLCAkZGVmYXVsdHZhbHVlICk7CiAgfQoKICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkdXNlcmlkLCAkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkdXNlcmlkLCRkZWZhdWx0dmFsdWUpOwogIH0KCiAgZnVuY3Rpb24gR2V0VXNlclRlbXBDb2RlKCAkdWlkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRVc2VyVGVtcENvZGUoICR1aWQgKTsKICB9ICAKCgogIGZ1bmN0aW9uIEdldFByb3BlcnR5R3JvdXBSZWxhdGlvbnMoICR0aXRsZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0UHJvcGVydHlHcm91cFJlbGF0aW9ucyggJHRpdGxlICk7CiAgfQoKICBmdW5jdGlvbiBHZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApOwogIH0KCiAgZnVuY3Rpb24gR2V0R3JvdXBJbmZvKCAkZ2lkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRHcm91cEluZm8oICRnaWQgKTsKICB9CgoKICBmdW5jdGlvbiBHZXRVc2VySW5mbyggJHVpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlckluZm8oICR1aWQgKTsKICB9CiAKICBmdW5jdGlvbiBHZXRVc2Vyc0luR3JvdXAoICRnaWQgPSAnJywgJHJlZ2V4ID0gJycsICRsaW1pdCA9ICcnLCAkc29ydCA9ICcnLAoJCQkJCQkJJHByb3BlcnR5ID0gJycsICRwcm9wcmVnZXggPSAnJywgJGxvZ2dlZGlub25seSA9IDApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlcnNJbkdyb3VwKCAkZ2lkLCAkcmVnZXgsICRsaW1pdCwgJHNvcnQsCgkJCQkJCQkJCQkJICAkcHJvcGVydHksICRwcm9wcmVnZXgsICRsb2dnZWRpbm9ubHkgKTsKICB9CgogIGZ1bmN0aW9uIEdyb3VwRXhpc3RzQnlJRCggJGdpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R3JvdXBFeGlzdHNCeUlEKCAkZ2lkICk7CiAgfQoKICBmdW5jdGlvbiBHcm91cEV4aXN0c0J5TmFtZSggJG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdyb3VwRXhpc3RzQnlOYW1lKCAkbmFtZSApOwogIH0KCQogIAogIGZ1bmN0aW9uIEdldFByb3BlcnR5RGVmbnMoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFByb3BlcnR5RGVmbnMoKTsKICB9CgogIGZ1bmN0aW9uIEdldFByb3BlcnR5RGVmbiggJG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFByb3BlcnR5RGVmbiggJG5hbWUgKTsKICB9CgogIGZ1bmN0aW9uIEdldFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkZGltID0gMSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0U2VsZWN0T3B0aW9ucyggJG5hbWUsICRkaW0gKTsKICB9CgogIAogIGZ1bmN0aW9uIEdldFVzZXJOYW1lKCR1c2VyaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFVzZXJOYW1lKCR1c2VyaWQpOwogIH0KCiAgCiAgZnVuY3Rpb24gR2V0VXNlcklEKCR1c2VybmFtZSkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlcklEKCR1c2VybmFtZSk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0R3JvdXBOYW1lKCRncm91cGlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRHcm91cE5hbWUoICRncm91cGlkICk7CiAgfQoKICBmdW5jdGlvbiBHZXRHcm91cERlc2MoJGdyb3VwaWQpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBEZXNjKCAkZ3JvdXBpZCApOwogIH0KCgogIGZ1bmN0aW9uIEdldEdyb3VwTGlzdCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBMaXN0KCk7CiAgfQoKICAKICBmdW5jdGlvbiBHZXRHcm91cExpc3RGdWxsKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRHcm91cExpc3RGdWxsKCk7CiAgfQoKICBmdW5jdGlvbiBHZXRHcm91cElEKCRncm91cG5hbWUpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBJRCggJGdyb3VwbmFtZSApOwogIH0KCiAgCiBmdW5jdGlvbiBHZXRNZW1iZXJHcm91cHMoJHVzZXJpZCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0TWVtYmVyR3JvdXBzKCR1c2VyaWQpOwogIH0KCiAgCiAgZnVuY3Rpb24gSXNBY2NvdW50RXhwaXJlZCggJHVpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+SXNBY2NvdW50RXhwaXJlZCggJHVpZCApOwogIH0KCiAgCiAgZnVuY3Rpb24gSXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPklzVmFsaWRQYXNzd29yZCggJHBhc3N3b3JkICk7CiAgfQoKIAogIGZ1bmN0aW9uIElzVmFsaWRFbWFpbEFkZHJlc3MoICRlbWFpbCwgJHVpZCA9IC0xICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCAkZW1haWwsICR1aWQgKTsKICB9CgogIAogIGZ1bmN0aW9uIElzVmFsaWRVc2VybmFtZSggJHVzZXJuYW1lICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Jc1ZhbGlkVXNlcm5hbWUoICR1c2VybmFtZSApOwogIH0KCiAgCiAgZnVuY3Rpb24gTG9naW4oICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZ3JvdXBzID0gJycsICRtZDVwdyA9IGZhbHNlLAoJCSRmb3JjZV9sb2dvdXQgPSBmYWxzZSkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Mb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRncm91cHMsCgkJCQkgICAgJG1kNXB3LCAkZm9yY2VfbG9nb3V0KTsKICB9CgoKICBmdW5jdGlvbiBMb2dnZWRJbk5hbWUoKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICRzdHIgPSAkdGhpcy0+dXNlcm1hbmlwLT5Mb2dnZWRJbk5hbWUoKTsKICAgIHJldHVybiAkc3RyOwogIH0KCiAgCiAgZnVuY3Rpb24gTG9nb3V0KCR1aWQgPSAnJykgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+TG9nb3V0KCR1aWQpOwogIH0KCiAgCiAgZnVuY3Rpb24gTG9nb3V0VXNlcigkdWlkLCRldmVudG1zZyA9ICdsb2dvdXQnKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Mb2dvdXRVc2VyKCR1aWQsJGV2ZW50bXNnKTsKICB9CgogCiAgZnVuY3Rpb24gTG9nZ2VkSW5JZCgpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkxvZ2dlZEluSWQoKTsKICB9CgogCiAgZnVuY3Rpb24gTG9nZ2VkSW4oKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Mb2dnZWRJbigpOwogIH0KCiAKICBmdW5jdGlvbiBNZW1iZXJPZkdyb3VwKCR1c2VyaWQsJGdyb3VwaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPk1lbWJlck9mR3JvdXAoJHVzZXJpZCwkZ3JvdXBpZCk7CiAgfQoKICAKICBmdW5jdGlvbiBSZW1vdmVVc2VyVGVtcENvZGUoICR1aWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlJlbW92ZVVzZXJUZW1wQ29kZSggJHVpZCApOwogIH0gIAoKICAKICBmdW5jdGlvbiBSZW1vdmVVc2VyRnJvbUdyb3VwKCAkdWlkLCAkZ2lkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5SZW1vdmVVc2VyRnJvbUdyb3VwKCAkdWlkLCAkZ2lkICk7CiAgfQoKICAKICBmdW5jdGlvbiBTZXRVc2VyVGVtcENvZGUoICR1aWQsICRjb2RlICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyVGVtcENvZGUoICR1aWQsICRjb2RlLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycpICk7CiAgfQoKICAKICBmdW5jdGlvbiBTZXRQcm9wZXJ0eURlZm4oICRuYW1lLCAkbmV3bmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUsICRtYXhsZW5ndGggKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlNldFByb3BlcnR5RGVmbiggJG5hbWUsICRuZXduYW1lLCAkcHJvbXB0LCAkbGVuZ3RoLCAkdHlwZSwgJG1heGxlbmd0aCApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0R3JvdXAoICRnaWQsICRuYW1lLCAkZGVzYyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0R3JvdXAoICRnaWQsICRuYW1lLCAkZGVzYyApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0VXNlclBhc3N3b3JkKCAkdWlkLCAkcGFzc3dvcmQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlNldFVzZXJQYXNzd29yZCggJHVpZCwgJHBhc3N3b3JkICk7CiAgfQoKICAKICBmdW5jdGlvbiBTZXRVc2VyKCAkdWlkLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgPSBmYWxzZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0VXNlciggJHVpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICk7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VyR3JvdXBzKCAkdWlkLCAkZ3JwaWRzICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyR3JvdXBzKCAkdWlkLCAkZ3JwaWRzICk7CiAgfQoKICAKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydGllcyggJHVpZCwgJHByb3BzICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyUHJvcGVydGllcyggJHVpZCwgJHByb3BzICk7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydHkoJHRpdGxlLCRkYXRhKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyUHJvcGVydHkoJHRpdGxlLCRkYXRhKTsKICB9CgogIGZ1bmN0aW9uIFNldFVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCRkYXRhLCR1c2VyaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlNldFVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCRkYXRhLCR1c2VyaWQpOwogIH0KCiAgZnVuY3Rpb24gVXNlckV4aXN0c0J5SUQoICR1aWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlVzZXJFeGlzdHNCeUlEKCAkdWlkICk7CiAgfQogCn0gLy8gY2xhc3MKCgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.admin_admintab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICAvLyBhIGZvcm0gZm9yIHBlcmZvcm1pbmcgdmFyaW91cyBhZG1pbiB0YXNrcwogIC8vIGxpa2UgZXhwb3J0aW5nIHVzZXJzIHRvIENTViwgcmVzZXR0aW5nIGV4cGlyeSBkYXRlcywgZXRjLCBldGMuCiAgICAKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAKCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19hZG1pbnRhc2tzJywgJHJldHVybmlkLAoJCQkJCSAgICAgICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaGlkZGVuJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdhY3RpdmVfdGFiJywnYWRtaW4nKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBUaGUgZXhwb3J0IGZpZWxkcy4KJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmRfZXhwb3J0dXNlcnMnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZXhwb3J0dXNlcnMnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2V4cG9ydHVzZXJzJywkdGhpcy0+TGFuZygncHJvbXB0X2V4cG9ydGNzdicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9leHBvcnR1c2VycycsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2V4cG9ydHVzZXJzJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2V4cG9ydGNzdicpKSk7CgovLyBUaGUgaW1wb3J0IGZpZWxkcwokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF9pbXBvcnR1c2VycycsJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR1c2VycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW1wb3J0dXNlcnN0b2dyb3VwJywkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydGRlc3Rncm91cCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbXBvcnR1c2Vyc3RvZ3JvdXAnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfaW1wb3J0ZGVzdGdyb3VwJywKCQkJCQkgICAkdGhpcy0+R2V0R3JvdXBMaXN0KCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW1wb3J0dXNlcnNmaWxlJywkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydGZpbGVuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ltcG9ydHVzZXJzZmlsZScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2lucHV0X2ltcG9ydHVzZXJzZmlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbXBvcnR1c2Vyc2J0bicsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2ltcG9ydHVzZXJzJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2ltcG9ydGNzdicpKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnLAoJCSR0aGlzLT5MYW5nKCdpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCcpKTsKCgokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF91c2VyaGlzdG9yeW1haW50ZW5hbmNlJywKCQkkdGhpcy0+TGFuZygndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknKSk7CiRleHBvcnRsaXN0ID0gYXJyYXkoKTsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfYWxscmVjb3JkcycpXSA9IC0xOwokZXhwb3J0bGlzdFskdGhpcy0+TGFuZygnZGF0ZV9vbmVob3Vyb2xkJyldID0gJzFoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfc2l4aG91cm9sZCcpXSA9ICc2aCc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3R3ZWx2ZWhvdXJvbGQnKV0gPSAnMTJoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lZGF5b2xkJyldID0gJzFoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25ld2Vla29sZCcpXSA9ICcxdyc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3R3b3dlZWtzb2xkJyldID0gJzJ3JzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lbW9udGhvbGQnKV0gPSAnMW0nOwokZXhwb3J0bGlzdFskdGhpcy0+TGFuZygnZGF0ZV90aHJlZW1vbnRoc29sZCcpXSA9ICczbSc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3NpeG1vbnRoc29sZCcpXSA9ICc2bSc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX29uZXllYXJvbGQnKV0gPSAnMXknOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4cG9ydHVzZXJoaXN0b3J5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2V4cG9ydHVzZXJoaXN0b3J5JywKCQkJCQkgICAkZXhwb3J0bGlzdCkpOwokc21hcnR5LT5hc3NpZ24oJ2J1dHRvbl9leHBvcnR1c2VyaGlzdG9yeScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2V4cG9ydHVzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygnZXhwb3J0JykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jbGVhcnVzZXJoaXN0b3J5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2NsZWFydXNlcmhpc3RvcnknLAoJCQkJCSAgICRleHBvcnRsaXN0KSk7CiRzbWFydHktPmFzc2lnbignYnV0dG9uX2NsZWFydXNlcmhpc3RvcnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2J1dHRvbl9jbGVhcnVzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygnY2xlYXInKSkpOwoKLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnRhc2tzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_clearuserhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKLy8gR2V0IHRoZSBzdGFydCBkYXRlCiRkYXRlID0gJy0xJzsKc3dpdGNoKCAkcGFyYW1zWydpbnB1dF9jbGVhcnVzZXJoaXN0b3J5J10gKQogIHsKICBjYXNlICcxaCc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMSBob3VyIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnNmgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzYgaG91cnMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcxMmgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEyIGhvdXJzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMWQnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgZGF5IGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMXcnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgd2VlayBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzJ3JzoKICAgICRkYXRlID0gc3RydG90aW1lKCcyIHdlZWtzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMW0nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgbW9udGggYWdvJyk7CiAgICBicmVhazsKICBjYXNlICczbSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMyBtb250aHMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICc2bSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnNiBtb250aHMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcxeSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMSB5ZWFyIGFnbycpOwogICAgYnJlYWs7CiAgfQoKJGRiID0mICR0aGlzLT5HZXREYigpOwokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiOwokcGFybXMgPSBhcnJheSgpOwppZiggJGRhdGUgIT0gLTEgKQogIHsKICAgICRxdWVyeSAuPSAiIFdIRVJFIHJlZmRhdGUgPCA/IjsKICAgICRwYXJtc1tdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwiJyIpOwogIH0KCiRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCAkcGFybXMgKTsKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_exportuserhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKLy8gR2V0IHRoZSBzdGFydCBkYXRlCiRkYXRlID0gJy0xJzsKc3dpdGNoKCAkcGFyYW1zWydpbnB1dF9leHBvcnR1c2VyaGlzdG9yeSddICkKICB7CiAgY2FzZSAnMWgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgaG91ciBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzZoJzoKICAgICRkYXRlID0gc3RydG90aW1lKCc2IGhvdXJzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMTJoJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxMiBob3VycyBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzFkJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIGRheSBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzF3JzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIHdlZWsgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcydyc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMiB3ZWVrcyBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzFtJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIG1vbnRoIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnM20nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzMgbW9udGhzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnNm0nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzYgbW9udGhzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMXknOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgeWVhciBhZ28nKTsKICAgIGJyZWFrOwogIH0KCiR1c2VyaW5mbyA9IGFycmF5KCk7CgovLyB3ZSB3YW50IHRvIGV4cG9ydCBhIGNzdiBmaWxlIGRvIHdlCmhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRmlsZSBUcmFuc2ZlcicpOwpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT11c2VyaGlzdG9yeS5jc3YnKTsKd2hpbGUoQG9iX2VuZF9jbGVhbigpKTsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRvbmUgPSAwOwokc3RhcnQgPSAwOwokbnVtID0gMjsgLy8gdG9kbywgc2hvdWxkIGJlIGEgcHJlZmVyZW5jZQokcWJhc2UgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSAiOwokcGFybXMgPSBhcnJheSgpOwppZiggJGRhdGUgIT0gLTEgKQogIHsKICAgICRxYmFzZSAuPSAnIFdIRVJFIHJlZmRhdGUgPCA/JzsKICAgICRwYXJtc1tdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwiJyIpOwogIH0KCndoaWxlKCAkZG9uZSA9PSAwICkKICB7CiAgICAkcXVlcnkgPSAkcWJhc2UgLiAiIExJTUlUICRzdGFydCwkbnVtIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCAkcGFybXMgKTsKICAgIGlmKCAhJGRicmVzdWx0IHx8ICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCkgKQogICAgICB7CgkkZG9uZSA9IDE7CglicmVhazsKICAgICAgfQoKICAgICRvdXRwdXQgPSAnJzsKICAgIHdoaWxlKCAkZGJyZXN1bHQgJiYgISRkYnJlc3VsdC0+RU9GICkKICAgICAgewoJJGZpZWxkcyA9ICRkYnJlc3VsdC0+ZmllbGRzOwoJCgkkdWlkID0gJGZpZWxkc1sndXNlcmlkJ107CglpZiggJHVpZCA+IDAgKQoJICB7CgkgICAgaWYoICFpc3NldCggJHVzZXJpbmZvWyR1aWRdICkgKQoJICAgICAgewoJCSRyZXMgPSAkdGhpcy0+R2V0VXNlckluZm8oJHVpZCk7CgkJJHVzZXJpbmZvWyR1aWRdID0gJHJlc1sxXTsKCSAgICAgIH0KCSAgICAkdXNlcm5hbWUgPSAkdXNlcmluZm9bJHVpZF1bJ3VzZXJuYW1lJ107CgkgICAgJGZpZWxkc1tdID0gJHVzZXJpbmZvWyR1aWRdWyd1c2VybmFtZSddOwoJICB9CgllbHNlCgkgIHsKCSAgICAkZmllbGRzW10gPSAndW5rbm93bic7CgkgIH0KCgkkb3V0cHV0IC49IGltcGxvZGUoJywnLCRmaWVsZHMpLiJcbiI7CgoJLy8gY2hlYXQsIGNvbnZlcnQgdXNlcmlkIHRvIHVzZXJuYW1lCgkkZGJyZXN1bHQtPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgIGVjaG8gJG91dHB1dDsKICAgICRzdGFydCArPSAkbnVtOwogIH0KZXhpdCgpOwoKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_groupstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICRncm91cHMgPSAkdGhpcy0+R2V0R3JvdXBMaXN0RnVsbCgpOwogICRyb3djbGFzcyA9ICdyb3cxJzsKCiAgJHJvd2FycmF5ID0gYXJyYXkoKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdncm91cHNmb3VuZCcsICR0aGlzLT5MYW5nKCdncm91cHNmb3VuZCcpKTsKICBmb3JlYWNoKCAkZ3JvdXBzIGFzICRvbmVncm91cCApCiAgICB7CiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnbGlzdGdyb3VwcycpICkKCXsKCSAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJICAkb25lcm93LT5pZCA9ICRvbmVncm91cFsnaWQnXTsKCSAgJG9uZXJvdy0+bmFtZSA9CgkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwgJG9uZWdyb3VwWydncm91cG5hbWUnXSwKCQkJCSBhcnJheSAoJ2dyb3VwX2lkJyA9PiAkb25lZ3JvdXBbJ2lkJ10pKTsJCQkgICAgICAgCgkgICRvbmVyb3ctPmRlc2MgPSAkb25lZ3JvdXBbJ2dyb3VwZGVzYyddOwoJICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdGdyb3VwcycpICkKCSAgICB7CgkgICAgICAkb25lcm93LT5lZGl0bGluayA9CgkJJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwKCQkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSAgICAgYXJyYXkgKCdncm91cF9pZCcgPT4gJG9uZWdyb3VwWydpZCddKSk7CgkgICAgICAkb25lcm93LT5leHBvcnRsaW5rID0KCQkkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnYWRtaW5fZXhwb3J0Z3JvdXAnLCAkcmV0dXJuaWQsCgkJCQkgICAnPGltZyBzcmM9Ii4uL2ltYWdlcy9jbXMveG1sX3Jzcy5naWYiLz4nLAoJCQkJICAgYXJyYXkoJ2dyb3VwX2lkJz0+JG9uZWdyb3VwWydpZCddLAoJCQkJCSAnZGlzYWJsZV9idWZmZXInPT4xLAoJCQkJCSAnZGlzYWJsZV90aGVtZSc9PjEpLAoJCQkJICAgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJzeXN0ZW1pY29uIiB0aXRsZT0iJy4kdGhpcy0+TGFuZygndGl0bGVfcnNzZXhwb3J0JykuJyInKTsKCSAgICB9CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygncmVtb3ZlZ3JvdXBzJykgJiYKCSAgICAgIGNvdW50KCR0aGlzLT5HZXRVc2Vyc0luR3JvdXAoICRvbmVncm91cFsnaWQnXSApKSA9PSAwICkKCSAgICB7CgkgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0KCQkkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZG9fZGVsZXRlZ3JvdXAnLCAkcmV0dXJuaWQsCgkJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgICBhcnJheSAoJ2dyb3VwX2lkJyA9PiAkb25lZ3JvdXBbJ2lkJ10pLAoJCQkJICAgICAkdGhpcy0+TGFuZyAoJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnKSk7CgkgICAgfQoJICAKCSAgJHJvd2FycmF5W10gPSAkb25lcm93OwoJICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cgl9CgogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXMnLCRyb3dhcnJheSk7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzZm91bmQnLCAkdGhpcy0+TGFuZygnZ3JvdXBzZm91bmQnKSApOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lkdGV4dCcsICR0aGlzLT5MYW5nKCdpZCcpKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rlc2N0ZXh0JywgJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykpOwogICAgfQoKICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2xpc3Rncm91cHMnKSApCiAgICB7CiAgICAgICRwcm9wZGVmbnMgPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgICBpZiggaXNfYXJyYXkoJHByb3BkZWZucykgJiYgY291bnQoJHByb3BkZWZucykgPiAwICkKCXsKCSAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgCgkJCQkkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRkZ3JvdXAnLAoJCQkJCQkgICAkcmV0dXJuaWQsCgkJCQkJCSAgICR0aGlzLT5MYW5nKCdhZGRncm91cCcpKSk7Cgl9CgogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ltcG9ydGxpbmsnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9pbXBvcnRncm91cCcsCgkJCQkJICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2ltcG9ydGdyb3VwJykpKTsKICAgICAgCiAgICB9CgogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSggJ2dyb3VwbGlzdC50cGwnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_importusers.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKCi8vIEEgZnVuY3Rpb24gdG8gcmVhZCBhIGxpbmUgZnJvbSB0aGUgZmlsZQovLyB0cmltIGFueSBuZXdsaW5lIG9yIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBmcm9tIGl0Ci8vIGNsZWFyIGFueSBjb21tZW50cyBmcm9tIHRoZSBsaW5lCi8vIGFuZCByZXR1cm4gd2hhdCdzIGxlZnQuCmZ1bmN0aW9uIF9nZXRsaW5lKCYkZmgsJGNvbW1lbnRzID0gJy8vJykKewogICRpbmxpbmUgPSBmZ2V0cygkZmgsNDA5Nik7CiAgJHBvcyA9IHN0cnBvcygkaW5saW5lLCRjb21tZW50cyk7CiAgaWYoICRwb3MgIT09IEZBTFNFICkKICAgIHsKICAgICAgJGxpbmUgPSBzdWJzdHIoJGlubGluZSwwLCRwb3MpOwogICAgfQogIHJldHVybiB0cmltKCRpbmxpbmUpOwp9CgpmdW5jdGlvbiBfZXJyb3JvdXQoJHN0cikKewogIGVjaG8gJzxkaXYgY2xhc3M9ImVycm9yIj4nLiRzdHIuIjwvZGl2PlxuIjsKICBmbHVzaCgpOyBAb2JfZmx1c2goKTsKfQoKZnVuY3Rpb24gX3Jlc3VsdG91dCgkcHJvbXB0LCR2YWx1ZSkKewogIGVjaG8gJzxkaXYgY2xhc3M9InJlcG9ydGxpbmUiPic7CiAgZWNobyAnPHAgY2xhc3M9InByb21wdCI+Jy4kcHJvbXB0Lic8L3A+JzsKICBlY2hvICc8cCBjbGFzcz0idmFsdWUiPicuJHZhbHVlLic8L3A+JzsKICBlY2hvICc8L2Rpdj4nOwp9CgovLwovLyAxLiAgQ2hlY2sgdGhlIGlucHV0IHBhcmFtZXRlcnMKLy8gCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ltcG9ydGRlc3Rncm91cCddICkgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKSk7CiAgICByZXR1cm47CiAgfQoKJGtleSA9ICRpZC4naW5wdXRfaW1wb3J0dXNlcnNmaWxlJzsKaWYoICghaXNzZXQoICRfRklMRVNbJGtleV0gKSkgCiAgICB8fCAkX0ZJTEVTWyRrZXldWydzaXplJ10gPD0gMCAKICAgIHx8ICRfRklMRVNbJGtleV1bJ2Vycm9yJ10gIT0gMCApCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfdXBsb2FkJykpKTsKICAgIHJldHVybjsKICB9CiRncm91cHByb3BtYXAgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJHBhcmFtc1snaW5wdXRfaW1wb3J0ZGVzdGdyb3VwJ10gKTsKaWYoICRncm91cHByb3BtYXBbMF0gPT0gRkFMU0UgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9ub2dyb3VwcHJvcGVydGllcycpKSk7CiAgICByZXR1cm47CiAgfQokcHJvcGRlZm5zID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbnMoKTsKaWYoICEkcHJvcGRlZm5zICkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwnYWRtaW4nLAoJCQkgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfcHJvcGVydHlkZWZucycpKSk7CiAgICByZXR1cm47CiAgfQokaW1hZ2VEaXIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SOwokaW1hZ2VEaXIgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCAnZmV1c2VycycpOwoKLy8KLy8gMi4gIE9wZW4gdGhlIHVwbG9hZGVkIGZpbGUKLy8KJGhhbmRsZSA9IGZvcGVuKCRfRklMRVNbJGtleV1bJ3RtcF9uYW1lJ10sICJyIik7CmlmKCAhJGhhbmRsZSApCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnKSkpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIDMuICBSZWFkIHRoZSBmaXJzdCBsaW5lLCB2YWxpZGF0ZSBpdCdzIHN5bnRheCwgYW5kIGJ1aWxkIGEgZmllbGQgbWFwCi8vCiRmaXJzdGxpbmUgPSBfZ2V0bGluZSgkaGFuZGxlKTsKaWYoIHN1YnN0cigkZmlyc3RsaW5lLCcjIycpICE9IDAgKQogIHsKICAgICMgdGhlIHRvcCBsaW5lIGRvZXNuJ3QgaGF2ZSB0d28gcG91bmQgY2hhcnMKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWxlZm9ybWF0JykpKTsKICAgIHJldHVybjsKICB9CiRmaXJzdGxpbmUgPSBzdWJzdHIoJGZpcnN0bGluZSwyKTsKJHRtcG1hcCA9IGV4cGxvZGUoJywnLCRmaXJzdGxpbmUpOwppZiggY291bnQoJHRtcG1hcCkgPCAzICkKICB7CiAgICAjIGluc3VmZmljaWVudCBmaWVsZHMKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWxlZm9ybWF0JykpKTsKICAgIHJldHVybjsKICB9CiR0bXBtYXAyID0gYXJyYXkoKTsKJGk9MDsKZm9yZWFjaCggJHRtcG1hcCBhcyAkdG1wICkKewogIGlmKCBpc3NldCgkdG1wbWFwMlskdG1wXSkgKQogICAgewogICAgICAjIGR1cGxpY2F0ZSBmaWVsZCByZWZlcmVuY2UKICAgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCcpKSk7CiAgICAgIHJldHVybjsKICAgIH0KICAkdG1wbWFwMlskdG1wXSA9ICRpOwogICRpKys7Cn0KCgovLyAKLy8gNC4gIENoZWNrIHRoZSBmaWVsZCBtYXAgYWdhaW5zdCB0aGUgcmVxdWlyZWQgZmllbGRzLCBhbmQgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCi8vCgovLwovLyA0LjEgQ2hlY2sgZm9yIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIGV4cGlyZXMgZmllbGRzCiRoYXZlX3VzZXJuYW1lID0gRkFMU0U7CiRoYXZlX3Bhc3N3b3JkID0gRkFMU0U7CiRoYXZlX2V4cGlyZXMgID0gRkFMU0U7CmZvcmVhY2goICR0bXBtYXAyIGFzICRvbmVmaWVsZG5hbWUgPT4gJGluZGV4ICkKewogIGlmKCAkb25lZmllbGRuYW1lID09ICd1c2VybmFtZScgKQogICAgewogICAgICAkaGF2ZV91c2VybmFtZSA9IFRSVUU7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICBpZiggJG9uZWZpZWxkbmFtZSA9PSAncGFzc3dvcmQnICkKICAgIHsKICAgICAgJGhhdmVfcGFzc3dvcmQgPSBUUlVFOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgaWYoICRvbmVmaWVsZG5hbWUgPT0gJ2V4cGlyZXMnICkKICAgIHsKICAgICAgJGhhdmVfZXhwaXJlcyA9IFRSVUU7CiAgICAgIGNvbnRpbnVlOwogICAgfQp9CgovLwovLyA0LjIgY2hlY2sgZm9yIHJlcXVpcmVkIHByb3BlcnRpZXMKZm9yZWFjaCggJGdyb3VwcHJvcG1hcCBhcyAkb25lZ3JvdXBwcm9wICkKewogIGlmKCAkb25lZ3JvdXBwcm9wWydyZXF1aXJlZCddICE9IDIgKQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgLy8gcmVxdWlyZWQgZmllbGRzIG9ubHkKICAkZm91bmRfcmVxdWlyZWQgPSBGQUxTRTsKICBmb3JlYWNoKCAkdG1wbWFwMiBhcyAkb25lZmllbGRuYW1lICkKICAgIHsKICAgICAgaWYoICRvbmVmaWVsZG5hbWUgPT0gJG9uZWdyb3VwcHJvcFsnbmFtZSddICkKCXsKCSAgJGZvdW5kX3JlcXVpcmVkID0gVFJVRTsKCSAgYnJlYWs7Cgl9CiAgICB9CgogIGlmKCAkZm91bmRfcmVxdWlyZWQgPT09IEZBTFNFICkKICAgIHsKICAgICAgLy8gY291bGQgbm90IGZpbmQgcmVxdWlyZWQgZmllbGQgCiAgICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnLAoJCQkJCQkJJG9uZWdyb3VwcHJvcFsnbmFtZSddKSkpOwogICAgICByZXR1cm47CiAgICB9Cn0KaWYoICRoYXZlX3VzZXJuYW1lID09PSBGQUxTRSApCiAgewogICAgICAvLyBjb3VsZCBub3QgZmluZCByZXF1aXJlZCBmaWVsZCAKICAgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCcsCgkJCQkJCQkndXNlcm5hbWUnKSkpOwogICAgICByZXR1cm47CiAgfQoKLy8KLy8gNC4zIC0tIFJlbW92ZSBmcm9tIHRoZSBmaWVsZCBtYXAsIGFsbCBmaWVsZHMgdGhhdCB3ZSdyZSBub3QgZ29pbmcgdG8KLy8gICAgICAgIHByb2Nlc3MgKGhpZGRlbiBmaWVsZHMsIG9yIGZpZWxkcyB3ZSBkb24ndCBrbm93IGFib3V0CiRmaWVsZG1hcCA9IGFycmF5KCk7CmZvcmVhY2goICR0bXBtYXAyIGFzICRvbmVmaWVsZG5hbWUgPT4gJHZhbHVlICkKewogIGlmKCAkb25lZmllbGRuYW1lID09ICd1c2VybmFtZScgJiYgJGhhdmVfdXNlcm5hbWUgPT09IFRSVUUgKQogICAgewogICAgICAkZmllbGRtYXBbJG9uZWZpZWxkbmFtZV0gPSAkdmFsdWU7CiAgICAgIGNvbnRpbnVlOwogICAgfQogIGlmKCAkb25lZmllbGRuYW1lID09ICdwYXNzd29yZCcgJiYgJGhhdmVfcGFzc3dvcmQgPT09IFRSVUUgKQogICAgewogICAgICAkZmllbGRtYXBbJG9uZWZpZWxkbmFtZV0gPSAkdmFsdWU7CiAgICAgIGNvbnRpbnVlOwogICAgfQogIGlmKCAkb25lZmllbGRuYW1lID09ICdleHBpcmVzJyAmJiAkaGF2ZV9leHBpcmVzID09PSBUUlVFICkKICAgIHsKICAgICAgJGZpZWxkbWFwWyRvbmVmaWVsZG5hbWVdID0gJHZhbHVlOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgLy8gbm93IHNlZSBpZiBpdCdzIGEgcmVxdWlyZWQsb3B0aW9uYWwgb3IgaGlkZGVuIGZpZWxkLgogIC8vIHRoZXNlIGZpZWxkcyBzdGF5IGluIHRoZSBmaWVsZCBtYXAsIG90aGVycyBkb24ndC4KICAkb2sgPSBGQUxTRTsKICBmb3JlYWNoKCAkZ3JvdXBwcm9wbWFwIGFzICRvbmVncm91cHByb3AgKQogICAgewogICAgICBpZiggJG9uZWZpZWxkbmFtZSAhPSAkb25lZ3JvdXBwcm9wWyduYW1lJ10gKSBjb250aW51ZTsKCiAgICAgIGlmKCAkb25lZ3JvdXBwcm9wWydyZXF1aXJlZCddID09IDAgKSBjb250aW51ZTsKCiAgICAgICRvayA9IFRSVUU7CiAgICB9CiAgaWYoICRvayA9PT0gVFJVRSApCiAgICB7CiAgICAgICRmaWVsZG1hcFskb25lZmllbGRuYW1lXSA9ICR2YWx1ZTsKICAgIH0KfQoKCi8vCi8vIDUuICBQcmVwYXJlIGZvciBwcm9ncmVzcyBvdXRwdXQKLy8KZWNobyAnCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmRpdi5wcm9ncmVzcyB7CiAgY29sb3I6ICMzODQ2NTQ7ICAKfQpkaXYuZXJyb3IgewogIGNvbG9yOiAjY2MwMDAwOwp9CmRpdi5yZXBvcnRsaW5lIHsKICBjbGVhcjogbGVmdDsKICBwYWRkaW5nLXRvcDogMXB4OwogIHdpZHRoOiA5NyU7IAogIG92ZXJmbG93OiBoaWRkZW47Cn0KcC5wcm9tcHQgewogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgZmxvYXQ6IGxlZnQ7CiAgcGFkZGluZy10b3A6IDVweDsKICBwYWRkaW5nLXJpZ2h0OiA1cHg7CiAgd2lkdGg6IDE1ZW07CiAgbWFyZ2luLWJvdHRvbTogMC41ZW07Cn0KcC52YWx1ZSB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgZmxvYXQ6IGxlZnQ7CiAgcGFkZGluZy10b3A6IDVweDsKICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKfQo8L3N0eWxlPic7CmVjaG8gJwo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyIgYWxpZ249ImNlbnRlciI+JzsKCgovLwovLyA2LiAgQmVnaW4gSW1wb3J0aW5nIFJlY29yZHMKLy8KJGxpbmVubyA9IDE7IC8vIHdlJ3ZlIGFscmVhZHkgcmVhZCBvbmUgbGluZQokZXJyb3JzID0gMDsKJGFkZGVkICA9IDA7CndoaWxlKCAhZmVvZiggJGhhbmRsZSApICkKICB7CiAgICAvLwogICAgLy8gNi4xIEdldCBhIGxpbmUsIGFuZCBjb252ZXJ0IGl0IGludG8gZmllbGRzCiAgICAkbGluZSA9IF9nZXRsaW5lKCAkaGFuZGxlICk7CiAgICAkbGluZW5vKys7CiAgICBpZiggJGxpbmUgPT0gJycgKSBjb250aW51ZTsKICAgICRmaWVsZHMgPSBleHBsb2RlKCAnLCcsICRsaW5lICk7CiAgICAKICAgIC8vCiAgICAvLyA2LjIgZ2V0IHRoZSB1c2VybmFtZSwgcGFzc3dvcmQgYW5kIGV4cGlyZXMgZGF0YQogICAgLy8gICAgIGFuZCBhZGQgdGhlIHVzZXIKICAgICR1c2VybmFtZSA9ICRmaWVsZHNbJGZpZWxkbWFwWyd1c2VybmFtZSddXTsKICAgICRwYXNzd29yZCA9ICdjaGFuZ2VtZSc7ICAgICAgICAgICAgICAgLy8gdG9kbywgY3VzdG9taXphYmxlCiAgICAkZXhwaXJlcyAgPSBzdHJ0b3RpbWUoIisxMCB5ZWFycyIpOyAgIC8vIHRvZG8sIGN1c3RvbWl6YWJsZQogICAgaWYoICRoYXZlX3Bhc3N3b3JkICkKICAgICAgewoJLy8gZXhwZWN0IHBsYWludGV4dCBwYXNzd29yZAoJJHBhc3N3b3JkID0gJGZpZWxkc1skZmllbGRtYXBbJ3Bhc3N3b3JkJ11dOwogICAgICB9CiAgICBpZiggJGhhdmVfZXhwaXJlcyApCiAgICAgIHsKCS8vIGV4cGVjdCBhIHN0cmluZyB0aW1lCgkkZXhwaXJlcyA9IHN0cnRvdGltZSgkZmllbGRzWyRmaWVsZG1hcFsnZXhwaXJlcyddXSk7CiAgICAgIH0KICAgICRyZXN1bHQgPSAkdGhpcy0+QWRkVXNlciggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICk7CiAgICBpZiggJHJlc3VsdFswXSA9PT0gRkFMU0UgKQogICAgICB7CglfZXJyb3JvdXQoJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHVzZXJzJywkbGluZW5vLCRyZXN1bHRbMV0pKTsKCSRlcnJvcnMrKzsKCWNvbnRpbnVlOyAKICAgICAgfQogICAgJHVpZCA9ICRyZXN1bHRbMV07CiAgICAkdGhpcy0+QXNzaWduVXNlclRvR3JvdXAoJHVpZCwkcGFyYW1zWydpbnB1dF9pbXBvcnRkZXN0Z3JvdXAnXSk7CgogICAgLy8KICAgIC8vIDYuMyBkYXRhIHZhbGlkYXRpb24gb24gdGhlIHByb3BlcnRpZXMKICAgICRpbXBvcnRlcnJvciA9IEZBTFNFOwogICAgZm9yZWFjaCggJGZpZWxkbWFwIGFzICRrZXkgPT4gJGluZGV4ICkKICAgICAgewoJJHNldHByb3AgPSBUUlVFOwoJc3dpdGNoKCAka2V5ICkKCSAgewoJICBjYXNlICd1c2VybmFtZSc6CgkgIGNhc2UgJ3Bhc3N3b3JkJzoKCSAgY2FzZSAnZXhwaXJlcyc6CgkgICAgLy8gdGhlc2UgYXJlIGFscmVhZHkgaGFuZGxlZAoJICAgICRzZXRwcm9wID0gRkFMU0U7CgkgICAgYnJlYWs7CgoJICBkZWZhdWx0OgoJICAgIGJyZWFrOwoJICB9CgoJaWYoICRzZXRwcm9wID09IEZBTFNFICkKCSAgewoJICAgIGNvbnRpbnVlOwoJICB9CgoJJHByb3B2YWx1ZSA9ICRmaWVsZHNbJGluZGV4XTsKCgkvLyBub3cgd2UgaGF2ZSB0byBoYW5kbGUgc3BlY2lhbCBwcm9wZXJ0eSB0eXBlcwoJJGRlZm4gPSAnJzsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCAkcHJvcGRlZm5zICk7ICRpKysgKQoJICB7CgkgICAgaWYoICRrZXkgPT0gJHByb3BkZWZuc1skaV1bJ25hbWUnXSApCgkgICAgICB7CgkJJGRlZm4gPSAkcHJvcGRlZm5zWyRpXTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICRkZWZuID09ICcnICkKCSAgewoJICAgIC8vIHRvZG8sIGZhdGFsIGVycm9yCgkgICAgZWNobyAiREVCVUc6IEZBVEFMLCBjb3VsZCBub3QgZmluZCBwcm9wZXJ0eSBkZWZpbml0aW9uIGZvciAka2V5PGJyLz4iOwoJICB9Cglzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQoJICB7CgkgIGNhc2UgMDogLy8gdGV4dAoJICAgIC8vIHZhbGlkYXRlIGl0J3MgbGVuZ3RoCgkgICAgaWYoIHN0cmxlbigkcHJvcHZhbHVlKSA+ICRkZWZuWydtYXhsZW5ndGgnXSApCgkgICAgICB7CgkJX2Vycm9yb3V0KCR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnR1c2VycycsJGxpbmVubywKCQkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCcsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgMTogLy8gY2hlY2tib3gKCSAgICAvLyBjb252ZXJ0IHRoZSBzdHJpbmcgdG8gdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveAoJICAgIC8vIGFjdHVhbGx5LCBub3RoaW5nIHdlIGNhbiBkbyBoZXJlCgkgICAgYnJlYWs7CgoJICBjYXNlIDI6IC8vIGVtYWlsCgkgICAgLy8gdmFsaWRhdGUgdGhlIGxlbmd0aAoJICAgIGlmKCBzdHJsZW4oJHByb3B2YWx1ZSkgPiAkZGVmblsnbWF4bGVuZ3RoJ10gKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnLCRrZXkpKSk7CgkJJGltcG9ydGVycm9yID0gVFJVRTsKCQkkZXJyb3JzKys7CgkJYnJlYWs7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlIDM6IC8vIHRleHRhcmVhCgkgICAgLy8gbm8gdmFsaWRhdGlvbiBoZXJlCgkgICAgYnJlYWs7CgoJICBjYXNlIDQ6IC8vIGRyb3Bkb3duCgkgICAgLy8gY29udmVydCB0aGUgdmFsdWUgb2YgdGhlIHN0cmluZyB0byBhIHZhbHVlIGluIHRoZSBkcm9wZG93bgoJICAgICRvcHRpb25zID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgkgICAgJGZvdW5kZHJvcGRvd24gPSBGQUxTRTsKCSAgICBmb3JlYWNoKCAkb3B0aW9ucyBhcyAkb3B0dGV4dCA9PiAkb3B0bmFtZSApCgkgICAgICB7CgkJaWYoICRvcHR0ZXh0ID09ICRwcm9wdmFsdWUgKQoJCSAgewoJCSAgICAkcHJvcHZhbHVlID0gJG9wdG5hbWU7CgkJICAgICRmb3VuZGRyb3Bkb3duID0gVFJVRTsKCQkgIH0KCSAgICAgIH0KCSAgICBpZiggJGZvdW5kZHJvcGRvd24gPT0gRkFMU0UgKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZScsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCSAgICAvLyBjaGVjayBlYWNoIG9mIHRoZSB2YWx1ZXMgaW4gdGhlIHN0cmluZwoJICAgICRvcHRpb25zID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgkgICAgJHRtcHZhbHVlcyA9IGV4cGxvZGUoJzonLCRwcm9wdmFsdWUpOwoJICAgICR0bXAyID0gYXJyYXkoKTsKCSAgICBmb3JlYWNoKCAkdG1wdmFsdWVzIGFzICRvbmV2YWx1ZSApCgkgICAgICB7CgkJZm9yZWFjaCggJG9wdGlvbnMgYXMgJG9wdHRleHQgPT4gJG9wdG5hbWUgKQoJCSAgewoJCSAgICBpZiggJG9wdHRleHQgPT0gJG9uZXZhbHVlICkKCQkgICAgICB7CgkJCSR0bXAyW10gPSAkb3B0bmFtZTsKCQkJYnJlYWs7CgkJICAgICAgfQoJCSAgfQoJICAgICAgfQoJICAgIGlmKCBjb3VudCgkdG1wMikgIT0gY291bnQoJHRtcHZhbHVlcykgKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZScsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICAkcHJvcHZhbHVlID0gaW1wbG9kZSgnLCcsJHRtcDIpOwoJICAgIGJyZWFrOwoKCSAgY2FzZSA2OiAvLyBpbWFnZQoJICAgIC8vIGVuc3VyZSB0aGUgaW1hZ2UgZXhpc3RzCgkgICAgaWYoICFmaWxlX2V4aXN0cyggJGltYWdlRGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHByb3B2YWx1ZSApICkKCSAgICAgIHsKCQlfZXJyb3JvdXQoJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHVzZXJzJywkbGluZW5vLAoJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCcsJHByb3B2YWx1ZSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCSAgfQoKCWlmKCAhJGltcG9ydGVycm9yICkKCSAgewoJICAgICRyZXN1bHQgPSAkdGhpcy0+U2V0VXNlclByb3BlcnR5RnVsbCgka2V5LCRwcm9wdmFsdWUsJHVpZCk7CgkgICAgaWYoICEkcmVzdWx0ICkKCSAgICAgIHsKCQkvLyBlcnJvciBvY2N1cnJlZCBzZXR0aW5nIHRoZSBwcm9wZXJ0eQoJCS8vIHRvZG8sIG91dHB1dCB0aGUgZXJyb3IKCQkvLyBhbmQgcmVtb3ZlIHRoZSB1c2VyCgkJJGltcG9ydGVycm9yID0gVFJVRTsKCQkkZXJyb3JzKys7CgkgICAgICB9CgkgIH0KICAgICAgfSAvLyBmb3JlYWNoCgogICAgLy8gCiAgICAvLyA2LjQgQ2xlYW51cCwgU2VuZCB0aGUgZXZlbnQKICAgIC8vICAgICBhbmQgZG8gYXVkaXRpbmcKICAgIGlmKCAkaW1wb3J0ZXJyb3IgPT0gVFJVRSApCiAgICAgIHsKCS8vIGhhdmUgdG8gZG8gY2xlYW51cCBhZnRlciBhbiBlcnJvcgoJJHRoaXMtPkRlbGV0ZVVzZXJGdWxsKCR1aWQpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRhZGRlZCsrOwoKCS8vIHNlbmQgdGhlIGV2ZW50CgoJLy8gYWRkIHNvbWV0aGluZyB0byB0aGUgYXVkaXQgbG9nCiAgICAgIH0KCiAgICAKICB9IC8vIHdoaWxlCgoKLy8KLy8gNy4gIERpc3BsYXkgdGhlICdmaW5pc2hlZCcgZm9ybSwgYW5kIGNsb3NlIHRoZSBmaWxlCi8vCmZjbG9zZSgkaGFuZGxlKTsKJGZvcm10ZXh0ID0gJyc7CiRmb3JtdGV4dCAuPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLGZhbHNlLCcnLAoJCQkJICAgIGFycmF5KCdhY3RpdmVfdGFiJz0+J2FkbWluJykpOwokZm9ybXRleHQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygncHJvbXB0X3JldHVybicpKTsKJGZvcm10ZXh0IC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CQkJCSAgICAKZWNobyAnPC9kaXY+PCEtLSBwcm9ncmVzcyAtLT4nOwplY2hvICc8cD4nLiR0aGlzLT5MYW5nKCdpbXBvcnRfY29tcGxldGVfbXNnJykuJzwvcD4nOwpfcmVzdWx0b3V0KCR0aGlzLT5MYW5nKCdwcm9tcHRfbGluZXNwcm9jZXNzZWQnKSwkbGluZW5vKTsKX3Jlc3VsdG91dCgkdGhpcy0+TGFuZygncHJvbXB0X2Vycm9ycycpLCRlcnJvcnMpOwpfcmVzdWx0b3V0KCR0aGlzLT5MYW5nKCdwcm9tcHRfcmVjb3Jkc2FkZGVkJyksJGFkZGVkKTsKZWNobyAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+JzsKZWNobyAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kZm9ybXRleHQuJzwvcD4nOwplY2hvICc8L2Rpdj48IS0tIHBhZ2VvdmVyZmxvdyAtLT4nOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_lostusername_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKaWYoICEkZ0NtcyApIHJldHVybjsKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygndGVtcGxhdGVzJykgKSByZXR1cm47Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnYWRtaW5fc2V0bG9zdHVuX3RlbXBsYXRlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUxJywkdGhpcy0+TGFuZygnbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUxJywKCQkkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCSAgJHRoaXMtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19sb3N0dW5mb3JtJyksCgkJCQkgICAgICAgJ2xvc3R1bmZvcm0nKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZTInLCR0aGlzLT5MYW5nKCdsb3N0dW5fY29uZmlybV90ZW1wbGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZTInLAoJCSR0aGlzLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJICAkdGhpcy0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2xvc3R1bmZvcm1fY29uZmlybScpLAoJCQkJICAgICAgICdsb3N0dW5mb3JtX2NvbmZpcm0nKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRzJywKCQkJCQkgICR0aGlzLT5MYW5nKCdkZWZhdWx0cycpKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbG9zdHVuX3RlbXBsYXRlZm9ybS50cGwnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKLy8gZmlsbCBvdXQgdGhlIHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19zZXRwcmVmcycpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3B3ZmxkbGVuJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9wd2ZsZGxlbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wd2ZsZGxlbicsIAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfcHdmbGRsZW4nLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcsMjApLCAKCQkJCSAgICAgICAyLCAyICkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWlucHdsZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21pbnB3bGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21pbnB3bGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9taW5wd2xlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWlucHdsZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWF4cHdsZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21heHB3bGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heHB3bGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9tYXhwd2xlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWF4cHdsZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VuZmxkbGVuJywgJHRoaXMtPkxhbmcoJ3Byb21wdF91bmZsZGxlbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91bmZsZGxlbicsIAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdW5mbGRsZW4nLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcsMjApLCAKCQkJCSAgICAgICAyLCAyICkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWludW5sZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21pbnVubGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21pbnVubGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9taW51bmxlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbl91c2VybmFtZWxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWludW5sZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWF4dW5sZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21heHVubGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heHVubGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9tYXh1bmxlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWF4dW5sZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NpZ25pbl9idXR0b24nLCAkdGhpcy0+TGFuZygncHJvbXB0X3NpZ25pbl9idXR0b24nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2lnbmluX2J1dHRvbicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9zaWduaW5fYnV0dG9uJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbmluX2J1dHRvbicsJHRoaXMtPkxhbmcoJ2xvZ2luJykpLCAxNSwgMTUgKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zZXNzaW9udGltZW91dCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2Vzc2lvbnRpbWVvdXQnLCAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lucHV0X3Nlc3Npb250aW1lb3V0JywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcl9zZXNzaW9uX2V4cGlyZXMnKSwgNCwgNCApKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY29va2lla2VlcGFsaXZlJywKCQlSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfY29va2lla2VlcGFsaXZlJywgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19jb29raWVfa2VlcGFsaXZlJywKCQkkdGhpcy0+TGFuZygnaW5mb19jb29raWVfa2VlcGFsaXZlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlY29va2llc3RvcmVtZW1iZXInLAoJCVJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2lucHV0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJywKCQkJCQkgICAgICAgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWNvb2tpZXN0b3JlbWVtYmVyJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Nvb2tpZW5hbWUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfY29va2llbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb29raWVuYW1lJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfY29va2llbmFtZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnLCcnKSwyMCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZW9uZWdyb3VwJywgCgkJUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2lucHV0X3JlcXVpcmVvbmVncm91cCcsIDEsCgkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX29uZWdyb3VwJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJywgCgkJUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2lucHV0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnLCAxLAoJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX2VtYWlscycpKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJywgJHRoaXMtPkxhbmcoJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscycpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJywKCQlSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycsIDEsCgkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnLCAkdGhpcy0+TGFuZygnaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnLAoJCVJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJywgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycsICR0aGlzLT5MYW5nKCdpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnKSk7CgoKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2RmbHRncm91cCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfZGZsdGdyb3VwJykpOwokZ3JvdXBzMSA9ICR0aGlzLT5HZXRHcm91cExpc3QoKTsKJGdyb3VwcyA9IGFycmF5X21lcmdlKCBhcnJheSgiTm9uZSIgPT4gLTEpLCAkZ3JvdXBzMSApOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RmbHRncm91cCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcERvd24oICRpZCwgJ2lucHV0X2RmbHRncm91cCcsICRncm91cHMsIC0xLAoJCQkJCSAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncm91cCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLAoJCQkJCSAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpLCcnLCcnLAoJCQkJCSAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fc3VibWl0cHJlZnMnKSkpOwokc21hcnR5LT5hc3NpZ24gKCdjYW5jZWwnLAoJCSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsCgkJCQkJICAgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZXF1aXJlZG1hcmtlcicsCgkJJHRoaXMtPkxhbmcoJ3JlcXVpcmVkZmllbGRtYXJrZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZWRtYXJrZXInLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9yZXF1aXJlZGZpZWxkbWFya2VyJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpLDIsMikpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZWRjb2xvcicsCgkJJHRoaXMtPkxhbmcoJ3JlcXVpcmVkZmllbGRjb2xvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXF1aXJlZGNvbG9yJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfcmVxdWlyZWRmaWVsZGNvbG9yJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyksMTAsMTApKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2hpZGRlbm1hcmtlcicsCgkJJHRoaXMtPkxhbmcoJ2hpZGRlbmZpZWxkbWFya2VyJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbm1hcmtlcicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2hpZGRlbmZpZWxkbWFya2VyJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGlkZGVuX2ZpZWxkX21hcmtlcicsJyEhJyksMiwyKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9oaWRkZW5jb2xvcicsCgkJJHRoaXMtPkxhbmcoJ2hpZGRlbmZpZWxkY29sb3InKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaGlkZGVuY29sb3InLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9oaWRkZW5maWVsZGNvbG9yJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGlkZGVuX2ZpZWxkX2NvbG9yJywnZ3JlZW4nKSwxMCwxMCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZm9yZ290cHdfcGFnZScsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZvcmdvdHB3X3BhZ2UnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9mb3Jnb3Rwd19wYWdlJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkZm9yZ290cGFzc3dkJyksIDI1LCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2hhbmdlc2V0dGluZ3NfcGFnZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2NoYW5nZXNldHRpbmdzX3BhZ2UnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfY2hhbmdlc2V0dGluZ3MnKSwgMjUsIDUwKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2xvZ2luX3BhZ2UnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfbG9naW5fcGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9sb2dpbl9wYWdlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbG9naW5fcGFnZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicpLCAyNSwgNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbG9nb3V0X3BhZ2UnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfbG9nb3V0X3BhZ2UnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbG9nb3V0X3BhZ2UnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9sb2dvdXRfcGFnZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dvdXQnKSwgMjUsIDUwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZScsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hZnRlcl92ZXJpZnlfY29kZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2FmdGVyX3ZlcmlmeV9jb2RlJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2FmdGVydmVyaWZ5JyksIDI1LCA1MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnLAoJCVJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJywgMSwKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X3JlcGVhdGVkX2xvZ2lucycpKSk7Cgp7CiAgJHVzZXJtYW5pcHVsYXRvcnMgPSBhcnJheSgpOwogICRkaXIgPSBvcGVuZGlyKGRpcm5hbWUoX19GSUxFX18pKTsKICB3aGlsZSggZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGRpcikpICkKICAgIHsKICAgICAgaWYoIHByZWdfbWF0Y2goJy9cLmFwaVwucGhwJC8nLCRmaWxlKSA9PSAxICkKCXsKCSAgJGJuID0gYmFzZW5hbWUoJGZpbGUpOwoJICAkdXNlcm1hbmlwdWxhdG9yc1skYm5dID0gJGJuOwoJfQogICAgfQogIGNsb3NlZGlyKCRkaXIpOwogICRzbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJtYW5pcHVsYXRvcicsCgkJICAkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJtYW5pcHVsYXRvcicpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJtYW5pcHVsYXRvcicsCgkJICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnaW5wdXRfdXNlcm1hbmlwdWxhdG9yJywKCQkJCQkgICAgICAkdXNlcm1hbmlwdWxhdG9ycywgLTEsCgkJCQkJICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJtYW5pcHVsYXRvcicsJ0Zyb250RW5kVXNlcnMuYXBpLnBocCcpKSk7Cn0KCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLAoJCQkJJHRoaXMtPkxhbmcoJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLAoJCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLAoJCQkJCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcpLDQwKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucycsCgkJCQkkdGhpcy0+TGFuZygncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnLAoJCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucycsCgkJCQkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnKSw0MCw0MCkpOwoKCiRzbWFydHktPmFzc2lnbignaW5mb19zdGFyJywkdGhpcy0+TGFuZygnaW5mb19zdGFyJykpOwokbnVtID0gJHRoaXMtPkNvdW50VGVtcENvZGVSZWNvcmRzKCk7CmlmKCAkbnVtICkKICAgIHsKCQkkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9udW1yZXNldHJlY29yZHMnLAoJCQkJCQkkdGhpcy0+TGFuZygncHJvbXB0X251bXJlc2V0cmVjb3JkJykpOwoJCSRzbWFydHktPmFzc2lnbignZGF0YV9udW1yZXNldHJlY29yZHMnLCAkbnVtKTsgLy90b2RvCgkJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmVhbGwnLAoJCQkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmVhbGwnLAoJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcoJ3JlbW92ZWFsbCcpLAoJCQkJCQkJCQkJCQkgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwoJCSRzbWFydHktPmFzc2lnbignaW5wdXRfcmVtb3ZlMXdlZWsnLAoJCQkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmUxd2VlaycsCgkJCQkJCQkJCQkJCSAkdGhpcy0+TGFuZygncmVtb3ZlMXdlZWsnKSwKCQkJCQkJCQkJCQkJICdvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpIicpKTsKICAgICAgCgkJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcoJ3JlbW92ZTFtb250aCcpLAoJCQkJCQkJCQkJCQkgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kdGhpcy0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgfQokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWlucHJlZnMudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_propertiestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICAkbWVzc2FnZSA9ICcnOwogIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgewogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICB9CgogICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdwcm9wZXJ0aWVzJykpOwoKICAkZGVmbnMgPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZucygpOwogICRyb3dhcnJheSA9IGFycmF5KCk7CiAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICRrZXlzID0gYXJyYXlfa2V5cygkdGhpcy0+dHlwZXMpOwogIGZvcmVhY2goICRkZWZucyBhcyAkZGVmbiApCiAgICB7CiAgICAgICRwcm9wZ3JvdXBzID0gJHRoaXMtPkdldFByb3BlcnR5R3JvdXBSZWxhdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgogICAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHByb3AnKSkgCgl7CgkgICRvbmVyb3ctPm5hbWUgPSAKCSAgICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnZWRpdHByb3AnLCAkcmV0dXJuaWQsICRkZWZuWyduYW1lJ10sCgkJCQkgYXJyYXkoJ3Byb3BuYW1lJyA9PiAkZGVmblsnbmFtZSddKSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgJG9uZXJvdy0+bmFtZSA9ICRkZWZuWyduYW1lJ107Cgl9CiAgICAgICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAgICAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCRrZXlzWyRkZWZuWyd0eXBlJ11dKTsKICAgICAgJG9uZXJvdy0+bGVuZ3RoID0gJGRlZm5bJ2xlbmd0aCddOwogICAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHByb3AnKSkKCXsKCSAgJG9uZXJvdy0+ZWRpdGxpbmsgPQoJICAgICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdlZGl0cHJvcCcsICRyZXR1cm5pZCwKCQkJCSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSBhcnJheSgncHJvcG5hbWUnID0+ICRkZWZuWyduYW1lJ10pKTsKCgkgIGlmKCBjb3VudCgkcHJvcGdyb3VwcykgPT0gMCApCgkgICAgewoJICAgICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9CgkJJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2RvX2RlbGV0ZXByb3AnLCAkcmV0dXJuaWQsCgkJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCQkgICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSAgICAgYXJyYXkoJ3Byb3BuYW1lJyA9PiAkZGVmblsnbmFtZSddLCAncHJvcHR5cGUnID0+ICRkZWZuWyd0eXBlJ10pLCAKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fZGVsZXRlX3Byb3AnKSk7CgkgICAgfQoJfQoKICAgICAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKICAgICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogICAgfQoKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywkdGhpcy0+TGFuZygnbmFtZScpKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xlbmd0aHRleHQnLCR0aGlzLT5MYW5nKCdsZW5ndGgnKSk7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHR0ZXh0JywkdGhpcy0+TGFuZygncHJvbXB0JykpOwogICR0aGlzLT5zbWFydHktPmFzc2lnbigndHlwZXRleHQnLCR0aGlzLT5MYW5nKCdwcm9tcHRfdHlwZScpKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3BzJywkcm93YXJyYXkpOwogICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wc2ZvdW5kJywkdGhpcy0+TGFuZygncHJvcHNmb3VuZCcpKTsKCiAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdhZGRwcm9wJykgKQogICAgewogICAgICAvLyB0b2RvLCBhZGQgYSBwZXJtaXNzaW9uIGNoZWNrIGFyb3VuZCB0aGlzCiAgICAgIC8vIG1heWJlIGNyZWF0ZSBhbiAiZWRpdCBmcm9udGVuZHVzZXIgcHJvcGVydGllcyIgcGVybWlzc2lvbgogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkZHByb3AnLAoJCQkJCQkgICAkcmV0dXJuaWQsCgkJCQkJCSAgICR0aGlzLT5MYW5nKCdhZGRwcm9wJyksCgkJCQkJCSAgIGFycmF5KCksICcnLCBmYWxzZSwKCQkJCQkJICAgZmFsc2UsCgkJCQkJCSAgICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwogICAgfQoKCiAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcm9wZXJ0aWVzZm9ybS50cGwnKTsKCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_userstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICAvLyB0aGlzIHRhYiBoYXMgbWVyZWx5IG9uZSBtb2ZvIGxpc3Qgb2YgdXNlcyBhbmQgdGhlIGFiaWxpdHkgdG8gZWRpdCB0aGVtLCAKICAvLyBzZWUgZGV0YWlscyBhYm91dCB0aGVtLCBhbmQgdGhlbiBkZWxldGUgdGhlbQogIC8vIG1heWJlIHNlbmQgYW4gZW1haWwgdG8gdGhlbSB0b28gaWYgSSBnZXQgYXJvdW5kIHRvIGl0IHRoYXQgaXMuCgogIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnbGlzdHVzZXJzJykgKQogICAgewogICAgICAvLyBmaWx0ZXJpbmcgc3R1ZmYKICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXInXSkgKQoJewoJICBpZiggaXNzZXQoICRwYXJhbXNbJ2ZpbHRlcl9ncm91cCddICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2dyb3VwJywgJHBhcmFtc1snZmlsdGVyX2dyb3VwJ10gKTsKCSAgICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX3JlZ2V4J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfcmVnZXgnLCAkcGFyYW1zWydmaWx0ZXJfcmVnZXgnXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfbG9nZ2VkaW5vbmx5J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbG9nZ2VkaW5vbmx5JywgJHBhcmFtc1snZmlsdGVyX2xvZ2dlZGlub25seSddICk7CgkgICAgfQoJICBlbHNlCgkgIHsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2xvZ2dlZGlub25seScsIDApOwoJICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX2xpbWl0J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGltaXQnLCAkcGFyYW1zWydmaWx0ZXJfbGltaXQnXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfc29ydGJ5J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfc29ydCcsICRwYXJhbXNbJ2ZpbHRlcl9zb3J0YnknXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfcHJvcGVydHlzZWwnXSApICkKCSAgICB7CgkgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wc2VsJywgJHBhcmFtc1snZmlsdGVyX3Byb3BlcnR5c2VsJ10gKTsKCSAgICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX3Byb3BlcnR5c2VsJ10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfcHJvcHZhbCcsICRwYXJhbXNbJ2ZpbHRlcl9wcm9wZXJ0eSddICk7CgkgICAgfQoJfQogICAgICAkY3VyZ3JvdXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9ncm91cCcsICcnKTsKICAgICAgJGN1cnJlZ2V4ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfcmVnZXgnLCAnJyk7CgkgICRjdXJybG9nZ2VkaW5vbmx5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfbG9nZ2VkaW5vbmx5JywgMCk7CiAgICAgICRjdXJsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2xpbWl0JywgMTAwKTsKICAgICAgJGN1cnNvcnQgID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfc29ydCcsICcnKTsKICAgICAgJGN1cnByb3BzZWwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wc2VsJywgJ25vbmUnKTsKICAgICAgJGN1cnByb3B2YWwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wdmFsJywgJycpOyAKCQogICAgICAvLyBnZXQgYSBncm91cCBsaXN0IGZvciB0aGUgZmlsdGVyCiAgICAgIC8vIGl0IHNob3VsZCBiZSByZWFkeSB0byBnbyByaWdodCBpbnRvIHRoZSBkcm9wZG93biAoY29vbCBlaCkKICAgICAgJGdyb3VwczEgPSAkdGhpcy0+R2V0R3JvdXBMaXN0KCk7CiAgICAgICRncm91cHMgPSBhcnJheV9tZXJnZSggYXJyYXkoIkFsbCBHcm91cHMiID0+IC0xKSwgJGdyb3VwczEgKTsKCQogICAgICAvLyBhIHB1bGxkb3duIGxpc3QgZm9yIGxpbWl0cwogICAgICAkbGltaXRzID0gYXJyYXkoICcxMDAnID0+IDEwMCwKCQkgICAgICAgJzEwJyA9PiAxMCwKCQkgICAgICAgJzI1JyA9PiAyNSwKCQkgICAgICAgJzUwJyA9PiA1MCwKCQkgICAgICAgJzI1MCcgPT4gMjUwLAoJCSAgICAgICAnNTAwJyA9PiA1MDAgKTsKCiAgICAgIC8vIGEgcHVsbGRvd24gbGlzdCBmb3IgcHJvcGVydHkgZGVmaW5pdGlvbnMKICAgICAgJGRlZm5zMSA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiAgICAgICRkZWZucyA9IGFycmF5KCk7CiAgICAgICRkZWZuc1snTm9uZSddID0gJ25vbmUnOwogICAgICBmb3JlYWNoKCAkZGVmbnMxIGFzICRkZWYgKQoJewoJICAkZGVmbnNbJGRlZlsncHJvbXB0J11dID0gJGRlZlsnbmFtZSddOwoJfQoJCiAgICAgIC8vIGEgcHVsbGRvd24gbGlzdCBmb3Igc29ydGluZwogICAgICAkc29ydHMgPSBhcnJheSAoJ1VzZXJuYW1lJyA9PiAndXNlcm5hbWUnLAoJCSAgICAgICdVc2VybmFtZSAoZGVzY2VuZGluZyknID0+ICd1c2VybmFtZSBkZXNjJywKCQkgICAgICAnQ3JlYXRlIERhdGUnID0+ICdjcmVhdGVkYXRlJywKCQkgICAgICAnQ3JlYXRlIERhdGUgKGRlc2NlbmRpbmcpJyA9PiAnY3JlYXRlZGF0ZSBkZXNjJywKCQkgICAgICAnRXhwaXJ5IERhdGUnID0+ICdleHBpcmVzJywKCQkgICAgICAnRXhwaXJ5IERhdGUgKGRlc2NlbmRpbmcpJyA9PiAnZXhwaXJlcyBkZXNjJyk7CiAgICAgIC8vIG5vdyBzZXR1cCB0aGUgdGVtcGxhdGUgZmllbGRzCiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9maWx0ZXInLCAkdGhpcy0+TGFuZygnZmlsdGVyJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfc29ydCcsICR0aGlzLT5MYW5nKCdzb3J0JykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZGVmYXVsdGFkbWluJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfZ3JvdXAnLCAkdGhpcy0+TGFuZygnZ3JvdXAnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3VzZXJzZm91bmQnLCAkdGhpcy0+TGFuZygndXNlcnNmb3VuZCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAndXNlcnNpbmdyb3VwJywgJHRoaXMtPkxhbmcoJ3VzZXJzaW5ncm91cCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX2dyb3VwJywKCQkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3BEb3duKCAkaWQsICdmaWx0ZXJfZ3JvdXAnLCAkZ3JvdXBzLCAtMSwKCQkJCQkJCSAgICAgJGN1cmdyb3VwKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF91c2VyZmlsdGVyJywgJHRoaXMtPkxhbmcoJ3VzZXJmaWx0ZXInKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ2ZpbHRlcl9yZWdleCcsIAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmlsdGVyX3JlZ2V4JywKCQkJCQkJCSAkY3VycmVnZXgsIDIwLCAyMCApKTsKCiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9wcm9wZXJ0eWZpbHRlcnNlbCcsJHRoaXMtPkxhbmcoJ3Byb3BlcnR5ZmlsdGVyJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdmaWx0ZXJfcHJvcGVydHlzZWwnLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcERvd24oICRpZCwgJ2ZpbHRlcl9wcm9wZXJ0eXNlbCcsCgkJCQkJCQkgICAgICRkZWZucywgLTEsICRjdXJwcm9wc2VsICkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfcHJvcGVydHlmaWx0ZXInLCR0aGlzLT5MYW5nKCd2YWx1ZXJlZ2V4JykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdmaWx0ZXJfcHJvcGVydHknLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmlsdGVyX3Byb3BlcnR5JywKCQkJCQkJCSAkY3VycHJvcHZhbCwgMjAsIDIwICkpOwoKCSAgJHNtYXJ0eS0+YXNzaWduKCAncHJvbXB0X2xvZ2dlZGlub25seScsCgkJCQkJICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2dnZWRpbm9ubHknKSk7CgkgICRzbWFydHktPmFzc2lnbiggJ2ZpbHRlcl9sb2dnZWRpbm9ubHknLAoJCQkJCSAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZmlsdGVyX2xvZ2dlZGlub25seScsCgkJCQkJCQkJCQkJCSAgMSwkY3VycmxvZ2dlZGlub25seSkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfbGltaXQnLAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3VzZXJsaW1pdCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX2xpbWl0JywKCQkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3BEb3duKCAkaWQsICdmaWx0ZXJfbGltaXQnLCAkbGltaXRzLCAtMSwKCQkJCQkJCSAgICAgJGN1cmxpbWl0KSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9zb3J0YnknLAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3NvcnRieScpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX3NvcnRieScsCgkJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wRG93biggJGlkLCAnZmlsdGVyX3NvcnRieScsICRzb3J0cywgLTEsCgkJCQkJCQkgICAgICRjdXJzb3J0KSk7CgogICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlbGVjdCcsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnZmlsdGVyJywKCQkJCQkJCSAgJHRoaXMtPkxhbmcoJ2FwcGx5ZmlsdGVyJykpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oaWRkZW4nLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2FjdGl2ZV90YWInLCAndXNlcnMnKQoJCQkgICAgICApOwogICAgICAkc21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOwoKCiAgICAgICR1c2VycyA9ICR0aGlzLT5HZXRVc2Vyc0luR3JvdXAoICRjdXJncm91cCwgJGN1cnJlZ2V4LCAkY3VybGltaXQsICRjdXJzb3J0LAoJCQkJCQkJCQkgICAkY3VycHJvcHNlbCwgJGN1cnByb3B2YWwsICRjdXJybG9nZ2VkaW5vbmx5ICk7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJzKSApCgl7CgkgIC8vIGFuIGVycm9yIG9jY3VycmVkCgkgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgICAgICRkYi0+RXJyb3JNc2coKSApOwovLyAJICByZXR1cm47Cgl9CgogICAgICAvLyBnZXQgdGhlIHRvdGFsIG51bWJlciBvZiB1c2VycwogICAgICAkbnVtdXNlcnMgPSAkdGhpcy0+Q291bnRVc2Vyc0luR3JvdXAoICRjdXJncm91cCApOwoKICAgICAgJHJvd2FycmF5ID0gYXJyYXkoKTsKICAgICAgJHJvd2NsYXNzID0gInJvdzEiOwogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRzbWFydHktPmFzc2lnbignbnVtdXNlcnMnLCAkbnVtdXNlcnMgKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZXRleHQnLCAkdGhpcy0+TGFuZygndXNlcm5hbWUnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignZW1haWx0ZXh0JywgJHRoaXMtPkxhbmcoJ2VtYWlsJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCAkdGhpcy0+TGFuZygnc3RhdHVzJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2NyZWF0ZWQnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignZXhwaXJlc3RleHQnLCAkdGhpcy0+TGFuZygnZXhwaXJlcycpKTsKICAgICAgaWYoIGlzX2FycmF5KCR1c2VycykgKQoJewoJICBmb3JlYWNoKCAkdXNlcnMgYXMgJHJvdyApCgkgICAgewoJICAgICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoJICAgICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkgICAgICAkb25lcm93LT5jcmVhdGVkICA9ICRyb3dbJ2NyZWF0ZWRhdGUnXTsKCSAgICAgICRvbmVyb3ctPnVzZXJuYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHVzZXInLCAkcmV0dXJuaWQsICRyb3dbJ3VzZXJuYW1lJ10sCgkJCQkJCSAgICAgIGFycmF5KCd1c2VyX2lkJyA9PiAkcm93WydpZCddKSk7CgkgICAgICAkb25lcm93LT5leHBpcmVzICA9ICRyb3dbJ2V4cGlyZXMnXTsKCSAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnbGlzdHVzZXJzJykgKQoJCXsKCQkgICRvbmVyb3ctPmhpc3RvcnlsaW5rID0KCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3VzZXJoaXN0b3J5JywgJHJldHVybmlkLAoJCQkJICAgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnLAoJCQkJCQkJCQkJJHRoaXMtPkxhbmcoJ2hpc3RvcnknKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJICAgICAgIGFycmF5KCd1c2VyX2lkJz0+JHJvd1snaWQnXSkpOwoJCX0KCgkgICAgICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2VkaXR1c2VycycpICkKCQl7CgkJICAkb25lcm93LT5lZGl0bGluayA9CgkJICAgICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdlZGl0dXNlcicsICRyZXR1cm5pZCwKCQkJCSAgICAgICAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJCQkJCSAgICAkdGhpcy0+TGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgICAgIGFycmF5ICgndXNlcl9pZCcgPT4gJHJvd1snaWQnXSApKTsKCQkgIGlmKCAkcm93Wydsb2dnZWRpbiddICkKCQkJICB7CgkJCQkgICRvbmVyb3ctPmxvZ291dGxpbmsgPQoJCQkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwnYWRtaW5fbG9nb3V0JywkcmV0dXJuaWQsCgkJCQkJCQkJICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYmFjay5naWYnLAoJCQkJCQkJCSAkdGhpcy0+TGFuZygncHJvbXB0X2xvZ291dCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCQkJCWFycmF5KCd1c2VyX2lkJz0+JHJvd1snaWQnXSkpOwoJCQkgIH0KCgkJfQoJICAgICAgCgkgICAgICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ3JlbW92ZXVzZXJzJykgKQoJCXsKCQkgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwnZG9fZGVsZXRldXNlcicsJHJldHVybmlkLAoJCQkJICAgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCQkgICAgJHRoaXMtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgICAgIGFycmF5ICgndXNlcl9pZCcgPT4gJHJvd1snaWQnXSksCgkJCQkgICAgICAgJHRoaXMtPkxhbmcgKCdhcmV5b3VzdXJlJykpOwoJCX0KCSAgICAgIAoJICAgICAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKCSAgICAgICgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzID0gInJvdzIiIDogJHJvd2NsYXNzID0gInJvdzEiKTsKCSAgICB9Cgl9CgogICAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkcm93YXJyYXkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwogICAgfQoKICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2FkZHVzZXInKSApCiAgICB7CiAgICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZV9vbmVncm91cCcpID09IDAgfHwKCSAgY291bnQoJGdyb3VwczEpID4gMCApCgl7CgkgICRzbWFydHktPmFzc2lnbignYWRkbGluaycsIAoJCQkJICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRkdXNlcicsCgkJCQkJCSAgICAgICAkcmV0dXJuaWQsCgkJCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWRkdXNlcicpLAoJCQkJCQkgICAgICAgYXJyYXkoKSwgJycsIGZhbHNlLAoJCQkJCQkgICAgICAgZmFsc2UsCgkJCQkJCSAgICAgICAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCX0KICAgICAgZWxzZQoJewoJICAkc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAoJCQkJICAkdGhpcy0+TGFuZygnbm9ncm91cHMnKSk7Cgl9CiAgICB9CgogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSggJ3VzZXJsaXN0LnRwbCcgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.default_lostusernameform.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwokc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZScsJHBhcmFtc1snbWVzc2FnZSddKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkcGFyYW1zWydlcnJvciddKTsKICB9CgokZ2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnLC0xKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2xvc3R1bl9ncm91cCddKSApCiAgewogICAgJGdpZCA9ICR0aGlzLT5HZXRHcm91cElEKCAkcGFyYW1zWydsb3N0dW5fZ3JvdXAnXSApOwogICAgaWYoICRnaWQgPT0gZmFsc2UgKQogICAgICB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfZ3JvdXBub3Rmb3VuZCcpKTsKCXJldHVybjsKICAgICAgfQogIH0KZWxzZSBpZiggJGdpZCA8PSAwICkKICB7CiAgICAkZ3JvdXBzID0gJHRoaXMtPkdldEdyb3VwTGlzdCgpOwogICAgJHZhbHVlcyA9IGFycmF5X3ZhbHVlcygkZ3JvdXBzKTsKICAgICRnaWQgPSAkdmFsdWVzWzBdOwogIH0KCiRyZWxucyA9ICR0aGlzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ2lkICk7CmlmKCAhaXNfYXJyYXkoICRyZWxucyApIHx8ICRyZWxuc1swXSA9PT0gRkFMU0UgKQogIHsKICAgIGVjaG8gJzwhLS0gRkVVOiBFcnJvciAtICcuJHJlbG5zWzFdLicgLS0+JzsKICAgIHJldHVybjsKICB9CgokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhX3RpdGxlJywgJHRoaXMtPkxhbmcoJ2NhcHRjaGFfdGl0bGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhcHRjaGEnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfY2FwdGNoYScsJycsMTApKTsKICAgICRzbWFydHktPmFzc2lnbignY2FwdGNoYScsICRjYXB0Y2hhLT5nZXRDYXB0Y2hhKCkpOwogIH0KCi8vCi8vIEFkZCBhIHBhc3N3b3JkIGZpZWxkCi8vCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3Bhc3N3b3JkJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X3Bhc3N3b3JkJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Bhc3N3b3JkJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsJ2ZldV9pbnB1dF9wYXNzd29yZCcsJycsCgkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJykpLAoJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSk7CgovLyBOb3c6IHdlIG5lZWQgdG8gZ2V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG1hcmtlZCBhcyAnbG9zdHVuZmxhZycgCi8vIGFuZCBkaXNwbGF5IHRoZW0gaW4gdGhlIGZvcm0KJHJvd2FycmF5ID0gYXJyYXkoKTsKZm9yZWFjaCggJHJlbG5zIGFzICRvbmVyZWxuICkKewogIC8vIGlmIGl0J3Mgbm90IHJlcXVpcmVkIGhlcmUsIGRvbid0IGRvIGFueXRoaW5nCiAgaWYoICFpc3NldCgkb25lcmVsblsnbG9zdHVuZmxhZyddKSB8fCAkb25lcmVsblsnbG9zdHVuZmxhZyddIDw9IDAgKQogICAgY29udGludWU7CgogIGlmKCAkb25lcmVsblsncmVxdWlyZWQnXSA9PSAzIHx8ICRvbmVyZWxuWydyZXF1aXJlZCddID09IDQpIAogICAgewogICAgICAvLyBIbW0sIGhvdyBjYW4gYW4gYSBmaWVsZCB0aGF0J3MgcmVxdWlyZWQgaW4gbG9zdHVuIGJlIGhpZGRlbgogICAgICAvLyBnb3R0YSBmaWd1cmUgdGhhdCBvdXQuLi4uIHRvZG8KICAgICAgZWNobyAnPCEtLSBGRVU6IEVSUk9SIC0gQSBIaWRkZW4vcmVhZG9ubHkgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGxvc3QgdXNlcm5hbWU/IC0tPic7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAkZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm4oICRvbmVyZWxuWyduYW1lJ10gKTsKCiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwogICRvbmVyb3ctPm5hbWUgPSAnaW5wdXRfJy4kb25lcmVsblsnbmFtZSddOwogICRvbmVyb3ctPmlkICAgPSAkaWQuJG9uZXJvdy0+bmFtZTsKICAkb25lcm93LT5jb2xvciA9ICcnOwogICRvbmVyb3ctPm1hcmtlciA9ICcnOwogICRvbmVyb3ctPmNsYXNzbmFtZSA9ICRvbmVyZWxuWyduYW1lJ107CiAgJGFkZHRleHQgPSAnY2xhc3M9IicuJG9uZXJlbG5bJ25hbWUnXS4nIic7CiAgJG9uZXJvdy0+aGlkZGVuID0gUlJVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAKCQkJCQkJICAnZmV1X2hpZGRlbl8nLiRvbmVyZWxuWyduYW1lJ10sCgkJCQkJCSAgaW1wbG9kZSgnOycsCgkJCQkJICAgICAgYXJyYXkoJG9uZXJlbG5bJ25hbWUnXSwKCQkJCQkJICAgICRkZWZuWyd0eXBlJ10sCgkJCQkJCSAgICAkb25lcmVsblsncmVxdWlyZWQnXSkpKTsKCiAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKICAgIHsKICAgIGNhc2UgMDogLy8gdGV4dAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICcnLCRkZWZuWydsZW5ndGgnXSwKCQkJCQkJICRkZWZuWydtYXhsZW5ndGgnXSwKCQkJCQkJICRhZGR0ZXh0ICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLAoJCQkJCQkJICdmZXVfJy4kb25lcm93LT5uYW1lLAoJCQkJCQkJIDEsIDAsCgkJCQkJCQkgJGFkZHRleHQgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICcnLCRkZWZuWydsZW5ndGgnXSwKCQkJCQkJICRkZWZuWydtYXhsZW5ndGgnXSwKCQkJCQkJICRhZGR0ZXh0ICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMzogLy8gdGV4dCBhcmVhCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsICcnLCAKCQkJCQkJJ2ZldV8nLiRvbmVyb3ctPm5hbWUgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSA0OiAvLyBkcm9wZG93bgogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oCgkJCQkJCSAgICAkaWQsIAoJCQkJCQkgICAgJ2ZldV8nLiRvbmVyb3ctPm5hbWUsCgkJCQkJCSAgICAkdGhpcy0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLCAxKSwgCgkJCQkJCSAgICAtMSwgCgkJCQkJCSAgICAtMSwKCQkJCQkJICAgICRhZGR0ZXh0KTsKICAgICAgYnJlYWs7CgogICAgY2FzZSA1OiAvLyBtdWx0aXNlbGVjdAogICAgICB7Cgkkc2VsZWN0ZWQgPSBleHBsb2RlKCcsJywkdmFsKTsKCSRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KAoJCQkJCQkJJGlkLCAKCQkJCQkJCSdmZXVfJy4kb25lcm93LT5uYW1lLidbXScsIAoJCQkJCQkJJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSwgMSksIAoJCQkJCQkJJHNlbGVjdGVkLAoJCQkJCQkJJGRlZm5bJ2xlbmd0aCddLAoJCQkJCQkJJGFkZHRleHQpOwoJYnJlYWs7CiAgICAgIH0KCiAgICBjYXNlIDY6IC8vIGltYWdlCiAgICAgIC8vIHRoaXMgaXNuJ3QgYWxsb3dlZAogICAgICBicmVhazsKICAgIH0KICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kb25lcmVsblsnbmFtZSddOwogICRvbmVyb3ctPnR5cGUgPSAkZGVmblsndHlwZSddOwogICRvbmVyb3ctPmxlbmd0aCA9ICRkZWZuWydsZW5ndGgnXTsKICAkb25lcm93LT5tYXhsZW5ndGggPSAkZGVmblsnbWF4bGVuZ3RoJ107CiAgJG9uZXJvdy0+cHJvbXB0ID0gJGRlZm5bJ3Byb21wdCddOwogICRvbmVyb3ctPm5hbWUgPSAkb25lcmVsblsnbmFtZSddOwogICRyb3dhcnJheVtdID0gJG9uZXJvdzsKfQoKCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9sb3N0dXNlcm5hbWUnKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkkdGhpcy0+ZmVDcmVhdGVGb3JtU3RhcnQoJGlkLCdkb19sb3N0dXNlcm5hbWUnLAoJCQkJCSAkcmV0dXJuaWQsIHRydWUsICdwb3N0JywgJycsICcnLAoJCQkJCSAkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgokaGlkZGVuID0gJyc7CmlmKCBpc3NldCgkcGFyYW1zWydsb3N0dW5fZ3JvdXAnXSkgKSAKICB7CiAgICAkaGlkZGVuIC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2xvc3R1bl9ncm91cCcsJHBhcmFtc1snbG9zdHVuX2dyb3VwJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydyZXR1cm50byddICkgKQogIHsKICAgICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfcmV0dXJudG8nLAoJCQkJCSRwYXJhbXNbJ3JldHVybnRvJ10pOwogIH0KaWYoICRoaWRkZW4gIT0gJycgKSAKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJGhpZGRlbik7CiAgfQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1pZCcsJGlkKTsKJHNtYXJ0eS0+YXNzaWduKCdjb250cm9scycsICRyb3dhcnJheSk7CiRzbWFydHktPmFzc2lnbignY29udHJvbGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZldXNlcnNfbG9zdHVuZm9ybScpOwovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.user_changesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKJHVpZCA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkID09IGZhbHNlICkgCiAgewogICAgLy8gdXNlciBpc24ndCBsb2dnZWQgaW4KICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm90bG9nZ2VkaW4nKSk7CiAgICByZXR1cm47CiAgfQokcmVzdWx0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CmlmKCAkcmVzdWx0WzBdID09IEZBTFNFICkKICB7CiAgICAvLyB1c2VyIGlzbid0IGxvZ2dlZCBpbgogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgICRyZXN1bHRbMV0pOwogICAgcmV0dXJuOwogIH0KJHVpbmZvID0gJHJlc3VsdFsxXTsKCmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSApOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddICk7CiAgfQoKLy8gZ2V0IHRoZSB1c2VycyBtZW1iZXIgZ3JvdXBzCiRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR1aWQgKTsKaWYoICEkZ3JvdXBzICkKICB7CiAgICAvLyB0aGlzIHVzZXIgaXMgbm90IGEgbWVtYmVyIG9mIGFueSBncnVvcHMuLi4KICAgIC8vIGhhbmRsZSB0aGlzIGxhdGVyIHRvZG8KICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9ncm91cHMnKSk7CiAgICByZXR1cm47CiAgfQoKLy8gbm93IHdlIGhhdmUgdGhlIGdyb3Vwcywgd2UgYnVpbGQgYSB1bmlvbiBvZiBhbGwgb2YgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCiRwcm9wZXJ0aWVzID0gYXJyYXkoKTsKZm9yZWFjaCggJGdyb3VwcyBhcyAkZ3JwcmVjb3JkICkKewogICRnaWQgPSAkZ3JwcmVjb3JkWydncm91cGlkJ107CiAgJHByb3ByZWxhdGlvbnMgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdpZCApOwogICRwcm9wZXJ0aWVzID0gUlJVdGlsczo6YXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCggJHByb3BlcnRpZXMsICRwcm9wcmVsYXRpb25zICk7CiAgdWFzb3J0KCAkcHJvcGVydGllcywgCgkgIGFycmF5KCdSUlV0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JykgKTsKfQoKaWYoIGNvdW50KCRwcm9wZXJ0aWVzKSA9PSAwICkKICB7CiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfb25lZ3JvdXAnKSA9PSAxICkKICAgICAgewoJLy8gdGhpcyB1c2VyIGlzIG5vdCBhIG1lbWJlciBvZiBhbnkgZ3J1b3BzLi4uCgkvLyBoYW5kbGUgdGhpcyBsYXRlciB0b2RvCgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CgoKLy8gbm93IHdlJ3JlIHJlYWR5IHRvIHBvcHVsYXRlIHRoZSB0ZW1wbGF0ZQovLyBmaXJzdCB3ZSBwdXQgaW4gc3R1ZmYgdGhhdCBpcyByZXF1aXJlZCAodXNlcm5hbWUsIHBhc3N3b3JkLCBldGMsIGV0YykKJHJvd2FycmF5ID0gYXJyYXkoKTsKCi8vIG1ha2Ugc3VyZSB1c2VybmFtZSBpcyBpbiB0aGVyZQokdmFsID0gJHVpbmZvWyd1c2VybmFtZSddOwokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fdXNlcm5hbWUnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCd1c2VybmFtZScsMCwzMCwzKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygndXNlcm5hbWUnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmZXVfaW5wdXRfdXNlcm5hbWUnLCAkdmFsLAoJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwKCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLAoJCQkJCSAnZGlzYWJsZWQ9ImRpc2FibGVkIicpOwphcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCi8vIGFuZCBwYXNzd29yZAokdmFsID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgJHZhbCA9ICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddOwokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fcGFzc3dvcmQnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCdwYXNzd29yZCcsMCwzMCwzKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygncGFzc3dvcmQnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnZmV1X2lucHV0X3Bhc3N3b3JkJywgJHZhbCwKCQkJCQkgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCSAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKTsKJG9uZXJvdy0+YWRkdGV4dCA9JHRoaXMtPkxhbmcoJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJyk7CiRyb3dhcnJheVtdID0gJG9uZXJvdzsKCi8vIGFuZCBtYWtlIGhpbSByZXBlYXQgdGhlIHBhc3N3b3JkCiR2YWwgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICAkdmFsID0gJHBhcmFtc1snZmV1X2lucHV0X3JlcGVhdHBhc3N3b3JkJ107CiRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKJG9uZXJvdy0+Y29sb3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiRvbmVyb3ctPm1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJG9uZXJvdy0+aGlkZGVuID0gUlJVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnZmV1X2hpZGRlbl9yZXBlYXRwYXNzd29yZCcsCgkJCQkgICAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3JlcGVhdHBhc3N3b3JkJywwLDMwLDMpKSk7CiRvbmVyb3ctPnByb21wdCA9ICR0aGlzLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpOwokb25lcm93LT5jb250cm9sID0kdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdmZXVfaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAKCSAkdmFsLCAKCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokb25lcm93LT5hZGR0ZXh0ID0kdGhpcy0+TGFuZygnaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnKTsKYXJyYXlfcHVzaCggJHJvd2FycmF5LCAkb25lcm93ICk7CiAgICAgICAgCi8vIG5vdyBmb3IgdGhlIHByb3BlcnRpZXMKZm9yZWFjaCggJHByb3BlcnRpZXMgYXMgJHByb3AgKQp7CiAgJHJlYWRvbmx5dGV4dCA9ICcnOwogIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSA0ICkKICAgIHsKICAgICAgJHJlYWRvbmx5dGV4dD0ncmVhZG9ubHk9IjEiJzsKICAgIH0KICAkY2xhc3NuYW1lID0gJHByb3BbJ25hbWUnXTsKICAkYWRkdGV4dCA9ICRyZWFkb25seXRleHQuJyBjbGFzcz0iJy4kY2xhc3NuYW1lLiciJzsKCiAgLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCiAgJGRlZm4gPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZuKCAkcHJvcFsnbmFtZSddICk7CiAgJHZhbCA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydHlGdWxsKCAkcHJvcFsnbmFtZSddLCAkdWlkICk7CiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOyAKCiAgLy8gSGFuZGxlIGhpZGRlbiBmaWVsZHMgZGlmZmVyZW50bHkKICAkb25lcm93LT5uYW1lICAgICA9ICdpbnB1dF8nLiRwcm9wWyduYW1lJ107CiAgJG9uZXJvdy0+aWQgICAgICAgPSAkaWQuJG9uZXJvdy0+bmFtZTsKICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMyApCiAgICB7CiAgICAgICRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fJy4kcHJvcFsnbmFtZSddLAoJCQkJCQkgICAgICBpbXBsb2RlKCI7IixhcnJheSgkcHJvcFsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkJCSRkZWZuWydsZW5ndGgnXSwkcHJvcFsncmVxdWlyZWQnXSwkdmFsKSkpOwkKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnZmV1X2lucHV0XycuJHByb3BbJ25hbWUnXSwkdmFsKTsJCQkJCQkJCSAgIAkJCQkgICAKICAgICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgICBjb250aW51ZTsKICAgIH0KCiAgJGNvbG9yID0gJyc7CiAgaWYoICRwcm9wWydyZXF1aXJlZCddID09IDIgKSAkY29sb3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiAgJG1hcmtlciA9ICcnOwogIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSAyICkgJG1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgJG9uZXJvdy0+cmVxdWlyZWQgPSAoJHByb3BbJ3JlcXVpcmVkJ10gPT0gMik7CiAgJG9uZXJvdy0+c3RhdHVzICAgPSAkcHJvcFsncmVxdWlyZWQnXTsKICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgJG9uZXJvdy0+Y2xhc3NuYW1lID0gJGNsYXNzbmFtZTsKICAkb25lcm93LT5oaWRkZW4gICA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fJy4kcHJvcFsnbmFtZSddLAoJCQkJCSBpbXBsb2RlKCI7IixhcnJheSgkcHJvcFsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAkZGVmblsnbGVuZ3RoJ10sJHByb3BbJ3JlcXVpcmVkJ10sJHZhbCkpKTsKCiAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKICAgIHsKICAgIGNhc2UgMDogLy8gdGV4dAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgCgkJCQkJCSAkZGVmblsnbWF4bGVuZ3RoJ10sCgkJCQkJCSAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAKCQkJCQkJCSAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJCSAxLCAkdmFsLAoJCQkJCQkJICRhZGR0ZXh0KTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgCgkJCQkJCSAkZGVmblsnbWF4bGVuZ3RoJ10sCgkJCQkJCSAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMzogLy8gdGV4dGFyZWEKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdmFsLCAKCQkJCQkgICAgICAgJ2ZldV8nLiRvbmVyb3ctPm5hbWUpOwogICAgICBicmVhazsKCiAgICBjYXNlIDQ6IC8vIGRyb3Bkb3duCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigKCQkJCQkJICAgICRpZCwgCgkJCQkJCSAgICAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICAgICR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgICR2YWwsCgkJCQkJCSAgICAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNTogLy8gbXVsdGlzZWxlY3QKICAgICAgewoJJHNlbGVjdGVkID0gZXhwbG9kZSgnLCcsJHZhbCk7Cgkkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgKCQkJCQkJCSRpZCwgCgkJCQkJCQknZmV1XycuJG9uZXJvdy0+bmFtZS4nW10nLCAKCQkJCQkJCSR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJCSRzZWxlY3RlZCwKCQkJCQkJCSRkZWZuWydsZW5ndGgnXSwKCQkJCQkJCSRhZGR0ZXh0KTsKCWJyZWFrOwogICAgICB9CgogICAgY2FzZSA2OiAvLyBpbWFnZQogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRkZXN0RGlyMSA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiAgICAgICRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAkZGVzdERpcjIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiAgICAgICRkZXN0RGlyMiAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAkZmlsZTEgPSAkZGVzdERpcjEuJHZhbDsKICAgICAgJGZpbGUyID0gJGRlc3REaXIyLiR2YWw7CiAgICAgIGlmKCBpc19yZWFkYWJsZSggJGZpbGUxICkgJiYgaXNfZmlsZSgkZmlsZTEpICkKCXsKCSAgJG9uZXJvdy0+aW1hZ2UgPSAnPGltZyBzcmM9IicuJGZpbGUyLiciIGFsdD0iJy4kdmFsLiciLz4nOwoJICAkb25lcm93LT5wcm9tcHQyID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9jbGVhcicpOwoJICAkb25lcm93LT5jb250cm9sMiA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwKCQkJCQkJCSAnZmV1XycuJG9uZXJvdy0+bmFtZS4nX2NsZWFyJywKCQkJCQkJCSAnY2xlYXInLCcnKTsKCX0KICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdmZXVfJy4kb25lcm93LT5uYW1lKTsKICAgICAgYnJlYWs7CiAgICB9CiAgJG9uZXJvdy0+bGFiZWxmb3IgPSAkaWQuJHByb3BbJ25hbWUnXTsKICAkb25lcm93LT50eXBlID0gJGRlZm5bJ3R5cGUnXTsKICAkb25lcm93LT5sZW5ndGggPSAkZGVmblsnbGVuZ3RoJ107CiAgJG9uZXJvdy0+bWF4bGVuZ3RoID0gJGRlZm5bJ21heGxlbmd0aCddOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCi8vIGZpbGwgaW4gdGhlIHZhcmlhYmxlcyBmb3IgdGhlIHRlbXBsYXRlCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCd1c2VyX3NldHRpbmdzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJICAgICAgJHRoaXMtPmZlQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fdXNlcmNoYW5nZXNldHRpbmdzJywKCQkJCQkgICAgICAgJHJldHVybmlkLCB0cnVlLCAncG9zdCcsIAoJCQkJCSAgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScgKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZmV1X3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZmV1X2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgppZiggaXNzZXQoICRwYXJhbXNbJ3JldHVybnRvJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZldV9pbnB1dF9yZXR1cm50bycsCgkJCQkJCSAgICRwYXJhbXNbJ3JldHVybnRvJ10pKTsKICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybWlkJywkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xzJywgJHJvd2FycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9sY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19jaGFuZ2VzZXR0aW5nc2Zvcm0nKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.user_forgotpassword.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSB0cmltKCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddICk7CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkcGFyYW1zWydtZXNzYWdlJ10gKTsKICB9CgppZiggIWlzc2V0KCAkcGFyYW1zWydza2lwZm9ybWRpc3BsYXknXSApICkKICB7CiAgICAvLyBzZXR1cCB0aGUgdGVtcGxhdGUKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAkdGhpcy0+ZmVDcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RvX2ZvcmdvdHB3JywgJHJldHVybmlkICkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywKCQkJICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLAoJCQkgICR0aGlzLT5MYW5nKCdmb3Jnb3RwdycpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbG9zdHB3X21lc3NhZ2UnLAoJCQkgICR0aGlzLT5MYW5nKCdsb3N0cHdfbWVzc2FnZScpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywKCQkJICAkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9sYWJlbCcsJGlkKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdXNlcm5hbWUnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3VzZXJuYW1lJywKCQkJCQkJICAkdXNlcm5hbWUsIAoJCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcpLCAKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1sncmV0dXJudG8nXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdpbnB1dF9yZXR1cm50bycsJHBhcmFtc1sncmV0dXJudG8nXSkpOwogICAgICB9CiAgfQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoICdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZm9ybScgKTsKCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.user_loginform.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKZ2xvYmFsICRnQ21zOwokc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCi8vIGJ1aWxkIHRoZSBmb3JtCiRjYXB0Y2hhID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwppZiggaXNfb2JqZWN0KCRjYXB0Y2hhKSAmJiAhaXNzZXQoJHBhcmFtc1snbm9jYXB0Y2hhJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhcHRjaGFfdGl0bGUnLCAkdGhpcy0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CiAgfQoKJHVzZXJuYW1lID0gKGlzc2V0KCRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddKT8kcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXTonJyk7CiRwYXNzd29yZCA9IChpc3NldCgkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSk/JHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ106JycpOwokcmVtZW1iZXJtZSA9IChpc3NldCgkcGFyYW1zWydmZXVfcmVtZW1iZXJtZSddKT8kcGFyYW1zWydmZXVfcmVtZW1iZXJtZSddOicnKTsKCiRzbWFydHktPmFzc2lnbignZXJyb3InLCBpc3NldCgkcGFyYW1zWydlcnJvciddKSA/ICRwYXJhbXNbJ2Vycm9yJ10gOiAnJyk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgCgkJJHRoaXMtPmZlQ3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19sb2dpbicsICRyZXR1cm5pZCApKTsKJHNtYXJ0eS0+YXNzaWduKCdpZF91c2VybmFtZScsJGlkLidmZXVfaW5wdXRfdXNlcm5hbWUnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlcm5hbWUnLCAkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1X2lucHV0X3VzZXJuYW1lJywKCQkJCQkkdXNlcm5hbWUsCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xhYmVsJywgJGlkICk7CiRzbWFydHktPmFzc2lnbignaWRfcGFzc3dvcmQnLCRpZC4nZmV1X2lucHV0X3Bhc3N3b3JkJyk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3Bhc3N3b3JkJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9wYXNzd29yZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYXNzd29yZCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnZmV1X2lucHV0X3Bhc3N3b3JkJywKCQkJCQkJICRwYXNzd29yZCwgCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwgCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlbWVtYmVybWUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfcmVtZW1iZXJtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpZF9yZW1lbWJlcm1lJywkaWQuJ2ZldV9yZW1lbWJlcm1lJyk7CgppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWNvb2tpZXN0b3JlbWVtYmVyJykgJiYKICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJykgIT0gJycgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcmVtZW1iZXJtZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZmV1X3JlbWVtYmVybWUnLDEsCgkJCQkJICAgICAgICRyZW1lbWJlcm1lKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdWJtaXQnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdmZXVfYnRuX2xvZ2luJywKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25pbl9idXR0b24nLCR0aGlzLT5MYW5nKCdsb2dpbicpKSwgJ2NsYXNzPSJzaWduaW5fYnV0dG9uIicpKTsKCiRwYXJhbXNbJ3JldHVybnRvJ10gPSAkcmV0dXJuaWQ7CgokcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRmb3Jnb3RwYXNzd2QnKTsKaWYoICRwYWdlICkKICB7CiAgICAkcGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKICAgIGlmKCAkcGlkID09IGZhbHNlICkKICAgICAgewogICAgICAgICRzbWFydHktPmFzc2lnbignbGlua19mb3Jnb3QnLCc8IS0tIEVycm9yIGNvdWxkIG5vdCBkZXRlcm1pbmUgcGFnZSBmcm9tIGFsaWFzL2lkIC0tPicpOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwogICAgICAgICRzbWFydHktPmFzc2lnbignbGlua19mb3Jnb3QnLAoJCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRwaWQsCgkJCQkJICAkdGhpcy0+TGFuZygnZm9yZ290cHcnKSwKCQkJCQkgICRwYXJhbXMpKTsKCgkkcGFyYW1zWydmb3JtJ10gPSAnbG9zdHVzZXJuYW1lJzsKCSRzbWFydHktPmFzc2lnbignbGlua19sb3N0dW4nLAoJCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRwaWQsCgkJCQkJICAkdGhpcy0+TGFuZygnbG9zdHVzZXJuYW1lJyksCgkJCQkJICAkcGFyYW1zKSk7CiAgICAgIH0KICB9CiBlbHNlIAogICB7CiAgICAgJHBhcmFtc1snZm9ybSddID0gJ2ZvcmdvdHB3JzsKICAgICAkc21hcnR5LT5hc3NpZ24oJ2xpbmtfZm9yZ290JywKCQkgICAgICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCRyZXR1cm5pZCwnZGVmYXVsdCcsCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2ZvcmdvdHB3JyksCgkJCQkgICAgICAgJHBhcmFtcykpOwogICAgICRwYXJhbXNbJ2Zvcm0nXSA9ICdsb3N0dXNlcm5hbWUnOwogICAgICRzbWFydHktPmFzc2lnbignbGlua19sb3N0dW4nLAoJCSAgICAgJHRoaXMtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsJHJldHVybmlkLCdkZWZhdWx0JywKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnbG9zdHVzZXJuYW1lJyksCgkJCQkgICAgICAgJHBhcmFtcykpOwogICB9CmlmIChpc3NldCgkcGFyYW1zWydvbmx5X2dyb3VwcyddKSkgewogICRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvbmx5X2dyb3VwcycsICRwYXJhbXNbJ29ubHlfZ3JvdXBzJ10pIC4gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiB9CiBlbHNlIHsKICAgJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiB9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19sb2dpbmZvcm0nKTsKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKCmNsYXNzIFJSVXRpbHMKewogIGZ1bmN0aW9uIGFycmF5X2tleV9leGlzdHNfc3Vic3RyKCAkYXJyLCAkZXhwciApCiAgewogICAgJGtleXMgPSBhcnJheV9rZXlzKCAkYXJyICk7CiAgICBmb3JlYWNoKCAka2V5cyBhcyAkayApCiAgICAgIHsKCWlmKCBzdHJzdHIoICRrLCAkZXhwciApICkgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGFycmF5X2ZpbmRfa2V5X3JlZ2V4cCggJGFyciwgJGV4cHIgKQogIHsKICAgICRrZXlzID0gYXJyYXlfa2V5cyggJGFyciApOwogICAgZm9yZWFjaCggJGtleXMgYXMgJGsgKQogICAgICB7CglpZiggcHJlZ19tYXRjaCggJGV4cHIsICRrICkgKSByZXR1cm4gJGs7CiAgICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgoKICBmdW5jdGlvbiBhcnJheV9tZXJnZV9ieV9uYW1lX3JlcXVpcmVkKCAkYXJyMSwgJGFycjIgKQogIHsKICAgICR4eHJlc3VsdCA9IGFycmF5KCk7CiAgICAvLyBhZGQgaXRlbXMgY29tbW9uIHRvIGFycjEgYW5kIGFycjIgCiAgICAvLyBidXQgZmF2b3IgcmVxdWlyZWQgaXRlbXMKICAgIGlmKCAhaXNfYXJyYXkoICRhcnIxICkgfHwgIWlzX2FycmF5KCAkYXJyMiApICkKICAgICAgewoJcmV0dXJuOwogICAgICB9CiAgICBmb3JlYWNoKCAkYXJyMSBhcyAkYTEgKQogICAgICB7Cglmb3JlYWNoKCAkYXJyMiBhcyAkYTIgKQoJICB7CgkgICAgaWYoICRhMVsnbmFtZSddID09ICRhMlsnbmFtZSddICkgCgkgICAgICB7CgkJaWYoICRhMVsncmVxdWlyZWQnXSA9PSAyICkgCgkJICB7CgkJICAgIGFycmF5X3B1c2goICR4eHJlc3VsdCwgJGExICk7CgkJICAgIGJyZWFrOwoJCSAgfQoJCWVsc2UgCgkJICB7CgkJICAgIGFycmF5X3B1c2goICR4eHJlc3VsdCwgJGEyICk7CgkJICAgIGJyZWFrOwoJCSAgfQoJICAgICAgfSAgICAKCSAgfQogICAgICB9CiAgCiAgICAvLyBhZGQgaXRlbXMgaW4gYXJyMSBub3QgaW4gcmVzdWx0CiAgICBmb3JlYWNoKCAkYXJyMSBhcyAkYTEgKQogICAgICB7CgkkZm91bmQgPSBmYWxzZTsKCWZvcmVhY2goICR4eHJlc3VsdCBhcyAkcmVzICkKCSAgewoJICAgIGlmKCAkYTFbJ25hbWUnXSA9PSAkcmVzWyduYW1lJ10gKQoJICAgICAgewoJCSRmb3VuZCA9IHRydWU7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAhJGZvdW5kICkKCSAgewoJICAgIGFycmF5X3B1c2goICR4eHJlc3VsdCwgJGExICk7CgkgIH0KICAgICAgfQogIAogICAgLy8gYWRkIGl0ZW1zIGluIGFycjIgbm90IGluIHJlc3VsdAogICAgZm9yZWFjaCggJGFycjIgYXMgJGEyICkKICAgICAgewoJJGZvdW5kID0gZmFsc2U7Cglmb3JlYWNoKCAkeHhyZXN1bHQgYXMgJHJlcyApCgkgIHsKCSAgICBpZiggJGEyWyduYW1lJ10gPT0gJHJlc1snbmFtZSddICkKCSAgICAgIHsKCQkkZm91bmQgPSB0cnVlOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CglpZiggISRmb3VuZCApCgkgIHsKCSAgICBhcnJheV9wdXNoKCAkeHhyZXN1bHQsICRhMiApOwoJICB9CiAgICAgIH0KICAgIHJldHVybiAkeHhyZXN1bHQ7CiAgfQoKCiAgZnVuY3Rpb24gY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5KCAkZTEsICRlMiApCiAgewogICAgaWYoICRlMVsnc29ydF9rZXknXSA8ICRlMlsnc29ydF9rZXknXSApCiAgICAgIHsKCXJldHVybiAtMTsKICAgICAgfQogICAgZWxzZSBpZiggJGUxWydzb3J0X2tleSddID4gJGUyWydzb3J0X2tleSddICkKICAgICAgewoJcmV0dXJuIDE7CiAgICAgIH0KICAgIHJldHVybiAwOwogIH0KCgogIGZ1bmN0aW9uIGV4cGxvZGVfd2l0aF9rZXkoJHN0ciwgJGluZ2x1ZT0nPScsICRvdXRnbHVlPScmJykKICB7CiAgICAkcmV0ID0gYXJyYXkoKTsKICAgICRhMSA9IHNwbGl0KCRvdXRnbHVlLCRzdHIpOwogICAgZm9yZWFjaCggJGExIGFzICRhMiApCiAgICAgIHsKCWxpc3QoICRrLCAkdiApID0gc3BsaXQoICRpbmdsdWUsICRhMiApOwoJJHJldFsgJGsgXSA9ICR2OwogICAgICB9CiAgICByZXR1cm4gJHJldDsKICB9CgoKICBmdW5jdGlvbiBmaW5kX2luZGV4X29mX3ZhbHVlKCAkZGF0YSwgJHZhbHVlLCAkZGZsdCApCiAgewogICAgJGkgPSAwOwogICAgZm9yZWFjaCggJGRhdGEgYXMgJGs9PiR2ICkKICAgICAgewoJaWYoICR2ID09ICR2YWx1ZSApCgkgIHsKCSAgICByZXR1cm4gJGk7CgkgIH0KCSRpKys7CiAgICAgIH0KICAgIHJldHVybiAkZGZsdDsKICB9CgoKICBmdW5jdGlvbiBpbXBsb2RlX3dpdGhfa2V5KCRhc3NvYywgJGluZ2x1ZSA9ICc9JywgJG91dGdsdWUgPSAnJicpCiAgewogICAgJHJldHVybiA9IG51bGw7CiAgICBmb3JlYWNoICgkYXNzb2MgYXMgJHRrID0+ICR0dikgJHJldHVybiAuPSAkb3V0Z2x1ZS4kdGsuJGluZ2x1ZS4kdHY7CiAgICByZXR1cm4gc3Vic3RyKCRyZXR1cm4sc3RybGVuKCRvdXRnbHVlKSk7CiAgfQoKCgogIGZ1bmN0aW9uIG15Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICRuYW1lLCAkdmFsdWU9JycsICRzZWxlY3RlZHZhbHVlPScnLCAKCQkJCSAkYWRkdHRleHQ9JycpCiAgewogICAgJHRleHQgPSAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSInLiRpZC4kbmFtZS4nIiB2YWx1ZT0iJy4kdmFsdWUuJyInOwogICAgJGFyciA9IHNwbGl0KCIsIiwkc2VsZWN0ZWR2YWx1ZSk7CiAgICBmb3JlYWNoKCAkYXJyIGFzICRhICkKICAgICAgewoJaWYgKCRhID09ICR2YWx1ZSkKCSAgewoJICAgICR0ZXh0IC49ICcgJyAuICdjaGVja2VkPSJjaGVja2VkIic7CgkgIH0KICAgICAgfQogICAgaWYgKCRhZGR0dGV4dCAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyAnLiRhZGR0dGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gIiAvPlxuIjsKICAgIHJldHVybiAkdGV4dDsKICB9CgogIGZ1bmN0aW9uIG15Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAkbmFtZSwgJHZhbHVlPScnLCAkaW1hZ2U9JycsICRhZGR0dGV4dD0nJykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkdGV4dCA9ICc8aW5wdXQgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbHVlLiciIHR5cGU9JzsKICAgIGlmICgkaW1hZ2UgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICciaW1hZ2UiJzsKCSRpbWcgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGltYWdlOwoJJHRleHQgLj0gJyBzcmM9IicuJGltZy4nIic7CiAgICAgIH0KICAgIGVsc2UgCiAgICAgIHsKCSR0ZXh0IC49ICcic3VibWl0Iic7CiAgICAgIH0KICAgIGlmICgkYWRkdHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdHRleHQ7CiAgICAgIH0KICAgICR0ZXh0IC49ICcgLz4nOwogICAgcmV0dXJuICR0ZXh0IC4gIlxuIjsKICB9CgoKICBmdW5jdGlvbiBteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICRuYW1lLCAkdmFsdWU9JycsICRhZGR0ZXh0PScnLCAkZGVsaW09JywnKQogIHsKICAgIGlmKCBpc19hcnJheSggJHZhbHVlICkgKQogICAgICB7CgkkdmFsID0gUlJVdGlsczo6aW1wbG9kZV93aXRoX2tleSggJHZhbHVlICk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHZhbCA9ICR2YWx1ZTsKICAgICAgfQogICAgJHZhbCA9IHN0cl9yZXBsYWNlKCciJywgJyZxdW90OycsICR2YWwpOwogICAgJHRleHQgPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJy4kaWQuJG5hbWUuJyIgdmFsdWU9IicuJHZhbC4nIic7CiAgICBpZiAoJGFkZHRleHQgIT0gJycpCiAgICAgIHsKCSR0ZXh0IC49ICcgJy4kYWRkdGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gIiAvPlxuIjsKICAgIHJldHVybiAkdGV4dDsKICB9CgogIGZ1bmN0aW9uIGlzX2Fzc29jaWF0aXZlKCYkYXJyYXkpewogICAgaWYgKCFpc19hcnJheSgkYXJyYXkpKSByZXR1cm4gZmFsc2U7CiAgICBmb3JlYWNoKGFycmF5X2tleXMoJGFycmF5KSBhcyAka2V5PT4kdmFsdWUpIHsKICAgICAgaWYoICFpc19udW1lcmljKCRrZXkpICkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCn0gLy8gRW5kIG9mIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOZ/AAE82AkNrcLT4rHS4gpU4iJr4Cs51gBF4gYjqk1Wyhle4R1m4hk0zQZF2QkMlglJ2wAAfAAAggAuqgAAci514gkOpgBD4mWK3A5R22OK35Wh0bXW4rDL4q/J4jh64QpGzBI6pzNtygtL28DA0x000Qcou6e23hVoxoqKyyBXvmGP0gAi1REjtl9fo3FxzszM6BBW4jF84kmN2JTA4T2G0sjZ4ktXzCZmwhVZ3hE3qQADiAATlAAVmDJnyEKD4RcclgBBthNErBtCvVl/21JcxFNb05a43rjW4gAAXwAzrAYfogkUtgAioAA4tgAAbAovqJ2/4j1T15aW0K6/4gNK38XV4rXT4gEhmiY0yWNjtz2G4pSy4cfH4U5XxBVk4h9q4sHB3CRw4hcuyUiM4kFy2U1z2leU4h8ops3c4lCQ4iM01zl70ExXzyVhy6Gh44iItRBR3SArsCkxtnZ23Rg9qwAMjzx/4ghP4IKy4gAdnQAt13ST3xMpvkWG4g1X3ezs7CH5BAEAAH8ALAAAAAAQABAAAAe6gH+Cg4SFhC9zBiQMDGJYLlyFbgZkazcpQSB0QnxShGoyJ0ASeXURExM5LIRRNE0STDs6EE5IVyWERTMhSTyzExBPfkuEbBscRio9KW0FXgcBhDYDAmh4Y1oxXwQW0YMJ1B1mfXYUC9zegglWVVBpPh4U2wcVhF1HNRcAAA0iGHf0CBHZYqLMCn4PEgYcJGfPlCF6GsDBoUABFQeEUMTRkOEAjAVhCnxw8KYQmCxnEKhU8qPFCEMwDQUCADs=]]></data>
	</file>
	<file>
	  <filename>/icons/edit.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOZ/ANfq//r+/ur0/+Xy/9/1/9rs/9bu/nehxf/+/fX///H4/+32/+j0/+P3/+bz/+Hw/3+ny3mgxV2XzViTyXqhxVuXzePx//z9/3eew3CYv/j7//r9//3+///+/9zu//f7//j8/3GZv/T6//b6/9/u/93u/+3+//b7/+Dv/1qTyVeY0HGYv/r8/8jf84etz26Xv1eTyfP4/+v1/uX1+FuY0NHq+q/L5IWhwVCKwG6fyun5/+n6/8DL2dzj6VaRyVqAp+T4//z+//T5//L5+9zt/6Kyxc/b5ODy/+Dn63ifxD9nkUdoj+P//1KKv9/v/52ww/D6/3KawfP6/1ORylGSzGOc0N/w/9fi64ykvJWmvPT9//f+/+Xx/////uH0/42ryf7+//7//1qQw0N1pkx5pYuetleNwFiVzePt8luWz+v7/9PZ41qX0J650MPM29ni6vH3++Lv/97u//b4+VJwllZzlVWTytjr/+Lx/16Bp+31/4Sdt+b4/3adw////////yH5BAEAAH8ALAAAAAAQABAAAAfjgH95BxQUGIeHfRERBz9/fyt+fgiSlX5dkhCPIX5rWZVgF35FPH6af0lIdWWSHEEgfk9LRi6PUQg9c5IXGx8fcG9DOY8ZlWEXLBonIgpQCRPEfh0dQRvKIgsDFiYp0R28GiNSC1x4cWrQf8UcGyAfMTLaKHI66ZwX4QoCDhZOJQVAYDx64YeDED0M5Hko4KGBj0dmAqCRsc+ClYUAWhiw80jMFTpYEjx4UOKOly9KbKR51MSPmz1aSJAgAuDIjTYmpjzC4WfLDBM7+DQgQKCGASZUHpGpwlSC0woVztBgo2LMn0AAOw==]]></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[PD9waHAKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnVGhlIGxvc3QgbG9naW4gZGV0YWlscyBmdW5jdGlvbmFsaXR5IGhhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLiAgV2UgaGF2ZSBmb3VuZCBhIHVuaXF1ZSB1c2VybmFtZSB0aGF0IG1hdGNoZXMgdGhlIGRldGFpbHMgeW91IGVudGVyZWQuJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdZb3VyIHVzZXJuYW1lIGlzJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1dlIHJlY29tbWVuZCB5b3UgcmVjb3JkIHRoaXMgaW5mb3JtYXRpb24gaW4gYSBzZWN1cmUsIGJ1dCByZXRyaWV2YWJsZSBsb2NhdGlvbi4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm9yOiBNb3JlIHRoYW4gb25lIHVzZXIgYWNjb3VudCBtYXRjaGVkIHRoZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyB1c2VyJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBncm91cCBieSB0aGF0IG5hbWUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdSZWFkIE9ubHknOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTaG93IE9ubHkgTG9nZ2VkIEluIFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1VzZXIgUHJvcGVydGllcyc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQnOwokbGFuZ1snY2xlYXInXSA9ICdDbGVhcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnQgVXNlciBIaXN0b3J5IFRvIEFTQ0lJIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdDbGVhciBVc2VyIEhpc3RvcnkgcmVjb3JkcyB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0ZvcmdvdCBZb3VyIExvZ2luIERldGFpbHM/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydCBncm91cCBkZWZpbml0aW9uIChhbmQgcHJvcGVydGllcykgdG8gWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTm8gTGltaXQgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnT25lIEhvdXIgT2xkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NpeCBIb3VycyBPbGQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVHdlbHZlIEhvdXJzIE9sZCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ09uZSBEYXkgT2xkJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ09uZSBXZWVrIE9sZCc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVHdvIHdlZWtzIE9sZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnT25lIE1vbnRoIE9sZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVGhyZWUgTW9udGhzIE9sZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1NpeCBNb250aHMgT2xkJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ09uZSBZZWFyIE9sZCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcm91cGluZyBhbmQgU29ydGluZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVjb3JkcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIFVzZXJuYW1lJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdBc2NlbmRpbmcgVXNlcm5hbWUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0Rlc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdBc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIEV2ZW50IFR5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdBc2NlbmRpbmcgRXZlbnQgVHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIElwIEFkZHJlc3MnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdBc2NlbmRpbmcgSXAgQWRkcmVzcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTm8gSGlzdG9yeSBEZXRlY3RlZCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dyb3VwIEJ5IElQIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdFdmVudCBUeXBlIEZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdEaXNwbGF5IG9ubHkgZXZlbnRzIHRoYXQgYXJlIGxlc3MgdGhhbjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1BhZ2UgTGltaXQnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnVXNlciBIaXN0b3J5IFJlcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IE9wZXJhdGlvbiBDb21wbGV0ZSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5lcyBQcm9jZXNzZWQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9ycyBFbmNvdW50ZXJlZCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyBBZGRlZCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgZ3JvdXAgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdDb3VsZCBub3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBzcGVjaWZpZWQgKCVzKSBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ0ludmFsaWQgdmFsdWUgZm9yIGRyb3Bkb3duIG9yIG11bHRpc2VsZWN0IGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmllbGQgJXMgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICcKPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPgo8aDU+SGVhZGVyIGxpbmU8L2g1Pgo8dWw+CjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+CjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+CjwvdWw+CjxoNT5Db2x1bW5hciBEYXRhPC9oNT4KPHVsPgo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY24gYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPgo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4KPGxpPkRyb3Bkb3duIEZpZWxkcwogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+CjwvbGk+CjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMKICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4KPC9saT4KPGxpPkltYWdlIEZpZWxkcwogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG9cJ3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4KPC91bD4KPGg1Pk5vdGVzPC9oNT4KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPgo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPgo8aDU+RXhhbXBsZTwvaDU+CjxwcmU+CiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcAp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1CjwvcHJlPgonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydCBVc2VycyBJbnRvIFRoaXMgR3JvdXAnOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnSW5wdXQgQ1NWIEZpbGUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdJbnB1dCBYTUwgRmlsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0IFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0NsZWFyJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnSW1hZ2UgRGVzdGluYXRpb24gUGF0aCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCB3aXRoIGEgbWlzc2luZyAoYnV0IHJlcXVpcmVkKSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0NvdWxkIG5vdCBwYXJzZSB0aGUgcHJvdmlkZWQgWE1MIGZpbGUnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0Nhbm5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2Vycyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnVGhpcyB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RoZSB0ZXh0IGZyb20gdGhlIGltYWdlIHdhcyBub3QgZW50ZXJlZCBjb3JyZWN0bHknOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0FsbG93IHVzZXJzIHRvIGxvZ2luIG1vcmUgdGhhbiBvbmNlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdJbWFnZSBGaWxlIEV4dGVuc2lvbnMgdGhhdCBVc2VycyBhbGxvd2VkIHRvIHVwbG9hZCc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJwo8aDM+T25EZWxldGVVc2VyPGgzPgo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICcKPGgzPk9uQ3JlYXRlVXNlcjxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICcKPGgzPk9uVXBkYXRlVXNlcjxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4KPC91bD4gCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICcKPGgzPk9uQ3JlYXRlR3JvdXA8aDM+CjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPgo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPgo8L3VsPiAKJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJwo8aDM+T25EZWxldGVHcm91cDxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnCjxoMz5PbkxvZ2luPGgzPgo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+CjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPgo8L3VsPgonOyAKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICcKPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPgo8L3VsPgonOyAKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+CjwvdWw+Cic7IAokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgR3JvdXAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBUaGUgZm9sbG93aW5nIG1hY3JvcyBjYW4gYmUgdXNlZCBpbiB0aGVzZSBmaWVsZHM6IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBXaGVuIHVzaW5nIHRoZSB7JGdyb3VwfSBtYWNybywgdGhlIHN5c3RlbSB3aWxsIHN1YnNpdHV0ZSB0aGUgbmFtZSBvZiB0aGUgZmlyc3QgbWVtYmVyIGdyb3VwIHRoYXQgdGhlIHVzZXIgYmVsb25ncyB0bywgYW5kIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwYWdlLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdBIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmd0aCBvZiB1c2VybmFtZSBmaWVsZCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5ndGggb2YgcGFzc3dvcmQgZmllbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFzc3dvcmQgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCB1c2VybmFtZSBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdJbnZhbGlkIEVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdXZSBjb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGFjY291bnQnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBzZXR0aW5nIHByb3BlcnR5JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVc2VyIEFkZGVkICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXNlciBEZWxldGVkIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BlcnR5JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWx1ZSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1dhcm5pbmc6IFRoZXNlIGZpZWxkcyBhZmZlY3QgdGhlIHNpemUgb2YgaW5wdXQgZmllbGRzIGZvciBmb3Jtcy4gIERlY3JlYXNpbmcgdGhpcyBudW1iZXIgb24gYW4gZXhpc3Rpbmcgc2l0ZSBtYXkgbm90IGJlIGFkdmlzYWJsZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFkanVzdCB0aGUgbW9kdWxlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRW1haWwgYWRkcmVzcyBhbHJlYWR5IHVzZWQnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNlIGNvb2tpZXMgdG8gcmVtZW1iZXIgbG9naW4gZGV0YWlscyc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ1RoZSBuYW1lIG9mIHRoZSBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgZW1haWxzJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ0F0dGVtcHQgdG8ga2VlcCBsb2dpbnMgYWxpdmUgYnkgdGhlIHVzZSBvZiBhIGNvb2tpZSA8ZW0+KHRoZSBjb29raWUgaXMgcmVzZXQgb24gYWN0aXZpdHkgaW4gdGhlIHdlYnNpdGUpPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKGFsbG93IG11bHRpcGxlIHVzZXJzIHdpdGggdGhlIHNhbWUgZW1haWwgYWRkcmVzcyknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgImZvcmdvdCBwYXNzd29yZCIgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlblwndCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgYSB1c2VybmFtZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciBhIHBhc3N3b3JkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBVc2VyIExvZ291dCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdGcm9udGVuZCBVc2VyIExvZ2luJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0icmVkIj48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0JzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydCc7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdCBQcm9wZXJ0eSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzZXJzIGluIHRoZSBzZWxlY3RlZCBncm91cChzKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdCByZXN1bHRzIHRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGZpZWxkIGZvciB0aGlzIHVzZXIuICBZb3UgbWF5IG5lZWQgdG8gY29udGFjdCB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOyAKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnQW4gaW52YWxpZCBjb2RlIGhhcyBiZWVuIGVudGVyZWQsIHBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0EgdGVtcG9yYXJ5IGNvZGUgZm9yIHlvdXIgdXNlciBpZCBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCB0byBkaXNwbGF5IHZlcmlmaWNhdGlvbiBmb3JtJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIGZvciBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwnOyAKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdFaXRoZXIgeW91cnNlbGYgb3Igc29tZW9uZSBlbHNlIGhhcyBhbHJlYWR5IHRyaWdnZXJlZCBhIHBhc3N3b3JkIHJlc2V0IG9wZXJhdGlvbiBmb3IgdGhpcyBhY2NvdW50LiAgQ2hlY2sgeW91ciBlbWFpbCwgeW91IG1heSBoYXZlIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCB5b3VyIHBhc3N3b3JkIGluIHlvdXIgaW5ib3gnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ1lvdSBhcmUgcmVjZWl2aW5nIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHNvbWVib2R5IHRvbGQgb3VyIHNpdGUgdGhhdCB5b3UgaGFkIGxvc3QgeW91ciBwYXNzd29yZC4gIElmIHRoaXMgaXMgdGhlIGNhc2UsIHJlYWQgdGhlIGluc3RydWN0aW9ucyBiZWxvdy4gIElmIHlvdSBkb25cJ3QgaGF2ZSBhIGNsdWUgd2hhdCB0aGlzIGlzLCB0aGVuIHlvdSBhcmUgc2FmZSB0byBkZWxldGUgdGhpcyBtZXNzYWdlLCBhbmQgd2UgdGhhbmsgeW91IGZvciB5b3VyIHRpbWUuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQ29kZSc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIHJhbmRvbWx5IGdlbmVyYXRlZCBpbiBvcmRlciB0byB2ZXJpZnkgdGhlIHVzZXIgYWNjb3VudC4gIHdoZW4geW91IGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93IHlvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgZmllbGQgdG8gZW50ZXIgdGhpcyBjb2RlLiAgTm9ybWFsbHkgdGhlIGZpZWxkIGlzIHByZS1jb21wbGV0ZWQgZm9yIHlvdSwgYnV0IGluY2FzZSBpdCBpc25cJ3QgdGhlIGNvZGUgaXM6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnQ2xpY2tpbmcgb24gdGhlIGZvbGxvd2luZyBsaW5rIHdpbGwgdGFrZSB5b3UgdG8gdGhlIHdlYnNpdGUgd2hlcmUgeW91IGNhbiBlbnRlciB0aGUgYWJvdmUgY29kZSwgYW5kIHJlc2V0IHlvdXIgcGFzc3dvcmQ6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdMb3N0IFBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIENNU01haWxlciBtb2R1bGUnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byAlcyB3aXRoIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZC4gIFRoYW5rIHlvdSc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1NvIHlvdSBmb3Jnb3Qgb3IgbG9zdCB5b3VyIHBhc3N3b3JkLiBXZWxsLCB0eXBlIHlvdXIgdXNlcm5hbWUgaW4gaGVyZSwgYW5kIGlmIHdlIGNhbiBmaW5kIHlvdSB3ZSB3aWxsIHNlbmQgeW91IGFuIGVtYWlsIHdpdGggaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCBpdCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wbGF0ZXMnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdQcm9wZXJ0eSAlcyBub3QgZm91bmQnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ1Byb3BlcnRpZXMgZm91bmQnOwokbGFuZ1snYWRkcHJvcCddID0gJ0FkZCBQcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnQSByZXF1aXJlZCBmaWVsZCAoJXMpIHdhcyBlbXB0eSc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ0VudGVyIGEgbmV3IHBhc3N3b3JkIGhlcmUgdG8gY2hhbmdlIHlvdXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdZb3UgZG8gbm90IGFwcGVhciB0byBiZSBsb2dnZWQgaW4nOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnVGhpcyBhY2NvdW50IGhhcyBleHBpcmVkJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdJbXByb3BlciBlbWFpbCBhZGRyZXNzIGZvcm1hdHRpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdJbnZhbGlkIGV4cGlyeSBkYXRlJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdFcnJvciBzZXR0aW5nIHByb3BlcnR5ICVzIGZvciB1c2VyICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnSW52YWxpZCBncm91cCBpZCAlcyc7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnSGlkZGVuIGZpZWxkIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnSGlkZGVuIGZpZWxkIGNvbG9yJzsKJGxhbmdbJ2hpZGRlbiddID0gJ0hpZGRlbic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnQSBwcm9wZXJ0eSB3aXRoIHRoYXQgbmFtZSBpcyBhbHJlYWR5IGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBkZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydGllcyB3ZXJlIHNlbGVjdGVkIGZvciB0aGlzIGdyb3VwJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnTm8gR3JvdXBzIGFyZSBkZWZpbmVkJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3JvdXBzIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdNZW1iZXJzaGlwIGluIGF0IGxlYXN0IG9uZSBncm91cCBpcyByZXF1aXJlZCc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnUmVxdWlyZSBtZW1iZXJzaGlwIGluIGF0bGVhc3Qgb25lIGdyb3VwJzsKJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBpcyBhIHJlcXVpcmVkIGZpZWxkJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJrIHJlcXVpcmVkIGZpZWxkcyB3aXRoJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ05leHQnOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdBIEdyb3VwIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdPcHRpb25hbCc7CiRsYW5nWydvZmYnXSA9ICdPZmYnOwokbGFuZ1snc2l6ZSddID0gJ1NpemUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTGVuZ3RoJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KGNoYXJzIGluIHRoZSB0ZXh0IGlucHV0KSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnRHJvcGRvd24gb3B0aW9ucywgc2VwYXJhdGVkIGJ5IGxpbmUgYnJlYWtzLiAgVmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgZnJvbSB0ZXh0IHdpdGggYSA9IGNoYXJhY3Rlci4gaS5lOiBGZW1hbGU9Zic7CiRsYW5nWyd5ZXMnXSA9ICdZZXMnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1JlcXVpcmVkJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmllbGQgU3RhdHVzJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0FzayBpbiBMb3N0PGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGV4dCc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0IExpc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dlbGNvbWUnOwokbGFuZ1snbG9nb3V0J10gPSAnU2lnbiBvdXQnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ1VzZSB0aGlzIGdyb3VwIG5hbWUnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnQ2hhbmdlIE15IFNldHRpbmdzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFpbGVkIC0gSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdTaWduIGluJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdSZW1lbWJlciBtZSBvbiB0aGlzIGNvbXB1dGVyJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0ZXInOwokbGFuZ1snZm9yZ290cHcnXSA9ICdGb3Jnb3QgWW91ciBQYXNzd29yZD8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnRm9yZ290IFlvdXIgTG9naW4gRGV0YWlscz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdEZWZhdWx0cyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgSUQgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUaGF0IHVzZXJuYW1lICglcykgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1VzZSBTTVRQIHRvIHZhbGlkYXRlIGVtYWlsIGFkZHJlc3Nlcz8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWF4aW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWNvbmRzKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnVXNlIGNvb2tpZXMgdG8ga2VlcCBsb2dpbnMgYWxpdmUnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdBbGxvdyBFbWFpbCBSZWdpc3RyYXRpb24nOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ0RlZmF1bHQgR3JvdXAgZm9yIG5ldyB1c2Vycyc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0NoYW5nZSBTZXR0aW5ncyBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnUGFzc3dvcmRzIERvIG5vdCBtYXRjaCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdJbnZhbGlkIFVzZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0ludmFsaWQgUGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQ291bGQgbm90IGZpbmQgaW5mb3JtYXRpb24gZm9yIHRoaXMgdXNlcic7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0F0dGVtcHQgdG8gaW1wb3J0IGR1cGxpY2F0ZSBwcm9wZXJ0aWVzJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsdWUnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBzJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wZXJ0aWVzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnUHJvcGVydHkgTmFtZSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdQcm9wZXJ0eSBWYWx1ZSc7CiRsYW5nWydhZGQnXSA9ICdBZGQnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcnknOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnU3BlY2lmeSBEYXRlJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgSG91cnMnOwokbGFuZ1snMjRocnMnXSA9ICcyNCBIb3Vycyc7CiRsYW5nWyc0OGhycyddID0gJzQ4IEhvdXJzJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBXZWVrJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgV2Vla3MnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNb250aCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNb250aHMnOwokbGFuZ1snNm1vbnRocyddID0gJzYgTW9udGhzJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBZZWFyJzsKJGxhbmdbJ25ldmVyJ10gPSAnTmV2ZXInOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAiTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4iJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnQWdhaW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ0dyb3VwIGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdFZGl0IEdyb3VwJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgaXMgdGhlIHByb3BlciBzZXR0aW5ncyBmb3IgdGhpcyBncm91cD9cblR1cm5pbmcgYSBwcm9wZXJ0eSBvZmYgd2lsbCBub3QgZGVsZXRlIGFueSBlbnRyaWVzIGluIHRoZSBwcm9wZXJ0aWVzIHRhYmxlIGZvciB0aGlzIGdyb3VwL3VzZXIuICBUaGV5IHdpbGwgbWVyZWx5IGJlIHVuYXZhaWxhYmxlLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGdyb3VwPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbXBsZXRlbHkgZGVsZXRlIHRoaXMgcHJvcGVydHk/XG5Eb2luZyBzbyB3aWxsIGFsc28gZXJhc2UgYW55IHVzZXIgZW50cmllcyBmb3IgdGhpcyBwcm9wZXJ0eS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbSBhZGRpbmcgcHJvcGVydHknOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwIHJlbGF0aW9uJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBhZGRpbmcgYSB1c2VyIHRvIGEgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW0gZGVsZXRpbmcgYSBwcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05vIHdyaXRlIHBlcm1pc3Npb24gdG8gZGVzdGluYXRpb24gZGlyZWN0b3J5JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdJbnZhbGlkIFBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdDb3VsZCBub3QgZmluZCBhbnkgZ3JvdXBzJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBwbHknOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdVc2VybmFtZSBSZWd1bGFyIEV4cHJlc3Npb24nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdHcm91cCBOYW1lJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcic7CiRsYW5nWydhZGRncm91cCddID0gJ0FkZCBHcm91cCc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydCBHcm91cCc7CiRsYW5nWydhZGR1c2VyJ10gPSAnQWRkIFVzZXInOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cHMgRm91bmQnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIGNyaXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvdXAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdTZWxlY3QgR3JvdXAnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ0xvZ291dCBUZW1wbGF0ZSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0xvZ2luIFRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBzJzsKJGxhbmdbJ3VzZXJzJ10gPSAiVXNlcnMiOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gIkRlZmF1bHQgZnJvbnQgcGFnZSI7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT0YKPHVsPgo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPgo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPgo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+CjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPgo8bGk+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPgo8bGk+MC4xLjYgLSBKYW51YXJ5LCAyMDA2CiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+CjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYKICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4KPC9saT4KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+CiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+CiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+CiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+CiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+CiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+CiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4KPC9saT4KPGxpPjEuMC4xIC0gTWFyY2gsIDIwMDYKICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPgogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPgogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+CiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+CiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYKICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNgogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4KPC9saT4KPGxpPjEuMC40IC0gTWF5LCAyMDA2CiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+CiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+CiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+CiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+CiAgICA8cD5BZGRlZCB0aGUgXCdzaWxlbnRcJyBmb3JtPC9wPgogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+CiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPgo8L2xpPgo8bGk+MS4wLjUgLSBNYXksIDIwMDYKICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+CjxsaT4xLjAuNiAtIE1heSwgMjAwNgogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+CjwvbGk+CjxsaT4xLjEuMCAtIE1heSwgMjAwNgogICAgPHA+RXZlbnRzPC9wPgogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+CiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPgogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBce1wkZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+CjwvbGk+CjxsaT4xLjEuMSAtIFNlcHQsIDIwMDYKICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwnYWxsb3cgZHVwbGljYXRlIGVtYWlsc1wnIHdhcyBvZmY8L3A+CiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPgo8L2xpPgo8bGk+MS4xLjIgLSBEZWMsIDIwMDYKICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+CiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+CiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPgogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+CiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPgogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPgo8L2xpPgogICAgPGxpPjEuMi4wIC0gQXByaWwsIDIwMDcKICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+CiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+CiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgImF0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCIgc3R1ZmY8L3A+CiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+CiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPgogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPgogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPgogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+CiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+CiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPgogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+CjwvbGk+CjxsaT4xLjIuMSAtIEp1bmUsIDIwMDcKCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+Cgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4KPC9saT4KPGxpPgoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPgoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPgogICAgICAgIAo8L2xpPgo8bGk+MS4zIC0gT2N0b2JlciwgMjAwNwo8cD5BZGRlZCBzdXBwb3J0IGZvciAncmVtZW1iZXIgbWUnIHNvIHRoYXQgbG9naW4gaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGEgY29va2llLiAgQW5kIHN1cHBvcnQgZm9yIGEgZm9ybSB0byBhbGxvdyB0aGF0IGNvb2tpZSB0byBiZSByZXNldC48L3A+CjxwPk5vIGxvbmdlciBzdXBwb3J0IG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBuYW1lcy48L3A+CjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4KPHA+UmVxdWlyZSBDTVMgMS4yIG9yIGdyZWF0ZXIuPC9wPgo8L2xpPgo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNwo8cD5GaXhlcyBwcm9ibGVtcyB3aXRoIHBhcmFtZXRlcnMgbm90IGJlaW5nIGNsZWFuZWQgaW4gdGhlIGNoYW5nZSBzZXR0aW5ncyBkaWFsb2cgb24gdGhlIGZyb250IGVuZC48L3A+CjxwPkZpeGVzIGFuIHVwZHJhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPgo8cD5BZGQgYSBwcmVmZXJlbmNlIHRoYXQgYWxsb3dzIGFkbWlucyB0byBzcGVjaWZ5IGEgcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciB0aGUgZm9yZ290IHBhc3N3b3JkIHZhbGlkYXRpb24gZm9ybSBpcyBjb21wbGV0ZS48L3A+CjxwPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGhpZGRlbiBwcm9wZXJ0aWVzIGJlaW5nIGxvc3QgYWZ0ZXIgYSB1c2VyIGNoYW5nZWQgdGhlaXIgc2V0dGluZ3MuPC9wPgo8cD5UaGUgRm9yZ290IFBhc3N3b3JkIGFuZCBMb3N0IFVzZXJuYW1lIGZvcm1zIGFyZSBub3cgaW5saW5lPC9wPgo8cD5GaXhlcyB0byBlcnJvcnMgaW4gZW5jcnlwdGlvbiB3aXRoIHRoZSBzZXNzaW9uaW5nPC9wPgo8cD5GaXhlcyB0byB0aGUgbG9zdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5LjwvcD4KPC91bD4KRU9GOwokbGFuZ1snaGVscCddID0gPDw8RU9GCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+CjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+CjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPgo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+CjwvdWw+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPgo8dWw+CjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmcXVvdDtVc2VycyAmIGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4KPGxpPgo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+CjwvbGk+CjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+CjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCdOZXh0XCc8L3A+CjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+UGFyYW1ldGVyczwvaDM+Cjx1bD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0ibmFtZSI8L2xpPgo8cD5Gb3JtczoKPHVsPgogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+CiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPgogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPgogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPgogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPgo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+CjwvdWw+CjwvcD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89InBhZ2UiPC9saT4KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0iZ3JvdXAxLCBncm91cDIsIGdyb3VwMyI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxvc3R1bl9ncm91cD0iZ3JvdXAiPC9saT4KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSIxIjwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4KPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+Jmx0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgpFT0Y7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/ca_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0VzYm9ycmFyJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnQ2FtJmlhY3V0ZTsgb24gZGVzYXIgaW1hdGdlcyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0hhIG9jb3JyZWd1dCB1biBwcm9ibGVtYSBhbWIgdW4gYXJ4aXUgcHVqYXQgKHJlcXVlcml0KSBxdWUgbWFuY2EnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ05vIGVzIHBvdCBlc2JvcnJhciB1biBncnVwIHF1ZSBlbmNhcmEgdCZlYWN1dGU7IHVzdWFyaXMnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0wmIzAzOTt1c3VhcmkgamEgZXN0JmFncmF2ZTsgY29ubmVjdGF0JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0VsIHRleHQgZGUgbGEgaW1hdGdlIG5vIHMmIzAzOTtoYSBlbnRyYXQgY29ycmVjdGFtZW50JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdQZXJtZXQgYWxzIHVzdWFyaXMgY29ubmVjdGFyLXNlIG0mZWFjdXRlO3MgZCYjMDM5O3VuYSB2ZWdhZGEgJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdFeHRlbnNpb25zIGQmIzAzOTthcnhpdXMgZCYjMDM5O2ltYXRnZSBxdWUgZWxzIHVzdWFyaXMgcG9kZW4gcHVqYXInOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgZ3J1b3AnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBUaGUgZm9sbG93aW5nIG1hY3JvcyBjYW4gYmUgdXNlZCBpbiB0aGVzZSBmaWVsZHM6IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBXaGVuIHVzaW5nIHRoZSB7JGdyb3VwfSBtYWNybywgdGhlIHN5c3RlbSB3aWxsIHN1YnNpdHV0ZSB0aGUgbmFtZSBvZiB0aGUgZmlyc3QgbWVtYmVyIGdyb3VwIHRoYXQgdGhlIHVzZXIgYmVsb25ncyB0bywgYW5kIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwYWdlLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdBIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmd0aCBvZiB1c2VybmFtZSBmaWVsZCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5ndGggb2YgcGFzc3dvcmQgZmllbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFzc3dvcmQgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCB1c2VybmFtZSBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdJbnZhbGlkIEVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdXZSBjb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGFjY291bnQnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBzZXR0aW5nIHByb3BlcnR5JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVc2VyIEFkZGVkICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXNlciBEZWxldGVkIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BlcnR5JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWx1ZSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1dhcm5pbmc6IFRoZXNlIGZpZWxkcyBhZmZlY3QgdGhlIHNpemUgb2YgaW5wdXQgZmllbGRzIGZvciBmb3Jtcy4gIERlY3JlYXNpbmcgdGhpcyBudW1iZXIgb24gYW4gZXhpc3Rpbmcgc2l0ZSBtYXkgbm90IGJlIGFkdmlzYWJsZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQ2hhbmdlIGFkbWluIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRW1haWwgYWRkcmVzcyBhbHJlYWR5IHVzZWQnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgZW1haWxzJzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhhbGxvdyBtdWx0aXBsZSB1c2VycyB3aXRoIHRoZSBzYW1lIGVtYWlsIGFkZHJlc3MpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnQWxsb3cgZHVwbGljYXRlICZxdW90O2ZvcmdvdCBwYXNzd29yZCZxdW90OyByZW1pbmRlcnM/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhhbGxvdyBhIHVzZXJzIHRvIHJlcXVlc3QgYSBwYXNzd29yZCByZXNldCwgZXZlbiBpZiB0aGV5IGhhdmVuJiMwMzk7dCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgdXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgYSBwYXNzd29yZCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnRnJvbnRlbmQgVXNlciBMb2dvdXQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnRnJvbnRlbmQgVXNlciBMb2dpbic7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPlVTRSBDQVVUSU9OPC9iPiB3aGVuIGNoYW5naW5nIGV4aXN0aW5nIHByb3BlcnRpZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gZ3JvdXBzLCB5b3UgbWF5IHBvdGVudGlhbGx5IGNhdXNlIGRhbWFnZSBhbmQgYnJlYWsgYW4gZXhpc3Rpbmcgc2l0ZSA8aT4oZXNwZWNpYWxseSBpZiB5b3UgcmVkdWNlIGZpZWxkIGxlbmd0aHMsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1RoaXMgZnVuY3Rpb24gZG9lcyBub3Qgd29yayBvbiB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdEbyBub3QgY3JlYXRlIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLCBvciBwYXNzd29yZCBhcyB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBidWlsdGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0IFVzZXJzIHRvIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnQnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbic7CiRsYW5nWydlZGl0cHJvcCddID0gJ0VkaXQgUHJvcGVydHknOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydCBCeSc7CiRsYW5nWydzb3J0J10gPSAnU29ydGluZyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdVc2VycyBpbiB0aGUgc2VsZWN0ZWQgZ3JvdXAocyknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnTGltaXQgcmVzdWx0cyB0byc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBmaWVsZCBmb3IgdGhpcyB1c2VyLiAgWW91IG1heSBuZWVkIHRvIGNvbnRhY3QgdGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBGb3Jnb3QgUGFzc3dvcmQgZm9ybSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgQ2hhbmdlIFNldHRpbmdzIGZvcm0nOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dpbiAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ291dCAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVzZXR0aW5nIGxvc3QgcGFzc3dvcmRzLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIHdlZWsgb2xkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBtb250aCBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmU/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnQW4gaW52YWxpZCBjb2RlIGhhcyBiZWVuIGVudGVyZWQsIHBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0EgdGVtcG9yYXJ5IGNvZGUgZm9yIHlvdXIgdXNlciBpZCBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCB0byBkaXNwbGF5IHZlcmlmaWNhdGlvbiBmb3JtJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIGZvciBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VpdGhlciB5b3Vyc2VsZiBvciBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgdHJpZ2dlcmVkIGEgcGFzc3dvcmQgcmVzZXQgb3BlcmF0aW9uIGZvciB0aGlzIGFjY291bnQuICBDaGVjayB5b3VyIGVtYWlsLCB5b3UgbWF5IGhhdmUgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQgaW4geW91ciBpbmJveCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3InOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnWW91IGFyZSByZWNlaXZpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugc29tZWJvZHkgdG9sZCBvdXIgc2l0ZSB0aGF0IHlvdSBoYWQgbG9zdCB5b3VyIHBhc3N3b3JkLiAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgcmVhZCB0aGUgaW5zdHJ1Y3Rpb25zIGJlbG93LiAgSWYgeW91IGRvbiYjMDM5O3QgaGF2ZSBhIGNsdWUgd2hhdCB0aGlzIGlzLCB0aGVuIHlvdSBhcmUgc2FmZSB0byBkZWxldGUgdGhpcyBtZXNzYWdlLCBhbmQgd2UgdGhhbmsgeW91IGZvciB5b3VyIHRpbWUuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQ29kZSc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIHJhbmRvbWx5IGdlbmVyYXRlZCBpbiBvcmRlciB0byB2ZXJpZnkgdGhlIHVzZXIgYWNjb3VudC4gIHdoZW4geW91IGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93IHlvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgZmllbGQgdG8gZW50ZXIgdGhpcyBjb2RlLiAgTm9ybWFsbHkgdGhlIGZpZWxkIGlzIHByZS1jb21wbGV0ZWQgZm9yIHlvdSwgYnV0IGluY2FzZSBpdCBpc24mIzAzOTt0IHRoZSBjb2RlIGlzOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0NsaWNraW5nIG9uIHRoZSBmb2xsb3dpbmcgbGluayB3aWxsIHRha2UgeW91IHRvIHRoZSB3ZWJzaXRlIHdoZXJlIHlvdSBjYW4gZW50ZXIgdGhlIGFib3ZlIGNvZGUsIGFuZCByZXNldCB5b3VyIHBhc3N3b3JkOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnTG9zdCBQYXNzd29yZCc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0NvdWxkIG5vdCBmaW5kIHRoZSBDTVNNYWlsZXIgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0FuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8gJXMgd2l0aCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuICBUaGFuayB5b3UnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdTbyB5b3UgZm9yZ290IG9yIGxvc3QgeW91ciBwYXNzd29yZC4gV2VsbCwgdHlwZSB5b3VyIHVzZXJuYW1lIGluIGhlcmUsIGFuZCBpZiB3ZSBjYW4gZmluZCB5b3Ugd2Ugd2lsbCBzZW5kIHlvdSBhbiBlbWFpbCB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gcmVzZXQgaXQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdGb3Jnb3QgUGFzc3dvcmQgVGVtcGxhdGVzJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ1Byb3BlcnR5ICVzIG5vdCBmb3VuZCc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnUHJvcGVydGllcyBmb3VuZCc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQWRkIFByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdBIHJlcXVpcmVkIGZpZWxkICglcykgd2FzIGVtcHR5JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnRW50ZXIgYSBuZXcgcGFzc3dvcmQgaGVyZSB0byBjaGFuZ2UgeW91ciBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ1lvdSBkbyBub3QgYXBwZWFyIHRvIGJlIGxvZ2dlZCBpbic7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXRpb24nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdUaGlzIGFjY291bnQgaGFzIGV4cGlyZWQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ0ltcHJvcGVyIGVtYWlsIGFkZHJlc3MgZm9ybWF0dGluZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ0ludmFsaWQgZXhwaXJ5IGRhdGUnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yIHNldHRpbmcgcHJvcGVydHkgJXMgZm9yIHVzZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJbnZhbGlkIGdyb3VwIGlkICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnSGlkZGVuIGZpZWxkIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnSGlkZGVuIGZpZWxkIGNvbG9yJzsKJGxhbmdbJ2hpZGRlbiddID0gJ0hpZGRlbic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnQSBwcm9wZXJ0eSB3aXRoIHRoYXQgbmFtZSBpcyBhbHJlYWR5IGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBkZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydGllcyB3ZXJlIHNlbGVjdGVkIGZvciB0aGlzIGdyb3VwJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnTm8gR3JvdXBzIGFyZSBkZWZpbmVkJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3JvdXBzIEZvdW5kJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdNZW1iZXJzaGlwIGluIGF0IGxlYXN0IG9uZSBncm91cCBpcyByZXF1aXJlZCc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnUmVxdWlyZSBtZW1iZXJzaGlwIGluIGF0bGVhc3Qgb25lIGdyb3VwJzsKJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBpcyBhIHJlcXVpcmVkIGZpZWxkJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJrIHJlcXVpcmVkIGZpZWxkcyB3aXRoJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ05leHQnOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdBIEdyb3VwIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQgRmllbGQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdPcHRpb25hbCc7CiRsYW5nWydvZmYnXSA9ICdPZmYnOwokbGFuZ1snc2l6ZSddID0gJ1NpemUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTGVuZ3RoJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KGNoYXJzIGluIHRoZSB0ZXh0IGlucHV0KSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnRHJvcGRvd24gb3B0aW9ucywgc2VwYXJhdGVkIGJ5IGxpbmUgYnJlYWtzLiAgVmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgZnJvbSB0ZXh0IHdpdGggYSA9IGNoYXJhY3Rlci4gaS5lOiBGZW1hbGU9Zic7CiRsYW5nWyd5ZXMnXSA9ICdZZXMnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRhcmVhJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdXZWxjb21lJzsKJGxhbmdbJ2xvZ291dCddID0gJ1NpZ24gb3V0JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ0NoYW5nZSBNeSBTZXR0aW5ncyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xvZ2luIGZhaWxlZCAtIEludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmQ/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnU2lnbiBpbic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ1NpZ24gaW4gYnV0dG9uIGxhYmVsJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0ZXInOwokbGFuZ1snZm9yZ290cHcnXSA9ICdGb3Jnb3QgWW91ciBQYXNzd29yZD8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdEZWZhdWx0cyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgSUQgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUaGF0IHVzZXJuYW1lICglcykgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1VzZSBTTVRQIHRvIHZhbGlkYXRlIGVtYWlsIGFkZHJlc3Nlcz8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWF4aW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWNvbmRzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0FsbG93IEVtYWlsIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnRGVmYXVsdCBHcm91cCBmb3IgbmV3IHVzZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnQ2hhbmdlIFNldHRpbmdzIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdQYXNzd29yZHMgRG8gbm90IG1hdGNoJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ludmFsaWQgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnSW52YWxpZCBQYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcGVydGllcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1Byb3BlcnR5IE5hbWUnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnUHJvcGVydHkgVmFsdWUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZnkgRGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvdXJzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG91cnMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Vycyc7CiRsYW5nWycxd2VlayddID0gJzEgV2Vlayc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFdlZWtzJzsKJGxhbmdbJzFtb250aCddID0gJzEgTW9udGgnOwokbGFuZ1snM21vbnRocyddID0gJzMgTW9udGhzJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE1vbnRocyc7CiRsYW5nWycxeWVhciddID0gJzEgWWVhcic7CiRsYW5nWyduZXZlciddID0gJ05ldmVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0FnYWluJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcm91cCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdCBHcm91cCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBncm91cD8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xuRG9pbmcgc28gd2lsbCBhbHNvIGVyYXNlIGFueSB1c2VyIGVudHJpZXMgZm9yIHRoaXMgcHJvcGVydHkuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdvcnVwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ0ludmFsaWQgUGFyYW1ldGVycyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGx5JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3JvdXAgTmFtZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBZGQgR3JvdXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FkZCBVc2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWN0IEdyb3VwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgVGVtcGxhdGUnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RlZmF1bHQgZnJvbnQgcGFnZSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSB7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMSAtIFNlcHQsIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4yIC0gRGVjLCAyMDA2PC9wPg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMyAtIChub3QgcmVsZWFzZWQgeWV0KTwvcD4NCiAgICA8cD5lbGlqYWhsb2ZncmVuIC0gRml4ZXMgdG8gY2FwdGNoYSBzdXBwb3J0LCBhbmQgc29tZSB0ZW1wbGF0ZSBjbGVhbnVwcy48L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIG11bHRpIHNlbGVjdCBsaXN0czwvcD4NCiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIHZhbHVlPWtleSBzdHVmZiBpbiB0aGUgZHJvcGRvd24gYW5kIG11bHRpIHNlbGVjdCBsaXN0cy48L3A+DQogICAgPHA+YmV0dGVyIGNoZWNraW5nIG9mIHRoZSAmcXVvdDthdCBsZWFzdCBvbmUgZ3JvdXAgcmVxdWlyZWQmcXVvdDsgc3R1ZmY8L3A+DQogICAgPHA+T3V0cHV0IG1vcmUgc21hcnR5IHZhcmlhYmxlcyBvbiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCB0byBhbGxvdyBwZW9wbGUgdG8gbW9kaWZ5IHRoZSB0ZW1wbGF0ZSB0byBzb21ldGhpbmcgdGhhdCBpcyBtb3JlIGFjY2Vzc2liaWxlPC9wPg0KICAgIDxwPlNwbGl0IGludG8gbW9yZSBmaWxlcyBmb3IgcGVyZm9ybWFuY2U8L3A+DQogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPg0KICAgIDxwPk5vdyBoYW5kbGUgcmVnZXggcHJvYmxlbXMgYmV0dGVyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHVzZXJzIHRhYjwvcD4NCiAgICA8cD5FbWFpbCBmaWVsZHMsIHdoZW4gc3BlY2lmaWVkIGFzIG9wdGlvbmFsLCBtYWtlIGVtIGFjdHVhbGx5IG9wdGlvbmFsPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4NCiAgICA8cD5DYXB0Y2hhIG1vZGUgaXMgbm93IG9uIGJ5IGRlZmF1bHQsIHVubGVzcyB5b3UgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIHRoZSB0YWcuPC9wPg0KPC9saT4NCic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmcXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJnF1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcywgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzI3NDIxMzY4LjExNjgyOTcyMjkuMTE3MzM5OTg3Ny4xMTczNDcwNDY4LjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTczNDcwNDY4LjcuMy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vcHJvamVjdHMvYmxvZ21zL3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBEZXRhaWxzIFRlbXBsYXRlJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBDb25maXJtIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRXJyb3I6IE1vcmUgdGhhbiBvbmUgdXNlciBhY2NvdW50IG1hdGNoZWQgdGhlIHByb3BlcnRpZXMgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0Vycm9yOiBDb3VsZCBub3QgZmluZCBhIG1hdGNoaW5nIHVzZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0Vycm9yOiBDb3VsZCBub3QgZmluZCBhIGdyb3VwIGJ5IHRoYXQgbmFtZSc7CiRsYW5nWydyZWFkb25seSddID0gJ1BvdXplIGtlIMSNdGVuJmlhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdVayZhYWN1dGU7emF0IHBvdXplIHDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZlYWN1dGU7IHXFvml2YXRlbGUnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ09kaGwmYWFjdXRlO3NpdCB0b2hvdG8gdcW+aXZhdGVsZSc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdWbGFzbm9zdGkgdcW+aXZhdGVsZSc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0hpc3RvcmllIHXFvml2YXRlbGUnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0JzsKJGxhbmdbJ2NsZWFyJ10gPSAnVnnEjWlzdGl0JzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydCBVc2VyIEhpc3RvcnkgVG8gQVNDSUkgdGhhdCBpcyBhdCBsZWFzdCc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ0NsZWFyIFVzZXIgSGlzdG9yeSByZWNvcmRzIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sndGl0bGVfbG9zdHVzZXJuYW1lJ10gPSAnTG9zdCBVc2VybmFtZSBTdXBwb3J0IEZvcm0nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0b3ZhdCBkZWZpbmljaSBza3VwaW55IChhIGplaiZpYWN1dGU7IHZsYXN0bm9zdGkpIGRvIFhNTCc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnVXNlciBIaXN0b3J5IE1haW50ZW5hbmNlJzsKJGxhbmdbJ3llcyddID0gJ0Fubyc7CiRsYW5nWydubyddID0gJ05lJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ3onOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogQmV6IGxpbWl0dSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdKZWRudSBob2RpbnUgc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJyZTY2Fyb247ZXN0IGhvZGluIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICdEdmFuJmFhY3V0ZTtjdCBob2RpbiBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdKZWRlbiBkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0plZGVuIHQmeWFjdXRlO2RlbiBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ0R2YSB0JnlhY3V0ZTtkbnkgc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdKZWRlbiBtxJtzJmlhY3V0ZTtjIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVMWZaSBtxJtzJmlhY3V0ZTtjZSBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICcmU2Nhcm9uO2VzdCBtxJtzJmlhY3V0ZTtjxa8gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ0plZGVuIHJvayBzdGFyJmVhY3V0ZTsnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnU2Vza3Vwb3YmYWFjdXRlO24maWFjdXRlOyBhIHTFmSZpYWN1dGU7ZMSbbiZpYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdaJmFhY3V0ZTt6bmFteSBvZHBvdiZpYWN1dGU7ZGFqJmlhY3V0ZTtjJmlhY3V0ZTsgcG9kbSZpYWN1dGU7bmNlJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnUG9kbGUgdcW+aXZhdGVsc2smZWFjdXRlO2hvIGptJmVhY3V0ZTtuYSBzZXN0dXBuxJsnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1BvZGxlIHXFvml2YXRlbHNrJmVhY3V0ZTtobyBqbSZlYWN1dGU7bmEgdnplc3R1cG7Emyc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnUG9kbGUgZGF0YSBzZXN0dXBuxJsnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnUG9kbGUgZGF0YSB2emVzdHVwbsSbJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1BvZGxlIHR5cHUgYWtjZSBzZXN0dXBuxJsnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdQb2RsZSB0eXB1IGFrY2Ugdnplc3R1cG7Emyc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdTZXN0dXBuxJsgcG9kbGUgSVAgYWRyZXN5JzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnVnplc3R1cG7Emyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnSGlzdG9yaWUgbmVieWxhIG5hbGV6ZW5hJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnU2Vza3VwaXQgcG9kbGUgSVAgYWRyZXN5JzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnRmlsdHJvdmF0IHBvZGxlIHR5cHUgYWtjZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdab2JyYXppdCBwb3V6ZSBha2NlLCBrdGVyJmVhY3V0ZTsganNvdSBtJmVhY3V0ZTtuxJsgbmXFvjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1N0ciZhYWN1dGU7bmtvdiZ5YWN1dGU7IGxpbWl0JzsKJGxhbmdbJ2ZvciddID0gJ3Bybyc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSBSZXBvcnQnOwokbGFuZ1sndW5rbm93biddID0gJ1Vua25vd24nOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ0V2ZW50IFR5cGUnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRlJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdSZXR1cm4nOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBPcGVyYXRpb24gQ29tcGxldGUnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGluZXMgUHJvY2Vzc2VkJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdFcnJvcnMgRW5jb3VudGVyZWQnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ1JlY29yZHMgQWRkZWQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIGdyb3VwICVzJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnQ291bGQgbm90IGdldCBhIHJlc3BvbnNlIGZyb20gdGhlIFNNVFAgc2VydmVyJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgc3BlY2lmaWVkICglcykgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIGZvciBkcm9wZG93biBvciBtdWx0aXNlbGVjdCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0ZpZWxkICVzIGV4Y2VlZHMgbWF4aW11bSBsZW5ndGgnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgRXJyb3IgKGxpbmUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnQ291bGQgbm90IGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdDb3VsZCBub3QgZmluZCBhIGNvbHVtbiB0byBtYXRjaCB0aGUgcmVxdWlyZWQgZmllbGQgJXMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdDb3VsZCBub3QgZmluZCBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVmb3JtYXQnXSA9ICdUaGUgZmlsZSBzcGVjaWZpZWQgZm9yIGltcG9ydCBpcyBub3QgaW4gdGhlIGNvcnJlY3QgZm9ybWF0JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnXSA9ICdDb3VsZCBub3Qgb3BlbiBmaWxlJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4NCjxwPlRoZSBpbnB1dCBmaWxlIG11c3QgYmUgaW4gQVNDSUkgZm9ybWF0IHVzaW5nIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuICBFYWNoIGxpbmUgaW4gdGhpcyBpbnB1dCBmaWxlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhlYWRlciBsaW5lLCBkaXNjdXNzZWQgYmVsb3cpIHJlcHJlc2VudHMgb25lIHVzZXIgcmVjb3JkLiAgRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzLCBhbmQgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgaW4gZWFjaCBsaW5lIG11c3QgYmUgaWRlbnRpY2FsLjwvcD4NCjxoNT5IZWFkZXIgbGluZTwvaDU+DQo8dWw+DQo8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIHR3byBwb3VuZCAoXCMpIGNoYXJhY3RlcnMsIGFuZCBuYW1lcyBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGZpbGUuICBUaGUgbmFtZXMgb2YgdGhlc2UgZmllbGRzIGlzIHNpZ25pZmljYW50LiAgVGhlcmUgYXJlIHNvbWUgcmVxdWlyZWQgZmllbGQgbmFtZXMgKHNlZSBiZWxvdyksIGFuZCBvdGhlciBmaWVsZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHVzZXJzIGFyZSBnb2luZyB0byBiZSBhZGRlZCBpbnRvLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgZmFpbCBpZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIGRvZXMgbm90IG1hdGNoIGFsbCBvZiB0aGUgcmVxdWlyZWQgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHRoYXQgdXNlcnMgYXJlIGJlaW5nIGFkZGVkIGludG88L2xpPg0KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgaWdub3JlIGFueSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgdGhhdCBhcmUgZWl0aGVyIG5vdCBrbm93biwgb3IgbWFwIHRvIHByb3BlcnRpZXMgdGhhdCBhcmUgPGVtPm9mZjwvZW0+IGluIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cC48L2xpPg0KPC91bD4NCjxoNT5Db2x1bW5hciBEYXRhPC9oNT4NCjx1bD4NCjxsaT5UaGUgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiBGaWVsZCAtIFRoZSBkZXNpcmVkIHVzZXJuYW1lLg0KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY24gYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPg0KPGxpPlRoZSA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+ZXhwaXJlczwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPkRyb3Bkb3duIEZpZWxkcw0KICAgIDxwPlRoZSB2YWx1ZSBvZiBkcm9wZG93biBwcm9wZXJ0aWVzIGluIGFuIGltcG9ydCBmaWxlIGlzIHJlcHJlc2VudGVkIGFzIHRoZSBzdHJpbmcgdGhhdCBpcyBzaG93biBpbiB0aGUgZHJvcGRvd24gY29udHJvbCBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMNCiAgICA8cD5NdWx0aXNlbGVjdCBmaWVsZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIEFTQ0lJIGZpbGUgYXMgYSA6IHNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MsIHdoZXJlIGVhY2ggc3RyaW5nIHJlcHJlc2VudHMgdGhlIHRleHQgc2hvd24gaW4gdGhlIG11bHRpc2VsZWN0IGxpc3Q8L3A+DQo8L2xpPg0KPGxpPkltYWdlIEZpZWxkcw0KICAgIDxwPkltYWdlIGFyZSBmaWVsZHMgd2hvJiMwMzk7cyBjb2x1bW4gbmFtZSBtYXRjaGVzIGEgcHJvcGVydHkgb2YgdHlwZSBJbWFnZS4gIElmIHRoaXMgZmllbGQgaXMgYSByZXF1aXJlZCBwYXJ0IG9mIHRoZSBkZXN0aW5hdGlvbiBncm91cCwgdGhlbiB0aGUgbmFtZSBzcGVjaWZpZWQgaW4gdGhlc2UgY29sdW1ucyBtdXN0IGV4aXN0IGluIHRoZSB1cGxvYWRzIGRpc3JlY3Rvcnkgb2YgdGhlIENNUyBpbnN0YWxsYXRpb24uICBJZiB0aGUgaW1hZ2UgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgZmllbGQgaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIGZhaWwuPC9wPg0KPC91bD4NCjxoNT5Ob3RlczwvaDU+DQo8cD5UaGUgaW1wb3J0IHByb2Nlc3MgaXMgc3ViamVjdCB0byB0aGUgbGltaXRhdGlvbnMgaW1wb3NlZCBieSB0aGUgaG9zdCBwcm92aWRlciwgc3VjaCBhcyBtZW1vcnkgbGltaXRhdGlvbnMsIHByb2Nlc3NpbmcgdGltZSwgZmlsZSBzaXplIHVwbG9hZCwgYW5kIHNhZmUgbW9kZSByZXN0cmljdGlvbnMuICBBbnkgb25lIG9mIHRoZXNlIGxpbWl0YXRpb25zIG1heSBjYXVzZSB0aGUgaW1wb3J0IHRvIGZhaWwuIFRoZXJlZm9yZSBpdCBpcyBhZHZpc2FibGUgdG8gZW5zdXJlIHRoYXQgaW1wb3J0IGZpbGVzIGFyZSBzbWFsbGVyIGluIHNpemUsIGFuZCBzaW1wbGVyIGluIG5hdHVyZS48L3A+DQo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPg0KPGg1PkV4YW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydG92YXQgdcW+aXZhdGVsZSBkbyB0JmVhY3V0ZTt0byBza3VwaW55JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ1Zsb8W+aXQgQ1NWIHNvdWJvcic7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ1Zsb8W+aXQgWE1MIHNvdWJvcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnRvdmF0IHXFvml2YXRlbGUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0b3ZhdCB1xb5pdmF0ZWxlJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1Z5xI1pc3RpdCc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0ltYWdlIERlc3RpbmF0aW9uIFBhdGgnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgd2l0aCBhIG1pc3NpbmcgKGJ1dCByZXF1aXJlZCkgdXBsb2FkJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdDb3VsZCBub3QgcGFyc2UgdGhlIHByb3ZpZGVkIFhNTCBmaWxlJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdDYW5ub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ1RoaXMgdXNlciBpcyBhbHJlYWR5IGxvZ2dlZCBpbic7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUaGUgdGV4dCBmcm9tIHRoZSBpbWFnZSB3YXMgbm90IGVudGVyZWQgY29ycmVjdGx5JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdBbGxvdyB1c2VycyB0byBsb2dpbiBtb3JlIHRoYW4gb25jZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnSW1hZ2UgRmlsZSBFeHRlbnNpb25zIHRoYXQgVXNlcnMgYWxsb3dlZCB0byB1cGxvYWQnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgZ3J1b3AnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBOJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlOyBtYWtyYSBtb2hvdSBiJnlhY3V0ZTt0IHBvdcW+aXRhIHYgdMSbY2h0byBwb2wmaWFjdXRlO2NoIDogeyR1c2VybmFtZX0nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1VwcmF2dGUgdG90byBwb2xlIHBybyByZXNldG92JmFhY3V0ZTtuJmlhY3V0ZTsgaGVzbGEgdcW+aXZhdGVsZSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnVXByYXZ0ZSB0b3RvIHBvbGUgcHJvIHJlc2V0b3YmYWFjdXRlO24maWFjdXRlOyBoZXNsYSB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1XFvml2YXRlbCBzIHQmaWFjdXRlO210byB1xb5pdmF0ZWxzayZ5YWN1dGU7bSBqbSZlYWN1dGU7bmVtIGppxb4gZXhpc3R1amUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnRXhwb3J0IGNzdiBuZXZyJmFhY3V0ZTt0aWwgxb4mYWFjdXRlO2RuJmVhY3V0ZTsgdiZ5YWN1dGU7c2xlZGt5JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0QmZWFjdXRlO2xrYSBwb2xlIHBybyBqbSZlYWN1dGU7bm8gdcW+aXZhdGVsZSc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdEJmVhY3V0ZTtsa2EgcG9sZSBwcm8gaGVzbG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggZCZlYWN1dGU7bGthIGhlc2xhIGplIG5lcGxhdG4mYWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCBkJmVhY3V0ZTtsa2EgdcW+aXZhdGVsc2smZWFjdXRlO2hvIGptJmVhY3V0ZTtuYSBqZSBuZXBsYXRuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ05lcGxhdG4mYWFjdXRlOyBlbWFpbG92JmFhY3V0ZTsgYWRkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhIHBybyB0ZW50byAmdWFjdXRlO8SNZXQgbmVieWxhIG5hbGV6ZW5hJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibCZlYWN1dGU7bSBzIG5hc3RhdmVuJmlhY3V0ZTttIGluZm8gbyB1Nml2YXRlbGknOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmwmZWFjdXRlO20gcyBuYXN0YXZlbiZpYWN1dGU7bSB2bGFzdG5vc3RpJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVxb5pdmF0ZWwgcMWZaWRhbCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1XFvml2YXRlbCBzbWF6YWwgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnVmxhc3Rub3N0JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdIb2Rub3RhIChyZWd1bCZlYWN1dGU7cm4maWFjdXRlOyB2JnlhY3V0ZTtyYXopJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnVmFyb3YmYWFjdXRlO24maWFjdXRlOzogVGF0byBwb2xlIG92bGl2biZpYWN1dGU7IHZlbGlrb3N0IHZzdHVwbiZpYWN1dGU7Y2ggcG9sJmlhY3V0ZTsgZm9ybXVsJmFhY3V0ZTvFmcWvLiAgU24maWFjdXRlO8W+ZW4maWFjdXRlOyB0b2hvdG8gxI0maWFjdXRlO3NsYSBuYSBleGlzdHVqJmlhY3V0ZTtjJmlhY3V0ZTsgc3RyJmFhY3V0ZTtuY2UgbmVuJmlhY3V0ZTsgZG9wb3J1xI1lbm8uJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdabcSbbml0IGFkbWluaXN0cmHEjW4maWFjdXRlOyBwcmVmZXJlbmNlPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRS1tYWlsb3YmYWFjdXRlOyBhZHJlc2EgYnlsYSBqacW+IHBvdcW+aXRhJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1BvdcW+JmlhY3V0ZTt0IGNvb2tpZSBwcm8gemFwYW1hdG92JmFhY3V0ZTtuJmlhY3V0ZTsgcMWZaWhsYSZzY2Fyb247b3ZhYyZpYWN1dGU7Y2ggJnVhY3V0ZTtkYWrFryc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0ptJmVhY3V0ZTtubyBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQb3ZvbGl0IGR1cGxpY2l0biZpYWN1dGU7IGVtYWlseS4nOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnUG9rb3Umc2Nhcm9uO2V0IHNlIHVkcsW+ZXQgdcW+aXZhdGVsZSBwxZlpaGwmYWFjdXRlOyZzY2Fyb247ZW4mZWFjdXRlOyBwb21vYyZpYWN1dGU7IGNvb2tpZXMgPGVtPihjb29raWUgcmVzZXR1amUgYWt0aXZpdHUgbmEgc3RyJmFhY3V0ZTtuayZhYWN1dGU7Y2gpPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHBvdm9saXQgdiZpYWN1dGU7Y2UgdcW+aXZhdGVsxa8gc2Ugc3Rlam5vdSBlbWFpbG92b3UgYWRyZXNvdSknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgJnF1b3Q7Zm9yZ290IHBhc3N3b3JkJnF1b3Q7IHJlbWluZGVycz8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKGFsbG93IGEgdXNlcnMgdG8gcmVxdWVzdCBhIHBhc3N3b3JkIHJlc2V0LCBldmVuIGlmIHRoZXkgaGF2ZW4mIzAzOTt0IGFjdGVkIG9uIGEgcHJldmlvdXMgb25lKSc7CiRsYW5nWydwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJ1BvdcW+JmlhY3V0ZTt0IG9wciZhYWN1dGU7dm7Em24maWFjdXRlOyBzcGVjaWZpY2smYWFjdXRlOyBwcm8gRnJvbnQgRW5kIFVzZXJzIG1vZHVsPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoQsSbxb5uxJsganNvdSBwcm8gRkVVc2VycyBtb2R1bCBwb3XFviZpYWN1dGU7diZhYWN1dGU7bmEgc3Rlam4mYWFjdXRlOyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsgamFrbyBwcm8gQWRtbmluaXN0cmHEjW4maWFjdXRlOyByb3pocmFuJmlhY3V0ZTsuIFBva3VkIHZ5YmVyZXRlIHR1dG8gbW/Fvm5vc3QsIGJ1ZG91IHBybyBGRVVzZXNycyBwb3XFviZpYWN1dGU7diZhYWN1dGU7bmEgb2RkxJtsZW4mYWFjdXRlOyBuYXN0YXZlbiZpYWN1dGU7LiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ05lbW9obCBqc2VtIHVwbG9hZG92YXQgc291Ym9yIChpbnRlcm4maWFjdXRlOyBjaHliYSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdQxZlpIG5haHImYWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyBzb3Vib3LFryBkbyZzY2Fyb247bG8gayBjaHlixJsuIFprdXN0ZSB0byBwcm9zJmlhY3V0ZTttIHpub3Z1JzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ05ldmxvxb5pbGkganN0ZSB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdOZXZsb8W+aWxpIGpzdGUgaGVzbG8nOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgT2RobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgUMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VUE9aT1JOxJpOJklhY3V0ZTs8L2I+IHptxJtuYSBzdCZhYWN1dGU7dmFqJmlhY3V0ZTtjJmlhY3V0ZTtjaCB2bGFzdG5vc3QmaWFjdXRlOywga3RlciZlYWN1dGU7IGpzb3UgcMWZacWZYXplbnkgc2t1cGluJmFhY3V0ZTttIG3Fr8W+ZSB6cMWvc29iaXQgcHJvYmwmZWFjdXRlO215IDxpPihwxZllZGV2JnNjYXJvbjsmaWFjdXRlO20gcMWZaSB6a3ImYWFjdXRlO2NlbiZpYWN1dGU7IG7Em2t0ZXImeWFjdXRlO2NoIHBvbCZpYWN1dGU7KTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnVGF0byBmdW5rY2UgbmVwcmFjdWplIHBvZCB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdOZXZ5dHYmYWFjdXRlO8WZZWp0ZSB6dmwmYWFjdXRlOyZzY2Fyb247dG4maWFjdXRlOyB2bGFzdG5vc3QgcHJvIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vLCBwcm90b8W+ZSB0b3RvIGplIHXFviBzb3XEjSZhYWN1dGU7c3QmaWFjdXRlOyBtb2R1bHUgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0b3ZhdCB1xb5pdmF0ZWxlIGRvIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnRvdmF0JzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydG92YXQnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHJhY2UnOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0b3ZhdCB2bGFzdG5vc3QnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTsgZCZlYWN1dGU7bGthJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdWeXR2b8WZZW5vJzsKJGxhbmdbJ3NvcnRieSddID0gJ1NlxZlhZGl0IHBvZGxlJzsKJGxhbmdbJ3NvcnQnXSA9ICfFmGF6ZW4maWFjdXRlOyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdVxb5pdmF0ZWwmZWFjdXRlOyB2ZSB2eWJyYW4meWFjdXRlO2NoL3Z5YnJhbiZlYWN1dGU7IHNrdXBpbiZhYWN1dGU7Y2gvc2t1cGluxJsuJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ09tZXppdCB2JnlhY3V0ZTtzbGVka3kgZG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTmVsemUgbmFqJmlhY3V0ZTt0IHBvbG/Fvmt1IGVtYWlsIHBybyB0b2hvdG8gdcW+aXZhdGVsZS4gTmVqc3AmaWFjdXRlOyZzY2Fyb247ZSBidWRldGUgcG90xZllYm92YXQga29udGFrdG92YXQgYWRtaW5pc3RyJmFhY3V0ZTt0b3JhLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3JtdWwmYWFjdXRlO8WZZSBwcm8gemFwb21lbnV0JmVhY3V0ZTsgaGVzbG8nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9ybXVsJmFhY3V0ZTvFmWUgcHJvIHptxJtudSBuYXN0YXZlbiZpYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHN0ciZhYWN1dGU7bmt5IHBvIHDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7IConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHN0ciZhYWN1dGU7bmt5IHBvIG9kaGwmYWFjdXRlOyZzY2Fyb247ZW4maWFjdXRlOyAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1BvxZlhZCZpYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ09kc3RyYW5pdCB2JnNjYXJvbjtlY2hueSB6JmFhY3V0ZTt6bmFteSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IGplZGVuIHQmeWFjdXRlO2Rlbic7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdPZHN0cmFuaXQgdiZzY2Fyb247ZWNobnkgeiZhYWN1dGU7em5hbXkgc3RhciZzY2Fyb247JmlhY3V0ZTsgbmXFviBqZWRlbiBtxJtzJmlhY3V0ZTtjJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ09kc3RyYW5pdCB2JnNjYXJvbjtlY2hueSB6JmFhY3V0ZTt6bmFteSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnSnN0ZSBzaSBqaXN0Pyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ1phZCZhYWN1dGU7biAmc2Nhcm9uO3BhdG4meWFjdXRlOyBrJm9hY3V0ZTtkLCBwcm9zJmlhY3V0ZTttIHprdXN0ZSB0byB6bm92YSc7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnRG/EjWFzbiZ5YWN1dGU7IGsmb2FjdXRlO2QgcHJvIHZhJnNjYXJvbjtlIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vIG5lbHplIG5haiZpYWN1dGU7dCB2IGRhdGFiJmFhY3V0ZTt6aSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIGZvcm11bCZhYWN1dGU7xZllIHBybyB2ZXJpZmlrYWNpJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBmb3JtdWwmYWFjdXRlO8WZZSBwcm8gemFwb21lbnV0JmVhY3V0ZTsgaGVzbG8nOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ1Z5IG5lYm8gbsSba2RvIGppbiZ5YWN1dGU7IGppxb4gemHFviZhYWN1dGU7ZGFsIG8gcmVzZXRvdiZhYWN1dGU7biZpYWN1dGU7IGhlc2xhIHBybyB0ZW50byAmdWFjdXRlO8SNZXQuIERhbCZzY2Fyb247JmlhY3V0ZTsgaW5zdHJ1a2NlIG5hamRldGUgdmUgc3YmZWFjdXRlOyBlLW1haWxvdiZlYWN1dGU7IHNjaHImYWFjdXRlO25jZS4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhOiBQcm9ibCZlYWN1dGU7bSBzIGRhdGFiJmFhY3V0ZTt6JmlhY3V0ZTsnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnVHV0byB6cHImYWFjdXRlO3Z1IGRvc3QmYWFjdXRlO3YmYWFjdXRlO3RlLCBwcm90b8W+ZSBuxJtrZG8gemHFviZhYWN1dGU7ZGFsIG8gb2Jub3ZlbiZpYWN1dGU7IHphcG9tZW51dCZlYWN1dGU7aG8gaGVzbGEgayB2YSZzY2Fyb247ZW11ICZ1YWN1dGU7xI10dSBuYSBuYSZzY2Fyb247JmlhY3V0ZTsgc3RyJmFhY3V0ZTtuY2UuIFBva3VkIGplIHRvIHRhaywgcG9zdHVwdWp0ZSBwb2RsZSBuJmlhY3V0ZTvFvmUgdXZlZGVuJnlhY3V0ZTtjaCBpbnN0cnVrYyZpYWN1dGU7LiBQb2t1ZCBuZXR1JnNjYXJvbjsmaWFjdXRlO3RlIG8gY28gamRlLCB0YWsgdGVudG8gZS1tYWlsIGlnbm9ydWp0ZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLJm9hY3V0ZTtkJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ04mYWFjdXRlO3NsZWR1aiZpYWN1dGU7YyZpYWN1dGU7IGsmb2FjdXRlO2QgYnlsIG4mYWFjdXRlO2hvZG7EmyB2eWdlbmVyb3YmYWFjdXRlO24gcHJvIHZlcmlmaWthY2kgdcW+aXZhdGVsc2smZWFjdXRlO2hvICZ1YWN1dGU7xI10dS4gUG8ga2xlcG51dCZpYWN1dGU7IG5hIG4mYWFjdXRlO3NsZWR1aiZpYWN1dGU7YyZpYWN1dGU7IG9ka2F6IHNlIGRvc3RhbmV0ZSBuYSBzdHImYWFjdXRlO25rdSBrZGUgemFkYXQgdGVudG8gayZvYWN1dGU7ZC4gUG9sZSBqZSBzdGFuZGFyZG7EmyBqacW+IHDFmWVkdnlwbG7Em25vLiBQb2t1ZCBuZW4maWFjdXRlOywgayZvYWN1dGU7ZCBqZSB6ZGU6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnS2xlcG51dCZpYWN1dGU7bSBuYSBuJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlOyBvZGtheiBzZSBkb3N0YW5ldGUgbmEgc3RyJmFhY3V0ZTtua3UsIGtkZSBtxa/FvmV6ZSB6YWRhdCB2JnlhY3V0ZTsmc2Nhcm9uO2UgdXZlZGVuJnlhY3V0ZTsgayZvYWN1dGU7ZCBhIG9ibm92aXQgdmEmc2Nhcm9uO2UgaGVzbG86JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdaYXBvbWVudXQmZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ05lbHplIG5haiZpYWN1dGU7dCBtb2R1bCBDTVNNYWlsZXInOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnTmEgYWRyZXN1ICVzIGJ5bCB6YXNsJmFhY3V0ZTtuIGUtbWFpbCBzIGluc3RydWtjZW1pLCBqYWsgb2Jub3ZpdCB2YSZzY2Fyb247ZSBoZXNsby4gRMSba3VqZW1lJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnUG9rdWQganN0ZSB6YXBvbcSbbCBuZWJvIHp0cmF0aWwgc3YmZWFjdXRlOyBoZXNsbywgdGFrIHByb3MmaWFjdXRlO20gdnlwbMWIdGUgc3ZvamUgdcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gYSBlLW1haWxlbSBkb3N0YW5ldGUgaW5zdHJ1a2NlIGphayBwb2tyYcSNb3ZhdCBzIG9ibm92ZW4maWFjdXRlO20gdG9ob3RvIGhlc2xhJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnRm9yZ290IFBhc3N3b3JkIFRlbXBhdGVzJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBvdcW+aXQmYWFjdXRlOywgcG9rdWQgdcW+aXZhdGVsIHp0cmF0JmlhY3V0ZTsgdcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnVmxhc3Rub3N0ICVzIG5lbmFsZXplbmEnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ1ZsYXN0bm9zdGkgbmFsZXplbnknOwokbGFuZ1snYWRkcHJvcCddID0gJ1DFmWlkYXQgdmxhc3Rub3N0JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQb3Zpbm4mYWFjdXRlOyB2bGFzdG5vc3QgKCVzKSBieWxhIHByJmFhY3V0ZTt6ZG4mYWFjdXRlOyc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ1phZGVqdGUgc2VtIG5vdiZlYWN1dGU7IGhlc2xvJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnUHJhdmTEm3BvZG9ibsSbIG5lanN0ZSBwxZlpaGwmYWFjdXRlOyZzY2Fyb247ZW4nOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYWNlJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnVGVudG8gJnVhY3V0ZTvEjWV0IHZ5cHImc2Nhcm9uO2VsJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICcmU2Nhcm9uO3BhdG4meWFjdXRlOyBmb3JtJmFhY3V0ZTt0IGUtbWFpbG92JmVhY3V0ZTsgYWRyZXN5JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnTmVwbGF0biZ5YWN1dGU7IGRhdHVtIHZ5cHImc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0NoeWJhIHDFmWkgbmFzdGF2ZW4maWFjdXRlOyB2bGFzdG5vc3RpICVzIHXFvml2YXRlbGUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdOZXBsYXRuJmVhY3V0ZTsgaWQgc2t1cGlueSAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ1puYcSNa292YcSNIHNrcnl0JnlhY3V0ZTtjaCBwb2wmaWFjdXRlOyc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnQmFydmEgc2tyeXQmZWFjdXRlO2hvIHBvbGUnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tyeXQmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnVmxhc3Rub3N0IHMgdCZpYWN1dGU7bXRvIGptJmVhY3V0ZTtuZW0gamUgamnFviBkZWZpbm92JmFhY3V0ZTtuYSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZWpzb3UgZGVmaW5vdiZhYWN1dGU7bnkgxb4mYWFjdXRlO2RuJmVhY3V0ZTsgdmxhc3Rub3N0aSc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ1BybyB0dXRvIHNrdXBpbnUgbmVieWx5IHZ5YnImYWFjdXRlO255IHZsYXN0bm9zdGknOwokbGFuZ1snbm9ncm91cHMnXSA9ICfFvSZhYWN1dGU7ZG4mZWFjdXRlOyBza3VwaW55IHXFvml2YXRlbMWvIG5lanNvdSBkZWZpbm92JmFhY3V0ZTtueSc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ1NrdXBpbnkgbmFsZXplbnknOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ0plIHZ5xb5hZG92JmFhY3V0ZTtubyBwxZlpxZlhemVuJmlhY3V0ZTsgYWxlc3BvxYggZG8gamVkbiZlYWN1dGU7IHNrdXBpbnknOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1Z5xb5hZG92YXQgcMWZacWZYXplbiZpYWN1dGU7IGFsZXNwb8WIIGRvIGplZG4mZWFjdXRlOyBza3VwaW55JzsKJGxhbmdbJ2JhY2snXSA9ICdacMSbdCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgamUgcG92aW5uJmFhY3V0ZTsgcG9sb8W+a2EnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ096bmHEjWl0IHBvxb5hZG92YW4mYWFjdXRlOyBwb2xlJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ0RhbCZzY2Fyb247JmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdTa3VwaW5hIHMgdCZpYWN1dGU7bXRvIGptJmVhY3V0ZTtuZW0gdcW+IGV4aXN0dWplJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnVnnFvmFkb3ZhbiZhYWN1dGU7IHBvbG/FvmthJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnVm9saXRlbG4mYWFjdXRlOyc7CiRsYW5nWydvZmYnXSA9ICdWeXBub3V0JzsKJGxhbmdbJ3NpemUnXSA9ICdWZWxpa29zdCc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltdW0gc2l6ZSBvZiBhbnkgb25lIGRpbWVuc2lvbiBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdEJmVhY3V0ZTtsa2EnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oem5ha3kgdmUgdnN0dXBuJmlhY3V0ZTttIHBvbGkpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdQb2xvxb5reSByb3piYWxvdmFjJmlhY3V0ZTtobyBtZW51IG9kZMSbbGVuJmVhY3V0ZTsgbm92JnlhY3V0ZTttaSDFmSZhYWN1dGU7ZGt5JzsKJGxhbmdbJ3Byb21wdCddID0gJ1YmeWFjdXRlO3p2YSc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmllbGQgU3RhdHVzJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0FzayBpbiBMb3N0PGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGV4dCc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0IExpc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydlbWFpbCddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdSb3piYWxvdmFjJmlhY3V0ZTsgam1lbnUnOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWJmlhY3V0ZTt0ZWp0ZSc7CiRsYW5nWydsb2dvdXQnXSA9ICdPZGhsJmFhY3V0ZTtzaXQnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ1VzZSB0aGlzIGdyb3VwIG5hbWUnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnVXByYXZpdCBtJmFhY3V0ZTsgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ1DFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7IHNlbGhhbG8gLSAmc2Nhcm9uO3BhdG4mZWFjdXRlOyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBuZWJvIGhlc2xvPyc7CiRsYW5nWydsb2dpbiddID0gJ1DFmWlobCZhYWN1dGU7c2l0JzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnSGVzbG8nOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdSZW1lbWJlciBtZSBvbiB0aGlzIGNvbXB1dGVyJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cm92YXQnOwokbGFuZ1snZm9yZ290cHcnXSA9ICdaYXBvbWVudXQmZWFjdXRlOyBoZXNsbz8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnRm9yZ290IFlvdXIgTG9naW4gRGV0YWlscz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdWJnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1XFvml2YXRlbHNrJmVhY3V0ZTsgSUQgbmVuYWxlemVubyc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVG90byB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyAoJXMpIGppxb4gbsSba2RvIHBvdcW+JmlhY3V0ZTt2JmFhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1BvdcW+JmlhY3V0ZTt2YXQgU01UUCBwcm8gdmFsaWRhY2kgZS1tYWlsb3YmeWFjdXRlO2NoIGFkcmVzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbSZhYWN1dGU7bG4maWFjdXRlOyBkJmVhY3V0ZTtsa2EgaGVzbGEnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTsgZCZlYWN1dGU7bGthIGhlc2xhJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltJmFhY3V0ZTtsbiZpYWN1dGU7IGQmZWFjdXRlO2xrYSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gam0mZWFjdXRlO25hJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltJmFhY3V0ZTtsbiZpYWN1dGU7IGQmZWFjdXRlO2xrYSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gam0mZWFjdXRlO25hJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gVGltZW91dCAoc2Vjb25kcyknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQWxsb3cgRW1haWwgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdWJnlhY3V0ZTtjaG96JmlhY3V0ZTsgc2t1cGluYSBwcm8gbm92JmVhY3V0ZTsgdcW+aXZhdGVsZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBybyB6bcSbbnUgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnSGVzbGEgbmVqc291IHN0ZWpuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnQ2h5Ym4mZWFjdXRlOyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdDaHl5Ym4mZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXRvdmF0IHXFvml2YXRlbGUnOwokbGFuZ1sndmFsaWQnXSA9ICdQbGF0biZlYWN1dGU7JzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3Rhdic7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUZW50byB1xb5pdmF0ZWwgbmVuJmlhY3V0ZTsgcMWZacWZYXplbiBkbyDFviZhYWN1dGU7ZG4meWFjdXRlO2NoIHNrdXBpbic7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgdmxhc3Rub3N0aSc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0ltcG9ydG92YXQgZHVwbGlrJmFhY3V0ZTt0biZpYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1sndmFsdWUnXSA9ICdIb2Rub3RhJzsKJGxhbmdbJ2dyb3VwcyddID0gJ1NrdXBpbnknOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1ZsYXN0bm9zdGknOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOJmFhY3V0ZTt6ZXYgdmxhc3Rub3N0aSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdIb2Rub3RhIHZsYXN0bm9zdGknOwokbGFuZ1snYWRkJ10gPSAnUMWZaWRhdCc7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWUnOwokbGFuZ1snZWRpdCddID0gJ0VkaXRvdmF0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWeXByJnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZmlrdWp0ZSBkYXR1bSc7CiRsYW5nWycxMmhycyddID0gJzEyIGhvZGluJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgaG9kaW4nOwokbGFuZ1snNDhocnMnXSA9ICc0OCBob2Rpbic7CiRsYW5nWycxd2VlayddID0gJzEgdCZ5YWN1dGU7ZGVuJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdCZ5YWN1dGU7ZG55JzsKJGxhbmdbJzFtb250aCddID0gJzEgbcSbcyZpYWN1dGU7Yyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtxJtzJmlhY3V0ZTtjZSc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBtxJtzJmlhY3V0ZTtjxa8nOwokbGFuZ1snMXllYXInXSA9ICcxIHJvayc7CiRsYW5nWyduZXZlciddID0gJ05pa2R5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsICZ1YWN1dGU7c3DEmyZzY2Fyb247bsSbIG5haW5zdGFsb3YmYWFjdXRlO24uPGJyLz5OZXphcG9tZcWIdGUgbmFzdGF2aXQgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7ICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnWm5vdmEnOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ1N1cGluYSBzIHQmaWFjdXRlO210byBuJmFhY3V0ZTt6dmVtIGppxb4gZXhpc3R1amUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdG92YXQgc2t1cGludSc7CiRsYW5nWydzdWJtaXQnXSA9ICdQb3R2cmRpdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2l0JzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1Z5bWF6YXQnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdKc3RlIHNpIGppc3Qgxb5lIHRvdG8gamUgc3ByJmFhY3V0ZTt2biZlYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsgcHJvIHR1dG8gc2t1cGludT9cbiBWeXBudXQmaWFjdXRlO20gdmxhc3Rub3N0aSBzZSBuZXNtYcW+b3Ugxb4mYWFjdXRlO2RuJmVhY3V0ZTsgJnVhY3V0ZTtkYWplIHZlIHZsYXN0bm9zdGVjaCB0b2hvdG8gdcW+aXZhdGVsZS9za3VwaW55LiAnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0pzdGUgc2kgamlzdCDFvmUgY2hjZXRlIHNtYXphdCB0dXRvIHNrdXBpbnU/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdPcHJhdmR1IGNoY2V0ZSBrb21wbGV0bsSbIHNtYXphdCB0dXRvIHZsYXN0bm9zdD9cblQmaWFjdXRlO20gc2UgdnltYcW+b3UgaSB2JnNjYXJvbjtlY2hueSBob2Rub3R5IHQmZWFjdXRlO3RvIHZsYXN0bm9zdGkgdSB1xb5pdmF0ZWzFry4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTmVkb3N0YXRlxI1uJmVhY3V0ZTsgcGFyYW1ldHJ5JzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ0ptJmVhY3V0ZTtubyc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1DFmWkgcMWZaWQmYWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyB2bGFzdG5vc3RpIGRvJnNjYXJvbjtsbyBrIGNoeWLEmyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAgcmVsYXRpb24nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY2FudGFzc2lnbnVzZXInXSA9ICdQcm9ibGVtIGFkZGluZyBhIHVzZXIgdG8gYSBncm91cCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbSBkZWxldGluZyBhIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnTm8gd3JpdGUgcGVybWlzc2lvbiB0byBkZXN0aW5hdGlvbiBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJyZTY2Fyb247cGF0biZlYWN1dGU7IHBhcmFtYXRyeSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ05lYnlseSBuYWxlemVueSDFviZhYWN1dGU7ZG4mZWFjdXRlOyBza3VwaW55JzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnUG91xb4maWFjdXRlO3QnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdHInOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ1JlZ3VsJmFhY3V0ZTtybiZpYWN1dGU7IHYmeWFjdXRlO3JheiBwcm8gdcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOJmFhY3V0ZTt6ZXYgc2t1cGlueSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQxZkmaWFjdXRlO3N0dXAgb2RlcMWZZW4nOwokbGFuZ1snZXJyb3InXSA9ICdDaHliYSc7CiRsYW5nWydhZGRncm91cCddID0gJ1DFmWlkYXQgc2t1cGludSc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydG92YXQgc2t1cGludSc7CiRsYW5nWydhZGR1c2VyJ10gPSAnUMWZaWRhdCB1xb5pdmF0ZWxlJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVxb5pdmF0ZWwmZWFjdXRlOyBzcGzFiHVqJmlhY3V0ZTtjJmlhY3V0ZTsgdnlobGVkJmFhY3V0ZTt2YWMmaWFjdXRlOyBrcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ1NrdXBpbmEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWeWJyYXQgc2t1cGludSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBwcm8gcmVnaXN0cmFjaSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBwcm8gb2RobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmEgcHJvIHDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUMWZZWR2b2xieSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvml2YXRlbCZlYWN1dGU7JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NwciZhYWN1dGU7dmEgZnJvbnRlbmQgdcW+aXZhdGVsxa8nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTcHJhdm92YXQgZnJvbnRlbmQgdcW+aXZhdGVsZSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnViZ5YWN1dGU7Y2hveiZpYWN1dGU7IHN0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdTdHImYWFjdXRlO25rYSBzIHBvc2xlZG4maWFjdXRlO20gcMWZJmlhY3V0ZTtzdHVwZW0nOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnSmluJmFhY3V0ZTsgc3RyJmFhY3V0ZTtua2E6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnT3BpJnNjYXJvbjt0ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjxwPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4NCiAgICA8cD5TdGFydCBzcGxpdHRpbmcgdGhlIGNvZGUgdXAgaW50byBzZXZlcmFsIGZpbGVzPC9wPg0KPC9saT4nOwokbGFuZ1snaGVscCddID0gJzxoMz5DbyBkxJtsJmFhY3V0ZTsgdGVudG8gbW9kdWw/PC9oMz4NCjxwPlRlbnRvIG1vZHVsIHVtb8W+xYh1amUgc3ByJmFhY3V0ZTt2dSBmcm9udGVuZCB1xb5pdmF0ZWzFryAodGVkeSB1xb5pdmF0ZWzFrywga3RlxZkmaWFjdXRlOyBzZSB6YXJlZ2lzdHJvdmFsaSBwcm8geiZpYWN1dGU7c2smYWFjdXRlO24maWFjdXRlOyBzcGVjaSZhYWN1dGU7bG4maWFjdXRlO2NoIG1vxb5ub3N0JmlhY3V0ZTssIG5lbWFqJmlhY3V0ZTsgYWxlIHDFmSZpYWN1dGU7c3R1cCBrIGFkbWluaXN0cmHEjW4maWFjdXRlO211IHJvemhyYW4maWFjdXRlOyB3ZWJ1KS4gVW1vxb7FiHVqZSB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgc2t1cGluIHXFvml2YXRlbMWvLCB1xb5pdmF0ZWxzayZ5YWN1dGU7Y2ggJnVhY3V0ZTvEjXTFryBhIHDFmWlobGEmc2Nhcm9uO292JmFhY3V0ZTtuJmlhY3V0ZTsgKG9kaGxhJnNjYXJvbjtvdiZhYWN1dGU7biZpYWN1dGU7KSB1xb5pdmF0ZWzFry4gU2Nob3Bub3N0aSB0b2hvdG8gbW9kdWx1IHZ5dcW+JmlhY3V0ZTt2JmFhY3V0ZTsgbsSba29saWsgamluJnlhY3V0ZTtjaCBtb2R1bMWvLCBuYXDFmSZpYWN1dGU7a2xhZCAmcXVvdDtVxb5pdmF0ZWxzayZ5YWN1dGU7IG9ic2FoJnF1b3Q7IG5lYm8gJnF1b3Q7RiZvYWN1dGU7cnVtJnF1b3Q7LjwvcD4NCjxoMz5GdW5rY2U8L2gzPg0KPHVsPg0KPGxpPjxwPlZ5cHImc2Nhcm9uO2VuJmlhY3V0ZTsgcGxhdG5vc3RpIHXFvml2YXRlbHNrJnlhY3V0ZTtjaCAmdWFjdXRlO8SNdMWvLiAgTcWvxb5ldGUgdnl0diZhYWN1dGU7xZlldCBkb8SNYXNuJmVhY3V0ZTsgdcW+aXZhdGVsZTwvcD48L2xpPg0KPGxpPjxwPlZsYXN0bm9zdGkgc2t1cGluLiBQxZkmaWFjdXRlO3NsdSZzY2Fyb247biZpYWN1dGU7a8WvIHLFr3puJnlhY3V0ZTtjaCBza3VwaW4gc2UgbcWvxb5ldGUgcHQmYWFjdXRlO3QgbmEgcsWvem4mZWFjdXRlOyB2xJtjaS48L3A+PC9saT4NCjxsaT48cD5Nb8W+bm9zdCBzcHImYWFjdXRlO3Z5IHN0b3ZlayB1xb5pdmF0ZWzFrzwvcD48L2xpPg0KPGxpPjxwPk9ic2FodWplIHJvenMmYWFjdXRlO2hsJmVhY3V0ZTsgQVBJIHBybyBwxZlpZCZhYWN1dGU7diZhYWN1dGU7biZpYWN1dGU7IGZ1bmtjJmlhY3V0ZTs8L3A+PC9saT4NCjwvdWw+DQo8aDM+SmFrIGhvIG1vaHUgcG91xb4maWFjdXRlO3Q8L2gzPg0KPHVsPg0KPGxpPjxwPlBvIGluc3RhbGFjaSBuYWxlem5ldGUgYWRtaW5pc3RyYcSNbiZpYWN1dGU7IHJvemhyYW4maWFjdXRlOyBtb2R1bHUgdiBtZW51IFXFvml2YXRlbCZlYWN1dGU7L1NrdXBpbnkgamFrbyAmcXVvdDtTcHImYWFjdXRlO3ZhIGZyb250ZW5kIHXFvml2YXRlbMWvJnF1b3Q7PC9wPjwvbGk+DQo8bGk+DQo8cD5NxJtsaSBieXN0ZSB0YWsmZWFjdXRlOyBkZWZpbm92YXQgdmxhc3Rub3N0aS4gVmxhc3Rub3N0aSBqc291IG51dG4mZWFjdXRlOyBkZWZpbmljZSBwb2wmaWFjdXRlOywgemRlIHVwxZllc24maWFjdXRlO3RlIHR5cCBpbmZvcm1hYyZpYWN1dGU7LCBrdGVyJmVhY3V0ZTsgY2hjZXRlIHNocm9tJmFhY3V0ZTvFvmRpdCBvIHXFvml2YXRlbCZpYWN1dGU7Y2gsIG5hcMWZLiBKbSZlYWN1dGU7bm8sIFbEm2ssIE3Em3N0bywuLi48L3A+DQo8cD48Yj5Qb3puJmFhY3V0ZTtta2E6PC9iPiBOZW11cyZpYWN1dGU7dGUgdnl0diZhYWN1dGU7xZlldCB2bGFzdG5vc3RpIHBybyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBhIGhlc2xvLCB0eXRvIGJ1ZG91IHZ5dHZvxZllbnkgYXV0b21hdGlja3kuPC9iPg0KPC9saT4NCjxsaT48cD5Qb3QmZWFjdXRlOyBieXN0ZSBtxJtsaSB2eXR2b8WZaXQgamVkbnUgbmVibyB2JmlhY3V0ZTtjZSBza3VwaW4gdcW+aXZhdGVsxa8uIFDFmWkgdnl0diZhYWN1dGU7xZllbiZpYWN1dGU7IHNrdXBpbnkgbXVzJmlhY3V0ZTt0ZSB2bG/Fvml0IGplaiZpYWN1dGU7IGptJmVhY3V0ZTtubywgcG9waXNlaywgcMWZacWZYWRpdCB2bGFzdG5vc3RpIGsgdCZlYWN1dGU7dG8gc2t1cGluxJsgYSBuYXN0YXZpdCBqZWppY2ggbW/Fvm5vc3RpICh6ZGEgamUgdmxhc3Rub3N0IHZvbGl0ZWxuJmFhY3V0ZTssIHZ5xb5hZG92YW4mYWFjdXRlOywgbmVibyB6ZGEgamRlIG8gc2tyeXQmZWFjdXRlOyBwb2xlPGk+KHBvbGUgbcWvxb5lIGImeWFjdXRlO3QgdGFrJmVhY3V0ZTsgdnlwbnV0JmVhY3V0ZTspPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPlBvem4mYWFjdXRlO21rYTo8L2I+IFDFmWVkIHBva3JhxI1vdiZhYWN1dGU7biZpYWN1dGU7bSBzZSBwcm9zJmlhY3V0ZTttIHVqaXN0xJt0ZSwgxb5lIHZsYXN0bm9zdGkganNvdSBuYXN0YXZlbnkgc3ByJmFhY3V0ZTt2bsSbLjwvcD48L2xpPg0KPGxpPjxwPk4mYWFjdXRlO3NsZWRuxJsgYnlzdGUgbcSbbGkgdnl0dm/FmWl0IG7Em2phayZlYWN1dGU7IHXFvml2YXRlbGUuIFDFmWlkJmFhY3V0ZTtuJmlhY3V0ZTsgdcW+aXZhdGVsZSBzZSBza2wmYWFjdXRlO2QmYWFjdXRlOyB6ZSBkdm91IGtyb2vFry4gTmVqcHJ2ZSBtdXMmaWFjdXRlO3RlIHVyxI1pdCB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBhIGhlc2xvLCBwxZkmaWFjdXRlO3BhZG7EmyB0YWsmZWFjdXRlOyBkYXR1bSB2eXByJnNjYXJvbjtlbiZpYWN1dGU7IHRvaG90byAmdWFjdXRlO8SNdHUuIFBvdCZlYWN1dGU7IHZ5YmVydGUgc2t1JnVhY3V0ZTtpbnksIGppY2jFviBidWRlIHRlbnRvIHXFvml2YXRlbCDEjWxlbmVtIGEga2xpa27Em3RlIG5hIFwmIzAzOTtEYWwmc2Nhcm9uOyZpYWN1dGU7XCYjMDM5OzwvcD4NCjxwPjxlbT5Qb3puJmFhY3V0ZTtta2E6IDwvZW0+VG90byBqZSBuJmFhY3V0ZTtyb8SNbiZ5YWN1dGU7IGEgbnVkbiZ5YWN1dGU7IHByb2NlcywgamVkbm9kdSZzY2Fyb247JnNjYXJvbjsmaWFjdXRlOyBqZSBuZWNoYXQgdcW+aXZhdGVsZSBzYW1vc3RhdG7EmyByZWdpc3Ryb3ZhdCA8ZW0+UG9kJmlhY3V0ZTt2ZWp0ZSBzZSBuYSBtb2R1bCBTZWxmIFJlZ2lzdHJhdGlvbjwvZW0+LCBwb3QmZWFjdXRlOyBqZSBtxb5ldGUgemHFmWFkaXQgZG8gc2t1cGlueS4gUHJvICZ1YWN1dGU7xI1lbHkgdnl6a291JnNjYXJvbjtlbiZpYWN1dGU7IGZ1bmvEjW5vc3RpIHByb3MmaWFjdXRlO20gdnl0dm/FmXRlIG5lam0mZWFjdXRlO27EmyBqZWRub2hvIHXFvml2YXRlbGUuPC9wPjwvbGk+DQo8bGk+PHA+TiZhYWN1dGU7c2xlZG7EmyBqZSB0xZllYmEgdnlwbG5pdCB2bGFzdG5vc3RpIGRlZmlub3ZhbiZlYWN1dGU7IHBybyBkYW4mZWFjdXRlO2hvIHXFvml2YXRlbGUsIGFieSBieWxvIGplaG8gdnl0dm/FmWVuJmlhY3V0ZTsgZG9rb27EjWVubzwvcD48L2xpPg0KPGxpPjxwPk55biZpYWN1dGU7IGplIHYmc2Nhcm9uO2UgcMWZaXByYXZlbm8gcHJvIHDFmWlkJmFhY3V0ZTtuJmlhY3V0ZTsgZnJvbnRlbmRvdiZlYWN1dGU7IGZ1bmvEjW5vc3RpIGsgdmEmc2Nhcm9uO2VtdSBtb2R1bHUuICBUbyBqZSBqZWRub2R1Y2gmZWFjdXRlOy4gUMWZaWRlanRlIHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gZG8gVmEmc2Nhcm9uOyZpYWN1dGU7IHN0ciZhYWN1dGU7bmt5IG5lYm8gJnNjYXJvbjthYmxvbnkuPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg4MDI2NzgzNy4xMTgwOTkxNjY5LjExOTMzMTY5NjUuMTE5MzMxODgyOS4xMzAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTkzMjE0Mzk1LjExOC4yOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vdHJhY2tlci9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnRGV0YWxqZXJldCBrYWJlbG9uIGZvciBtaXN0ZXQgYnJ1Z2VybmF2bic7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jla3ImYWVsaWc7ZnRlbHNlcyBza2FiZWxvbiBmb3IgbWlzdGV0IGJydWdlcm5hdm4nOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdGZWpsOiBNZXJlIGVuZCBlbiBicnVnZXIgcGFzc2VyIHRpbCBkZSBhbmdpdm5lIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRmVqbDogS3VubmUgaWtrZSBmaW5kZSBlbiBicnVnZXIgbWVkIGRlIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0Zlamw6IEt1bm5lIGlra2UgZmluZGUgZW4gZ3J1cHBlIG1lZCBkZXQgbmF2bic7CiRsYW5nWydyZWFkb25seSddID0gJ1Nrcml2ZWJlc2t5dHRldCc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnVXNlciBNYW5pcHVsYXRvciBDbGFzcyc7CiRsYW5nWydhZG1pbl9sb2dnb3V0J10gPSAnRHUgZXIgYmxldmV0IGxvZ2dldCBhZiBhZiBhZG1pbmlzdHJhdG9yZW4nOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ1ZpcyBrdW4gYnJ1Z2VyZSwgZGVyIGVyIGxvZ2dldCBpbmQnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZyBkZW5uZSBicnVnZXIgYWYnOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnQnJ1Z2VyIGVnZW5za2FiZXInOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdCcnVnZXIgaGlzdG9yaWUnOwokbGFuZ1snZXhwb3J0J10gPSAnRWtzcG9ydCZlYWN1dGU7cic7CiRsYW5nWydjbGVhciddID0gJ1J5ZCc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFa3Nwb3J0JmVhY3V0ZTtyIGJydWdlciBoaXN0b3JpayB0aWwgQVNDSUkgc29tIGVyIG1lcmUgZW5kJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnU2xldCBicnVnZXIgaGlzdG9yaWsgZGVyIGVyIG1lcmUgZW5kJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ01pc3RldCBicnVnZXJuYXZuIHN1cHBvcnQgZm9ydW0nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRWtzcG9ydCZlYWN1dGU7ciBncnVwcGUgZGVmaW5pdGlvbmVyIChvZyBlZ2Vuc2thYmVyKSB0aWwgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdWZWRsaWdlaG9sZCBicnVnZXIgaGlzdG9yaWUnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWonOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnQWYnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogSW5nZW4gYmVnciZhZWxpZztuc25pbmcgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnRW4gdGltZSBnYW1tZWwnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnU2VrcyB0aW1lciBnYW1tZWwnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVG9sdiB0aW1lciBnYW1tZWwnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdFbiBkYWcgZ2FtbWVsJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0VuIHVnZSBnYW1tZWwnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1RvIHVnZXIgZ2FtbWVsJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdFbiBtJmFyaW5nO25lZCBnYW1tZWwnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RyZSBtJmFyaW5nO25lZGVyIGdhbW1lbCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1Nla3MgbSZhcmluZztuZWRlciBnYW1tZWwnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnRXQgJmFyaW5nO3IgZ2FtbWVsJzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ0dydXBwZXJpbmcgb2cgc29ydGVyaW5nJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdQb3N0ZXIsIGRlciBtYXRjaGVyIGtyaXRlcmlldCc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ0ZhbGRlbmRlIGJydWdlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1N0aWdlbmRlIGJydWdlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0ZhbGRlbmRlIGRhdG9vcmRlbic7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdTdGlnZW5kZSBkYXRvb3JkZW4nOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnRmFsZGVuZGUgYmVnaXZlbmhlZHNrYXRlZ29yaSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1N0aWdlbmRlIGJlZ2l2ZW5oZWRza2F0ZWdvcmknOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnRmFsZGVuZGUgSVAgYWRyZXNzZSBvcmRlbic7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ1N0aWdlbmRlIElQIGFkcmVzc2Ugb3JkZW4nOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0luZ2VuIGhpc3RvcmllIGZ1bmRldCc7CiRsYW5nWydyZXNldCddID0gJ051bHN0aWwnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cHAmZWFjdXRlO3IgZWZ0ZXIgSVAgYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0gmYWVsaWc7bmRlbHNlcyB0eXBlIGZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdWaXMga3VuIGJlZ2l2ZW5oZWRlciwgZGVyIGVyIG1pbmRyZSBlbmQ6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTaWRlIGJlZ3ImYWVsaWc7c25pbmcnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnQnJ1Z2VyIGhpc3RvcmllIHJhcHBvcnQnOwokbGFuZ1sndW5rbm93biddID0gJ1VrZW5kdCc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnQmVnaXZlbmhlZHNrYXRlZ29yaSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdG8nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1RpbGJhZ2UnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBrb21wbGV0JzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0xpbmllciBiZWFyYmVqZGV0JzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdGZWpsIGZ1bmRldCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUG9zdGVyIHRpbGYmb3NsYXNoO2pldCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnS3VubmUgaWtrZSBmcmluZGUgZWdlbnNrYWJlciBmb3IgZ3J1cHBlbiAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0ZpayBpbnRldCBzdmFyIGZyYSBTTVRQLXNlcnZlcmVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0RlbiBhbmdpdm5lIGZpbCAoJXMpIGt1bm5lIGlra2UgZmluZGVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdGZWpsYWd0aWcgdiZhZWxpZztyZGlnIGZvciBkcm9wZG93biBlbGxlciBtdWx0aXNlbGVjdCBmZWx0ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmVsdCAlcyBlciBtZXJlIGVuZCBkZW4gbWFrc2ltYWxlIGwmYWVsaWc7bmdkZSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBmZWpsIChsaW5pZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIGVnZW5za2Fic2RlZmluaXRpb25zbiAoaW50ZXJuIGZlamwpJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIGVuIHMmb3NsYXNoO2psZSBkZXIgc3ZhcmVyIHRpbCBkZXQga3ImYWVsaWc7dmVkZSBmZWpsdCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0t1bm5lIGlra2UgZmluZGUgZWdlbnNrYWJlciBmb3IgZGVuIHZhbGd0ZSBncnVwcGUnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0RlbiB2YWxndGUgZmlsIHRpbCBpbXBvcnQgZXIgaWtrZSBpIGRldCBrb3JyZWt0ZSBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0t1bm5lIGlra2UgJmFyaW5nO2JuZSBmaWwnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0ZXIgYnJ1Z2VyZSBpIGRlbm5lIGdydXBwZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbmRzJmFlbGlnO3QgQ1NWIGZpbCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0luZHMmYWVsaWc7dCBYTUwgZmlsJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0Vrc3BvcnQmZWFjdXRlO3IgYnJ1Z2VyZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRlciBicnVnZXJlJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1J5ZCc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0JpbGxlZCBkZXN0aW5hdGlvbnMgbWFwcGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdFdCBwcm9ibGVtIG9wc3RvZCB2ZWQgZW4gbWFuZ2xlbmRlIChtZW4gcCZhcmluZztrciZhZWxpZzt2ZXQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnS3VubmUgaWtrZSBvdmVycyZhZWxpZzt0dGUgZGVuIGFuZ2l2bmUgWE1MIGZpbCc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGlra2Ugc2xldHRlIGVuIGdydXBwZSwgZGVyIHN0YWRpZyBpbmRlaG9sZGVyIGJydWdlcmUuJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZW5uZSBicnVnZXIgZXIgYWxsZXJlZGUgbG9nZ2V0IGluZCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxsZWRlciBibGV2IGlra2Ugc2tyZXZldCBrb3JyZWt0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdUaWxsYWQgYnJ1Z2VyZSBhdCB2JmFlbGlnO3JlIGxvZ2dldCBpbmQgZmxlcmUgZ2FuZ2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0JpbGxlZGZpbC10eXBlciBzb20gYnJ1Z2VyZSBtJmFyaW5nOyB1cGxvYWQmIzAzOTtlJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxoMz5PbkxvZ291dDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPGgzPk9uRXhwaXJlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbiB0byB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGlzIGV4cGlyZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyB1c2VyIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaW5mbyBpcyB1cGRhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGFjY291bnQgaXMgZGVsZXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgZGVsZXRlZCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBncm91cCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2VkIGluIHRoZXNlIGZpZWxkczogeyR1c2VybmFtZX0nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1JldCBpIGRldHRlIGZlbHQgZm9yIGF0IG51bHN0aWxsZSBicnVnZXJlbnMga29kZW9yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUmV0IGkgZGV0dGUgZmVsdCBmb3IgYXQgbnVsc3RpbGxlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0VuIGJydWdlciBtZWQgZGV0YnJ1Z2VybmF2biBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0wmYWVsaWc7bmdkZSBwJmFyaW5nOyBmZWx0ZXQgYnJ1Z2VybmF2bic7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMJmFlbGlnO25nZGUgcCZhcmluZzsgZmVsdGV0IGtvZGVvcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9tYWtzIGwmYWVsaWc7bmdlIHAmYXJpbmc7IGtvZGVvcmRldCBlciBpa2tlIGd5bGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL21ha3MgbCZhZWxpZztuZ2UgcCZhcmluZzsgYnJ1Z2VybmF2bmV0IGVyIGlra2UgZ3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdVZ3lsZGlnIGVtYWlsIGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdWaSBrdW5uZSBpa2tlIGZpbmRlIGVuIGVtYWlsIGFkcmVzc2UgZm9yIGRlbm5lIGtvbnRvJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdGZWpsIHZlZCBpbmRzJmFlbGlnO3RuaW5nIGFmIGJydWdlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnQnJ1Z2VyIHRpbGYmb3NsYXNoO2pldCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0JydWdlciBzbGV0dGV0IHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VnZW5za2FiJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWJmFlbGlnO3JkaSAocmVndWwmYWVsaWc7cnVkdHJ5ayknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdBZHZhcnNlbDogZGlzc2UgZmVsdGVyIHAmYXJpbmc7dmlya2VyIHN0Jm9zbGFzaDtycmVsc2UgcCZhcmluZzsgaW5wdXQgZmVsdGVyIGZvciBmb3JtdWxhcmVyLiBEZXQga2FuIGlra2UgYW5iZWZhbGVzIGF0ICZhZWxpZztuZHJlIGRpc3NlIHRhbCBwJmFyaW5nOyBhbGxlcmVkZSBlbiBla3Npc3RlcmVuZGUgc2lkZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnUmVkaWcmZWFjdXRlO3IgYWRtaW5pc3RyYXRpb25zIGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdFbWFpbC1hZHJlc3NlIGFsbGVyZWRlIGkgYnJ1Zyc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVc2UgY29va2llcyB0byByZW1lbWJlciBsb2dpbiBkZXRhaWxzJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ1RpbGxhZCBpZGVudGlza2UgZW1haWwtYWRyZXNzZXInOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnQXR0ZW1wdCB0byBrZWVwIGxvZ2lucyBhbGl2ZSBieSB0aGUgdXNlIG9mIGEgY29va2llIDxlbT4odGhlIGNvb2tpZSBpcyByZXNldCBvbiBhY3Rpdml0eSBpbiB0aGUgd2Vic2l0ZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcodGlsbGFkIGZsZXJlIGJydWdlcmUgbWVkIHNhbW1lIGVtYWlsIGFkcmVzc2UpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbGFkIG1lcmUgZW5kIGVuICZxdW90O2dsZW10IGtvZGVvcmQmcXVvdDsgcCZhcmluZzttaW5kZWxzZT8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKHRpbGxhZCBhdCBlbiBicnVnZXIgZiZhcmluZztyIG11bGlnaGVkIGZvciBhdCAmYWVsaWc7bmRyZSBzaXQga29kZW9yZCwgc2Vsdm9tIGRlbm5lIGlra2UgaGFyIHJlYWdlcmV0IHAmYXJpbmc7IGVuIHRpZGxpZ2VyZSBmb3Jlc3Amb3NsYXNoO2dzZWwpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1RoZXJlIHdhcyBhIHByb2JsZW0gd2l0aCB5b3VyIHVwbG9hZGVkIGZpbGUuICBQbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IGluZHRhc3RlZGUgaWtrZSBldCBicnVnZXJuYXZuJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ0R1IGluZHRhc3RlZGUgaWtrZSBldCBrb2Rlb3JkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBCcnVnZXIgTG9nIFVkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIEJydWdlciBMb2cgSW5kJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRGVubmUgZnVua3Rpb24gZnVuZ2VyZXIgaWtrZSBpIHdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ0RvIG5vdCBjcmVhdGUgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUsIG9yIHNvbWUgc3VjaCB0aGluZyBhcyB0aGlzIGlzIGJ1aWx0aW4gdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFa3Nwb3J0ZXIgYnJ1Z2VyIHRpbCBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdSZWRpZ2VyIGVnZW5za2FiZXInOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrcy4gbCZhZWxpZztuZ2RlJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdPcHJldHRldCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0ZXIgZWZ0ZXInOwokbGFuZ1snc29ydCddID0gJ1NvcnRlcmVyJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ0JydWdlcmUgaSBkZShuKSB2YWxndGUgZ3J1cHBlKHIpJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0JlZ3ImYWVsaWc7bnMgcmVzdWx0YXRlciB0aWwnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnS3VubmUgaWtrZSBmaW5kZSBldCBlbWFpbCBmZWx0IGZvciBkZW5uZSBicnVnZXIuIEtvbnRha3Qgc3lzdGVtIGFkbWluaXN0cmF0b3Jlbi4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydGVyaW5nc29yZGVuJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiB1Z2UgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2cnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnRGlnIHNlbHYgZWxsZXIgZW4gYW5kZW4gaGFyIGFsbGVyZWRlIGJlZHQgb20gYXQgZiZhcmluZzsgbnVsc3RpbGxldCBrb2Rlb3JkZXQgZm9yIGRlbm5lIGJydWdlci4gQ2hlY2sgZGluIGVtYWlsIC0gZHUgaGFyIG11bGlndmlzIGYmYXJpbmc7ZXQgeWRlcmxpZ2VyZSBpbnN0cnVrdGlvbmVyIG9tIGh2b3JkYW4gZHUgbnVsc3RpbGxlciBkaXQga29kZW9yZCBpIGRpbiBtYWlsYm9rcy4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGZlamwnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnRHUgbW9kdGFnZXIgZGVubmUgYmVza2VkLCBkYSBub2dlbiBoYXIgZ2l2ZXQgdm9yZXMgc2l0ZSBiZXNrZWQgb20gYXQgZHUgaGFyIG1pc3RldCBkaXQga29kZW9yZC4gSHZpcyBkZXR0ZSBlciByaWd0aWd0LCBzJmFyaW5nOyBsJmFlbGlnO3MgbmVkZW5zdCZhcmluZztlbmRlIGluc3RydWt0aW9uZXIuIEh2aXMgZHUgaWtrZSBoYXIgbWlzdGV0IGRpdCBrb2Rlb3JkIGthbiBkdSBzbGV0dGUgZGVubmUgYmVza2VkIG9nIHZpIHVuZHNreWxkZXIgdWxlamxpZ2hlZGVuLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0NvZGUnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnVGhlIGZvbGxvd2luZyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCByYW5kb21seSBnZW5lcmF0ZWQgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoZSB1c2VyIGFjY291bnQuICB3aGVuIHlvdSBjbGljayBvbiB0aGUgbGluayBiZWxvdyB5b3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGZpZWxkIHRvIGVudGVyIHRoaXMgY29kZS4gIE5vcm1hbGx5IHRoZSBmaWVsZCBpcyBwcmUtY29tcGxldGVkIGZvciB5b3UsIGJ1dCBpbmNhc2UgaXQgaXNuJiMwMzk7dCB0aGUgY29kZSBpczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdIdmlzIGR1IGtsaWtrZXIgcCZhcmluZzsgZGV0IGYmb3NsYXNoO2xnZW5kZSBsaW5rLCB2aWwgZHUgYmxpdmUgc2VuZHQgdGlsIGhqZW1tZXNpZGVuLCBodm9yIGR1IGthbiBpbmR0YXN0ZSBvdmVuc3QmYXJpbmc7ZW5kZSBrb2RlIG9nIG51bHN0aWxsZSBkaXQga29kZW9yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsZW10IGtvZGVvcmQnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIENNU01haWxlci1tb2R1bGV0JzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0RlciBlciBibGV2ZXQgc2VuZHQgZW4gZW1haWwgdGlsICVzIG1lZCBpbnN0cnVrdGlvbmVyIG9tIGh2b3JkYW4gZHUgbnVsc3RpbGxlciBkaXQga29kZW9yZC4gVGFrLic7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ0hhciBkdSBtaXN0ZXQgZGl0IGtvZGVvcmQ/IEluZHRhc3QgZGl0IGJydWdlcm5hdm4gaGVyIG9nIGh2aXMgdmkga2FuIGZpbmRlIGRpZyBpIHZvcmVzIGRhdGFiYXNlLCB2aWwgdmkgc2VuZGUgZGlnIGVuIGVtYWlsIG1lZCBpbnN0cnVrdGlvbmVyIHRpbCBodm9yZGFuIGR1IG51bHN0aWxsZXIgZGl0IGtvZGVvcmQuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnRm9yZ290IFBhc3N3b3JkIFRlbXBhdGVzJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ01pc3RldCBicnVnZXJuYXZuIHNrYWJlbG9uJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VnZW5za2FiZW4gJXMgaWtrZSBmdW5kZXQnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ0VnZW5za2FiZXIgZnVuZGV0JzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdUaWxmJm9zbGFzaDtqIGVnZW5za2FiJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdFdCBuJm9zbGFzaDtkdmVuZGlndCBmZWx0ICglcykgdmFyIHRvbXQnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdJbmR0YXN0IGV0IG55dCBrb2Rlb3JkIGhlciBmb3IgYXQgJmFlbGlnO25kcmUgZGl0IGtvZGVvcmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdEdSBlciBpa2tlIGxvZ2dldCBpbmQnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZXJpbmcnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdEZW5uZSBrb250byBlciB1ZGwmb3NsYXNoO2JldCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnVWd5bGRpZyB1ZGwmb3NsYXNoO2JzZGF0byc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ1VneWxkaWcgZ3J1cHBlIGlkICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnU2tqdWx0IGZlbHQgbWFyayZvc2xhc2g7cic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnU2tqdWx0IGZlbHQgZmFydmUnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tqdWx0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thYiBtZWQgZGV0IG5hdm4gZXIgYWxsZXJlZGUgZGVmaW5lcmV0JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0RlciBlciBpa2tlIGRlZmluZXJldCBub2dlbiBlZ2Vuc2thYmVyJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnRGVyIGVyIGlra2UgdmFsZ3Qgbm9nZW4gZWdlbnNrYWJlciBmb3IgZGVubmUgZ3J1cHBlJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnRGVyIGVyIGlra2UgZGVmaW5lcmV0IG5vZ2VuIGdydXBwZXInOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcnVwcGVyIGZ1bmRldCc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnQnJ1Z2VyZW4gc2thbCB2JmFlbGlnO3JlIG1lZGxlbSBhZiBtaW5kc3QgZW4gZ3J1cHBlJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdLciZhZWxpZzt2IG1lZGxlbXNrYWIgYWYgbWluZHN0IGVuIGdydXBwZSc7CiRsYW5nWydiYWNrJ10gPSAnVGlsYmFnZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgZXIgZXQgcCZhcmluZztrciZhZWxpZzt2ZXQgZmVsdCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyayZlYWN1dGU7ciBwJmFyaW5nO2tyJmFlbGlnO3ZlZGUgZmVsdGVyIG1lZCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdGcmVtaCZhZWxpZzt2IHAmYXJpbmc7a3ImYWVsaWc7dmVkZSBmZWx0ZXIgbWVkJzsKJGxhbmdbJ25leHQnXSA9ICdOJmFlbGlnO3N0ZSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VuIGdydXBwZSBtZWQgZGV0IG5hdm4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1AmYXJpbmc7a3ImYWVsaWc7dmV0IGZlbHQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdWYWxnZnJpdCc7CiRsYW5nWydvZmYnXSA9ICdGcmEnOwokbGFuZ1snc2l6ZSddID0gJ1N0Jm9zbGFzaDtycmVsc2UnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTCZhZWxpZztuZ2RlJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KHRlZ24gaSB0ZWtzdCBpbnB1dCknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0Ryb3Bkb3duIG9wdGlvbnMsIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmVsdCB0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdBc2sgaW4gTG9zdDxici8+VXNlcm5hbWUnOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgYWRyZXNzZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWZWxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnTG9nIHVkJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdCZW55dCBkZXR0ZSBncnVwcGUgbmF2bic7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICcmQUVsaWc7bmRyZSBtaW5lIGluZHN0aWxsaW5nZXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBmZWpsZWRlIC0gdWd5bGRpZ3QgYnJ1Z2VybmF2biBlbGxlciBrb2Rlb3JkPyc7CiRsYW5nWydsb2dpbiddID0gJ0xvZyBpbmQnOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdMb2cgaW5kIGtuYXAgbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnSHVzayBtaWcgcCZhcmluZzsgZGVubmUgY29tcHV0ZXInOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3RyJmVhY3V0ZTtyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnR2xlbXQgZGl0IGtvZGVvcmQ/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0dsZW10IGRpbmUgb3BseXNuaW5nZXI/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnRGVmYXVsdHMnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTa2FiZWxvbic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVnZXIgSUQgaWtrZSBmdW5kZXQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVnZXJuYXZuICglcykgZXIgYWxsZXJlZGUgaSBicnVnJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdCZW55dCBTTVRQIHRpbCBhdCB2YWxpZGVyZSBlbWFpbC1hZHJlc3Nlcj8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bSBsJmFlbGlnO25nZGUgYWYga29kZW9yZCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYWtzaW1hbCBsJmFlbGlnO25nZGUgYWYga29kZW9yZCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIGwmYWVsaWc7bmdkZSBhZiBicnVnZXJuYXZuJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01ha3NpbWFsIGwmYWVsaWc7bmdkZSBhZiBicnVnZXJuYXZuJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gdWRlbCZvc2xhc2g7YmVyIGVmdGVyIChpc2VrdW5kZXIpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdCcnVnIGNvb2tpZXMgdGlsIGF0IGhvbGRlIGxpdiBpIGxvZ2luJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnVGlsbGFkIGVtYWlsIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnU3RhbmRhcmQgZ3J1cHBlIGZvciBueWUgYnJ1Z2VyZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0NoYW5nZSBTZXR0aW5ncyBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnS29kZW9yZGVuZSB2YXIgaWtrZSBlbnMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVWd5bGRpZ3QgYnJ1Z2VybmF2bic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdVZ3lsZGlndCBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWcmZWFjdXRlO3IgYnJ1Z2VyJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnR3lsZGlnJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnRGVubmUgYnJ1Z2VyIGVyIGlra2UgbWVkbGVtIGFmIG5vZ2VuIGdydXBwZXInOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ0luZ2VuIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1YmYWVsaWc7cmRpJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZXInOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VnZW5za2FiZXInOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOYXZuIHAmYXJpbmc7IGVnZW5za2FiJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1YmYWVsaWc7cmRpIGZvciBlZ2Vuc2thYic7CiRsYW5nWydhZGQnXSA9ICdUaWxmJm9zbGFzaDtqJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3JpZSc7CiRsYW5nWydlZGl0J10gPSAnUmVkaWcmZWFjdXRlO3InOwokbGFuZ1snZXhwaXJlcyddID0gJ1VkbCZvc2xhc2g7YmVyJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZmljZXIgZGF0byc7CiRsYW5nWycxMmhycyddID0gJzEyIHRpbWVyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgdGltZXInOwokbGFuZ1snNDhocnMnXSA9ICc0OCB0aW1lcic7CiRsYW5nWycxd2VlayddID0gJzEgdWdlJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdWdlcic7CiRsYW5nWycxbW9udGgnXSA9ICcxIG0mYXJpbmc7bmVkJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG0mYXJpbmc7bmVkZXInOwokbGFuZ1snNm1vbnRocyddID0gJzYgbSZhcmluZztuZWRlcic7CiRsYW5nWycxeWVhciddID0gJzEgJmFyaW5nO3InOwokbGFuZ1snbmV2ZXInXSA9ICdBbGRyaWcnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnSWdlbic7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnRW4gZ3J1cHBlIG1lZCBkZXQgbmF2biBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ1JlZGlnJmVhY3V0ZTtyIGdydXBwZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbmRzZW5kJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsbGVyJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NsZXQnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBpcyB0aGUgcHJvcGVyIHNldHRpbmdzIGZvciB0aGlzIGdyb3VwP1xuVHVybmluZyBhIHByb3BlcnR5IG9mZiB3aWxsIG5vdCBkZWxldGUgYW55IGVudHJpZXMgaW4gdGhlIHByb3BlcnRpZXMgdGFibGUgZm9yIHRoaXMgZ3JvdXAvdXNlci4gIFRoZXkgd2lsbCBtZXJlbHkgYmUgdW5hdmFpbGFibGUuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBncnVwcGU/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBlZ2Vuc2thYiBmdWxkc3QmYWVsaWc7bmRpZ3Q/IEh2aXMgZHUgc2xldHRlciBkZW4gdmlsIGRldCBvZ3MmYXJpbmc7IHNsZXR0ZSBicnVnZXJpbmRzbGFnIG1lZCBkZW5uZSBlZ2Vuc2thYi4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyduYW1lJ10gPSAnTmF2bic7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW0gYWRkaW5nIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCByZWxhdGlvbic7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnSW52YWxpZCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQW52ZW5kJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3JpdmVsc2UnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3J1cHBlbmF2bic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbiZhZWxpZztndGV0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVqbCc7CiRsYW5nWydhZGRncm91cCddID0gJ1RpbGYmb3NsYXNoO2ogZ3J1cHBlJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0JmVhY3V0ZTtyIGdydXBwZSc7CiRsYW5nWydhZGR1c2VyJ10gPSAnVGlsZiZvc2xhc2g7aiBicnVnZXInOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ0JydWdlcmUgbWVkIGRldCBhbmdpdm5lIGtyaXRlcmllJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHBlJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnViZhZWxpZztsZyBncnVwcGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmVyaW5ncyBza2FiZWxvbic7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgc2thYmVsb24nOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBza2FiZWxvbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1sndXNlcnMnXSA9ICdCcnVnZXJlJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTWFuYWdlIEZyb250ZW5kIFVzZXJzJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdTdGFuZGFyZCBmb3JzaWRlJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdTaWRzdCB0aWxnJmFyaW5nO2VkZSBzaWRlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0FuZGVuIHNpZGU6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBceyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMiAtIERlYywgMjAwNjwvcD4NCiAgICA8cD5GaXhlcyAoaG9wZWZ1bHkpIHRvIHRoZSBhZG9kYi9hZG9kYi1saXRlIERBVEVUSU1FIGlzc3VlPC9wPg0KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4NCiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPg0KICAgIDxwPkZpeGVzIHRvIHVzZXIgZXhwaXJ5IChtb3JlIERCVGltZXN0YW1wIGlzc3VlcyksIHRoYW5rcyBhZ2FpbiBkaXR0bWFuPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5HZW5lcmFsIGNsZWFudXAgb2YgZnVuY3Rpb25zIHRoYXQgd2VyZSBub3QgYmVpbmcgdXNlZCBhbmQgbm90aWNlcy93YXJuaW5nczwvcD4NCiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZW1haWwgdmFsaWRhdGlvbiBzdHVmZjwvcD4NCjwvbGk+DQogICAgPGxpPjxwPjEuMi4wIC0gQXByaWwsIDIwMDc8L3A+DQogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+DQogICAgPHA+VGVtcGxhdGUgY2xlYW51cHMgKG1vcmUgb2YgZW0pPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPg0KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgJnF1b3Q7YXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkJnF1b3Q7IHN0dWZmPC9wPg0KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4NCiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IG5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2VyczwvcD4NCiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+DQogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgaW1hZ2UgdXBsb2FkcywgdGhpcyBpcyBhIGJpZyBmZWF0dXJlLiAgSW1hZ2VzIGFyZSBzY2FsZWQgdG8gYSBtYXhpbXVtIHNpemUgaW4gb25lIGRpbWVuc2lvbiwgYW5kIHN0b3JlZCBhcyBmaWxlcyBpbiBhIGNvbmZpZ3VyYWJsZSBkaXJlY3RvcnkgdW5kZXIgdGhlIHVwbG9hZHNfcGF0aC48L3A+DQogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4NCiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+DQogICAgPHA+SW1wb3J0IFVzZXJzIGZyb20gQ1NWPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+DQogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCBpZiB0aGUgdXNlciBzZXR0aW5ncyBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+DQo8L2xpPg0KPGxpPg0KPHA+MS4yLjEgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9nb3V0IHVzZXJzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+DQoJPHA+QWRkZWQgbW9yZSB2YXJpYWJsZXMgaW4gZWFjaCBvYmplY3QgaW4gdGhlIGNoYW5nZXNldHRpbmdzIGZvcm08L3A+DQo8L2xpPg0KPGxpPg0KCTxwPjEuMi4yIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMsIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My40NjM5NzExOTUuMTE4OTc1MDI5OC4xMTg5NzUwMjk4LjExODk3NjA3NTQuMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE4OTc1MDI5OC4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ1NlaXRlbi1JRC8tQWxpYXMgZGVyIFNlaXRlLCBhdWYgZGllIG5hY2ggZGVyIENvZGVwciZ1dW1sO2Z1bmcgZ2VzcHJ1bmdlbiB3ZXJkZW4gc29sbCAqJzsKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnRGV0YWlscy1UZW1wbGF0ZSBiZWkgdmVyZ2Vzc2VuZW0gQmVudXR6ZXJuYW1lbic7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jlc3QmYXVtbDt0aWd1bmdzLVRlbXBsYXRlIGJlaSB2ZXJnZXNzZW5lbSBCZW51dHplcm5hbWVuJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRmVobGVyOiBNZWhyIGFscyBlaW4gQmVudXR6ZXItS29udG8gZW50c3ByaWNodCBkZW4gZ2VzdWNodGVuIEVpZ2Vuc2NoYWZ0ZW4nOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRmVobGVyOiBLb25udGUgZGVuIGdlc3VjaHRlbiBCZW51dHplciBuaWNodCBmaW5kZW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0ZlaGxlcjogS29ubnRlIGtlaW5lIEdydXBwZSBtaXQgZGllc2VtIE5hbWVuIGZpbmRlbic7CiRsYW5nWydyZWFkb25seSddID0gJ051ciBsZXNlbic7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnS2xhc3NlIHp1ciBCZWFyYmVpdHVuZyB2b24gQmVudXR6ZXJuJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ0R1cmNoIGRlbiBBZG1pbmlzdHJhdG9yIGFiZ2VtZWxkZXQnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ051ciBkaWUgYW5nZW1lbGRldGVuIEJlbnV0emVyIGFuemVpZ2VuJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdEaWVzZW4gQmVudXR6ZXIgYWJtZWxkZW4nOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnQmVudXR6ZXItRWlnZW5zY2hhZnRlbic7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0JlbnV0emVyLUdlc2NoaWNodGUnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0aWVyZW4nOwokbGFuZ1snY2xlYXInXSA9ICdMJm91bWw7c2NoZW4nOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnQmVudXR6ZXJnZXNjaGljaHRlIGluIGVpbmUgQVNDSUktRGF0ZWkgZXhwb3J0aWVyZW4nOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdEYXRlbnMmYXVtbDt0emUgZGVyIEJlbnV0emVyZ2VzY2hpY2h0ZSBsJm91bWw7c2NoZW4nOwokbGFuZ1sndGl0bGVfbG9zdHVzZXJuYW1lJ10gPSAnSGFiZW4gU2llIElocmUgWnVnYW5nc2RhdGVuIHZlcmdlc3Nlbj8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnR3J1cHBlbi1EZWZpbml0aW9uICh1bmQgRWlnZW5zY2hhZnRlbikgbmFjaCBYTUwgZXhwb3J0aWVyZW4nOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ1ZlcndhbHR1bmcgZGVyIEJlbnV0emVyZ2VzY2hpY2h0ZW4nOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWluJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ3Zvbic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBLZWluZSBCZXNjaHImYXVtbDtua3VuZyAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdFaW5lIFN0dW5kZSBhbHQnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnU2VjaHMgU3R1bmRlbiBhbHQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnWncmb3VtbDtsZiBTdHVuZGVuIGFsdCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VpbmVuIFRhZyBhbHQnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnRWluZSBXb2NoZSBhbHQnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1p3ZWkgV29jaGVuIGFsdCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnRWluZW4gTW9uYXQgYWx0JzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdEcmVpIE1vbmF0ZSBhbHQnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWNocyBNb25hdGUgYWx0JzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ0VpbiBKYWhyIGFsdCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcnVwcGllcnVuZyB1bmQgU29ydGllcnVuZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnTWl0IGRlbiB2b3JnZWdlYmVuZW4gS3JpdGVyaWVuICZ1dW1sO2JlcmVpbnN0aW1tZW5kZSBEYXRlbnMmYXVtbDt0emUnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdOYWNoIEJlbnV0emVybmFtZW4gYWJzdGVpZ2VuZCAnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ05hY2ggQmVudXR6ZXJuYW1lbiBhdWZzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnTmFjaCBEYXR1bSBhYnN0ZWlnZW5kJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ05hY2ggRGF0dW0gYXVmc3RlaWdlbmQnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnTmFjaCBFcmVpZ25pc3R5cCBhYnN0ZWlnZW5kJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnTmFjaCBFcmVpZ25pc3R5cCBhdWZzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdOYWNoIElQLUFkcmVzc2UgYWJzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ05hY2ggSVAtQWRyZXNzZSBhdWZzdGVpZ2VuZCc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnS2VpbmUgR2VzY2hpY2h0ZSB2b3JoYW5kZW4nOwokbGFuZ1sncmVzZXQnXSA9ICdadXImdXVtbDtja3NldHplbic7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcnVwcGVuIG5hY2ggSVAtQWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0VyZWlnbmlzdHlwZW4tRmlsdGVyJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1plaWd0IG51ciBFcmVpZ25pc3NlIGFuLCBkaWUgZ2VyaW5nZXIgc2luZCBhbHM6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTZWl0ZW5saW1pdCc7CiRsYW5nWydmb3InXSA9ICdmJnV1bWw7cic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0JlcmljaHQgenVyIEJlbnV0emVyZ2VzY2hpY2h0ZSc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5iZWthbm50JzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUC1BZHJlc3NlJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdFcmVpZ25pcy1UeXAnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBrb21wbGV0dCc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdaZWlsZW4gdmVyYXJiZWl0ZXQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0ZlaGxlciBhdWZnZXRyZXRlbic7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRGF0ZW5zJmF1bWw7dHplIGhpbnp1Z2VmJnV1bWw7Z3QnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0tvbm50ZSBrZWluZSBFaWdlbnNjaGFmdGVuIGYmdXVtbDtyIGRpZSBHcnVwcGUgJXMgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnS29ubnRlIGtlaW5lIEFudHdvcnQgdm9tIFNNVFAtU2VydmVyIGJla29tbWVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0RpZSB2b3JnZWdlYmVuZSBEYXRlaSAoJXMpIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ1VuZyZ1dW1sO2x0aWdlciBXZXJ0IGYmdXVtbDtyIGRhcyBMaXN0ZW5mZWxkIG9kZXIgZGFzIEZlbGQgenVyIE1laHJmYWNoYXVzd2FobCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0RhcyBGZWxkICVzICZ1dW1sO2JlcnNjaHJlaXRldCBkaWUgbWF4aW1hbCBtJm91bWw7Z2xpY2hlIEwmYXVtbDtuZ2UnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQtRmVobGVyIChaZWlsZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLb25udGUgZGllIEVpZ2Vuc2NoYWZ0c2RlZmluaXRpb24gbmljaHQgYWJydWZlbiAoaW50ZXJuZXIgRmVobGVyKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIGJlaW0gU2V0emVuIGRlciBCZW51dHplcmluZm9ybWF0aW9uJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLb25udGUga2VpbmUgU3BhbHRlIGZpbmRlbiwgZGllIG1pdCBkZW0gZXJmb3JkZXJsaWNoZW4gRmVsZCAlcyAmdXVtbDtiZXJlaW5zdGltbXQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdLb25udGUgZiZ1dW1sO3IgZGllIGZlc3RnZWxlZ3RlIEdydXBwZSBrZWluZSBFaWdlbnNjaGFmdGVuIGZpbmRlbic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnRGFzIEZvcm1hdCBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgaXN0IGZhbHNjaCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnS29ubnRlIGRpZSBEYXRlaSBuaWNodCAmb3VtbDtmZm5lbic7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJw0KPGg0PkluZm9tYXRpb25lbiB6dW0gRm9ybWF0IGRlciB6dSBpbXBvcnRpZXJlbmRlbiBEYXRlaTwvaDQ+DQo8cD5EaWUgenUgaW1wb3J0aWVyZW5kZSBEYXRlaSBtdXNzIGltIEFTQ0lJLUZvcm1hdCB2b3JsaWVnZW4uIERpZSBlaW56ZWxuZW4gV2VydGUgbSZ1dW1sO3NzZW4gZHVyY2ggS29tbWF0YSBnZXRyZW5udCBzZWluLiBKZWRlIFplaWxlIGluIGRpZXNlciBEYXRlaSBlbnRzcHJpY2h0IGRlbSBEYXRlbnNhdHogZWluZXMgQmVudXR6ZXJzIChtaXQgQXVzbmFobWUgZGVyIEtvcGZ6ZWlsZSwgbWVociBkYXp1IHdlaXRlciB1bnRlbikuIEplZGUgWmVpbGUgbXVzcyBkaWUgZ2xlaWNoZSBBbnphaGwgYW4gRmVsZGVybiBlbnRoYWx0ZW4uIEF1Y2ggZGllIFJlaWhlbmZvbGdlIGRlciBGZWxkZXIgbXVzcyBpbiBqZWRlciBaZWlsZSBnbGVpY2ggc2Vpbi48L3A+DQo8aDU+RGllIEtvcGZ6ZWlsZTwvaDU+DQo8dWw+DQo8bGk+RGllIGVyc3RlIFplaWxlIGRlciBEYXRlaSBtdXNzIG1pdCB6d2VpIFJhdXRlbiAoXCMpIGJlZ2lubmVuLiBJbiBkaWVzZXIgWmVpbGUgd2VyZGVuIGRpZSB2ZXJ3ZW5kZXRlbiBGZWxkZXIgaW4gZGVyIERhdGVpIGRlZmluaWVydC4gRGllIE5hbWVuIGRpZXNlciBGZWxkZXIgc2luZCBiZXNvbmRlcnMgd2ljaHRpZy4gRWluIHBhYXIgZGVyIEZlbGRlciBzaW5kIFBmbGljaHRmZWxkZXIgKGltIGZvbGdlbmRlbiBiZXNjaHJpZWJlbikuIERpZSBhbmRlcmVuIEZlbGRuYW1lbiBtJnV1bWw7c3NlbiBtaXQgZGVuIE5hbWVuIGRlciB6dWdlb3JkbmV0ZW4gRWlnZW5zY2hhZnRlbiBkZXIgamV3ZWlsaWdlbiBCZW51dHplcmdydXBwZSAmdXVtbDtiZXJlaW5zdGltbWVuLCBkZXIgZGllIEJlbnV0emVyIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuIHNvbGxlbi48L2xpPg0KPGxpPldlbm4gZGllIEZlbGRlciBpbiBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgbmljaHQgbWl0IGFsbGVuLCBkZXIgQmVudXR6ZXJncnVwcGUgKGRlciBkaWUgQmVudXR6ZXIgaGluenVnZWYmdXVtbDtndCB3ZXJkZW4gc29sbGVuKSB6dWdlb3JkbmV0ZW4gUGZsaWNodGZlbGRlcm4gJnV1bWw7YmVyZWluc3RpbW10LCB3aXJkIGRlciBJbXBvcnQgbWlzc2xpbmdlbi48L2xpPg0KPGxpPkRpZSB6dSBpbXBvcnRpZXJlbmRlIERhdGVpIGthbm4gRmVsZGVyIGVudGhhbHRlbiwgaW4gZGVuZW4gb3B0aW9uYWxlIEVpZ2Vuc2NoYWZ0ZW4gZGVyIGZlc3RnZWxlZ3RlbiBHcnVwcGUgZW50aGFsdGVuIHNpbmQuPC9saT4NCjxsaT5GZWxkZXIgaW4gZGVyIHp1IGltcG9ydGllcmVuZGVuIERhdGVpLCBkaWUgZW50d2VkZXIgdW5iZWthbm50IHNpbmQgb2RlciBhdWYgRWlnZW5zY2hhZnRlbiB2ZXJ3ZWlzZW4sIGRpZSBmJnV1bWw7ciBkaWUgZmVzdGdlbGVndGUgQmVudXR6ZXJncnVwcGUgbmljaHQgYWt0aXZpZXJ0IHNpbmQsIHdlcmRlbiBpZ25vcmllcnQuPC9saT4NCjwvdWw+DQo8aDU+RGllIERhdGVuIGluIGRlbiBTcGFsdGVuPC9oNT4NCjx1bD4NCjxsaT5EYXMgRmVsZCA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IC0gZGVyIGdldyZ1dW1sO25zY2h0ZSBCZW51dHplcm5hbWUuDQogICAgPHA+RGllc2VzIEZlbGQgbXVzcyBpbiBkZXIgS29wZnplaWxlIHNvd2llIGluIGplZGVyIFplaWxlIGRlciB6dSBpbXBvcnRpZXJlbmRlbiBEYXRlaSBlbnRoYWx0ZW4gc2Vpbi4gV2VubiBkZXIgQmVudXR6ZXJuYW1lIGJlcmVpdHMgaW4gZGVyIERhdGVuYmFuayBleGlzdGllcnQsIHdpcmQgZGllc2VyIERhdGVuc2F0eiBuaWNodCBpbXBvcnRpZXJ0LjwvcD48L2xpPg0KPGxpPkRhcyBGZWxkIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gLSBub2NoIHp1IGVybGVkaWdlbjwvbGk+DQo8bGk+RGFzIEZlbGQgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IC0gbm9jaCB6dSBlcmxlZGlnZW48L2xpPg0KPGxpPkxpc3RlbmZlbGRlcg0KICAgIDxwPkRlciBXZXJ0IGRlcyBMaXN0ZW5mZWxkZXMgaW4gZGVyIHp1IGltcG9ydGllcmVuZGVuIERhdGVpIG11c3MgZWluZW4gZGVyIFRleHRzdHJpbmdzIGVudGhhbHRlbiwgZGVyIGluIGRlciBMaXN0ZW5mZWxkYXVzd2FobCBkZXMgRnJvbnRlbmRVc2VyLU1vZHVscyBhbmdlemVpZ3Qgd2lyZC48L3A+DQo8L2xpPg0KPGxpPkxpc3RlbmZlbGRlciBtaXQgTWVocmZhY2hhdXN3YWhsDQogICAgPHA+RWluIExpc3RlbmZlbGQgbWl0IE1laGZhY2hhdXN3YWhsIG11c3MgaW4gZGVyIHp1IGltcG9ydGllcmVuZGVuIERhdGVpIGVpbmVuIG9kZXIgbWVocmVyZSBkZXIgVGV4dHN0cmluZ3MgZW50aGFsdGVuLCBkaWUgaW0gTGlzdGVuZmVsZCBtaXQgTWVocmZhY2hhdXN3YWhsIGRlcyBGcm9udGVuZFVzZXItTW9kdWxzIGFuZ2V6ZWlndCB3ZXJkZW4uIERpZSBXZXJ0ZSBkaWVzZXMgRmVsZGVzIHNpbmQgZHVyY2ggRG9wcGVscHVua3Qgdm9uZWluYW5kZXIgenUgdHJlbm5lbi48L3A+DQo8L2xpPg0KPGxpPkJpbGRmZWxkZXINCiAgICA8cD5CaWxkZmVsZGVyIHNpbmQgRmVsZGVyLCBkZXJlbiBTcGFsdGVubmFtZSBtaXQgZWluZXIgRWlnZW5zY2hhZnQgdm9tIFR5cCBCaWxkICZ1dW1sO2JlcmVpbnN0aW1tdC4gV2VubiBkaWVzZXMgRmVsZCBlaW4gUGZsaWNodGZlbGQgZGVyamVuaWdlbiBHcnVwcGUgaXN0LCBkZXIgZGllIEJlbnV0emVyIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuIHNvbGxlbiwgZGFubiBtdXNzIGVpbiBCaWxkIG1pdCBkZW0sIGluIGRpZXNlciBTcGFsdGUgYW5nZWdlYmVuZW4gTmFtZW4gaW0gdXBsb2Fkcy1WZXJ6ZWljaG5pcyB2b24gQ01TIG1hZGUgc2ltcGxlIHZvcmhhbmRlbiBzZWluLiBXZW5uIGRhcyBCaWxkIG5pY2h0IGV4aXN0aWVydCB1bmQgZGFzIEZlbGQgYWxzIFBmbGljaHRmZWxkIGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGVyIERhdGVuc2F0eiBuaWNodCBpbXBvcnRpZXJ0LjwvcD4NCjwvdWw+DQo8aDU+SGlud2Vpc2U8L2g1Pg0KPHA+RGVyIEVyZm9sZyBkZXMgSW1wb3J0cHJvemVzc2VzIGthbm4gdm9uIHZlcnNjaGllZGVuZW4gQmVzY2hyJmF1bWw7bmt1bmdlbiBJaHJlcyBQcm92aWRlcnMgKHdpZSBldHdhIFNwZWljaGVyYmVzY2hyJmF1bWw7bmt1bmdlbiwgVmVyYXJiZWl0dW5nc3plaXRlbiwgR3Imb3VtbDsmc3psaWc7ZSBkZXIgaG9jaHp1bGFkZW5kZW4gRGF0ZWkgdW5kIHNhZmUgbW9kZS1CZXNjaHImYXVtbDtua3VuZ2VuKSBiZWVpbnRyJmF1bWw7Y2h0aWd0IHdlcmRlbi4gSmVkZXIgZGllc2VyIEJlc2NociZhdW1sO25rdW5nZW4ga2FubiBkZW4gZXJmb2xncmVpY2hlbiBJbXBvcnQgdmVyaGluZGVybi4gQXVmZ3J1bmQgZGVzc2VuIGlzdCBlcyBlbXBmZWhsZW5zd2VydCwgamV3ZWlscyBudXIga2xlaW5lcmUgRGF0ZWllbiBtaXQgZWluZmFjaGVyIFN0cnVrdHVyIHp1IGltcG9ydGllcmVuLjwvcD4NCjxwPlVtIGRlbiBWZXJsdXN0IGRlciBEYXRlbmJhbmsgZHVyY2ggZWluZSBCZXNjaCZhdW1sO2RpZ3VuZyB6dSB2ZXJtZWlkZW4sIGlzdCBlcyBkZXN3ZWl0ZXJlbiBlbXBmZWhsZW5zd2VydCwgVk9SIGRlbSBJbXBvcnQgZWluZSBTaWNoZXJ1bmdza29waWUgZGVyIERhdGVuYmFuayB6dSBlcnN0ZWxsZW4uPC9wPg0KPGg1PkVpbiBCZWlzcGllbCBmJnV1bWw7ciBlaW5lIEltcG9ydGRhdGVpPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLFZvcm5hbWUsTmFjaG5hbWUsRW1haWwsU3RhZHQsQnVuZGVzbGFuZCxTdGFhdCxQTFoNCkJlbnV0emVyMSxUZXN0LEJlbnV0emVyLGJlbnV0emVyMUBtZWluZWRvbWFpbi5kZSxpcmdlbmR3byxTTixERSwwMTIzNA0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0JlbnV0emVyIGluIGRpZXNlIEdydXBwZSBpbXBvcnRpZXJlbic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdDU1YtRGF0ZWkgZWluZ2ViZW4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdYTUwtRGF0ZWkgZWluZ2ViZW4nOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnQmVudXR6ZXIgZXhwb3J0aWVyZW4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnQmVudXR6ZXIgaW1wb3J0aWVyZW4nOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnTCZvdW1sO3NjaGVuJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnWmllbHBmYWQgZiZ1dW1sO3IgZGFzIEJpbGQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdFcyBpc3QgZWluIFByb2JsZW0gbWl0IGVpbmVyIGZlaGxlbmRlbiwgYWJlciBlcmZvcmRlcmxpY2hlbiAoaG9jaHp1bGFkZW5kZW4pIERhdGVpIGF1ZmdldHJldGVuJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdLb25udGUgZGllIGFuZ2VnZWJlbmUgWE1MLURhdGVpIG5pY2h0IHZlcmFyYmVpdGVuJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdEaWUgR3J1cHBlIGtvbm50ZSBuaWNodCBnZWwmb3VtbDtzY2h0IHdlcmRlbiwgZGEgc2llIG5vY2ggQmVudXR6ZXIgZW50aCZhdW1sO2x0Lic7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnRGllc2VyIEJlbnV0emVyIGlzdCBiZXJlaXRzIGFuZ2VtZWxkZXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGVyIFRleHQgYXVzIGRlbSBCaWxkIHd1cmRlIG5pY2h0IHJpY2h0aWcgZWluZ2VnZWJlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnRGVuIEJlbnV0emVybiBlcmxhdWJlbiwgc2ljaCBtZWhyIGFscyBlaW5tYWwgYW56dW1lbGRlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnTmFtZW5zZXJ3ZWl0ZXJ1bmdlbiBmJnV1bWw7ciBCaWxkZXIsIGRpZSBkZXIgQmVudXR6ZXIgaG9jaGxhZGVuIGRhcmYnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIGdlbCZvdW1sO3NjaHQgd3VyZGU8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGRlciBCZW51dHplcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbiBCZW51dHplciBlcnN0ZWxsdCB3dXJkZTwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIEJlbnV0emVybmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBkaWUgQmVudXR6ZXItSUQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gQmVudXR6ZXJkYXRlbiBha3R1YWxpc2llcnQgd3VyZGVuIChlbnR3ZWRlciBkdXJjaCBpaG4gc2VsYnN0IG9kZXIgZHVyY2ggZGVuIEFkbWluaXN0cmF0b3IpPC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIGRlciBCZW51dHplcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplcmdydXBwZSBlcnN0ZWxsdCB3dXJkZTwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBkZXIgQmVudXR6ZXJncnVwcGVuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIGRpZSBCZXNjaHJlaWJ1bmcgZGVyIEJlbnV0emVyZ3J1cHBlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGRpZSBCZW51dHplcmdydXBwZW4tSUQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBlaW5lIEJlbnV0emVyZ3J1cHBlIGdlbCZvdW1sO3NjaHQgd3VyZGU8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gZGVyIEJlbnV0emVyZ3J1cHBlbm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyZ3J1cHBlbi1JRDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIHNpY2ggZWluIEJlbnV0emVyIGFubWVsZGV0PC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBkZXIgTmFtZSBkZXMgYW5nZW1lbGRldGVuIEJlbnV0emVyczwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBkaWUgSVAtQWRyZXNzZSBkZXMgQ2xpZW50czwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBzaWNoIGVpbiBCZW51dHplciBhYm1lbGRldDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIE5hbWUgZGVzIGFiZ2VtZWxkZXRlbiBCZW51dHplcnM8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBlaW5lIEJlbnV0emVyLVNpdHp1bmcgYWJsJmF1bWw7dWZ0PC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBkZXIgTmFtZSBkZXMgQmVudXR6ZXJzIGRlciBhYmdlbGF1ZmVuZW4gU2l0enVuZzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBkaWVCZW51dHplci1JRCBkZXIgYWJnZWxhdWZlbmVuIFNpdHp1bmc8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBzaWNoIGVpbiBCZW51dHplciBpbSBTeXN0ZW0gYW5tZWxkZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIHNpY2ggZWluIEJlbnV0emVyIGltIFN5c3RlbSBhYm1lbGRldCc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbmUgQmVudXR6ZXItU2l0enVuZyBhYmwmYXVtbDt1ZnQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gbmV1ZXIgQmVudXR6ZXIgZXJzdGVsbHQgd3VyZGUnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBkaWUgSW5mb3JtYXRpb25lbiB6dSBlaW5lbSBCZW51dHplciBha3R1YWxpc2llcnQgd3VyZGVuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVya29udG8gZ2VsJm91bWw7c2NodCB3dXJkZSc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW5lIEJlbnV0emVyZ3J1cHBlIGVyc3RlbGx0IHd1cmRlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbmUgQmVudXR6ZXJncnVwcGUgZ2VsJm91bWw7c2NodCB3dXJkZSc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQWRtaW5pc3RyYXRpb25zLUdydXBwZSc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIERpZSBmb2xnZW5kZW4gTWFrcm9zIGsmb3VtbDtubmVuIGluIGRpZXNlbiBGZWxkZXJuIHZlcndlbmRldCB3ZXJkZW46IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBXZW5uIFNpZSBkYXMgeyRncm91cH0tTWFrcm8gdmVyd2VuZGVuLCBlcnNldHp0IGRhcyBTeXN0ZW0gZGVuIE5hbWVuIGRlciBlcnN0ZW4gQmVudXR6ZXJncnVwcGUsIGRlciBkZXIgQmVudXR6ZXIgYW5nZWgmb3VtbDtydCB1bmQgbGVpdGV0IGlobiBhdWYgZGllc2UgU2VpdGUgd2VpdGVyLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnQmVhcmJlaXRlbiBTaWUgZGllc2VzIEZlbGQsIHVtIGRhcyBQYXNzd29ydCBkZXMgQmVudXR6ZXJzIHp1ciZ1dW1sO2NrenVzZXR6ZW4uJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdCZWFyYmVpdGVuIFNpZSBkaWVzZXMgRmVsZCwgdW0gZGFzIFBhc3N3b3J0IGRlcyBCZW51dHplcnMgenVyJnV1bWw7Y2t6dXNldHplbi4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnRXMgZXhpc3RpZXJ0IGJlcmVpdHMgZWluIEJlbnV0emVyIG1pdCBkaWVzZW0gQmVudXR6ZXJuYW1lbi4nOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnVm9tIENTVi1FeHBvcnQgd3VyZGVuIGtlaW5lIERhdGVuIHp1ciZ1dW1sO2NrZ2VnZWJlbi4nOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTCZhdW1sO25nZSBkZXMgQmVudXR6ZXJuYW1lbi1GZWxkZXMnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTCZhdW1sO25nZSBkZXMgUGFzc3dvcnQtRmVsZGVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdCZWltIFVudGVyLS8mVXVtbDtiZXJzY2hyZWl0ZW4gZGllc2VyIEwmYXVtbDtuZ2UgaXN0IGRhcyBQYXNzd29ydCB1bmcmdXVtbDtsdGlnLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnQmVpbSBVbnRlci0vJlV1bWw7YmVyc2NocmVpdGVuIGRpZXNlciBMJmF1bWw7bmdlIGlzdCBkZXIgQmVudXR6ZXJuYW1lIHVuZyZ1dW1sO2x0aWcuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdVbmcmdXVtbDtsdGlnZSBFbWFpbC1BZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnRiZ1dW1sO3IgZGllc2VzIEJlbnV0emVya29udG8gd3VyZGUga2VpbmUgRW1haWxhZHJlc3NlIGdlZnVuZGVuLic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbSBiZWltIFNldHplbiBkZXIgQmVudXR6ZXJpbmZvcm1hdGlvbmVuJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gYmVpbSBTZXR6ZW4gZGVyIEVpZ2Vuc2NoYWZ0ZW4nOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ0JlbnV0emVyICVzID0gJXMgaGluenVnZWYmdXVtbDtndCc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdCZW51dHplciB1aWQ9JXMgZ2VsJm91bWw7c2NodCc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VpZ2Vuc2NoYWZ0JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdXZXJ0IChyZWd1bCZhdW1sO3JlciBBdXNkcnVjayknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJudW5nOiBEaWVzZSBGZWxkZXIgYmVlaW5mbHVzc2VuIGRpZSBHciZvdW1sOyZzemxpZztlIGRlciBFaW5nYWJlZmVsZGVyIGluIEZvcm11bGFyZW4uICBEaWUgVmVycmluZ2VydW5nIGRpZXNlciBaYWhsIGlzdCBkYWhlciBhdWYgZWluZXIgYmVyZWl0cyBleGlzdGllcmVuZGVuIFNlaXRlIG5pY2h0IHJhdHNhbS4nOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggZGllIEVpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdEaWVzZSBFbWFpbGFkcmVzc2UgaXN0IGJlcmVpdHMgaW4gVmVyd2VuZHVuZy4nOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnQ29va2llcyBmJnV1bWw7ciBkaWUgU3BlaWNoZXJ1bmcgZGVyIEFubWVsZGUtRGV0YWlscyB2ZXJ3ZW5kZW4nOwokbGFuZ1sncHJvbXB0X2Nvb2tpZW5hbWUnXSA9ICdEZXIgTmFtZSBkZXMgQ29va2llcyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0VtYWlsLUR1cGxpa2F0ZSBlcmxhdWJlbic7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdFcyB3aXJkIHZlcnN1Y2h0LCBkaWUgZXJmb2xncmVpY2hlIEFubWVsZHVuZyAmdXVtbDtiZXIgZWluZW4gQ29va2llIGF1ZiBkZW0gUmVjaG5lciB6dSBzcGVpY2hlcm4gPGVtPihkZXIgQ29va2llIHdpcmQgYmVpIGVudHNwcmVjaGVuZGVuIEFrdGl2aXQmYXVtbDt0ZW4gYXVmIGRlciBXZWJzZWl0ZSB6dXImdXVtbDtjayBnZXNldHp0KTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhlcmxhdWJ0IG1laHJlcmVuIEJlbnV0emVybiBkaWUgTnV0enVuZyBkZXIgZ2xlaWNoZW4gRW1haWxhZHJlc3NlKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0VybmV1dGUgQW5mcmFnZSAmcXVvdDtQYXNzd29ydCB2ZXJnZXNzZW4mcXVvdDsgZXJsYXViZW4/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhlcmxhdWJ0IGVpbmVtIEJlbnV0emVyIGRpZSBlcm5ldXRlIEFuZnJhZ2UgYXVmIGRhcyBadXImdXVtbDtja3NldHplbiBkZXMgUGFzc3dvcnRlcywgYXVjaCB3ZW5uIGVyIGF1ZiBlaW5lIHZvcmFuZ2VnYW5nZW5lIFp1ciZ1dW1sO2Nrc2V0enVuZyBuaWNodCByZWFnaWVydCBoYXQpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnRnJvbnRlbmRVc2VyLXNwZXppZmlzY2hlIEJlcmVjaHRpZ3VuZ2VuIHZlcndlbmRlbj8nOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbGVyd2Vpc2UgZW50c3ByZWNoZW4gZGllIEZFVVNlcnMgQmVyZWNodGlndW5nZW4gZGVuZW4gYXVzIGRlciBBZG1pbmlzdHJhdGlvbiB3aWUgZXR3YSBCZW51dHplciBoaW56dWYmdXVtbDtnZW4sIEdydXBwZSBoaW56dWYmdXVtbDtnZW4gdXN3LiBXZW5uIFNpZSBqZWRvY2ggZGllc2UgT3B0aW9uIGF1c3cmYXVtbDtobGVuLCB3ZXJkZW4gZiZ1dW1sO3IgZGllICZ1dW1sO2JlciBkYXMgRnJvbnRlbmRVc2Vycy1CZW51dHplciBzZXBhcmF0ZSBCZXJlY2h0aWd1bmdlbiBnZXNldHp0LiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ0tvbm50ZSBkaWUgaG9jaGdlbGFkZW5lIERhdGVpIG5pY2h0IGZpbmRlbiAoaW50ZXJuZXIgRmVobGVyKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ01pdCBkZXIgaG9jaGdlbGFkZW5lbiBEYXRlaSBpc3QgZWluIFByb2JsZW0gYXVmZ2V0cmV0ZW4uICBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIG5vY2ggZWlubWFsLic7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdTaWUgaGFiZW4ga2VpbmVuIEJlbnV0emVybmFtZW4gZWluZ2VnZWJlbi4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnU2llIGhhYmVuIGtlaW4gUGFzc3dvcnQgZWluZ2VnZWJlbi4nOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kVXNlciAtIEFibWVsZHVuZyc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdGcm9udGVuZFVzZXIgLSBBbm1lbGR1bmcnOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5BQ0hUVU5HPC9iPiBXZW5uIFNpZSBiZXJlaXRzIGV4aXN0aWVyZW5kZSBFaWdlbnNjaGFmdGVuICZhdW1sO25kZXJuLCBkaWUgc2Nob24gR3J1cHBlbiB6dWdlb3JkbmV0IHNpbmQsIGlzdCBlcyBtJm91bWw7Z2xpY2gsIGRhcyBJaHJlIFNlaXRlIG0mb3VtbDtnbGljaGVyd2Vpc2UgemVyc3Qmb3VtbDtydCB3aXJkIDxpPihiZXNvbmRlcnMsIHdlbm4gU2llIGRpZSBMJmF1bWw7bmdlIGRlciBGZWxkZXIgcmVkdXppZXJlbiwgZXRjKS48L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0RpZXMgZnVua3Rpb25pZXJ0IE5JQ0hUIHVudGVyIFdpbmRvd3MuJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdFcnN0ZWxsZW4gU2llIE5JRU1BTFMgZWluZSBFaWdlbnNjaGFmdCBmJnV1bWw7ciBlaW5lbiBCZW51dHplcm5hbWVuLCBhdWNoIHdlbm4gZXMgbWl0IGRlbSBGcm9udEVuZFVzZXJzLU1vZHVsIG0mb3VtbDtnbGljaCBpc3QuJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdCZW51dHplciBpbiBlaW5lIENTVi1EYXRlaSBleHBvcnRpZXJlbic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRpZXJlbic7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluaXN0cmF0b3InOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFaWdlbnNjaGFmdCBiZWFyYmVpdGVuJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltYWxlIEwmYXVtbDtuZ2UnOwokbGFuZ1snY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnRpZXJlbiBuYWNoJzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aWVydW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ0JlbnV0emVyIGluIGRlci9kZW4gYXVzZ2V3JmF1bWw7aGx0ZW4gR3J1cHBlKG4pJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0VyZ2Vibmlzc2UgYmVzY2hyJmF1bWw7bmtlbiBhdWYnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnRiZ1dW1sO3IgZGllc2VuIEJlbnV0emVyIGtvbm50ZSBkYXMgRW1haWwtRmVsZCBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4uICBCaXR0ZSBrb250YWt0aWVyZW4gU2llIGRlbiBTeXN0ZW1hZG1pbmlzdHJhdG9yLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1NlaXRlbi1JRC8tQWxpYXMgZiZ1dW1sO3IgZGFzIEZvcm11bGFyICZxdW90O1Bhc3N3b3J0IHZlcmdlc3NlbiZxdW90Oyc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ1NlaXRlbi1JRC8tQWxpYXMgZiZ1dW1sO3IgZGFzIEZvcm11bGFyICZxdW90O0VpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4mcXVvdDsnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdTZWl0ZW4tSUQvLUFsaWFzIGRlciBTZWl0ZSwgYXVmIGRpZSBuYWNoIGRlciBBbm1lbGR1bmcgZ2VzcHJ1bmdlbiB3ZXJkZW4gc29sbCc7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdTZWl0ZW4tSUQvLUFsaWFzIGRlciBTZWl0ZSwgYXVmIGRpZSBuYWNoIGRlciBBYm1lbGR1bmcgZ2VzcHJ1bmdlbiB3ZXJkZW4gc29sbCc7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdSZWloZW5mb2xnZSBkZXIgU29ydGllcnVuZyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBbnphaGwgZGVyIEJlbnV0emVybiwgZGllIGlociB2ZXJsb3JlbmVzIFBhc3N3b3J0IHp1ciZ1dW1sO2NrenVzZXR6ZW4gbSZvdW1sO2NodGVuLiBBa3R1ZWxsIHN0ZWh0IGRlciBaJmF1bWw7aGxlciBhdWY6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbiwgZGllICZhdW1sO2x0ZXIgYWxzIGVpbmUgV29jaGUgc2luZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuLCBkaWUgJmF1bWw7bHRlciBhbHMgZWluIE1vbmF0IHNpbmQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU2luZCBTaWUgc2ljaGVyPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0VzIHd1cmRlIGVpbiB1bmcmdXVtbDtsdGlnZXIgQ29kZSBlaW5nZWdlYmVuOyBiaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIG5vY2ggZWlubWFsLic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnRiZ1dW1sO3IgSWhyZSBCZW51dHplci1JRCB3dXJkZSBrZWluIHRlbXBvciZhdW1sO3JlciBDb2RlIGluIGRlciBEYXRlbmJhbmsgZ2VmdW5kZW4uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZGllIEFuemVpZ2UgZGVzICZVdW1sO2JlcnByJnV1bWw7ZnVuZ3MtRm9ybXVsYXJzJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBkaWUgRW1haWwgYmVpIHZlcmdlc3NlbmVtIFBhc3N3b3J0JzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdFbnR3ZWRlciBTaWUgc2VsYnN0IG9kZXIgamVtYW5kIGFuZGVyZXMgaGF0IGJlcmVpdHMgZGFzIFp1ciZ1dW1sO2Nrc2V0emVuIGRlcyBQYXNzd29ydHMgZiZ1dW1sO3IgZGllc2UgS29udG8gYXVzZ2VsJm91bWw7c3QuIFByJnV1bWw7ZmVuIFNpZSBJaHJlbiBFbWFpbC1FaW5nYW5nLiBTaWUgZmluZGVuIGRvcnQgd2VpdGVyZSBBbndlaXN1bmdlbiB6dW0gWnVyJnV1bWw7Y2tzZXR6ZW4gSWhyZXMgUGFzc3dvcnRlcy4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGVuYmFua2ZlaGxlcic7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdTaWUgZXJoYWx0ZW4gZGllc2UgTmFjaHJpY2h0LCBkYSBqZW1hbmQgYXVmIHVuc2VyZXIgU2VpdGUgYW5nZWdlYmVuIGhhdCwgZGFzcyBTaWUgSWhyIFBhc3N3b3J0IHZlcmxvcmVuIGhhYmVuLiBGYWxscyBkaWVzIHp1dHJpZmZ0LCBsZXNlbiBTaWUgYml0dGUgZGllIHdlaXRlcmVuIEFud2Vpc3VuZ2VuLiAgV2VubiBTaWUga2VpbmUgQWhudW5nIGhhYmVuLCB1bSB3YXMgZXMgZ2VodCwgZGFubiBsJm91bWw7c2NoZW4gU2llIHNpY2hlcmhlaXRzaGFsYmVyIGRpZXNlIE5hY2hyaWNodC4gV2lyIGJlZGFua2VuIHVucywgZGFzcyBTaWUgc2ljaCBkaWUgWmVpdCBnZW5vbW1lbiBoYWJlbi4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ0RlciBmb2xnZW5kZSBDb2RlIHd1cmRlIHp1ZiZhdW1sO2xsaWcgZ2VuZXJpZXJ0LCB1bSBkYXMgQmVudXR6ZXItS29udG8genUgJnV1bWw7YmVycHImdXVtbDtmZW4uIFdlbm4gU2llIGF1ZiBkZW4gZm9sZ2VuZGVuIExpbmsga2xpY2tlbiwgZ2VsYW5nZW4gU2llIGF1ZiBlaW5lIFNlaXRlLCB3byBTaWUgZGllc2VuIENvZGUgZWluZ2ViZW4gbSZ1dW1sO3NzZW4uIE5vcm1hbGVyd2Vpc2UgZW50aCZhdW1sO2x0IGRhcyBGZWxkIGJlcmVpdHMgSWhyZW4gQ29kZS4gRmFsbHMgYWJlciBuaWNodCwgbGF1dGV0IGRlciBDb2RlOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0VpbiBLbGljayBhdWYgZGVuIGZvbGdlbmRlbiBMaW5rIGJyaW5ndCBTaWUgYXVmIGRpZSBXZWJzZWl0ZSwgd28gU2llIGRlbiB1bnRlbnN0ZWhlbmRlbiBDb2RlIGVpbmdlYmVuIHVuZCBkYW1pdCBJaHIgUGFzc3dvcnQgenVyJnV1bWw7Y2tzZXR6ZW4gayZvdW1sO25uZW46JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdQYXNzd29ydCB2ZXJsb3Jlbic7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0RhcyBDTVNNYWlsZXItTW9kdWwgd3VyZGUgbmljaHQgZ2VmdW5kZW4uJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0VpbmUgRW1haWwgbWl0IEluZm9ybWF0aW9uZW4genVtIFp1ciZ1dW1sO2Nrc2V0emVuIGRlcyBQYXNzd29ydHMgd3VyZGUgYW4gJXMgdmVyc2FuZHQuIFZpZWxlbiBEYW5rISc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1NpZSBoYWJlbiBJaHIgUGFzc3dvcnQgdmVyZ2Vzc2VuIG9kZXIgdmVybG9yZW4uIEdlYmVuIFNpZSBoaWVyIElocmVuIEJlbnV0emVybmFtZW4gZWluLiBXZW5uIHdpciBTaWUgaW0gU3lzdGVtIGZpbmRlbiwgZXJoYWx0ZW4gU2llIGVpbmUgRW1haWwgbWl0IHdlaXRlcmVuIEFud2Vpc3VuZ2VuIHp1bSBadXImdXVtbDtja3NldHplbiBkZXMgUGFzc3dvcnRzLic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIHZlcmdlc3NlbmUgUGFzc3cmb3VtbDtydGVyJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIHZlcmdlc3NlbmUgQmVudXR6ZXJuYW1lbic7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdFaWdlbnNjaGFmdCAlcyBuaWNodCBnZWZ1bmRlbic7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnRWlnZW5zY2hhZnRlbiBnZWZ1bmRlbic7CiRsYW5nWydhZGRwcm9wJ10gPSAnRWlnZW5zY2hhZnQgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdFaW4gZXJmb3JkZXJsaWNoZXMgRmVsZCAoJXMpIHdhciBsZWVyLic7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ1VtIElociBQYXNzd29ydCB6dSAmYXVtbDtuZGVybiwgZ2ViZW4gU2llIGJpdHRlIGhpZXIgZWluIG5ldWVzIFBhc3N3b3J0IGVpbi4nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdFcyBzY2hlaW50IHNvLCBhbHMgb2IgU2llIG5pY2h0IGFuZ2VtZWxkZXQgc2luZC4nOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyaWVydW5nJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnRGllc2VzIEtvbnRvIGlzdCBhYmdlbGF1ZmVuJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdVbmdlbmF1ZSBGb3JtYXRpZXJ1bmcgZGVyIEVtYWlsYWRyZXNzZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ1VuZyZ1dW1sO2x0aWdlcyBBYmxhdWZkYXR1bSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRmVobGVyIGJlaW0gU2V0emVuIGRlciBFaWdlbnNjaGFmdCAlcyBmJnV1bWw7ciBkZW4gQmVudXR6ZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdVbmcmdXVtbDtsdGlnZSBCZW51dHplci1JRCAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ0tlbm56ZWljaG51bmcgZGVzIHZlcmJvcmdlbmVuIEZlbGRlcyc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnRmFyYmUgZGVzIHZlcmJvcmdlbmVuIEZlbGRlcyc7CiRsYW5nWydoaWRkZW4nXSA9ICdWZXJib3JnZW4nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0VpbmUgRWlnZW5zY2hhZnQgbWl0IGRpZXNlbSBOYW1lbiB3dXJkZSBiZXJlaXRzIGRlZmluaWVydC4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnS2VpbmUgRWlnZW5zY2hhZnRlbiBkZWZpbmllcnQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdGJnV1bWw7ciBkaWVzZSBCZW51dHplcmdydXBwZSB3dXJkZW4ga2VpbmUgRWlnZW5zY2hhZnRlbiBhdXNnZXcmYXVtbDtobHQuJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnRXMgd3VyZGVuIG5vY2gga2VpbmUgR3J1cHBlbiBkZWZpbmllcnQuJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnQmVudXR6ZXJncnVwcGVuIGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdEaWUgTWl0Z2xpZWRzY2hhZnQgaW4gbWluZGVzdGVucyBlaW5lciBHcnVwcGUgaXN0IGVyZm9yZGVybGljaC4nOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ0VyZm9yZGVydCBkaWUgTWl0Z2xpZWRzY2hhZnQgaW4gbWluZGVzdGVucyBlaW5lciBHcnVwcGUnOwokbGFuZ1snYmFjayddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBpc3QgZWluIFBmbGljaHRmZWxkLic7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnUGZsaWNodGZlbGRlciBrZW5uemVpY2huZW4gbWl0JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ1BmbGljaHRmZWxkZXIgZWluZiZhdW1sO3JiZW4gbWl0JzsKJGxhbmdbJ25leHQnXSA9ICdXZWl0ZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdFaW5lIEdydXBwZSBtaXQgZGllc2VtIE5hbWVuIGV4aXN0aWVydCBiZXJlaXRzLic7CiRsYW5nWydyZXF1aXJlZCddID0gJ1BmbGljaHRmZWxkJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnb3B0aW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnQXVzJzsKJGxhbmdbJ3NpemUnXSA9ICdHciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW1hbGUgR3Imb3VtbDsmc3psaWc7ZSBpcmdlbmQgZWluZXIgQmlsZGRpbWVuc2lvbiBpbiBQaXhlbCknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTCZhdW1sO25nZSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihaZWljaGVuIGluIGRlciBUZXh0ZWluZ2FiZSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0xpc3RlbmZlbGQtT3B0aW9uZW4sIGdldHJlbm50IG1pdCBaZWlsZW51bWJyJnV1bWw7Y2hlbi4gRGllIFdlcnRlIGsmb3VtbDtubmVuIG1pdCBhID0gWmVpY2hlbiB2b20gVGV4dCBnZXRyZW5udCB3ZXJkZW4sIHouQnNwOiBXZWlibGljaD13JzsKJGxhbmdbJ3Byb21wdCddID0gJ0VpbmdhYmVhdWZmb3JkZXJ1bmcnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXAnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ0ZlbGRzdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnRnJhZ2UgYmVpIHZlcmdlc3NlbmVtPGJyLz5CZW51dHplcm5hbWVuJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTWVocmZhY2hsaXN0ZW5hdXN3YWhsJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZCc7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsYWRyZXNzZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRmZWxkJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGVuZmVsZCc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dpbGxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnQWJtZWxkZW4nOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ0RpZXNlbiBHcnVwcGVubmFtZW4gdmVyd2VuZGVuJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01laW5lIEVpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4nOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdBbm1lbGR1bmcgZ2VzY2hlaXRlcnQgLSB1bmcmdXVtbDtsdGlnZXIgQmVudXR6ZXJuYW1lIG9kZXIgdW5nJnV1bWw7bHRpZ2VzIFBhc3N3b3J0Pyc7CiRsYW5nWydsb2dpbiddID0gJ0FubWVsZGVuJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnQmVzY2hyaWZ0dW5nIGRlcyBBbm1lbGRlLUJ1dHRvbnMnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1Bhc3N3b3J0JzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnQW5tZWxkdW5nIGF1ZiBkaWVzZW0gQ29tcHV0ZXIgbWVya2VuJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmllcmVuJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnSGFiZW4gU2llIElociBQYXNzd29ydCB2ZXJnZXNzZW4/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0hhYmVuIFNpZSBJaHJlIEJlbnV0emVyZGF0ZW4gdmVyZ2Vzc2VuPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnRGllIEJlbnV0emVyLUlEIHd1cmRlIG5pY2h0IGdlZnVuZGVuLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGllc2VyIEJlbnV0emVybmFtZSAoJXMpIGlzdCBiZXJlaXRzIGluIFZlcndlbmR1bmcuJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdTb2xsIFNNVFAgdmVyd2VuZGV0IHdlcmRlbiwgdW0gRW1haWxhZHJlc3NlbiBhdWYgZGVyZW4gRyZ1dW1sO2x0aWdrZWl0IHp1IHByJnV1bWw7ZmVuPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbWFsZSBMJmF1bWw7bmdlIGRlcyBQYXNzd29ydHMnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW1hbGUgTCZhdW1sO25nZSBkZXMgUGFzc3dvcnRzJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltYWxlIEwmYXVtbDtuZ2UgZGVzIEJlbnV0emVybmFtZW5zJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltYWxlIEwmYXVtbDtuZ2UgZGVzIEJlbnV0emVybmFtZW5zJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ0F1c3plaXQgZiZ1dW1sO3IgU2l0enVuZ2VuIChpbiBTZWt1bmRlbiknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ0Nvb2tpZXMgZiZ1dW1sO3IgZGllIEFubWVsZHVuZyB2ZXJ3ZW5kZW4nOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdFbWFpbC1SZWdpc3RyaWVydW5nIGVybGF1YmVuJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFyZC1CZW51dHplcmdydXBwZSBmJnV1bWw7ciBuZXVlIFVzZXInOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBFaW5zdGVsbHVuZ2VuICZhdW1sO25kZXJuJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdEaWUgUGFzc3cmb3VtbDtydGVyIHN0aW1tZW4gbmljaHQgJnV1bWw7YmVyZWluLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdVbmcmdXVtbDtsdGlnZXIgQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1VuZyZ1dW1sO2x0aWdlcyBQYXNzd29ydCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0JlbnV0emVyIGJlYXJiZWl0ZW4nOwokbGFuZ1sndmFsaWQnXSA9ICdHJnV1bWw7bHRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JlbnV0emVybmFtZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnRGllc2VyIEJlbnV0emVyIGlzdCBrZWluIE1pdGdsaWVkIGVpbmVyIEJlbnV0emVyZ3J1cHBlLic7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnS2VpbmUgRWlnZW5zY2hhZnRlbic7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ1ZlcnN1Y2gsIEVpZ2Vuc2NoYWZ0ZW4gZG9wcGVsdCB6dSBpbXBvcnRpZXJlbic7CiRsYW5nWyd2YWx1ZSddID0gJ1dlcnQnOwokbGFuZ1snZ3JvdXBzJ10gPSAnQmVudXR6ZXJncnVwcGVuJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdFaWdlbnNjaGFmdGVuJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTmFtZSBkZXIgRWlnZW5zY2hhZnQnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnV2VydCBkZXIgRWlnZW5zY2hhZnQnOwokbGFuZ1snYWRkJ10gPSAnSGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdHZXNjaGljaHRlJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZWFyYmVpdGVuJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdBYmxhdWYnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnRGF0dW0gZmVzdGxlZ2VuJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgU3R1bmRlbic7CiRsYW5nWycyNGhycyddID0gJzI0IFN0dW5kZW4nOwokbGFuZ1snNDhocnMnXSA9ICc0OCBTdHVuZGVuJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBXb2NoZSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFdvY2hlbic7CiRsYW5nWycxbW9udGgnXSA9ICcxIE1vbmF0JzsKJGxhbmdbJzNtb250aHMnXSA9ICczIE1vbmF0ZSc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNb25hdGUnOwokbGFuZ1snMXllYXInXSA9ICcxIEphaHInOwokbGFuZ1snbmV2ZXInXSA9ICdOaWVtYWxzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ0RhcyBNb2R1bCB3dXJkZSBlcmZvbGdyZWljaCBpbnN0YWxsaWVydC48YnIvPlN0ZWxsZW4gU2llIHNpY2hlciwgZGFzcyBkaWUgQmVyZWNodGlndW5nICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyZxdW90OyBnZXNldHp0IHd1cmRlLiBadXMmYXVtbDt0emxpY2ggd2lyZCBkaWUgSW5zdGFsbGF0aW9uIGRlcyBDYXB0Y2hhLU1vZHVscyBlbXBmb2hsZW4uIE5hY2ggZGVzc2VuIEluc3RhbGxhdGlvbiB3aXJkIGJlaSBkZXIgQW5tZWxkdW5nIGVyZyZhdW1sO256ZW5kIHp1IEJlbnV0emVybmFtZW4gdW5kIFBhc3N3b3J0IGRlciBJbmhhbHQgZWluZXMgQ2FwdGNoYS1CaWxkZXMgYWJnZWZyYWd0LiBEaWVzIHNvbGwgaGVsZmVuLCBCcnV0ZS1mb3JjZS1BdHRhY2tlbiB6dSB2ZXJoaW5kZXJuLiAgDQo8c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IFVtIGRpZXNlIEZ1bmt0aW9uYWxpdCZhdW1sO3QgenUgZGVha3RpdmllcmVuLCBhdWNoIHdlbm4gZGFzIENhcHRjaGEtTW9kdWwgaW5zdGFsbGllcnQgd3VyZGUsIG11c3MgZGVyIFBhcmFtZXRlciBub2NhcHRjaGEgZ2VzZXR6dCB3ZXJkZW4uJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcnQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdOb2NoIGVpbm1hbCc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnRWluZSBCZW51dHplcmdydXBwZSBtaXQgZGllc2VtIE5hbWVuIGV4aXN0aWVydCBiZXJlaXRzLic7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdCZW51dHplcmdydXBwZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Fic2VuZGVuJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWydkZWxldGUnXSA9ICdMJm91bWw7c2NoZW4nOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdTaW5kIGRhcyB3aXJrbGljaCBkaWUgcmljaHRpZ2VuIEVpbnN0ZWxsdW5nZW4gZiZ1dW1sO3IgZGllc2UgQmVudXR6ZXJncnVwcGU/XG5EYXMgRGVha3RpdmllcmVuIGVpbmVyIEVpZ2Vuc2NoYWZ0IGwmb3VtbDtzY2h0IGtlaW5lIEVpbnRyJmF1bWw7Z2UgaW4gZGVyIEVpZ2Vuc2NoYWZ0ZW50YWJlbGxlIGYmdXVtbDtyIGRpZXNlIEJlbnV0emVyZ3J1cHBlIC8gZGllc2VuIEJlbnV0emVyLiBTaWUgc2luZCBsZWRpZ2xpY2ggbmljaHQgbWVociB2ZXJmJnV1bWw7Z2Jhci4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1dvbGxlbiBTaWUgZGllc2UgQmVudXR6ZXJncnVwcGUgd2lya2xpY2ggbCZvdW1sO3NjaGVuPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnV29sbGVuIFNpZSBkaWVzZSBFaWdlbnNjaGFmdCB3aXJrbGljaCBrb21wbGV0dCBsJm91bWw7c2NoZW4/XG5GYWxscyBqYSwgd2lyZCBhdWNoIGplZGVyIEJlbnV0emVyZWludHJhZyBmJnV1bWw7ciBkaWVzZSBFaWdlbnNjaGFmdCBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdVbnp1cmVpY2hlbmRlIFBhcmFtZXRlcic7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lciBFaWdlbnNjaGFmdCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lciBHcnVwcGVuYmV6aWVodW5nJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW0gYmVpbSBIaW56dWYmdXVtbDtnZW4gZWluZXIgR3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lcyBCZW51dHplcnMgenUgZWluZXIgR3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIGJlaW0gTCZvdW1sO3NjaGVuIGVpbmVyIEVpZ2Vuc2NoYWZ0JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnS29ubnRlIGtlaW5lIEVtYWlsLUFkcmVzc2UgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdTaWUgaGFiZW4ga2VpbmUgU2NocmVpYmJlcmVjaHRpZ3VuZyBmJnV1bWw7ciBkYXMgWmllbHZlcnplaWNobmlzLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVW5nJnV1bWw7bHRpZ2UgUGFyYW1ldGVyJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnS29ubnRlIGtlaW5lIEdydXBwZW4gZmluZGVuJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQW53ZW5kZW4nOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdCZW51dHplcm5hbWUgKHJlZ3VsJmF1bWw7cmVyIEF1c2RydWNrKSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOYW1lIGRlciBCZW51dHplcmdydXBwZSAnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnRWluZSBCZW51dHplcmdydXBwZSBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdHcnVwcGUgaW1wb3J0aWVyZW4nOwokbGFuZ1snYWRkdXNlciddID0gJ0VpbmVuIEJlbnV0emVyIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQmVudXR6ZXIgZ2VmdW5kZW4sIGRpZSBkZW4gS3JpdGVyaWVuIGVudHNwcmVjaGVuJzsKJGxhbmdbJ2dyb3VwJ10gPSAnQmVudXR6ZXJncnVwcGUgJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnQmVudXR6ZXJncnVwcGUgYXVzdyZhdW1sO2hsZW4nOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmllcnVuZ3MtVGVtcGxhdGUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnQWJtZWxkdW5ncy1UZW1wbGF0ZSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0FubWVsZHVuZ3MtVGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQmVudXR6ZXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmRVc2VyLVZlcndhbHR1bmcnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFcmxhdWJ0IGRlbiBCZW51dHplcm4sIHNpY2ggYXVmIElocmVyIFdlYnNlaXRlIGFuenVtZWxkZW4nOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1N0YW5kYXJkLVN0YXJ0c2VpdGUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xldHp0ZSBTZWl0ZSwgYXVmIGRpZSB6dWdlZ3JpZmZlbiB3dXJkZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdBbmRlcmUgU2VpdGU6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnR2ViZW4gU2llIGRlbiBUZXh0IGF1cyBkZW0gQmlsZCBlaW4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSB7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMSAtIFNlcHQsIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4yIC0gRGVjLCAyMDA2PC9wPg0KICAgIDxwPkZpeGVzIChob3BlZnVsbCkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCjxsaT48cD4xLjIuMCAtIEFwcmlsLCAyMDA3PC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4NCjxwPjEuMi4xIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KPC9saT4NCjxsaT4xLjMgLSBPY3RvYmVyLCAyMDA3DQo8cD5BZGRlZCBzdXBwb3J0IGZvciAmIzAzOTtyZW1lbWJlciBtZSYjMDM5OyBzbyB0aGF0IGxvZ2luIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBhIGNvb2tpZS4gIEFuZCBzdXBwb3J0IGZvciBhIGZvcm0gdG8gYWxsb3cgdGhhdCBjb29raWUgdG8gYmUgcmVzZXQuPC9wPg0KPHA+Tm8gbG9uZ2VyIHN1cHBvcnQgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHByb3BlcnR5IG5hbWVzLjwvcD4NCjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4NCjxwPlJlcXVpcmUgQ01TIDEuMiBvciBncmVhdGVyLjwvcD4NCjwvbGk+DQo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNw0KPHA+Rml4ZXMgcHJvYmxlbXMgd2l0aCBwYXJhbWV0ZXJzIG5vdCBiZWluZyBjbGVhbmVkIGluIHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZGlhbG9nIG9uIHRoZSBmcm9udCBlbmQuPC9wPg0KPHA+Rml4ZXMgYW4gdXBkcmFkZSBpc3N1ZSBpbiB0aGUgZGF0YWJhc2Ugc2NoZW1hPC9wPg0KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPg0KPHA+QWRkIGEgcHJlZmVyZW5jZSB0aGF0IGFsbG93cyBhZG1pbnMgdG8gc3BlY2lmeSBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdGhlIGZvcmdvdCBwYXNzd29yZCB2YWxpZGF0aW9uIGZvcm0gaXMgY29tcGxldGUuPC9wPg0KPHA+Rml4ZXMgYSBwcm9ibGVtIHdpdGggaGlkZGVuIHByb3BlcnRpZXMgYmVpbmcgbG9zdCBhZnRlciBhIHVzZXIgY2hhbmdlZCB0aGVpciBzZXR0aW5ncy48L3A+DQo8cD5UaGUgRm9yZ290IFBhc3N3b3JkIGFuZCBMb3N0IFVzZXJuYW1lIGZvcm1zIGFyZSBub3cgaW5saW5lPC9wPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgZXJsYXVidCBkaWUgVmVyd2FsdHVuZyB1bmQgQWRtaW5pc3RyYXRpb24gdm9uIEZyb250RW5kLUJlbnV0emVybiA8aT4oPUJlbnV0emVyLCBkaWUga2VpbmVuIFp1Z3JpZmYgYXVmIGRpZSBBZG1pbmlzdHJhdGlvbiBoYWJlbik8L2k+LiBFcyBlcm0mb3VtbDtnbGljaHQgenVtIGVpbmVuIGRhcyBFcnN0ZWxsZW4gdm9uIEJlbnV0emVyZ3J1cHBlbiB1bmQgQmVudXR6ZXJrb250ZW4gdW5kIHp1bSBhbmRlcmVuIGRhcyBBbi0gdW5kIEFibWVsZGVuIHZvbiBCZW51dHplcm4uIEluIFZlcmJpbmR1bmcgbWl0IGRlbSBDdXN0b21Db250ZW50LU1vZHVsIGsmb3VtbDtubmVuIHVudGVyc2NoaWVkbGljaGVuIEJlbnV0emVybiB1bnRlcnNjaGllZGxpY2hlIEluaGFsdGUgYW5nZXplaWd0IHdlcmRlbiwgamV3ZWlscyBpbiBBYmgmYXVtbDtuZ2lna2VpdCBkYXZvbiwgb2IgZGVyIEJlbnV0emVyIGFuZ2VtZWxkZXQgaXN0IG9kZXIgbmljaHQgYnp3LiB3ZWxjaGVyIEJlbnV0emVyZ3J1cHBlIGVyIGFuZ2VoJm91bWw7cnQuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5BYmxhdWYgZGVyIEJlbnV0emVya29udGVuLiBIaWVybWl0IGsmb3VtbDtubmVuIFNpZSBmJnV1bWw7ciBlaW5lIGJlc3RpbW10ZSBaZWl0ZGF1ZXIgZWluZW4gQmVudXR6ZXIgZXJzdGVsbGVuLjwvcD48L2xpPg0KPGxpPjxwPkJlbnV0emVyZ3J1cHBlbi1FaWdlbnNjaGFmdGVuLiBTaWUgayZvdW1sO25uZW4gdm9uIGRlbiBNaXRnbGllZGVybiB1bnRlcnNjaGllZGxpY2hlIEdydXBwZW4gdW5kIHVudGVyc2NoaWVkbGljaGUgSW5mb3JtYXRpb25lbiBhYmZyYWdlbi48L3A+PC9saT4NCjxsaT48cD5FcyBpc3QgZGllIFZlcndhbHR1bmcgdm9uIEh1bmRlcnRlbiBCZW51dHplcm4gbSZvdW1sO2dsaWNoLjwvcD48L2xpPg0KPGxpPjxwPkZ1bmt0aW9uYWxpdCZhdW1sO3QgZiZ1dW1sO3IgdmVyZ2Vzc2VuZSBCZW51dHplcm5hbWVuIHVuZCBQYXNzdyZvdW1sO3J0ZXIuIEJlbnV0emVyIGsmb3VtbDtubmVuIGVpbiBuZXVlcyBQYXNzd29ydCBmZXN0bGVnZW4sIHVuZC9vZGVyIGlociBCZW51dHplcmtvbnRvIHdpZWRlcmhlcnN0ZWxsZW4sIGZhbGxzIHNpZSBkaWUgQW5tZWxkZWRhdGVuIGtvbXBsZXR0IHZlcmdlc3NlbiBoYWJlbi48L3A+PC9saT4NCjxsaT48cD5oYXQgZWluZSB1bWZhbmdyZWljaGUgQVBJIGYmdXVtbDtyIGRhcyBIaW56dWYmdXVtbDtnZW4gdm9uIEZ1bmt0aW9uZW48L3A+PC9saT4NCjwvdWw+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dCA/PC9oMz4NCjx1bD4NCjxsaT48cD5OYWNoIGRlciBJbnN0YWxsYXRpb24gayZvdW1sO25uZW4gU2llIHVudGVyIGRlbSBNZW4mdXVtbDsgJnF1b3Q7QmVudXR6ZXIgJmFtcDsgR3J1cHBlbiZxdW90OyBhdWYgZGllIEFkbWluaXN0cmF0aW9uIGRlcyBGcm9udEVuZFVzZXJzLU1vZHVscyB6dWdyZWlmZW4uPC9wPjwvbGk+DQo8bGk+DQo8cD5adW4mYXVtbDtjaHN0IHNvbGx0ZW4gU2llIEVpZ2Vuc2NoYWZ0ZW4gZGVmaW5pZXJlbi4gRWlnZW5zY2hhZnRlbiBzaW5kIEZlbGRkZWZpbml0aW9uZW4sIG1pdCBkZW5lbiBTaWUgZGVuIFR5cCBkZXIgenUgZXJmYXNzZW5kZW4gSW5mb3JtYXRpb25lbiB1bmQgZGVyZW4gQmVzY2hyJmF1bWw7bmt1bmdlbiBmZXN0bGVnZW4gayZvdW1sO25uZW4gd2llIHp1bSBCZWlzcGllbDogTmFtZSwgQWx0ZXIsIFN0YWR0LCBCdW5kZXNsYW5kLCBTdGFhdCwgRW1haWxhZHJlc3NlIHVzdy48L3A+DQo8cD48Yj5IaW53ZWlzOjwvYj4gRiZ1dW1sO3IgZGVuIEJlbnV0emVybmFtZW4gdW5kIGRhcyBQYXNzd29ydCBtJnV1bWw7c3NlbiBTaWUga2VpbmUgRWlnZW5zY2hhZnRlbiBmZXN0bGVnZW47IGRpZXMgd2lyZCBiZXJlaXRzIHZvbSBNb2R1bCBlcmxlZGlndC48L2I+DQo8L2xpPg0KPGxpPjxwPkFscyBOJmF1bWw7Y2hzdGVzIHNvbGx0ZW4gU2llIGVpbmUgb2RlciBtZWhyZXJlIEJlbnV0emVyZ3J1cHBlbiBlcnN0ZWxsZW4uIFdlbm4gU2llIGVpbmUgR3J1cHBlIGVyc3RlbGxlbiwgd2VyZGVuIFNpZSBuYWNoIGRlbSBCZW51dHplcmdydXBwZW5uYW1lbiwgZWluZXIgQmVzY2hyZWlidW5nIHNvd2llIGRlbiBkZXIgQmVudXR6ZXJncnVwcGUgenV6dW9yZG5lbmRlbiBFaWdlbnNjaGFmdGVuIHVuZCBkZXNzZW4gU29ydGllcnVuZyBnZWZyYWd0LiBPcHRpb25hbCBzaW5kIGF1Y2ggUGZsaWNodC0gb2RlciB2ZXJib3JnZW5lIEZlbGRlciBtJm91bWw7Z2xpY2ggPGk+KCBhdWNoIG9mZiBpc3QgZyZ1dW1sO2x0aWcpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPkhpbndlaXM6PC9iPiBCZXZvciBTaWUgd2VpdGVyIG1hY2hlbiwgc29sbHRlbiBTaWUgcHImdXVtbDtmZW4sIG9iIGRpZSBFaW5zdGVsbHVuZ2VuIGtvcnJla3QgZ2VzZXR6dCBzaW5kLjwvcD48L2xpPg0KPGxpPjxwPkFuc2NobGllJnN6bGlnO2VuZCBzb2xsdGVuIFNpZSBlaW4gcGFhciBCZW51dHplciBlcnN0ZWxsZW4uIEJlbnV0emVyIHdlcmRlbiBpbiB6d2VpIFNjaHJpdHRlbiBoaW56dWdlZiZ1dW1sO2d0LiBXZW5uIFNpZSBlaW5lbiBCZW51dHplciBlcnN0ZWxsZW4sIHdlcmRlbiBTaWUgbmFjaCBkZW0gQmVudXR6ZXJuYW1lbiB1bmQgZGVtIFBhc3N3b3J0IHNvd2llIG5hY2ggZWluZW0gQWJsYXVmZGF0dW0gZiZ1dW1sO3IgZGllc2VuIEJlbnV0emVyIGdlZnJhZ3QuIERhbm4gbSZ1dW1sO3NzZW4gU2llIG5vY2ggZGllIEdydXBwZW4gYXVzdyZhdW1sO2hsZW4sIGluIHdlbGNoZW4gZGVyIEJlbnV0emVyIE1pdGdsaWVkIHNlaW4gc29sbC4gS2xpY2tlbiBTaWUgZGFubiBhdWYgXCYjMDM5O1dlaXRlclwmIzAzOTs8L3A+DQo8cD48ZW0+SGlud2VpczogPC9lbT5EYXMgaXN0IGVpbiBzZWhyIGFyYmVpdHNpbnRlbnNpdmVyIHVuZCBsYW5nd2VpbGlnZXIgUHJvemVzcy4gRXMgaXN0IGRhaGVyIGVpbmZhY2hlciwgd2VubiBTaWUgc2ljaCBkaWUgQmVudXR6ZXIgc2VsYnN0IHJlZ2lzdHJpZXJlbiBsYXNzZW4uIFNpZSBtJnV1bWw7c3NlbiBkaWUgQmVudXR6ZXIgZGFubiBudXIgbm9jaCBlaW5lciBvZGVyIG1laHJlcmVuIEJlbnV0emVyZ3J1cHBlbiB6dW9yZG5lbi4gQWJlciBlcnN0ZWxsZW4gU2llIGJpdHRlIGYmdXVtbDtyIFRlc3R6d2Vja2UgbWluZGVzdGVucyBlaW5lbiBCZW51dHplci48L3A+PC9saT4NCjxsaT48cD5OYWNoZGVtIGRhcyBTeXN0ZW0gYWxsZSBmJnV1bWw7ciBkaWVzZW4gQmVudXR6ZXIgbm90d2VuZGlnZW4gRmVsZGVyIGJlc3RpbW10IGhhdCwgd2lyZCBJaG5lbiBlaW4gRm9ybXVsYXIgbWl0IGRlbiBlcmZvcmRlcmxpY2hlbiBJbmZvcm1hdGlvbmVuICZ1dW1sO2JlciBkZW4gQmVudXR6ZXIgYW5nZXplaWd0LiBNaXQgZGVyIEtvbXBsZXR0aWVydW5nIGRpZXNlcyBGb3JtdWxhcnMgd2lyZCBkYXMgSGluenVmJnV1bWw7Z2VuIGVpbmVzIEJlbnV0emVycyBhYmdlc2NobG9zc2VuLjwvcD48L2xpPg0KPGxpPjxwPkpldHp0IGsmb3VtbDtubmVuIFNpZSBkYXMgRnJvbnRFbmRVc2Vycy1Nb2R1bHMgYXVmIElocmVyIFNlaXRlIG51dHplbi4gSGllcnp1IG0mdXVtbDtzc2VuIFNpZSBlaW5mYWNoIG51ciBkZW4gVGFnIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSBpbiBJaHJlIFNlaXRlIG9kZXIgVGVtcGxhdGUgZWluZiZ1dW1sO2dlbi48L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgYmVpbmhhbHRldCBrZWluZW4ga29tbWVyemllbGxlbiBTdXBwb3J0LiBTaWUgayZvdW1sO25uZW4gamVkb2NoICZ1dW1sO2JlciBmb2xnZW5kZSBNJm91bWw7Z2xpY2hrZWl0ZW4gSGlsZmUgenUgZGVtIE1vZHVsIGVyaGFsdGVuOjwvcD4NCjx1bD4NCjxsaT5GJnV1bWw7ciBkaWUgbGV0enRlIFZlcnNpb24gZGllc2VzIE1vZHVscywgRkFRcywgZGVtIFZlcnNhbmQgZWluZXMgRmVobGVycmVwb3J0cyBvZGVyIGRlbSBLYXVmIGtvbW1lcnppZWxsZW4gU3VwcG9ydCBiZXN1Y2hlbiBzaWUgYml0dGUgY2FsZ3V5cyBIb21lcGFnZSB1bnRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkVpbmUgd2VpdGVyZSBEaXNrdXNzaW9uIHp1IGRpZXNlbSBNb2R1bCBpc3QgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZTwvYT4genUgZmluZGVuLjwvbGk+DQo8bGk+RGVyIEF1dG9yIGNhbGd1eTEwMDAsIGlzdCBoJmF1bWw7dWZpZyBpbSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+IHp1IGZpbmRlbi48L2xpPg0KPGxpPkxldHp0bGljaCBlcnJlaWNoZW4gc2llIGRlbiBBdXRvciBhdWNoICZ1dW1sO2JlciBlaW5lIGRpcmVrdGUgRW1haWwuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXI8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm11bGFyZToNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBaZWlndCBkYXMgQW5tZWxkZS1Gb3JtdWxhciBhbjwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIFplaWd0IGRhcyBBYm1lbGRlLUZvcm11bGFyIGFuPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBaZWlndCBkYXMgRm9ybXVsYXIgenVtICZBdW1sO25kZXJuIGRlciBFaW5zdGVsbHVuZ2VuIGFuPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBaZWlndCBkYXMgRm9ybXVsYXIgZiZ1dW1sO3IgdmVyZ2Vzc2VuZSBQYXNzdyZvdW1sO3J0ZXIgYW48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IFplaWd0IG5pY2h0cyBhbiwgYWJlciBkaWUgRWlnZW5zY2hhZnRlbiB1bmQgYW5kZXJlIFNtYXJ0eS1WYXJpYWJsZW4gZGVyIGFrdHVlbGwgYW5nZW1lbGRldGVuIEJlbnV0emVyIHdlcmRlbiBleHBvcnRpZXJ0LiBXZW5uIGtlaW4gQmVudXR6ZXIgYW5nZW1lbGRldCBpc3QsIHdlcmRlbiBhdWNoIGtlaW5lIFZhcmlhYmxlbiBleHBvcnRpZXJ0LjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5XaXJkIG1pdCBkZW4gRm9ybXVsYXJlbiB6dXIgQW4tIHVuZCBBYm1lbGRlLSBzb3dpZSB6dXIgJkF1bWw7bmRlcnVuZyB2b24gRWluc3RlbGx1bmdlbiB2ZXJ3ZW5kZXQgLiBEaWVzZXIgUGFyYW1ldGVyIGVudGgmYXVtbDtsdCBkaWUgSUQgb2RlciBkZW4gQWxpYXMgZWluZXIgU2VpdGUsIGF1ZiBkaWUgZGVyIEJlbnV0emVyIHdlaXRlcmdlbGVpdGV0IHdpcmQsIHdlbm4gZGFzIEZvcm11bGFyIGVyZm9sZ3JlaWNoIGF1c2dlZiZ1dW1sO2xsdCB3dXJkZS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPldpcmQgbWl0IGRlbSBBbm1lbGRlLUZvcm11bGFyIHZlcndlbmRldCAuIEVzIGsmb3VtbDtubmVuIHNpY2ggbnVyIGRpZSBCZW51dHplciBhbm1lbGRlbiwgZGllIE1pdGdsaWVkZXIgZGVyIGZlc3RnZWxlZ3RlbiBHcnVwcGUobikgc2luZC48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5XaXJkIG1pdCBkZW4gQW5tZWxkZS1Gb3JtdWxhcmVuIHZlcndlbmRldCAuIERhbWl0IHdlcmRlbiBkaWUgQ2FwdGNoYXMgaW4gZGVuIEZvcm11bGFyZW4gZGVha3RpdmllcnQuIFd1cmRlIGRhcyBDYXB0Y2hhLU1vZHVsIGluc3RhbGxpZXJ0LCBpc3QgZiZ1dW1sO3IgZWluZSBlcmZvbGdyZWljaGUgQW5tZWxkdW5nIHN0YW5kYXJkbSZhdW1sOyZzemxpZztpZyBkaWUgRWluZ2FiZSBkZXMgSW5oYWx0ZXMgZWluZXMgQ2FwdGNoYS1CaWxkZXMgZXJmb3JkZXJsaWNoLiBEaWVzIGlzdCBlaW5lIFNpY2hlcmhlaXRzbWEmc3psaWc7bmFobWUsIHVtIEJydXRlLWZvcmNlLUF0dGFja2VuIHZvcnp1YmV1Z2VuLjwvcD4NCjwvdWw+DQo8cD5OYWNoIGRlciBHUEwgd2lyZCBkaWVzZSBTb2Z0d2FyZSBzbyB2ZXImb3VtbDtmZmVudGxpY2h0LCB3aWUgc2llIGlzdC4gQml0dGUgbGVzZW4gU2llIGRlbiBMaXplbnp0ZXh0IGYmdXVtbDtyIGRlbiB2b2xsZW4gSGFmdHVuZ3NhdXNzY2hsdXNzLjwvcD4NCjxoMz5BbmZvcmRlcnVuZ2VuPC9oMz4NCjxwPlVtIGRpZSBGdW5rdGlvbmFsaXQmYXVtbDt0IGYmdXVtbDtyIGRpZSB2ZXJnZXNzZW5lbiBQYXNzdyZvdW1sO3J0ZXIgbnV0emVuIHp1IGsmb3VtbDtubmVuLCBtdXNzIGRhcyBDTVNNYWlsZXItTW9kdWwgaW5zdGFsbGllcnQgc2Vpbi48L3A+DQo8aDM+Q29weXJpZ2h0IHVuZCBMaXplbno8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz5jYWxndXkxMDAwQGhvdG1haWwuY29tPC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcxNzQ2MjczNi4xMTQ3NTExODU2LjExOTUzMDE1MTkuMTE5NTM4MTI4Mi4yNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk0Mjg0NzE1LjI0NS4xMTQudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWdvb2dsZS5kZXx1dG1jY3Q9L2lnfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ86czq7Ous6/z4Igz4DOtc60zq/Ov8+FIM6zzrnOsSDPhM6/IM+Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ86czq7Ous6/z4Igz4DOtc60zq/Ov8+FIM6zzrnOsSDPhM6/zr0gzrrPic60zrnOus+MJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICfOpM6/IM61zrvOrM+HzrnPg8+Ezr8vzrzOrc6zzrnPg8+Ezr8gzrzOrs66zr/PgiDOs865zrEgz4TOv869IM66z4nOtM65zrrPjCDOtM61zr0gzrXOr869zrHOuSDOsc+Azr/OtM61zrrPhM+MJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICfOpM6/IM61zrvOrM+HzrnPg8+Ezr8vzrzOrc6zzrnPg8+Ezr8gzrzOrs66zr/PgiDOs865zrEgz4TOvyDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOtM61zr0gzrXOr869zrHOuSDOsc+Azr/OtM61zrrPhM+MJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnzpTOtc69IM61z4XPgc6tzrjOt866zrUgzrTOuc61z43OuM+Fzr3Pg863IGVtYWlsIM6zzrnOsSDOsc+Fz4TPjM69IM+Ezr/OvSDOu86/zrPOsc+BzrnOsc+DzrzPjCc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnzp8gz4fPgc6uz4PPhM63z4Igz4DPgc6/z4PPhM6tzrjOt866zrUgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICfOnyDPh8+Bzq7Pg8+EzrfPgiDOtM65zrHOs8+BzqzPhs63zrrOtSB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICfOmc60zrnPjM+EzrfPhM6xJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICfOpM65zrzOriAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ86gz4HOv861zrnOtM6/z4DOv86vzrfPg863OiDOpM6xIM+AzrXOtM6vzrEgzrHPhc+EzqwgzrXPgM63z4HOtc6szrbOv8+Fzr0gz4TOvyDOvM6tzrPOtc64zr/PgiDPhM+Jzr0gz4DOtc60zq/Pic69IM61zrnPg86xzrPPic6zzq7PgiDOs865zrEgz4TOuc+CIM+Gz4zPgc68zrXPgi4gIM6XIM61zrvOu86sz4TPic+Dzrcgz4TOv8+FIM6xz4HOuc64zrzOv8+NIM6xz4XPhM6/z40gz4POtSDOv8+Azr/Ouc6/zrTOrs+Azr/PhM61IM+Fz4DOsc+BzrrPhM+MIM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gzrTOtc69IM61zr3OtM61zq/Ous69z4XPhM6xzrknOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ86Yzq3Ou861z4TOtSDPhM63zr0gzrHOu867zrHOs86uIM+Ez4nOvSDPgM+Bzr/PhM65zrzOrs+DzrXPic69IM+Ezr/PhSDOtM65zrHPh861zrnPgc65z4PPhM6uPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnzpcgzrTOuc61z43OuM+Fzr3Pg863IEVtYWlsIM6uzrTOtyDPh8+BzrfPg865zrzOv8+Azr/Ouc61zq/PhM6xzrknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICfOnc6xIM61z4DOuc+Ez4HOrc+Azr/Ovc+EzrHOuSDOtM65z4DOu86sIGVtYWlscyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcozp3OsSDOtc+AzrnPhM+Bzq3PgM6/zr3PhM6xzrkgz4DOv867zrvOsc+AzrvOv86vIM+Hz4HOrs+Dz4TOtc+CIM68zrUgz4TOt869IM6vzrTOuc6xIM60zrnOtc+NzrjPhc69z4POtyBlbWFpbCknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnzpTOtc69IM6tz4fOtc+EzrUgzrXOuc+DzqzOs861zrkgzq3Ovc6xIM+Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ86UzrXOvSDOrc+HzrXPhM61IM61zrnPg86szrPOtc65IM6tzr3Osc69IM66z4nOtM65zrrPjCDPgM+Bz4zPg86yzrHPg863z4InOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ86Rz4DOv8+Dz43Ovc60zrXPg863IM61zrPOs861zrPPgc6xzrzOrc69zr/PhSDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnzqPPjc69zrTOtc+DzrcgzrXOs86zzrXOs8+BzrHOvM6tzr3Ov8+FIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPs6gz4HOv8+Dzr/Ph86uIM+Dz4TOt869IM+Hz4HOrs+Dzrc8L2I+IM6XIM6xzrvOu86xzrPOriDPhM+Jzr0gzrnOtM65zr/PhM6uz4TPic69IM+Azr/PhSDOuc+Dz4fPjc6/z4XOvSDOs865zrEgz4TOuc+CIM+Fz4DOrM+Bz4fOv8+Fz4POtc+CIM6/zrzOrM60zrXPgiwgzrzPgM6/z4HOtc6vIM69zrEgzrXPgM65z4bOrc+BzrXOuSDOus6xz4TOsc+Dz4TPgc6/z4bOriDOus6xzrkgzrTOuc6xzrrOv8+Azq4gzrvOtc65z4TOv8+Fz4HOs86vzrHPgiDPg861IM6/z4DOv865zr/OtM6uz4DOv8+EzrUgz4XPgM6sz4HPh86/zr3PhM6xIM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gPGk+KM65zrTOuc6xzq/PhM61z4HOsSDOsc69IM61zrvOu86xz4TPjs+DzrXPhM61IM+EzrEgzrzOrs66zrcgz4TPic69IM+AzrXOtM6vz4nOvSwgzrrOu8+AKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnzpHPhc+Ezq4gzrcgzrTOuc6xzrTOuc66zrHPg86vzrEgzrTOtc69IM67zrXOuc+Ezr/Phc+BzrPOtc6vIM+Dz4TOsSB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICfOnM6uzr0gzrTOt868zrnOv8+Fz4HOs86uz4POtc+EzrUgzrzOr86xIM65zrTOuc+Mz4TOt8+EzrEgzrPOuc6xIM6tzr3OsSDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOriDOus6sz4TOuSDPgM6xz4HPjM68zr/Ouc6/IM66zrHOuM+Oz4IgzrHPhc+Ez4wgzrXOr869zrHOuSDOtc69z4PPic68zrHPhM+JzrzOrc69zr8gz4PPhM6/IM6sz4HOuM+Bz4nOvM6xICBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICfOlc6+zrHOs8+JzrPOriDPh8+BzrfPg8+Ez47OvSDPg861IM6xz4HPh861zq/OvyDPhM+Nz4DOv8+FIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICfOlc6+zrHOs8+JzrPOric7CiRsYW5nWydhZG1pbiddID0gJ86UzrnOsc+HzrXOuc+BzrnPg8+Ezq7Pgic7CiRsYW5nWydlZGl0cHJvcCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgzrnOtM65z4zPhM63z4TOsc+CJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4InOwokbGFuZ1snY3JlYXRlZCddID0gJ86UzrfOvM65zr/Phc+BzrPOrs64zrfOus61JzsKJGxhbmdbJ3NvcnRieSddID0gJ86kzrHOvs65zr3PjM68zrfPg863IM66zrHPhM6xJzsKJGxhbmdbJ3NvcnQnXSA9ICfOpM6xzr7Ouc69z4zOvM63z4POtyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICfOp8+Bzq7Pg8+EzrXPgiDPg8+EzrcozrnPgikgIM61z4DOuc67zrXOs868zq3Ovc63KM61z4IpIM6/zrzOrM60zrEozrXPgiknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnzpjOrc+Dzrcgzr/Pgc6vzr/PhSDPg8+EzrEgzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xIM+DzrUnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnzpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+DzrcgzrXOvc+Mz4Igz4DOtc60zq/Ov8+FIGVtYWlsIM6zzrnOsSDOsc+Fz4TPjM69IM+Ezr/OvSDPh8+Bzq7Pg8+EzrcuICDOmc+Dz4nPgiDPgM+Bzq3PgM61zrkgzr3OsSDOtc+AzrnOus6/zrnOvc+Jzr3Ors+DzrXPhM61IM68zrUgz4TOv869IM60zrnOsc+HzrXOuc+BzrnPg8+Ezq4gz4PPhc+Dz4TOrs68zrHPhM6/z4InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICfOkc69zrHOs869z4nPgc65z4PPhM65zrrPjCDPg861zrvOr860zrHPgi/OjM69zr/OvM6xIM6xzr3PhM65z4PPhM6/zq/Ph865z4POt8+CIM6zzrnOsSDPhM63zr0gz4bPjM+BzrzOsSAizp7Orc+HzrHPg86xIM+Ezr/OvSDOus+JzrTOuc66z4wgz4DPgc+Mz4POss6xz4POt8+CIic7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4IgzrPOuc6xIM+EzrfOvSDPhs+Mz4HOvM6xICLOkc67zrvOsc6zzq4gz4HPhc64zrzOr8+DzrXPic69Iic7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4Igz4PPhM63zr0gzr/PgM6/zq/OsSDOuM6xIM68zrXPhM6xz4bOrc+Bzr/Ovc+EzrHOuSDOvM61z4TOsSDPhM63zr0gzrXOr8+Dzr/OtM6/JzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4LPg8+EzrfOvSDOv8+Azr/Or86xIM64zrEgzrzOtc+EzrHPhs6tz4HOv869z4TOsc65IM68zrXPhM6sIM+EzrfOvSDOrc6+zr/OtM6/JzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ86kz4HPjM+Azr/PgiDPhM6xzr7Ouc69z4zOvM63z4POt8+CJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ86Izr3Osc+CIM6xz4HOuc64zrzPjM+CIM+Hz4HOt8+Dz4TPjs69IM61z4XPgc6vz4POus6/zr3PhM6xzrkgz4PPhM63zr0gzrTOuc6xzrTOuc66zrHPg86vzrEgzrHOu867zrHOs86uz4Igz4fOsc68zq3Ovc+Jzr0gzrrPic60zrnOus+Ozr0gz4DPgc+Mz4POss6xz4POt8+CLiAgzqPPhM63zr0gz4DOsc+Bzr/Pjc+DzrEgz4PPhM65zrPOvM6uIM6/IM6xz4HOuc64zrzPjM+CIM6xz4XPhM+Mz4IgzrXOr869zrHOuTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICfOms6xz4TOrM+BzrPOt8+Dzrcgz4zOu8+Jzr0gzrXOus61zq/Ovc+Jzr0gz4TPic69IM61zrPOs8+BzrHPhs+Ozr0gz4DOv8+FIM61zq/Ovc6xzrkgz4DOsc67zrHOuc+Mz4TOtc+BzrXPgiDOsc+Azr8gzrzOuc6xIM61zrLOtM6/zrzOrM60zrEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnzprOsc+EzqzPgc6zzrfPg863IM+MzrvPic69IM61zrrOtc6vzr3Pic69IM+Ez4nOvSDOtc6zzrPPgc6xz4bPjs69IM+Azr/PhSDOtc6vzr3Osc65IM+AzrHOu86xzrnPjM+EzrXPgc61z4IgzrHPgM6/IM6tzr3OsSDOvM6uzr3OsSc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICfOms6xz4TOrM+BzrPOt8+Dzrcgz4zOu8+Jzr0gz4TPic69IM61zrPOs8+BzrHPhs+Ozr0nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICfOiM+HzrXOuSDOtc65z4POsc+HzrjOtc6vIM68zrcgzq3Os866z4XPgc6/z4IgzrrPjs60zrnOus6xz4IsIM+Az4HOv8+Dz4DOsc64zq7Pg8+EzrUgzr7Osc69zqwnOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ86UzrXOvSDOrc+HzrXOuSDOss+BzrXOuM61zq8gz4DPgc6/z4PPic+BzrnOvc+Mz4IgzrrPjs60zrnOus6xz4Igz4DOv8+FIM69zrEgzrHOvc+EzrnPg8+Ezr/Ouc+HzrXOryDPg8+Ezr8gzrTOuc66z4wgz4POsc+CIM6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+Hz4HOrs+Dz4TOtyDPg8+EzrfOvSDOss6sz4POtyDOtM61zrTOv868zq3Ovc+Jzr0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyDOtc68z4bOrM69zrnPg863z4Igz4TOt8+CIM+Gz4zPgc68zrHPgiDOtc+AzrHOu86uzrjOtc+Fz4POt8+CIM+Dz4TOv865z4fOtc6vz4nOvSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gZW1haWwgzrPOuc6xIM+Ezr/Phc+CIM6+zrXPh86xz4POvM6tzr3Ov8+Fz4IgzrrPic60zrnOus6/z43PgiDPgM+Bz4zPg86yzrHPg863z4InOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ86JIM61z4POtc6vz4Igzq4gzrrOrM+Azr/Ouc6/z4IgzqzOu867zr/PgiDOrc+HzrXOuSDOrs60zrcgzrXOus66zrnOvc6uz4POtc65IM60zrnOsc60zrnOus6xz4POr86xIM6zzrnOsSDPhM63zr0gzrHOu867zrHOs86uIM66z4nOtM65zrrOv8+NIM+Az4HPjM+DzrLOsc+DzrfPgiDOs865zrEgzrHPhc+Ez4zOvSDPhM6/zr0gzrvOv86zzrHPgc65zrHPg868z4wuICDOlc67zq3Os86+z4TOtSDPhM6/IGVtYWlsIM+DzrHPgiwgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM67zqzOss61z4TOtSDPgM61z4HOsc65z4TOrc+Bz4kgzr/OtM63zrPOr861z4IgzrPOuc6xIM+EzrfOvSDOsc67zrvOsc6zzq4gzrrPic60zrnOus6/z40gz4PPhM6xIM61zrnPg861z4HPh8+MzrzOtc69zrEnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ86jz4bOrM67zrzOsSDOss6sz4POt8+CIM60zrXOtM6/zrzOrc69z4nOvSc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICfOlc67zqzOss6xz4TOtSDOsc+Fz4TPjCDPhM6/IM68zq7Ovc+FzrzOsSDOtc+AzrXOuc60zq4gzrrOrM+Azr/Ouc6/z4IgzrHOvc6tz4bOtc+BzrUgz4PPhM6/zr0gzrTOuc66z4TPhc6xzrrPjCDPhM+Mz4DOvyDPjM+Ezrkgzq3Ph861z4TOtSDOvs61z4fOrM+DzrXOuSDPhM6/zr0gzrrPic60zrnOus+MIM+Az4HPjM+DzrLOsc+DzrfPgi4gIM6Rzr0gz4zOvc+Ez4nPgiDOrc+Ez4POuSDPg8+FzrzOss6xzq/Ovc61zrkgzrTOuc6xzrLOrM+Dz4TOtSDPhM65z4Igz4DOsc+BzrHOus6sz4TPiSDOv860zrfOs86vzrXPgi4gIM6Rzr0gzrTOtc69IM6tz4fOtc+EzrUgzrnOtM6tzrEgzrPOuc6xIM6xz4XPhM+MIM+Ezr8gzrjOrc68zrEgzrTOuc6xzrPPgc6sz4jPhM61IM68zrUgzrHPg8+GzqzOu861zrnOsSDPhM6/IM+AzrHPgc+Mzr0gzrzOrs69z4XOvM6xLCDPg86xz4IgzrXPhc+HzrHPgc65z4PPhM6/z43OvM61IM6zzrnOsSDPhM6/zr0gz4fPgc+Mzr3OvyDPg86xz4IuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnzprPjs60zrnOus6xz4InOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnzp8gz4DOsc+BzrHOus6sz4TPiSDOus+OzrTOuc66zrHPgiDOrc+HzrXOuSDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8gz4TPhc+HzrHOr86xIM+Az4HOv866zrXOuc68zq3Ovc6/z4Ugzr3OsSDOtc+AzrHOu863zrjOtc+Fz4TOtc6vIM6/IM67zr/Os86xz4HOuc6xz4POvM+Mz4Igz4fPgc6uz4PPhM63LiAgz4zPhM6xzr0gzrrOrM69zrXPhM61IM66zrvOr866IM+Dz4TOv869IM+Fz4DOtc+Bz4PPjc69zrTOtc+DzrzOvyDPgM6/z4UgzrHOus6/zrvOv8+FzrjOtc6vIM64zrEgz4POsc+CIM61zrzPhs6xzr3Ouc+Dz4TOtc6vIM6tzr3OsSDPgM61zrTOr86/IM6zzrnOsSDPhM63zr0gzrXOuc+DzrHOs8+JzrPOriDPhM6/z4UgzrrPjs60zrnOus6xLiAgzqPPhc69zq7OuM+Jz4Igz4TOvyDPgM61zrTOr86/IM6tz4fOtc65IM+Az4HOv8+Dz4XOvM+AzrvOt8+Bz4nOvM6tzr3OvyDPhM6/zr0gzrrPjs60zrnOus6xIM6xzrvOu86xIM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDPgM6/z4UgzrTOtc69IM61zq/Ovc6xzrksIM6/IM66z47OtM65zrrOsc+CIM61zq/Ovc6xzrk6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnzprOrM69z4nOvc+EzrHPgiDOus67zq/OuiDPg8+Ezr8gz4DOsc+BzrHOus6sz4TPiSDPhc+AzrXPgc+Dz43Ovc60zrXPg868zr8gzrjOsSDOvM61z4TOsc+GzrXPgc64zrXOr8+EzrUgz4PPhM6/IM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gz4zPgM6/z4UgzrjOsSDOtc65z4POrM6zzrXPhM61IM+Ezr/OvSDPgM6xz4HOsc+AzrHOrM69z4IgzrrPjs60zrnOus6xIM66zrHOuSDOuM6xIM6xzrvOu86szr7Otc+EzrUgz4TOv869IM66z4nOtM65zrrPjDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ86ezrXPh86xz4POvM6tzr3Ov8+CIM66z4nOtM65zrrPjM+CJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnzpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+Dzrcgz4TOv8+FIM6xz4HOuM+Bz47OvM6xz4TOv8+CIENNU01haWxlcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICfOiM+HzrXOuSDOsc+Azr/Pg8+EzrHOu867zrXOryBlbWFpbCDPg8+Ezr/OvSAlcyDOvM61IM6/zrTOt86zzq/Otc+CIM6zzrnOsSDPhM6/zr0gz4TPgc+Mz4DOvyDOsc67zrvOsc6zzq7PgiDOus+JzrTOuc66zr/PjS4gIM6jzrHPgiDOtc+Fz4fOsc+BzrnPg8+Ezr/Pjc68zrUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICfOj8+Dz4TOtSDOvs61z4fOrM+DzrHPhM61IM6uIM+HzqzPg86xz4TOtSDPhM6/zr0gzrrPic60zrnOus+MIM+Az4HPjM+DzrLOsc+DzrfPgi4gzpvOv865z4DPjM69LCDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61IM+Ezr8gz4zOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcgzrXOtM+OLCDOus6xzrkgzqzOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+Dzrcgz4POsc+CIM64zrEgz4POsc+CIM+Dz4TOsc67zrvOtc6vIM6tzr3OsSBlbWFpbCDOvM61IM6/zrTOt86zzq/Otc+CIM6zzrnOsSDPhM63zr0gzrHOu867zrHOs86uIM+Ezr/PhSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ86gz4HPjM+Ez4XPgM6xIM6zzrnOsSDPhM6/z4XPgiDPh86xzrzOrc69zr/Phc+CIM66z4nOtM65zrrOv8+Nz4InOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnzpTOtc69IM61z4XPgc6tzrjOt866zrUgzrcgzrnOtM65z4zPhM63z4TOsSAlcyAnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ86Vz4XPgc6tzrjOt866zrHOvSDOv865IM65zrTOuc+Mz4TOt8+EzrXPgic7CiRsYW5nWydhZGRwcm9wJ10gPSAnzqDPgc6/z4POuM6uzrrOtyDOuc60zrnPjM+EzrfPhM6xz4InOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ86kzr8gzrHPgM6xzrnPhM6/z43OvM61zr3OvyDPgM61zrTOr86/ICglcykgzq7PhM6xzr0gzrrOtc69z4wnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICfOlc65z4POrM6zzrXPhM61IM6tzr3Osc69IM69zrXPjCDOus+JzrTOuc66z4wgzrXOtM+OIM+Az4HOv866zrXOuc68zq3Ovc6/z4Ugzr3OsSDOsc67zrvOrM6+zrXPhM61IM66z4nOtM65zrrPjCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ86UzrXOvSDOrc+HzrXPhM61IM66zqzOvc61zrkgzrXOuc+DzrHOs8+JzrPOric7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnzqHPhc64zrzOr8+DzrXOuc+CJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnzpXOs86zz4HOsc+Gzq4nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICfOkc+Fz4TPjM+CIM6/IM67zr/Os86xz4HOuc6xz4POvM+Mz4Igzq3Ph861zrkgzrvOrs6+zrXOuSc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnzpHOvc+EzrnOus6xzr3Ov869zrnOus6uIM68zr/Pgc+Gzq4gzrTOuc61z43OuM+Fzr3Pg863z4IgZW1haWwnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ezq4gzrfOvM61z4HOv868zrfOvc6vzrEgzrvOrs6+zrfPgic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnzqPPhs6szrvOvM6xIM+Dz4TOt869IM+Bz43OuM68zrnPg863IM+EzrfPgiDOuc60zrnPjM+EzrfPhM6xz4IgJXMgzrPOuc6xIM+Ezr/OvSDPh8+Bzq7Pg8+EzrcgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ez4wgzrHOvc6xzrPOvc+Jz4HOuc+Dz4TOuc66z4wgzrPOuc6xIM+EzrfOvSDOv868zqzOtM6xICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnzprPgc+Fz4bPjCDPgM61zrTOr86/IM60zrXOr866z4TOtyc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnzprPgc+Fz4bPjCDPgM61zrTOr86/IM+Hz4HPjs68zrHPhM6/z4InOwokbGFuZ1snaGlkZGVuJ10gPSAnzprPgc+Fz4bPjCc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnzpcgzr/Ovc6/zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOmc60zrnPjM+EzrfPhM6xz4Igzq3Ph861zrkgzq7OtM63IM6xz4DOv860zr/OuM61zq8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnzpTOtc69IM6tz4fOv8+Fzr0gzr/Pgc65z4PPhM61zq8gzrnOtM65z4zPhM63z4TOtc+CJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnzpTOtc69IM6tz4fOv8+Fzr0gzrXPgM65zrvOtc6zzrXOryDOuc60zrnPjM+EzrfPhM61z4IgzrPOuc6xIM6xz4XPhM6uzr0gz4TOt869IM6/zrzOrM60zrEnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICfOlc+Fz4HOrc64zrfOus6xzr0gzr/OvM6szrTOtc+CJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICfOkc+AzrHOuc+EzrXOr8+EzrHOuSDPg8+FzrzOvM61z4TOv8+Hzq4gz4POtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869IM68zq/OsSDOv868zqzOtM6xJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICfOkc+AzrHOuc+EzrXOr8+EzrHOuSDPg8+FzrzOvM61z4TOv8+Hzq4gz4POtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869IM68zq/OsSDOv868zqzOtM6xJzsKJGxhbmdbJ2JhY2snXSA9ICfOoM6vz4PPiSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnzqTOvyAlcyDOtc6vzr3Osc65IM6xz4DOsc65z4TOv8+NzrzOtc69zr8gz4DOtc60zq/Ovyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnzqPOt868zqzOvc61z4TOtSDPhM6xIM6xz4DOsc65z4TOv8+NzrzOtc69zrEgz4DOtc60zq/OsSDOvM61JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ86Vz4DOuc+DzrfOvM6szr3Otc+EzrUgz4TOsSDOsc+AzrHOuc+Ezr/Pjc68zrXOvc6xIM+AzrXOtM6vzrEgzrzOtSc7CiRsYW5nWyduZXh0J10gPSAnzpXPgM+MzrzOtc69zr8nOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICfOpc+AzqzPgc+HzrXOuSDOrs60zrcgzr/OvM6szrTOsSDOvM61IM6xz4XPhM+MIM+Ezr8gz4zOvc6/zrzOsSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ86Rz4DOsc65z4TOv8+NzrzOtc69zr8gz4DOtc60zq/Ovyc7CiRsYW5nWydvcHRpb25hbCddID0gJ86gz4HOv86xzrnPgc61z4TOuc66zqwnOwokbGFuZ1snb2ZmJ10gPSAnzpXOus+Ez4zPgic7CiRsYW5nWydsZW5ndGgnXSA9ICfOnM6uzrrOv8+CJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KM+HzrHPgc6xzrrPhM6uz4HOtc+CIM+Dz4TOt869IM61zrnPg86xzrPPic6zzq4gzrrOtc65zrzOrc69zr/PhSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ86Vz4DOuc67zr/Os86tz4IgzrzOtc69zr/PjSBEcm9wZG93biwgzrzOtSDOtM65zrHPh8+Jz4HOuc+Dz4TOuc66zq3PgiDOs8+BzrHOvM68zq3Pgic7CiRsYW5nWyd5ZXMnXSA9ICfOnc6xzrknOwokbGFuZ1sncHJvbXB0J10gPSAnzqDPgc6/z4TPgc6/z4DOric7CiRsYW5nWyd0eXBlJ10gPSAnzqTPjc+Azr/Pgic7CiRsYW5nWyd0ZXh0J10gPSAnzprOtc6vzrzOtc69zr8nOwokbGFuZ1snY2hlY2tib3gnXSA9ICfOkc69z4TOuc66zrXOr868zrXOvc6/IM61zrvOrc6zz4fOv8+FIENoZWNrYm94JzsKJGxhbmdbJ2VtYWlsJ10gPSAnzpTOuc61z43OuM+Fzr3Pg863IEVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnzqDOtc+BzrnOv8+Hzq4gzrrOtc65zrzOrc69zr/PhSc7CiRsYW5nWydkcm9wZG93biddID0gJ86czrXOvc6/z40gRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICfOms6xzrvPjs+CIM6uzrvOuM6xz4TOtSc7CiRsYW5nWydsb2dvdXQnXSA9ICfOkc+Azr/Pg8+Nzr3OtM61z4POtyc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICfOkc67zrvOsc6zzq4gz4DPgc6/z4PPic+AzrnOus+Ozr0gz4HPhc64zrzOr8+DzrXPic69JzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnzpcgz4PPjc69zrTOtc+DzrcgzrHPgM6tz4TPhc+HzrUgLSDOnM63IM6xz4DOv860zrXOus+Ez4wgz4zOvc6/zrzOsSDPh8+Bzq7Pg8+Ezrcgzq4gzrrPic60zrnOus6/z40nOwokbGFuZ1snbG9naW4nXSA9ICfOlc6vz4POv860zr/Pgic7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICfOjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICfOms+JzrTOuc66z4zPgic7CiRsYW5nWydyZWdpc3RlciddID0gJ86VzrPOs8+BzrHPhs6uJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnzp7Otc+HzqzPg86xz4TOtSDPhM6/zr0gzrrPic60zrnOus+MPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ86gz4HOv861z4DOuc67zr/Os86tz4InOwokbGFuZ1sndGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICfOpM6/IM6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+Hz4HOrs+Dz4TOtyDOtM61zr0gzrXPhc+Bzq3OuM63zrrOtSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnzpHPhc+Ez4wgz4TOvyDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyAoJXMpIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrHOuSDOrs60zrcnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ86nz4HOrs+DzrcgU01UUCDOs865zrEgz4TOt869IM61z4DOuc66z43Pgc+Jz4POtyDPhM+Jzr0gzrTOuc61z4XOuM+Nzr3Pg861z4nOvSBlbWFpbD8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnzpXOu86sz4fOuc+Dz4TOvyDOvM6uzrrOv8+CIM6az4nOtM65zrrOv8+NJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4IgzprPic60zrnOus6/z40nOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnzpXOu86sz4fOuc+Dz4TOvyDOvM6uzrrOv8+CIM6/zr3PjM68zrHPhM6/z4Igz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4Igzr/Ovc+MzrzOsc+Ezr/PgiDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnzqfPgc+Mzr3Ov8+CIM67zq7Ovs63z4IgzrTOuc61z4DOsc+Gzq7PgiAozrTOtc+Fz4TOtc+Bz4zOu861z4DPhM6xKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ86Vz4DOuc+Ez4HOrc+AzrXPhM6xzrkgzrcgzrXOs86zz4HOsc+Gzq4gz4PPhM63zr0gz4XPgM63z4HOtc+Dzq/OsSBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnzqDPgc6/zrXPgM65zrvOtc6zzrzOrc69zrcgzr/OvM6szrTOsSDOs865zrEgz4TOv8+Fz4Igzr3Orc6/z4XPgiDPh8+Bzq7Pg8+EzrXPgic7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ86RzrvOu86xzrPOriDPgc+FzrjOvM6vz4POtc+Jzr0gz4DPgc6/z4TPjc+Azr/PhSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnzp/OuSDOus+JzrTOuc66zr/OryDPgM+Bz4zPg86yzrHPg863z4IgzrTOtc69IM+EzrHOuc+BzrnOrM62zr/Phc69JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ86czrcgzrHPgM6/zrTOtc66z4TPjCDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ez4zPgiDOus+JzrTOuc66z4zPgic7CiRsYW5nWydlZGl0dXNlciddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgz4PPhM6/zrnPh861zq/Pic69IM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWyd2YWxpZCddID0gJ86IzrPOus+Fz4HOvyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ86Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3N0YXR1cyddID0gJ86azrHPhM6sz4PPhM6xz4POtyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICfOkc+Fz4TPjM+CIM6/IM+Hz4HOrs+Dz4TOt8+CIM60zrXOvSDOtc6vzr3Osc65IM68zq3Ou86/z4IgzrrOsc68zrzOr86xz4Igzr/OvM6szrTOsc+CJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICfOp8+Jz4HOr8+CIM65zrTOuc+Mz4TOt8+EzrXPgic7CiRsYW5nWyd2YWx1ZSddID0gJ86kzrnOvM6uJzsKJGxhbmdbJ2dyb3VwcyddID0gJ86fzrzOrM60zrXPgic7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnzpnOtM65z4zPhM63z4TOtc+CJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnzozOvc6/zrzOsSDOuc60zrnPjM+EzrfPhM6xz4InOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnzqTOuc68zq4gzrnOtM65z4zPhM63z4TOsc+CJzsKJGxhbmdbJ2FkZCddID0gJ86gz4HOv8+DzrjOrs66zrcnOwokbGFuZ1snZWRpdCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEnOwokbGFuZ1snZXhwaXJlcyddID0gJ86bzq7Os861zrknOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnzp/Pgc65z4POvM+Mz4IgzrfOvM61z4HOv868zrfOvc6vzrHPgic7CiRsYW5nWycxMmhycyddID0gJzEyIM+Oz4HOtc+CJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgz47Pgc61z4InOwokbGFuZ1snNDhocnMnXSA9ICc0OCDPjs+BzrXPgic7CiRsYW5nWycxd2VlayddID0gJzEgzrXOss60zr/OvM6szrTOsSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIM61zrLOtM6/zrzOrM60zrXPgic7CiRsYW5nWycxbW9udGgnXSA9ICcxIM68zq7Ovc6xz4InOwokbGFuZ1snM21vbnRocyddID0gJzMgzrzOrs69zrXPgic7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiDOvM6uzr3Otc+CJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSDOrc+Ezr/Pgic7CiRsYW5nWyduZXZlciddID0gJ86gzr/PhM6tJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ86kzr8gzqzPgc64z4HPic68zrEgzrXOs866zrHPhM6xz4PPhM6szrjOt866zrUgzrXPgM65z4TPhc+Hz47Pgi48YnIvPs6SzrXOss6xzrnPic64zq7PhM61IM+Mz4TOuSDOv8+Bzq/Pg86xz4TOtSDOtM65zrrOsc65z47OvM6xz4TOsSAizqTPgc6/z4DOv8+Azr/Or863z4POtyDOuc60zrnOv8+Ezq7PhM+Jzr0gz4PPhM6xIM60zrnOus6xzrnPjs68zrHPhM6xIM+Ezr/PhSBGcm9udEVuZFVzZXIuIic7CiRsYW5nWydwYXNzd29yZCddID0gJ86az4nOtM65zrrPjM+CIM+Az4HPjM+DzrLOsc+DzrfPgic7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ86Vz4DOsc69zqzOu863z4jOtyc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnzpcgzr/OvM6szrTOsSDOvM61IM6xz4XPhM6uzr0gz4TOt869IM6/zr3Ov868zrHPg86vzrEgz4XPgM6sz4HPh861zrkgzq7OtM63JzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgzr/OvM6szrTOsc+CJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ86Rz4DOv8+Dz4TOv867zq4nOwokbGFuZ1snY2FuY2VsJ10gPSAnzobOus+Fz4HOvyc7CiRsYW5nWydkZWxldGUnXSA9ICfOlM65zrHOs8+BzrHPhs6uJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnzpXOr8+Dz4TOtSDPg86vzrPOv8+Fz4HOv865IM+Mz4TOuSDOsc+Fz4TOrc+CIM61zq/Ovc6xzrkgzr/OuSDOus6xz4TOrM67zrvOt867zrXPgiDPgc+FzrjOvM6vz4POtc65z4IgzrPOuc6xIM6xz4XPhM6uzr0gz4TOt869IM6/zrzOrM60zrE/XG4gzpcgzrHPgM6/zrXOvc61z4HOs86/z4DOv86vzrfPg863IM68zrnOsc+CIM65zrTOuc+Mz4TOt8+EzrHPgiDOtM61zr0gOM6xIM6tz4fOtc65IM+Jz4Igz4PPhc69zq3PgM61zrnOsSDPhM63zr0gzrTOuc6xzrPPgc6xz4bOriDOus6sz4DOv865zrHPgiDOtc6zzrPPgc6xz4bOrs+CIM+Dz4TOv869IM+Azq/Ovc6xzrrOsSDOuc60zrnOv8+Ezq7PhM+Jzr0gzrPOuc6xIM+EzrfOvSDOv868zqzOtM6xL8+Hz4HOrs+Dz4TOty4gIM6Rz4DOu86sIM60zrXOvSA4zrEgzrXOr869zrHOuSDOtM65zrHOuM6tz4POuc68zrEuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICfOlc6vz4PPhM61IM+Dzq/Os86/z4XPgc6/zrkgzrPOuc6xIM+EzrfOvSDOtM65zrHOs8+BzrHPhs6uIM6xz4XPhM6uz4Igz4TOt8+CIM6/zrzOrM60zrHPgj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuSDOs865zrEgz4TOt869IM+AzrvOrs+BzrcgzrTOuc6xzrPPgc6xz4bOriDOsc+Fz4TOrs+CIM+EzrfPgiDOuc60zrnPjM+EzrfPhM6xz4I/XG7Oms6xz4RcJ86xz4XPhM+Mzr0gz4TOv869IM+Ez4HPjM+Azr8gzrjOsSDOtM65zrHOs8+BzrHPhs6/z43OvSDOus6xzrkgzr/PgM6/zrnOtc+CIM61zrPOs8+BzrHPhs6tz4Igz4fPgc6uz4PPhM63IM6xz4bOv8+Bzr/Pjc69IM+EzrfOvSDOuc60zrnPjM+EzrfPhM6xIM6xz4XPhM6uLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICfOkc66zrHOuM+Mz4HOuc+Dz4TOtc+CIM+AzrHPgc6szrzOtc+Ez4HOv865JzsKJGxhbmdbJ2lkJ10gPSAnzpHOvc6xzrPOvc+Jz4HOuc+Dz4TOuc66z4wnOwokbGFuZ1snbmFtZSddID0gJ86fzr3Ov868zrHPg86vzrEnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdvcnVwJ10gPSAnzqDPgc+MzrLOu863zrzOsSDPg8+EzrfOvSDPgM+Bzr/Pg864zq7Ous63IM6/zrzOrM60zrHPgic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnzpzOriDOrc6zzrrPhc+BzrXPgiDPgM6xz4HOrM68zrXPhM+Bzr/OuSc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ86Vz4bOsc+BzrzOv86zzq4nOwokbGFuZ1snZmlsdGVyJ10gPSAnzqbOr867z4TPgc6/JzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdSZWd1bGFyIEV4cHJlc3Npb24gzrPOuc6xIM+Ezr8gz4zOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfOoM61z4HOuc6zz4HOsc+Gzq4nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnzp/Ovc6/zrzOsc+Dzq/OsSDOv868zqzOtM6xz4InOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnzpHPgM6xzrPOv8+BzrXPjc61z4TOsc65IM63IM+Az4HPjM+DzrLOsc+DzrcuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnzqPPhs6szrvOvM6xJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnzqDPgc6/z4POuM6uzrrOtyDOvc6tzrHPgiDOn868zqzOtM6xz4InOwokbGFuZ1snYWRkdXNlciddID0gJ86gz4HOv8+DzrjOrs66zrcgzr3Orc6/z4Ugz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICfOlc+Fz4HOrc64zrfOus6xzr0gzr/OuSDPgM6xz4HOsc66zqzPhM+JIM+Hz4HOrs+Dz4TOtc+CIM+Azr/PhSDOuc66zrHOvc6/z4DOv865zr/Pjc69IM+EzrEgzrrPgc65z4TOrs+BzrnOsSc7CiRsYW5nWydncm91cCddID0gJ86fzrzOrM60zrEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICfOlc+AzrnOu86/zrPOriDOv868zqzOtM6xz4InOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gzrXOs86zz4HOsc+Gzq7Pgic7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyDOsc+Azr/Pg8+Nzr3OtM61z4POt8+CJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gz4PPjc69zrTOtc+DzrfPgic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ86gz4HOv8+EzrnOvM6uz4POtc65z4InOwokbGFuZ1sndXNlcnMnXSA9ICfOp8+Bzq7Pg8+EzrXPgic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICfOlM65zrHPh861zq/Pgc65z4POtyDOtc6zzrPOtc6zz4HOsc68zq3Ovc+Jzr0gz4fPgc63z4PPhM+Ozr0nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICfOlM65zrHPh861zrnPgc65z4PPhM61zq/PhM61IM+Ezr/Phc+CIM61zrPOs861zrPPgc6xzrzOrc69zr/Phc+CIM+Hz4HOrs+Dz4TOtc+CJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICfOoM+Bzr/Otc+AzrnOu861zrPOvM6tzr3OtyDOsc+Bz4fOuc66zq4gz4POtc67zq/OtM6xJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICfOo861zrvOr860zrEgz4DOv8+FIM+Az4HOv8+Dz4DOtc67zqzPg8+EzrfOus61IM+Az4HPjM+Dz4bOsc+EzrEnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnzobOu867zrcgz4POtc67zq/OtM6xOiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCjwvcD4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICJVc2VycyAmIGdHcm91cHMiIG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJ05leHRcJzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzLCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSJuYW1lIjwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89InBhZ2UiPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ0lEIFAmYWFjdXRlO2cuL0FsaWFzIGEgZG9uZGUgaXIgbHVlZ28gZGUgdmVyaWZpY2FyIGMmb2FjdXRlO2RpZ28gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBEZXRhbGxlcyBkZSBVc3VhcmlvcyBQZXJkaWRvcyc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBDb25maXJtYWNpJm9hY3V0ZTtuIGRlIFVzdWFyaW9zIFBlcmRpZG9zJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRXJyb3I6IE0mYWFjdXRlO3MgZGUgdW5hIGN1ZW50YSBkZSB1c3VhcmlvIGNvaW5jaWRlbiBjb24gbGFzIHByb3BpZWRhZGVzIGVzcGVjaWZpY2FkYXMnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRXJyb3I6IE5vIHNlIHB1ZG8gaGFsbGFyIHVuIHVzdWFyaW8gcXVlIGNvaW5jaWRhJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcjogTm8gc2UgcHVkbyBoYWxsYXIgdW4gZ3J1cG8gY29uIGVzZSBub21icmUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdTb2xvIExlY3R1cmEnOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ0NsYXNlIFVzZXIgTWFuaXB1bGF0b3InOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnUXVpdGFkbyBkZWwgc2lzdGVtYSBwb3IgZWwgYWRtaW5pc3RyYWRvcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnTW9zdHJhciBzb2xvIHVzdWFyaW9zIGxvZ3VlYWRvcyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnRGVzbG9ndWVhciBlc3RlIHVzdWFyaW8nOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnUHJvcGllZGFkZXMgZGVsIFVzdWFyaW8nOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpYWwgZGVsIFVzdWFyaW8nOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0YXInOwokbGFuZ1snY2xlYXInXSA9ICdMaW1waWFyJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydGFyIGhpc3RvcmlhbCBkZWwgdXN1YXJpbyBhIEFTQ0lJJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnTGltcGlhciByZWdpc3Ryb3MgZGVsIEhpc3RvcmlhbCBkZWwgVXN1YXJpbyc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICcmaXF1ZXN0O09sdmlkJm9hY3V0ZTsgc3VzIERhdG9zIGRlIEFjY2Vzbz8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0YXIgZGVmaW5pY2kmb2FjdXRlO24gZGUgZ3J1cG8gKHkgcHJvcGllZGFkZXMpIGEgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdNYW50ZW5pbWllbnRvIGRlbCBIaXN0b3JpYWwgZGVsIFVzdWFyaW8nOwokbGFuZ1sneWVzJ10gPSAnUyZpYWN1dGU7JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnRGUnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogU2luIExpbWl0ZSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdVbmEgSG9yYSc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICdTZWlzIEhvcmFzJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ0RvY2UgSG9yYXMnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdVbiBEJmlhY3V0ZTthJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ1VuYSBTZW1hbmEnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ0RvcyBTZW1hbmFzJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdVbiBNZXMnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RyZXMgTWVzZXMnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWlzIE1lc2VzJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ1VuIEEmbnRpbGRlO28nOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnQWdydXBhciB5IE9yZGVuYXInOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ1JlZ2lzdHJvcyBxdWUgY3VtcGxhbiBlbCBjcml0ZXJpbyc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ05vbWJyZSBkZSBVc3VhcmlvIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdOb21icmUgZGUgVXN1YXJpbyBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdGZWNoYSBkZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdGZWNoYSBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1RpcG8gZGUgRXZlbnRvIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnVGlwbyBkZSBFdmVudG8gYXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIElQIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBJUCBhc2NlbmRlbnRlJzsKJGxhbmdbJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnXSA9ICdIaXN0b3JpYWwgbm8gZGV0ZWN0YWRvJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzdGFibGVjZXInOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnQWdydXBhciBwb3IgRGlyZWNjaSZvYWN1dGU7biBJUCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRybyBkZSBUaXBvIGRlIEV2ZW50byc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdNb3N0cmFyIHNvbG8gZXZlbnRvcyBpbmZlcmlvcmVzIGE6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdMaW1pdGUgZGUgbGEgUCZhYWN1dGU7Z2luYSc7CiRsYW5nWydmb3InXSA9ICdwYXJhJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnSW5mb3JtZSBkZWwgSGlzdG9yaWFsIGRlbCBVc3VhcmlvJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdEZXNjb25vY2lkbyc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBJUCc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVGlwbyBkZSBFdmVudG8nOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdGZWNoYSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnVm9sdmVyJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdPcGVyYWNpJm9hY3V0ZTtuIGRlIEltcG9ydGFjaSZvYWN1dGU7biBDb21wbGV0YWRhJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0wmaWFjdXRlO25lYXMgUHJvY2VzYWRhcyc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnRXJyb3JlcyBFbmNvbnRyYWRvcyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVnaXN0cm9zIEEmbnRpbGRlO2FkaWRvcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnTm8gc2UgcHVlZGUgaGFsbGFyIGxhcyBwcm9waWVkYWRlcyBkZWwgZ3J1cG8gJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdObyBzZSBwdWRvIG9idGVuZXIgdW5hIHJlc3B1ZXN0YSBkZWwgc2Vydmlkb3IgU01UUCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdObyBzZSBwdWRvIGVuY29udHJhciBlbCBmaWNoZXJvIGVzcGVjaWZpY2FkbyAoJVMpJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdWYWxvciBpbnZhbGlkbyBwYXJhIGxhIGxpc3RhIGRlc3BsZWdhYmxlICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRWwgY2FtcG8gJXMgZXhjZWRlIGxhIGxvbmdpdHVkIG0mYWFjdXRlO3hpbWEnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdFcnJvciBkdXJhbnRlIGxhIEltcG9ydGFjaSZvYWN1dGU7biAobCZpYWN1dGU7bmVhICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ05vIHNlIHB1ZG8gb2J0ZW5lciBsYSBkZWZpbmljaSZvYWN1dGU7biBkZSBsYSBwcm9waWVkYWQgKGVycm9yIGludGVybm8pJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW1hcyBhbCBjb25maWd1cmFyIGluZm8gZGVsIHVzdWFyaW8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ05vIHNlIGVuY29udHImb2FjdXRlOyBsYSBjb2x1bW5hIGNvcnJlc3BvbmRpZW50ZSBhbCBjYW1wbyByZXF1ZXJpZG8gJXMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdObyBzZSBlbmNvbnRyYXJvbiBwcm9waWVkYWRlcyBwYXJhIGVsIGdydXBvIGVzcGVjaWZpY2Fkbyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnRWwgZm9ybWF0byBkZWwgZmljaGVybyBlc3BlY2lmaWNhZG8gbm8gZXMgY29ycmVjdG8nOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ05vIHNlIHB1ZG8gYWJyaXIgZWwgZmljaGVybyc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5JbmZvcm1hY2kmb2FjdXRlO24gZGUgRm9ybWF0byBkZSBBcmNoaXZvPC9oND4NCjxwPkVsIGFyY2hpdm8gcGFyYSBpbXBvcnRhciBkZWJlIHNlciBkZSBmb3JtYXRvIEFTQ0lJIHVzYW5kbyBsb3MgdmFsb3JlcyBzZXBhcmFkb3MgcG9yIGNvbWEuICBDYWRhIGwmaWFjdXRlO25lYSBlbiBlc3RlIGFyY2hpdm8gZGUgaW1wb3J0YWNpJm9hY3V0ZTtuIChjb24gZXhlcGNpJm9hY3V0ZTtuIGRlIGxhIGwmaWFjdXRlO25lYSBkZSBlbmNhYmV6YWRvcywgZGlzY3V0aWRhIGFiYWpvKSByZXByZXNlbnRhIGVsIHJlZ2lzdHJvIGRlIHVuIHVzdWFyaW8uICBDYWRhIGwmaWFjdXRlO25lYSBkZWJlIGNvbnRlbmVyIGVsIG1pc21vIG4mdWFjdXRlO21lcm8gZGUgY2FtcG9zLCB5IGVsIG9yZGVuIGRlIGxvcyBjYW1wb3MgZW4gY2FkYSBsJmlhY3V0ZTtuZWEgZGViZSBzZXIgaWQmZWFjdXRlO250aWNvLjwvcD4NCjxoNT5MJmlhY3V0ZTtuZWEgZGUgZW5jYWJlemFkbzwvaDU+DQo8dWw+DQo8bGk+TGEgcHJpbWVyYSBsJmlhY3V0ZTtuZWEgZGVsIGFyY2hpdm8gZGViZSBjb21lbnphciBjb24gZG9zIGNhcmFjdGVyZXMgbnVtZXJhbCAoXCMpLCB5IGxvcyBub21icmUgZGUgY2FkYSB1bm8gZGUgbG9zIGNhbXBvcyBlbiBlbCBhcmNoaXZvLiAgRWwgbm9tYnJlIGRlIGVzdG9zIGNhbXBvcyBlcyBzaWduaWZpY2F0aXZvLiAgSGF5IGFsZ3Vub3Mgbm9tYnJlIGRlIGNhbXBvcyByZXF1ZXJpZG9zICh2ZXIgYWJham8pLCB5IG90cm9zIG5vbWJyZXMgZGUgY2FtcG9zIGRlYmVuIGNvaW5jaWRpciBjb24gZWwgbm9tYnJlIGRlIGxhcyBwcm9waWVkYWRlcyBhc29jaWFkYXMgYSBsb3MgZ3J1cG9zIGRlIHVzdWFyaW9zIGEgbG9zIGN1YWxlcyB2YW4gYSBzZXIgYWdyZWdhZG9zLjwvbGk+DQo8bGk+RWwgcHJvY2VzbyBkZSBpbXBvcnRhY2kmb2FjdXRlO24gdmEgYSBmYWxsYXIgc2kgbG9zIGNhbXBvcyBlbiBlbCBhcmNoaXZvIGRlIGltcG9ydGFyIG5vIGNvaW5jaWRlbiBjb24gdG9kYXMgbGFzIHByb3BpZWRhZGVzIHJlcXVlcmlkYXMgYXNvY2lhZGFzIGEgbG9zIGdydXBvcyBkZSB1c3VhcmlvcyBhIGxvcyBjdWFsZXMgdmFuIGEgc2VyIGFncmVnYWRvcy48L2xpPg0KPGxpPkVsIGFyY2hpdm8gZGUgaW1wb3J0YXIgcHVlZGUgY29udGVuZXIgY2FtcG9zIHF1ZSByZXByZXNlbnRlbiBhbGd1bmFzIGRlIGxhcyBwcm9waWVkYWRlcyBvcGNpb25hbGVzIGVuIGVsIGdydXBvIGVzcGVjaWZpY2Fkby48L2xpPg0KPGxpPkVsIHByb2Nlc28gZGUgaW1wb3J0YXIgdmEgYSBpZ25vcmFyIGN1YWxxdWllciBjYW1wbyBlbiBlbCBhcmNoaXZvIGRlIGltcG9ydGFyIHF1ZSBwdWVkYSBzZXIgZGVzY29ub2NpZG8sIG8gbWFwZWUgcHJvcGllZGFkZXMgcXVlIHNlIGhhbGxlbiA8ZW0+YXBhZ2FkYXM8L2VtPiBlbiBlbCBncnVwbyBlc3BlY2lmaWNhZG8gZGUgdXN1YXJpb3MuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdJbXBvcnRhciBVc3VhcmlvcyBhIEVzdGUgR3J1cG8nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnSW5wb3J0YXIgRmljaGVybyBDU1YnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdBcmNoaXZvIFhNTCBkZSBFbnRyYWRhJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydGFyIFVzdWFyaW9zJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGFyIFVzdWFyaW9zJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0xpbXBpYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdSdXRhIGRlIERlc3Rpbm8gcGFyYSBsYSBJbWFnZW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdIYSBvY3VycmlkbyB1biBwcm9ibGVtYSBjb24gdW5hIHN1YmlkYSBpbmV4aXN0ZW50ZSAocGVybyByZXF1ZXJpZGEpJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdObyBzZSBwdWVkZSBwYXJzZWFyIGVsIGFyY2hpdm8gWE1MIHByb3Zpc3RvJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdObyBzZSBwdWVkZSBlbGltaW5hciB1biBncnVwbyBjb24gdXN1YXJpb3MnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0VzdGUgdXN1YXJpbyB5YSBlc3QmYWFjdXRlOyBsb2d1ZWFkbyc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdFbCB0ZXh0byBkZSBsYSBpbWFnZW4gbm8gZXMgY29ycmVjdG8nOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1Blcm1pdGlyIHF1ZSBsb3MgdXN1YXJpb3Mgc2UgbG9ndWVlbiBtJmFhY3V0ZTtzIGRlIHVuYSB2ZXonOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbmVzIGRlIGltYWdlbiBwZXJtaXRpZGFzIHBhcmEgbG9zIFVzdWFyaW9zJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBlcyBlbGltaW5hZG88L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTm9tYnJlIGRlbCB1c3VhcmlvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElkIGRlbCB1c3VhcmlvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPlVuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gc2UgY3JlYSB1biB1c3VhcmlvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIHVzdWFyaW88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRWwgaWQgZGUgdXN1YXJpbzwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhZG8gY3VhbmRvIHNlIGFjdHVhbGl6YSB1biB1c3VhcmlvIChjdWFuZG8gbG8gaGFjZSBwb3Igc2kgbWlzbW8gbyBwb3IgZWwgYWRtaW4pPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gTm9tYnJlIGRlbCB1c3VhcmlvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElkIGRlbCB1c3VhcmlvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBzZSBjcmVhIHVuIGdydXBvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIGdydXBvPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIExhIGRlc2NyaXBjaSZvYWN1dGU7biBkZWwgZ3J1cG88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gSWQgZGVsIGdydXBvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBzZSBlbGltaW5hIHVuIGdydXBvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlbCBncnVwbzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBJZCBkZWwgZ3J1cG88L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhZG8gY3VhbmRvIHVuIHVzdWFyaW8gaW5ncmVzYSBhbCBQb3J0YWw8L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlbCB1c3VhcmlvIHF1ZSBpbmdyZXMmb2FjdXRlOzwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBMYSBkaXJlY2NpJm9hY3V0ZTtuIElQIGRlbCBjbGllbnRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBpbmdyZXNhIGFsIHNpc3RlbWEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBzYWxlIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBsYSBzZXNpJm9hY3V0ZTtuIGRlIHVuIHVzdWFyaW8gZXhwaXJhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBudWV2byB1c3VhcmlvIGVzIGNyZWFkbyc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gbGEgaW5mbyBkZSB1biB1c3VhcmlvIGVzIGFjdHVhbGl6YWRhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBsYSBjdWVudGEgZGUgdW4gdXN1YXJpbyBlcyBlbGltaW5hZGEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBncnVwbyBkZSB1c3VhcmlvcyBlcyBjcmVhZG8nOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBncnVwbyBkZSB1c3VhcmlvcyBlcyBlbGltaW5hZG8nOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0dydXBvIGRlIEFkbWluaXN0cmFjaSZvYWN1dGU7bic7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIExvcyBzaWd1aWVudGVzIG1hY3JvcyBwdWVkZW4gdXNhcnNlIGVuIGVzdG9zIGNhbXBvczogeyR1c2VybmFtZX0seyRncm91cH0uIEN1YW5kbyBzZSB1c2EgZWwgbWFjcm8geyRncm91cH0sIGVsIHNpc3RlbWEgdmEgYSBzdXN0aXR1aXIgZWwgbm9tYnJlIGRlbCBwcmltZXIgZ3J1cG8gZGUgbWllbWJyb3MgYWwgY3VhbCBlbCB1c3VhcmlvIHBlcnRlbmVjZSwgeSB2YSBhIHJlLWRpcmVjY2lvbmFyIGEgZXNhIHAmYWFjdXRlO2dpbmEuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZGl0YXIgZXN0ZSBjYW1wbyBwYXJhIHJlc2V0ZWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZGl0YXIgZXN0ZSBjYW1wbyBwYXJhIHJlc2V0ZWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1lhIGV4aXN0ZSB1biB1c2FyaW8gY29uIGVzZSBub21icmUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnTm8gc2UgaGFuIGRldnVlbHRvIHJlc3VsdGFkb3MgZGUgbGEgZXhwb3J0YWNpJm9hY3V0ZTtuIGEgQ1NWJzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xvbmdpdHVkIGRlbCBjYW1wbyAmcXVvdDtOb21icmUgZGUgdXN1YXJpbyZxdW90Oyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMb25naXR1ZCBkZWwgY2FtcG8gJnF1b3Q7Q29udHJhc2UmbnRpbGRlO2EmcXVvdDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ0xhcyBsb25naXR1ZGVzIE1pbi9NYXggZGUgbGEgY29udHJhc2UmbnRpbGRlO2Egc29uIGludmFsaWRhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTGFzIGxvbmdpdHVkZXMgTWluL01heCBkZWwgbm9tYnJlIGRlIHVzdWFyaW8gc29uIGludmFsaWRhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgaW52YWxpZGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyBwdWRpbW9zIGVuY29udHJhciB1bmEgZGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgcGFyYSBlc3RhIGN1ZW50YSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbWFzIGFsIGVzdGFibGVjZXIgbGEgaW5mb3JtYWNpJm9hY3V0ZTtuIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW1hcyBhbCBlc3RhYmxlY2VyIGxhIHByb3BpZWRhZCc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXN1YXJpbyBBJm50aWxkZTthZGlkbyAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzdWFyaW8gRWxpbWluYWRvIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BpZWRhZCc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsb3IgKGV4cHJlc2kmb2FjdXRlO24gcmVndWxhciknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdDdWlkYWRvOiBFc3RvcyBjYW1wb3MgYWZlY3RhbiBhbCB0YW1hJm50aWxkZTtvIGRlIGxvcyBjYW1wb3MgZGUgdGV4dG8gZGUgbG9zIGZvcm11bGFyaW9zLiBSZWR1Y2lyIGVsIG4mdWFjdXRlO21lcm8gZW4gdW5hIHdlYiBleGlzdGVudGUsIHB1ZWRlIG5vIHNlciByZWNvbWVuZGFibGUuJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdFc3QmYWFjdXRlO3Mgc2VndXJvIGRlIHF1ZXJlciBhanVzdGFyIGxhcyBwcmVmZXJlbmNpYXMgZGVsIG0mb2FjdXRlO2R1bG8/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGRlIGUtbWFpbCB5YSB1dGlsaXphZGEnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNhciBjb29raWVzIHBhcmEgcmVjb3JkYXIgbG9zIGRldGFsbGVzIGRlIGFjY2Vzbyc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0VsIG5vbWJyZSBkZSBsYSBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQZXJtaXRpciBlLW1haWxzIGR1cGxpY2Fkb3MnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnSW50ZW50YXIgbWFudGVuZXIgbG9zIGluZ3Jlc29zIGNvbiB2aWRhIGNvbiBlbCB1c28gZGUgdW5hIGNvb2tpZSA8ZW0+KGxhIGNvb2tpZSBlcyByZXNldGVhZGEgY29uIGxhIGFjdGl2aWRhZCBkZWwgc2l0aW8gd2ViKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhwZXJtaXRpciB2YXJpb3MgdXN1YXJpb3MgY29uIHVuYSBtaXNtYSBkaXJlY2NpJm9hY3V0ZTtuIGRlIGUtbWFpbCknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdQZXJtaXRpciByZWNvcmRhdG9yaW9zIGRlICZxdW90O2NvbnRyYXNlJm50aWxkZTthIG9sdmlkYWRhJnF1b3Q7IGR1cGxpY2Fkb3M/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhwZXJtaXRpciBsYSBwZXRpY2kmb2FjdXRlO24gZGUgcmVzZXRlbyBkZSBjb250cmFzZSZudGlsZGU7YSwgYXVucXVlIGVsIHVzdWFyaW8gbm8gaGF5YSB1dGlsaXphZG8gbnVuY2EgbGEgYW50ZXJpb3IpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNhciBwZXJtaXNvcyBlc3BlY2lmaWNvcyBwYXJhIGVsIFVzdWFyaW8gZGUgRnJvbnQtZW5kPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbWVudGUsIGxvcyBwZXJtaXNvcyBkZSBsb3MgVXN1YXJpb3MgRkUgc29uIGVxdWl2YWxlbnRlcyBhIGxvcyBwZXJtaXNvcyBkZWwgQXJlYSBkZSBBZG1pbmlzdHJhY2kmb2FjdXRlO24gY29tbyBBJm50aWxkZTthZGlyIFVzdWFyaW8sIEEmbnRpbGRlO2FkaXIgR3J1cG8sIGV0Yy4gU2kgc2VsZWNjaW9uYSBlc3RhIG9wY2kmb2FjdXRlO24sIGhhYnImYWFjdXRlOyBwZXJtaXNvcyBkaWZlcmVudGVzIHBhcmEgbG9zIFVzdWFyaW8gRkUuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnTm8gc2UgcHVkbyBlbmNvbnRyYXIgZWwgZmljaGVybyBzdWJpZG8gKGVycm9yIGludGVybm8pJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnSHVibyB1biBwcm9ibGVtYSBjb24gc3UgYXJjaGl2byBzdWJpZG8uICBQb3IgZmF2b3IgcHJ1ZWJlIG51ZXZhbWVudGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnTm8gaW5kaWMmb2FjdXRlOyB1biBub21icmUgZGUgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdObyBpbmRpYyZvYWN1dGU7IHVuYSBjb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnU2FsaWRhIGRlIFVzdWFyaW8gZGVsIFBvcnRhbCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdJbmdyZXNvIGRlIFVzdWFyaW8gZGVsIFBvcnRhbCc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPlRFTkdBIFBSRUNBVUNJJk9hY3V0ZTtOPC9iPiBjdWFuZG8gc2UgY2FtYmlhIHByb3BpZWRhZGVzIGV4aXN0ZW50ZXMgcXVlIHNvbiBhc2lnbmFkYXMgYSBncnVwb3MsIHBvdGVuY2lhbG1lbnRlIHVzdGVkIHB1ZWRlIGNhdXNhciBkYSZudGlsZGU7byB5IGRlc2hhY2VyIHVuIHNpdGlvIGV4aXN0ZW50ZSA8aT4oZXNwZWNpYWxtZW50ZSBzaSByZWR1Y2UgbGEgbG9uZ2l0dWQgZGUgbG9zIGNhbXBvcywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRXN0YSBmdW5jaSZvYWN1dGU7biBubyB0cmFiYWphIGVuIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ05vIGNyZWFyIHVuYSBwcm9waWVkYWQgcGFyYSBlbCB1c3VhcmlvLCBvIGxhIGNvbnRyYXNlJm50aWxkZTthLCB5YSBxdWUgZXN0YXMgcHJvcGllZGFkZXMgc29uIHBhcnRlIGRlbCBtJm9hY3V0ZTtkdWxvIFVzdWFyaW9zIGRlbCBQb3J0YWwnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydGFyIFVzdWFyaW9zIGEgQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGFyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGFyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0YXIgUHJvcGllZGFkJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ0xvbmdpdHVkIG0mYWFjdXRlO3hpbWEnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWFkbyc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRlbmFyIHBvcic7CiRsYW5nWydzb3J0J10gPSAnT3JkZW5hbmRvJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzdWFyaW9zIGVuIGVsL2xvcyBncnVwbyhzKSBzZWxlY2Npb25hZG8ocyknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnTGltaXRhciByZXN1bHRhZG9zIGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTm8gc2UgaGEgcG9kaWRvIGVuY29udHJhciB1biBjYW1wbyBkZSBlLW1haWwgcGFyYSBlc3RlIHVzdWFyaW8uIEVzIHBvc2libGUgcXVlIHRlbmdhIHF1ZSBwb25lcnNlIGVuIGNvbnRhY3RvIGNvbiBlbCBhZG1pbmlzdHJhZG9yIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnSURQJmFhY3V0ZTtnL0FsaWFzIHBhcmEgZm9ybXVsYXJpbyBkZSBPbHZpZG8gZGUgQ29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdJRFAmYWFjdXRlO2cvQWxpYXMgcGFyYSBmb3JtdWxhcmlvIGRlIENhbWJpbyBDb25maWd1cmFjaSZvYWN1dGU7bic7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0lEUCZhYWN1dGU7Zy9BbGlhcyBwYXJhIHNhbHRhciBsdWVnbyBkZWwgaW5ncmVzbyonOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnSURQJmFhY3V0ZTtnL0FsaWFzIHBhcmEgc2FsdGFyIGx1ZWdvIGRlbCBlZ3Jlc28qJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ0Zvcm1hIGRlIG9yZGVuYXInOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSGF5IHVuIGNpZXJ0byBuJnVhY3V0ZTttZXJvIGRlIHVzdWFyaW9zIHF1ZSBlc3QmYWFjdXRlO24gZW4gZWwgbWVkaW8gZGUgdW5hIHJlY3VwZXJhY2kmb2FjdXRlO24gZGUgY29udHJhc2UmbnRpbGRlO2EgcGVyZGlkYS4gRWwgbiZ1YWN1dGU7bWVybyBhc2NpZW5kZSBhOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0VsaW1pbmFyIHRvZGFzIGxhcyBlbnRyYWRhcyBkZSBoYWNlIG0mYWFjdXRlO3MgZGUgdW5hIHNlbWFuYSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdFbGltaW5hciB0b2RhcyBsYXMgZW50cmFkYXMgZGUgaGFjZSBtJmFhY3V0ZTtzIGRlIHVuIG1lcyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdFbGltaW5hciB0b2RhcyBsYXMgZW50cmFkYXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZpcXVlc3Q7RXN0JmFhY3V0ZTsgc2VndXJvPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ1NlIGhhIGludHJvZHVjaWRvIHVuIGMmb2FjdXRlO2RpZ28gaW52YWxpZG8sIHZ1ZWx2YSBhIGludGVudGFybG8nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ05vIHNlIHB1ZG8gaGFsbGFyIHVuIGMmb2FjdXRlO2RpZ28gdGVtcG9yYXJpbyBwYXJhIHN1IGlkIGRlIHVzdWFyaW8gZW4gbGEgYmFzZSBkZSBkYXRvcyc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSB1c2FkYSBwYXJhIG1vc3RyYXIgZWwgZm9ybXVsYXJpbyBkZSB2ZXJpZmljYWNpJm9hY3V0ZTtuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgcGFyYSBlbCBlbWFpbCBkZSBjb250cmFzZSZudGlsZGU7YSBvbHZpZGFkYSc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnQmllbiB1c3RlZCB1IG90cmEgcGVyc29uYSB5YSBoYW4gcmVjbGFtYWRvIHBvciB1bmEgb3BlcmFjaSZvYWN1dGU7biBkZSByZXNldGVvIGRlIGxhIGNvbnRyYXNlJm50aWxkZTthIHBhcmEgZXN0YSBjdWVudGEuICBPYnNlcnZlIHN1IGVtYWlsLCB1c3RlZCB5YSBkZWJlIHRlbmVyIGVuIHN1IGNhc2lsbGEgbGFzIGluc3RydWNjaW9uZXMgbmVjZXNhcmlhcyBjb21vIHBhcmEgcmVzZXRlYXIgc3UgY29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm9yIGVuIGxhIGJhc2UgZGUgZGF0b3MnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnVXN0ZWQgZXN0YSByZWNpYmllbmRvIGVzdGUgbWVuc2FqZSBwdWVzIGFsZ3VpZW4gbm9zIGhhIGluZGljYWRvIGVuIG51ZXN0cm8gc2l0aW8gd2ViIHF1ZSBoYSBwZXJkaWRvIGxhIGNvbnRyYXNlJm50aWxkZTthLiAgU2kgYXMmaWFjdXRlOyBlcywgbGVhIGxhcyBpbnN0cnVjY2lvbmVzIGRlIGFiYWpvLiAgU2kgdXN0ZWQgbm8gdGllbmUgbmluZ3VuYSBpZGVhIGFsIHJlc3BlY3RvLCBwdWVkZSBlbGltaW5hciBlc3RlIG1lbnNhamUgY29uIHRvZGEgdHJhbnF1aWxpZGFkLCB5IGxlIGFncmFkZWNlbW9zIHBvciBzdSB0aWVtcG8uJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQyZvYWN1dGU7ZGlnbyc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdFbCBjJm9hY3V0ZTtkaWdvIHNpZ3VpZW50ZSBzZSBoYSBnZW5lcmFkbyBlbiBmb3JtYSBhbGVhdG9yaWEgY29uIGVsIGZpbiBkZSB2ZXJpZmljYXIgYWwgdXN1YXJpbyBkZSBsYSBjdWVudGEuICBDdWFuZG8gdXN0ZWQgaGFnYSBjbGljayBlbiBlbCBlbmxhY2UgZGUgYWJham8gYSB1c3RlZCBsZSBzZXImYWFjdXRlOyBwcmVzZW50YWRvIHVuIGNhbXBvIHBhcmEgaW5ncmVzYXIgZWwgYyZvYWN1dGU7ZGlnby4gIE5vcm1hbG1lbnRlIGVsIGNhbXBvIGVzIHJlbGxlbmFkbyBhdXRvbSZhYWN1dGU7dGljYW1lbnRlLCBwZXJvIGVuIGNhc28gZGUgcXVlIGFzJmlhY3V0ZTsgbm8gZnVlcmEgZWwgYyZvYWN1dGU7ZGlnbyBlczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdBbCBoYWNlciBjbGljayBzb2JyZSBlbCBzaWd1aWVudGUgZW5sYWNlIHNlIGxlIHJlZGlyaWdpciZhYWN1dGU7IGEgdW5hIHAmYWFjdXRlO2dpbmEgZG9uZGUgcHVlZGEgaW50cm9kdWNpciBlbCBjJm9hY3V0ZTtkaWdvIHkgcmVzZXRlYXIgc3UgY29udHJhc2UmbnRpbGRlO2E6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdDb250cmFzZSZudGlsZGU7YSBQZXJkaWRhJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTm8gc2UgaGEgcG9kaWRvIGVuY29udHJhciBlbCBtJm9hY3V0ZTtkdWxvIENNU01haWxlcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdTZSBoYSBlbnZpYWRvIHVuIGVtYWlsIGEgJXMgY29uIGxhcyBpbnRydWNjaW9uZXMgZGUgY29tbyByZXNldGVhciBsYSBjb250cmFzZSZudGlsZGU7YS4gTXVjaGFzIGdyYWNpYXMuJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnQXMmaWFjdXRlOyBxdWUgb2x2aWQmb2FjdXRlOyBvIHBlcmRpJm9hY3V0ZTsgc3UgY29udHJhc2UmbnRpbGRlO2EuIEVzY3JpYmEgYXF1JmlhY3V0ZTsgc3Ugbm9tYnJlIGRlIHVzdWFyaW8geSwgc2kgcG9kZW1vcyBlbmNvbnRyYXJsbywgbGUgZW52aWFyZW1vcyB1biBlLW1haWwgY29uIGxhcyBpbnN0cnVjY2lvbmVzIHBhcmEgcmVzZXRlYXIgYWwgbWlzbW8uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhcyBkZSBDb250cmFzZSZudGlsZGU7YSBQZXJkaWRhJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBOb21icmUgZGUgVXN1YXJpbyBQZXJkaWRvJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ1Byb3BpZWRhZCAlcyBubyBlbmNvbnRyYWRhJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9waWVkYWRlcyBlbmNvbnRyYWRhcyc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQSZudGlsZGU7YWRpciBQcm9waWVkYWQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1VuIGNhbXBvIG9ibGlnYXRvcmlvICglcykgZXN0JmFhY3V0ZTsgdmFjJmlhY3V0ZTtvJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnSW50cm9kdWNpciB1bmEgbnVldmEgY29udHJhc2UmbnRpbGRlO2EgYXF1JmlhY3V0ZTsgcGFyYSBtb2RpZmljYXIgc3UgY29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdQYXJlY2UgcXVlIG5vIGVzdCZhYWN1dGU7cyBsb2d1ZWFkbyc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnUHJlZmVyZW5jaWFzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cm8nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdFc3RhIGN1ZW50YSBoYSBjYWR1Y2Fkbyc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnRGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgaW52JmFhY3V0ZTtsaWRhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnRmVjaGEgZGUgY2FkdWNpZGFkIGludiZhYWN1dGU7bGlkYSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3IgZXN0YWJsZWNpZW5kbyBsYSBwcm9waWVkYWQgJXMgcGFyYSBlbCB1c3VhcmlvICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnSWQgZGUgZ3J1cG8gJXMgaW52JmFhY3V0ZTtsaWRvJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFyY2Fkb3IgZGUgY2FtcG8gb2N1bHRvJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdDb2xvciBkZSBjYW1wbyBvY3VsdG8nOwokbGFuZ1snaGlkZGVuJ10gPSAnT2N1bHRvJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdVbmEgcHJvcGllZGFkIGNvbiBlc2Ugbm9tYnJlIHlhIGVzdCZhYWN1dGU7IGRlZmluaWRhJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ05vIGhheSBwcm9waWVkYWRlcyBkZWZpbmlkYXMnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBoYXkgcHJvcGllZGFkZXMgc2VsZWNjaW9uYWRhcyBwYXJhIGVzdGUgZ3J1cG8nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBoYXkgR3J1cG9zIGRlZmluaWRvcyc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ0dydXBvcyBFbmNvbnRyYWRvcyc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnTGEgcGVydGVuZWNpYSBlbiBhbCBtZW5vcyB1biBncnVwbyBlcyByZXF1ZXJpZGEnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1BlcnRlbmVjaWEgZW4gYWwgbWVub3MgdW4gZ3J1cG8gZXMgcmVxdWVyaWRhJzsKJGxhbmdbJ2JhY2snXSA9ICdBdHImYWFjdXRlO3MnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGVzIHVuIGNhbXBvIG9ibGlnYXRvcmlvJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJjYXIgbG9zIGNhbXBvcyByZXF1ZXJpZG9zIGNvbic7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdEZXN0YWNhciBsb3MgY2FtcG9zIHJlcXVlcmlkb3MgZW4nOwokbGFuZ1snbmV4dCddID0gJ1NpZ3VpZW50ZSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ1lhIGV4aXN0ZSB1biBHcnVwbyBjb24gZXNlIG5vbWJyZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ0NhbXBvIE9ibGlnYXRvcmlvJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3BjaW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnQXBhZ2Fkbyc7CiRsYW5nWydzaXplJ10gPSAnVGFtYSZudGlsZGU7byc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KFRhbWEmbnRpbGRlO28gbSZhYWN1dGU7eGltbyBkZSBjdWFscXVpZXJhIGRlIGxhcyBkaW1lbnNpb25lcyBkZSBsYSBpbWFnZW4gZW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMb25naXR1ZCc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihjYXJhY3RlcmVzIGVuIGVsIHRleHRvIGludHJvZHVjaWRvKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnT3BjaW9uZXMgZGUgZGVzcGxlZ2FibGUsIHNlcGFyYWRhcyBwb3IgbnVldm8gcmVuZ2wmb2FjdXRlO24uICBMb3MgdmFsb3JlcyBwdWVkZW4gZXN0YXIgc2VwYXJhZG9zIGRlbCB0ZXh0byBjb24gZWwgY2FyYWN0ZXIgPSAuIHAuZWo6IEZlbWVuaW5vPWYnOwokbGFuZ1sncHJvbXB0J10gPSAnU3VnZXJlbmNpYSc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdFc3RhZG8gZGUgQ2FtcG8nOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnUHJlZ3VudGEgc2kgUGVyZGlkbzxici8+Tm9tYnJlIGRlIFVzdWFyaW8nOwokbGFuZ1sndGV4dCddID0gJ1RleHRvJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2FqYSBkZSBUaWxkYXInOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdMaXN0YSBNdWx0aSBTZWxlY3RvcmEnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZW4nOwokbGFuZ1snZW1haWwnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGUtbWFpbCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJyZBYWN1dGU7cmVhIGRlIFRleHRvJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVuJnVhY3V0ZTsgZGVzcGxlZ2FibGUnOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdCaWVudmVuaWRvJzsKJGxhbmdbJ2xvZ291dCddID0gJ1NhbGlyJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2FyIGVzdGUgbm9tYnJlIGRlIGdydXBvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01vZGlmaWNhciBtaXMgcHJlZmVyZW5jaWFzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFsbGlkbyAtIE5vbWJyZSBkZSB1c3VhcmlvIG8gY29udHJhc2UmbnRpbGRlO2EgaW52JmFhY3V0ZTtsaWRvcz8nOwokbGFuZ1snbG9naW4nXSA9ICdFbnRyYXInOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdFdGlxdWV0YSBkZWwgYm90Jm9hY3V0ZTtuIEVudHJhcic7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVc3VhcmlvJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnUmVjb3JkYXJtZSBlbiBlc3RhIGNvbXB1dGFkb3JhJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmFyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnT2x2aWQmb2FjdXRlOyBzdSBjb250cmFzZSZudGlsZGU7YT8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnJmlxdWVzdDtIYSBPbHZpZGFkbyBzdXMgRGF0b3MgZGUgSW5ncmVzbz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdWYWxvcmVzIHBvciBkZWZlY3RvJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0lEIGRlbCB1c3VhcmlvIG5vIGVuY29udHJhZG8nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0VsIG5vbWJyZSBkZSB1c3VhcmlvICglcykgeWEgZXN0JmFhY3V0ZTsgZW4gdXNvJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdVc2FyIFNNVFAgcGFyYSB2YWxpZGFkIGRpcmVjY2kmb2FjdXRlO25lcyBkZSBlLW1haWw/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ0xvbmdpdHVkIE0maWFjdXRlO25pbWEgZGUgbGEgQ29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTG9uZ2l0dWQgTSZhYWN1dGU7eGltYSBkZSBsYSBDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdMb25naXR1ZCBNJmlhY3V0ZTtuaW1hIGRlbCBOb21icmUgZGUgVXN1YXJpbyc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdMb25naXR1ZCBNJmFhY3V0ZTt4aW1hIGRlbCBOb21icmUgZGUgVXN1YXJpbyc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdGdWVyYSBkZSBUaWVtcG8gZGUgU2VzaSZvYWN1dGU7biAoc2VndW5kb3MpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2FyIGNvb2tpZXMgcGFyYSBtYW50ZW5lciBsb3MgaW5ncmVzb3Mgdml2b3MnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdQZXJtaXRpciBlbCBSZWdpc3RybyBkZSBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnR3J1cG8gcG9yIGRlZmVjdG8gcGFyYSBudWV2b3MgdXN1YXJpb3MnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDYW1iaWFyIFBsYW50aWxsYSBkZSBQcmVmZXJlbmNpYXMnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0xhcyBjb250cmFzZSZudGlsZGU7YXMgbm8gY29pbmNpZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ05vbWJyZSBkZSB1c3VhcmlvIGludmFsaWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthIGludmFsaWRhJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyIFVzdWFyaW8nOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZG8nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc3VhcmlvJzsKJGxhbmdbJ3N0YXR1cyddID0gJ0VzdGFkbyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdFc3RlIHVzdWFyaW8gbm8gZXMgbWllbWJybyBkZSBuaW5nJnVhY3V0ZTtuIGdydXBvJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdTaW4gUHJvcGllZGFkZXMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdJbnRlbnRvIGRlIGltcG9ydGFyIHByb3BpZWRhZGVzIGR1cGxpY2FkYXMnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxvcic7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwb3MnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1Byb3BpZWRhZGVzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTm9tYnJlIGRlIGxhIFByb3BpZWRhZCc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdWYWxvciBkZSBsYSBQcm9waWVkYWQnOwokbGFuZ1snYWRkJ10gPSAnQSZudGlsZGU7YWRpcic7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWFsJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXInOwokbGFuZ1snZXhwaXJlcyddID0gJ0NhZHVjYSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdFc3BlY2lmaWNhciBGZWNoYSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvcmFzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG9yYXMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Jhcyc7CiRsYW5nWycxd2VlayddID0gJzEgU2VtYW5hJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgU2VtYW5hcyc7CiRsYW5nWycxbW9udGgnXSA9ICcxIE1lcyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNZXNlcyc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNZXNlcyc7CiRsYW5nWycxeWVhciddID0gJzEgQSZudGlsZGU7byc7CiRsYW5nWyduZXZlciddID0gJ051bmNhJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0RlIG51ZXZvJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdZYSBleGlzdGUgdW4gZ3J1cG8gY29uIGVzZSBub21icmUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdGFyIEdydXBvJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudmlhcic7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWxhcic7CiRsYW5nWydkZWxldGUnXSA9ICdCb3JyYXInOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICcmaXF1ZXN0O1VzdGVkIGVzdCZhYWN1dGU7IHNlZ3VybyBxdWUgZXN0YSBlcyBsYSBjb25maWd1cmFjaSZvYWN1dGU7biBhcHJvcGlhZGEgcGFyYSBlc3RlIGdydXBvP1xuQXBhZ2FuZG8gdW5hIHByb3BpZWRhZCBubyB2YSBhIGFudWxhciBuaW5ndW5hIGVudHJhZGEgZW4gbGEgdGFibGEgZGUgcHJvcGllZGFkZXMgcGFyYSBlc3RlIGdydXBvL3VzdWFyaW8uICBTaW1wbGVtZW50ZSBsYXMgdmEgYSBoYWNlciBpbmFjY2VzaWJsZXMuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3VybyBxdWUgcXVpZXJlIGVsaW1pbmFyIGVzdGUgZ3J1cG8/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3VybyBxdWUgcXVpZXJlIGVsaW1pbmFyIGNvbXBsZXRhbWVudGUgZXN0YSBwcm9waWVkYWQ/XG5IYWNpZW5kb2xvIGFzJmlhY3V0ZTsgYm9ycmFyJmFhY3V0ZTsgY3VhbHF1aWVyIGVudHJhZGEgZGUgdXN1YXJpbyBwYXJhIGVzdGEgcHJvcGllZGFkLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdQYXImYWFjdXRlO21ldHJvcyBpbnN1ZmljaWVudGVzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05vbWJyZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW1hIGFncmVnYW5kbyBsYSBwcm9waWVkYWQnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW1hIGFncmVnYW5kbyBsYSByZWxhY2kmb2FjdXRlO24gZGUgZ3J1cG8nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbWEgYWdyZWdhbmRvIGdydXBvJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbWEgYWdyZWdhbmRvIHVuIHVzdWFyaW8gYSB1biBncnVwbyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbWEgZWxpbWluYW5kbyB1bmEgcHJvcGllZGFkJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnTm8gc2UgcHVkbyBoYWxsYXIgdW5hIGRpcmVjY2kmb2FjdXRlO24gZW1haWwnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05vIGhheSBwZXJtaXNvIGRlIGVzY3JpdHVyYSBlbiBlbCBkaXJlY3RvcmlvIGRlc3Rpbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ1BhciZhYWN1dGU7bWV0cm9zICBpbnZhbGlkb3MnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBzZSBwdWRvIGVuY29udHJhciBuaW5nJnVhY3V0ZTtuIGdydXBvJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBsaWNhcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cm8nOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0V4cHJlc2kmb2FjdXRlO24gTm9ybWFsIGRlIE5vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcGNpJm9hY3V0ZTtuJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ05vbWJyZSBkZWwgR3J1cG8nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNvIERlbmVnYWRvJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IuJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnQSZudGlsZGU7YWRpciBHcnVwbyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGFyIEdydXBvJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdBJm50aWxkZTthZGlyIFVzdWFyaW8nOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzdWFyaW9zIGVuY29udHJhZG9zIHF1ZSBjb2luY2lkZW4gY29uIGVsIGNyaXRlcmlvIGRlIGImdWFjdXRlO3NxdWVkYSc7CiRsYW5nWydncm91cCddID0gJ0dydXBvJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWNjaW9uYXIgR3J1cG8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhIGRlIFJlZ2lzdHJvIGRlIFVzdWFyaW9zJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBTYWxpZGEnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgQWNjZXNvJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jaWFzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXN1YXJpb3MnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQWRtaW5pc3RyYWNpJm9hY3V0ZTtuIGRlIFVzdWFyaW9zIGRlbCBQb3J0YWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdQZXJtaXRpciBhIGxvcyB1c3VhcmlvcyBpbmdyZXNhciBhbCBwb3J0YWwgZGVsIHNpdGlvIHdlYic7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnUCZhYWN1dGU7Z2luYSBwb3IgZGVmZWN0byBkZSBpbmljaW8nOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1VsdGltYSBwJmFhY3V0ZTtnaW5hIGFjY2VkaWRhJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090cmEgcCZhYWN1dGU7Z2luYTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnRyb2R1emNhIGVsIHRleHRvIGRlIGxhIGltYWdlbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4wIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjEgLSBPY3RvYmVyLCAyMDA1IC0gRml4ZWQgaXNzdWVzIHdpdGggcHJvcGVydGllczwvbGk+DQo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPjxwPjAuMS4zIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJlciwgMjAwNSAtIFZlcnkgbWlub3IgY2hhbmdlIHdpdGggcmVzcGVjdCB0byBhIGZvcmdvdHRlbiBhbmQgbm8gbG9uZ2VyIG5lZWRlZCBmdW5jdGlvbiBjYWxsPC9saT4NCjxsaT48cD4wLjEuNSAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFub3RoZXIgdmVyeSBtaW5vciBjaGFuZ2UsIGFkZGVkIHNvbWUgdGV4dCB0byB0aGUgUG9zdEluc3RhbGwgbWVzc2FnZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNiAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjcgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+TWFueSB0aGFua3MgdG8gPGI+a2F0b248L2I+IGZvciBhZGRpbmcgdGhlIHRleHRhcmVhIGFuZCBkcm9wZG93biBwcm9wZXJ0eSB0eXBlcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjAgLSBGZWJydWFyeSwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+DQogICAgPHA+QWRkZWQgc29ydGluZyB0byB0aGUgYWRtaW4gcGFuZWw8L3A+DQogICAgPHA+QWRkZWQgbWF4IGxlbmd0aCBhYmlsaXR5IHRvIHRleHQgYW5kIGVtYWlsIGZpZWxkczwvcD4NCiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+DQogICAgPHA+U2F2ZSBmaWx0ZXIgc2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMsIGFuZCB0aGUgYWN0aXZlIHRhYiB0b28uPC9wPg0KICAgIDxwPkRlbGV0ZSB1c2VyIHByb3BlcnRpZXMgd2hlbiBhIHByb3BlcnR5IGlzIGRlbGV0ZWQgPGVtPk5vdGU8L2VtPiwgbm90IHdoZW4gaXQgaXMgZGlzYWJsZWQgaW4gdGhlIGVkaXQgZ3JvdXAgZGlhbG9nPC9wPg0KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+DQogICAgPHA+QWRkZWQgYSBjb3VwbGUgbW9yZSBjb25maXJtYXRpb24gbWVzc2FnZXMuPC9wPg0KICAgIDxwPkFkZGVkIENTViBFeHBvcnQgb3B0aW9uPC9wPg0KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjEgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPg0KICAgIDxwPkZpeCBwcm9ibGVtIHdoZXJlIGV4cGlyeSBkYXRlIHdhcyBiZWluZyBtb2RpZmllZCB3aGVuIGFkbWluIG1vZGlmaWVkIHVzZXIgc2V0dGluZ3M8L3A+DQogICAgPHA+QWRkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHByZWZlcmVuY2VzIHN1Ym1pdCBidXR0b248L3A+DQogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgc2l6ZSBvZiB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzLCBhbmQgbWF4bGVuZ3RoPC9wPg0KICAgIDxwPkFkZGVkIGFkdmFuY2VkIGZpbHRlcmluZyBvbiBwcm9wZXJ0aWVzPC9wPg0KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4NCiAgICA8cD5GaXhlcyB0byBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uIGlubGluZSBmb3JtcywgdGhlIHBhc3N3b3JkIGlzIG5ldmVyIHNlbnQgb24gdGhlIGdldCBsaW5lPC9wPg0KICAgIDxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMiAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+TW9yZSBmaWVsZCBsZW5ndGggZml4ZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4zIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5FeHBvcnQgdG8gc21hcnR5IGFsbCBvZiB0aGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gdGhleSBhcmUgbG9nZ2VkIGluPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNCAtIE1heSwgMjAwNjxwPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBleHBvcnQgY29kZTwvcD4NCiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+DQogICAgPHA+TWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyAocmVjb21tZW5kZWQgYnkgbmlsczczKSBmb3IgZGVhbGluZyB3aXRoIHRoZSBjaGFuZ2UgcGFzc3dvcmQgc3R1ZmYuPC9wPg0KICAgIDxwPlJlbW92ZWQgdGhlIHJlcXVpcmVtZW50IGZvciBDTVMgMC4xMiwgYW5kIHB1dCBpdCBiYWNrIHRvIDAuMTEuMjwvcD4NCiAgICA8cD5BZGRlZCB0aGUgXCYjMDM5O3NpbGVudFwmIzAzOTsgZm9ybTwvcD4NCiAgICA8cD5DbGVhbmVkIHVwIGRhdGFiYXNlIGFjY2VzcyBzdHVmZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyAoaG9wZWZ1bGx5KTwvcD4NCiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4NCiAgICA8cD5BZGRlZCBtYWNyb3MgZm9yIHJlZGlyZWN0byB0byBhIHVzZXIgc3BlY2lmaWMgcGFnZSBvbiBsb2dpbiBvciBsb2dvdXQ8L3A+DQogICAgPHA+VHdlYWtzIHRvIHRoZSBhZG1pbiBwcmVmZXJlbmNlcyB0YWI8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC41IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4NCiAgICA8cD5TdGFydCBzcGxpdHRpbmcgdGhlIGNvZGUgdXAgaW50byBzZXZlcmFsIGZpbGVzPC9wPg0KPGxpPjxwPjEuMC42IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGVkaXRpbmcgZHJvcGRvd25zPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMCAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5FdmVudHM8L3A+DQogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+DQogICAgPHA+RXhwb3J0IHRoZSB1c2VyIGlkIHRvIHNtYXJ0eTwvcD4NCiAgICA8cD5BZGRlZCBvcHRpb25hbGx5IFx7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMSAtIFNlcHQsIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4yIC0gRGVjLCAyMDA2PC9wPg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCiAgICA8bGk+PHA+MS4yLjAgLSBBcHJpbCwgMjAwNzwvcD4NCiAgICA8cD5lbGlqYWhsb2ZncmVuIC0gRml4ZXMgdG8gY2FwdGNoYSBzdXBwb3J0LCBhbmQgc29tZSB0ZW1wbGF0ZSBjbGVhbnVwcy48L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIG11bHRpIHNlbGVjdCBsaXN0czwvcD4NCiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIHZhbHVlPWtleSBzdHVmZiBpbiB0aGUgZHJvcGRvd24gYW5kIG11bHRpIHNlbGVjdCBsaXN0cy48L3A+DQogICAgPHA+YmV0dGVyIGNoZWNraW5nIG9mIHRoZSAmcXVvdDthdCBsZWFzdCBvbmUgZ3JvdXAgcmVxdWlyZWQmcXVvdDsgc3R1ZmY8L3A+DQogICAgPHA+T3V0cHV0IG1vcmUgc21hcnR5IHZhcmlhYmxlcyBvbiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCB0byBhbGxvdyBwZW9wbGUgdG8gbW9kaWZ5IHRoZSB0ZW1wbGF0ZSB0byBzb21ldGhpbmcgdGhhdCBpcyBtb3JlIGFjY2Vzc2liaWxlPC9wPg0KICAgIDxwPlNwbGl0IGludG8gbW9yZSBmaWxlcyBmb3IgcGVyZm9ybWFuY2U8L3A+DQogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPg0KICAgIDxwPk5vdyBoYW5kbGUgcmVnZXggcHJvYmxlbXMgYmV0dGVyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHVzZXJzIHRhYjwvcD4NCiAgICA8cD5FbWFpbCBmaWVsZHMsIHdoZW4gc3BlY2lmaWVkIGFzIG9wdGlvbmFsLCBtYWtlIGVtIGFjdHVhbGx5IG9wdGlvbmFsPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4NCiAgICA8cD5DYXB0Y2hhIG1vZGUgaXMgbm93IG9uIGJ5IGRlZmF1bHQsIHVubGVzcyB5b3UgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIHRoZSB0YWcuPC9wPg0KICAgIDxwPkZpeGVzIHRvIENTViBleHBvcnQuLi4gaXQgd2FzIGFzc3VtaW5nIHRoZSBkYl9wcmVmaXggaXMgY21zXzwvcD4NCiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGluc3RhbGwgYW5kIHVuaW5zdGFsbCBtZXRob2RzLCBhbmQgbm93IHRoZSBhbGxvd19yZXBlYXRlZF9sb2dpbnMgcHJlZmVyZW5jZSBzaG91bGQgd29yazwvcD4NCiAgICA8cD5BZGRzIHByb3BlciB1c2VyIGhpc3RvcnkgdHJhY2tpbmcuICBOb3cgdHJhY2sgZmFpbGVkIGxvZ2lucywgbG9naW5zLCBleHBpcmllcywgYW5kIGxvZ291dHMsIG9uIGEgcGVyIHVzZXIgYmFzaXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIGZvcmdvdCBwYXNzd29yZCBwYWdlLCBpZiB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+TWlub3IgZml4ZXMgdG8gYmVoYXZpb3VyIG9hZiB0aGUgcHJlZmVyZW5jZXMgcGFuZWxzLjwvcD4NCjwvbGk+DQo8bGk+DQo8cD4xLjIuMSAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+QSBjb29raWUgaXMgbm93IHVzZWQgdG8ga2VlcCB0cmFjayBvZiBsb2dpbiBzdGF0ZSBiZXR3ZWVuIHNlc3Npb25zLCBob3dldmVyIHRoZSBjb29raWUgZG9lcyBub3QgbGFzdCBhbnkgbG9uZ2VyIHRoYW4gdGhlIHRpbWVvdXQgc3BlY2lmaWVkIGluIHRoZSB1c2VyIHNldHRpbmdzLjwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGJ5IGxvZ2dlZCBpbiBzdGF0dXM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHJlYWQtb25seSBwcm9wZXJ0aWVzLjwvcD4NCgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4NCjwvbGk+DQo8bGk+DQoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPnRzdyAtIEFkZGVkIGV2ZW50IE9uVXBkYXRlVXNlciB3aGljaCBnZXRzIGNhbGxlZCB3aGVuIHVzZXIgKG9yIGFkbWluKSB1cGRhdGVzIHVzZXIgaW5mbzwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmcXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJnF1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjgwNTY0MTk1NC4xMTkyNDc1MDQ5LjExOTU4NjAwNjcuMTE5NTg5MDQ3My42OSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTUxMTg3MzYuNTUuMTMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2Zycy98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdTZWUga2FzdXRhamEgb24ganViYSBzaXNzZSBsb2dpdHVkJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdMdWJhIGthc3V0YWphdGVsIGxvZ2lkYSBzaXNzZSByb2hrZW0sIGt1aSAmdXVtbDtrcyBrb3JkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIGt1c3R1dGFtaXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0ga2FzdXRhamEgbmltaTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBrYXN1dGFqYSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5TJnV1bWw7bmRtdXMsIG1pcyBnZW5lcmVlcml0YWtzZSB1dWUga2FzdXRhamEgbG9vbWlzZWw8L3A+DQo8aDQ+UGFyYW1lZXRyaWQ8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uaW1pPC9lbT4gLSBrYXN1dGFqYSBuaW1pPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGthc3V0YWphIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+UyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamFncnVwaSBsb29taXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5pbWk8L2VtPiAtIGdydXBpIG5pbWk8L2xpPg0KPGxpPjxlbT5raXJqZWxkdXM8L2VtPiAtIGdydXBpIGtpcmplbGR1czwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBncnVwaSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphZ3J1cGkga3VzdHV0YW1pc2VsPC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+bmltaTwvZW0+IC0gZ3J1cGkgbmltaTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBncnVwaSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHNpc3NlbG9naW1pc2VsIHMmdXVtbDtzdGVlbWk8L3A+DQo8aDQ+UGFyYW1lZXRyaWQ8L2g0Pg0KPHVsPg0KPGxpPjxlbT5rYXN1dGFqYW5pbWk8L2VtPiAtIFNpc3NlIGxvZ2ludWQga2FzdXRhamEga2FzdXRhamFuaW1pPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIEtsaWVuZGkgSVAgYWFkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHYmYXVtbDtsamFsb2dpbWlzZWwgcyZ1dW1sO3N0ZWVtaXN0PC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+a2FzdXRhamFuaW1pPC9lbT4gLSBTaXNzZSBsb2dpbnVkIGthc3V0YWphIGthc3V0YWphbmltaTwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBLbGllbmRpIElQIGFhZHJlc3M8L2xpPg0KPC91bD4NCg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+UyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamEgc2Vzc2lvb25pIGFlZ3VtaXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0gYWVndW51ZCBrYXN1dGFqYSBrYXN1dGFqYW5pbWk8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gYWVndW51ZCBrYXN1dGFqYSBJRDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHNpc3NlbG9naW1pc2VsIHMmdXVtbDtzdGVlbWknOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHYmYXVtbDtsamFsb2dpbWlzZWwgcyZ1dW1sO3N0ZWVtaXN0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamEgc2Vzc2lvb25pIGFlZ3VtaXNlbCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIHV1ZSBrYXN1dGFqYSBsb29taXNlbCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWpha29udG8ga3VzdHV0YW1pc2VsJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphZ3J1cGkgbG9vbWlzZWwnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamFncnVwaSBrdXN0dXRhbWlzZWwnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0FkbWluaXN0cmFhdG9yaWxpaWRlc2UgZ3J1cHAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBWJmF1bWw7bGphZGVsIHYmb3RpbGRlO2liIGthc3V0YWRhIGomYXVtbDtyZ25ldmFpZCBtYWtyb3NpOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gS2FzdXRhZGVzIHskZ3JvdXB9IG1ha3JvdCwgYXNlbmRhYiBzJnV1bWw7c3RlZW0gZXNpbWVzZSBncnVwaSBuaW1lLCBtaWxsZXNzZSBrYXN1dGFqYSBrdXVsdWIsIGphIHN1dW5hYiBlZGFzaSBzZWxsZWxlIGxlaGVsZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0thc3V0YWphIHBhcm9vbGkgdGFhc3RhbWlzZWtzIG11dWRhIHNlZGEgdiZhdW1sO2xqYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnS2FzdXRhamEgcGFyb29saSB0YWFzdGFtaXNla3MgbXV1ZGEgc2VkYSB2JmF1bWw7bGphJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1NlbGxpc2Ugbm5pbWVnYSBrYXN1dGFqYSBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0NTViBla3Nwb3J0IGVpIHRvb251ZCB0dWxlbXVzaSc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdLYXN1dGFqYW5pbWUgbGFodHJpIHBpa2t1cyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdQYXJvb2xpIGxhaHRyaSBwaWtrdXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFyb29saSBwaWtrdXNlZCBvbiB2aWdhc2VkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW4vTWF4IGthc3V0YWphbmltZSBwaWtrdXNlZCBvbiB2aWdhc2VkJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTWVpIGVpIHN1dXRudWQgbGVpZGEgc2VsbGUga29udG9nYSBzZW90dWQgZS1tYWlsaSBhYWRyZXNzaSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnS2FzdXRhamEgbGlzYXR1ZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ2thc3V0YWphIGt1c3R1dGF0dWQgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnT21hZHVzJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWJmF1bWw7JmF1bWw7cnR1cyAodmFiYXMgdm9ybWlzKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ0hvaWF0dXM6IE5lZWQgbGFodHJpZCBtJm90aWxkZTtqdXRhdmFkIHZvcm1pZGUgbGFodHJpdGUgc3V1cnVzaS4gU2VsbGUgbnVtYnJpIHYmYXVtbDtoZW5kYW1pbmUgb2xlbWFzb2xldmFsIHNhaWRpbCBlaSBwcnV1Z2kgb2xsYSBzb292aXRhdGF2JzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdNdXVkYSBhZG1pbm5pIGVlbGlzdHVzaT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0UtbWFpbGkgYWFkcmVzcyBvbiBqdWJhIGthc3V0dXNlcyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0x1YmEgZS1tYWlsaSBkdXBsaWthYXRlJzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhsdWJhIG1pdG1lbCBrYXN1dGFqYWwga2FzdXRhZGEgc2FtYSBlLW1haWxpIGFhZHJlc3NpKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdTYSBlaSBzaXNlc3RhbnVkIGthc3V0YWphbmltZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdTYSBlaSBzaXNlc3RhbnVkIHBhcm9vbGknOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Vlc2xpaWRlc2UgS2FzdXRhamEgViZhdW1sO2xqYWxvZ2ltaW5lJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Vlc2xpaWRlc2UgS2FzdXRhamEgU2lzc2Vsb2dpbWluZSc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPkVUVEVWQUFUVVNUPC9iPiBvbGVtYXNvbGV2YXRlIG9tYWR1c3RlIG11dXRtaW5lIHYmb3RpbGRlO2liIGomYXVtbDsmYXVtbDtkYXZhbHQga2FoanVzdGFkYSBvbGVtYXNvbGV2YXQgc2FpdGk8aT4oZXJpdGksIGt1aSBsJnV1bWw7aGVuZGFkIHYmYXVtbDtsamFkZSBwaWtrdXNpIHZtcy4pPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdTZWUgZnVua3RzaW9vbiBlaSB0Jm91bWw7Jm91bWw7dGEgd2luZG93cyYjMDM5O2lsJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICcmQXVtbDtyYSBsb28ga2FzdXRhamFuaW1lIHYmb3RpbGRlO2kgcGFyb29saSBsYWh0cmVpZCAtIG5lZWQgb24ganViYSBGcm9udEVuZFVzZXJzIG1vb2R1bGlzc2Ugc2lzc2UgZWhpdGF0dWQnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0Vrc3BvcmRpIEthc3V0YWphZCBDU1YmIzAzOTtzc2UnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9yZGknOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHJhYXRvcic7CiRsYW5nWydlZGl0cHJvcCddID0gJ011dWRhIE9tYWR1c3QnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrc2ltYWFsbmUgcGlra3VzJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdMb29kdWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydGVlcmknOwokbGFuZ1snc29ydCddID0gJ1NvcnRlZXJpbWluZSc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdLYXN1dGFqYSh0KSB2YWxpdHVkIGdydXBwcGlkZXMnOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnVHVsZW11c2knOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnU2VsbGVsZSBrYXN1dGFqYWxlIGVpIGxlaXR1ZCBlLW1haWxpIHYmYXVtbDtsamEuIFYmb3RpbGRlO2liLW9sbGEgcGVha3NpZCBrb250YWt0ZWVydW1hIHMmdXVtbDtzdGVlbWlhZG1pbmlzdHJhYXRvcmlnYT8nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMgVW51c3RhdHVkIFBhcm9vbGkgdm9ybWkgamFva3MnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMgU2VhZGV0ZSB2b3JtaSBqYW9rcyc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0xlaGVJRC9BbGlhcywga3VodSBzdXVuYXRhIHBlYWxlIHNpc3NlbG9naW1pc3QgKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMsIGt1aHUgc3V1bmF0YSBwZWFsZSB2JmF1bWw7bGphbG9naW1pc3QgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0ZWVyaW1pc2UgaiZhdW1sO3JqZWtvcmQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTSZvdGlsZGU7bmVkIGthc3V0YWphZCB0YWFzdGF2YWQgb21hIGthZHVudWQgcGFyb29sZS4gSGV0a2VsIG9uIG5laWQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkLCBtaXMgb24gdmFuZW1hZCBrdWkgMSBuJmF1bWw7ZGFsJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCwgbWlzIG9uIHZhbmVtYWQga3VpIDEga3V1JzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnT2xlZCBzYSBraW5kZWw/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnU2lzZXN0YXR1ZCBrb29kIG9uIHZpZ2FuZSwgcGFsdW4gcHJvb3ZpIHV1ZXN0aSc7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnU2ludSBrYXN1dGFqYSBJRC1sZSB2YXN0YXZhdCBhanV0aXN0IGtvb2RpIGFuZG1lYmFhc2lzdCBlaSBsZWl0dWQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdLaW5uaXRhbWlzZSB2b3JtaSBtYWxsJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdVbnVzdGF0dWQgcGFyb29saSBlLW1haWxpIG1hbGwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0thcyBzaW5hIHYmb3RpbGRlO2kga2VlZ2kgdGVpbmUgb24ganViYSBzZWxsZSBrYXN1dGFqYWtvbnRvIHBhcm9vbGkgdGFhc3RhbWlzdCBhbHVzdGFudWQuICBLb250cm9sbGkgb21hIGUtbWFpbGksIHNlYWwgdiZvdGlsZGU7aXZhZCBvbGxhIGVkYXNpc2VkIGp1aHRuJm91bWw7Jm91bWw7cmlkLCBrdWlkYXMgb21hIHBhcm9vbGkgbCZhdW1sO2h0ZXN0YWRhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdBbmRtZWJhYXNpIHZpZ2EnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnU2FpZCBzZWxsZSBraXJqYSwga3VuYSBrZWVnaSAmdXVtbDt0bGVzIG1laWUgbGVoZWxlLCBldCBvbGVkIGthb3RhbnVkIG9tYSBwYXJvb2xpLiBLdWkgc2VlIG9uIG5paSwgbG9lIGp1aGlzZWlkIGFsbHBvb2wuIEt1aSBzdWwgcG9sICZvdGlsZGU7cm5hIGFpbXVnaSwgbWlsbGVzdCBqdXR0IGsmYXVtbDtpYiwgdiZvdGlsZGU7aWQgc2VsbGUga2lyamEga3VzdHV0YWRhLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0tvb2QnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnSiZhdW1sO3JnbmV2IGtvb2Qgb24gc3V2YWxpc2VsdCBnZW5lcmVlcml0dWQga2FzdXRhamFrb250byBraW5uaXRhbWlzZWtzLiBLdWkgc2Ega2xpa2lkIGFsbGomYXVtbDtyZ25ldmFsIGxpbmdpbCwgdHVsZWIgc3VsIHNlZSBrb29kIHNpc2VzdGFkYSB2YXN0YXZhc3NlIGxhaHRyaXNzZS4gVGF2YWxpc2VsdCBvbiBrb29kIGp1YmEgbGFodHJpc3NlIHNpc2VzdGF0dWQsIGt1aSBhZ2EgbWl0dGUsIHNpaXMga29vZCBvbjonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdLbGlra2lkZXMgYWxsaiZhdW1sO3JnbmV2YWwgbGluZ2lsIHZpaWFrc2Ugc2luZCBzYWlkaWxlLCBrdXMgc2FhZCBzaXNlc3RhZGEgJnV1bWw7bGFscG9vbCB0b29kdWQga29vZGkgamEgdGFhc3RhZGEgb21hIHBhcm9vbGk6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdLYW90YXNpZCBTYWxhcyZvdGlsZGU7bmEnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdDTVNNYWlsZXIgbW9vZHVsaXQgZWkgc3V1ZGV0dWQgbGVpZGEnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQWFkcmVzc2lsZSAlcyBvbiBzYWFkZXR1ZCBlLW1haWwganVoaXN0ZWdhLCBrdWlkYXMgc2Egc2FhZCBvbWEgcGFyb29saSB0YWFzdGFkYS4gVCZhdW1sO25hbWUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdUaXBpIHNpc3NlIG9tYSBrYXN1dGFqYW5pbWkgbmluZyBtZSBzYWFkYW1lIHN1bGxlIGUtbWFpbGlnYSBqdWhpc2VkLCBrdWlkYXMgc2Egb21hIHBhcm9vbGkgdGFhc3RhZGEgc2FhZCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1VudXN0YXR1ZCBQYXJvb2xpIE1hbGxpZCc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICclcyBvbWFkdXNpIGVpIGxlaXR1ZCc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnb21hZHVzKHQpIGxlaXR1ZCc7CiRsYW5nWydhZGRwcm9wJ10gPSAnTGlzYSBPbWFkdXMnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ04mb3RpbGRlO3V0dWQgdiZhdW1sO2xpICglcykgb2xpIHQmdXVtbDtoaSc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ09tYSBwYXJvb2xpIG11dXRtaXNla3Mgc2lzZXN0YSBzaWlhIHV1cyBwYXJvb2wnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdTYSBlaSBvbGUgc2lzc2UgbG9naXR1ZCc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnU2VhZGVkJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmVlcmltaW5lJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnU2VlIGtvbnRvIG9uIGFlZ3VudWQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ1ZpZ2FuZSBlLW1haWxpIGFhZHJlc3NpIHZvcm1pbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdWaWdhbmUgYWVndW1pc2t1dXAmYXVtbDtldic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnVmlnYSBvbWFkdXNlICVzIG0mYXVtbDsmYXVtbDtyYW1pc2VsIGthc3V0YWphbGUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdWaWdhbmUgZ3J1cGkgSUQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdQZWlkZXR1ZCB2JmF1bWw7bGphIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnUGVpZGV0dWQgdiZhdW1sO2xqYSB2JmF1bWw7cnYnOwokbGFuZ1snaGlkZGVuJ10gPSAnUGVpZGV0dWQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1NlbGxpc2UgbmltZWdhIG9tYWR1cyBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ09tYWR1c2kgZWkgb2xlJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnU2VsbGUgZ3J1cGkgamFva3MgZWkgdmFsaXR1ZCAmdXVtbDtodGVnaSBvbWFkdXN0JzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnZ3J1cHAoaSkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdLdXVsdXZ1cyB2JmF1bWw7aGVtYWx0ICZ1dW1sO2h0ZSBncnVwcGkgb24ga29odXN0dXNsaWsnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ0t1dWx1dnVzIHYmYXVtbDtoZW1hbHQgJnV1bWw7aHRlIGdydXBwaSBvbiBrb2h1c3R1c2xpayc7CiRsYW5nWydiYWNrJ10gPSAnVGFnYXNpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBvbiBuJm90aWxkZTt1dHVkIHYmYXVtbDtsaSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTSZhdW1sO3JnaXN0YSBuJm90aWxkZTt1dHVkIHYmYXVtbDtsamFkJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ1Qmb3RpbGRlO3N0YSBuJm90aWxkZTt1dHVkIHYmYXVtbDtsamFkIGVzaWxlJzsKJGxhbmdbJ25leHQnXSA9ICdKJmF1bWw7cmdtaW5lJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnU2VsbGlzZSBuaW1lZ2EgZ3J1cHAganViYSBla3Npc3RlZXJpYic7CiRsYW5nWydyZXF1aXJlZCddID0gJ04mb3RpbGRlO3V0dWQgViZhdW1sO2xpJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnVmFsaWt1bGluZSc7CiRsYW5nWydvZmYnXSA9ICdWJmF1bWw7bGphcyc7CiRsYW5nWydsZW5ndGgnXSA9ICdQaWtrdXMnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4odCZhdW1sO2hlbSZhdW1sO3JrZSBsYWh0cmlzKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnVmFsaWttZW4mdXVtbDsmdXVtbDsgdmFsaWt1ZCwgZXJhbGRhdHVkIHJlYXZhaGVnYSc7CiRsYW5nWyd5ZXMnXSA9ICdKYWgnOwokbGFuZ1sncHJvbXB0J10gPSAnUGVhbGtpcmknOwokbGFuZ1sndHlwZSddID0gJ1QmdXVtbDsmdXVtbDtwJzsKJGxhbmdbJ3RleHQnXSA9ICdUZWtzdCc7CiRsYW5nWydjaGVja2JveCddID0gJ0xpbm51a2UnOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWxpIGFhZHJlc3MnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdGl2JmF1bWw7bGknOwokbGFuZ1snZHJvcGRvd24nXSA9ICdWYWxpa21lbiZ1dW1sOyZ1dW1sOyc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1RlcmUgdHVsZW1hc3QsJzsKJGxhbmdbJ2xvZ291dCddID0gJ0xvZ2kgdiZhdW1sO2xqYSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdTZWFkZWQnOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdTaXNzZWxvZ2ltaW5lIGViYSZvdGlsZGU7bm5lc3R1cy4gVmFsZSBrYXN1dGFqYW5pbWkgdiZvdGlsZGU7aSBwYXJvb2w/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9naSBzaXNzZSc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdLYXN1dGFqYW5pbWknOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFyb29sJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVlcmknOwokbGFuZ1snZm9yZ290cHcnXSA9ICdVbnVzdGFzaWQgc2FsYXMmb3RpbGRlO25hPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1RhYXN0YSBhbGdzZWFkZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdNYWxsJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0thc3V0YWphIElELWQgZWkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdTZWUga2FzdXRhamFuaW1pICglcykgb24ganViYSBrYXN1dHVzZWwnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0thc3V0YSBTTVRQLWQgZS1tYWlsaSBhYWRyZXNzaWRlIGtlaHRpdnVzZSBraW5uaXRhbWlzZWtzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbWFhbG5lIHBhcm9vbGkgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ01ha3NpbWFhbG5lIHBhcm9vbGkgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltYWFsbmUga2FzdXRhamFuaW1lIHBpa2t1cyc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYWtzaW1hYWxuZSBrYXN1dGFqYW5pbWUgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb29uaSB0YWltYXV0IChzZWt1bmRpdGVzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0x1YmEgRS1tYWlsaSByZWdpc3RyZWVyaW1pc3QnOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ0FsZ25lIGdydXBwIHV1dGVsZSBrYXN1dGFqYXRlbGUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdTZWFkZXRlIG11dXRtaXNlIE1hbGwnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1Bhcm9vbGlkIGVpIGthdHR1JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ViYXNvYml2IEthc3V0YWphbmltaSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdFYmFzb2JpdiBTYWxhcyZvdGlsZGU7bmEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdXVkYSBLYXN1dGFqYXQnOwokbGFuZ1sndmFsaWQnXSA9ICdLZWh0aXYnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLYXN1dGFqYW5pbWknOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhYXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdTZWUga2FzdXRhamEgZWkga3V1bHUgJnV1bWw7aHRlZ2kgZ3J1cHBpJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdPbWFkdXNpIGVpIG9sZSc7CiRsYW5nWyd2YWx1ZSddID0gJ1YmYXVtbDsmYXVtbDtydHVzJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBpZCc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnT21hZHVzZWQnOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdPbWFkdXNlIE5pbWknOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnT21hZHVzZSBWJmF1bWw7JmF1bWw7cnR1cyc7CiRsYW5nWydhZGQnXSA9ICdMaXNhJzsKJGxhbmdbJ2VkaXQnXSA9ICdNdXVkYSc7CiRsYW5nWydleHBpcmVzJ10gPSAnQWVndWInOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnVCZhdW1sO3BzdXN0YSBrdXVwJmF1bWw7ZXZhZ2EnOwokbGFuZ1snMTJocnMnXSA9ICcxMiBUdW5kaSc7CiRsYW5nWycyNGhycyddID0gJzI0IFR1bmRpJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggVHVuZGknOwokbGFuZ1snMXdlZWsnXSA9ICcxIE4mYXVtbDtkYWwnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBOJmF1bWw7ZGFsYXQnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBLdXUnOwokbGFuZ1snM21vbnRocyddID0gJzMgS3V1ZCc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBLdXVkJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBBYXN0YSc7CiRsYW5nWyduZXZlciddID0gJ01pdHRlIEt1bmFnaSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb29kdWwgaW5zdGFsbGVlcml0dWQuPGJyLz5NJmF1bWw7JmF1bWw7cmEga2luZGxhc3RpIGsmb3RpbGRlO2lraWRlbGUgYXNqYWdhIHNlb3R1ZCBrYXN1dGFqYXRlbGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJnF1b3Q7ICZvdGlsZGU7aWd1cy4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXJvb2wnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXJvb2wgdXVlc3RpJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdTZWxsaXNlIG5pbWVnYSBncnVwcCBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ011dWRhIEdydXBwaSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTYWFkYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdUJnV1bWw7aGlzdGEnOwokbGFuZ1snZGVsZXRlJ10gPSAnS3VzdHV0YSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ09sZWQgc2Ega2luZGVsLCBldCBuZWVkIG9uIHNlbGxlIGdydXBpIGphb2tzIGtvcnJla3RzZWQgc2VhZGVkP1xuT21hZHVzZSB2JmF1bWw7bGphIGwmdXVtbDtsaXRhbWluZSBlaSBrdXN0dXRhICZ1dW1sO2h0ZWdpIHNpc3Nla2FubmV0IHNlbGxlIGdydXBpL2thc3V0YWphIG9tYWR1c3RlIHRhYmVsaXMuIE5laWQgZWkgc2FhIGxpaHRzYWx0IGthc3V0YWRhLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnT2xlZCBraW5kZWwsIGV0IHNvb3ZpZCBzZWRhIGdydXBwaSBrdXN0dXRhZGE/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdPbGVkIGtpbmRlbCwgZXQgc29vdmlkIHNlbGxlIG9tYWR1c2UgbCZvdGlsZGU7cGxpa3VsdCBrdXN0dXRhZGE/XG5TZWxsZWdhIGthYXNuZWIgayZvdGlsZGU7aWtpZGUga2FzdXRhamF0ZSBzZWxsZSBvbWFkdXNlIGt1c3R1dGFtaW5lLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdFYmFwaWlzYXZhZCBwYXJhbWVldHJpZCc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOaW1pJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRnb3J1cCddID0gJ1Byb2JsZWVtIGdydXBpIGxpc2FtaXNlbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVmlnYXNlZCBQYXJhbWVldHJpZCc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1V1ZW5kYSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmVlcmknOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0thc3V0YWphbmltaSB2YWJhcyB2b3JtaXMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLaXJqZWxkdXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3J1cGkgTmltaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdMaWdpcCZhdW1sOyZhdW1sO3Mga2VlbGF0dWQnOwokbGFuZ1snZXJyb3InXSA9ICdWaWdhJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnTGlzYSBHcnVwcCc7CiRsYW5nWydhZGR1c2VyJ10gPSAnTGlzYSBLYXN1dGFqYSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnYW50dWQga3JpdGVlcml1bWlsZSB2YXN0YXYoYXQpIGthc3V0YWphKHQpJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWYWxpIEdydXBwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1Jlc2dpc3RyZWVyaW1pc2UgTWFsbCc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdWJmF1bWw7bGphbG9naW1pc2UgTWFsbCc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ1Npc3NlbG9naW1pc2UgTWFsbGwnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFZWxpc3R1c2VkJzsKJGxhbmdbJ3VzZXJzJ10gPSAnS2FzdXRhamFkJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTHViYSBrYXN1dGFqYXRlbCBvbWEgc2FpZGkgZWVzbGlpdGVsIHNpc3NlIGxvZ2lkYSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnQWxnbmUgZXNpbGVodCc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnVmlpbWF0aSB2YWFkYXR1ZCBsZWh0JzsKJGxhbmdbJ290aGVycGFnZSddID0gJ011dSBsZWh0OiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSB7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMsIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTI2MzMyMDUzLjExNTcxMjE2MTguMTE1Nzg5Njc2My4xMTU4MTYzMjExLjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTU3MTIxNjE4LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/eu_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3JlYWRvbmx5J10gPSAnSXJha3VydHpla28gc29pbGlrJzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdVc2VyIE1hbmlwdWxhdG9yIENsYXNzJzsKJGxhbmdbJ2FkbWluX2xvZ2dvdXQnXSA9ICdBZG1pbmlzdHJhdHphaWxlYWsgc2Fpb3RpayBib3RhIGR1JzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTYWlvYSBoYXNpdGEgZHV0ZW4gZXJhYmlsdHphaWxlYWsgZXJha3V0c2knOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0VyYWJpbHR6YWlsZWEgc2Fpb3RpayBhdGVyYSc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdFcmFiaWx0emFpbGVhcmVuIFByb3BpZXRhdGVhayc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0VyYWJpbHR6YWlsZWFyZW4gSGlzdG9yaWFsYSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnRhdHUnOwokbGFuZ1snY2xlYXInXSA9ICdHYXJiaXR1JzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydGF0dSBFcmFiaWx0emFpbGUgSGlzdG9yaWFsYSBBU0NJSSBmb3JtYXR1cmEnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdHYXJiaXR1IEVyYWJpbHR6YWlsZSBIaXN0b3JpYWxhcmVuIGVycmVnaXN0cm9hayc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnRXJhYmlsdHphaWxlIEhpc3RvcmlhbGFyZW4gTWFudGVudWEnOwokbGFuZ1sneWVzJ10gPSAnQmFpJzsKJGxhbmdbJ25vJ10gPSAnRXonOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTXVnYXJpayBnYWJlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ09yZHViZXRla29hJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NlaSBvcmR1dGFrb2EnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnSGFtYWJpIG9yZHV0YWtvYSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VndW4gYmF0ZWtvYSc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdBc3RlYmV0ZWtvYSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnQmkgQXN0ZXRha29hJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdIaWxhYmV0ZWtvYSc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnSGlydSBIaWxhYmV0ZXRha29hJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnU2VpIEhpbGFiZXRldGFrb2EnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnVXJ0ZWJldGFrb2EnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnVGFsZGVrYWtldGEgZXRhIFNhaWxrYWtldGEnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ0JpbGFrZXRhLWlyaXpwaWRlYSBiZXRldHplbiBkdXRlbiBlcnJlZ2lzdHJvYWsnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdFcmFiaWx0emFpbGUtaXplbmEgYmVoZXJhbnprYSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnRXJhYmlsdHphaWxlLWl6ZW5hIGdvcmFuemthJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdEYXRhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnRGF0YSBnb3JhbnprYSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdHZXJ0YWVyYS1tb3RhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdHZXJ0YWVyYS1tb3RhIGdvcmFuemthJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0lQIGhlbGJpZGVhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJUCBoZWxiaWRlYSBnb3JhbnprYSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnRXogZGEgSGlzdG9yaWFsaWsgdG9wYXR1JzsKJGxhbmdbJ3Jlc2V0J10gPSAnQmVycmV6YXJyaSc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdJUCBoZWxiaWRlYXJlbiBhcmFiZXJhIFRhbGRla2F0dSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0dlcnRhZXJhLW1vdGEgaXJhZ2F6a2lhJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0hhdSBiYWlubyBndXR4aWFnbyBkaXJlbiBnZXJ0YWVyYWsgYmFrYXJyaWsgZXJha3V0c2k6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdPcnJpYWxkZS1tdWdhJzsKJGxhbmdbJ2ZvciddID0gJ2Zvcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0VyYWJpbHR6YWlsZSBIaXN0b3JpYWxhcmVuIFR4b3N0ZW5hJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdFemV6YWd1bmEnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQIEhlbGJpZGVhJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdHZXJ0YWVyYS1tb3RhJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0YSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnSXR6dWxpJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdJbnBvcnRhc2lvLWVyYWdpa2V0YSBBbWFpdHV0YSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdQcm96ZXNhdHVyaWtvIGxlcnJvYWsnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9yZWFrIGF1cmtpdHUgZGlyYSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRXJyZWdpc3RydWFrIGdlaGl0dXRhJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnRXppbiBpemFuIGRhIFNNVFAgemVyYml0emFyaXRpayBlcmFudHp1bmlrIGphc28nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRXppbiBpemFuIGRhIGFkaWVyYXppdGFrbyBmaXR4YXRlZ2lhICglcykgdG9wYXR1JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIGZvciBkcm9wZG93biBvciBtdWx0aXNlbGVjdCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0ZpZWxkICVzIGV4Y2VlZHMgbWF4aW11bSBsZW5ndGgnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgRXJyb3IgKGxpbmUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnQ291bGQgbm90IGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnQ291bGQgbm90IGZpbmQgYSBjb2x1bW4gdG8gbWF0Y2ggdGhlIHJlcXVpcmVkIGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCBncm91cCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnVGhlIGZpbGUgc3BlY2lmaWVkIGZvciBpbXBvcnQgaXMgbm90IGluIHRoZSBjb3JyZWN0IGZvcm1hdCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnQ291bGQgbm90IG9wZW4gZmlsZSc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdJbXBvcnQgVXNlcnMgSW50byBUaGlzIEdyb3VwJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ0lucHV0IENTViBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydCBVc2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnQ2xlYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdJbWFnZSBEZXN0aW5hdGlvbiBQYXRoJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHdpdGggYSBtaXNzaW5nIChidXQgcmVxdWlyZWQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnQ2Fubm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdUaGlzIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9naW4gbW9yZSB0aGFuIG9uY2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0ltYWdlIEZpbGUgRXh0ZW5zaW9ucyB0aGF0IFVzZXJzIGFsbG93ZWQgdG8gdXBsb2FkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgaW4gdGhlc2UgZmllbGRzOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnQSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdObyByZXN1bHRzIHJldHVybmVkIGZyb20gY3N2IGV4cG9ydCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGggb2YgdXNlcm5hbWUgZmllbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHBhc3N3b3JkIGZpZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHBhc3N3b3JkIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggdXNlcm5hbWUgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnSW52YWxpZCBFbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnV2UgY291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXNlciBBZGRlZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzZXIgRGVsZXRlZCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wZXJ0eSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsdWUgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJuaW5nOiBUaGVzZSBmaWVsZHMgYWZmZWN0IHRoZSBzaXplIG9mIGlucHV0IGZpZWxkcyBmb3IgZm9ybXMuICBEZWNyZWFzaW5nIHRoaXMgbnVtYmVyIG9uIGFuIGV4aXN0aW5nIHNpdGUgbWF5IG5vdCBiZSBhZHZpc2FibGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIG1vZHVsZSBwcmVmZXJlbmNlcz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VtYWlsIGFkZHJlc3MgYWxyZWFkeSB1c2VkJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnQWxsb3cgZHVwbGljYXRlIGVtYWlscyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoYWxsb3cgbXVsdGlwbGUgdXNlcnMgd2l0aCB0aGUgc2FtZSBlbWFpbCBhZGRyZXNzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciBhIHVzZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0JzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydCc7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdCBQcm9wZXJ0eSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzZXJzIGluIHRoZSBzZWxlY3RlZCBncm91cChzKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdCByZXN1bHRzIHRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGZpZWxkIGZvciB0aGlzIHVzZXIuICBZb3UgbWF5IG5lZWQgdG8gY29udGFjdCB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnRWl0aGVyIHlvdXJzZWxmIG9yIHNvbWVvbmUgZWxzZSBoYXMgYWxyZWFkeSB0cmlnZ2VyZWQgYSBwYXNzd29yZCByZXNldCBvcGVyYXRpb24gZm9yIHRoaXMgYWNjb3VudC4gIENoZWNrIHlvdXIgZW1haWwsIHlvdSBtYXkgaGF2ZSBmdXJ0aGVyIGluc3RydWN0aW9ucyBvbiBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBpbiB5b3VyIGluYm94JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvcic7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdZb3UgYXJlIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UgYmVjYXVzZSBzb21lYm9keSB0b2xkIG91ciBzaXRlIHRoYXQgeW91IGhhZCBsb3N0IHlvdXIgcGFzc3dvcmQuICBJZiB0aGlzIGlzIHRoZSBjYXNlLCByZWFkIHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cuICBJZiB5b3UgZG9uJiMwMzk7dCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1RoZSBmb2xsb3dpbmcgY29kZSBoYXMgYmVlbiBnZW5lcmF0ZWQgcmFuZG9tbHkgZ2VuZXJhdGVkIGluIG9yZGVyIHRvIHZlcmlmeSB0aGUgdXNlciBhY2NvdW50LiAgd2hlbiB5b3UgY2xpY2sgb24gdGhlIGxpbmsgYmVsb3cgeW91IHdpbGwgYmUgcHJlc2VudGVkIHdpdGggYSBmaWVsZCB0byBlbnRlciB0aGlzIGNvZGUuICBOb3JtYWxseSB0aGUgZmllbGQgaXMgcHJlLWNvbXBsZXRlZCBmb3IgeW91LCBidXQgaW5jYXNlIGl0IGlzbiYjMDM5O3QgdGhlIGNvZGUgaXM6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnQ2xpY2tpbmcgb24gdGhlIGZvbGxvd2luZyBsaW5rIHdpbGwgdGFrZSB5b3UgdG8gdGhlIHdlYnNpdGUgd2hlcmUgeW91IGNhbiBlbnRlciB0aGUgYWJvdmUgY29kZSwgYW5kIHJlc2V0IHlvdXIgcGFzc3dvcmQ6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdMb3N0IFBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIENNU01haWxlciBtb2R1bGUnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byAlcyB3aXRoIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZC4gIFRoYW5rIHlvdSc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1NvIHlvdSBmb3Jnb3Qgb3IgbG9zdCB5b3VyIHBhc3N3b3JkLiBXZWxsLCB0eXBlIHlvdXIgdXNlcm5hbWUgaW4gaGVyZSwgYW5kIGlmIHdlIGNhbiBmaW5kIHlvdSB3ZSB3aWxsIHNlbmQgeW91IGFuIGVtYWlsIHdpdGggaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCBpdCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wbGF0ZXMnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcGVydHkgJXMgbm90IGZvdW5kJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9wZXJ0aWVzIGZvdW5kJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZGQgUHJvcGVydHknOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0EgcmVxdWlyZWQgZmllbGQgKCVzKSB3YXMgZW1wdHknOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdFbnRlciBhIG5ldyBwYXNzd29yZCBoZXJlIHRvIGNoYW5nZSB5b3VyIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnWW91IGRvIG5vdCBhcHBlYXIgdG8gYmUgbG9nZ2VkIGluJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGlvbic7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RoaXMgYWNjb3VudCBoYXMgZXhwaXJlZCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnSW52YWxpZCBleHBpcnkgZGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ0ludmFsaWQgZ3JvdXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdIaWRkZW4gZmllbGQgbWFya2VyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdIaWRkZW4gZmllbGQgY29sb3InOwokbGFuZ1snaGlkZGVuJ10gPSAnSGlkZGVuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdBIHByb3BlcnR5IHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0aWVzIHdlcmUgc2VsZWN0ZWQgZm9yIHRoaXMgZ3JvdXAnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBHcm91cHMgYXJlIGRlZmluZWQnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cHMgRm91bmQnOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzIGEgcmVxdWlyZWQgZmllbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01hcmsgcmVxdWlyZWQgZmllbGRzIHdpdGgnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnSGlsaXRlIHJlcXVpcmVkIGZpZWxkcyBpbic7CiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0EgR3JvdXAgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCBGaWVsZCc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmFsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltdW0gc2l6ZSBvZiBhbnkgb25lIGRpbWVuc2lvbiBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMZW5ndGgnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ011bHRpIFNlbGVjdCBMaXN0JzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dlbGNvbWUnOwokbGFuZ1snbG9nb3V0J10gPSAnU2lnbiBvdXQnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnQ2hhbmdlIE15IFNldHRpbmdzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFpbGVkIC0gSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdTaWduIGluJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0ZvcmdvdCBZb3VyIFBhc3N3b3JkPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ0RlZmF1bHRzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVXNlciBJRCBub3QgZm91bmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgKCVzKSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNlIFNNVFAgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYXhpbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaW9uIFRpbWVvdXQgKHNlY29uZHMpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2UgY29va2llcyB0byBrZWVwIGxvZ2lucyBhbGl2ZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0FsbG93IEVtYWlsIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnRGVmYXVsdCBHcm91cCBmb3IgbmV3IHVzZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnQ2hhbmdlIFNldHRpbmdzIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdQYXNzd29yZHMgRG8gbm90IG1hdGNoJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ludmFsaWQgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnSW52YWxpZCBQYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcGVydGllcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1Byb3BlcnR5IE5hbWUnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnUHJvcGVydHkgVmFsdWUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3J5JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZnkgRGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvdXJzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG91cnMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Vycyc7CiRsYW5nWycxd2VlayddID0gJzEgV2Vlayc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFdlZWtzJzsKJGxhbmdbJzFtb250aCddID0gJzEgTW9udGgnOwokbGFuZ1snM21vbnRocyddID0gJzMgTW9udGhzJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE1vbnRocyc7CiRsYW5nWycxeWVhciddID0gJzEgWWVhcic7CiRsYW5nWyduZXZlciddID0gJ05ldmVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0FnYWluJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcm91cCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdCBHcm91cCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBncm91cD8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xuRG9pbmcgc28gd2lsbCBhbHNvIGVyYXNlIGFueSB1c2VyIGVudHJpZXMgZm9yIHRoaXMgcHJvcGVydHkuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdvcnVwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ0ludmFsaWQgUGFyYW1ldGVycyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGx5JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3JvdXAgTmFtZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBZGQgR3JvdXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FkZCBVc2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWN0IEdyb3VwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgVGVtcGxhdGUnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RlZmF1bHQgZnJvbnQgcGFnZSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBceyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMiAtIERlYywgMjAwNjwvcD4NCiAgICA8cD5GaXhlcyAoaG9wZWZ1bHkpIHRvIHRoZSBhZG9kYi9hZG9kYi1saXRlIERBVEVUSU1FIGlzc3VlPC9wPg0KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4NCiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPg0KICAgIDxwPkZpeGVzIHRvIHVzZXIgZXhwaXJ5IChtb3JlIERCVGltZXN0YW1wIGlzc3VlcyksIHRoYW5rcyBhZ2FpbiBkaXR0bWFuPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5HZW5lcmFsIGNsZWFudXAgb2YgZnVuY3Rpb25zIHRoYXQgd2VyZSBub3QgYmVpbmcgdXNlZCBhbmQgbm90aWNlcy93YXJuaW5nczwvcD4NCiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZW1haWwgdmFsaWRhdGlvbiBzdHVmZjwvcD4NCjwvbGk+DQogICAgPGxpPjxwPjEuMi4wIC0gQXByaWwsIDIwMDc8L3A+DQogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+DQogICAgPHA+VGVtcGxhdGUgY2xlYW51cHMgKG1vcmUgb2YgZW0pPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPg0KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgJnF1b3Q7YXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkJnF1b3Q7IHN0dWZmPC9wPg0KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4NCiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IG5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2VyczwvcD4NCiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+DQogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgaW1hZ2UgdXBsb2FkcywgdGhpcyBpcyBhIGJpZyBmZWF0dXJlLiAgSW1hZ2VzIGFyZSBzY2FsZWQgdG8gYSBtYXhpbXVtIHNpemUgaW4gb25lIGRpbWVuc2lvbiwgYW5kIHN0b3JlZCBhcyBmaWxlcyBpbiBhIGNvbmZpZ3VyYWJsZSBkaXJlY3RvcnkgdW5kZXIgdGhlIHVwbG9hZHNfcGF0aC48L3A+DQogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4NCiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+DQogICAgPHA+SW1wb3J0IFVzZXJzIGZyb20gQ1NWPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+DQogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCBpZiB0aGUgdXNlciBzZXR0aW5ncyBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+DQo8L2xpPg0KPGxpPg0KPHA+MS4yLjEgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9nb3V0IHVzZXJzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+DQoJPHA+QWRkZWQgbW9yZSB2YXJpYWJsZXMgaW4gZWFjaCBvYmplY3QgaW4gdGhlIGNoYW5nZXNldHRpbmdzIGZvcm08L3A+DQo8L2xpPg0KPGxpPg0KCTxwPjEuMi4yIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43NzUzNzI2NjIuMTE4NzczMDU5My4xMTg3NzMwNTkzLjExODc3MzA1OTMuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE4NzczMDU5My4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ1BhZ2VJRC9BbGlhcyBrb29kaW4gdmFybWVubnVrc2VuIGomYXVtbDtsa2VlbiAqJzsKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnS2Fkb25udXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgcG9oamEnOwokbGFuZ1snbG9zdHVuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdLYWRvbm51dCBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyB2YXJtZW5udXMgcG9oamEnOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdWaXJoZTogRW5lbW0mYXVtbDtuIGt1aW4geWtzaSB0aWxpIGwmb3VtbDt5dHlpIG9taW5haXN1dWtzaWxsYSc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdWaXJoZTogSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgZWkgbCZvdW1sO3l0eW55dCBuJmF1bWw7aWxsJmF1bWw7IGVoZG9pbGxhJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdWaXJoZTogUnlobSZhdW1sOyZhdW1sOyBlaSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnVmFpbiBsdWt1JzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdLJmF1bWw7eXR0JmF1bWw7amllbiBtdW9ra2F1cyBsdW9ra2EnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnWWxsJmF1bWw7cGl0JmF1bWw7aiZhdW1sOyBraXJqYXNpIHVsb3MnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ04mYXVtbDt5dCZhdW1sOyB2YWluIGtpcmphdXR1bmVldCBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0tpcmphYSB0JmF1bWw7bSZhdW1sOyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyB1bG9zJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBvbWluYWlzdXVkZXQnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gaGlzdG9yaWEnOwokbGFuZ1snZXhwb3J0J10gPSAnVmllJzsKJGxhbmdbJ2NsZWFyJ10gPSAnVHloamVubiZhdW1sOyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdWaWUgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsgaGlzdG9yaWEgQVNDSUkgbXVvZG9zc2Egam9rYSBvbiB2JmF1bWw7aGludCZhdW1sOyZhdW1sO24nOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdUeWhqZW5uJmF1bWw7IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGhpc3RvcmlhIGpva2Egb24gdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ1Vub2hkaXRrbyB0dW5udWtzZW4gdGFpIHNhbGFzYW5hbj8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnVmllIHJ5aG0mYXVtbDsgbSZhdW1sOyZhdW1sO3JpdHlrc2V0IFhNTCBtdW9kb3NzYSc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsgaGlzdG9yaWEgaGFsbGludGEnOwokbGFuZ1sneWVzJ10gPSAnS3lsbCZhdW1sOyc7CiRsYW5nWydubyddID0gJ0VpJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJy8nOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogRWkgcmFqb2l0dXN0YSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdUdW5uaW4gdmFuaGEnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnS3V1c2kgdHVudGlhIHZhbmhhJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ0tha3NpdG9pc3RhIHR1bnRpYSB2YW5oYSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ1AmYXVtbDtpdiZhdW1sO24gdmFuaGEnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnVmlpa29uIHZhbmhhJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICdLYWtzaSB2aWlra29hIHZhbmhhJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdLdXVrYXVkZW4gdmFuaGEnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ0tvbG1lIGt1dWthdXR0YSB2YW5oYSc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ0t1dXNpIGt1dWthdXR0YSB2YW5oYSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdWdW9kZW4gdmFuaGEnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnUnlobWl0dGVseSBqYSBqJmF1bWw7cmplc3R5cyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnSGFrdWVodG9qYSB2YXN0YWF2YXQgbWVya2lubiZhdW1sO3QnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBsYXNrZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBub3VzZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOyBsYXNrZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ1AmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7IG5vdXNldmEnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVGFwYWh0dW1hbiB0eXlwcGkgbGFza2V2YSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1RhcGFodHVtYW4gdHl5cHBpIG5vdXNldmEnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnSVAgb3NvaXRlIGxhc2tldmEnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJUCBvc29pdGUgbm91c2V2YSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnRWkgaGlzdG9yaWFhJzsKJGxhbmdbJ3Jlc2V0J10gPSAnTm9sbGFhJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ1J5aG1pdHRlbGUgSVAgb3NvaXR0ZWVuIG11a2Fhbic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ1RhcGFodHVtYSB0eXlwcGkgc3VvZGF0dXMnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnTiZhdW1sO3l0JmF1bWw7IHZhaW4gdGFwYWh0dW1hdCBqb3RrYSBvdmF0Oic7CiRsYW5nWydwcm9tcHRfcGFnZWxpbWl0J10gPSAnU2l2dXJham9pdHVzJzsKJGxhbmdbJ2ZvciddID0gJ2Zvcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGhpc3RvcmlhIHJhcG9ydHRpJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdUdW50ZW1hdG9uJzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUCBPc29pdGUnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ1RhcGFodHVtYW4gdHl5cHBpJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnUCZhdW1sO2l2JmF1bWw7JzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdQYWxhYSc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnVHVvbnRpIG9ubmlzdHVpJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ1JpdmkmYXVtbDsgayZhdW1sO3NpdGVsdHknOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ1ZpcmhlaXQmYXVtbDsgbCZvdW1sO3l0eWknOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ01lcmtpbnQmYXVtbDsmYXVtbDsgbGlzJmF1bWw7dHR5JzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wcmVsbnMnXSA9ICdSeWhtJmF1bWw7bGxlICVzIGVpIGwmb3VtbDt5dHlueXQgb21pbmFpc3V1a3NpYSc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ1NNVFAgc2VydmVyaWluIGVpIHNhYXR1IHlodGV5dHQmYXVtbDsnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnVGllZG9zdG9hICglcykgZWkgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnVmlyaGVlbGxpbmVuIGFydm8ga2VudCZhdW1sO3NzJmF1bWw7ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnS2VudCZhdW1sO3NzJmF1bWw7ICVzIGxpaWFuIHBpdGsmYXVtbDsgYXJ2byc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ1R1b250aSB2aXJoZSAocml2aSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdFaSB2b2l0dSBsYWRhdGEgb21pbmFpc3V1cyB0aWV0b2phIChTaXMmYXVtbDtpbmVuIHZpcmhlKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdPbmdlbG1hIGFzZXRldHRhZXNzYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnVmFhZGl0dWxsZSBrZW50JmF1bWw7bGxlICVzIGVpIGwmb3VtbDt5dHlueXQgc2FyYWtldHRhJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnUnlobSZhdW1sO2xsZSBlaSBsJm91bWw7eWR5IG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1R1b250aSB0aWVkb3N0b24gbXVvdG8gb24gdiZhdW1sOyZhdW1sO3ImYXVtbDsnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ1RpZWRvc3RvYSBlaSB2b2l0dSBhdmF0YSc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnVHVvIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCByeWhtJmF1bWw7JmF1bWw7bic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdDU1YgdGllZG9zdG8nOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdYTUwgdGllZG9zdG8nOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnVmllIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdUdW8gayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0JzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1R5aGplbm4mYXVtbDsnOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdLdXZhbiBrb2hkZSBwb2xrdSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0hhdmFpdHRpaW4gb25nZWxtYSBwdXV0dHV2YW4gKGphIHZhYWRpdHVuKSB1cGxvYWRpbiBrYW5zc2EnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ1hNTCB0aWVkb3N0b2EgZWkgdm9pdHUgbHVrZWEnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0VpIHZvaWRhIHR1aG90YSByeWhtJmF1bWw7JmF1bWw7IGpvc3NhIG9uIHZpZWxhIGsmYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsgb24gam8ga2lyamF1dHVuZWVuYSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdLdXZhc3NhIG9sZXZhIHRla3N0aSBlaSBvbGUgc3kmb3VtbDt0ZXR0eSBvaWtlaW4nOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1NhbGxpIGsmYXVtbDt5dHQmYXVtbDtqaWVuIGtpcmphdXR1YSB1c2VhbW1hbiBrZXJyYW4nOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0t1dmllbiB0aWVkb3N0b3AmYXVtbDsmYXVtbDt0dGVldCBqb2l0YSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3Qgc2FhdmF0IGxhZGF0YSc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGdyb3VwIGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gVGhlIGlwIGFkZHJlc3Mgb2YgdGhlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2Vkb3V0IHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdTdW9yaXRldGFhbiBrdW4gayZhdW1sO3l0dCZhdW1sO2omYXVtbDsga2lyamF1dHV1IGomYXVtbDtyamVzdGVsbSZhdW1sOyZhdW1sO24nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1N1b3JpdGV0YWFuIGt1biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyBraXJqYXV0dXUgdWxvcyBqJmF1bWw7cmplc3RlbG0mYXVtbDtzdCZhdW1sOyc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ1N1b3JpdGV0YWFuIGt1biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gc2Vzc2lvIHZhbmhlbmVlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIHV1c2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsgbHVvZGFhbic7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ1N1b3JpdGV0YWFuIGt1biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSBwJmF1bWw7aXZpdGV0JmF1bWw7JmF1bWw7bic7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ1N1b3JpdGV0YWFuIGt1biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlsaSBwb2lzdGV0YWFuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ1N1b3JpdGV0YWFuIGt1biByeWhtJmF1bWw7IGx1b2RhYW4nOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIHJ5aG0mYXVtbDsgcG9pc3RldGFhbic7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBHcm91cCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFNldXJhYXZpYSBtYWtyb2phIHZvaWRhYW4gayZhdW1sO3l0dCZhdW1sOyZhdW1sOzogeyR1c2VybmFtZX0seyRncm91cH0uIFdoZW4gdXNpbmcgdGhlIHskZ3JvdXB9IG1hY3JvLCB0aGUgc3lzdGVtIHdpbGwgc3Vic2l0dXRlIHRoZSBuYW1lIG9mIHRoZSBmaXJzdCBtZW1iZXIgZ3JvdXAgdGhhdCB0aGUgdXNlciBiZWxvbmdzIHRvLCBhbmQgd2lsbCByZWRpcmVjdCB0byB0aGF0IHBhZ2UuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdNdW9ra2FhIHQmYXVtbDt0JmF1bWw7IGtlbnR0JmF1bWw7JmF1bWw7IG5vbGxhdGFrc2VzaSBrJmF1bWw7eXR0aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdNdW9ra2FhIHQmYXVtbDt0JmF1bWw7IGtlbnR0JmF1bWw7JmF1bWw7IG5vbGxhdGFrc2VzaSBrJmF1bWw7eXR0aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIG9uIGpvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0NTViBleHBvcnQgZWkgcGFsYXV0dGFudXQgdHVsb2tzaWEnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMga2VudCZhdW1sO24gcGl0dXVzJzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ1NhbGFzYW5hIGtlbnQmYXVtbDtuIHBpdHV1cyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluaW1pIC8gTWFrc2ltaSB0aWVkb3Qgc2FsYXNhbmFsbGUgb3ZhdCB2aXJoZWVsbGlzZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbmltaSAvIE1ha3NpbWkgdGllZG90IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VsbGUgb3ZhdCB2aXJoZWVsbGlzZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ1ZpcmhlZWxsaW5lbiBlbWFpbCBvc29pdGUnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdUaWxpbGxlIGVpIGwmb3VtbDt5dHlueXQgZW1haWwgb3NvaXRldHRhJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdPbmdlbG1hIGFzZXRldHRhZXNzYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdPbmdlbG1hIGFzZXRldHRhZXNzYSBvbWluYWlzdXVrc2lhJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyBsaXMmYXVtbDt0dHkgJXM9JXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsgcG9pc3RldHR1IHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ09taW5haXN1dXMnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ0Fydm8gKHJlcXVsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdWYXJvaXR1czogTiZhdW1sO20mYXVtbDsga2VudCZhdW1sO3QgdmFpa3V0dGF2YXQgc3kmb3VtbDt0dCZvdW1sO2tlbnR0aWVuIGtva29vbi4gQXJ2b2plbiBwaWVuZW50JmF1bWw7bWluZW4gZWkgb2xlIHN1b3NpdGVsdGF2YWEgayZhdW1sO3l0dCZvdW1sO3NzJmF1bWw7IG9sZXZhbGxhIHNpdnVzdG9sbGEnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0hhbHVhdGtvIHZhcm1hc3RpIG11b2thdGEgbW9kdWxpbiBhc2V0dWtzaWEnOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VtYWlsIG9zb2l0ZSBvbiBqbyBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOyc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdLJmF1bWw7eXQmYXVtbDsga2Vrc2VqJmF1bWw7IGtpcmphdXR1bWlzdGlldG9qZW4gdGFsbGVubnVrc2Vlbic7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0tla3NpbiBuaW1pJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnU2FsbGkgdHVwbGEgZW1haWxpdCc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdZcml0JmF1bWw7IHBpdCZhdW1sOyZhdW1sOyBrJmF1bWw7eXR0JmF1bWw7amllbiBraXJqYXV0dW1pbmVuIGFrdGlpdmlzZW5hIGtla3NpbGwmYXVtbDsnOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnU2FsbGkgdXNlaWxsZSBrJmF1bWw7eXR0JmF1bWw7amlsbGUgc2FtYSBlbWFpbCBvc29pdGUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdTYWxsaSB1c2VhdCAmcXVvdDt1bm9oZGl0a28gc2FsYXNhbmFzaSZxdW90OyB2aWVzdGl0Pyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdTYWxsaSBrJmF1bWw7eXR0JmF1bWw7amllbiBweXl0JmF1bWw7JmF1bWw7IHNhbGFzYW5hIHV1ZGVzdGFhbiB2YWlra2EgZWRlbGxpc2VlbiBrdXRzdXVuIGVpIG9sZSB2aWVsJmF1bWw7IHJlYWdvaXR1JzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnSyZhdW1sO3l0JmF1bWw7IEZyb250LWVuZCBVc2VyIHNwZWNpZmljaSZhdW1sOyBvaWtldWtzaWEnOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbGx5LCBGRVVTZXJzIHBlcm1pc3Npb25zIGFyZSB0aGUgc2FtZSBhcyB0aGUgZXF1aXZhbGVudCBBZG1pbiBBcmVhIHBlcm1pc3Npb25zIGxpa2UgQWRkIFVzZXIsIEFkZCBHcm91cCwgZXRjLiBJZiB5b3Ugc2VsZWN0IHRoaXMgb3B0aW9uLCB0aGVyZSB3aWxsIGJlIHNlcGFyYXRlIHBlcm1pc3Npb25zIGZvciBGRVVzZXJzLiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ0VpIHZvaXR1IGF2YXRhIGxhZGF0dHVhIHRpZWRvc3RvYSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ0xhZGF0dXNzYSB0aWVkb3N0b3NzYSBvbiBoYXZhaXR0dSBvbmdlbG1hLCBvbGUgaHl2JmF1bWw7IGphIHlyaXQmYXVtbDsgdXVkZWxsZWVuJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0V0IHN5Jm91bWw7dHQmYXVtbDtueXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXN0YSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdFdCBzeSZvdW1sO3R0JmF1bWw7bnl0IHNhbGFzYW5hYSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnS2lyamF1ZHUgdWxvcyc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdLaXJqYXVkdSBzaXMmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj1cJnF1b3Q7cmVkXCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUJmF1bWw7bSZhdW1sOyB0b2ltaW50byBlaSB0b2ltaSB3aW5kb3dzIHltcCZhdW1sO3Jpc3Qmb3VtbDtzcyZhdW1sOyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnJkF1bWw7TCZBdW1sOyBsdW8gb21pbmFpc3V1dHRhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VsbGUgdGFpIHNhbGFzYW5hbGxlLCBuJmF1bWw7bSZhdW1sOyBrZW50JmF1bWw7dCBsdW9kYWFuIGFpbmEgYXV0b21hYXR0aXNlc3RpLic7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnVmllIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCBDU1YgdGllZG9zdG9vbic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdWaWUnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnVHVvJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdNdW9ra2FhIG9taW5haXN1dXR0YSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYWtzaW1pIHBpdHV1cyc7CiRsYW5nWydjcmVhdGVkJ10gPSAnTHVvdHUnOwokbGFuZ1snc29ydGJ5J10gPSAnSiZhdW1sO3JqZXN0JmF1bWw7JzsKJGxhbmdbJ3NvcnQnXSA9ICdKJmF1bWw7cmplc3R5cyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QgdmFsaXR1c3NhIHJ5aG0mYXVtbDtzcyZhdW1sOyc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdOJmF1bWw7eXQmYXVtbDsgcml2aSZhdW1sOzonOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUgZWkgbCZvdW1sO3lkZXR0eSBlbWFpbCBrZW50dCZhdW1sOyZhdW1sOy4gT3RhIHlodGV0dCZhdW1sOyB3ZWJtYXN0ZXJpaW4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdW5vaHR1bnV0IHNhbGFzYW5hIGxvbWFra2VlbGxlJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIG11dXRhIGFzZXR1a3NpYSBsb21ha2tlZWxsZSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBqb2thIG4mYXVtbDt5dGV0JmF1bWw7JmF1bWw7biBraXJqYXV0dW1pc2VuIGomYXVtbDtsa2Vlbic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgam9rYSBuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gdWxvcyBraXJqYXV0dW1pc2VuIGomYXVtbDtsa2Vlbic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdKJmF1bWw7cmplc3R5cyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdKb2l0YWluIGsmYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyBvbiB0JmF1bWw7bGwmYXVtbDsgaGV0a2VsbCZhdW1sOyByZXNldG9pbWFzc2Egc2FsYXNhbm9qYWFuLiBUJmF1bWw7bGwmYXVtbDsgaGV0a2VsbCZhdW1sOyBuJmF1bWw7aXQmYXVtbDsgayZhdW1sO3l0dCZhdW1sO2ppJmF1bWw7IG9uOiAnOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSB2aWlrb24gdmFuaGF0IG1lcmtpbm4mYXVtbDt0JzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1BvaXN0YSBrYWlra2kgeWxpIGt1dWthdWRlbiB2YW5oYXQgbWVya2lubiZhdW1sO3QnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUG9pc3RhIGthaWtraSBtZXJraW5uJmF1bWw7dCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnT2xldGtvIHZhcm1hPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ1ZpcmhlZWxsaW5lbiBrb29kaSwgb2xlIGh5diZhdW1sOyBqYSB5cml0JmF1bWw7IHV1ZGVsbGVlbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnViZhdW1sO2xpYWlrYWlzdGEga29vZGlhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VsbGUgZWkgbCZvdW1sO3l0eW55dCB0aWV0b2thbm5hc3RhJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnUG9oamEgdmFodmlzdHVzIGxvbWFra2VlbGxlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdQb2hqYSB1bm9odHVudXQgc2FsYXNhbmEgZW1haWxpbGxlJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdKb2tvIHNpbiZhdW1sOyB0YWkgam9rdSBtdXUgb24gaGFsdW5udXQgbm9sbGF0YSBzYWxhc2FuYW4gdCZhdW1sO2xsZSB0aWxpbGxlLiBUYXJraXN0YSBzJmF1bWw7aGsmb3VtbDtwb3N0aXNpLCBsJmF1bWw7eWQmYXVtbDt0IHNpZWx0JmF1bWw7IGphdGtvb2hqZWV0IHNhbGFzYW5hbiBub2xsYWFtaXNlZW4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ1RpZXRva2FudGEgdmlyaGUnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnU2FpdCB0JmF1bWw7bSZhdW1sO24gdmllc3RpbiBrb3NrYSBqb2t1IG9uIHZhbGlubnV0IHNpdnVzdG9sdGEgJnF1b3Q7dW5vaGRpdGtvIHNhbGFzYW5hbnNpJnF1b3Q7IHRvaW1pbm5vbi4gSm9zIHRlaXQgdCZhdW1sO20mYXVtbDtuIHRvaW1pbm5vbiBpdHNlIGwmb3VtbDt5ZCZhdW1sO3Qgb2hqZWV0IGFsdGEuIEpvcyBldCB0aWVkJmF1bWw7IG1pc3QmYXVtbDsgcHVodXRhYW4gdm9pdCB0dWhvdGEgdCZhdW1sO20mYXVtbDtuIHBvc3Rpbiwga2lpdG9rc2lhIGFqYXN0YXNpLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0tvb2RpJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1NldXJhYXZhIGtvb2RpIG9uIGx1b3R1IHNpbnVsbGUsIGsmYXVtbDt5dCZhdW1sOyBrb29kaWEgdmFodmlzdGFha3Nlc2kgZXR0JmF1bWw7IG9sZXQgdGlsaW4gayZhdW1sO3l0dCZhdW1sO2omYXVtbDsuIEt1biBrbGlra2FhdCBhbGxhIG9sZXZhYSBsaW5ra2kmYXVtbDsgc2ludW4gdGFydml0c2VlIHN5Jm91bWw7dHQmYXVtbDsmYXVtbDsgdCZhdW1sO20mYXVtbDsga29vZGkgbG9tYWtrZWVzZWVuLiBZbGVlbnMmYXVtbDsga2VudHQmYXVtbDsgb24gdmFsbWlpa3NpIHQmYXVtbDt5dGV0dHksIG11dHRhIGpvcyBqb3N0YWluIHN5eXN0JmF1bWw7IGVpIG9sZSBrb29kaXNpIG9uOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ1QmYXVtbDttJmF1bWw7IGxpbmtraSB2aWUgc2ludXQgc2l2dWxsZSBqb25uZSB2b2l0IHN5Jm91bWw7dHQmYXVtbDsmYXVtbDsgeWxsJmF1bWw7IG1haW5pdHVuIGtvb2RpbiBqYSBub2xsYXRhIHNhbGFzYW5hc2knOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0thZG9ubnV0IHNhbGFzYW5hJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnRWkgdm9pdHUgayZhdW1sO3l0dCZhdW1sOyZhdW1sOyBDTVNNYWlsZXIgbW9kdWxpYSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdTaW51bGxlIG9uIGwmYXVtbDtoZXRldHR5IGVtYWlsIG9zb2l0dGVzZWVuICVzIGpvc3NhIG9uIHRpZWRvdCBtaXRlbiB2b2l0IG5vbGxhdGEgc2FsYXNhbmFzaS4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdVbm9oZGl0IHNhbGFzYW5hc2k/IEtpcmpvaXRhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VzdGkgdCZhdW1sO2gmYXVtbDtuLCBqYSBqb3MgbCZvdW1sO3lkJmF1bWw7bW1lIHRpbGlsbGVzaSBlbWFpbCBvc29pdHRlZW4gbCZhdW1sO2hldCZhdW1sO21tZSBzaW5uZSB0aWVkb3Qgc2FsYXNhbmFuIG5vbGxhdWtzZXN0YSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1Vub2h0dW51dCBzYWxhc2FuYSBwb2hqYSc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdVbm9odHVudXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgcG9oamEnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnT21pbmFpc3V1dHRhICVzIGVpIGwmb3VtbDt5ZHknOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ09taW5haXN1dWtzaWEgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydhZGRwcm9wJ10gPSAnTGlzJmF1bWw7JmF1bWw7IG9taW5haXN1dXMnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1ZhYWRpdHR1IGtlbnR0JmF1bWw7ICglcykgb24gdHloaiZhdW1sOyc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ1N5Jm91bWw7dCZhdW1sOyB1dXNpIHNhbGFzYW5hJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnRXQgb2xlIGtpcmphdXR1bnV0JzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWtpc3RlciZvdW1sO2ludGknOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdUJmF1bWw7bSZhdW1sOyB0aWxsaSBvbiB2YW5oZW50dW51dCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnRW1haWwgb3NvaXR0ZWVuIG11b3RvIG9uIHYmYXVtbDsmYXVtbDtyJmF1bWw7JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnVmlyaGVlbGxpbmVuIHZhbmhlbnR1bWlzIHAmYXVtbDtpdiZhdW1sOyc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnVmlyaGUgYXNldGV0dGFlc3NhIG9taW5haXN1dXR0YSAlcyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ1ZpcmhlZWxsaW5lbiByeWhtJmF1bWw7ICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnUGlpbG90ZXR0dSBrZW50dCZhdW1sOyBtZXJraW50JmF1bWw7JzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdQaWlsb3RldHVuIGtlbnQmYXVtbDtuIHYmYXVtbDtyaSc7CiRsYW5nWydoaWRkZW4nXSA9ICdQaWlsb3RldHR1JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdTYW1hbGxhIG5pbWVsbCZhdW1sOyBvbiBqbyBvbWluYWlzdXVzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0VpIG9taW5haXN1dWtzaWEgbSZhdW1sOyZhdW1sO3JpdGVsdHknOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdUJmF1bWw7bGxlIHJ5aG0mYXVtbDtsbGUgZWkgb2xlIHZhbGl0dHVqYSBvbWluYWlzdXVrc2lhJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnRWkgbSZhdW1sOyZhdW1sO3JpdGVsdHlqJmF1bWw7IHJ5aG1pJmF1bWw7JzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnUnlobWkmYXVtbDsgbCZvdW1sO3l0eWknOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7biB0dWxlZSBrdXVsdWEgdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuIHlodGVlbiByeWhtJmF1bWw7JmF1bWw7bic7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnVmFhZGkgdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuIHlrc2kgcnlobSZhdW1sOyBwZXIgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsnOwokbGFuZ1snYmFjayddID0gJ1Rha2Fpc2luJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBvbiB2YWFkaXR0dSBrZW50dCZhdW1sOyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWVya2l0c2UgdmFhZGl0dXQga2VudCZhdW1sO3QgbWVya2lsbCZhdW1sOyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdLb3Jvc3RhIHZhYWRpdHR1amEga2VudHRpJmF1bWw7JzsKJGxhbmdbJ25leHQnXSA9ICdTZXVyYWF2YSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ1NhbWFsbGEgbmltZWxsJmF1bWw7IG9uIGpvIHJ5aG0mYXVtbDsnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdWYWFkaXR0dSBrZW50dCZhdW1sOyc7CiRsYW5nWydvcHRpb25hbCddID0gJ1ZhcGFhZWh0b2luZW4nOwokbGFuZ1snb2ZmJ10gPSAnT2ZmJzsKJGxhbmdbJ3NpemUnXSA9ICdLb2tvJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWFrc2ltaSBrdXZhbiBrb2tvIChsZXZleXMgamEga29ya2V1cykgcGlrc2VsZWlzcyZhdW1sOyApJzsKJGxhbmdbJ2xlbmd0aCddID0gJ1BpdHV1cyc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihNZXJra2VqJmF1bWw7IHRla3N0aSBrZW50JmF1bWw7c3MmYXVtbDspJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdBbGFzdmV0b3ZhbGlrb24gdmFsaW5uYXQsIGpva2FpbmVuIGFydm8gb21hbGxhIHJpdmlsbCZhdW1sOyZhdW1sO24uIEFydm8gdm9pZGFhbiBlcm90dGFhID0gbWVya2lsbCZhdW1sOywgZXNpbSBOYWluZW49Tg0KJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5eXBwaSc7CiRsYW5nWyd0eXBlJ10gPSAnVHl5cHBpJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnS2VudCZhdW1sO24gdGlsYSc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdBc2sgaW4gTG9zdDxici8+VXNlcm5hbWUnOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0aSc7CiRsYW5nWydjaGVja2JveCddID0gJ1ZhbGludGFsYWF0aWtrbyc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ01vbml2YWxpbnRhIGxpc3RhJzsKJGxhbmdbJ2ltYWdlJ10gPSAnS3V2YSc7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsIG9zb2l0ZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0aWFsdWUnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdBbGFzdmV0b3ZhbGlra28nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdUZXJ2ZXR1bG9hJzsKJGxhbmdbJ2xvZ291dCddID0gJ0tpcmphdWR1IHVsb3MnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ0smYXVtbDt5dCZhdW1sOyB0JmF1bWw7dCZhdW1sOyByeWhtJmF1bWw7IG5pbWUmYXVtbDsnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnQXNldHVrc2VuaSc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0tpcmphdXR1bWluZW4gZXAmYXVtbDtvbm5pc3R1aSAtIHRhcmtpc3RhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIGphIHNhbGFzYW5hJzsKJGxhbmdbJ2xvZ2luJ10gPSAnS2lyamF1ZHUnOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdLaXJqYXVkdSBzaXMmYXVtbDsmYXVtbDtuIG5hcGluIG90c2lra28nOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnU2FsYXNhbmEnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdNdWlzdGEgbWludXQgdCZhdW1sO2xsJmF1bWw7IHRpZXRva29uZWVsbGEnOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWtpc3RlciZvdW1sO2lkeSc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ1Vub2hkaXRrbyBzYWxhc2FuYXNpJzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ1Vub2hkaXRrbyBraXJqYXV0dW1pcyB0aWV0b3NpPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ09sZXR1a3NldCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1BvaGphJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7JmF1bWw7IGVpIGwmb3VtbDt5dHlueXQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1ZhbGl0c2VtYXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIG9uIGpvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdLJmF1bWw7eXQmYXVtbDsgU01UUDp0JmF1bWw7IGVtYWlsIG9zb2l0dGVpZGVuIHRhcmtpc3R1a3Nlc3NhJzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ1NhbGFzYW5hbiBtaW5pbWkgcGl0dXVzJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ1NhbGFzYW5hbiBtYWtzaW1pIHBpdHV1cyc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51a3NlbiBtaW5pbWkgcGl0dXVzJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VuIG1ha3NpbWkgcGl0dXVzJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gYWlrYWthdGthaXN1IChzZWt1bnR0ZWphKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnSyZhdW1sO3l0JmF1bWw7IGtla3NlaiZhdW1sOyBwaXQmYXVtbDsmYXVtbDtrc2VzaSBraXJqYXV0dW1pc2VuIHlsbCZhdW1sOyc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ1NhbGxpIGVtYWlsIHJla2lzdGVyJm91bWw7aW50aSc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnT2xldHVzIHJ5aG0mYXVtbDsgdXVzaWxsZSBrJmF1bWw7eXR0JmF1bWw7amlsbGUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdWYWloZGEgYXNldHVrc2lhIHBvaGphJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdTYWxhc2FuYXQgZWl2JmF1bWw7dCBvbGUgeWh0ZW5ldiZhdW1sO3QnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgZWkga2VscGFhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1NhbGFzYW5hIGVpIGtlbHBhYSc7CiRsYW5nWydlZGl0dXNlciddID0gJ011b2trYWEgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsnOwokbGFuZ1sndmFsaWQnXSA9ICdLZWxwYWEnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyc7CiRsYW5nWydzdGF0dXMnXSA9ICdUaWxhJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1QmYXVtbDttJmF1bWw7IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGVpIGt1dWx1IG1paGluayZhdW1sOyZhdW1sO24gcnlobSZhdW1sOyZhdW1sO24nOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ0VpIG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdZcml0JmF1bWw7IHR1b2RhIHR1cGxhIG9taW5haXN1dWRldCc7CiRsYW5nWyd2YWx1ZSddID0gJ0Fydm8nOwokbGFuZ1snZ3JvdXBzJ10gPSAnUnlobSZhdW1sO3QnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ09taW5haXN1dWRldCc7CiRsYW5nWydwcm9wbmFtZSddID0gJ09taW5haXN1dWRlbiBuaW1pJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ09taW5haXN1dWRlbiBhcnZvJzsKJGxhbmdbJ2FkZCddID0gJ0xpcyZhdW1sOyZhdW1sOyc7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWEnOwokbGFuZ1snZWRpdCddID0gJ011b2trYWEnOwokbGFuZ1snZXhwaXJlcyddID0gJ1ZhbmhlbmVlJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ00mYXVtbDsmYXVtbDtyaXR0ZWxlIHAmYXVtbDtpdiZhdW1sOyc7CiRsYW5nWycxMmhycyddID0gJzEyIHR1bnRpYSc7CiRsYW5nWycyNGhycyddID0gJzI0IHR1bnRpYSc7CiRsYW5nWyc0OGhycyddID0gJzQ4IHR1bnRpYSc7CiRsYW5nWycxd2VlayddID0gJzEgdmlpa2tvJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdmlpa2tvYSc7CiRsYW5nWycxbW9udGgnXSA9ICcxIGt1dWthdXNpJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIGt1dWthdXR0YSc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBrdXVrYXV0dGEnOwokbGFuZ1snMXllYXInXSA9ICcxIHZ1b3NpJzsKJGxhbmdbJ25ldmVyJ10gPSAnRWkga29za2Fhbic7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1bGUgaW5zdGFsbGVkIHN1Y2Vzc2Z1bGx5Ljxici8+QmUgc3VyZSB0byBzZXQgdGhlIFwmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLlwmcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdTYWxhc2FuYSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1V1ZGVzdGFhbic7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnTmltZWxsJmF1bWw7IG9uIGpvIHJ5aG0mYXVtbDsnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnTXVva2thYSByeWhtJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0wmYXVtbDtoZXQmYXVtbDsnOwokbGFuZ1snY2FuY2VsJ10gPSAnUGVydXV0YSc7CiRsYW5nWydkZWxldGUnXSA9ICdQb2lzdGEnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBpcyB0aGUgcHJvcGVyIHNldHRpbmdzIGZvciB0aGlzIGdyb3VwP1xuVHVybmluZyBhIHByb3BlcnR5IG9mZiB3aWxsIG5vdCBkZWxldGUgYW55IGVudHJpZXMgaW4gdGhlIHByb3BlcnRpZXMgdGFibGUgZm9yIHRoaXMgZ3JvdXAvdXNlci4gIFRoZXkgd2lsbCBtZXJlbHkgYmUgdW5hdmFpbGFibGUuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdIYWx1YXRrbyB2YXJtYXN0aSBwb2lzdGFhIHQmYXVtbDttJmF1bWw7biByeWhtJmF1bWw7JmF1bWw7bic7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbXBsZXRlbHkgZGVsZXRlIHRoaXMgcHJvcGVydHk/XG5Eb2luZyBzbyB3aWxsIGFsc28gZXJhc2UgYW55IHVzZXIgZW50cmllcyBmb3IgdGhpcyBwcm9wZXJ0eS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUmlpdHQmYXVtbDttJmF1bWw7dHQmb3VtbDttJmF1bWw7dCBwYXJhbWV0cml0JzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05pbWknOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdPbmdlbG1hIG9taW5haXN1dWRlbiBsaXMmYXVtbDt5a3Nlc3MmYXVtbDsnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwIHJlbGF0aW9uJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ09uZ2VsbWEgcnlobSZhdW1sO24gbGlzJmF1bWw7JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnT25nZWxtYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gbGlzJmF1bWw7JmF1bWw7bWlzZXNzJmF1bWw7IHJ5aG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdPbmdlbG1hIG9taW5haXN1dWRlbiBwb2lzdGFtaXNlc3NhJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnRW1haWwgb3NvaXRldHRhIGVpIGwmb3VtbDt5ZGV0dHknOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ0tvaGRlIGthbnNpb29uIGVpIG9sZSBraXJqb2l0dXNvaWtldXR0YSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVmlyaGVlbGxpc2V0IHBhcmFtZXRyaXQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdSeWhtaSZhdW1sOyBlaSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXNldGEnOwokbGFuZ1snZmlsdGVyJ10gPSAnU3VvZGF0YSc7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLdXZhdXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnUnlobSZhdW1sO24gbmltaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQJmF1bWw7JmF1bWw7c3kga2llbGxldHR5JzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlyaGUnOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdMaXMmYXVtbDsmYXVtbDsgcnlobSZhdW1sOyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ1R1byByeWhtJmF1bWw7JzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdMaXMmYXVtbDsmYXVtbDsgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIGNyaXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnUnlobSZhdW1sOyc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1ZhbGl0dHUgcnlobSZhdW1sOyc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdSZWtpc3RlciZvdW1sO2ludGkgcG9oamEnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnS2lyamF1ZHUgdWxvcyBwb2hqYSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0tpcmphdXR1bWlzIHBvaGphJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnQXNldHVrc2V0JzsKJGxhbmdbJ3VzZXJzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdlbWVudCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1NhbGxpaSBrJmF1bWw7eXR0JmF1bWw7amllbiBraXJqYXV0dWEgc2l2dXN0b2xsZXNpJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdPbGV0dXMgZXR1c2l2dSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnVmlpbWVrc2kgayZhdW1sO3l0eSBzaXZ1JzsKJGxhbmdbJ290aGVycGFnZSddID0gJ1RvaW5lbiBzaXZ1OiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1N5Jm91bWw7dCZhdW1sOyBrdXZhc3NhIG4mYXVtbDtreXYmYXVtbDsgdGVrc3RpJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4wLjAuMSAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4NCjxsaT4wLjEuMSAtIE9jdG9iZXIsIDIwMDUgLSBGaXhlZCBpc3N1ZXMgd2l0aCBwcm9wZXJ0aWVzPC9saT4NCjxsaT4wLjEuMiAtIE9jdG9iZXIsIDIwMDUgLSBBZGRlZCBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNQ0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNQ0KICAgIDxwPkFub3RoZXIgdmVyeSBtaW5vciBjaGFuZ2UsIGFkZGVkIHNvbWUgdGV4dCB0byB0aGUgUG9zdEluc3RhbGwgbWVzc2FnZS48L3A+PC9saT4NCjxsaT4wLjEuNiAtIEphbnVhcnksIDIwMDYNCiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+DQo8bGk+MC4xLjcgLSBKYW51YXJ5LCAyMDA2DQogICAgPHA+TWFueSB0aGFua3MgdG8gPGI+a2F0b248L2I+IGZvciBhZGRpbmcgdGhlIHRleHRhcmVhIGFuZCBkcm9wZG93biBwcm9wZXJ0eSB0eXBlcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjAgLSBGZWJydWFyeSwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+DQogICAgPHA+QWRkZWQgc29ydGluZyB0byB0aGUgYWRtaW4gcGFuZWw8L3A+DQogICAgPHA+QWRkZWQgbWF4IGxlbmd0aCBhYmlsaXR5IHRvIHRleHQgYW5kIGVtYWlsIGZpZWxkczwvcD4NCiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+DQogICAgPHA+U2F2ZSBmaWx0ZXIgc2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMsIGFuZCB0aGUgYWN0aXZlIHRhYiB0b28uPC9wPg0KICAgIDxwPkRlbGV0ZSB1c2VyIHByb3BlcnRpZXMgd2hlbiBhIHByb3BlcnR5IGlzIGRlbGV0ZWQgPGVtPk5vdGU8L2VtPiwgbm90IHdoZW4gaXQgaXMgZGlzYWJsZWQgaW4gdGhlIGVkaXQgZ3JvdXAgZGlhbG9nPC9wPg0KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+DQogICAgPHA+QWRkZWQgYSBjb3VwbGUgbW9yZSBjb25maXJtYXRpb24gbWVzc2FnZXMuPC9wPg0KICAgIDxwPkFkZGVkIENTViBFeHBvcnQgb3B0aW9uPC9wPg0KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4NCjwvbGk+DQo8bGk+MS4wLjEgLSBNYXJjaCwgMjAwNg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPg0KICAgIDxwPkZpeCBwcm9ibGVtIHdoZXJlIGV4cGlyeSBkYXRlIHdhcyBiZWluZyBtb2RpZmllZCB3aGVuIGFkbWluIG1vZGlmaWVkIHVzZXIgc2V0dGluZ3M8L3A+DQogICAgPHA+QWRkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHByZWZlcmVuY2VzIHN1Ym1pdCBidXR0b248L3A+DQogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgc2l6ZSBvZiB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzLCBhbmQgbWF4bGVuZ3RoPC9wPg0KICAgIDxwPkFkZGVkIGFkdmFuY2VkIGZpbHRlcmluZyBvbiBwcm9wZXJ0aWVzPC9wPg0KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4NCiAgICA8cD5GaXhlcyB0byBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uIGlubGluZSBmb3JtcywgdGhlIHBhc3N3b3JkIGlzIG5ldmVyIHNlbnQgb24gdGhlIGdldCBsaW5lPC9wPg0KICAgIDxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT4xLjAuMiAtIE1hcmNoLCAyMDA2DQogICAgPHA+TW9yZSBmaWVsZCBsZW5ndGggZml4ZXM8L3A+DQo8L2xpPg0KPGxpPjEuMC4zIC0gTWFyY2gsIDIwMDYNCiAgICA8cD5FeHBvcnQgdG8gc21hcnR5IGFsbCBvZiB0aGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gdGhleSBhcmUgbG9nZ2VkIGluPC9wPg0KPC9saT4NCjxsaT4xLjAuNCAtIE1heSwgMjAwNg0KICAgIDxwPkZpeGVzIHRvIHRoZSBleHBvcnQgY29kZTwvcD4NCiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+DQogICAgPHA+TWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyAocmVjb21tZW5kZWQgYnkgbmlsczczKSBmb3IgZGVhbGluZyB3aXRoIHRoZSBjaGFuZ2UgcGFzc3dvcmQgc3R1ZmYuPC9wPg0KICAgIDxwPlJlbW92ZWQgdGhlIHJlcXVpcmVtZW50IGZvciBDTVMgMC4xMiwgYW5kIHB1dCBpdCBiYWNrIHRvIDAuMTEuMjwvcD4NCiAgICA8cD5BZGRlZCB0aGUgXCYjMDM5O3NpbGVudFwmIzAzOTsgZm9ybTwvcD4NCiAgICA8cD5DbGVhbmVkIHVwIGRhdGFiYXNlIGFjY2VzcyBzdHVmZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyAoaG9wZWZ1bGx5KTwvcD4NCiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4NCiAgICA8cD5BZGRlZCBtYWNyb3MgZm9yIHJlZGlyZWN0byB0byBhIHVzZXIgc3BlY2lmaWMgcGFnZSBvbiBsb2dpbiBvciBsb2dvdXQ8L3A+DQogICAgPHA+VHdlYWtzIHRvIHRoZSBhZG1pbiBwcmVmZXJlbmNlcyB0YWI8L3A+DQo8L2xpPg0KPGxpPjEuMC41IC0gTWF5LCAyMDA2DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZXhwaXJ5IGRhdGVzPC9wPg0KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+DQo8bGk+MS4wLjYgLSBNYXksIDIwMDYNCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+MS4xLjAgLSBNYXksIDIwMDYNCiAgICA8cD5FdmVudHM8L3A+DQogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+DQogICAgPHA+RXhwb3J0IHRoZSB1c2VyIGlkIHRvIHNtYXJ0eTwvcD4NCiAgICA8cD5BZGRlZCBvcHRpb25hbGx5IFx7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT4xLjEuMSAtIFNlcHQsIDIwMDYNCiAgICA8cD5GaXhlZCBhIGJ1ZyB3aGVuIGEgdXNlciB3YXMgZWRpdGluZyBoaXMgc2V0dGluZ3Mgd2l0aCBcJiMwMzk7YWxsb3cgZHVwbGljYXRlIGVtYWlsc1wmIzAzOTsgd2FzIG9mZjwvcD4NCiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4NCiAgICA8cD5NaW5vciBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+MS4xLjIgLSBEZWMsIDIwMDYNCiAgICA8cD5GaXhlcyAoaG9wZWZ1bHkpIHRvIHRoZSBhZG9kYi9hZG9kYi1saXRlIERBVEVUSU1FIGlzc3VlPC9wPg0KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4NCiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPg0KICAgIDxwPkZpeGVzIHRvIHVzZXIgZXhwaXJ5IChtb3JlIERCVGltZXN0YW1wIGlzc3VlcyksIHRoYW5rcyBhZ2FpbiBkaXR0bWFuPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5HZW5lcmFsIGNsZWFudXAgb2YgZnVuY3Rpb25zIHRoYXQgd2VyZSBub3QgYmVpbmcgdXNlZCBhbmQgbm90aWNlcy93YXJuaW5nczwvcD4NCiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZW1haWwgdmFsaWRhdGlvbiBzdHVmZjwvcD4NCjwvbGk+DQogICAgPGxpPjEuMi4wIC0gQXByaWwsIDIwMDcNCiAgICA8cD5lbGlqYWhsb2ZncmVuIC0gRml4ZXMgdG8gY2FwdGNoYSBzdXBwb3J0LCBhbmQgc29tZSB0ZW1wbGF0ZSBjbGVhbnVwcy48L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIG11bHRpIHNlbGVjdCBsaXN0czwvcD4NCiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIHZhbHVlPWtleSBzdHVmZiBpbiB0aGUgZHJvcGRvd24gYW5kIG11bHRpIHNlbGVjdCBsaXN0cy48L3A+DQogICAgPHA+YmV0dGVyIGNoZWNraW5nIG9mIHRoZSAmcXVvdDthdCBsZWFzdCBvbmUgZ3JvdXAgcmVxdWlyZWQmcXVvdDsgc3R1ZmY8L3A+DQogICAgPHA+T3V0cHV0IG1vcmUgc21hcnR5IHZhcmlhYmxlcyBvbiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCB0byBhbGxvdyBwZW9wbGUgdG8gbW9kaWZ5IHRoZSB0ZW1wbGF0ZSB0byBzb21ldGhpbmcgdGhhdCBpcyBtb3JlIGFjY2Vzc2liaWxlPC9wPg0KICAgIDxwPlNwbGl0IGludG8gbW9yZSBmaWxlcyBmb3IgcGVyZm9ybWFuY2U8L3A+DQogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPg0KICAgIDxwPk5vdyBoYW5kbGUgcmVnZXggcHJvYmxlbXMgYmV0dGVyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHVzZXJzIHRhYjwvcD4NCiAgICA8cD5FbWFpbCBmaWVsZHMsIHdoZW4gc3BlY2lmaWVkIGFzIG9wdGlvbmFsLCBtYWtlIGVtIGFjdHVhbGx5IG9wdGlvbmFsPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4NCiAgICA8cD5DYXB0Y2hhIG1vZGUgaXMgbm93IG9uIGJ5IGRlZmF1bHQsIHVubGVzcyB5b3UgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIHRoZSB0YWcuPC9wPg0KICAgIDxwPkZpeGVzIHRvIENTViBleHBvcnQuLi4gaXQgd2FzIGFzc3VtaW5nIHRoZSBkYl9wcmVmaXggaXMgY21zXzwvcD4NCiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGluc3RhbGwgYW5kIHVuaW5zdGFsbCBtZXRob2RzLCBhbmQgbm93IHRoZSBhbGxvd19yZXBlYXRlZF9sb2dpbnMgcHJlZmVyZW5jZSBzaG91bGQgd29yazwvcD4NCiAgICA8cD5BZGRzIHByb3BlciB1c2VyIGhpc3RvcnkgdHJhY2tpbmcuICBOb3cgdHJhY2sgZmFpbGVkIGxvZ2lucywgbG9naW5zLCBleHBpcmllcywgYW5kIGxvZ291dHMsIG9uIGEgcGVyIHVzZXIgYmFzaXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIGZvcmdvdCBwYXNzd29yZCBwYWdlLCBpZiB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+TWlub3IgZml4ZXMgdG8gYmVoYXZpb3VyIG9hZiB0aGUgcHJlZmVyZW5jZXMgcGFuZWxzLjwvcD4NCjwvbGk+DQo8bGk+MS4yLjEgLSBKdW5lLCAyMDA3DQoJPHA+QSBjb29raWUgaXMgbm93IHVzZWQgdG8ga2VlcCB0cmFjayBvZiBsb2dpbiBzdGF0ZSBiZXR3ZWVuIHNlc3Npb25zLCBob3dldmVyIHRoZSBjb29raWUgZG9lcyBub3QgbGFzdCBhbnkgbG9uZ2VyIHRoYW4gdGhlIHRpbWVvdXQgc3BlY2lmaWVkIGluIHRoZSB1c2VyIHNldHRpbmdzLjwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGJ5IGxvZ2dlZCBpbiBzdGF0dXM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHJlYWQtb25seSBwcm9wZXJ0aWVzLjwvcD4NCgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4NCjwvbGk+DQo8bGk+DQoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPnRzdyAtIEFkZGVkIGV2ZW50IE9uVXBkYXRlVXNlciB3aGljaCBnZXRzIGNhbGxlZCB3aGVuIHVzZXIgKG9yIGFkbWluKSB1cGRhdGVzIHVzZXIgaW5mbzwvcD4NCiAgICAgICAgDQo8L2xpPg0KPGxpPjEuMyAtIE9jdG9iZXIsIDIwMDcNCjxwPkFkZGVkIHN1cHBvcnQgZm9yICYjMDM5O3JlbWVtYmVyIG1lJiMwMzk7IHNvIHRoYXQgbG9naW4gaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGEgY29va2llLiAgQW5kIHN1cHBvcnQgZm9yIGEgZm9ybSB0byBhbGxvdyB0aGF0IGNvb2tpZSB0byBiZSByZXNldC48L3A+DQo8cD5ObyBsb25nZXIgc3VwcG9ydCBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgaW4gcHJvcGVydHkgbmFtZXMuPC9wPg0KPHA+TnVtZXJvdXMgc21hbGwgYnVnZml4ZXMuPC9wPg0KPHA+UmVxdWlyZSBDTVMgMS4yIG9yIGdyZWF0ZXIuPC9wPg0KPC9saT4NCjxsaT4xLjMuMSAtIE5vdmVtYmVyLCAyMDA3DQo8cD5GaXhlcyBwcm9ibGVtcyB3aXRoIHBhcmFtZXRlcnMgbm90IGJlaW5nIGNsZWFuZWQgaW4gdGhlIGNoYW5nZSBzZXR0aW5ncyBkaWFsb2cgb24gdGhlIGZyb250IGVuZC48L3A+DQo8cD5GaXhlcyBhbiB1cGRyYWRlIGlzc3VlIGluIHRoZSBkYXRhYmFzZSBzY2hlbWE8L3A+DQo8cD5GaXhlcyBhbiBpc3N1ZSBpbiBhIEdldFNtYXJ0eSgpIGNhbGwgdGhhdCB3YXMgYXBwYXJlbnRseSBjYXVzaW5nIHBlb3BsZSBkaWZmaWN1bHRpZXMgd2l0aCB0aGUgbG9naW4gZm9ybS48L3A+DQo8cD5BZGQgYSBwcmVmZXJlbmNlIHRoYXQgYWxsb3dzIGFkbWlucyB0byBzcGVjaWZ5IGEgcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciB0aGUgZm9yZ290IHBhc3N3b3JkIHZhbGlkYXRpb24gZm9ybSBpcyBjb21wbGV0ZS48L3A+DQo8cD5GaXhlcyBhIHByb2JsZW0gd2l0aCBoaWRkZW4gcHJvcGVydGllcyBiZWluZyBsb3N0IGFmdGVyIGEgdXNlciBjaGFuZ2VkIHRoZWlyIHNldHRpbmdzLjwvcD4NCjxwPlRoZSBGb3Jnb3QgUGFzc3dvcmQgYW5kIExvc3QgVXNlcm5hbWUgZm9ybXMgYXJlIG5vdyBpbmxpbmU8L3A+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZhbXA7cXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJmFtcDtxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+JmFtcDtsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0VmZmFjZXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdDaGVtaW4gZGUgZGVzdGluYXRpb24gZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnVW4gcHJvYmwmZWdyYXZlO21lIGVzdCBhcHBhcnUgYXZlYyB1biB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50IG1hbnF1YW50IChtYWlzIHJlcXVpcyknOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0ltcG9zc2libGUgZGUgc3VwcHJpbWVyIHVuIGdyb3VwZSBxdWkgY29udGllbnQgZW5jb3JlIGRlcyB1dGlsaXNhdGV1cnMnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0NldCB1dGlsaXNhdGV1ciBlc3QgZCZlYWN1dGU7aiZhZ3JhdmU7IGNvbm5lY3QmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdMZSB0ZXh0ZSBkZSBjZXR0ZSBpbWFnZSBuJiMwMzk7YSBwYXMgJmVhY3V0ZTt0JmVhY3V0ZTsgZW50ciZlYWN1dGU7IGNvcnJlY3RlbWVudCc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnQXV0b3Jpc2VyIGxlcyB1dGlsaXNhdGV1cnMgJmFncmF2ZTsgJmVjaXJjO3RyZSBjb25uZWN0JmVhY3V0ZTtzIHBsdXMgZCYjMDM5O3VuZSBmb2lzJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdFeHRlbnNpb25zIGRlcyBmaWNoaWVycyBkJiMwMzk7aW1hZ2VzIHF1ZSBsZXMgdXRpbGlzYXRldXJzIHNvbnQgYXV0b3JpcyZlYWN1dGU7cyAmYWdyYXZlOyB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VyJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPlVuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgZXN0IHN1cHByaW0mZWFjdXRlOzwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBsZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkZSBsJiMwMzk7dXRpbGlzYXRldXI8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+VW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7PC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gbGUgbm9tIGRlIGwmIzAzOTt1dGlsaXNhdGV1cjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBsJiMwMzk7aWQgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+VW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biBncm91cGUgZXN0IGNyJmVhY3V0ZTsmZWFjdXRlOzwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIGxlIG5vbSBkdSBncm91cGU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gbGEgZGVzY3JpcHRpb24gZHUgZ3JvdXBlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkdSBncm91cGU8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIGdyb3VwZSBlc3Qgc3VwcHJpbSZlYWN1dGU7PC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gbGUgbm9tIGR1IGdyb3VwZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBsJiMwMzk7aWQgZHUgZ3JvdXBlPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+VW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBzZSBjb25uZWN0ZTwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBsZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyIGNvbm5lY3QmZWFjdXRlOzwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBsJiMwMzk7YWRyZXNzZSBpcCBkdSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPGgzPk9uTG9nb3V0PGgzPg0KPHA+VW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBzZSBkJmVhY3V0ZTtjb25uZWN0ZTwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBsZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyIGQmZWFjdXRlO2Nvbm5lY3QmZWFjdXRlOzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBsJiMwMzk7aWQgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8aDM+T25FeHBpcmVVc2VyPGgzPg0KPHA+VW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1bmUgc2Vzc2lvbiBleHBpcmU8L3A+DQo8aDQ+UGFyYW0mZWdyYXZlO3RyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gbGUgbm9tIGRlIGwmIzAzOTt1dGlsaXNhdGV1ciBkb250IGxhIHNlc3Npb24gYSBleHBpciZlYWN1dGU7PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkZSBsJiMwMzk7dXRpbGlzYXRldXIgZG9udCBsYSBzZXNzaW9uIGEgZXhwaXImZWFjdXRlOzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgc2UgY29ubmVjdGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgc2UgZCZlYWN1dGU7Y29ubmVjdGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdVbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuZSBzZXNzaW9uIGV4cGlyZSc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgZXN0IGNyJmVhY3V0ZTsmZWFjdXRlOyc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgZXN0IHN1cHByaW0mZWFjdXRlOyc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdVbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIGdyb3VwZSBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gZ3JvdXBlIGVzdCBzdXBwcmltJmVhY3V0ZTsnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0dyb3VwZSc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIExlcyBtYWNyb3Mgc3VpdmFudGVzIHBldXZlbnQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlO2VzIGRhbnMgY2VzIGNoYW1wcyZuYnNwOzogeyR1c2VybmFtZX0sLHskZ3JvdXB9LiBMb3JzIGRlIGwmIzAzOTt1dGlsaXNhdGlvbiBkZSBsYSBtYWNybyB7JGdyb3VwfSwgbGUgc3lzdCZlZ3JhdmU7bWUgcmVtcGxhY2UgbGUgbm9tIGR1IHByZW1pZXIgZ3JvdXBlIGF1cXVlbCBsJiMwMzk7dXRpbGlzYXRldXIgYXBwYXJ0aWVudCwgZXQgdmEgbGUgcmVkaXJpZ2VyIHN1ciBjZXR0ZSBwYWdlLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnJkVhY3V0ZTtkaXRlciBjZSBjaGFtcCBwb3VyIHImZWFjdXRlO2luaXRpYWxpc2VyIGxlIG1vdCBkZSBwYXNzZSB1dGlsaXNhdGV1cic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnJkVhY3V0ZTtkaXRlciBjZSBjaGFtcCBwb3VyIHImZWFjdXRlO2luaXRpYWxpc2VyIGxlIG1vdCBkZSBwYXNzZSB1dGlsaXNhdGV1cic7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdVbiB1dGlsaXNhdGV1ciBhdmVjIGNlIG5vbSBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7Lic7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdBdWN1biByJmVhY3V0ZTtzdWx0YXQgcmV0b3VybiZlYWN1dGU7IGRlIGwmIzAzOTtleHBvcnQgY3N2JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xvbmd1ZXVyIGR1IGNoYW1wIG5vbSBkJiMwMzk7dXRpbGlzYXRldXInOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTG9uZ3VldXIgZHUgY2hhbXAgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdMb25ndWV1ciBtaW5pbWFsZS9tYXhpbWFsZSBpbnZhbGlkZSBwb3VyIGxlIG1vdCBkZSBwYXNzZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTG9uZ3VldXIgbWluaW1hbGUvbWF4aW1hbGUgaW52YWxpZGUgcG91ciBsZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdBZHJlc3NlIGVtYWlsIGludmFsaWRlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnSWwgbiYjMDM5O3kgYSBwYXMgZCYjMDM5O2FkcmVzc2UgZW1haWwgZW5yZWdpc3RyJmVhY3V0ZTtlIHBvdXIgY2UgY29tcHRlLic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmwmZWdyYXZlO21lIGxvcnMgZGUgbCYjMDM5OyZlYWN1dGU7ZGl0aW9uIGRlcyBpbmZvcyB1dGlsaXNhdGV1cic7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdQcm9ibCZlZ3JhdmU7bWUgbG9ycyBkZSBsJiMwMzk7JmVhY3V0ZTtkaXRpb24gZGUgbGEgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ1V0aWxpc2F0ZXVyIGFqb3V0JmVhY3V0ZTsgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdVdGlsaXNhdGV1ciBzdXBwcmltJmVhY3V0ZTsgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnUHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1ZhbGV1ciAoZXhwcmVzc2lvbiByJmVhY3V0ZTtndWxpJmVncmF2ZTtyZSknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdBdHRlbnRpb246IENlcyBjaGFtcHMgYWZmZWN0ZW50IGxhIHRhaWxsZSBkZSBjaGFtcHMgZCYjMDM5O2VudHImZWFjdXRlO2UgZGFucyBsZXMgZm9ybXVsYWlyZXMuICBEZXNjZW5kcmUgY2V0dGUgdmFsZXVyIHN1ciB1biBzaXRlIGV4aXN0YW50IG4mIzAzOTtlc3QgcGFzIHJlY29tbWFuZCZlYWN1dGU7JzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdNb2RpZmllciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBhZG1pbmlzdHJhdGV1ciZuYnNwOz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0NldHRlIGFkcmVzc2UgZW1haWwgZXN0IGQmZWFjdXRlO2omYWdyYXZlOyB1dGlsaXMmZWFjdXRlO2UnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBdXRvcmlzZXIgbGVzIGRvdWJsb25zIGQmIzAzOTtlbWFpbCc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoYXV0b3Jpc2VyIGRlIG11bHRpcGxlcyB1dGlsaXNhdGV1cnMgYXZlYyBsYSBtJmVjaXJjO21lIGFkcmVzc2UgZW1haWwpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnQXV0b3Jpc2VyIGRlcyBkZW1hbmRlcyBtdWx0aXBsZXMgZGUgbW90IGRlIHBhc3NlIG91YmxpJmVhY3V0ZTsnOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKGF1dG9yaXNlciBsZXMgdXRpbGlzYXRldXJzICZhZ3JhdmU7IHJlZGVtYW5kZXIgdW5lIHImZWFjdXRlO2luaXRpYWxpc2F0aW9uIGRlIG1vdCBkZSBwYXNzZSwgbWFsZ3ImZWFjdXRlOyBxdSYjMDM5O2lscyBuJiMwMzk7YWllbnQgcGFzIHV0aWxpcyZlYWN1dGU7IHVuZSBwciZlYWN1dGU7YyZlYWN1dGU7ZGVudGUgZGVtYW5kZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVdGlsaXNlciBsZXMgcGVybWlzc2lvbnMgc3AmZWFjdXRlO2NpZmlxdWUgZGUgRnJvbnQtRW5kIFVzZXI/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxlbWVudCwgbGVzIHBlcm1pc3Npb25zIGRlIEZFVVNlcnMgc29udCBpZGVudGlxdWVzIGF1eCBwZXJtaXNzaW9ucyBkdSBwYW5uZWF1IGQmIzAzOTthZG1pbmlzdHJhdGlvbiB0ZWwgcXVlIEFqb3V0ZXIgdW4gdXRpbGlzYXRldXIsIEFqb3V0ZXIgdW5lIGdyb3VwZSwgZXRjLiBTaSB2b3VzIHMmZWFjdXRlO2xlY3Rpb25uZXogY2V0dGUgb3B0aW9uLCBpbCB5IGF1cmEgZGVzIHBlcm1pc3Npb25zIGRpZmYmZWFjdXRlO3JlbnRlcyBwb3VyIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIGZpY2hpZXIgdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmcmZWFjdXRlOyAoZXJyZXVyIGludGVybmUpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcGFzIGVudHImZWFjdXRlOyBkZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcGFzIGVudHImZWFjdXRlOyBkZSBtb3QgZGUgcGFzc2UnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0QmZWFjdXRlO2Nvbm5leGlvbiB1dGlsaXNhdGV1cic7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdDb25uZXhpb24gdXRpbGlzYXRldXInOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5BVFRFTlRJT048L2I+IGVuIGNoYW5nZWFudCB1bmUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgcXVpIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlICZhZ3JhdmU7IGRlcyBncm91cGVzLCB2b3VzIHBvdXZleiBwb3RlbnRpZWxsZW1lbnQgZCZlYWN1dGU7dHJ1aXJlIG91IGFiJmljaXJjO21lciB1biBzaXRlIGV4aXN0YW50IDxpPihlbiBwYXJ0aWN1bGllciBzaSB2b3VzIHImZWFjdXRlO2R1aXNleiBsZXMgbG9uZ3VldXJzIGRlIGNoYW1wcywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnQ2V0dGUgZm9uY3Rpb24gbmUgbWFyY2hlIHBhcyBzb3VzIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ05lIGNyJmVhY3V0ZTtleiBwYXMgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgcG91ciB1dGlsaXNhdGV1ciwgY2FyIGNlY2kgZXN0IGluY2x1cyBkYW5zIGxlIG1vZHVsZSBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFeHBvcnRlciBsYSBsaXN0ZSBkZXMgdXRpbGlzYXRldXIgZGFucyB1biBmaWNoaWVyIGF1IGZvcm1hdCBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0ZXInOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbic7CiRsYW5nWydlZGl0cHJvcCddID0gJyZFYWN1dGU7ZGl0ZXIgbGEgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTG9uZ3VldXIgbWF4aW1hbGUnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyc7CiRsYW5nWydzb3J0YnknXSA9ICdUcmllciBwYXInOwokbGFuZ1snc29ydCddID0gJ1RyaSc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdVdGlsaXNhdGV1cnMgZGFucyBsZSBncm91cGUnOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnTGltaXRlciBsZXMgciZlYWN1dGU7c3VsdGF0cyAmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdBdWN1biBlbWFpbCB0cm91diZlYWN1dGU7IHBvdXIgY2V0IHV0aWxpc2F0ZXVyLiBWb3VzIGRldmV6ICZlYWN1dGU7dmVudHVlbGxlbWVudCBjb250YWN0ZXIgbCYjMDM5O2FkbWluaXN0cmF0ZXVyLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBkdSBmb3JtdWxhaXJlIG1vdCBkZSBwYXNzZSBvdWJsaSZlYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGR1IGZvcm11bGFpcmUgZGUgY2hhbmdlbWVudCBkZSBwYXJhbSZlZ3JhdmU7dHJlcyc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBvJnVncmF2ZTsgcmVkaXJpZ2VyIGwmIzAzOTt1dGlsaXNhdGV1ciBhcHImZWdyYXZlO3MgcXUmIzAzOTtpbCBzZSBzb2l0IGNvbm5lY3QmZWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgbyZ1Z3JhdmU7IHJlZGlyaWdlciBsJiMwMzk7dXRpbGlzYXRldXIgYXByJmVncmF2ZTtzIHF1JiMwMzk7aWwgc2Ugc29pdCBkJmVhY3V0ZTtjb25uZWN0JmVhY3V0ZTsnOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnT3JkZSBkZSB0cmknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbm9tYnJlIGQmIzAzOTt1dGlsaXNhdGV1cnMgZXN0IGVuIGNvdXJzIGRlIHImZWFjdXRlO2luaXRpYWxpc2F0aW9uIGRlIG1vdHMgZGUgcGFzc2UuIENlIG5vbWJyZSBlc3QgYWN0dWVsbGVtZW50IGRlOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHZpZWlsbGVzIGRlIHBsdXMgZCYjMDM5O3VuZSBzZW1haW5lJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHZpZWlsbGVzIGRlIHBsdXMgZCYjMDM5O3VuIG1vaXMnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnU3VwcHJpbWVyIHRvdXRlcyBsZXMgZW50ciZlYWN1dGU7ZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3ImbmJzcDs/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnVW4gY29kZSBpbnZhbGlkZSBhICZlYWN1dGU7dCZlYWN1dGU7IGVudHImZWFjdXRlOywgdmV1aWxsZXogciZlYWN1dGU7ZXNzYXllcic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnTGUgY29kZSB0ZW1wb3JhaXJlIHBvdXIgdm90cmUgaWQgdXRpbGlzYXR1ZXIgbiYjMDM5O2EgcGFzIHB1ICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOyBkYW5zIGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZXMnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdHYWJhcml0IHV0aWxpcyZlYWN1dGU7IHBvdXIgYWZmaWNoZXIgbGUgZm9ybXVsYWlyZSBkZSB2JmVhY3V0ZTtyaWZpY2F0aW9uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdHYWJhcml0IHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2VtYWlsIGVudm95JmVhY3V0ZTsgbG9ycyBkZSBsJiMwMzk7b3VibGkgZHUgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdVbmUgZGVtYW5kZSBkZSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSBtb3QgZGUgcGFzc2UgYSAmZWFjdXRlO3QmZWFjdXRlOyBzb3VtaXNlIHBvdXIgY2UgY29tcHRlLCBzb2l0IHBhciB2b3VzLW0mZWNpcmM7bWUsIHNvaXQgcGFyIHF1ZWxxdSYjMDM5O3VuIGQmIzAzOTthdXRyZS4gViZlYWN1dGU7cmlmaWV6IHZvdHJlIGVtYWlsLCB2b3VzIHkgdHJvdXZlcmV6IGxlcyBpbnN0cnVjdGlvbnMgcG91ciBsYSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSB2b3RyZSBtb3QgZGUgcGFzc2UuJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJldXIgZGUgYmFzZSBkZSBkb25uJmVhY3V0ZTtlcyc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdWb3VzIHJlY2V2ZXogY2UgbWVzc2FnZSBjYXIgcXVlbHF1JiMwMzk7dW4gbm91cyBhIGRpdCBxdWUgdm91cyBhdmlleiBwZXJkdSB2b3RyZSBtb3QgZGUgcGFzc2UuIFNpIGMmIzAzOTtlc3QgbGUgY2FzLCBsaXNleiBsZXMgaW5zdHJ1Y3Rpb25zIGNpLWRlc3NvdXMuIFNpIHZvdXMgbmUgc2F2ZXogcGFzIGRlIHF1b2kgaWwgcyYjMDM5O2FnaXQsIHZvdXMgcG91dmV6IHNpbXBsZW1lbnQgZWZmYWNlciBjZSBtZXNzYWdlLiBOb3VzIHZvdXMgcmVtZXJjaW9ucy4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ0xlIGNvZGUgc3VpdmFudCBhICZlYWN1dGU7dCZlYWN1dGU7IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBhdSBoYXNhcmQgcG91ciBsYSB2JmVhY3V0ZTtyaWZpY2F0aW9uIGR1IGNvbXBlIHV0aWxpc2F0ZXVyLiBMb3JzcXVlIHZvdXMgY2xpcXVlcmV6IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMsIHZvdXMgdHJvdXZlcmV6IHVuIGNoYW1wIGRhbnMgbGVxdWVsIGVudHJlciBjZSBjb2RlLiBOb3JtYWxlbWVudCwgY2UgY2hhbXAgZXN0IHJlbXBsaSBwb3VyIHZvdXMsIG1haXMgZGFucyBsZSBjYXMgY29udHJhaXJlLCBsZSBjb2RlIGVzdCZuYnNwOzonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdMZSBsaWVuIHN1aXZhbnQgdm91cyBhbSZlZ3JhdmU7bmUgYXUgc2l0ZSBvJnVncmF2ZTsgdm91cyBwb3V2ZXogZW50cmVyIGxlIGNvZGUgY2ktZGVzc3VzLCBldCByJmVhY3V0ZTtpbml0aWFsaXNlciB2b3RyZSBtb3QgZGUgcGFzc2UmbmJzcDs6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdNb3QgZGUgcGFzc2Ugb3VibGkmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0xlIG1vZHVsZSBDTVNNYWlsZXIgbiYjMDM5O2EgcGFzICZlYWN1dGU7dCZlYWN1dGU7IHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnVW4gZW1haWwgYSAmZWFjdXRlO3QmZWFjdXRlOyBlbnZveSZlYWN1dGU7ICZhZ3JhdmU7ICVzIGF2ZWMgbGVzIGluc3RydWN0aW9ucyBwb3VyIGxhIHImZWFjdXRlO2luaXRpYWxpc2F0aW9uIGR1IG1vdCBkZSBwYXNzZS4gTWVyY2knOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdTaSB2b3VzIGF2ZXogb3VibGkmZWFjdXRlOyB2b3RyZSBtb3QgZGUgcGFzc2UsIHZldWlsbGV6IGVudHJlciB2b3RyZSBpZGVudGlmaWFudCBpY2ksIGV0IHNpIG5vdXMgbGUgdHJvdXZvbnMsIHZvdXMgcmVjZXZyZXogdW4gZW1haWwgYXZlYyBsZXMgaW5zdHJ1Y3Rpb25zIHBvdXIgbGEgciZlYWN1dGU7aW5pdGlhbGlzYXRpb24gZHUgbW90IGRlIHBhc3NlLic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcG91ciBsJiMwMzk7b3VibGkgZHUgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0xhIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7ICVzIG4mIzAzOTthIHBhcyAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7ZSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAncHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHRyb3V2JmVhY3V0ZTtlcyc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQWpvdXRlciB1bmUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1VuIGNoYW1wIHJlcXVpcyAoJXMpIGVzdCB2aWRlJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnVmV1aWxsZXogZW50cmVyIGljaSB1biBub3V2ZWF1IG1vdCBkZSBwYXNzZSc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ1ZvdXMgbmUgc2VtYmxleiBwYXMgJmVjaXJjO3RyZSBjb25uZWN0JmVhY3V0ZTsnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1BhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnRW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdDZSBjb21wdGUgZXN0IHAmZWFjdXRlO3JpbSZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdGb3JtYXQgZCYjMDM5O2FkcmVzc2UgZW1haWwgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdEYXRlIGQmIzAzOTtleHBpcmF0aW9uIGludmFsaWRlJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdJbCB5IGEgZXUgdW5lIGVycmV1ciBsb3JzIGRlIGxhIGQmZWFjdXRlO2Zpbml0aW9uICVzIHBvdXIgbCYjMDM5O3V0aWxpc2F0ZXVyICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnaWQgZGUgZ3JvdXBlICVzIGludmFsaWRlJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFycXVldXIgZGUgY2hhbXAgY2FjaCZlYWN1dGU7JzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdDb3VsZXVyIGRlIGNoYW1wIGNhY2gmZWFjdXRlOyc7CiRsYW5nWydoaWRkZW4nXSA9ICdDYWNoJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1VuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkdSBtJmVjaXJjO21lIG5vbSBlc3QgZCZlYWN1dGU7aiZhZ3JhdmU7IGQmZWFjdXRlO2ZpbmllJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0F1Y3VuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkJmVhY3V0ZTtmaW5pZSc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ0F1Y3VuIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTtlIHBvdXIgY2UgZ3JvdXBlJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnQXVjdW4gZ3JvdXBlIGQmZWFjdXRlO2ZpbmknOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cGVzIHRyb3V2JmVhY3V0ZTtzJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdMJiMwMzk7YXBwYXJ0ZW5hbmNlICZhZ3JhdmU7IGF1IG1vaW5zIHVuIGdyb3VwZSBlc3QgcmVxdWlzZSc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnUmVxdWllcnQgbCYjMDM5O2FwcGFydGVuYW5jZSAmYWdyYXZlOyBhdSBtb2lucyB1biBncm91cGUnOwokbGFuZ1snYmFjayddID0gJ1JldG91cic7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgZXN0IHVuIGNoYW1wIHJlcXVpcyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFycXVldXIgZGUgY2hhbXBzIHJlcXVpcyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdNaXNlIGVuICZlYWN1dGU7dmlkZW5jZSBkZXMgY2hhbXBzIHJlcXVpcyBlbic7CiRsYW5nWyduZXh0J10gPSAnUHJvY2hhaW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdVbiBncm91cGUgZHUgbSZlY2lyYzttZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydyZXF1aXJlZCddID0gJ0NoYW1wIHJlcXVpcyc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmVsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAnVGFpbGxlJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oVGFpbGxlIG1heGltYWxlIGQmIzAzOTt1bmUgZGVzIGRpbWVuc2lvbnMgZGUgbCYjMDM5O2ltYWdlIGVuIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTG9uZ3VldXInOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2FyYWN0JmVncmF2ZTtyZXMgZGFucyBsZSBjaGFtcCB0ZXh0ZSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ09wdGlvbnMgbWVudSBkJmVhY3V0ZTtyb3VsYW50LCBzJmVhY3V0ZTtwYXImZWFjdXRlO2VzIHBhciBkZXMgcmV0b3VycyAmYWdyYXZlOyBsYSBsaWduZSc7CiRsYW5nWyd5ZXMnXSA9ICdPdWknOwokbGFuZ1sncHJvbXB0J10gPSAnSW52aXRlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0ZSc7CiRsYW5nWydjaGVja2JveCddID0gJ0Nhc2UgJmFncmF2ZTsgY29jaGVyJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTGlzdGUgbXVsdGktcyZlYWN1dGU7bGVjdGlvbic7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnQWRyZXNzZSBlbWFpbCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRhcmVhJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnQmllbnZlbnVlJzsKJGxhbmdbJ2xvZ291dCddID0gJ0QmZWFjdXRlO2Nvbm5leGlvbic7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdDaGFuZ2VtZW50IGRlIE1lcyBQYXJhbSZlZ3JhdmU7dHJlcyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xhIGNvbm5leGlvbiBhICZlYWN1dGU7Y2hvdSZlYWN1dGU7IC0gaWRlbnRpZmlhbnQgb3UgbW90IGRlIHBhc3NlIGludmFsaWRlJm5ic3A7Pyc7CiRsYW5nWydsb2dpbiddID0gJ1MmIzAzOTtlbnJlZ2lzdHJlcic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ1RleHRlIGR1IGJvdXRvbiBkZSBjb25uZXhpb24nOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnSWRlbnRpZmlhbnQnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnTW90IGRlIHBhc3NlJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnRW5yZWdpc3RyZXotdm91cyc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0F2ZXotdm91cyBvdWJsaSZlYWN1dGU7IHZvdHJlIG1vdCBkZSBwYXNzZSZuYnNwOz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdQYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ0dhYmFyaXQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSUQgdXRpbGlzYXRldXIgbm9uIHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0NldCBpZGVudGlmaWFudCAoJXMpIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1V0aWxpc2VyIFNNVFAgcG91ciBsYSB2YWxpZGF0aW9uIGRlcyBhZHJlc3NlcyBlbWFpbCZuYnNwOz8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTG9uZ3VldXIgbWluaW1hbGUgZHUgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ0xvbmd1ZXVyIG1heGltYWxlIGR1IG1vdCBkZSBwYXNzZSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdMb25ndWV1ciBtaW5pbWFsZSBkZSBsJiMwMzk7aWRlbnRpZmlhbnQnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTG9uZ3VldXIgbWF4aW1hbGUgZGUgbCYjMDM5O2lkZW50aWZpYW50JzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ0V4cGlyYXRpb24gZGUgc2Vzc2lvbiAobWludXRlcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdBdXRvcmlzZSBsJiMwMzk7ZW5yZWdpc3RyZW1lbnQgcGFyIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdHcm91cGUgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciBsZXMgbm91dmVhdXggdXRpbGlzYXRldXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBwb3VyIGxlIGNoYW5nZW1lbnQgZGVzIHBhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdMZXMgbW90cyBkZSBwYXNzZSBuZSBjb25jb3JkZW50IHBhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdJZGVudGlmaWFudCBub24gdmFsaWRlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ01vdCBkZSBwYXNzZSBub24gdmFsaWRlJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnJkVhY3V0ZTtkaXRlciBsJiMwMzk7dXRpbGlzYXRldXInOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZGUnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdJZGVudGlmaWFudCc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXQnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnQ2V0IHV0aWxpc2F0ZXVyIG4mIzAzOTtlc3QgbWVtYnJlIGQmIzAzOTthdWN1biBncm91cGUnOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ0F1Y3VuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbGV1cic7CiRsYW5nWydncm91cHMnXSA9ICdHcm91cGVzJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MnOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOb20gZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnVmFsZXVyIGRlIGxhIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ2FkZCddID0gJ0Fqb3V0ZXInOwokbGFuZ1snZWRpdCddID0gJyZFYWN1dGU7ZGl0ZXInOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdTcCZlYWN1dGU7Y2lmaWV6IHVuZSBkYXRlJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgaGV1cmVzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgaGV1cmVzJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggaGV1cmVzJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBzZW1haW5lJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgc2VtYWluZXMnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBtb2lzJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG1vaXMnOwokbGFuZ1snNm1vbnRocyddID0gJzYgbW9pcyc7CiRsYW5nWycxeWVhciddID0gJzEgYW4nOwokbGFuZ1snbmV2ZXInXSA9ICdKYW1haXMnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTGUgbW9kdWxlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgaW5zdGFsbCZlYWN1dGU7IGF2ZWMgc3VjYyZlZ3JhdmU7cy48YnIvPkFzc3VyZXotdm91cyBkZSBkJmVhY3V0ZTtmaW5pciBsYSBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyZxdW90Oy4gRGUgcGx1cywgbm91cyB2b3VzIHJlY29tbWFuZG9ucyBkJiMwMzk7aW5zdGFsbGVyIGxlIG1vZHVsZSBDYXB0Y2hhLiBMb3JzcXVlIGNlIGNlbHVpLWNpIGVzdCBpbnN0YWxsJmVhY3V0ZTssIGxhIHZhbGlkYXRpb24gZGUgbCYjMDM5O2ltYWdlIGNhcHRjaGEgc2VyYSByZXF1aXNlIHBvdXIgc2UgY29ubmVjdGVyLCBlbiBwbHVzIGRlIGwmIzAzOTtpZGVudGlmaWFudCBldCBkdSBtb3QgZGUgcGFzc2UuIENlY2kgZXN0IGNvbnNlaWxsJmVhY3V0ZTsgcG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBhdHRhcXVlcw0KDQo8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IExlIHBhcmFtJmVncmF2ZTt0cmUgbm9jYXB0Y2hhIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGQmZWFjdXRlO3NhY3RpdmVyIGNldHRlIGZvbmN0aW9uIG0mZWNpcmM7bWUgbG9yc3F1ZSBsZSBtb2R1bGUgQ2FwdGNoYSBlc3QgaW5zdGFsbCZlYWN1dGU7JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTW90IGRlIHBhc3NlJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnRW5jb3JlJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdVbiBncm91cGUgZHUgbSZlY2lyYzttZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICcmRWFjdXRlO2RpdGVyIGxlIGdyb3VwZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXInOwokbGFuZ1snZGVsZXRlJ10gPSAnU3VwcHJpbWVyJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciBxdWUgY2V0dGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsgZXN0IGNvcnJlY3RlIHBvdXIgY2UgZ3JvdXBlP1xuRCZlYWN1dGU7c2FjdGl2ZXIgdW5lIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IG4mIzAzOTtlZmZhY2VyYSBwYXMgbGVzIGVudHImZWFjdXRlO2VzIGRhbnMgbGEgdGFibGUgZGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBwb3VyIGNlIGdyb3VwZS91dGlsaXNhdGV1ci4gVG91dCBhdSBwbHVzLCBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIG5lIHNlcm9udCBwYXMgZGlzcG9uaWJsZXMuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGdyb3VwZSZuYnNwOz8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgZGUgdm91bG9pciBjb21wbCZlZ3JhdmU7dGVtZW50IHN1cHByaW1lciBjZXR0ZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOz9cbkNlbGEgc3VwcHJpbWVyYSB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHBvdXIgY2V0dGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgaW5zdWZmaXNhbnRzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05vbSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ29ydXAnXSA9ICdwcm9ibCZlZ3JhdmU7bWUgbG9ycyBkZSBsJiMwMzk7YWpvdXQgZHUgZ3JvdXBlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBub24gdmFsaWRlcyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGxpcXVlcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmUnOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ1VzZXIgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnTm9tIGR1IGdyb3VwZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2MmZWdyYXZlO3MgcmVmdXMmZWFjdXRlOyc7CiRsYW5nWydlcnJvciddID0gJ0VycmV1cic7CiRsYW5nWydhZGRncm91cCddID0gJ0Fqb3V0ZXIgdW4gZ3JvdXBlJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdBam91dGVyIHVuIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVdGlsaXNhdGV1cnMgdHJvdXYmZWFjdXRlO3MnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcm91cGUnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdTJmVhY3V0ZTtsZWN0aW9ubmVyIGxlIGdyb3VwZSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdHYWJhcml0IGQmIzAzOTtlbnJlZ2lzdHJlbWVudCc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIGQmZWFjdXRlO2Nvbm5leGlvbic7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgY29ubmV4aW9uJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyc7CiRsYW5nWyd1c2VycyddID0gJ1V0aWxpc2F0ZXVycyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdHZXN0aW9uIGRlcyB1dGlsaXNhdGV1cnMgZHUgc2l0ZSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0cmZWdyYXZlO3JlIGxlcyB1dGlsaXNhdGV1cnMgZHUgc2l0ZSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnUGFnZSBwYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnRGVybmkmZWdyYXZlO3JlIHBhZ2UgYWNjJmVhY3V0ZTtkJmVhY3V0ZTtlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0F1dHJlIHBhZ2UmbmJzcDs6JzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdWZXVpbGxleiBlbnRyZXIgbGUgdGV4dGUgZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4wLjAuMSAtIE9jdG9iZXIgMjAwNSAtIFZlcnNpb24gaW5pdGlhbGUsIG5vbiBmb25jdGlvbm5lbGxlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIgMjAwNSAtIFZlcnNpb24gaW5pdGlhbGU8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JyZSAyMDA1IC0gQ29ycmVjdGlvbiBkZXMgcHJvYmwmZWdyYXZlO21lcyBhdmVjIGxlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3M8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JyZSAyMDA1IC0gQWpvdXQgZGUgbGEgZm9uY3Rpb24gcG91ciBsZXMgbW90cyBkZSBwYXNzZSBvdWJsaSZlYWN1dGU7czwvbGk+DQo8bGk+PHA+MC4xLjMgLSBOb3ZlbWJyZSAyMDA1PC9wPg0KICAgIDxwPkFqb3V0IGRlIGxhIHBvc3NpYmlsaXQmZWFjdXRlOyBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlcyBwYWdlcyBkZSByZWRpcmVjdGlvbiBhcHImZWdyYXZlO3MgY29ubmV4aW9uIGV0IGQmZWFjdXRlO2Nvbm5leGlvbiwgb3VibGkgZGUgbW90IGRlIHBhc3NlIGV0IGNoYW5nZW1lbnQgZGUgcGFyYW0mZWdyYXZlO3RyZXMsIGFqb3V0IGRlcyBwYXJhbSZlZ3JhdmU7dHJlcyByZXR1cm50byBldCBkZSBmb3JtdWxhaXJlcyBkYW5zIGxlIHBhbm5lYXUgdXRpbGlzYXRldXIsIG5ldHRveWFnZSBkZSBjb2RlLiAgQ2V0dGUgdmVyc2lvbiByZXF1aWVydCBDTVNNUyB2MC4xMSBldCBzdWl2YW50ZXMuPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJyZSAyMDA1IC0gUGV0aXQgY2hhbmdlbWVudCBlbiByYXBwb3J0IGF2ZWMgdW5lIGZvbmN0aW9uIG91YmxpJmVhY3V0ZTtlIHF1aSBuJiMwMzk7ZXN0IHBsdXMgdXRpbGlzJmVhY3V0ZTtlPC9saT4NCjxsaT48cD4wLjEuNSAtIE5vdmVtYnJlIDIwMDU8L3A+DQogICAgPHA+VW4gYXV0cmUgcGV0aXQgY2hhbmdlbWVudCwgYWpvdXQgZGUgdGV4dGUgYXUgbWVzc2FnZSBhZmZpY2gmZWFjdXRlOyBhcHImZWdyYXZlO3MgbCYjMDM5O2luc3RhbGxhdGlvbi48L3A+PC9saT4NCjxsaT48cD4wLjEuNiAtIEphbnZpZXIgMjAwNjxwPg0KICAgIDxwPkNoYW5nZW1lbnQgZGFucyBsZXMgcHJvY2Vzc3VzIGRlIHBlcm1pc3Npb25zLCBldCBwZXRpdGVzIGNvcnJlY3Rpb25zIGRhbnMgbGVzIHByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMuICAmRWFjdXRlO2dhbGVtZW50IHF1ZWxxdWVzIGNvcnJlY3Rpb24gZW4gcmFwcG9ydCBhdmVjIHBocDUsIGlsIGRvaXQgY2VwZW5kYW50IHJlc3RlciBxdWVscXVlcyBlcnJldXJzLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudmllciAyMDA2PHA+DQogICAgPHA+TWlsbGUgbWVyY2lzICZhZ3JhdmU7IDxiPmthdG9uPC9iPiBwb3VyIGwmIzAzOTtham91dCBkZXMgdHlwZXMgZGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHRleHRhcmVhIGV0IG1lbnUgZCZlYWN1dGU7cm91bGFudC48L3A+DQogICAgPHA+Q29ycmVjdGlvbnMgYXBwb3J0JmVhY3V0ZTtlcyBwb3VyIHImZWFjdXRlO3NvdWRyZSBsZXMgcHJvYmwmZWdyYXZlO21lcyBkJiMwMzk7ZXNwYWNlcyBkYW5zIGxlcyBub21zIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyAobm91cyBuZSBsYWlzc2Vyb25zIHBsdXMgamFtYWlzIGNlbGEgc2UgcHJvZHVpcmUpLjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjAgLSBGJmVhY3V0ZTt2cmllciAyMDA2PHA+DQogICAgPHA+QWpvdXQgZGUgZmlsdHJlIGV0IGxpbWl0YXRpb24gZGVzIGxpZ25lcyBhdSBwYW5uZWF1IGQmIzAzOTthZG1pbmlzdHJhdGlvbi4gR3JvcyBiJmVhY3V0ZTtuJmVhY3V0ZTtmaWNlcyBwb3VyIGxlcyBzaXRlcyBhdmVjIGJlYXVjb3VwIGRlIHRyYWZpYyBldCBkJiMwMzk7dXRpbGlzYXRldXJzLjwvcD4NCiAgICA8cD5Bam91dCBkdSB0cmkgZGFucyBsZSBwYW5uZWF1IGQmIzAzOTthZG1pbmlzdHJhdGlvbjwvcD4NCiAgICA8cD5Bam91dCBkZSBsYSBwb3NzaWJpbGl0JmVhY3V0ZTsgZGUgZCZlYWN1dGU7ZmluaXIgdW5lIGxvbmd1ZXVyIG1heGltYWxlIGF1IGNoYW1wcyB0ZXh0ZSBldCBlbWFpbDwvcD4NCiAgICA8cD5Db3JyZWN0aW9uIGQmIzAzOTt1biBwZXRpdCBwcm9ibCZlZ3JhdmU7bWUgYXZlYyBsZSBncm91cGUgcGFyIGQmZWFjdXRlO2ZhdXQgcXVpIG4mIzAzOTsmZWFjdXRlO3RhaXQgcGFzIGNob2lzaSBsb3JzIGRlIGwmIzAzOTtham91dCBkJiMwMzk7dW4gdXRpbGlzYXRldXI8L3A+DQogICAgPHA+U2F1dmVnYXJkZSBkZXMgcGFyYW0mZWdyYXZlO3RyZXMgZGUgZmlsdHJhZ2UgZGFucyBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcywgJmVhY3V0ZTtnYWxlbWVudCBsJiMwMzk7b25nbGV0IGFjdGlmLjwvcD4NCiAgICA8cD5FZmZhY2UgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBkZXMgdXRpbGlzYXRldXJzIHF1YW5kIHVuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBlc3Qgc3VwcHJpbSZlYWN1dGU7ZSA8ZW0+Tm90ZTwvZW0+LCBwYXMgbG9yc3F1JiMwMzk7ZWxsZSBlc3QgZCZlYWN1dGU7c2FjdGl2JmVhY3V0ZTtlIGRhbnMgbGUgcGFubmVhdSBkJiMwMzk7JmVhY3V0ZTtkaXRpb24gZCYjMDM5O3VuIGdyb3VwZTwvcD4NCiAgICA8cD5Bam91dCBkJiMwMzk7dW4gbWVzc2FnZSBkZSBjb25maXJtYXRpb24gbG9ycyBkZSBsJiMwMzk7JmVhY3V0ZTtkaXRpb24gZCYjMDM5O3VuIGdyb3VwZS48L3A+DQogICAgPHA+QWpvdXQgZGUgZGV1eCBhdXRyZXMgbWVzc2FnZXMgZGUgY29uZmlybWF0aW9uLjwvcD4NCiAgICA8cD5Bam91dCBkZSBsJiMwMzk7b3B0aW9uIGQmIzAzOTtleHBvcnQgc291cyBmb3JtYXQgQ1NWPC9wPg0KICAgIDxwPkEgZmFpcmUgLSBBam91dCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBwb3VyIGxlcyBsb25ndWV1cnMgbWF4aW1hbGVzIGRlcyBjaGFtcHMgJnF1b3Q7bm9tIGQmIzAzOTt1dGlsaXNhdGV1ciZxdW90OyBldCAmcXVvdDttb3QgZGUgcGFzc2UmcXVvdDs8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFycyAyMDA2PHA+DQogICAgPHA+QWpvdXQmZWFjdXRlOyBsYSBwb3NzaWJpbGl0JmVhY3V0ZTsgZGUgdiZlYWN1dGU7cmlmaWVyIGxlcyBhZHJlc3NlcyBlbWFpbCAmYWdyYXZlOyBkb3VibGU8L3A+DQogICAgPHA+Q29ycmVjdGlvbiBkdSBwcm9ibCZlZ3JhdmU7bWUgbyZ1Z3JhdmU7IGxhIGRhdGUgZCYjMDM5O2V4cGlyYXRpb24gJmVhY3V0ZTt0YWl0IG1vZGlmaSZlYWN1dGU7ZSBxdWFuZCB1biBhZG1pbmlzdHJhdGV1ciBjaGFuZ2VhaXQgbGVzIHBhcmFtJmVncmF2ZTt0cmVzIGQmIzAzOTt1biB1dGlsaXNhdGV1cjwvcD4NCiAgICA8cD5Bam91dCBkJiMwMzk7dW4gbWVzc2FnZSBkZSBjb25maXJtYXRpb24gYXUgYm91dG9uIHNhdXZlciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlczwvcD4NCiAgICA8cD5Db3JyZWN0aW9uIGQmIzAzOTt1biBidWcgbWluZXVyIGRhbnMgbGUgY29tcHRlIGRlcyB1dGlsaXNhdGV1cnMgZGFucyB1biBncm91cGU8L3A+DQogICAgPHA+Q29ycmVjdGlvbiBkZSBsYSB0YWlsbGUgZGVzIGNoYW1wcyBub20gZCYjMDM5O3V0aWxpc2F0ZXVyIGV0IG1vdCBkZSBwYXNzZSwgYWluc2kgcXVlIGxhIGxvbmd1ZXVyIG1heGltYWxlIGR1IGNoYW1wPC9wPg0KICAgIDxwPkFqb3V0IGQmIzAzOTt1biBmaWx0cmUgYXZhbmMmZWFjdXRlOyBzdXIgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7czwvcD4NCiAgICA8cD5DaGFuZ2VtZW50cyBzdXIgbGVzIGxhYmVscyBwb3VyIGwmIzAzOTtham91dCBvdSBsJiMwMzk7JmVhY3V0ZTtkaXRpb24gZCYjMDM5O3V0aWxpc2F0ZXVyPC9wPg0KICAgIDxwPkNvcnJlY3Rpb25zIGRlcyBwcm9ibCZlZ3JhdmU7bWVzIGF2ZWMgbGVzIGZvcm11bGFpcmVzIGlubGluZSBvdSBub24taW5saW5lLCBsZSBtb3QgZGUgcGFzc2UgbiYjMDM5O2VzdCBqYW1haXMgZW52b3kmZWFjdXRlOyBzdXIgbGEgbGlnbmU8L3A+DQogICAgPHA+TW9kaWZpJmVhY3V0ZTsgcG91ciBxdWUgQ01TIDAuMTItYmV0YTIgc29pdCB1biBtaW5pbXVtIHJlcXVpcyAocG91ciBkZXMgcXVlc3Rpb25zIGRlIHMmZWFjdXRlO2N1cml0JmVhY3V0ZTspPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMiAtIE1hcnMgMjAwNjxwPg0KICAgIDxwPkVuY29yZSBkZXMgY29ycmVjdGlvbnMgZGUgbG9uZ3VldXJzIGRlIGNoYW1wczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjMgLSBNYXJzICAyMDA2PHA+DQogICAgPHA+RXhwb3J0YXRpb24gJmFncmF2ZTsgc21hcnR5IGRlIHRvdXRlcyBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHV0aWxpc2F0ZXVycyBxdWFuZCBpbHMgc29udCBsb2dnJmVhY3V0ZTtzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNCAtIE1haSAyMDA2PHA+DQogICAgPHA+Q29ycmVjdGlvbiBkdSBjb2RlIGQmIzAzOTtleHBvcnRhdGlvbjwvcD4NCiAgICA8cD5OZXR0b3lhZ2UgZHUgY29kZSAoZm9uY3Rpb25zIGFscGhhYiZlYWN1dGU7dGlxdWVzKTwvcD4NCiAgICA8cD5QZXRpdGVzIGNvcnJlY3Rpb25zIGV0IGFtJmVhY3V0ZTtsaW9yYXRpb25zIChyZWNvbW1hbmQmZWFjdXRlO2VzIHBhciBuaWxzNzMpIHBvdXIgbGVzIGNoYW5nZW1lbnRzIGRlIG1vdHMgZGUgcGFzc2UuPC9wPg0KICAgIDxwPlN1cHByZXNzaW9uIGRlIHZlcnNpb24gQ01TIDAuMTIgcmVxdWlzZSwgcmV0b3VyICZhZ3JhdmU7IGxhIHZlcnNpb24gMC4xMS4yPC9wPg0KICAgIDxwPkFqb3VyIGR1IGZvcm11bGFpcmUgJiMwMzk7c2lsZW50JiMwMzk7IChjYWNoJmVhY3V0ZTspPC9wPg0KICAgIDxwPk5ldHRveWFnZSBkZSBsJiMwMzk7YWNjJmVncmF2ZTtzICZhZ3JhdmU7IGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZXMgcG91ciBkZXMgcmFpc29ucyBkZSBwZXJmb3JtYW5jZSAoZXNwJmVhY3V0ZTtyb25zKTwvcD4NCiAgICA8cD5Bam91dCBkZSBsJiMwMzk7aW5mbyBjb3B5cmlnaHQ8L3A+DQogICAgPHA+QWpvdXQgZGUgbWFjcm8gcG91ciBsYSByZWRpcmVjdGlvbiBkZSBsJiMwMzk7dXRpbGlzYXRldXIgc3VyIHVuZSBwYWdlIHNwJmVhY3V0ZTtjaWZpcXVlIGxvcnMgZGUgbGEgY29ubmV4aW9uIGV0IGQmZWFjdXRlO2Nvbm5leGlvbjwvcD4NCiAgICA8cD5DaGFuZ2VtZW50cyBkYW5zIGxlcyBvbmdsZXRzIGRlIHByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC41IC0gTWFpIDIwMDY8L3A+DQogICAgPHA+UHJvYmwmZWdyYXZlO21lIGF2ZWMgbGVzIGRhdGVzIGQmIzAzOTtleHBpcmF0aW9uIGZpeCZlYWN1dGU7PC9wPg0KICAgIDxwPkNvZGUgc3BsaXR0JmVhY3V0ZTsgc3VyIHBsdXNpZXVycyBmaWNoaWVyczwvcD4NCjxsaT48cD4xLjAuNiAtIE1haSAyMDA2PC9wPg0KICAgIDxwPlByb2JsJmVncmF2ZTttZSBkZXMgbWVudXMgZCZlYWN1dGU7cm91bGFudHMgZml4JmVhY3V0ZTs8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4wIC0gTWFpIDIwMDY8L3A+DQogICAgPHA+JkVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnRzPC9wPg0KICAgIDxwPlBlcm1ldCBkZSBuZSBwYXMgYXV0b3Jpc2VyIGRlcyBjb25uZXhpb25zIHImZWFjdXRlO3AmZWFjdXRlO3QmZWFjdXRlO2VzPC9wPg0KICAgIDxwPkV4cG9ydGUgbCYjMDM5O2lkIHV0aWxpc2F0ZXVyICZhZ3JhdmU7IFNtYXJ0eTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0IDIwMDY8L3A+DQogICAgPHA+Q29ycmVjdGlvbiBkJiMwMzk7dW4gYnVnIHF1aSBhcHBhcmEmaWNpcmM7c3NhaXQgcXVhbmQgdW4gdXRpbGlzYXRldXIgJmVhY3V0ZTtkaXRhaXQgc2VzIHBhcmFtJmVncmF2ZTt0cmVzIGF2ZWMgXCYjMDM5O0F1dG9yaXNlciBsZXMgZG91YmxvbnMgZCYjMDM5O2VtYWlsXCYjMDM5OyBub24gYWN0aXYmZWFjdXRlOzwvcD4NCiAgICA8cD5Nb2RpZmkmZWFjdXRlOyBsYSB0YWJsZSBkJmVhY3V0ZTtyb3VsYW50ZSAmYWdyYXZlOyAyNTUgY2FyYWN0JmVncmF2ZTtyZXM8L3A+DQogICAgPHA+TmV0dG95YWdlIG1pbmV1cjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjIgLSBEJmVhY3V0ZTtjLCAyMDA2PC9wPg0KICAgIDxwPlImZWFjdXRlO3NvbHV0aW9uIGR1IHByb2JsJmVncmF2ZTttZSBEQVRFVElNRSBkZSAgYWRvZGIvYWRvZGItbGl0ZTwvcD4NCiAgICA8cD5Bam91dCBkdSBzdXBwb3J0IGNhcHRjaGEgc3VwcG9ydCBhdSBwYW5uZWF1IGRlIGNvbm5leHRpb24sIG1lcmNpIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4zIC0gKG5vdCByZWxlYXNlZCB5ZXQpPC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+Q2UgbW9kdWxlIHBlcm1ldCBsYSBnZXN0aW9uIGV0IGwmIzAzOTthZG1pbmlzdHJhdGlvbiBkZXMgdXRpbGlzYXRldXJzIGR1IHNpdGUgc3VyIGxhIHBhcnRpZSBwdWJsaXF1ZSA8aT4odXRpbGlzYXRldXJzIHF1aSBuJiMwMzk7b250IHBhcyBhY2MmZWdyYXZlO3MgYXUgcGFubmVhdSBkJiMwMzk7YWRtaW5pc3RyYXRpb24pPC9pPi4gSWwgcGVybWV0IGxhIGNyJmVhY3V0ZTthdGlvbiBkZSBncm91cGVzIGQmIzAzOTt1dGlsaXNhdGV1cnMsIGRlIGNvbXB0ZXMgdXRpbGlzYXRldXIsIGV0IHBlcm1ldCBhdXggdXRpbGlzYXRldXJzIGRlIHNlIGNvbm5lY3RlciBldCBzZSBkJmVhY3V0ZTtjb25uZWN0ZXIuIElsIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBhdmVjIGxlIG1vZHVsZSBDdXN0b21Db250ZW50IHBvdXIgYWZmaWNoZXIgZHUgY29udGVudSBkaWZmJmVhY3V0ZTtyZW50IHNlbG9uIGxlcyB1dGlsaXNhdGV1cnMsIHVuZSBmb2lzIHF1JiMwMzk7aWxzIHNvbnQgY29ubmVjdCZlYWN1dGU7cy48L3A+DQo8aDM+Rm9uY3Rpb25uYWxpdCZlYWN1dGU7czwvaDM+DQo8dWw+DQo8bGk+PHA+RXhwaXJhdGlvbiBkdSBjb21wdGUgdXRpbGlzYXRldXIuICBWb3VzIHBvdXZleiBjciZlYWN1dGU7ZXIgZGVzIHV0aWxpc2F0ZXVycyB0ZW1wb3JhaXJlczwvcD48L2xpPg0KPGxpPjxwPlByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBkZSBncm91cGUuICBWb3VzIHBvdXZleiBkZW1hbmRlciBkZXMgaW5mb3JtYXRpb25zIGRpZmYmZWFjdXRlO3JlbnRlcyBhdXggbWVtYnJlcyBkZSBkaWZmJmVhY3V0ZTtyZW50cyBncm91cGVzPC9wPjwvbGk+DQo8bGk+PHA+UGV1dCBnJmVhY3V0ZTtyZXIgZGVzIGNlbnRhaW5lcyBkJiMwMzk7dXRpbGlzYXRldXJzPC9wPjwvbGk+DQo8bGk+PHA+Q29udGllbnQgdW5lIEFQSSAmZWFjdXRlO3RlbmR1ZSwgcG91ciBsJiMwMzk7YWpvdXQgZGUgZm9uY3Rpb25uYWxpdCZlYWN1dGU7czwvcD48L2xpPg0KPC91bD4NCjxoMz5Db21tZW50IGwmIzAzOTt1dGlsaXNlcjwvaDM+DQo8dWw+DQo8bGk+PHA+QXByJmVncmF2ZTtzIGluc3RhbGxhdGlvbiwgdm91cyBwb3V2ZXogYWNjJmVhY3V0ZTtkZXIgYXUgbW9kdWxlIEZyb250RW5kVXNlcnMgcGFyIGxlIHBhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uIHNvdXMgbGUgbWVudSAmcXVvdDtHcm91cGVzICZhbXA7IFV0aWxpc2F0ZXVycyZxdW90Oy48L3A+PC9saT4NCjxsaT4NCjxwPkRldXhpJmVncmF2ZTttZW1lbnQsIHZvdXMgZGV2cmlleiBkJmVhY3V0ZTtmaW5pciBkZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzLiBMZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHNvbnQgZXNzZW50aWVsbGVtZW50IGRlcyBkJmVhY3V0ZTtmaW5pdGlvbnMgZGUgY2hhbXAsIHZvdXMgcG91dmV6IGljaSBkJmVhY3V0ZTtmaW5pciBsZSB0eXBlIGQmIzAzOTtpbmZvcm1hdGlvbiBxdWUgdm91cyBkJmVhY3V0ZTtzaXJleiBjb2xsZWN0ZXIsIGV0IGxlcyBsaW1pdGVzLiBwLmV4LiBOb20sIEFnZSwgVmlsbGUsIEQmZWFjdXRlO3BhcnRlbWVudCwgUGF5cywgQWRyZXNzZSBlbWFpbCwgZXRjLiA8L3A+DQo8cD48Yj5Ob3RlOjwvYj4gVm91cyBuJiMwMzk7YXZleiBwYXMgYmVzb2luIGRlIGQmZWFjdXRlO2ZpbmlyIGxlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgZGUgbCYjMDM5O2lkZW50aWZpYW50IGV0IGR1IG1vdCBkZSBwYXNzZSwgaWxzIHNvbnQgY3ImZWFjdXRlOyZlYWN1dGU7cyBwb3VyIHZvdXMuPC9iPg0KPC9saT4NCjxsaT48cD5FbnN1aXRlLCB2b3VzIGRldnJpZXogY3ImZWFjdXRlO2VyIHVuIG91IHBsdXNpZXVycyBub20ocykgZGUgZ3JvdXBlLiBRdWFuZCB2b3VzIGNyJmVhY3V0ZTsmZWFjdXRlO3ogdW4gZ3JvdXBlLCB2b3VzIGRldmV6IGVudHJlciB1biBub20gZGUgZ3JvdXBlLCB1bmUgZGVzY3JpcHRpb24gZXQgZGV2ZXogYXNzb2NpZXIgZGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBhdSBncm91cGUsIHNwJmVhY3V0ZTtjaWZpZXIgbCYjMDM5O29yZHJlIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MsIHNpIGNlbGxlcy1jaSBzb250IG9wdGlvbm5lbGxlcywgcmVxdWlzZXMgb3UgZGUgY2hhbXAgY2FjaCZlYWN1dGU7PGk+KG9mZiBlc3QgYXVzc2kgdmFsaWRlKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQXZhbnQgZGUgY29udGludWVyLCB2ZXVpbGxleiB2b3VzIGFzc3VyZXIgcXVlIGxlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIHNvbnQgZCZlYWN1dGU7ZmluaWVzIGNvcnJlY3RlbWVudC48L3A+PC9saT4NCjxsaT48cD5Ucm9pc2kmZWdyYXZlO21lbWVudCwgY3ImZWFjdXRlO2V6IGxlcyB1dGlsaXNhdGV1cnMuIEwmIzAzOTtham91dCBkJiMwMzk7dXRpbGlzYXRldXIgZXN0IHVuIHByb2Nlc3N1cyBlbiBkZXV4IHRlbXBzLiBRdWFuZCB2b3VzIGNyJmVhY3V0ZTsmZWFjdXRlO3ogdW4gdXRpbGlzYXRldXIsIHZvdXMgZGV2ZXogZW50cmVyIHVuIGlkZW50aWZpYW50IGV0IHVuIG1vdCBkZSBwYXNzZSwgYWluc2kgcXUmIzAzOTt1bmUgZGF0ZSBkJiMwMzk7ZXhwaXJhdGlvbi4gVm91cyBkZXZleiBlbnN1aXRlIHMmZWFjdXRlO2xlY3Rpb25uZXIgbGUgb3UgbGVzIGdyb3VwZShzKSBhdSh4KXF1ZWwocykgY2V0IHV0aWxpc2F0ZXVyIGFwcGFydGllbmRyYSwgcHVpcyBjbGlxdWVyIHN1ciBcJiMwMzk7U3VpdmFudFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5DZWNpIGVzdCB1biB0cmF2YWlsIGxvbmcgZXQgbGFib3JpZXV4LCBpbCBlc3QgcGx1cyBmYWNpbGUgZGUgbGFpc3NlciBsZXMgdXRpbGlzYXRldXJzIHMmIzAzOTtlbnJlZ2lzdHJlciBldXgtbSZlY2lyYzttZXMuIFB1aXMgdm91cyBwb3V2ZXogJmVhY3V0ZTtkaXRlciBsZXVyIGdyb3VwZSBkJiMwMzk7YXBwYXJ0ZW5hbmNlLiBDZXBlbmRhbnQsIGNyJmVhY3V0ZTsmZWFjdXRlO3ogYXUgbW9pbnMgdW4gdXRpbGlzYXRldXItdGVzdC48L3A+PC9saT4NCjxsaT48cD5FbmZpbiwgYXByJmVncmF2ZTtzIHF1ZSBsZSBzeXN0JmVncmF2ZTttZSBhaWUgZCZlYWN1dGU7dGVybWluJmVhY3V0ZTsgdG91cyBsZXMgY2hhbXBzIGEgcHImZWFjdXRlO3NlbnRlciAmYWdyYXZlOyBsJiMwMzk7dXRpbGlzYXRldXIsIHZvdXMgdmVycmV6IHVuIGZvcm11bGFpcmUgcXVpIHZvdXMgZGVtYW5kZXJhIGRlIGQmZWFjdXRlO2ZpbmlyIHRvdXMgbGVzIGNoYW1wcyBvYmxpZ2F0b2lyZXMuIFJlbXBsaXNzZXogY2UgZm9ybXVsYWlyZSBwb3VyIHRlcm1pbmVyIGwmIzAzOTtham91dCBkZSBsJiMwMzk7dXRpbGlzYXRldXIuPC9wPjwvbGk+DQo8bGk+PHA+Vm91cyAmZWNpcmM7dGVzIG1haW50ZW5hbnQgcHImZWNpcmM7dCAmYWdyYXZlOyBham91dGVyIGxhIGZvbmN0aW9uIGF1eCBwYWdlcyBkZSB2b3RyZSBzaXRlLiBDJiMwMzk7ZXN0IHRyJmVncmF2ZTtzIHNpbXBsZSwgYWpvdXRleiBsYSBiYWxpc2UgU21hcnR5IHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSAmYWdyYXZlOyB2b3RyZSBwYWdlIG91IGdhYmFyaXQ8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5DZSBtb2R1bGUgbmUgY29udGllbnQgYXVjdW4gc3VwcG9ydCBjb21tZXJjaWFsLiBDZXBlbmRhbnQsIGNlcyByZXNzb3VyY2VzIHNvbnQgZGlzcG9uaWJsZXMgcG91ciB2b3VzIGFpZGVyJm5ic3A7OjwvcD4NCjx1bD4NCjxsaT5Qb3VyIGxhIGRlcm5pJmVncmF2ZTtyZSB2ZXJzaW9uIGRlIGNlIG1vZHVsZSwgbGVzIEZBUXMsIG91IHBvdXIgYW5ub25jZXIgdW4gYnVnLCBvdSBwb3VyIGFjaGV0ZXIgZHUgc3VwcG9ydCBjb21tZXJjaWFsLCB2ZXVpbGxleiB2aXNpdGVyIGxlIHNpdGUgZGUgY2FsZ3V5JiMwMzk7cyA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkRlcyBkaXNjdXNzaW9ucyBjb21wbCZlYWN1dGU7bWVudGFpcmVzIHJlbGF0aXZlcyAmYWdyYXZlOyBjZSBtb2R1bGUgcGV1dmVudCBhdXNzaSAmZWNpcmM7dHJlIHRyb3V2JmVhY3V0ZTtlcyBzdXIgbGVzIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDs+Rm9ydW1zIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5MJiMwMzk7YXV0ZXVyLCBjYWxndXkxMDAwLCBlc3Qgc291dmVudCBzdXIgSVJDIHN1ciBjYW5hbCAjY21zOiBpcmMuZnJlZW5vZGUubmV0LyNjbXM8L2xpPg0KPGxpPkV0IGVuZmluLCB2b3VzIHBvdXZleiByZW5jb250cmVyIHVuIGNlcnRhaW4gc3VjYyZlZ3JhdmU7cyBlbiBlbnZveWFudCB1biBlbWFpbCBkaXJlY3RlbWVudCAmYWdyYXZlOyBsJiMwMzk7YXV0ZXVyLjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW0mZWdyYXZlO3RyZXM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uZWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm11bGFpcmVzOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIEFmZmljaGUgbGUgZm9ybXVsYWlyZSBkZSBjb25uZXhpb248L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBBZmZpY2hlIGxlIGZvcm11bGFpcmUgZGUgZCZlYWN1dGU7Y29ubmV4aW9uPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBBZmZpY2hlIGxlIGZvcm11bGFpcmUgZGUgY2hhbmdlbWVudCBkZSBwYXJhbSZlZ3JhdmU7dHJlczwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gQWZmaWNoZSBsZSBmb3JtdWxhaXJlIGQmIzAzOTtvdWJsaSBkZSBtb3QgZGUgcGFzc2U8L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IE4mIzAzOTthZmZpY2hlIHJpZW4sIG1haXMgZXhwb3J0ZSBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGV0IGF1dHJlcyB2YXJpYWJsZXMgc21hcnR5IHBvdXIgbCYjMDM5O3V0aWxpc2F0ZXVyIGNvbm5lY3QmZWFjdXRlOy4gU2kgYXVjdW4gdXRpbGlzYXRldXIgbiYjMDM5O2VzdCBjb25uZWN0JmVhY3V0ZTssIGF1Y3VuZSB2YXJpYWJsZSBuJiMwMzk7ZXN0IGV4cG9ydCZlYWN1dGU7ZS48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmVsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXRpbGlzJmVhY3V0ZTsgYXZlYyBsZXMgZm9ybXVsYWlyZXMgZGUgY29ubmV4aW9uLCBkZSBkJmVhY3V0ZTtjb25uZXhpb24sIGV0IGRlIGNoYW5nZW1lbnQgZGUgcGFyYW0mZWdyYXZlO3RyZXMsIGNlIHBhcmFtJmVncmF2ZTt0cmUgY29udGllbnQgbCYjMDM5O2lkIG91IGwmIzAzOTthbGlhcyBkZSBsYSBwYWdlICZhZ3JhdmU7IGxhcXVlbGxlIHJlZGlyaWdlciBsJiMwMzk7dXRpbGlzYXRldXIgYXByJmVncmF2ZTtzIGwmIzAzOTtlbnZvaSBkdSBmb3JtdWxhaXJlLCBzaSBjZWx1aS1jaSBhICZlYWN1dGU7dCZlYWN1dGU7IHRyYWl0JmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzPC9wPg0KPC91bD4NCjxwPkNvbmZvcm0mZWFjdXRlO21lbnQgJmFncmF2ZTsgbGEgbGljZW5jZSBHUEwsIGNlIG1vZHVsZSBlc3QgZGlzdHJpYnUmZWFjdXRlOyB0ZWwgcXVlbC4gVmV1aWxsZXogdm91cyByJmVhY3V0ZTtmJmVhY3V0ZTtyZXIgZGlyZWN0ZW1lbnQgJmFncmF2ZTsgbGEgbGljZW5jZSBwb3VyIHRvdXQgYXZpcyBkZSBub24gcmVzcG9uc2FiaWxpdCZlYWN1dGU7LjwvcD4NCjxoMz5SZXF1aXM8L2gzPg0KPHA+UG91ciBsJiMwMzk7aW1wbCZlYWN1dGU7bWVudGF0aW9uIGRlIGxhIHImZWFjdXRlO2luaXRpYWxpc2F0aW9uIGRlIG1vdCBkZSBwYXNzZSBvdWJsaSZlYWN1dGU7LCBjZSBtb2R1bGUgcmVxdWllcnQgcXVlIGxlIG1vZHVsZSBDTVNNYWlsZXIgc29pdCBwciZlYWN1dGU7YWxhYmxlbWVudCBpbnN0YWxsJmVhY3V0ZTsuPC9wPg0KPGgzPkNvcHlyaWdodCBldCBMaWNlbmNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBUb3VzIGRyb2l0cyByJmVhY3V0ZTtzZXJ2JmVhY3V0ZTtzLjwvcD4NCjxwPkNlIG1vZHVsZSBlc3QgZGlzdHJpYnUmZWFjdXRlOyBzb3VzIGxhIGxpY2VuY2UgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBWb3VzIGRldmV6IGFnciZlYWN1dGU7ZXIgYXV4IHRlcm1lcyBkZSBjZXR0ZSBsaWNlbmNlIHBvdXIgcG91dm9pciB1dGlsaXNlciBjZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNzE4MDgwODkuMTEuNi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9cHJvZmlsZS5teXNwYWNlLmNvbXx1dG1jY3Q9L2luZGV4LmNmbXx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMTE5MTgzOTAuMTE2ODc3MzAzNi4xMTcxODA4MDg5LjExNzQ2NTE0MTYuMTInOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ0lEL0FsaWFzIGRlbGxhIHBhZ2luYSBhIGN1aSBhbmRhcmUgZG9wbyBsYSB2ZXJpZmljYSBkZWwgY29kaWNlIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIGRldHRhZ2xpIFBlcmRpdGEgVXNlcm5hbWUnOwokbGFuZ1snbG9zdHVuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdNb2RlbGxvIENvbmZlcm1hIFBlcmRpdGEgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdFcnJvcmU6IFBpJnVncmF2ZTsgZGkgdW4gYWNjb3VudCBjb2luY2lkZSBjb24gbGEgcHJvcHJpZXQmYWdyYXZlOyBzcGVjaWZpY2F0YSc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvcmU6IE5vbiB0cm92byBuZXNzdW4gdXRlbnRlJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcmU6IE5vbiB0cm92byB1biBncnVwcG8gY29uIHF1ZWwgbm9tZSc7CiRsYW5nWydyZWFkb25seSddID0gJ1NvbGEgbGV0dHVyYSc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnQ2xhc3NlIHBlciBsYSBtYW5pcG9sYXppb25lIHV0ZW50aSc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdEaXNjb25uZXNzbyBkYWxsJiMwMzk7YW1taW5pc3RyYXRvcmUnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ01vc3RyYSBzb2xvIHV0ZW50aSBsb2dnYXRpJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dvdXQgcXVlc3RvIHV0ZW50ZSc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdQcm9waWV0JmFncmF2ZTsgdXRlbnRlJzsKJGxhbmdbJ3VzZXJoaXN0b3J5J10gPSAnQ3Jvbm9sb2dpYSB1dGVudGUnOwokbGFuZ1snZXhwb3J0J10gPSAnRXNwb3J0YXppb25lJzsKJGxhbmdbJ2NsZWFyJ10gPSAnUHVsaXNjaSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFc3BvcnRhIGxvIHN0b3JpY28gdXRlbnRlIGFkIEFTQ0lJJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnUHVsaXNjaSBpIHJlY29yZCBkZWxsbyBzdG9yaWNvIHV0ZW50ZSc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdGb3JtIGRpIHN1cHBvcnRvIFBlcmRpdGEgVXNlcm5hbWUnOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXNwb3J0YSBkZWZpbml6aW9uZSBkZWwgZ3J1cHBvIChlIHByb3ByaWV0JmFncmF2ZTspIGEgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdHZXN0aW9uZSBzdG9yaWNvIHV0ZW50ZSc7CiRsYW5nWyd5ZXMnXSA9ICdTJmlncmF2ZTsnOwokbGFuZ1snbm8nXSA9ICdObyc7CiRsYW5nWydwcm9tcHRfb2YnXSA9ICdkaSc7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBOZXNzdW4gbGltaXRlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ1ZlY2NoaW8gZGkgdW4gb3JhJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1ZlY2NoaW8gZGkgc2VpIG9yZSc7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICdWZWNjaGlvIGRpIGRvZGljaSBvcmUnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdWZWNjaGlvIGRpIHVuIGdpb3Jubyc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdWZWNjaGlvIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1ZlY2NoaW8gZGkgZHVlIHNldHRpbWFuZSc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnVmVjY2hpbyBkaSB1biBtZXNlJzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdWZWNjaGlvIGRpIHRyZSBtZXNpJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnVmVjY2hpbyBkaSBzZWkgbWVzaSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdWZWNjaGlvIGRpIHVuIGFubm8nOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnUmFnZ3J1cHBhbWVudG8gZSBvcmRpbmFtZW50byc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVjb3JkIGNoZSB2ZXJpZmljYW5vIGlsIGNyaXRlcmlvJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnVXNlcm5hbWUgZGlzY2VuZGVudGknOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1VzZXJuYW1lIGFzY2VuZGVudGknOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0RhdGEgZGlzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnRGF0YSBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1RpcG8gZXZlbnRvIGRpc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnVGlwbyBldmVudG8gYXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdJbmRpcml6emkgSXAgZGlzY2VuZGVudGknOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJbmRpcml6emkgSXAgYXNjZW5kZW50aSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTmVzc3VuYSBjcm9ub2xvZ2lhIHRyb3ZhdGEnOwokbGFuZ1sncmVzZXQnXSA9ICdBenplcmEnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cHBvIHBlciBpbmRpcml6em8gSVAnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdGaWx0cm8gcGVyIHRpcG8gZGkgZXZlbnRvJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1Zpc3VhbGl6emEgc29sbyBnbGkgZXZlbnRpIGNoZSBzb25vIG1lbm8gZGk6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdMaW1pdGUgcGFnaW5hJzsKJGxhbmdbJ2ZvciddID0gJ3Blcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1JlcG9ydCBzdG9yaWNvIHV0ZW50ZSc7CiRsYW5nWyd1bmtub3duJ10gPSAnU2Nvbm9zY2l1dG8nOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0luZGlyaXp6byBJUCc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVGlwbyBldmVudG8nOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRhJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdSaXRvcm5hJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdPcGVyYXppb25lIGRpIGltcG9ydGF6aW9uZSBjb21wbGV0YXRhJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0xpbmVlIHByb2Nlc3NhdGUnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9yaSBpbmNvbnRyYXRpJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICdSZWNvcmQgYWdnaXVudGknOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ05vbiB0cm92byBwcm9wcmlldCZhZ3JhdmU7IHBlciBpbCBncnVwcG8gJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdOb24gaG8gcmVzcG9uc28gZGFsIHNlcnZlciBTTVRQJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0lsIGZpbGUgc3BlY2lmaWNhdG8gKCVzKSBub24gJmVncmF2ZTsgc3RhdG8gdHJvdmF0byc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnVmFsb3JpIG5vbiB2YWxpZGkgcGVyIGNhbXBpIHRlbmRpbmEgbyBtdWx0aXNlbGV6aW9uZSAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0lsIGNhbXBvICVzIGVjY2VkZSBsYSBtYXNzaW1hIGx1bmdoZXp6YSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0Vycm9yZSBkaSBpbXBvcnRhemlvbmUgKGxpbmVhICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ05vbiBobyBkZWZpbml6aW9uaSBkZWxsYSBwcm9wcmlldCZhZ3JhdmU7IChlcnJvcmUgaW50ZXJubyknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnSW5mb3JtYXppb25pIHN1bCBwcm9ibGVtYSBjb25maWd1cmF6aW9uZSB1dGVudGUnOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ05vbiB0cm92byB1bmEgY29sb25uYSBjaGUgY29pbmNpZGEgY29uIGlsIGNhbXBvIHJpY2hpZXN0byAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ05vbiB0cm92byBwcm9wcmlldCZhZ3JhdmU7IHBlciBpbCBncnVwcG8gc3BlY2lmaWNhdG8nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0lsIGZpbGUgc3BlY2lmaWNhdG8gcGVyIGwmIzAzOTtpbXBvcnRhemlvbmUgbm9uICZlZ3JhdmU7IG5lbCBmb3JtYXRvIGNvcnJldHRvJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnXSA9ICdOb24gcG9zc28gYXByaXJlIGlsIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ1V0ZW50aSBpbXBvcnRhdGkgaW4gcXVlc3RvIGdydXBwbyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdDU1YgZmlsZSBkaSBpbnB1dCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0ltcG9ydGEgWE1MIEZpbGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnRXhwb3J0YSAgdXNlcnMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0YSB1c2Vycyc7CiRsYW5nWydwcm9tcHRfY2xlYXInXSA9ICdQdWxpc2NpJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnUGF0aCBkZWxsJiMwMzk7aW1tYWdpbmUgZGkgZGVzdGluYXppb25lJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnUHJvYmxlbWEgb2Njb3JzbyBjb24gdW5vIHNjb21wYXJzbyAobWEgcmljaGllc3RvKSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ05vbiByaWVzY28gYSBjYXBpcmUgaWwgZmlsZSBYTUwnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ05vbiBwb3RldGUgY2FuY2VsbGFyZSB1biBncnVwcG8gY2hlIGNvbnRpZW5lIGFuY29yYSB1dGVudGknOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ1F1ZXN0byB1dGVudGUgJmVncmF2ZTsgY29ycmVudGVtZW50ZSBjb2xsZWdhdG8nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnSWwgdGVzdG8gZGFsbCYjMDM5O2ltbWFnaW5lIG5vbiAmZWdyYXZlOyBzdGF0byBpbnNlcml0byBjb3JyZXR0YW1lbnRlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdQZXJtZXR0ZSBhZ2xpIHV0ZW50aSBkaSBjb25uZXR0ZXJzaSBwaSZ1Z3JhdmU7IHZvbHRlIGNvbnRlbXBvcmFuZWFtZW50ZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnRXN0ZW5zaW9uaSBkZWwgZmlsZSBpbW1hZ2luZSBkaSB1cGxvYWQgcGVybWVzc2kgYWxsJiMwMzk7dXRlbnRlJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gdXRlbnRlIHZpZW5lIGNhbmNlbGxhdG88L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIElsIG5vbWUgdXRlbnRlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEwmIzAzOTtJRCB1dGVudGU8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB2aWVuZSBjcmVhdG8gdW4gdXRlbnRlPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIElsIG5vbWUgdXRlbnRlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEwmIzAzOTtJRCB1dGVudGU8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB1biB1dGVudGUgJmVncmF2ZTsgYWdnaW9ybmF0byAobyBkYWxsbyBzdGVzc28gdXNlciBvIGRhIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBJbCBub21lIHV0ZW50ZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBMJiMwMzk7SUQgdXRlbnRlPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB2aWVuZSBjcmVhdG8gdW4gZ3J1cHBvPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIElsIG5vbWUgZGVsIGdydXBwbzwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBMYSBkZXNjcml6aW9uZSBkZWwgZ3J1cHBvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEwmIzAzOTtJRCBkZWwgZ3J1cHBvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB2aWVuZSBjYW5jZWxsYXRvIHVuIGdydXBwbzwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBJbCBub21lIGRlbCBncnVwcG88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIGRlbCBncnVwcG88L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHVuIHV0ZW50ZSBlZmZldHR1YSBsJiMwMzk7YWNjZXNzbzwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gSWwgbm9tZSBkZWxsJiMwMzk7dXRlbnRlIGNoZSBoYSBlZmZldHR1YXRvIGwmIzAzOTthY2Nlc3NvPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIEwmIzAzOTtpbmRpcml6em8gSVAgZGVsIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHVuIHV0ZW50ZSBzaSBkaXNjb25uZXR0ZTwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gSWwgbm9tZSBkZWxsJiMwMzk7dXRlbnRlIGRpc2Nvbm5lc3NvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEwmIzAzOTtJRCB1dGVudGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gc2NhZGUgdW5hIHNlc3Npb25lIHV0ZW50ZTwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gSWwgbm9tZSBkZWxsJiMwMzk7dXRlbnRlIHNjYWR1dG88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIGRlbGwmIzAzOTt1dGVudGUgc2NhZHV0bzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gdXRlbnRlIHNpIGNvbm5ldHRlIGFsIHNpc3RlbWEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gdXRlbnRlIHNpIGRpc2Nvbm5ldHRlIGRhbCBzaXN0ZW1hJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyBsYSBzZXNzaW9uZSB1dGVudGUgc2NhZGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdVbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNyZWF0byB1biBudW92byB1dGVudGUnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdVbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIGxlIGluZm9ybWF6aW9uaSB1dGVudGUgc29ubyBhZ2dpb3JuYXRlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB2aWVuZSBjYW5jZWxsYXRvIHVuIGFjY291bnQgdXRlbnRlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdmllbmUgY3JlYXRvIHVuIG51b3ZvIGdydXBwbyc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdVbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNhbmNlbGxhdG8gdW4gZ3J1cHBvJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdHcnVwcG8gZGkgQmFja2VuZCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIExlIHNlZ3VlbnRpIG1hY3JvIHBvc3Nvbm8gZXNzZXJlIHVzYXRlIGluIHF1ZXN0byBjYW1waTogeyR1c2VybmFtZX0seyRncm91cH0uIFF1YW5kbyB1c2F0ZSBsYSBtYWNybyB7JGdyb3VwfSwgaWwgc2lzdGVtYSBzb3N0aXR1aXImYWdyYXZlOyBpbCBub21lIGRlbCBwcmltbyBncnVwcG8gdXRlbnRpIGEgY3VpIGFwcGFydGllbmUgbCYjMDM5O3V0ZW50ZSBlIHJlZGlyZXppb25lciZhZ3JhdmU7IGEgcXVlbGxhIHBhZ2luYS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ01vZGlmaWNhIHF1ZXN0byBjYW1wbyBwZXIgcmVzZXR0YXJlIGxlIHBhc3N3b3JkIHV0ZW50aSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTW9kaWZpY2EgcXVlc3RvIGNhbXBvIHBlciByZXNldHRhcmUgbGUgcGFzc3dvcmQgdXRlbnRpJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0VzaXN0ZSBnaSZhZ3JhdmU7IHVuIHV0ZW50ZSBjb24gcXVlc3RvIHVzZXJuYW1lJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05lc3N1biByaXN1bHRhdG8gcmljZXZ1dG8gZGFsbCYjMDM5O2VzcG9ydGF6aW9uZSBjc3YnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTHVuZ2hlenphIGRlbCBjYW1wbyB1c2VybmFtZSc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMdW5naGV6emEgZGVsIGNhbXBvIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdMdW5naGV6emUgTWluL01heCBub24gdmFsaWRlIGRlbGxhIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdMdW5naGV6emUgTWluL01heCBub24gdmFsaWRlIGRlbGxvIHVzZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdJbmRpcml6em8gRW1haWwgaW52YWxpZG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdOb24gdHJvdm8gdW4gaW5kaXJpenpvIGVtYWlsIHBlciBxdWVzdG8gYWNjb3VudCc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbWEgbmVsbGEgY29uZmlndXJhemlvbmUgZGVsbGUgaW5mb3JtYXppb25pIHV0ZW50ZSc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdQcm9ibGVtYSBuZWxsYSBjb25maWd1cmF6aW9uZSBkZWxsZSBwcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVdGVudGUgYWdnaXVudG8gJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdVdGVudGUgY2FuY2VsbGF0byB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWxvcmUgKGVzcHJlc3Npb25lIHJlZ29sYXJlKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ0F0dGVuemlvbmU6IFF1ZXN0aSBjYW1waSBpbmZsdWlzY29ubyBzdWxsYSBkaW1lbnNpb25lIGRlaSBjYW1waSBkaSBpbnB1dCBkZWkgZm9ybS4gUG90cmViYmUgbm9uIGVzc2VyZSBjb25zaWdsaWFiaWxlIGRpbWludWlyZSBxdWVzdG8gbnVtZXJvIHN1IHVuIHNpdG8gZXNpc3RlbnRlJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDYW1iaWFyZSBsZSBwcmVmZXJlbnplIGRpIGFtbWluaXN0cmF6aW9uZT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0luZGlyaXp6byBlbWFpbCBnaSZhZ3JhdmU7IHVzYXRvJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1VzYSBjb29raWVzIHBlciByaWNvcmRhcmUgaSBkZXR0YWdsaSBkZWwgbG9naW4nOwokbGFuZ1sncHJvbXB0X2Nvb2tpZW5hbWUnXSA9ICdOb21lIGRlbCBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQZXJtZXR0aSBlbWFpbCBkdXBsaWNhdGUnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnU2kgY2VyY2EgZGkgdGVuZXIgdml2YSBsYSBzZXNzaW9uZSBjb24gbCYjMDM5O3VzbyBkaSB1biBjb29raWUgPGVtPihpbCBjb29raWUgJmVncmF2ZTsgY29udGludWFtZW50ZSByZXNldHRhdG8gY29uIGwmIzAzOTthdHRpdml0JmFncmF2ZTsgc3VsIHNpdG8pPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHBlcm1ldHRpIHBpJnVncmF2ZTsgdXRlbnRpIGNvbiBsbyBzdGVzc28gaW5kaXJpenpvIGVtYWlsKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ1Blcm1ldHRpIHJpY2hpZXN0ZSBtdWx0aXBsZSBwZXIgcGFzc3dvcmQgZGltZW50aWNhdGU/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhwZXJtZXR0ZSBhZCB1biB1dGVudGUgZGkgcmljaGllZGVyZSBsJiMwMzk7YXp6ZXJhbWVudG8gZGVsbGEgcGFzc3dvcmQgYW5jaGUgc2Ugbm9uIGhhIHBvcnRhdG8gYSB0ZXJtaW5lIHVuYSByaWNoaWVzdGEgcHJlY2VkZW50ZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2EgaSBwZXJtZXNzaSBzcGVjaWZpY2kgZGVsIG1vZHVsbyBGcm9udEVuZFVzZXI/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxtZW50ZSBpIHBlcm1lc3NpIHBlciBGRVVzZXJzIHNvbm8gZ2xpIHN0ZXNzaSBkZWdsaSBlcXVpdmFsZW50aSBwZXJtZXNzaSBuZWxsJiMwMzk7YXJlYSBBbW1pbmlzdHJhemlvbmUgY29tZSBBZ2dpdW5naSBVdGVudGUsIEFnZ2l1bmdpIEdydXBwbywgZXRjLiBTZSBzZWxlemlvbmF0ZSBxdWVzdGEgb3B6aW9uZSBjaSBzYXJhbm5vIHBlcm1lc3NpIHNlcGFyYXRpIHBlciBGRVVzZXJzLiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ05vbiB0cm92byBpbCBmaWxlIGRpIHVwbG9hZCAoZXJyb3JlIGludGVybm8pJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnU2kgJmVncmF2ZTsgdmVyaWZpY2F0byB1biBwcm9ibGVtYSBuZWwgZmlsZSBzcGVkaXRvLiBTaSBwcmVnYSBkaSByaXByb3ZhcmUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnTm9uIGF2ZXRlIGluc2VyaXRvIHVuIG5vbWUgdXRlbnRlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ05vbiBhdmV0ZSBpbnNlcml0byB1bmEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0xvZ291dCBVdGVudGUgRnJvbnRFbmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnTG9naW4gVXRlbnRlJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjpyZWQmcXVvdDs+PGI+VVNBUkUgQ09OIENBVVRFTEE8L2I+IHF1YW5kbyBtb2RpZmljYXRlIHByb3ByaWV0JmFncmF2ZTsgZXNpc3RlbnRpIGNoZSBzb25vIGFzc2VnbmF0ZSBhIGdydXBwaSwgcG90ZXRlIHBvdGVuemlhbG1lbnRlIGNhdXNhcmUgZGFubmkgZSBibG9jY2FyZSB1biBzaXRvIGVzaXN0ZW50ZSA8aT4oc3BlY2lhbG1lbnRlIHNlIHJpZHVjZXRlIGxhIGx1bmdoZXp6YSBkZWkgY2FtcGksIGV0Yyk8L2k+PC9zcGFuPic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1F1ZXN0YSBmdW56aW9uZSBub24gZnVuemlvbmEgc3Ugd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnTm9uIGNyZWF0ZSB1bmEgcHJvcHJpZXQmYWdyYXZlOyBwZXIgdXNlcm5hbWUgbyBwYXNzd29yZCwgcG9pY2gmZWdyYXZlOyBxdWVzdGUgcHJvcHJpZXQmYWdyYXZlOyBzb25vIGdpJmFncmF2ZTsgaW5zZXJpdGUgbmVsIG1vZHVsbyBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFc3BvcnRhIGdsaSB1dGVudGkgaW4gQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0VzcG9ydGEnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0YSc7CiRsYW5nWydhZG1pbiddID0gJ0FtbWluaXN0cmF6aW9uZSc7CiRsYW5nWydlZGl0cHJvcCddID0gJ01vZGlmaWNhIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFzc2ltYSBsdW5naGV6emEnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRpbmF0byBwZXInOwokbGFuZ1snc29ydCddID0gJ09yZGluYW1lbnRvJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1V0ZW50aSBuZWwgZ3J1cHBvL2kgc2VsZXppb25hdG8vaSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdGEgcmlzdWx0YXRpIGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTm9uIHJpZXNjbyBhIHRyb3ZhcmUgdW4gY2FtcG8gZW1haWwgcGVyIHF1ZXN0byB1dGVudGUuIENvbnRhdHRhcmUgbCYjMDM5O2FtbWluaXN0cmF0b3JlIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnSUQvQWxpYXMgZGVsbGEgcGFnaW5hIHBlciBpbCBtb2R1bG8gZGkgUGFzc3dvcmQgZGltZW50aWNhdGEnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdJRC9BbGlhcyBkZWxsYSBwYWdpbmEgcGVyIGlsIG1vZHVsbyBkaSBNb2RpZmljYSBjb25maWd1cmF6aW9uaSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0lEL0FsaWFzIGRlbGxhIHBhZ2luYSBhIGN1aSBhbmRhcmUgZG9wbyBpbCBsb2dpbiAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ0lEL0FsaWFzIGRlbGxhIHBhZ2luYSBhIGN1aSBhbmRhcmUgZG9wbyBpbCBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdPcmRpbmEnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtZXJvIGRpIHV0ZW50aSBzb25vIG5lbCBtZXp6byBkZWxsJiMwMzk7YXp6ZXJhbWVudG8gZGVsbGEgbG9ybyBwYXNzd29yZCBkaW1lbnRpY2F0ZS4gSW4gcXVlc3RvIG1vbWVudG8gc29ubzonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSaW11b3ZpIHR1dHRlIGxlIGVudGl0JmFncmF2ZTsgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmltdW92aSB0dXR0ZSBsZSBlbnRpdCZhZ3JhdmU7IHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBtZXNlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JpbXVvdmkgdHV0dGUgbGUgZW50aXQmYWdyYXZlOyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU2lldGUgc2ljdXJpPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0UmIzAzOTsgc3RhdG8gaW4gc2VyaXRvIHVuIGNvZGljZSBub24gdmFsaWRvLCBwcm92YXRlIGRpIG51b3ZvJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdOb24gJmVncmF2ZTsgcG9zc2liaWxlIHRyb3ZhcmUgdW4gY29kaWNlIHRlbXBvcmFuZW8gcGVyIGlsIHZvc3RybyBJRCB1dGVudGUgbmVsIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnTW9kZWxsbyB1c2F0byBwZXIgdmlzdWFsaXp6YXJlIGlsIG1vZHVsbyBkaSB2ZXJpZmljYSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTW9kZWxsbyB1c2F0byBwZXIgbGEgZW1haWwgcGVyIHBhc3N3b3JkIGRpbWVudGljYXRhJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdWb2kgbyBxdWFsY3VuJiMwMzk7YWx0cm8gaGEgZ2kmYWdyYXZlOyByaWNoaWVzdG8gZGkgYXp6ZXJhcmUgbGEgcGFzc3dvcmQgcGVyIHF1ZXN0byBhY2NvdW50LiBDb250cm9sbGF0ZSBsYSB2b3N0cmEgZW1haWwsIGRvdnJlc3RlIGF2ZXJlIHJpY2V2dXRvIGxlIGlzdHJ1emlvbmkgc3UgY29tZSBhenplcmFyZSBsYSB2b3N0cmEgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm9yZSBkZWwgZGF0YWJhc2UnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnQXZldGUgcmljZXZ1dG8gcXVlc3RvIG1lc3NhZ2dpbyBwZXJjaCZlZ3JhdmU7IHF1YWxjdW5vIGhhIHNlZ25hbGF0byBzdWwgbm9zdHJvIHNpdG8gY2hlIGF2ZXRlIHBlcnNvIGxhIFZvc3RyYSBwYXNzd29yZC4gU2UgJmVncmF2ZTsgY29ycmV0dG8sIGxlZ2dldGUgbGUgaXN0cnV6aW9uaSBzb3R0b3N0YW50aS4gU2Ugbm9uIHNhcGV0ZSBkaSBjb3NhIHNpIHRyYXR0aSwgcG90ZXRlIHRyYW5xdWlsbGFtZW50ZSBjYW5jZWxsYXJlIHF1ZXN0byBtZXNzYWdnaW8sIGdyYXppZSBwZXIgaWwgdGVtcG8gZGVkaWNhdG9jaS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RpY2UnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnSWwgc2VndWVudGUgY29kaWNlICZlZ3JhdmU7IHN0YXRvIGdlbmVyYXRvIGluIG1hbmllcmEgY2FzdWFsZSBwZXIgdmVyaWZpY2FyZSBsJiMwMzk7YWNjb3VudCB1dGVudGUuIFF1YW5kbyBmYXRlIGNsaWNrIHN1bCBsaW5rIHNvdHRvc3RhbnRlIHZlcnImYWdyYXZlOyB2aXN1YWxpenphdG8gdW4gY2FtcG8gaW4gY3VpIGluc2VyaXJlIHF1ZXN0byBjb2RpY2UuIE5vcm1hbG1lbnRlIGlsIGNhbXBvICZlZ3JhdmU7IHByZS1jb21waWxhdG8gcGVyIFZvaSwgbWEgc2UgY29zJmlncmF2ZTsgbm9uIGZvc3NlIGlsIGNvZGljZSAmZWdyYXZlOzonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdTZWd1ZW5kbyBpbCBsaW5rIHNlZ3VlbnRlIHZlcnJldGUgcG9ydGF0aSBhbCBzaXRvIHdlYiBkb3ZlIGluc2VyaXJlIGlsIGNvZGljZSByaXBvcnRhdG8gc29wcmEgcGVyIGF6emVyYXJlIGxhIHZvc3RyYSBwYXNzd29yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1Bhc3N3b3JkIHBlcnNhJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTm9uIHRyb3ZvIGlsIG1vZHVsbyBDTVNNYWlsZXInOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnVW5hIGVtYWlsICZlZ3JhdmU7IHN0YXRhIHNwZWRpdGEgYWxsJiMwMzk7aW5kaXJpenpvICVzIGNvbiBsZSBpc3RydXppb25pIHN1IGNvbWUgYXp6ZXJhcmUgbGEgdm9zdHJhIHBhc3N3b3JkLiBHcmF6aWUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdBdmV0ZSBxdWluZGkgZGltZW50aWNhdG8gbyBwZXJzbyBsYSB2b3N0cmEgcGFzc3dvcmQuIERpZ2l0YXRlIGlsIHZvc3RybyBub21lIHV0ZW50ZSBlIHNlIHZlcnImYWdyYXZlOyB0cm92YXRvIHNwZWRpcmVtbyB1bmEgZW1haWwgY29uIGxlIGlzdHJ1emlvbmkgc3UgY29tZSBhenplcmFybGEnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBQYXNzd29yZCBkaW1lbnRpY2F0YSc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIFBlcmRpdGEgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcHJpZXQmYWdyYXZlOyAlcyBub24gdHJvdmF0YSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnUHJvcHJpZXQmYWdyYXZlOyB0cm92YXRhJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZ2dpdW5naSBQcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdVbiBjYW1wbyByaWNoaWVzdG8gKCVzKSBlcmEgdnVvdG8nOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdJbnNlcmlyZSBzb2xvIHBlciBtb2RpZmljYXJlIHF1ZWxsYSBwcmVjZWRlbnRlJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnU2VtYnJhIGNoZSBub24gYWJiaWF0ZSBlZmZldHR1YXRvIGwmIzAzOTthY2Nlc3NvJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXppb25lJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnUXVlc3RvIGFjY291bnQgJmVncmF2ZTsgc2NhZHV0byc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnRm9ybWF0dGF6aW9uZSBkZWxsJiMwMzk7aW5kaXJpenpvIGRpIGVtYWlsIG5vbiB2YWxpZGEnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdEYXRhIGRpIHNjYWRlbnphIG5vbiB2YWxpZGEnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yZSBuZWxsJiMwMzk7aW1wb3N0YXppb25lIGRlbGxhIHByb3ByaWV0JmFncmF2ZTsgJXMgcGVyIGwmIzAzOTt1dGVudGUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJRCBkaSBncnVwcG8gJXMgbm9uIHZhbGlkbyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ01hcmNhdG9yZSBkZWwgY2FtcG8gbmFzY29zdG8nOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ0NvbG9yZSBkZWwgY2FtcG8gbmFzY29zdG8nOwokbGFuZ1snaGlkZGVuJ10gPSAnTmFzY29zdG8nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1VuYSBwcm9wcmlldCZhZ3JhdmU7IGNvbiBxdWVsIG5vbWUgJmVncmF2ZTsgZ2kmYWdyYXZlOyBkZWZpbml0YSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgZGVmaW5pdGEnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgc2VsZXppb25hdGEgcGVyIHF1ZXN0byBncnVwcG8nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdOZXNzdW4gZ3J1cHBvIGRlZmluaXRvJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3J1cHBpIHRyb3ZhdGknOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ0UmIzAzOTsgbmVjZXNzYXJpbyBlc3NlcmUgbWVtYnJvIGRpIGFsbWVubyB1biBncnVwcG8nOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1JpY2hpZWRlIGVzc2VyZSBtZW1icm8gZGkgYWxtZW5vIHVuIGdydXBwbyc7CiRsYW5nWydiYWNrJ10gPSAnSW5kaWV0cm8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzICZlZ3JhdmU7IHVuIGNhbXBvIG9iYmxpZ2F0b3Jpbyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyY2EgaSBjYW1waSByaWNoaWVzdGkgY29uJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0V2aWRlbnppYXJlIGkgY2FtcGkgcmljaGllc3RpIGluJzsKJGxhbmdbJ25leHQnXSA9ICdQcm9zc2ltbyc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ1VuIGdydXBwbyBjb24gcXVlbCBub21lICZlZ3JhdmU7IGdpJmFncmF2ZTsgcHJlc2VudGUnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdDYW1wbyBvYmJsaWdhdG9yaW8nOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdGYWNvbHRhdGl2byc7CiRsYW5nWydvZmYnXSA9ICdPZmYnOwokbGFuZ1snc2l6ZSddID0gJ0RpbWVuc2lvbmUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIgLz4oTWFzc2ltbyBsYXRvIGRpIHVuYSBpbW1hZ2luZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0x1bmdoZXp6YSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyIC8+KGNhcmF0dGVyaSBuZWwgY2FtcG8gZGkgdGVzdG8pJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdPcHppb25pIGRlbGxhIHRlbmRpbmEsIHNlcGFyYXRpIGRhIGZpbmUgbGluZWEuIFZhbG9yaSBwb3Nzb25vIGVzc2VyZSBzZXBhcmF0aSBkYWwgdGVzdG8gY29uIHVuID0sIHBlciBlc2VtcGlvIEZlbW1pbmE9Zic7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUaXBvJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXBvJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnU3RhdG8gZGVsIGNhbXBvJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0NoaWVkaSBpbiBQZXJkaXRhPGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGVzdG8nOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0xpc3RhIE11bHRpIFNlbGVjdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltbWFnaW5lJzsKJGxhbmdbJ2VtYWlsJ10gPSAnSW5kaXJpenpvIGVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnQXJlYSBkaSB0ZXN0byc7CiRsYW5nWydkcm9wZG93biddID0gJ1RlbmRpbmEnOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdCZW52ZW51dG8nOwokbGFuZ1snbG9nb3V0J10gPSAnVXNjaXRhJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2EgcXVlc3RvIG5vbWUgZGkgZ3J1cHBvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01vZGlmaWNhIGxlIG1pZSBpbXBvc3RhemlvbmknOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBmYWxsaXRvIC0gbm9tZSB1dGVudGUgbyBwYXNzd29yZCBzYmFnbGlhdGk/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnQWNjZWRpJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnRXRpY2hldHRhIGRlbCBwdWxzYW50ZSBkaSBBY2Nlc3NvJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ05vbWUgdXRlbnRlJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnUmljb3JkYW1pIHN1IHF1ZXN0byBjb21wdXRlcic7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdHJhdGknOwokbGFuZ1snZm9yZ290cHcnXSA9ICdQYXNzd29yZCBkaW1lbnRpY2F0YT8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnRGltZW50aWNhdG8gaWwgVm9zdHJvIGxvZ2luPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1ZhbG9yaSBwcmVkZWZpbml0aSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01vZGVsbG8nOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSUQgdXRlbnRlIG5vbiB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdRdWVzdG8gdXNlcm5hbWUgKCVzKSAmZWdyYXZlOyBnaSZhZ3JhdmU7IGluIHVzbyc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNhcmUgU01UUCBwZXIgdmFsaWRhcmUgaW5kaXJpenppIGVtYWlsPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdMdW5naGV6emEgbWluaW1hIGRlbGxhIHBhc3N3b3JkJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ0x1bmdoZXp6YSBtYXNzaW1hIGRlbGxhIHBhc3N3b3JkJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ0x1bmdoZXp6YSBtaW5pbWEgZGVsIG5vbWUgdXRlbnRlJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ0x1bmdoZXp6YSBtYXNzaW1hIGRlbCBub21lIHV0ZW50ZSc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdUaW1lb3V0IGRlbGxhIHNlc3Npb25lIChzZWNvbmRpKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnVXNvIGNvb2tpZXMgcGVyIHRlbmVyIHZpdm8gaWwgbG9naW4nOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdQZXJtZXR0aSByZWdpc3RyYXppb25lIEVtYWlsJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdHcnVwcG8gcHJlZGVmaW5pdG8gcGVyIG51b3ZpIHV0ZW50aSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0NhbWJpYSBpbCBNb2RlbGxvIGRlbGxlIGNvbmZpZ3VyYXppb25pJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdMZSBwYXNzd29yZCBub24gY29pbmNpZG9ubyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSBub24gdmFsaWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhc3N3b3JkIG5vbiB2YWxpZGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNb2RpZmljYSBVdGVudGUnOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZG8nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0byc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdRdWVzdG8gdXRlbnRlIG5vbiAmZWdyYXZlOyBtZW1icm8gZGkgbmVzc3VuIGdydXBwbyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTmVzc3VuYSBQcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnVGVudGF0aXZvIGRpIGltcG9ydGFyZSBwcm9wcmlldCZhZ3JhdmU7IGR1cGxpY2F0ZSc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbG9yZSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGknOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1Byb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOb21lIGRlbGxhIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnVmFsb3JlIGRlbGxhIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1snYWRkJ10gPSAnQWdnaXVuZ2VyZSc7CiRsYW5nWydoaXN0b3J5J10gPSAnQ3Jvbm9sb2dpYSc7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpY2EnOwokbGFuZ1snZXhwaXJlcyddID0gJ1NjYWRlbnplJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZmljYXJlIHVuYSBkYXRhJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgT3JlJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgT3JlJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggT3JlJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBTZXR0aW1hbmEnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBTZXR0aW1hbmUnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNZXNlJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIE1lc2knOwokbGFuZ1snNm1vbnRocyddID0gJzYgTWVzaSc7CiRsYW5nWycxeWVhciddID0gJzEgQW5ubyc7CiRsYW5nWyduZXZlciddID0gJ01haSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1bG8gaW5zdGFsbGF0by48YnIgLz5BY2NlcnRhcnNpIGRpIGNvbmZpZ3VyYXJlIGkgcGVybWVzc2kgcGVyICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyBwZXJtaXNzaW9uJnF1b3Q7LiBDb25zaWdsaWFtbyBpbm9sdHJlIGRpIGluc3RhbGxhcmUgaWwgbW9kdWxvIENhcHRjaGEgcG9pY2gmZWdyYXZlOyBwdSZvZ3JhdmU7IGVzc2VyZSByaWNoaWVzdG8gbGEgdmFsaWRhemlvbmUgZGkgdW5hIGltbWFnaW5lLiBRdWVzdG8gJmVncmF2ZTsgaW50ZXNvIHBlciBwcmV2ZW5pcmUgYXR0YWNjaGkgYnJ1dGUgZm9yY2UuICA8c3Ryb25nPk5vdGE6PC9zdHJvbmc+IGlsIHBhcmFtZXRybyBub2NhcHRjaGEgcHUmb2dyYXZlOyBlc3NlcmUgdXNhdG8gcGVyIGRpc2FiaWxpdGFyZSBxdWVzdGEgZnVuemlvbmFsaXQmYWdyYXZlOyBhbmNoZSBzZSBpbCBtb2R1bG8gJmVncmF2ZTsgaW5zdGFsbGF0by4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ2RpIG51b3ZvJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdVbiBncnVwcG8gY29uIHF1ZWwgbm9tZSAmZWdyYXZlOyBnaSZhZ3JhdmU7IHByZXNlbnRlJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ01vZGlmaWNhIEdydXBwbyc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbnZpYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGxhJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnU2lldGUgc2ljdXJpIGNoZSBxdWVzdGUgc2lhbm8gbGUgaW1wb3N0YXppb25pIGNvcnJldHRlIHBlciBxdWVzdG8gZ3J1cHBvP1xuRGlzYXR0aXZhbmRvIHVuYSBwcm9wcmlldCZhZ3JhdmU7IG5vbiBzaSBjYW5jZWxsYW5vIGkgZGF0aSBuZWxsYSB0YWJlbGxhIHByb3ByaWV0JmFncmF2ZTsgcGVyIHF1ZWwgZ3J1cHBvL3V0ZW50ZS4gU2FyYW5ubyBzb2xvIG5vbiBkaXNwb25pYmlsaS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1NpZXRlIHNpY3VyaSBkaSB2b2xlcmUgY2FuY2VsbGFyZSBxdWVzdG8gZ3J1cHBvPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyZSBjYW5jZWxsYXJlIGNvbXBsZXRhbWVudGUgcXVlc3RhIHByb3ByaWV0JmFncmF2ZTs/XG5GYWNlbmRvbG8gc2FyYW5ubyBjYW5jZWxsYXRpIHR1dHRpIGkgZGF0aSBkZWdsaSB1dGVudGkgcGVyIHF1ZXN0YSBwcm9wcmlldCZhZ3JhdmU7Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdQYXJhbWV0cmkgaW5zdWZmaWNpZW50aSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOb21lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbWEgbmVsbCYjMDM5O2FnZ2l1bmdlcmUgcHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbWEgbmVsbCYjMDM5O2FnZ2l1bmdlcmUgcmVsYXppb25lIGRpIGdydXBwbyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVtYSBuZWxsJiMwMzk7YWdnaXVuZ2VyZSBpbCBncnVwcG8nOwokbGFuZ1snZXJyb3JfY2FudGFzc2lnbnVzZXInXSA9ICdQcm9ibGVtYSBuZWxsJiMwMzk7YWdnaXVuZ2VyZSB1biB1dGVudGUgYWwgZ3J1cHBvJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtYSBuZWxsYSBjYW5jZWxsYXppb25lIGRpIHVuYSBwcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnTm9uIHRyb3ZvIHVuIGluZGlyaXp6byBlbWFpbCc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnTmVzc3VuIHBlcm1lc3NvIGRpIHNjcml0dHVyYSBuZWxsYSBjYXJ0ZWxsYSBkaSBkZXN0aW5hemlvbmUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ1BhcmFtZXRyaSBub24gdmFsaWRpJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm9uIHRyb3ZvIGdydXBwaSc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGxpY2EnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdHJvJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdFc3ByZXNzaW9uZSByZWdvbGFyZSBkaSBVc2VybmFtZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXppb25lJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ05vbWUgZ3J1cHBvJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gbmVnYXRvJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3JlJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnQWdnaXVuZ2VyZSBncnVwcG8nOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnRhIEdydXBwbyc7CiRsYW5nWydhZGR1c2VyJ10gPSAnQWdnaXVuZ2VyZSB1dGVudGUnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1Ryb3ZhdGkgdXRlbnRpIGNoZSBzb2RkaXNmYW5vIGlsIGNyaXRlcmlvJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHBvJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZXppb25hIEdydXBwbyc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdNb2RlbGxvIGRpIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkaSBsb2dvdXQnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdNb2RlbGxvIGRpIGxvZ2luJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW56ZSc7CiRsYW5nWyd1c2VycyddID0gJ1V0ZW50aSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdHZXN0aW9uZSB1dGVudGkgZGkgRnJvbnRlbmQnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdQZXJtZXR0aSBhZ2xpIHV0ZW50aSBkaSBlZmZldHR1YXJlIGwmIzAzOTthY2Nlc3NvIGRhbGwmIzAzOTtpbnRlcmZhY2NpYSBkZWwgc2l0byc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnUGFnaW5hIGRpIGFjY2Vzc28gcHJlZGVmaW5pdGEnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1VsdGltYSBwYWdpbmEgYWNjZWR1dGEnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnQWx0cmEgcGFnaW5hOiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0luc2VyaXRlIGlsIHRlc3RvIHZpc3VhbGl6emF0byBuZWxsJiMwMzk7aW1tYWdpbmUnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlICYjMDM5O3NpbGVudCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjUgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZXhwaXJ5IGRhdGVzPC9wPg0KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+DQo8bGk+PHA+MS4wLjYgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4wIC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgeyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoICYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHMmIzAzOTsgd2FzIG9mZjwvcD4NCiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4NCiAgICA8cD5NaW5vciBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjIgLSBEZWMsIDIwMDY8L3A+DQogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4NCiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KICAgIDxsaT48cD4xLjIuMCAtIEFwcmlsLCAyMDA3PC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4NCjxwPjEuMi4xIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KPC9saT4NCjxsaT4xLjMgLSBPY3RvYmVyLCAyMDA3DQo8cD5BZGRlZCBzdXBwb3J0IGZvciAmIzAzOTtyZW1lbWJlciBtZSYjMDM5OyBzbyB0aGF0IGxvZ2luIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBhIGNvb2tpZS4gIEFuZCBzdXBwb3J0IGZvciBhIGZvcm0gdG8gYWxsb3cgdGhhdCBjb29raWUgdG8gYmUgcmVzZXQuPC9wPg0KPHA+Tm8gbG9uZ2VyIHN1cHBvcnQgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHByb3BlcnR5IG5hbWVzLjwvcD4NCjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4NCjxwPlJlcXVpcmUgQ01TIDEuMiBvciBncmVhdGVyLjwvcD4NCjwvbGk+DQo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNw0KPHA+Rml4ZXMgcHJvYmxlbXMgd2l0aCBwYXJhbWV0ZXJzIG5vdCBiZWluZyBjbGVhbmVkIGluIHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZGlhbG9nIG9uIHRoZSBmcm9udCBlbmQuPC9wPg0KPHA+Rml4ZXMgYW4gdXBkcmFkZSBpc3N1ZSBpbiB0aGUgZGF0YWJhc2Ugc2NoZW1hPC9wPg0KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPg0KPHA+QWRkIGEgcHJlZmVyZW5jZSB0aGF0IGFsbG93cyBhZG1pbnMgdG8gc3BlY2lmeSBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdGhlIGZvcmdvdCBwYXNzd29yZCB2YWxpZGF0aW9uIGZvcm0gaXMgY29tcGxldGUuPC9wPg0KPHA+Rml4ZXMgYSBwcm9ibGVtIHdpdGggaGlkZGVuIHByb3BlcnRpZXMgYmVpbmcgbG9zdCBhZnRlciBhIHVzZXIgY2hhbmdlZCB0aGVpciBzZXR0aW5ncy48L3A+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZhbXA7cXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJmFtcDtxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgJiMwMzk7TmV4dCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTI1MTkzNzIuODguMTMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2Zycy98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTE2NTg0MTEwLjExNTI1NDk1ODMuMTE5NDk1NTE0Mi4xMTk0OTYxOTUxLjE1NSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnRnVua3Nqb25lbiBmb3IgbWlzdGV0IGJydWtlcm5hdm4gZGV0YWxqZXIgZXIgZnVsbGYmb3NsYXNoO3J0LiBWaSBoYXIgZnVubmV0IGV0IHVuaWt0IGJydWtlcm5hdm4gc29tIHBhc3NlciB0aWwgZGUgZGV0YWxqZW5lIGR1IGhhciBvcHBnaXR0Lic7CiRsYW5nWyd5b3VyX3VzZXJuYW1lX2lzJ10gPSAnRGl0dCBicnVrZXJuYXZuIGVyJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1ZpIGFuYmVmYWxlciBhdCBkdSB0YXIgdmFyZSBwJmFyaW5nOyBkZW5uZSBpbmZvcm1hc2pvbmVuIHAmYXJpbmc7IGVuIHNpa2tlciwgbWVuIHRpbGdqZW5nZWxpZyBwbGFzcy4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzICZhcmluZzsgaG9wcGUgdGlsIGV0dGVyIGtvZGUgYmVrcmVmdGVsc2UgKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0dsZW10IEJydWtlcm5hdm4gZGV0YWxqbWFsJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnR2xlbXQgQnJ1a2VybmF2biBiZWtyZWZ0ZWxzZXNtYWwnOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdGZWlsOiBNZXJlIGVubiBlbiBicnVrZXJrb250byBwYXNzZXIgbWVkIGRlIHNwZXNpZmlzZXJ0ZSBlZ2Vuc2thcGVyJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0ZlaWw6IEt1bm5lIGlra2UgZmlubmUgZW4gYnJ1a2VyIHNvbSBwYXNzZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0ZlaWw6IEt1bm5lIGlra2UgZmlubmUgZW4gZ3J1cHBlIG1lZCBkZXQgbmF2bmV0JzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnU2tyaXZlYmVza3l0dGV0JzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdCcnVrZXIgTWFuaXB1bGF0b3IgS2xhc3NlJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ0xvZ2dldCB1dCBhdiBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdWaXMga3VuIGRlIHNvbSBlciBpbm5sb2dnZXQnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZ2cgdXQgZGVubmUgYnJ1a2VyZW4nOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnQnJ1a2VyIGVnZW5za2FwZXInOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdCcnVrZXIgaGlzdG9yaWUnOwokbGFuZ1snZXhwb3J0J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2NsZWFyJ10gPSAnVCZvc2xhc2g7bSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFa3Nwb3J0ZXIgQnJ1a2VyaGlzdG9yaWUgdGlsIEFTQ0lJIGZpbCBzb20gZXIgbWluc3QnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdUJm9zbGFzaDttIEJydWtlcmhpc3RvcmllIG9wcGYmb3NsYXNoO3JpbmdlciBzb20gZXIgbWluc3QnOwokbGFuZ1sndGl0bGVfbG9zdHVzZXJuYW1lJ10gPSAnJiMwMzk7VGFwdCBCcnVrZXJuYXZuJiMwMzk7IGhqZWxwZXNramVtYSc7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdFa3Nwb3J0ZXIgZ3J1cHBlZGVmaW5pc2pvbiAob2cgZWdlbnNrYXBlcikgdGlsIFhNTCc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnQmVoYW5kbGUgQnJ1a2VyaGlzdG9yaWUnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWknOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnYXYnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogSW5nZW4gZ3JlbnNlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ0VuIHRpbWUgZ2FtbGUnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnU2VrcyB0aW1lciBnYW1sZSc7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICdUb2x2IHRpbWVyIGdhbWxlJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnRW4gZGFnIGdhbWxlJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0VuIHVrZSBnYW1sZSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVG8gdWtlciBnYW1sZSc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnRW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RyZSBtJmFyaW5nO25lZGVyIGdhbWxlJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnU2VrcyBtJmFyaW5nO25lZGVyIGdhbWxlJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ0V0dCAmYXJpbmc7ciBnYW1sZSc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcnVwcGVyaW5nIG9nIFNvcnRlcmluZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnT3BwZiZvc2xhc2g7cmluZ2VyIHNvbSBwYXNzZXIga3JpdGVyaWV0JzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnU3lua2VuZGUgYnJ1a2VybmF2bic7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnU3RpZ2VuZGUgYnJ1a2VybmF2bic7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnU3lua2VuZGUgRGF0byc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdTdGlnZW5kZSBEYXRvJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1N5bmtlbmRlIEhlbmRlbHNlc3R5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdTdGlnZW5kZSBIZW5kZWxzZXN0eXBlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ1N5bmtlbmRlIElQLWFkcmVzc2UnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdTdGlnZW5kZSBJUC1hZHJlc3NlJzsKJGxhbmdbJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnXSA9ICdJa2tlIG5vZSBoaXN0b3Jpc2sgZnVubmV0JzsKJGxhbmdbJ3Jlc2V0J10gPSAnVGlsYmFrZXN0aWxsJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dydXBwZXIgZXR0ZXIgSVAtYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0hlbmRlbHNlc3R5cGUgRmlsdGVyJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1ZpcyBrdW4gaGVuZGVsc2VyIHNvbSBlciBtaW5kcmUgZW5uOic7CiRsYW5nWydwcm9tcHRfcGFnZWxpbWl0J10gPSAnU2lkZWdyZW5zZSc7CiRsYW5nWydmb3InXSA9ICdmb3IgJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnQnJ1a2VyaGlzdG9yaWUgcmFwcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVWtqZW50JzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUC1hZHJlc3NlJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdIZW5kZWxzZXN0eXBlJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0byc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnVGlsYmFrZSc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IG9wcGdhdmVuIGVyIGZlcmRpZyc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5qZXIgcHJvc2Vzc2VydCc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnRGV0IG9wcHN0b2QgZmVpbCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUG9zdGVyIGxhZ3QgdGlsJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wcmVsbnMnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIGVnZW5za2FwZXIgZm9yIGdydXBwZSAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0Zpa2sgaW5nZW4gcmVzcG9ucyBmcmEgU01UUCBzZXJ2ZXJlbic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdTcGVzaWZpc2VydGUgZmlsZXIgKCVzKSBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ1VneWxkaWcgdmVyZGkgZm9yIG5lZHRyZWtrIGVsbGVyIGZsZXJ2YWxnc2ZlbHQgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdGZWx0ICVzIG92ZXJza3JpZGVyIG1ha3NpbXVtIGxlbmdkZSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBGZWlsIChsaW5qZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLdW5uZSBpa2tlIGYmYXJpbmc7IHRhayBpIGVnZW5za2FwIGRlZmluaXNqb25lbmUgKGludGVybiBmZWlsKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIG1lZCAmYXJpbmc7IHNldHRlIGJydWtlcmluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0t1bm5lIGlra2UgZmlubmUgZW4ga29sb25uZSBzb20gc2Ftc3ZhcnRlIG1lZCBkZXQgbiZvc2xhc2g7ZHZlbmRpZ2UgZmVsdGV0ICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnS3VubmUgaWtrZSBmaW5uZSBlZ2Vuc2thcGVyIGZvciBkZW4gc3Blc2lmaXNlcnRlIGdydXBwZW4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0ZpbGVuIG9wcGdpdHQgZm9yIGltcG9ydCBlciBpa2tlIGkga29ycmVrdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0t1bm5lIGlra2UgJmFyaW5nO3BuZSBmaWxlbic7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0ZXIgQnJ1a2VyZSB0aWwgZGVubmUgZ3J1cHBlbic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbm5kYXRhIENTViBmaWwnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdJbm5kYXRhIFhNTCBmaWwnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnRWtzcG9ydGVyIEJydWtlcmUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0ZXIgQnJ1a2VyZSc7CiRsYW5nWydwcm9tcHRfY2xlYXInXSA9ICdUJm9zbGFzaDttJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnQmlsZGUgbSZhcmluZztsc3RpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnRXQgcHJvYmxlbSBoYXIgb3Bwc3QmYXJpbmc7dHQgbWVkIGVuIG1hbmdsZW5kZSAobWVuIG4mb3NsYXNoO2R2ZW5kaWcpIG9wcGxhc3RpbmcnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0t1bm5lIGlra2UgYmVoYW5kbGUgZGVuIHRpbGJ1ZHRlIFhNTCBmaWxlbic7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGlra2Ugc2xldHRlIGVuIGdydXBwZSBzb20gZm9ydHNhdHQgaGFyIGJydWtlcmUnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0Rlbm5lIGJydWtlcmVuIGVyIGFsbGVyZWRlIGlubmxvZ2dldCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxkZXQgYmxlIGlra2Ugc2tyZXZldCByaWt0aWcnOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1RpbGxhdGVyIGJydWtlcmUgJmFyaW5nOyBsb2dnZSBpbm4gbWVyIGVuIGVuIGdhbmcnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0JpbGRlIGZpbGVuZGVsc2VyIHNvbSBicnVrZXJlIGYmYXJpbmc7ciBsb3YgJmFyaW5nOyBsYXN0ZSBvcHAnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+RW4gaGVuZGVsc2UvZXZlbnQgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlciBzbGV0dGVzPC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gQnJ1a2VybmF2bmV0PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEJydWtlciBJRGVuPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXIgb3BwcmV0dGVzPC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBCcnVrZXJuYXZuZXQ8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gQnJ1a2VyIElEZW48L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+RW4gaGVuZGVsc2UgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlciBlciBvcHBkYXRlcnQgKGVudGVuIGF2IGJydWtlcmVuIHNlbHYgZWxsZXIgYXYgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBCcnVrZXJuYXZuZXQ8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gQnJ1a2VySUQmIzAzOTtlbjwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBncnVwcGUgZXIgb3BwcmV0dGV0PC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBHcnVwcGVuYXZuZXQ8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gR3J1cHBlYmVza3JpdmVsc2VuPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEdydXBwZSBJRGVuPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+RW4gaGVuZGVsc2UvZXZlbnQgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGdydXBwZSBlciBzbGV0dGV0PC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBHcnVwcGVuYXZuZXQ8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gR3J1cHBlIElEZW48L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5FbiBoZW5kZWxzZS9ldmVudCBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2VyIGxvZ2dlciBzZWcgaW5uPC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTmF2bmV0IHAmYXJpbmc7IGJydWtlcmVuIHNvbSBlciBsb2dnZXQgaW5uPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFdlYmtsaWVudGVucyBJUCBhZHJlc3NlIDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5FbiBoZW5kZWxzZS9ldmVudCBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2VyIGxvZ2dlciB1dDwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIE5hdm5ldCBwJmFyaW5nOyBicnVrZXJlbiBzb20gZXIgbG9nZ2V0IHV0PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEJydWtlciBJRGVuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5FbiBoZW5kZWxzZS9ldmVudCBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2Vyc2Vzc2lvbiB1dGwmb3NsYXNoO3BlcjwvcD4NCjxoND5QYXJhbWV0ZXJlaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBOYXZuZXQgcCZhcmluZzsgYnJ1a2VyZW4gc29tIHV0bCZvc2xhc2g7cDwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBCcnVrZXIgSURlbiB0aWwgYnJ1a2VyZW4gc29tIHV0bCZvc2xhc2g7cDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0VuIGhlbmRlbHNlIHNvbSBnZW5lcmVyZXMgbiZhcmluZztyIGVuIGJydWtlciBsb2dnZXIgc2VnIGlubiBpIHN5c3RlbWV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdFbiBoZW5kZWxzZSBzb20gZ2VuZXJlcmVzIG4mYXJpbmc7ciBlbiBicnVrZXIgbG9nZ2VyIHNlZyB1dCBhdiBzeXN0ZW1ldCc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0VuIGhlbmRlbHNlIHNvbSBnZW5lcmVyZXMgbiZhcmluZztyIGVuIGJydWtlci1zZXNzaW9uIGhhciB1dGwmb3NsYXNoO3B0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnRW4gaGVuZGVsc2UgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlciBlciBvcHByZXR0ZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdFbiBoZW5kZWxzZSBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2VycyBpbmZvIGVyIG9wcGRhdGVydCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0VuIGhlbmRlbHNlIGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXJrb250byBlciBzbGV0dGV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0VuIGhlbmRlbHNlIGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXJncnVwcGUgZXIgb3BwcmV0dGV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0VuIGhlbmRlbHNlIGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXJncnVwcGUgZXIgc2xldHRldCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBncnVwcGUnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBEZSBmJm9zbGFzaDtsZ2VuZGUgbWFrcm9lciBrYW4gYnJ1a2VzIGkgZGlzc2UgZmVsdGVuZTogeyR1c2VybmFtZX0seyRncm91cH0uIE4mYXJpbmc7ciB7JGdyb3VwfSBtYWtyb2VuIGJydWtlcywgdmlsIHN5c3RlbWV0IGJ5dHRlIHV0IG5hdm5ldCBwJmFyaW5nOyBkZW4gZiZvc2xhc2g7cnN0ZSBtZWRsZW1zZ3J1cHBlbiBzb20gYnJ1a2VyZW4gaCZvc2xhc2g7cmVyIHRpbCwgb2cgdmlsIG9tZGlycmlnZXJlIHRpbCBkZW4gc2lkZW4uJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdSZWRpZ2VyIGRldHRlIGZlbHRldCBmb3IgJmFyaW5nOyBlbmRyZSBicnVrZXJlbnMgcGFzc29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUmVkaWdlciBkZXR0ZSBmZWx0ZXQgZm9yICZhcmluZzsgZW5kcmUgYnJ1a2VyZW5zIHBhc3NvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnRW4gYnJ1a2VyIG1lZCBzYW1tZSBicnVrZXJuYXZuIGZpbm5lcyBhbGxlcmVkZSc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdJbmdlbiByZXN1bHRhdGVyIGZyYSBjc3YgZWtzcG9ydGVuJzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmdkZW4gcCZhcmluZzsgYnJ1a2VybmF2bmZlbHRldCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5nZGVuIHAmYXJpbmc7IHBhc3NvcmRmZWx0ZXQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYWtzIGxlbmdkZSBwJmFyaW5nOyBwYXNzb3JkZXQgZXIgdWd5bGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01ha3MgbGVuZ2RlIHAmYXJpbmc7IGJydWtlcm5hdm4gZXIgdWd5bGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnVWd5bGRpZyBlbWFpbGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdWaSBrdW5uZSBpa2tlIGZpbm5lIGVuIGVwb3N0YWRyZXNzZSBmb3IgZGVubmUga29udG9lbic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnS2FuIGlra2UgbGFncmUgYnJ1a2VyaW5mb3JtYXNqb25lbic7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdLYW4gaWtrZSBsYWdyZSBlZ2Vuc2thcGVuJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdCcnVrZXIgbGFndCB0aWwgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdCcnVrZXIgc2xldHRldCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdFZ2Vuc2thcGVyJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWZXJkaSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ0FkdmFyc2VsOiBEaXNzZSBmZWx0ZW5lIHAmYXJpbmc7dmlya2VyIHN0Jm9zbGFzaDtycmVsc2VuIHAmYXJpbmc7IGlubnRhc3RpbmdzZmVsdGVuZSBpIHNramVtYWVyLiAmQXJpbmc7IG1pbnNrZSBkaXNzZSB2ZXJkaWVuZSBwJmFyaW5nOyBldCBla3Npc3RlcmVuZGUgbmV0dHN0ZWQgZXIgaWtrZSAmYXJpbmc7IGFuYmVmYWxlJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGVuZHJlIGRlbm5lIG1vZHVsZW5zIGlubnN0aWxsaW5nZXI/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdFcG9zdGFkcmVzc2VuIGVyIGFsbGVyZWRlIGkgYnJ1ayc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdCcnVrIGluZm9ybWFzam9uc2thcHNsZXIoY29va2llcykgZm9yICZhcmluZzsgaHVza2UgaW5ubG9nZ2luZ3NkZXRhbGplcic7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ05hdm5ldCBwJmFyaW5nOyBpbmZvcm1hc2pvbnNrYXBzZWxlbihjb29raWUpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnVGlsbGF0IGlkZW50aXNrZSBlcG9zdGFkcmVzc2VyJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ0ZvcnMmb3NsYXNoO2sgJmFyaW5nOyBob2xkZSBpbm5sb2dnaW5nZW4gdmVkIGxpdmUgdmVkICZhcmluZzsgYmVueXR0ZSBlbiBpbmZvcm1hc2pvbnNrYXBlbCA8ZW0+KGluZm9ybWFzam9uc2thcHNlbGVuIHZpbCBibGkgdGlsYmFrZXNhdHQgbiZhcmluZztyIGR1IGVyIGFrdGl2IHAmYXJpbmc7IG5ldHRzdGVkZXQpPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHRpbGxhdCBmbGVyZSBicnVrZXJlIG1lZCBzYW1tZSBlcG9zdGFkcmVzc2UpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbGF0IGZsZXJlICZxdW90O2dsZW10IHBhc3NvcmQmcXVvdDsgcCZhcmluZzttaW5uZWxzZXI/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyh0aWxsYXQgYXQgZW4gYnJ1a2VyIGJlciBvbSBudWxsc3RpbGxpbmcgYXYgcGFzc29yZGV0LCBzZWx2IG9tIGRlIGlra2UgaGFyIGJlbnl0dGV0IGRldCBmb3JyaWdlKSc7CiRsYW5nWydwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJ0Jlbnl0dCBGcm9udC1lbmQgVXNlciBzcGVzaWZpa2UgdGlsbGF0ZWxzZXI/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWx0IGVyLCBGRVVzZXIgdGlsbGF0ZWxzZXIgZGUgc2FtbWUgc29tIHRpbHN2YXJlbmRlIEFkbWluLW9tciZhcmluZztkZSB0aWxsYXRlbHNlciAtIExlZ2cgdGlsIGJydWtlciwgTGVnZyB0aWwgZ3J1cHBlLCBvc3YuIE9tIGR1IGhha2VyIGF2IGhlciwgdmlsIGRldCB2JmFlbGlnO3JlIGFkc2tpbHRlL2VnbmUgdGlsbGF0ZWxzZXIgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnS2xhcnRlIGlra2UgJmFyaW5nOyBmaW5uZSBkZW4gb3BwbGFzdGVkZSBmaWxhIChpbnRlcm4gZmVpbCknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdEZXQgZXIgZXQgcHJvYmxlbSBtZWQgZGluIG9wcGxhc3RlZGUgZmlsLiBWZW5ubGlnc3QgZm9ycyZvc2xhc2g7ayBwJmFyaW5nOyBueXR0JzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IG9wcGdhIGlra2UgYnJ1a2VybmF2bic7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdEdSBvcHBnYSBpa2tlIHBhc3NvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIGJydWtlciB1dGxvZ2dpbmcnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnRnJvbnRlbmQgYnJ1a2VyIGlubmxvZ2dpbmcnOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5WJkFFbGlnO1IgVkFSU09NPC9iPiBuJmFyaW5nO3IgZWtzaXN0ZXJlbmRlIGVnZW5za2FwZXIgc29tIGVyIHRpbGVnbmV0IGdydXBwZXIgZm9yYW5kcmVzLCBkdSBrYW4ga29tbWUgaSBza2FkZSBmb3IgJmFyaW5nOyAmb3NsYXNoO2RlbGVnZ2Ugbm9lIG9nIGRlcm1lZCBuZXR0c3RlZGV0IDxpPihzcGVzaWVsdCBodmlzIGR1IG1pbnNrZXIgZmVsdGxlbmdkZXIsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0Rlbm5lIGZ1bmtzam9uZW4gdmlya2VyIGlra2UgaSBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdJa2tlIG9wcHJldHQgZWdlbnNrYXBlciBmb3IgYnJ1a2VybmF2biBlbGxlciBwYXNzb3JkIGRhIGRpc3NlIGVnZW5za2FwZW5lIGVyIGlubmVieWdnZXQgaSBzZWx2ZSBGcm9udEVuZFVzZXIgbW9kdWxlbi4nOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0Vrc3BvcnRlciBicnVrZXJlIHRpbCBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4gJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnUmVkaWdlciBlZ2Vuc2thcCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYWtzIGxlbmdkZSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnRlciBldHRlcic7CiRsYW5nWydzb3J0J10gPSAnU29ydGVyZXInOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnQnJ1a2VyZSBpIHZhbGd0KGUpIGdydXBwZShyKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdCZWdyZW5zIHJlc3VsdGF0ZW5lIHRpbCc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIGV0IGVwb3N0ZmVsdCBmb3IgZGVubmUgYnJ1a2VyZW4uIER1IG0mYXJpbmc7IGthbnNramUga29udGFrdGUgc3lzdGVtYWRtaW5pc3RyYXRvcmVuJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGZvciBza2plbWFldCBnbGVtdCBwYXNzb3JkJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGZvciBza2plbWFldCBlbmRyZSBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGRldCBza2FsIGhvcHBlcyB0aWwgZXR0ZXIgaW5ubG9nZ2luZyAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1NpZGVJRC9BbGlhcyBkZXQgc2thbCBob3BwZXMgdGlsIGV0dGVyIHV0bG9nZ2luZyAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1NvcnRlcmluZ3NyZWtrZWYmb3NsYXNoO2xnZSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdOb2VuIGJydWtlcmUgaG9sZGVyIHAmYXJpbmc7ICZhcmluZzsgZm9yYW5kcmUgcGFzc29yZGVuZSBzaW5lLiBOJmFyaW5nOyBlciBkZXR0ZSBhbnRhbGxldDogJzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIHNvbSBlciBtZXIgZW5uIGVuIHVrZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgc29tIGVyIG1lciBlbm4gZW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXI/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRW4gdWd5bGRpZyBrb2RlIGVyIGxhZ3QgaW5uLCB2ZW5ubGlnc3QgcHImb3NsYXNoO3YgaWdqZW4uJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdFbiBtaWRsZXJ0aWRpZyBrb2RlIGZvciBkaW4gYnJ1a2VySUQgYmxlIGlra2UgZnVubmV0IGkgZGF0YWJhc2VuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnTWFsIHNvbSBiZW55dHRlcyBmb3IgJmFyaW5nOyB2aXNlIHZlcmlmaWthc2pvbnNza2plbWFldCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTWFsIHNvbSBiZW55dHRlcyBwJmFyaW5nOyBnbGVtdCBwYXNzb3JkIGVwc290ZW4nOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VuZHJpbmcgYXYgcGFzc29yZCBmb3IgZGVubmUga29udG9lbiBlciBhbGxlcmVkZSBzYXR0IGkgZ2FuZyBhdiBkZWcgZWxsZXIgbm9lbiBhbm5lbi4gU2pla2sgZS1wb3N0ZW4gZGluLCBkdSBrYW4gaGEgbW90dGF0dCB2aWRlcmUgaW5zdHJ1a3Nqb25lciBvbSBodm9yZGFuIGRldHRlIHNrYWwgZ2plbm5vbWYmb3NsYXNoO3Jlcy4gJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBmZWlsJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ0R1IGYmYXJpbmc7ciBkZW5uZSBtZWxkaW5nZW4gZm9yZGkgbm9lbiBoYXIgZm9ydGFsdCB2JmFyaW5nO3IgbmV0dHNpZGUgYXQgZHUgaGFyIG1pc3RldCBkaXR0IHBhc3NvcmQuICBPbSBkZXR0ZSBlciBrb3JyZWt0LCBsZXMgaW5zdHJ1a3Nqb25lbmUgbmVkZW5mb3IuICBPbSBkdSBpa2tlIHNraiZvc2xhc2g7bm5lciBodmEgZGV0dGUga2FuIHYmYWVsaWc7cmUsIHMmYXJpbmc7IGthbiBkdSB0cnlndCBzbGV0dGUgZGVubmUgbWVsZGluZ2VuLCBvZyB2aSB0YWtrZXIgZm9yIGRpbiBvcHBtZXJrc29taGV0Lic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0tvZGUnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRGVuIGYmb3NsYXNoO2xnZW5kZSBrb2RlIGhhciBibGl0dCBnZW5lcmVydCB0aWxmZWxkaWcgZm9yICZhcmluZzsgZ2plbmtqZW5uZSBicnVrZXJrb250b2VuLiAgbiZhcmluZztyIGR1IGtsaWtrZXIgbGlua2VuIG5lZGVuZm9yIHZpbCBkdSBmJmFyaW5nOyBvcHAgZXQgZmVsdCBmb3IgJmFyaW5nOyBza3JpdmUgaW5uIGRlbm5lIGtvZGVuLiAgTm9ybWFsIGVyIGZlbHRldCBmb3JoJmFyaW5nO25kc3V0ZnlsdCBmb3IgZGVnLCBtZW4gaSB0aWxmZWxsZSBkZXQgaWtrZSBlciAtIHMmYXJpbmc7IGVyIGtvZGVuOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0h2aXMgZHUga2xpa2tlciBwJmFyaW5nOyBsaW5rZW4gc29tIGYmb3NsYXNoO2xnZXIgdmlsIGR1IGJsaSBmJm9zbGFzaDtydCB0aWwgZW4gbmV0dHNpZGUgaHZvciBkdSBrYW4gbGVnZ2UgaW5uIHZlZGxhZ3RlIGtvZGUgb2cgbGVnZ2UgaW5uIG55dHQgcGFzc29yZC4nOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsZW10IHBhc3NvcmQnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIENNU01haWxlciBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0VuIGVwb3N0IGVyIGJsaXR0IHNlbmR0IHRpbCAlcyBtZWQgaW5zdHJ1a3Nqb25lciBvbSBodm9yZGFuIHBhc3NvcmRldCBrYW4gbGVnZ2VzIGlubiBwJmFyaW5nOyBueS4gVGFray4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdTJmFyaW5nOyBkdSBoYXIgZ2xlbXQgZWxsZXIgbWlzdGV0IHBhc3NvcmRldCBkaXR0LiBWZWwsIGxlZ2cgaW5uIGJydWtlcm5hdm5ldCBkaXR0IGhlciBzJmFyaW5nOyBza2FsIHZpIHNlbmRlIGRlZyBlbiBlcG9zdCBvbSBodm9yZGFuIGR1IGthbiB0aWxiYWtlc3RpbGxlIGRldC4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGdsZW10IHBhc3NvcmQnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnJiMwMzk7TWlzdGV0IGJydWtlcm5hdm4mIzAzOTsgbWFsJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VnZW5za2FwICVzIGlra2UgZnVubmV0JzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdFZ2Vuc2thcCBmdW5uZXQnOwokbGFuZ1snYWRkcHJvcCddID0gJ0xlZ2cgdGlsIGVnZW5za2FwJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdFdCBvYmxpZ2F0b3Jpc2sgZmVsdCAoJXMpIHZhciB0b210JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnRXZ0LiBueXR0IHBhc3NvcmQgaGVyIGZvciAmYXJpbmc7IGVuZHJlIGRldCBla3Npc3RlcmVuZGUnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdEZXQgc2VyIGlra2UgdXQgdGlsIGF0IGR1IGVyIGlubmxvZ2dldCc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnSW5uc3RpbGxpbmdlcic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcmluZyc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ0tvbnRvZW4gaGFyIHV0bCZvc2xhc2g7cHQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ0ZlaWwgcCZhcmluZzsgZXBvc3RhZHJlc3NlbnMgZm9ybWF0ZXJpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdVZ3lsZGlnIHV0bCZvc2xhc2g7cHNkYXRvJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdGZWlsIHZlZCBzZXR0aW5nIGF2IGVnZW5za2FwICVzIGZvciBicnVrZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdVZ3lsZGlnIGdydXBwZUlEICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWVya2UgZm9yIHNranVsdCBmZWx0JzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdGYXJnZSBmb3Igc2tqdWx0IGZlbHQnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tqdWx0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thcCBtZWQgZGV0IG5hdm5ldCBlciBhbGxlcmVkZSBkZWZpbmVydCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdJbmdlbiBlZ2Vuc2thcCBkZWZpbmVydCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ0luZ2VuIGVnZW5za2FwZXIgYmxlIHZhbGd0IGZvciBkZW5uZSBncnVwcGVuJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnSW5nZW4gZ3J1cHBlciBlciBkZWZpbmVydCc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ0dydXBwZXIgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdEZXQgbSZhcmluZzsgdGlsZGVsZXMgbWVkbGVtc2thcCBmb3IgbWluc3QgZW4gZ3J1cHBlICc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnS3JldiBtZWRsZW1za2FwIGZvciBtaW5zdCBlbiBncnVwcGUnOwokbGFuZ1snYmFjayddID0gJ1RpbGJha2UnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGZlbHRldCBtJmFyaW5nOyBmeWxsZXMgdXQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01lcmsgb2JsaWdhdG9yaXNrZSBmZWx0IG1lZCAnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnVXRoZXYgb2JsaWdhdG9yaXNrZSBmZWx0IG1lZCc7CiRsYW5nWyduZXh0J10gPSAnTmVzdGUnOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdFbiBncnVwcGUgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ09ibGlnYXRvcmlzayc7CiRsYW5nWydvcHRpb25hbCddID0gJ1ZhbGdmcml0dCc7CiRsYW5nWydvZmYnXSA9ICdBdic7CiRsYW5nWydzaXplJ10gPSAnU3Qmb3NsYXNoO3JyZWxzZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1ha3Mgc3Qmb3NsYXNoO3JyZWxzZSBpIHBpeGxlciBmb3IgZW5odmVyIGRpbWVuc2pvbiBwJmFyaW5nOyBiaWxkZXQpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0xlbmdkZSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihib2tzdGF2ZXIgaSB0ZWtzdGlubnNrcml2aW5nZW4pJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdOZWR0cmVra3N2YWxnLCBzZXBhcmVydCBtZWQgbGluamVza2lmdC4gVmVyZGllciBrYW4gc2VwYXJlcmVzIGZyYSB0ZWtzdCBtZWQgZXQgPSB0ZWduLiBGLmVrcy4gSHVubmtqJm9zbGFzaDtubj1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1NwJm9zbGFzaDtyJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmVsdCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnU3Amb3NsYXNoO3IgaSBNaXN0ZXQ8YnIvPmJydWtlcm5hdm4nOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQXZrcnlzc25pbmdzYm9rcyc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0ZsZXJ2YWxnc2xpc3RlJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZGUnOwokbGFuZ1snZW1haWwnXSA9ICdFcG9zdGFkcmVzc2UnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdG9tciZhcmluZztkZSc7CiRsYW5nWydkcm9wZG93biddID0gJ05lZHRyZWtrc21lbnknOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWZWxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnTG9nZyB1dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnQmVueXR0IGRldHRlIGdydXBwZW5hdm5ldCc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdGb3JhbmRyZSBtaW5lIGlubnN0aWxsaW5nZXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdJbm5sb2dnaW5nIG1pc3NseWtrZXQgLSB1Z3lsZGlnIGJydWtlcm5hdm4gZWxsZXIgcGFzc29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dnIGlubic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ0xvZ2cgaW5uIGtuYXBwIGV0aWtldHQnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdQYXNzb3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnSHVzayBtZWcgcCZhcmluZzsgZGVubmUgZGF0YW1hc2tpbmVuJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnR2xlbXQgcGFzc29yZGV0Pyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdIYXIgZHUgZ2xlbXQgaW5ubG9nZ2luZ3NkZXRhbGplbmU/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnU3RhbmRhcmQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdNYWwnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS3VubmUgaWtrZSBmaW5uZSBpbmZvcm1hc2pvbiBvbSBkZW5uZSBicnVrZXJlbic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGV0IGJydWtlcm5hdm5ldCAoJXMpIGVyIGFsbGVyZWRlIGkgYnJ1ayc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnQnJ1ayBTTVRQIGZvciAmYXJpbmc7IGtvbnRyb2xsZXJlIGVwb3N0YWRyZXNzZXI/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbmltdW0gbGVuZ2RlIHAmYXJpbmc7IHBhc3NvcmQnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWFrc2ltdW0gbGVuZ2RlIHAmYXJpbmc7IHBhc3NvcmQnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW11bSBMZW5nZGUgcCZhcmluZzsgYnJ1a2VybmF2bic7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYWtzaW11bSBsZW5nZGUgcCZhcmluZzsgYnJ1a2VybmF2bic7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaW9uIFRpbWVvdXQgKHNla3VuZGVyKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnQnJ1ayBjb29raWVzIGZvciAmYXJpbmc7IGhvbGRlIGlubmxvZ2dpbmdlbiBha3Rpdic7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ1RpbGxhdCBlLXBvc3QgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFyZGdydXBwZSBmb3IgbnllIGJydWtlcmUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGZvcmFuZHJlIGJydWtlcmRhdGEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1Bhc3NvcmRlbmUgZXIgaWtrZSBsaWtlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VneWxkaWcgYnJ1a2VybmF2bic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdVZ3lsZGlnIHBhc3NvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyIGJydWtlcic7CiRsYW5nWyd2YWxpZCddID0gJ0d5bGRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdEZW5uZSBicnVrZXJlbiBlciBpa2tlIG1lZGxlbSBhdiBub2VuIGdydXBwZSc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnSW5nZW4gZWdlbnNrYXBlcic7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0ZvcnMmb3NsYXNoO2sgJmFyaW5nOyBpbXBvcnRlcmUgZHVwbGlrYXRlIGVnZW5za2FwZXInOwokbGFuZ1sndmFsdWUnXSA9ICdWZXJkaSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGVyJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdFZ2Vuc2thcGVyJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnRWdlbnNrYXBlbnMgTmF2biAnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnRWdlbnNrYXBlbnMgdmVyZGknOwokbGFuZ1snYWRkJ10gPSAnTGVnZyB0aWwnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcmllJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdVdGwmb3NsYXNoO3Blcic7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdTcGVzaWZpc2VyIGRhdG8nOwokbGFuZ1snMTJocnMnXSA9ICcxMiB0aW1lcic7CiRsYW5nWycyNGhycyddID0gJzI0IHRpbWVyJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggdGltZXInOwokbGFuZ1snMXdlZWsnXSA9ICcxIHVrZSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFVrZXInOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNJmFyaW5nO25lZCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNJmFyaW5nO25lZGVyJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE0mYXJpbmc7bmVkZXInOwokbGFuZ1snMXllYXInXSA9ICcxICZBcmluZztyJzsKJGxhbmdbJ25ldmVyJ10gPSAnQWxkcmknOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnVmVsbHlra2V0IGluc3RhbGxhc2pvbiBhdiBtb2R1bGVuLjxici8+SHVzayAmYXJpbmc7IGFrdGl2aXNlcmUgICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyBwZXJtaXNzaW9uLiZxdW90Ow0KSSB0aWxsZWdnLCBhbmJlZmFsZXIgdmkgZGVnICZhcmluZzsgaW5zdGFsbGVyZSBDYXB0Y2hhIG1vZHVsZW4uICBPbSBkZW5uZSBlciBpbnN0YWxsZXJ0LCBlbiBneWxkaWdoZXRzdGVzdCBhdiBldCBjYXB0Y2hhYmlsZGUgdmlsIGtyZXZlcyBpIHRpbGxlZ2cgdGlsIGJydWtlcm5hdm4gb2cgcGFzc29yZCBmb3IgJmFyaW5nOyBsb2dnZSBpbm4uIE1lbmluZ2VuIG1lZCBkZXR0ZSBlciAmYXJpbmc7IGhpbmRyZSBicnV0ZSBmb3JjZSBhbmdyZXAuICA8c3Ryb25nPk1lcms6PC9zdHJvbmc+IFBhcmFtZXRlcmVuIG5vY2FwdGNoYSBrYW4gYmVueXR0ZXMgZm9yICZhcmluZzsgc2wmYXJpbmc7IGF2IGRlbm5lIGZ1bmtzam9uZW4gc2VsdiBvbSBDYXB0Y2hhIG1vZHVsZW4gZXIgaW5zdGFsbGVydC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzb3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnR2plbnRhJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdFbiBncnVwcGUgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdSZWRpZ2VyIGdydXBwZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTZW5kJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydkZWxldGUnXSA9ICdTbGV0dCc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkZXR0ZSBlciBrb3JyZWt0ZSB2YWxnIGZvciBkZW5uZSBncnVwcGVuP1xuJkFyaW5nOyBzbCZhcmluZzsgZW4gZWdlbnNrYXAgYXYvb2ZmIHZpbCBpa2tlIHNsZXR0ZSBub2VuIGlubmxlZ2cgaSBlZ2Vuc2thcC10YWJlbGxlbiBmb3IgZGVubmUgZ3J1cHBlbi9icnVrZXJlbi4gIEVnZW5za2FwZW4gdmlsIGkgc3RlZGV0IGJsaSB1dGlsZ2plbmdlbGlnLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZ3J1cHBlbj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGVnZW5za2FwZW4gaGVsdD9cbiZBcmluZzsgZ2omb3NsYXNoO3JlIGRldHRlIHZpbCBvZ3MmYXJpbmc7IHNsZXR0ZSBlbmh2ZXIgYnJ1a2VycyBpbm5sZWdnIGkgZGVubmUgZWdlbnNrYXBlbi4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVWZ1bGxzdGVuZGlnZSBwYXJhbWV0cmUnOwokbGFuZ1snaWQnXSA9ICdJZCAnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibGVtIG1lZCAmYXJpbmc7IGxlZ2dlIHRpbCBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSB0aWwgZ3J1cHBlZWdlbnNrYXAnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSB0aWwgZ3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSBlbiBicnVrZXIgdGlsIGdydXBwZW4nOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW0gbWVkICZhcmluZzsgc2xldHRlIGVuIGVnZW5za2FwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnS3VubmUgaWtrZSBmaW5uZSBlbiBlcG9zdGFkcmVzc2UnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ0luZ2VuIHNrcml2ZXJldHRpZ2hldCBpIG0mYXJpbmc7bG1hcHBlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVWd5bGRpZ2UgcGFyYW1ldGVyZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0t1bm5lIGlra2UgZmlubmUgbm9lbiBncnVwcGVyJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQnJ1ayc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdCcnVrZXJuYXZuIHZhbmxpZyB1dHRyeWtrJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3JpdmVsc2UnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3J1cHBlbmF2bic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVpbCc7CiRsYW5nWydhZGRncm91cCddID0gJ0xlZ2cgdGlsIGdydXBwZSc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGVyIEdydXBwZSc7CiRsYW5nWydhZGR1c2VyJ10gPSAnTGVnZyB0aWwgYnJ1a2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCcnVrZXJlIHNvbSBwYXNzZXIgbWVkIGtyaXRlcmllbmUnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwcGUnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWZWxnIGdydXBwZSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdNYWwgZm9yIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIHV0bG9nZ2luZyc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ01hbCBmb3IgaW5ubG9nZ2luZyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQnJ1a2VyZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udGVuZCBVc2VyIEFkbWluaXN0cmFzam9uJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWRtaW5pc3RyZXIgRnJvbnRlbmQgVXNlcnMnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1N0YW5kYXJkIGZvcnNpZGUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1Npc3RlIHZpc3RlIHNpZGUnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnQW5uZW4gc2lkZTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdPcHBnaSB0ZWtzdGVuIGZyYSBiaWxkZXQnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJlciwgMjAwNSAtIFZlcnkgbWlub3IgY2hhbmdlIHdpdGggcmVzcGVjdCB0byBhIGZvcmdvdHRlbiBhbmQgbm8gbG9uZ2VyIG5lZWRlZCBmdW5jdGlvbiBjYWxsPC9saT4NCjxsaT4wLjEuNSAtIE5vdmVtYmVyLCAyMDA1DQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPg0KPGxpPjAuMS42IC0gSmFudWFyeSwgMjAwNg0KICAgIDxwPkNoYW5nZXMgdG8gdGhlIHBlcm1pc3Npb24gbW9kZWwsIGFuZCBtaW5vciBidWcgZml4ZXMgdG8gdGhlIHByZWZlcmVuY2VzLiAgQWxzbyBzb21lIHBocDUgZml4ZXMgYnV0IEkgYW0gc3VyZSB0aGF0IHRoZXJlIGFyZSBtb3JlIG91dCB0aGVyZS48L3A+PC9saT4NCjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYNCiAgICA8cD5NYW55IHRoYW5rcyB0byA8Yj5rYXRvbjwvYj4gZm9yIGFkZGluZyB0aGUgdGV4dGFyZWEgYW5kIGRyb3Bkb3duIHByb3BlcnR5IHR5cGVzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgcHJvcGVydHkgYWRkaW5nIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHNwYWNlcyBpbiBwcm9wZXJ0eSBuYW1lcyAod2Ugbm8gbG9uZ2VyIGxldCB0aGF0IGhhcHBlbikuPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMCAtIEZlYnJ1YXJ5LCAyMDA2PHA+DQogICAgPHA+QWRkZWQgZmlsdGVyaW5nIGFuZCByb3cgbGltaXRpbmcgdG8gdGhlIGFkbWluIHBhbmVsLiBUaGlzIHdpbGwgaGF2ZSBiaWcgYmVuZWZpdHMgdG8gdGhvc2UgdGhhdCBhcmUgdXNpbmcgdGhpcyBtb2R1bGUgZm9yIGhpZ2ggdHJhZmljLCBhbmQgaGlnaCB1c2VyIHNpdGVzLjwvcD4NCiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4NCiAgICA8cD5BZGRlZCBtYXggbGVuZ3RoIGFiaWxpdHkgdG8gdGV4dCBhbmQgZW1haWwgZmllbGRzPC9wPg0KICAgIDxwPkZpeGVkIGEgc21hbGwgcHJvYmxlbSB3aXRoIHRoZSBkZWZhdWx0IGdyb3VwIG5vdCBiZWluZyBjaGVja2VkIHdoZW4gYWRkaW5nIGEgdXNlcjwvcD4NCiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+DQogICAgPHA+RGVsZXRlIHVzZXIgcHJvcGVydGllcyB3aGVuIGEgcHJvcGVydHkgaXMgZGVsZXRlZCA8ZW0+Tm90ZTwvZW0+LCBub3Qgd2hlbiBpdCBpcyBkaXNhYmxlZCBpbiB0aGUgZWRpdCBncm91cCBkaWFsb2c8L3A+DQogICAgPHA+QWRkIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGluIGVkaXQgZ3JvdXBzLjwvcD4NCiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+DQogICAgPHA+QWRkZWQgQ1NWIEV4cG9ydCBvcHRpb248L3A+DQogICAgPHA+VG9kbyAtIEFkZCBwcmVmZXJlbmNlcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkbGVuZ3RoPC9wPg0KPC9saT4NCjxsaT4xLjAuMSAtIE1hcmNoLCAyMDA2DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXM8L3A+DQogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4NCiAgICA8cD5BZGQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcHJlZmVyZW5jZXMgc3VibWl0IGJ1dHRvbjwvcD4NCiAgICA8cD5GaXhlZCBhIG1pbm9yIGJ1ZyB3aGVuIGNvdXRpbmcgdGhlIG51bWJlciBvZiB1c2VycyBpbiBhIGdyb3VwPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+DQogICAgPHA+QWRkZWQgYWR2YW5jZWQgZmlsdGVyaW5nIG9uIHByb3BlcnRpZXM8L3A+DQogICAgPHA+Q2hhbmdlcyB0byBsYWJlbGluZyBpbiBhZGQgb3IgZWRpdCB1c2VyPC9wPg0KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+DQogICAgPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYNCiAgICA8cD5Nb3JlIGZpZWxkIGxlbmd0aCBmaXhlczwvcD4NCjwvbGk+DQo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNg0KICAgIDxwPkV4cG9ydCB0byBzbWFydHkgYWxsIG9mIHRoZSB1c2VyIHByb3BlcnRpZXMgd2hlbiB0aGV5IGFyZSBsb2dnZWQgaW48L3A+DQo8L2xpPg0KPGxpPjEuMC40IC0gTWF5LCAyMDA2DQogICAgPHA+Rml4ZXMgdG8gdGhlIGV4cG9ydCBjb2RlPC9wPg0KICAgIDxwPkNvZGUgY2xlYW51cCAoYWxwaGFiZXRpemUgZnVuY3Rpb25zKTwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+DQogICAgPHA+UmVtb3ZlZCB0aGUgcmVxdWlyZW1lbnQgZm9yIENNUyAwLjEyLCBhbmQgcHV0IGl0IGJhY2sgdG8gMC4xMS4yPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBcJiMwMzk7c2lsZW50XCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+MS4wLjUgLSBNYXksIDIwMDYNCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT4xLjAuNiAtIE1heSwgMjAwNg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGVkaXRpbmcgZHJvcGRvd25zPC9wPg0KPC9saT4NCjxsaT4xLjEuMCAtIE1heSwgMjAwNg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgXHskZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+DQo8L2xpPg0KPGxpPjEuMS4xIC0gU2VwdCwgMjAwNg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT4xLjEuMiAtIERlYywgMjAwNg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCiAgICA8bGk+MS4yLjAgLSBBcHJpbCwgMjAwNw0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4xLjIuMSAtIEp1bmUsIDIwMDcNCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KICAgICAgICANCjwvbGk+DQo8bGk+MS4zIC0gT2N0b2JlciwgMjAwNw0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgJiMwMzk7cmVtZW1iZXIgbWUmIzAzOTsgc28gdGhhdCBsb2dpbiBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gYSBjb29raWUuICBBbmQgc3VwcG9ydCBmb3IgYSBmb3JtIHRvIGFsbG93IHRoYXQgY29va2llIHRvIGJlIHJlc2V0LjwvcD4NCjxwPk5vIGxvbmdlciBzdXBwb3J0IG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBuYW1lcy48L3A+DQo8cD5OdW1lcm91cyBzbWFsbCBidWdmaXhlcy48L3A+DQo8cD5SZXF1aXJlIENNUyAxLjIgb3IgZ3JlYXRlci48L3A+DQo8L2xpPg0KPGxpPjEuMy4xIC0gTm92ZW1iZXIsIDIwMDcNCjxwPkZpeGVzIHByb2JsZW1zIHdpdGggcGFyYW1ldGVycyBub3QgYmVpbmcgY2xlYW5lZCBpbiB0aGUgY2hhbmdlIHNldHRpbmdzIGRpYWxvZyBvbiB0aGUgZnJvbnQgZW5kLjwvcD4NCjxwPkZpeGVzIGFuIHVwZHJhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4NCjxwPkZpeGVzIGFuIGlzc3VlIGluIGEgR2V0U21hcnR5KCkgY2FsbCB0aGF0IHdhcyBhcHBhcmVudGx5IGNhdXNpbmcgcGVvcGxlIGRpZmZpY3VsdGllcyB3aXRoIHRoZSBsb2dpbiBmb3JtLjwvcD4NCjxwPkFkZCBhIHByZWZlcmVuY2UgdGhhdCBhbGxvd3MgYWRtaW5zIHRvIHNwZWNpZnkgYSBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHRoZSBmb3Jnb3QgcGFzc3dvcmQgdmFsaWRhdGlvbiBmb3JtIGlzIGNvbXBsZXRlLjwvcD4NCjxwPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGhpZGRlbiBwcm9wZXJ0aWVzIGJlaW5nIGxvc3QgYWZ0ZXIgYSB1c2VyIGNoYW5nZWQgdGhlaXIgc2V0dGluZ3MuPC9wPg0KPHA+VGhlIEZvcmdvdCBQYXNzd29yZCBhbmQgTG9zdCBVc2VybmFtZSBmb3JtcyBhcmUgbm93IGlubGluZTwvcD4NCjxwPkZpeGVzIHRvIGVycm9ycyBpbiBlbmNyeXB0aW9uIHdpdGggdGhlIHNlc3Npb25pbmc8L3A+DQo8cD5GaXhlcyB0byB0aGUgbG9zdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5LjwvcD4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJmFtcDtxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmYW1wO3F1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxvc3R1bl9ncm91cD0mcXVvdDtncm91cCZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvc3R1c2VybmFtZSBmb3JtLCB0aGlzIGZlYXR1cmUgc3BlY2lmaWVzIHRoZSBmcm9udGVuZCB1c2VyIGdyb3VwIHRvIGFzc3VtZSB0aHQgdXNlcnMgYXJlIG1lbWJlcnMgb2YuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTYwMDkzNjkuMjcwLjEzLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9mcnMvfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjUyNTQwNjgxMi4xMTg4MDc3NDE3LjExOTYwMzU0NDcuMTE5NjEwMjA4NS4yNzInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ1BhZ2luYS1JRC8tYWxpYXMgb20gdGUgdG9uZW4gbmEgY29kZXZlcmlmaWNhdGllIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdWZXJsb3Jlbi1nZWJydWlrZXJzbmFhbXNqYWJsb29uJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnVmVybG9yZW4tZ2VicnVpa2Vyc25hYW1iZXZlc3RpZ2luZ3NzamFibG9vbic7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0ZvdXQ6IE1lZXIgZGFuICZlYWN1dGU7JmVhY3V0ZTtuIGdlYnJ1aWtlcnNhY2NvdW50IGt3YW0gb3ZlcmVlbiBtZXQgZGUgZ2VzcGVjaWZpY2VlcmRlIGVpZ2Vuc2NoYXBwZW4nOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRm91dDogS2FuIGdlZW4gb3ZlcmVlbmtvbXN0aWdlIGdlYnJ1aWtlciB2aW5kZW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0ZvdXQ6IEthbiBnZWVuIGdyb2VwIG1ldCBkaWUgbmFhbSB2aW5kZW4nOwokbGFuZ1sncmVhZG9ubHknXSA9ICdBbGxlZW4gbGV6ZW4nOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ0dlYnJ1aWtlcnNtYW5pcHVsZWVya2xhc3NlJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ1VpdGdlbG9nZCBkb29yIGJlaGVlcmRlcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnVG9vbiBhbGxlZW4gaW5nZWxvZ2RlIGdlYnJ1aWtlcnMnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZyBkZXplIGdlYnJ1aWtlciB1aXQnOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnR2VicnVpa2Vyc2VpZ2Vuc2NoYXBwZW4nOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdHZWJydWlrZXJzZ2VzY2hpZWRlbmlzJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydGVlcic7CiRsYW5nWydjbGVhciddID0gJ1dpcyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnQgZ2VicnVpa2Vyc2dlc2NoaWVkZW5pcyBuYWFyIEFTQ0lJIHZhbiBtaW5zdGVucyc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ1dpcyBnZWJydWlrZXJzZ2VzY2hpZWRlbmlzIHZhbiBtaW5zdGVucyc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdWZXJsb3Jlbi1nZWJydWlrZXJzbmFhbWZvcm11bGllcic7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdFeHBvcnRlZXIgZ3JvZXBkZWZpbml0aWVzIChlbiBlaWdlbnNjaGFwcGVuKSBuYWFyIFhNUyc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnR2VicnVpa2Vyc2dlc2NoaWVkZW5pcyBvbmRlcmhvdWQnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWUnOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnVmFuJzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIEdlZW4gTGltaWV0ICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ2VlbiB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ3plcyB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ3R3YWFsZiB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnZWVuIGRhZyBvdWQnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnZWVuIHdlZWsgb3VkJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICd0d2VlIHdla2VuIG91ZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnZWVuIG1hYW5kIG91ZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnZHJpZSBtYWFuZGVuIG91ZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ3plcyBtYWFuZGVuIG91ZCc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdlZW4gamFhciBvdWQnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3JvZXBlcmVuIGVuIHNvcnRlcmVuJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdSZWNvcmRzIGlzIHZvbGRvZW4gYWFuIGRlIGNyaXRlcmlhJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnQWZsb3BlbmRlIGdlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdPcGxvcGVuZGUgZ2VicnVpa2Vyc25hYW0nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0FmbG9wZW5kZSBkYXR1bSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdPcGxvcGVuZGUgZGF0dW0nOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnQWZsb3BlbmRlIGdlYmV1cnRlbmlzdHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ09wbG9wZW5kZSBnZWJldXJ0ZW5pc3R5cGUnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnQWZsb3BlbmQgSVAtYWRyZXMnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdPcGxvcGVuZCBPUC1hZHJlcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnR2VlbiBnZXNjaGllZGVuaXMgZ2V2b25kZW4nOwokbGFuZ1sncmVzZXQnXSA9ICdIZXJzdGVsJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dyb2VwZWVyIG9wIElQLWFkcmVzJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnR2ViZXVydGVuaXN0eXBlZmlsdGVyJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1Rvb24gYWxsZWVuIGdlYmV1cnRlbmlzc2VuIGRpZSBtaW5kZXIgemlqbiBkYW46JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdQYWdpbmFsaW1pZXQnOwokbGFuZ1snZm9yJ10gPSAndm9vcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0dlYnJ1aWtlcnNnZXNjaGllZGVuaXNyYXBwb3J0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdPbmJla2VuZCc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAtYWRyZXMnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ0dlYmV1cnRlbmlzdHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdUZXJ1Zyc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0ZXJlbiBnZXNsYWFnZCc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdSZWdlbHMgdmVyd2Vya3QnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0ZvdXRlbiBvcGdldHJlZGVuJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICdSZWNvcmRzIHRvZWdldm9lZ2QnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0tvbiBkZSBlaWdlbnNjaGFwcGVuIHZhbiBncm9lcCAlcyBuaWV0IHZpbmRlbic7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0tyZWVnIGdlZW4gcmVhY3RpZSB2YW4gZGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnT3BnZWdldmVuIGJlc3RhbmQgKCVzKSBpcyBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdPbmdlbGRpZ2Ugd2FhcmRlIHZvb3Iga2V1emVsaWpzdC0gb2YgbWVlcnNlbGVjdGlldmVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ1ZlbGQgJXMgb3ZlcnNjaHJpamR0IG1heGltdW0gbGVuZ3RlJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0ZWVyZm91dCAocmVnZWwgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnRGUgZWlnZW5zY2hhcHNkZWZpbml0aWVzIG5pZXQgZ2V2b25kZW4gKGludGVybmUgZm91dCknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnUHJvYmxlZW0gaW5zdGVsbGVuIGdlYnJ1aWtlcnNpbmZvcm1hdGllJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdHZWVuIGtvbG9tIGdldm9uZGVuIGRpZSBvdmVyZWVua29tdCBtZXQgdmVycGxpY2h0IHZlbGQgJXMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdHZWVuIGVpZ2Vuc2NoYXAgZ2V2b25kZW4gdm9vciBvcGdlZ2V2ZW4gZ3JvZXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0hldCBpbXBvcnRiZXN0YW5kIGhlZWZ0IG5pZXQgaGV0IGdvZWRlIGZvcm1hYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0thbiBoZXQgYmVzdGFuZCBuaWV0IG9wZW4nOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+QmVzdGFuZHNmb3JtYWF0aW5mb3JtYXRpZTwvaDQ+DQo8cD5IZXQgaW52b2VyYmVzdGFuZCBtb2V0IGluIEFTQ0lJLWZvcm1hYXQgc3RhYW4gd2FhcmJpaiBkZSB3YWFyZGVuIGdlc2NoZWlkZW4gemlqbiBkb29yIGVlbiBrb21tYS4gSWVkZXJlIHJlZ2VsIGluIGRpdCBiZXN0YW5kICh1aXRnZXpvbmRlcmQgZGUga29wcmVnZWwsIHppZSBoaWVyb25kZXIpIHZlcnRlZ2Vud29vcmRpZ3QgZWVuIGdlYnJ1aWtlcnMtcmVjb3JkLiBJZWRlcmUgcmVnZWwgbW9ldCBoZXR6ZWxmZGUgYWFudGFsIHZlbGRlbiBiZXZhdHRlbiBlbiBkZSB2b2xnb3JkZSB2YW4gZGUgdmVsZGVuIG1vZXQgaW4gaWVkZXJlIHJlZ2VsIGlkZW50aWVrIHppam4uPC9wPg0KPGg1PktvcHJlZ2VsPC9oNT4NCjx1bD4NCjxsaT5EZSBlZXJzdGUgcmVnZWwgaW4gaGV0IGJlc3RhbmQgbW9ldCBiZWdpbm5lbiBtZXQgdHdlZSBoYXNoZXMgKFwjKSBnZXZvbGdkIGRvb3IgZGUgbmFtZW4gdmFuIGRlIHZlbGRlbiBpbiBkZSBrb2xvbW1lbi4gRGUgbmFtZW4gdmFuIGRlemUgdmVsZGVuIHppam4gYmVsYW5ncmlqay4gRXIgemlqbiBlZW4gcGFhciB2ZXJwbGljaHRlIHZlbGRlbiAoemllIGhpZXJvbmRlcikgZW4gYW5kZXJlIHZlbGRuYW1lbiBtb2V0ZW4gb3ZlcmVlbmtvbWVuIG1ldCBkZSBlaWdlbnNjaGFwc25hbWVuIGdlYXNzb2NpZWVyZCBtZXQgZGUgZ3JvZXAgZ2VicnVpa2VycyBkaWUgd29yZHQgdG9lZ2V2b2VnZC48L2xpPg0KPGxpPkhldCBpbXBvcnRlcmVuIG1pc2x1a3QgYWxzIGRlIHZlbGRlbiBpbiBoZXQgYmVzdGFuZCBuaWV0IG92ZXJlZW5rb21lbiBtZXQgYWxsZSB2ZXJwbGljaHRlIGVpZ2Vuc2NoYXBwZW4gZ2Vhc3NvY2llZXJkIG1ldCBkZSBncm9lcCB3YWFyYWFuIGRlIGdlYnJ1aWtlcnMgd29yZGVuIHRvZWdldm9lZ2QuPC9saT4NCjxsaT5IZXQgYmVzdGFuZCBtYWcgdmVsZGVuIGJldmF0dGVuIGRpZSBkZSBvcHRpb25lbGUgZWlnZW5zY2hhcHBlbiBpbiBlZW4gc3BlY2lmaWVrZSBncm9lcCB2ZXJ0ZWdlbndvb3JkaWdlbi48L2xpPg0KPGxpPlRpamRlbnMgaGV0IGltcG9ydGVyZW4gd29yZGVuIHZlbGRlbiBpbiBoZXQgYmVzdGFuZCBvdmVyZ2VzbGFnZW4gZGllIG9uYmVrZW5kIHppam4sIG9mIGRpZSBnZWtvcHBlbGQgemlqbiBtZXQgZWlnZW5zY2hhcHBlbiBkaWUgPGVtPnVpdDwvZW0+IHN0YWFuIGluIGVlbiBiZXBhYWxkZSBncm9lcC48L2xpPg0KPC91bD4NCjxoNT5Lb2xvbXNnZXdpanplIGdlZ2V2ZW5zPC9oNT4NCjx1bD4NCjxsaT5EZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IHZlbGQgLSBEZSBnZXdlbnN0ZSBnZWJydWlrZXJzbmFhbS4NCiAgICA8cD5EaXQgdmVsZCBtb2V0IGJlc3RhYW4gaW4gZGUga29wcmVnZWwgZW4gaW4gaWVkZXJlIHZvbGdlbmRlIHJlZ2VsLiBEZSByZWdlbCB3b3JkdCBuaWV0IGluZ2VsZXplbiBhbHMgZWVuIGdlYnJ1aWtlciBtZXQgZGllIG5hYW0gYWwgYmVzdGFhdC48L3A+PC9saT4NCjxsaT5IZXQgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiB2ZWxkIC0gd2FjaHR3b29yZCB2YW4gZGUgZ2VicnVpa2VyPC9saT4NCjxsaT5IZXQgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IHZlbGQgLSBkZSBkYXR1bSB3YWFyb3AgaGV0IGdlYnJ1aWtlcnNhY2NvdW50IHZlcmxvb3B0PC9saT4NCjxsaT5LZXV6ZW1lbnV2ZWxkZW4NCiAgICA8cD5EZSB3YWFyZGVuIHZhbiBkZSBrZXV6ZW1lbnUtZWlnZW5zY2hhcHBlbiBpbiBlZW4gaW1wb3J0YmVzdGFuZCB3b3JkdCBnZXJlcHJlc2VudGVlcmQgYWxzIGVlbiBzdHJpbmcgZGllIGluIGRlIGtldXplbGlqc3QgdmFuIGRlIEZyb250RW5kVXNlcnMtbW9kdWxlIHN0YWF0LjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QtdmVsZGVuDQogICAgPHA+TXVsdGlzZWxlY3QtdmVsZGVuIHN0YWFuIGluIGVlbiBBU0NJSS1iZXN0YW5kIGFscyBlZW4gYXBhcnRlIGxpanN0IHZhbiBzdHJpbmdzLCB3YWFyYmlqIGllZGVyZSBzdHJpbmcgZGUgdGVrc3QgcmVwcmVzZW50ZWVydCBkaWUgaW4gbXVsdGlzZWxlY3QtbGlqc3Qgc3RhYXQuPC9wPg0KPC9saT4NCjxsaT5BZmJlZWxkaW5nc3ZlbGRlbg0KICAgIDxwPkFmYmVlbGRpbmdzdmVsZGVuIHppam4gdmVsZGVuIHdhYXJ2YW4gZGUga29sb21uYWFtIG92ZXJlZW5rb210IG1ldCBkZSBlaWdlbnNjaGFwcGVuIHZhbiBoZXQgdHlwZSBhZmJlZWxkaW5nLiBBbHMgZGl0IHZlbGQgZWVuIHZlcnBsaWNodCBkZWVsIHZhbiBkZSBiZXN0ZW1taW5nc2dyb2VwIGlzLCBkYW4gbW9ldCBkZSBuYWFtIGRpZSBpbiBkZXplIGtvbG9tbWVuIGlzIGdlc3BlY2lmaWNlZXJkIGJlc3RhYW4gb24gZGUgdXBsb2Fkcy1tYXAgdmFuIGRlIENNUyBpbnN0YWxsYXRpZS4gQWxzIGRlIGFmYmVlbGRpbmcgbmlldCBiZXN0YWFuIGVuIGhldCB2ZWxkIGlzIHRvY2ggdmVycGxpY2h0LCBkYW4gemFsIGhldCByZWNvcmQgbmlldCB3b3JkZW4gaW5nZWxlemVuLjwvcD4NCjwvdWw+DQo8aDU+T3BtZXJraW5nZW48L2g1Pg0KPHA+SGV0IGltcG9ydGVlcnByb2NlcyBpcyBvbmRlcndvcnBlbiBhYW4gZGUgYmVwZXJraW5nZW4gZGllIG9wZ2VsZWdkIHdvcmRlbiBkb29yIGRlIGhvc3RpbmcgcHJvdmlkZXIsIHpvYWxzIGdlaGV1Z2VuZ3JlbnplbiwgdmVyd2Vya2luZ3N0aWpkLCBiZXN0YW5kc2dyb290dGUgZW4gJiMwMzk7c2FmZSBtb2RlJiMwMzk7IGJlcGVya2luZ2VuLiAgSWVkZXIgdmFuIGRlemUgYmVwZXJraW5nZW4ga2FuIGRlIGltcG9ydCBsYXRlbiBtaXNsdWtrZW4uIERhYXJvbSBpcyBoZXQgdmVyc3RhbmRpZyBlcnZvb3IgdGUgem9yZ2VuIGRhdCBkZSBpbXBvcnRiZXN0YW5kZW4ga2xlaW4gemlqbiBlbiBlZW52b3VkaWcgdmFuIG9wemV0LjwvcD4NCjxwPkhvZXdlbCBhbGxlIGluc3Bhbm5pbmcgaXMgZ2VkYWFuIG9tIHRlIHZvb3Jrb21lbiBkYXQgZGUgZGF0YWJhc2UgbmlldCB2ZXJuaWVsZCB3b3JkdCwgaXMgaGV0IHJhYWR6YWFtIG9tIGVlbiBiYWNrdXAgdmFuIGRlIGRhdGFiYXNlIHRlIG1ha2VuIHZvb3IgaGV0IGltcG9ydGVyZW4uPC9wPg0KPGg1PlZvb3JiZWVsZDwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0ZWVyIGdlYnJ1aWtlcnMgaW4gZGV6ZSBncm9lcCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnZvZXIgQ1NWLWJlc3RhbmQnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdJbnZvZXIgWE1MLWJlc3RhbmQnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnRXhwb3J0ZWVyIGdlYnJ1aWtlcnMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0ZWVyIGdlYnJ1aWtlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnV2lzJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnQWZiZWVsZGluZ2VuIGJlc3RlbW1pbmdzcGFkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnRXIgaXMgZWVuIHByb2JsZWVtIG9wZ2V0cmVkZW4gbWV0IGVlbiBtaXNzZW5kZSwgbWFhciB2ZXJwbGljaHRlLCB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0hldCBvcGdlZ2V2ZW4gWE1MLWJlc3RhbmQga2FuIG5pZXQgd29yZGVuIHZlcndlcmt0ICc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGdlZW4gZ3JvZXAgdmVyd2lqZGVyZW4gZGllIG5vZyBnZWJydWlrZXJzIGJldmF0JzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZXplIGdlYnJ1aWtlciBpcyByZWVkcyBpbmdlbG9nZCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdEZSB0ZWtzdCB2YW4gZGUgYWZiZWVsZGluZyB3YXMgbmlldCBnb2VkIGluZ2V2b2VyZCc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnU3RhIHRvZSBkYXQgZ2VicnVpa2VycyBtZWVyZGVyZSBrZXJlbiBpbmxvZ2dlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnQWZiZWVsZGluZ3NiZXN0YW5kZXh0ZW50aWVzIGRpZSBnZWJydWlrZXJzIG1vZ2VuIHVwbG9hZGVuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk5hIHZlcndpamRlcmVuIGdlYnJ1aWtlcjxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcywgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgdmVyd2lqZGVyZCBpczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIERlIGdlYnJ1aWtlcnMgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+TmEgYWFubWFrZW4gZ2VicnVpa2VyPGgzPg0KPHA+RWVuIGdlYmV1cnRlbmlzLCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdlYnJ1aWtlciBhYW5nZW1hYWt0IGlzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRGUgZ2VicnVpa2Vyc25hYW08L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgZ2VicnVpa2VycyBpZDwvbGk+DQo8L3VsPiANCg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk5hIHdpanppZ2VuIGdlYnJ1aWtlcjxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgaXMgZ2V3aWp6aWdkIChkb29yIGRlIGdlYnJ1aWtlciB6ZWxmIG9mIGRvb3IgZGUgYmVoZWVyZGVyKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRGUgZ2VicnVpa2Vyc25hYW08L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgZ2VicnVpa2Vyc2lkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5OYSBhYW5tYWtlbiBncm9lcDxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcywgZ2VnZW5lcmVlcmQgYWxzIGVlbiBncm9lcCBpcyBhYW5nZW1hYWt0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBEZSBncm9lcHNuYWFtPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIERlIGdyb2Vwc29tc2NocmlqdmluZzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBEZSBncm9lcHMgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk5hIHZlcndpamRlcmVuIGdyb2VwPGgzPg0KPHA+RWVuIGdlYmV1cnRlbmlzLCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdyb2VwIGlzIHZlcndpamRlcmQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIERlIGdyb2Vwc25hYW08L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgZ3JvZXBzIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5OYSBpbmxvZ2dlbjxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcywgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgaW5sb2dkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRGUgbmFhbSB2YW4gZGUgaW5nZWxvZ2RlIGdlYnJ1aWtlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBIZXQgaXAtYWRyZXMgdmFuIGRlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMsIGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2VyIHVpdGxvZ2Q8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBuYWFtIHZhbiBkZSB1aXRnZWxvZ2RlIGdlYnJ1aWtlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBEZSBnZWJydWlrZXJzIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5FZW4gZ2ViZXVydGVuaXMsIGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2Vyc3Nlc3NpZSB2ZXJsb29wdDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIG5hYW0gdmFuIGRlIHZlcmxvcGVuIGdlYnJ1aWtlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBEZSBpZCB2YW4gZGUgdmVybG9wZW4gZ2VicnVpa2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSB3b3JkdCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdlYnJ1aWtlciBpbmxvZ3QnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgdWl0bG9ndCc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgZGUgc2Vzc2lldGlqZCB2YW4gZWVuIGdlYnJ1aWtlciBpcyB2ZXJzdHJla2VuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSB3b3JkdCBnZWdlbmVyZWVyZCBhbHMgZWVuIG5pZXV3ZSBnZWJydWlrZXIgaXMgYWFuZ2VtYWFrdCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGdlYnJ1aWtlcnNpbmZvcm1hdGllIGlzIGdld2lqemlnZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXJzYWNjb3VudCBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXJzZ3JvZXAgaXMgYWFuZ2VtYWFrdCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2Vyc2dyb2VwIGlzIHZlcndpamRlcmQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgZ3JvdXAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBEZSB2b2xnZW5kZSBtYWNybyYjMDM5O3Mga3VubmVuIGluIGRlemUgdmVsZGVuIHdvcmRlbiBnZWJydWlrdDogeyR1c2VybmFtZX0seyRncm91cH0uIEFscyBkZSB7JGdyb3VwfSBtYWNybyB3b3JkdCBnZWJydWlrdCwgemFsIGhldCBzeXN0ZWVtIGRlIG5hYW0gdmFuIGRlIGVlcnN0IGdyb2VwIHdhYXJ0b2UgZGUgZ2VicnVpa2VyIGJlaG9vcnQgdmVydmFuZ2VuIGVuIHZlcndpanplbiBuYWFyIGRpZSBwYWdpbmEuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdXaWp6aWcgZGl0IHZlbGQgb20gaGV0IHdhY2h0d29vcmQgdGUgdmVyYW5kZXJlbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnV2lqemlnIGRpdCB2ZWxkIG9tIGhldCB3YWNodHdvb3JkIHRlIHZlcmFuZGVyZW4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnRGV6ZSBnZWJydWlrZXJzbmFhbSBiZXN0YWF0IGFsJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0RlemUgZXhwb3J0IGxldmVyZGUgZ2VlbiB3YWFyZGUobikgb3AnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTGVuZ3RlIHZhbiBoZXQgZ2VicnVpa2Vyc25hYW12ZWxkJzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0xlbmd0ZSB2YW4gaGV0IHdhY2h0d29vcmR2ZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHdhY2h0d29vcmRsZW5ndGUgb25nZWxkaWcnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggZ2VicnVpa2Vyc25hYW1sZW5ndGUgb25nZWxkaWcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ0VtYWlsYWRyZXMgaXMgZm91dCc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0dlZW4gZW1haWxhZHJlcyBnZXZvbmRlbiB2b29yIGRpdCBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVlbSBtZXQgaGV0IGluc3RlbGxlbiB2YW4gZGUgZ2VicnVpa2Vyc2luZm9ybWF0aWUnOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlZW0gbWV0IGhldCBpbnN0ZWxsZW4gdmFuIGVlbiBlaWdlbnNjaGFwJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdHZWJydWlrZXIgdG9lZ2V2b2VnZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0dlYnJ1aWtlciB2ZXJ3aWpkZXJkIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VpZ2Vuc2NoYXAnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1dhYXJkZSAocmVndWxpZXJlIGV4cHJlc3NpZSknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYWFyc2NodXdpbmc6IERlemUgdmVsZGVuIGJlJml1bWw7bnZsb2VkZW4gZGUgbGVuZ3RlIHZhbiBpbnZvZXJ2ZWxkZW4gdmFuIGZvcm11bGllcmVuLiBIZXQgaXMgbmlldCBhYW4gdGUgcmFkZW4gZGV6ZSBsZW5ndGVuIHRlIHZlcmtsZWluZW4gdm9vciBlZW4gYmVzdGFhbmRlIHdlYnNpdGUuJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdCZWhlZXJ2b29ya2V1cmVuIHdpanppZ2VuPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRS1tYWlsYWRyZXMgd29yZHQgYWwgZ2VicnVpa3QnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnR2VicnVpayBjb29raWVzIG9tIGRlIGlubG9nZGV0YWlscyB0ZSBiZXdhcmVuJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnRGUgbmFhbSB2YW4gaGV0IGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0RlemVsZmRlIGUtbWFpbGFkcmVzc2VuIHRvZXN0YWFuJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ1BvZ2luZyBvbSBkZSBsb2dpbnMgYWN0aWVmIHRlIGhvdWRlbiBkb29yIGhldCBnZWJydWlrIHZhbiBlZW4gY29va2llPGVtPihkZSBjb29raWUgd29yZHQgaGVyc3RlbGQgYmlqIGFjdGl2aXRlaXQgb3AgZGUgd2Vic2l0ZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcobWVlcmRlcmUgZ2VicnVpa2VycyBtZXQgaGV0emVsZmRlIGUtbWFpbGFkcmVzIHRvZXN0YWFuKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ1N0YSBkdWJiZWxlICZxdW90O3dhY2h0d29vcmQgdmVyZ2V0ZW4mcXVvdDsgaGVyaW5uZXJpbmdlbiB0b2U/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhzdGEgZ2VicnVpa2VycyB0b2UgdGUgdmVyem9la2VuIHRvdCBoZXQgcmVzZXR0ZW4gdmFuIGVlbiB3YWNodHdvb3JkLCB6ZWxmcyB6YWwgemUgbmlldHMgbWV0IGVlbiB2b3JpZyB2ZXJ6b2VrIGhlYmJlbiBnZWRhYW4pJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnR2VicnVpayBGcm9udEVuZFVzZXIgc3BlY2lmaWVrZSByZWNodGVuPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFhbCB6aWpuIGRlIHJlY2h0ZW4gdmFuIEZFVXNlcnMgZ2VsaWprIGFhbiBkaWUgdmFuIGhldCB3ZWJzaXRlYmVoZWVyLCB6b2FscyBHZWJydWlrZXJzIHRvZXZvZWdlbiBvZiBHcm9lcGVuIHRvZXZvZWdlbi4gQWxzIHUgZGV6ZSBvcHRpZSBzZWxlY3RlZXJ0LCBkYW4ga29tZW4gZXIgYXBhcnRlIHJlY2h0ZW4gdm9vciBGRVVzZXJzLiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ0thbiBoZXQgZ2V1cGxvYWRlIGJlc3RhbmQgbmlldCB2aW5kZW4gKGludGVybmUgZm91dCknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdFciB3YXMgZWVuIHByb2JsZWVtIG1ldCB1dyBnZXVwbG9hZGUgYmVzdGFuZC4gUHJvYmVlciBoZXQgb3BuaWV1dyc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdHZWVuIGdlYnJ1aWtlcnNuYWFtIGluZ2V2b2VyZCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdHZWVuIHdhY2h0d29vcmQgaW5nZXZvZXJkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBVc2VyIGxvZ3VpdCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdGcm9udGVuZCBVc2VyIGxvZ2luJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+Vk9PUlpJQ0hUSUc8L2I+IGFscyBlaWdlbnNjaGFwcGVuIGdld2lqemlnZCB3b3JkZW4gZGllIGFhbiBncm9lcGVuIHppam4gdG9lZ2VrZW5kLCBkYW4ga3VudCB1IG1vZ2VsaWprIHNjaGFkZSB2ZXJvb3J6YWtlbiBlbiBkZSBiZXN0YWFuZGUgd2Vic2l0ZSB2ZXJuaWVsZW48aT4obWV0IG5hbWUgYWxzIHUgdmVsZGxlbmd0ZW4gcmVkdWNlZXJ0LCBldGMuKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRGV6ZSBmdW5jdGllIHdlcmt0IG5pZXQgb25kZXIgV2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnTWFhayBnZWVuIGVpZ2Vuc2NoYXAgYWFuIHZvb3IgZ2VicnVpa2Vyc25hYW0gZW4gd2FjaHR3b29yZC4gRGV6ZSB6aWpuIGFsIGluZ2Vib3V3ZCBpbiBkZSBtb2R1bGUuJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdHZWJydWlrZXJzIGV4cG9ydGVyZW4gbmFhciBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0ZXJlbic7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRlZXInOwokbGFuZ1snYWRtaW4nXSA9ICdCZWhlZXInOwokbGFuZ1snZWRpdHByb3AnXSA9ICdXYWFyZGUgd2lqemlnZW4nOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW1hbGUgbGVuZ3RlJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdBYW5nZW1hYWt0JzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnRlcmVuIG9wJzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0ZXJlbic7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdnZWJydWlrZXIocykgaW4gZGUgZ2VzZWxlY3RlZXJkZSBncm9lcChlbiknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnUmVzdWx0YXRlbiBiZXBlcmtlbiB0b3QnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnS2FuIGdlZW4gZW1haWx2ZWxkIHZpbmRlbiB2b29yIGRlemUgZ2VicnVpa2VyLiBOZWVtIGNvbnRhY3Qgb3AgbWV0IGRlIGJlaGVlcmRlci4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdpbmFJRC9hbGlhcyB2b29yICZxdW90O3dhY2h0d29vcmQgdmVyZ2V0ZW4mcXVvdDsgZm9ybXVsaWVyJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnaW5hSUQvYWxpYXMgdm9vciAmcXVvdDt3aWp6aWcgaW5zdGVsbGluZ2VuJnF1b3Q7IGZvcm11bGllcic7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2luYUlEL2FsaWFzIG9tIHRlIHRvbmVuIG5hIGlubG9nZ2VuIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnaW5hSUQvYWxpYXMgb20gdGUgdG9uZW4gbmEgdWl0bG9nZ2VuIConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydGVlcnZvbGdvcmRlJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0VlbiBhYW50YWwgZ2VicnVpa2VycyBoZWVmdCBlZW4gdmVyem9layB0b3QgcmVzZXR0ZW4gdmFuIHdhY2h0d29vcmRlbiBpbmdlZGllbmQuIE1vbWVudGVlbCB6aWpuIGRpdCBlcjonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdWZXJ3aWpkZXIgYWxsZSB2ZXJ6b2VrZW4gdmFuIG1lZXIgZGFuIGVlbiB3ZWVrIG91ZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdWZXJ3aWpkZXIgYWxsZSB2ZXJ6b2VrZW4gdmFuIG1lZXIgZGFuIGVlbiBtYWFuZCBvdWQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnQWxsZSB2ZXJ6b2VrZW4gdmVyd2lqZGVyZW4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1pla2VyIHdldGVuPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0VyIGlzIGVlbiB2ZXJrZWVyZGUgY29kZSBpbmdldm9lcmQsIHByb2JlZXIgaGV0IG5vZ21hYWxzJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdEZSB0aWpkZWxpamtlIGNvZGUgdm9vciB1dyBhY2NvdW50IGtvbiBuaWV0IGluIG9uemUgZGF0YWJhc2Ugd29yZGVuIGdldm9uZGVuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnU2phYmxvb24gb20gaGV0IGJldmVzdGlnaW5nc2Zvcm11bGllciB0ZSB0b25lbi4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1NqYWJsb29uIG9tIGhldCAmcXVvdDt3YWNodHdvb3JkIHZlcmdldGVuJnF1b3Q7IGZvcm11bGllciB0ZSB0b25lbi4nOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ1Ugb2YgaWVtYW5kIGFuZGVycyBoZWVmdCBhbCBlZW4gd2FjaHR3b29yZGhlcnN0ZWxwcm9jZWR1cmUgaW4gZ2FuZyBnZXpldC4gQ29udHJvbGVlciB1dyBlLW1haWw6IGVyIHppam4gaW5zdHJ1Y3RpZXMgdmVyem9uZGVuIGhvZSB1dyB3YWNodHdvb3JkIGhlcnN0ZWxkIGthbiB3b3JkZW4uJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZS1mb3V0JzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ1Ugb250dmFuZ3QgZGV6ZSBib29kc2NoYXAgb21kYXQgZXIgaXMgZ2VtZWxkIGRhdCB1IHV3IHdhY2h0d29vcmQga3dpanQgYmVudC4gQWxzIGRpdCB6byBpcywgbGVlcyBkYW4gZGUgb25kZXJzdGFhbmRlIGFhbndpanppbmdlbiBhYW5kYWNodGlnIGRvb3IuIEFscyBkaXQgYmVyaWNodCBuaWV0IHZvb3IgdSBiZXN0ZW1kIGlzLCBkYW4ga3VudCB1IGRpdCB3ZWdnb29pZW4uJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQ29kZSAnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRGUgdm9sZ2VuZGUgY29kZSBpcyB3aWxsZWtldXJpZyBnZWdlbmVyZWVyZCBvbSBoZXQgZ2VicnVpa2Vycy1hY2NvdW50IHRlIGNvbnRyb2xlcmVuLiBBbHMgdSBvcCBkZSBsaW5rIGhpZXJvbmRlciBrbGlrdCwga3Jpamd0IHUgZWVuIHZlbGQgd2FhciBkZXplIGNvZGUgaW5nZXZvZXJkIGthbiB3b3JkZW4uIE5vcm1hYWwgemFsIGRpdCB2ZWxkIHJlZWRzIGluZ2V2dWxkIHppam4uIElzIGRpdCBuaWV0IGhldCBnZXZhbCwgdm9lciBkYW4gZGUgdm9sZ2VuZGUgY29kZSBpbjogJzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnQWxzIHUgb3AgZGUgdm9sZ2VuZGUgbGluayBrbGlrdCwga29tdCB1IG9wIGRlIHdlYnNpdGUgd2FhciB1IGJvdmVuc3RhYW5kZSBjb2RlIGt1bnQgaW52b2VyZW4gZW4gZGFhcm1lZSB1IHV3IHdhY2h0d29vcmQga3VudCByZXNldHRlbi4nOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1dhY2h0d29vcmQgdmVyZ2V0ZW4nOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdLb24gZGUgQ01TTWFpbGVyLW1vZHVsZSBuaWV0IHZpbmRlbic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdFZW4gZW1haWwgaXMgbmFhciAlcyBnZXpvbmRlbiBtZXQgaW5zdHJ1Y3RpZXMgaG9lIGhldCB3YWNodHdvb3JkIGdlcmVzZXQga2FuIHdvcmRlbi4gJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnVSBnZWVmdCBhYW4gaGV0IHdhY2h0d29vcmQgdmVybG9yZW4gb2YgdmVyZ2V0ZW4gdGUgemlqbi4gVm9lciBoaWVyIHV3IGdlYnJ1aWtlcnNuYWFtIGluLiBJbmRpZW4gZGV6ZSBiZXN0YWF0LCBvbnR2YW5ndCB1IGVlbiBlbWFpbCBtZXQgaW5zdHJ1Y3RpZXMgaG9lIHUgaGV0IHdhY2h0d29vcmQga3VudCByZXNldHRlbi4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICcmcXVvdDtXYWNodHdvb3JkIHZlcmdldGVuJnF1b3Q7IHNqYWJsb29uJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJyZxdW90O1ZlcmdldGVuIGdlYnJ1aWtlcnNuYWFtJnF1b3Q7IHNqYWJsb29uJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VpZ2Vuc2NoYXAgJXMgbmlldCBnZXZvbmRlbic7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnZ2V2b25kZW4gZWlnZW5zY2hhcChwZW4pJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdFaWdlbnNjaGFwIHRvZXZvZWdlbic7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRWVuIHZlcnBsaWNodCB2ZWxkICglcykgaXMgbmlldCBpbmdldnVsZCc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ1Z1bCBoaWVyIGVlbiBuaWV1dyB3YWNodHdvb3JkIGluIG9tIHV3IGJlc3RhYW5kZSB3YWNodHdvb3JkIHRlIHZlcmFuZGVyZW4nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdIZXQgbGlqa3QgZGF0IHUgbmlldCBpbmdlbG9nZCBiZW50JzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdJbnN0ZWxsaW5nZW4nOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXRpZSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ0RpdCBhY2NvdW50IGlzIHZlcmxvcGVuJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdWZXJrZWVyZCBlbWFpbGFkcmVzZm9ybWFhdCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ09uZ2VsZGlnZSBhZmxvb3BkYXR1bSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRm91dCBiaWogaW5zdGVsbGVuIGVpZ2Vuc2NoYXAgJXMgdm9vciBnZWJydWlrZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdPbmdlbGRpZ2UgZ3JvZXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdWZXJib3JnZW4tdmVsZCBtYXJrZXIgJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdWZXJib3JnZW4tdmVsZCBrbGV1cic7CiRsYW5nWydoaWRkZW4nXSA9ICdWZXJib3JnZW4nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0VlbiBlaWdlbnNjaGFwIG1ldCBkaWUgbmFhbSBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0dlZW4gZWlnZW5zY2hhcHBlbiBnZWRlZmluaWVlcmQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdWb29yIGRlemUgZ3JvZXAgemlqbiBnZWVuIGVpZ2Vuc2NoYXBwZW4gZ2VzZWxlY3RlZXJkJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnRXIgemlqbiBnZWVuIGdyb2VwZW4gZ2VkZWZpbmllZXJkJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnZ2V2b25kZW4gZ3JvZXAoZW4pJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdMaWRtYWF0c2NoYXAgdmFuIG1pbnN0ZW5zICZlYWN1dGU7JmVhY3V0ZTtuIGdyb2VwIGlzIHZlcnBsaWNodCc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnVmVycGxpY2h0IGxpZG1hYXRzY2hhcCB2YW4gbWluc3RlbnMgJmVhY3V0ZTsmZWFjdXRlO24gZ3JvZXAnOwokbGFuZ1snYmFjayddID0gJ1RlcnVnJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBpcyBlZW4gdmVycGxpY2h0IHZlbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ1ZlcnBsaWNodGUgdmVsZGVuIG1hcmtlcmVuIG1ldCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdWZXJwbGljaHRlIHZlbGRlbiBiZW5hZHJ1a2tlbiBtZXQnOwokbGFuZ1snbmV4dCddID0gJ1ZvbGdlbmRlJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnRWVuIGdyb2VwIG1ldCBkaWUgbmFhbSBiZXN0YWF0IGFsJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnVmVycGxpY2h0IHZlbGQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdPcHRpb25lZWwnOwokbGFuZ1snb2ZmJ10gPSAnVWl0JzsKJGxhbmdbJ3NpemUnXSA9ICdHcm9vdHRlJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW1hbGUgYWZtZXRpbmcgdmFuIGRlIGFmYmVlbGRpbmcgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMZW5ndGUnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oa2FyYWt0ZXJzIGluIGRlIHRla3N0aW52b2VyKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnS2V1emVsaWpzdG9wdGllcywgZ2VzY2hlaWRlbiBkb29yIHJlZ2VsZWluZGVuLiBXYWFyZGVuIGt1bm5lbiB2YW4gdGVrc3QgZ2VzY2hlaWRlbiB3b3JkZW4gbWV0ICZxdW90Oz0mcXVvdDssIGJpanZvb3JiZWVsZDogVnJvdXdlbGlqaz12ICc7CiRsYW5nWydwcm9tcHQnXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnVmVsZHN0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdWcmFhZyBpbiBWZXJnZXRlbjxici8+R2VicnVpa2Vyc25hYW0nOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnU2VsZWN0aWV2YWsnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNZWVya2V1emVsaWpzdCc7CiRsYW5nWydpbWFnZSddID0gJ0FmYmVlbGRpbmcnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbGFkcmVzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3R2ZWxkJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnS2V1emVsaWpzdCc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dlbGtvbSc7CiRsYW5nWydsb2dvdXQnXSA9ICdVaXRsb2dnZW4nOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ0dlYnJ1aWsgZGV6ZSBncm9lcHNuYWFtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01pam4gSW5zdGVsbGluZ2VuIHdpanppZ2VuJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gbmlldCBnZWx1a3QgLSBvbmdlbGRpZ2UgZ2VicnVpa2Vyc25hYW0gb2Ygd2FjaHR3b29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dpbic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJyZxdW90O0xvZ2luJnF1b3Q7IGJ1dHRvbnRla3N0JzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1dhY2h0d29vcmQnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdPbnRob3VkIG1pam4gaW5zdGVsbGluZ2VuIG9wIGRlemUgY29tcHV0ZXInOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3RyZXJlbic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ1dhY2h0d29vcmQgdmVyZ2V0ZW4/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0JlbnQgdSBkZSBsb2dpbmdlZ2V2ZW5zIHZlcmdldGVuPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1NqYWJsb29uJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0dlYnJ1aWtlciBJRCBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdEaWUgZ2VicnVpa2Vyc25hYW0gKCVzKSBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdHZWJydWlrIFNNVFAgb20gZW1haWxhZHJlc3NlbiB0ZSB2YWxpZGVyZW4/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbmltYWxlIHdhY2h0d29vcmRsZW5ndGUnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW1hbGUgd2FjaHR3b29yZGxlbmd0ZSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbWFsZSBnZWJydWlrZXJzbmFhbWxlbmd0ZSc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYXhpbWFsZSBnZWJydWlrZXJzbmFhbWxlbmd0ZSc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaWUgdmVybG9vcHRpamQgKHNlY29uZGVuKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnR2VicnVpayBjb29raWVzIG9tIGRlIGxvZ2lucyBhY3RpZWYgdGUgaG91ZGVuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnU3RhIGUtbWFpbHJlZ2lzdHJhdGllIHRvZSc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnU3RhbmRhYXJkZ3JvZXAgdm9vciBuaWV1d2UgZ2VicnVpa2Vycyc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ1dpanppZyBpbnN0ZWxsaW5nZW4gc2phYmxvb24nOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1dhY2h0d29vcmRlbiBrb21lbiBuaWV0IG92ZXJlZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnRm91dGlldmUgZ2VicnVpa2Vyc25hYW0nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnRm91dGllZiB3YWNodHdvb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnVmVyYW5kZXIgZ2VicnVpa2VyJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnR2VsZGlnJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ0RlemUgZ2VicnVpa2VyIGlzIGdlZW4gbGlkIHZhbiBlbmlnZSBncm9lcCc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnR2VlbiBlaWdlbnNjaGFwcGVuJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnUG9naW5nIG9tIGR1YmJlbGUgZWlnZW5zY2hhcHBlbiB0ZSBpbXBvcnRlcmVuJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnV2FhcmRlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb2VwZW4nOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VpZ2Vuc2NoYXBwZW4nOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdFaWdlbnNjaGFwc25hYW0nOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnRWlnZW5zY2hhcHN3YWFyZGUnOwokbGFuZ1snYWRkJ10gPSAnVG9ldm9lZ2VuJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3JpZSc7CiRsYW5nWydlZGl0J10gPSAnQWFucGFzc2VuJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWZXJsb29wdCc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdEYXR1bSBvcGdldmVuJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgdXVyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgdXVyJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggdXVyJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSB3ZWVrJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgd2VrZW4nOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBtYWFuZCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtYWFuZGVuJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IG1hYW5kZW4nOwokbGFuZ1snMXllYXInXSA9ICcxIGphYXInOwokbGFuZ1snbmV2ZXInXSA9ICdOb29pdCc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdEZSBtb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkLjxici8+U3RlbCBkZSByZWNodGVuICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyZxdW90OyBpbi4gRGFhcm5hYXN0IGJldmVsZW4gd2UgYWFuIG9tIGRlIENhcHRjaGEtbW9kdWxlIHRlIGluc3RhbGxlcmVuLiBOYSBpbnN0YWxsYXRpZSBpcywgbmFhc3QgZGUgZ2VicnVpa2Vyc25hYW0gZW4gaGV0IHdhY2h0d29vcmQsIGRlIHZhbGlkYXRpZSB2YW4gZWVuIENhcHRjaGEtYWZiZWVsZGluZyB2ZXJwbGljaHQgb20gaW4gdGUga3VubmVuIGxvZ2dlbi4gRGl0IGlzIGJlZG9lbGQgb20gJiMwMzk7YnJ1dGUgZm9yY2UmIzAzOTsgYWFudmFsbGVuIHRlIHZvb3Jrb21lbi4gPHN0cm9uZz5MZXQgb3A6PC9zdHJvbmc+IERlIG5vY2FwdGNoYS1wYXJhbWV0ZXIga2FuIGdlYnJ1aWt0IHdvcmRlbiBvbSBkZXplIGZ1bmN0aW9uYWxpdGVpdCB1aXQgdGUgc2NoYWtlbGVuLCB6ZWxmcyBhbHMgZGUgQ2FwdGNoYS1tb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydwYXNzd29yZCddID0gJ1dhY2h0d29vcmQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdOb2dtYWFscyc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnRXIgYmVzdGFhdCBhbCBlZW4gZ3JvZXAgbWV0IGRpZSBuYWFtJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ0dyb2VwIGJld2Vya2VuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnV2VldCB1IHpla2VyIGRhdCBkaXQgZGUganVpc3RlIGluc3RlbGxpbmdlbiB2b29yIGRlemUgZ3JvZXAgemlqbj9cbkhldCB1aXR6ZXR0ZW4gdmFuIGVlbiBlaWdlbnNjaGFwIHZlcndpamRlcnQgbmlldHMgdWl0IGRlIGVpZ2Vuc2NoYXBwZW50YWJlbCB2YW4gZGV6ZSBncm9lcC9nZWJydWlrZXI7IGhldCBpcyBhbGxlZW4gbmlldCBiZXNjaGlrYmFhci4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIGdyb2VwIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBlaWdlbnNjaGFwIGRlZmluaXRpZWYgd2lsdCB2ZXJ3aWpkZXJlbj9cbkFscyB1IGRhdCBkb2V0LCB2ZXJ3aWpkZXJ0IHUgbWV0ZWVuIG9vayBhbGxlIGVpZ2Vuc2NoYXBwZW4gZGllIGdla29wcGVsZCB6aWpuIGFhbiBkZSBnZWJydWlrZXJzLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdPbnZvbGRvZW5kZSBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hYW0nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibGVlbSBtZXQgaGV0IHRvZXZvZWdlbiB2YW4gZWlnZW5zY2hhcHBlbic7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlZW0gbWV0IGhldCB0b2V2b2VnZW4gdmFuIGdyb2Vwc3JlbGF0aWVzJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZWVtIG1ldCBoZXQgdG9ldm9lZ2VuIHZhbiBlZW4gZ3JvZXAnOwokbGFuZ1snZXJyb3JfY2FudGFzc2lnbnVzZXInXSA9ICdQcm9ibGVlbSBtZXQgaGV0IHRvZXZvZWdlbiB2YW4gZWVuIGdlYnJ1aWtlciBhYW4gZWVuIGdyb2VwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVlbSBtZXQgaGV0IHZlcndpamRlcmVuIHZhbiBlZW4gZWlnZW5zY2hhcCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0thbiBlZW4gZW1haWxhZHJlcyBuaWV0IHZpbmRlbic7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnR2VlbiBzY2hyaWpmcmVjaHRlbiBpbiBkZSBiZXN0ZW1taW5nc21hcCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnT25nZWxkaWdlIHBhcmFtZXRlcnMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdLYW4gZ2VlbiBncm9lcGVuIHZpbmRlbic7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1RvZXBhc3Nlbic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0dlYnJ1aWtlcnNuYWFtIChyZWd1bGllcmUgZXhwcmVzc2llKSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09tc2NocmlqdmluZyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdHcm9lcHNuYWFtJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCc7CiRsYW5nWydhZGRncm91cCddID0gJ0dyb2VwIHRvZXZvZWdlbic7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGVlciBncm9lcCc7CiRsYW5nWydhZGR1c2VyJ10gPSAnR2VicnVpa2VyIHRvZXZvZWdlbic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnZ2VicnVpa2VyKHMpIGdldm9uZGVuIGRpZSB2b2xkb2VuIGFhbiBkZSBnZWdldmVuIGNyaXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvZXAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdHcm9lcCBzZWxlY3RlcmVuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGllc2phYmxvb24nOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnVWl0bG9nc2phYmxvb24nOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdJbmxvZ3NqYWJsb29uJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnVm9vcmtldXJlbic7CiRsYW5nWyd1c2VycyddID0gJ0dlYnJ1aWtlcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlci1iZWhlZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTdGEgZ2VicnVpa2VycyB0b2UgaW4gdGUgbG9nZ2VuIG9wIGRlIGZyb250LWVuZCB2YW4gdXcgc2l0ZSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnU3RhbmRhYXJkIGJpbm5lbmtvbXN0cGFnaW5hJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdMYWF0c3QgYmV6b2NodGUgcGFnaW5hJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0FuZGVyZSBwYWdpbmE6JzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdWb2VyIGRlIHRla3N0IHVpdCBoZXQgcGxhYXRqZSBpbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4wIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjEgLSBPY3RvYmVyLCAyMDA1IC0gRml4ZWQgaXNzdWVzIHdpdGggcHJvcGVydGllczwvbGk+DQo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPjxwPjAuMS4zIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJlciwgMjAwNSAtIFZlcnkgbWlub3IgY2hhbmdlIHdpdGggcmVzcGVjdCB0byBhIGZvcmdvdHRlbiBhbmQgbm8gbG9uZ2VyIG5lZWRlZCBmdW5jdGlvbiBjYWxsPC9saT4NCjxsaT48cD4wLjEuNSAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFub3RoZXIgdmVyeSBtaW5vciBjaGFuZ2UsIGFkZGVkIHNvbWUgdGV4dCB0byB0aGUgUG9zdEluc3RhbGwgbWVzc2FnZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNiAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjcgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+TWFueSB0aGFua3MgdG8gPGI+a2F0b248L2I+IGZvciBhZGRpbmcgdGhlIHRleHRhcmVhIGFuZCBkcm9wZG93biBwcm9wZXJ0eSB0eXBlcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjAgLSBGZWJydWFyeSwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+DQogICAgPHA+QWRkZWQgc29ydGluZyB0byB0aGUgYWRtaW4gcGFuZWw8L3A+DQogICAgPHA+QWRkZWQgbWF4IGxlbmd0aCBhYmlsaXR5IHRvIHRleHQgYW5kIGVtYWlsIGZpZWxkczwvcD4NCiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+DQogICAgPHA+U2F2ZSBmaWx0ZXIgc2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMsIGFuZCB0aGUgYWN0aXZlIHRhYiB0b28uPC9wPg0KICAgIDxwPkRlbGV0ZSB1c2VyIHByb3BlcnRpZXMgd2hlbiBhIHByb3BlcnR5IGlzIGRlbGV0ZWQgPGVtPk5vdGU8L2VtPiwgbm90IHdoZW4gaXQgaXMgZGlzYWJsZWQgaW4gdGhlIGVkaXQgZ3JvdXAgZGlhbG9nPC9wPg0KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+DQogICAgPHA+QWRkZWQgYSBjb3VwbGUgbW9yZSBjb25maXJtYXRpb24gbWVzc2FnZXMuPC9wPg0KICAgIDxwPkFkZGVkIENTViBFeHBvcnQgb3B0aW9uPC9wPg0KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjEgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPg0KICAgIDxwPkZpeCBwcm9ibGVtIHdoZXJlIGV4cGlyeSBkYXRlIHdhcyBiZWluZyBtb2RpZmllZCB3aGVuIGFkbWluIG1vZGlmaWVkIHVzZXIgc2V0dGluZ3M8L3A+DQogICAgPHA+QWRkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHByZWZlcmVuY2VzIHN1Ym1pdCBidXR0b248L3A+DQogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgc2l6ZSBvZiB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzLCBhbmQgbWF4bGVuZ3RoPC9wPg0KICAgIDxwPkFkZGVkIGFkdmFuY2VkIGZpbHRlcmluZyBvbiBwcm9wZXJ0aWVzPC9wPg0KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4NCiAgICA8cD5GaXhlcyB0byBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uIGlubGluZSBmb3JtcywgdGhlIHBhc3N3b3JkIGlzIG5ldmVyIHNlbnQgb24gdGhlIGdldCBsaW5lPC9wPg0KICAgIDxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMiAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+TW9yZSBmaWVsZCBsZW5ndGggZml4ZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4zIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5FeHBvcnQgdG8gc21hcnR5IGFsbCBvZiB0aGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gdGhleSBhcmUgbG9nZ2VkIGluPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNCAtIE1heSwgMjAwNjxwPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBleHBvcnQgY29kZTwvcD4NCiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+DQogICAgPHA+TWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyAocmVjb21tZW5kZWQgYnkgbmlsczczKSBmb3IgZGVhbGluZyB3aXRoIHRoZSBjaGFuZ2UgcGFzc3dvcmQgc3R1ZmYuPC9wPg0KICAgIDxwPlJlbW92ZWQgdGhlIHJlcXVpcmVtZW50IGZvciBDTVMgMC4xMiwgYW5kIHB1dCBpdCBiYWNrIHRvIDAuMTEuMjwvcD4NCiAgICA8cD5BZGRlZCB0aGUgXCYjMDM5O3NpbGVudFwmIzAzOTsgZm9ybTwvcD4NCiAgICA8cD5DbGVhbmVkIHVwIGRhdGFiYXNlIGFjY2VzcyBzdHVmZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyAoaG9wZWZ1bGx5KTwvcD4NCiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4NCiAgICA8cD5BZGRlZCBtYWNyb3MgZm9yIHJlZGlyZWN0byB0byBhIHVzZXIgc3BlY2lmaWMgcGFnZSBvbiBsb2dpbiBvciBsb2dvdXQ8L3A+DQogICAgPHA+VHdlYWtzIHRvIHRoZSBhZG1pbiBwcmVmZXJlbmNlcyB0YWI8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC41IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4NCiAgICA8cD5TdGFydCBzcGxpdHRpbmcgdGhlIGNvZGUgdXAgaW50byBzZXZlcmFsIGZpbGVzPC9wPg0KPGxpPjxwPjEuMC42IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGVkaXRpbmcgZHJvcGRvd25zPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMCAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5FdmVudHM8L3A+DQogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+DQogICAgPHA+RXhwb3J0IHRoZSB1c2VyIGlkIHRvIHNtYXJ0eTwvcD4NCiAgICA8cD5BZGRlZCBvcHRpb25hbGx5IHskZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4xIC0gU2VwdCwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIGJ1ZyB3aGVuIGEgdXNlciB3YXMgZWRpdGluZyBoaXMgc2V0dGluZ3Mgd2l0aCBcJiMwMzk7YWxsb3cgZHVwbGljYXRlIGVtYWlsc1wmIzAzOTsgd2FzIG9mZjwvcD4NCiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4NCiAgICA8cD5NaW5vciBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjIgLSBEZWMsIDIwMDY8L3A+DQogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4NCiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KICAgPGxpPjxwPjEuMi4wIC0gQXByaWwsIDIwMDc8L3A+DQogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+DQogICAgPHA+VGVtcGxhdGUgY2xlYW51cHMgKG1vcmUgb2YgZW0pPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPg0KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgJnF1b3Q7YXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkJnF1b3Q7IHN0dWZmPC9wPg0KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4NCiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IG5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2VyczwvcD4NCiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+DQogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgaW1hZ2UgdXBsb2FkcywgdGhpcyBpcyBhIGJpZyBmZWF0dXJlLiAgSW1hZ2VzIGFyZSBzY2FsZWQgdG8gYSBtYXhpbXVtIHNpemUgaW4gb25lIGRpbWVuc2lvbiwgYW5kIHN0b3JlZCBhcyBmaWxlcyBpbiBhIGNvbmZpZ3VyYWJsZSBkaXJlY3RvcnkgdW5kZXIgdGhlIHVwbG9hZHNfcGF0aC48L3A+DQogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4NCiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+DQogICAgPHA+SW1wb3J0IFVzZXJzIGZyb20gQ1NWPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+DQogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCBpZiB0aGUgdXNlciBzZXR0aW5ncyBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+DQo8L2xpPg0KPGxpPg0KPHA+MS4yLjEgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9nb3V0IHVzZXJzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+DQoJPHA+QWRkZWQgbW9yZSB2YXJpYWJsZXMgaW4gZWFjaCBvYmplY3QgaW4gdGhlIGNoYW5nZXNldHRpbmdzIGZvcm08L3A+DQo8L2xpPg0KPGxpPg0KCTxwPjEuMi4yIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+DQo8L2xpPg0KPGxpPjEuMyAtIFNlcHRlbWJlciwgMjAwNw0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgJiMwMzk7cmVtZW1iZXIgbWUmIzAzOTsgc28gdGhhdCBsb2dpbiBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gYSBjb29raWUuICBBbmQgc3VwcG9ydCBmb3IgYSBmb3JtIHRvIGFsbG93IHRoYXQgY29va2llIHRvIGJlIHJlc2V0LjwvcD4NCjwvbGk+DQo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNw0KPHA+Rml4ZXMgcHJvYmxlbXMgd2l0aCBwYXJhbWV0ZXJzIG5vdCBiZWluZyBjbGVhbmVkIGluIHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZGlhbG9nIG9uIHRoZSBmcm9udCBlbmQuPC9wPg0KPHA+Rml4ZXMgYW4gdXBncmFkZSBpc3N1ZSBpbiB0aGUgZGF0YWJhc2Ugc2NoZW1hPC9wPg0KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPg0KPHA+QWRkIGEgcHJlZmVyZW5jZSB0aGF0IGFsbG93cyBhZG1pbnMgdG8gc3BlY2lmeSBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdGhlIGZvcmdvdCBwYXNzd29yZCB2YWxpZGF0aW9uIGZvcm0gaXMgY29tcGxldGUuPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+SG9lIHdlcmt0IGhldD88L2gzPg0KPHA+RGV6ZSBtb2R1bGUgbWFha3QgYmVoZWVyIGVuIGFkbWluaXN0cmF0aWUgdmFuIGZyb250LWVuZCBnZWJydWlrZXJzIG1vZ2VsaWprIDxpPihnZWJydWlrZXJzIGRpZSBnZWVuIGJlaGVlcnRvZWdhbmcgaGViYmVuKTwvaT4uICBVIGt1bnQga2FuIGVyIGdlYnJ1aWtlcnNncm9lcGVuIGVuIC1hY2NvdW50cyBtZWUgYWFubWFrZW4gZW4gZ2VicnVpa2VycyBrdW5uZW4gZXIgbWVlIGluLSBlbiB1aXRsb2dnZW4uIERlIG1vZHVsZSBrYW4gc2FtZW4gbWV0IGRlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIGdlYnJ1aWt0IHdvcmRlbiBvbSBzcGVjaWZpZWtlIGluaG91ZCBhYW4gYmVwYWFsZGUgZ2VicnVpa2VycyB0ZSB0b25lbiBuYWRhdCB6ZSBpbmdlbG9nZCB6aWpuLjwvcD4NCjxoMz5Nb2dlbGlqa2hlZGVuPC9oMz4NCjx1bD4NCjxsaT48cD5HZWJydWlrZXJzYWNjb3VudHMgbWV0IGJlcGVya3RlIGxldmVuc2R1dXIuICBVIGt1bnQgdGlqZGVsaWprZSBnZWJydWlrZXJzIGFhbm1ha2VuLjwvcD48L2xpPg0KPGxpPjxwPkdyb2Vwc2VpZ2Vuc2NoYXBwZW4uIFUga3VudCB2ZXJzY2hpbGxlbmRlIGdlZ2V2ZW5zIHZyYWdlbiBhYW4gbGVkZW4gdmFuIHZlcnNjaGlsbGVuZGUgZ3JvZXBlbi48L3A+PC9saT4NCjxsaT48cD5HZXNjaGlrdCBvbSBob25kZXJkZW4gZ2VicnVpa2VycyBhZiB0ZSBoYW5kZWxlbi48L3A+PC9saT4NCjxsaT48cD5IZWVmdCBlZW4gdWl0Z2VicmVpZGUgQVBJIG9tIGZ1bmN0aW9uYWxpdGVpdCB0b2UgdGUgdm9lZ2VuPC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvZSBnZWJydWlrdCB1IGhldD88L2gzPg0KPHVsPg0KPGxpPjxwPk5hIGluc3RhbGxhdGllIGhlZWZ0IHUgdG9lZ2FuZyB0b3QgaGV0IGJlaGVlcnNjaGVybSB2YW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgb25kZXIgaGV0IEdlYnJ1aWtlcnMvR3JvZXBlbiBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+VGVuIGVlcnN0ZSBtb2V0IHUgZWlnZW5zY2hhcHBlbiBpbnN0ZWxsZW4uIEVpZ2Vuc2NoYXBwZW4gemlqbiBvbm1pc2JhcmUgdmVsZGRlZmluaXRpZXMgd2FhciB1IGhldCB0eXBlIGluZm9ybWF0aWUgb3BnZWVmdCBkYXQgdSB3aWx0IHZlcnphbWVsZW4gZW4gZGUgYmVwZXJraW5nZW4sIGJpanZvb3JiZWVsZDogIG5hYW0sIGxlZWZ0aWpkLCBzdGFkLCBsYW5kLCBlLW1haWxhZHJlcy48L3A+DQo8cD48Yj5PcG1lcmtpbmc6PC9iPiBVIGhvZWZ0IGRlIGVpZ2Vuc2NoYXBwZW4gdm9vciBnZWJydWlrZXJzbmFhbSBlbiB3YWNodHdvb3JkIG5pZXQgb3AgdGUgZ2V2ZW4sIGRlemUgemlqbiBhbCBpbmdlc3RlbGQuPC9iPg0KPC9saT4NCjxsaT48cD5UZW4gdHdlZWRlIG1vZXQgdSAmZWFjdXRlOyZlYWN1dGU7biBvZiBtZWVyZGVyZSBncm9lcGVuIGFhbm1ha2VuLiBBbHMgdSBlZW4gZ3JvZXAgYWFubWFha3Qgd29yZHQgdSBnZXZyYWFnZCBvbSBlZW4gZ3JvZXBzbmFhbSwgZWVuIG9tc2NocmlqdmluZywgb20gZWlnZW5zY2hhcHBlbiBhYW4gZGUgZ3JvZXAgdG9lIHRlIGtlbm5lbiBlbiBvZiBoZXQgb3B0aW9uZWxlLCB2ZXJwbGljaHRlIG9mIHZlcmJvcmdlbiB2ZWxkZW4gYmV0cmVmdCA8aT4odWl0IGlzIG9vayBnZWxkaWcpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk9wbWVya2luZzo8L2I+IENvbnRyb2xlZXIgdm9vcmRhdCB1IHZlcmRlciBnYWF0IG9mIGRlIHZvb3JrZXVyZW4gZ29lZCB6aWpuIGluZ2VzdGVsZC48L3A+PC9saT4NCjxsaT48cD5UZW4gZGVyZGUgbW9ldCB1ICZlYWN1dGU7JmVhY3V0ZTtuIG9mIG1lZXJkZXJlIGdlYnJ1aWtlcnMgYWFubWFrZW4uIERpdCBpcyBlZW4gcHJvY2VzIGluIHR3ZWUgc3RhcHBlbi4gQWxzIHUgZWVuIGdlYnJ1aWtlciBhYW5tYWFrdCwgd29yZHQgZXIgZ2V2cmFhZ2Qgb20gZWVuIGdlYnJ1aWtlcnNuYWFtLCBlZW4gd2FjaHR3b29yZCBlbiBlZW4gdmVybG9vcGRhdHVtLiAgVmVydm9sZ2VucyBzZWxlY3RlZXJ0IHUgZGUgZ3JvZXAgd2FhciBkZSBnZWJydWlrZXIgbGlkIHZhbiBpcyBlbiBrbGlrdCB1IG9wIFwmIzAzOTtWb2xnZW5kZVwmIzAzOTs8L3A+DQo8cD48ZW0+T3BtZXJraW5nOiA8L2VtPkRpdCBpcyBlZW4gYXJiZWlkc2ludGVuc2lldmUgZW4gc2FhaWUga2x1cy4gSGV0IGlzIGVlbnZvdWRpZ2VyIG9tIGdlYnJ1aWtlcnMgemljaHplbGYgdGUgbGF0ZW4gcmVnaXN0cmVyZW4gZW4gdmVydm9sZ2VucyBkZSBncm9lcHNpbmZvcm1hdGllIGFhbiB0ZSBwYXNzZW4uIE9tIGRlemUgbW9kdWxlIHRlIHRlc3RlbiBpcyBoZXQgZWNodGVyIHJhYWR6YWFtIGVua2VsZSBnZWJydWlrZXJzIGFhbiB0ZSBtYWtlbi48L3A+PC9saT4NCjxsaT48cD5UZW5zbG90dGUsIG5hZGF0IGhldCBzeXN0ZWVtIGFsbGUgZ2VnZXZlbnN2ZWxkZW4gZGllIGFhbiBkZSBnZWJydWlrZXJzIHdvcmRlbiBnZXRvb25kIGhlZWZ0IGJlcGFhbGQsIHdvcmR0IGVlbiBmb3JtdWxpZXIgZ2V0b29uZCB3YWFyaW4gdSBkZSB2ZXJwbGljaHRlIGdlYnJ1aWtlcnNpbmZvcm1hdGllIGt1bnQgYWFuZ2V2ZW4uIFZ1bCBkZXplIGluZm9ybWF0aWUgaW4gb20gaGV0IHRvZXZvZWdlbiB2YW4gZWVuIG5pZXV3ZSBnZWJydWlrZXIgYWYgdGUgcm9uZGVuLjwvcD48L2xpPg0KPGxpPjxwPk51IGJlbnQgdSB6b3ZlciBvbSBkZSBGcm9udEVuZCBmdW5jdGlvbmFsaXRlaXQgYWFuIHV3IHNpdGUgdG9lIHRlIHZvZWdlbi4gRGl0IGthbiBlZW52b3VkaWdlIG1ldCBoZXQgdG9ldm9lZ2VuIHZhbiBkZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIGFhbiBkZSBwYWdpbmEgb2Ygc2phYmxvb24uPC9wPjwvbGk+DQo8L3VsPg0KPGgzPk9uZGVyc3RldW5pbmc8L2gzPg0KPHA+RGV6ZSBtb2R1bGUgYmV2YXQgZ2VlbiBjb21tZXJjaSZldW1sO2xlIHN1cHBvcnQuIEVjaHRlciwgZXIgemlqbiBlZW4gYWFudGFsIGluZm9ybWF0aWVicm9ubmVuIG9tIHUgdGUgaGVscGVuOjwvcD4NCjx1bD4NCjxsaT5Wb29yIGRlIG5pZXV3c3RlIHZlcnNpZSB2YW4gZGV6ZSBtb2R1bGUsIHZvb3IgRkFRcywgb20gZWVuIEJ1ZyBSZXBvcnQgaW4gdGUgc3R1cmVuIG9mIG9tIGNvbW1lcmNpJmV1bWw7bGUgc3VwcG9ydCB0ZSBrb3BlbiwgYmV6b2VrdCB1IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2Ugb3AgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5FeHRyYSBiZXNwcmVraW5nZW4gdmFuIGRlemUgbW9kdWxlIGt1bm5lbiBvb2sgZ2V2b25kZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+RGUgYXV0ZXVyLCBjYWxndXkxMDAwLCBrYW4gdmFhayB3b3JkZW4gYWFuZ2V0cm9mZmVuIGluIGRlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5UZW5zbG90dGUga3VudCB1IG1vZ2VsaWprIHN1Y2NlcyBoZWJiZW4gZG9vciBkZSBhdXRldXIgZGlyZWN0IHRlIGUtbWFpbGVuLjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25lZWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm11bGllcmVuOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIFRvb24gaGV0IGxvZ2luLWZvcm11bGllcjwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIFRvb24gaGV0IGxvZ291dC1mb3JtdWxpZXI8L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIFRvb24gaGV0ICZxdW90O3dpanppZyBpbnN0ZWxsaW5nZW4mcXVvdDsgZm9ybXVsaWVyPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBUb29uIGhldCAmcXVvdDt3YWNodHdvb3JkIHZlcmdldGVuJnF1b3Q7IGZvcm11bGllcjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uZWVsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+R2VicnVpa3QgbWV0IGRlIGxvZ2luLCBsb2dvdXQgIGVuICZxdW90O3dpanppZyBpbnN0ZWxsaW5nZW4mcXVvdDsgZm9ybXVsaWVyZW4uIERlemUgcGFyYW1ldGVyIGJldmF0IGRlIHBhZ2luYS1pZCBvZiBhbGlhcyBvbSBuYWFyIHRlIHJlZGlyZWN0ZW4gbmFkYXQgaGV0IGZvcm11bGllciBnb2VkIGlzIGluZ2V2dWxkPC9wPg0KPC91bD4NCjxoMz5WZXJlaXN0ZW48L2gzPg0KPHA+T20gZGUgdmVyZ2V0ZW4gd2FjaHR3b29yZCBmdW5jdGlvbmFsaXRlaXQgdGUgaW1wbGVtZW50ZXJlbiBtb2V0IHYmb2FjdXRlOyZvYWN1dGU7ciBkZXplIG1vZHVsZSBkZSBDTVNNYWlsZXIgbW9kdWxlIHppam4gZ2UmaXVtbDtuc3RhbGxlZXJkLjwvcD4NCjxoMz5Db3B5cmlnaHQgZW4gTGljZW50aWU8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbGUgcmVjaHRlbiB6aWpuIHZvb3JiZWhvdWRlbi48L3A+DQo8cD5Wb2xnZW5zIGRlIEdQTCB3b3JkdCBkZXplIHNvZnR3YXJlIGJlc2NoaWtiYWFyIGdlc3RlbGQgJnF1b3Q7YXMtaXMmcXVvdDsuIExlZXMgZGUgdGVrc3QgdmFuIGRlIGxpY2VudGllIHZvb3IgZGUgdm9sbGVkaWdlIGRpc2NsYWltZXIuPC9wPg0KPHA+RGV6ZSBtb2R1bGUgaXMgdnJpamdlZ2V2ZW4gb25kZXIgZGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gVSBtb2V0IGhldCBlZW5zIHppam4gbWV0IGRlemUgbGljZW50aWUgYWx2b3JlbnMgZGUgbW9kdWxlIHRlIGdlYnJ1aWtlbi48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTU4MTA0MzUyMi4xMTg1MTA4NjU5LjExOTU0NTc1NDguMTE5NTUwMjExNC4zMDknOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk1NDA1MjU2LjMwNi4zOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9c3ltYmFsb28uY29tfHV0bWNjdD0vbmwvfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0NlY2h5IGtvbnQnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpYSc7CiRsYW5nWydleHBvcnQnXSA9ICdFa3Nwb3J0JzsKJGxhbmdbJ2NsZWFyJ10gPSAnV3ljennFm8SHJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ1phcGlzeiBoaXN0b3JpxJkgdyB0cnliaWUgQVNDSUkgeiBwcnplZHppYcWCdSBjemFzdSc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ1d5Y3p5xZvEhyBoaXN0b3JpxJkgeiBvc3RhdG5pZWdvIG9rcmVzdTonOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ1phcnrEhWR6YW5pZSBoaXN0b3JpxIUnOwokbGFuZ1sneWVzJ10gPSAnVGFrJzsKJGxhbmdbJ25vJ10gPSAnTmllJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ3onOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogQmV6IGxpbWl0dSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICcxIGdvZHppbnknOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnNiBnb2R6aW4nOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnMTIgZ29kemluJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnMSBkbmlhJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJzEgdHlnb2RuaWEnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJzIgdHlnb2RuaSc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnMSBtaWVzacSFY2EnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJzMgbWllc2nEmWN5JzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnNiBtaWVzacSZY3knOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnMSByb2t1JzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ0dydXBvd2FuaWUgaSBzb3J0b3dhbmllJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdSZWtvcmR5LCBrdCZvYWN1dGU7cmUgc3BlxYJhbmlhasSFIGtyeXRlcmlhJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthIC0gbWFsZWrEhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdOYXp3YSB1xbx5dGtvd25pa2EgLSByb3NuxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnRGF0YSAtIG1hbGVqxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdEYXRhIC0gcm9zbsSFY28nOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVHlwIHpkYXJ6ZW5pYSAtIG1hbGVqxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1R5cCB6ZGFyemVuaWEgLSByb3NuxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdBZHJlcyBJUCAtIG1hbGVqxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ0FkcmVzIElQIC0gcm9zbsSFY28nOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ05pZSBvZG5vdG93YW5vIMW8YWRueWNoIHpkYXJ6ZcWEJzsKJGxhbmdbJ3Jlc2V0J10gPSAnV3ljennFm8SHJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dydXB1aiBwb2QgYWRyZXNpZSBJUCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRyIHR5cCZvYWN1dGU7dyB6ZGFyemXFhCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdXecWbd2lldGwgdHlsa28gemRhcnplbmlhIHogb3N0YXRuaWVnbyBva3Jlc3UnOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ0xpbWl0IHJla29yZCZvYWN1dGU7dyBuYSBzdHJvbmllJzsKJGxhbmdbJ2ZvciddID0gJ2RMQSc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1JhcG9ydCBoaXN0b3JpaSc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmllem5hbmUnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0FkcmVzIElQJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdUeXAgemRhcnplbmlhJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0YSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnUG93ciZvYWN1dGU7dCc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnT3BlcmFjamEgaW1wb3J0dSB6YWtvxYRjennFgmEgc2nEmSBzdWtjZXNlbSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdwcnpldHdvcnpvbmUgbGluaWUnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ09ka3J5dGUgYsWCxJlkeSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRG9kYW5lIHJla29yZHknOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnUGxpayBvIG5hendpZSAoJXMpIG5pZSB6b3N0YcWCIG9kbmFsZXppb255JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdOaWVwcmF3aWTFgm93YSB3YXJ0b8WbxIcgZGxhIHdhcnRvxZtjaSBsdWIgbGlzdHkgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdQb2xlICVzIHByemVrcmFjemEgbWFrc3ltYWxuxIUgZMWCdWdvxZvEhyc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0LFgsSFZCBwcnp5IGltcG9yY2llIChsaW5pYSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdOaWUgbW/FvG5hIHBvYnJhxIcgY2VjaCAoYsWCxIVkIHdld27EmXRyem55IG1vZHXFgnUpJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdOaWUgb2RuYWxlemlvbm8gxbxhZG5laiBrb2x1bW55LCBrdCZvYWN1dGU7cmEgc3BlxYJuaWEgd2FydW5raSAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ05pZSBvZG5hbGV6aW9ubyBjZWNoIGRsYSB3c2themFuZWogZ3J1cHknOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1BsaWsgd3NrYXphbnkgZG8gaW1wb3J0dSBuaWUgemFjaG93dWplIHd5bWFnYW5lZ28gZm9ybWF0dSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnTmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0dWogdcW8eXRrb3duaWsmb2FjdXRlO3cgZG8gZ3J1cHknOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnxblyJm9hY3V0ZTtkxYJvd3kgcGxpayBDU1YnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnRWtzcG9ydHVqIHXFvHl0a293bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydHVqIHXFvHl0a293bmlrb3cnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnV3ljennFm8SHJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnRG9jZWxvd2EgxZtjaWXFvGthIHBsaWsmb2FjdXRlO3cgeiBvYnJhemthbWknOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdQb2phd2nFgiBzacSZIHByb2JsZW0geiBicmFrdWrEhWN5bSAoYWxlIHd5bWFnYW55bSkgd2dyeXdhbmllbSBwbGlrJm9hY3V0ZTt3JzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdOaWUgbW/FvG5hIHNrYXNvd2HEhyBncnVweSwga3Qmb2FjdXRlO3JhIG1hIHByenlwaXNhbnljaCB1xbx5dGtvd25payZvYWN1dGU7dyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnVGVuIHXFvHl0a293bmlrIGp1xbwgamVzdCB6YWxvZ293YW55JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0IHogb2JyYXprYSBuaWUgem9zdGHFgiBwcnplcGlzYW55IHBvcHJhd25pZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnUG96dyZvYWN1dGU7bCB1xbx5dGtvd25pa29tIGxvZ293YcSHIHNpxJkgd2nEmWNlaiBuacW8IHJheic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnUm96c3plcnplbmllIHBsaWsmb2FjdXRlO3cgeiBvYnJhemthbWksIGt0Jm9hY3V0ZTtyZSB1xbx5dGtvd25pY3kgbW9nxIUgd2dyeXdhxIcnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0dydXBhIHN5c3RlbXUgQ01TJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogTmFzdMSZcHVqxIVjZSB6bmFjem5pa2kgbW9nxIUgem9zdGHEhyB3eWtvcnp5c3RhbmUgdyB0eWNoIHBvbGFjaDogeyR1c2VybmFtZX0sIHskZ3JvdXB9LiBVxbx5d2FqxIVjIHpuYWN6bmlrYSB7JGdyb3VwfSwgc3lzdGVtIHBvZG1pZW5pIG5henfEmSBwaWVyd3N6ZWdvIGN6xYJvbmthIGdydXB5LCBkbyBrdCZvYWN1dGU7cmVqIHXFvHl0a293bmlrIG5hbGXFvHkgLSBpIHByemVraWVydWplIGRvIHRlaiBzdHJvbnkuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZHl0dWogdG8gcG9sZSBieSB3eWthc293YcSHIGhhc8WCbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkeXR1aiB0byBwb2xlIGJ5IHd5a2Fzb3dhxIcgaGFzxYJvIHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdVxbx5dGtvd25payBvIHRlaiBuYXp3aWUganXFvCBpc3RuaWVqZSc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdFa3Nwb3J0IGRvIENTViBuaWUgemFwaXNhxYIgxbxhZG55Y2ggd3luaWsmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnRMWCdWdvxZvEhyBwb2xhIG5hend5IHXFvHl0a293bmlrYSc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdExYJ1Z2/Fm8SHIHBvbGEgaGFzxYJhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IGTFgnVnb8WbY2kgaGFzxYJhIHPEhSBuaWVwcmF3aWTFgm93ZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCBkxYJ1Z2/Fm2NpIG5hend5IHXFvHl0a293bmlrYSBzxIUgbmllcHJhd2lkxYJvd2UnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ05pZXByYXdpZMWCb3d5IGFkcmVzIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTmllIHpuYWxlemlvbm8gYWRyZXN1IGVtYWlsIHByenlwaXNhbmVnbyBkbyB0ZWdvIGtvbnRhJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHogdXN0YWxlbmllbSBpbmZvcm1hY2ppIG8gdcW8eXRrb3duaWt1JzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0geiB1c3RhbGVuaWVtIGNlY2gnOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ1XFvHl0a293bmlrIGRvZGFueSAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1XFvHl0a293bmlrIHVzdW5pxJl0eSB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdDZWNoYSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnV2FydG/Fm8SHICh3eXJhxbxlbmllIHJlZ3VsYXJuZSknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdVd2FnYTogdGUgcG9sYSBtYWrEhSB3cMWCeXcgbmEgd2llbGtvxZvEhyBwJm9hY3V0ZTtsIHd5xZt3aWV0bGFuZWdvIGZvcm11bGFyemEuIFptaWVuaWFuaWUgdGVqIGxpY3pieSBuYSBpc3RuaWVqxIVjZWogc3Ryb25pZSBtb8W8ZSBuaWUgYnnEhyBuYWpsZXBzenltIHBvbXlzxYJlbSEnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptaWVuacSHIHByZWZlcmVuY2plIGFkbWluaXN0cmF0b3JhPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnVGVuIGVtYWlsIGp1xbwgamVzdCB1xbx5d2FueSB3IHN5c3RlbWllJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB3aWVsb2tyb3RuZSBlbWFpbGUnOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHBvencmb2FjdXRlO2wgd2llbHUgdcW8eXRrb3duaWtvbSB1xbx5d2HEhyB0ZWdvIHNhbWVnbyBlbWFpbGEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB3aWVsb2tyb3RuZSAmcXVvdDtwcnp5cG9taW5hY3plIGhhc2XFgiZxdW90Oz8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKHBvencmb2FjdXRlO2wgdcW8eXRrb3duaWtvbSB3eXPFgmHEhyDFvMSFZGFuaWUga2Fzb3dhbmlhIGhhc8WCYSBuYXdldCBnZHkgbmllIHXFvHl3YWxpIHBvcHJ6ZWRuaWVnbyknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVxbx5d2HEhyB1cHJhd25pZcWEIGRlZHlrb3dhbnljaCBkbGEgVcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoWmF6d3ljemFqLCB1xbx5dGtvd25pY3kgRkVVIG1hasSFIHRha2llIHNhbWUgdXByYXduaWVuaWEgamFrIHVwcmF3bmllbmlhIGFkbWluaXN0cmFjeWpuZSBDTVMtYSwgdGFraWUgamFrICZxdW90O2RvZGF3YW5pYSB1xbx5dGtvd25payZvYWN1dGU7dyZxdW90OywgJnF1b3Q7ZG9kYXdhbmllIGdydXAmcXVvdDsgaXRwLiBKYWsgemF6bmFjenlzeiB0xJkgb3BjasSZIC0gdXByYXduaWVuaWEgQ01TLWEgaSB1xbx5dGtvd25payZvYWN1dGU7dyBGRVUgem9zdGFuxIUgcm96ZHppZWxvbmUpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdOaWUgem5hbGV6aW9ubyB3Z3JhbmVnbyBwbGlrdSAoYsWCxIVkIHdld27EmXRyem55IHN5c3RlbXUpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ05pZSB3cHJvd2Fkem9ubyBuYXp3eSB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnTmllIHdwcm93YWR6b25vIGhhc8WCYSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnV3lsb2d1aiB1xbx5dGtvd25pa2EgRkVVJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ1phbG9ndWogdcW8eXRrb3duaWthIEZFVSc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JmFtcDthbXA7YW1wO2FtcDtxdW90O3JlZCZhbXA7YW1wO2FtcDthbXA7cXVvdDs+PGI+VcW7WVdBSiBPU1RST8W7TklFPC9iPiBnZHkgem1pZW5pYXN6IGlzdG5pZWrEhWNlIGNlY2h5LCBrdCZvYWN1dGU7cmUgc8SFIGp1xbwgcHJ6eXBpc2FuZSBkbyBncnVwLCBtb8W8ZXN6IGNvxZsgdXN6a29kemnEhywgc3RyYWNpxIcgZGFuZSBsdWIgc3Bvd29kb3dhxIcsIMW8ZSBzdHJvbmEgYsSZZHppZSBzacSZIGluYWN6ZWogd3nFm3dpZXRsYcWCYSEgPGk+KG5wLiBnZHkgem1uaWVqc3phc3ogZMWCdWdvxZtjaSBwJm9hY3V0ZTtsKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnVGEgZnVua2NqYSBuaWUgZHppYcWCYSBuYSBzeXN0ZW1pZSBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdOaWUgdHcmb2FjdXRlO3J6IGNlY2h5IGRsYSBuYXp3eSB1xbx5dGtvd25pa2EgYW5pIGhhc8WCYSAtIHPEhSBvbmUganXFvCB3YnVkb3dhbmUgc3RhbmRhcmRvd28gdyBtb2R1xYIgdcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFa3Nwb3J0IHXFvHl0a293bmlrJm9hY3V0ZTt3IGRvIGZvcm1hdHUgQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0Vrc3BvcnQnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZHljamEgY2VjaCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYWtzeW1hbG5hIGTFgnVnb8WbxIcnOwokbGFuZ1snY3JlYXRlZCddID0gJ1N0d29yem9ubyc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0dWogcG8nOwokbGFuZ1snc29ydCddID0gJ1NvcnR1amUnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVcW8eXRrb3duaWsmb2FjdXRlO3cgeiB6YXpuYWN6b25laiBncnVweSAoZ3J1cCknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnT2dyYW5pY3ogd3luaWtpIGRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ05pZSB6bmFsZXppb25vIHBvbGEgZW1haWwgZGxhIHRlZ28gdcW8eXRrb3duaWthLiBCecSHIG1vxbxlIGtvbmllY3pueSBixJlkemllIGtvbnRha3QgeiBhZG1pbmlzdHJhdG9yZW0gc3lzdGVtdSc7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ0lEU3Ryb255L0FsaWFzIGRsYSBmb3JtdWxhcnphIHphcG9tbmlhbmVnbyBoYXPFgmEnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdJRFN0cm9ueS9BbGlhcyBkbGEgZm9ybXVsYXJ6YSB6bWlhbnkgdXN0YXdpZcWEJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnSURTdHJvbnkvQWxpYXMgZG8gcHJ6ZXNrb2N6ZW5pYSBwbyB6YWxvZ293YW5pdSAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ0lEU3Ryb255L0FsaWFzIGRvIHByemVza29jemVuaWEgcG8gd3lsb2dvd2FuaXUgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdQb3J6xIVkZWsgc29ydG93YW5pYSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdDesSZxZvEhyB1xbx5dGtvd25payZvYWN1dGU7dyB3xYJhxZtuaWUgamVzdCB3IHRyYWtjaWUgcmVzZXRvd2FuaWEgemFndWJpb25lZ28gaGFzxYJhLiBPYmVjbmllIHR5Y2ggdcW8eXRrb3duaWsmb2FjdXRlO3cgamVzdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdVc3XFhCB3c3p5c3RraWUgd3Bpc3kgc3RhcnN6ZSBuacW8IHR5ZHppZcWEJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1VzdcWEIHdzenlzdGtpZSB3cGlzeSBzdGFyc3plIG5pxbwgbWllc2nEhWMnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnVXN1xYQgd3N6eXN0a2llIHdwaXN5JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdOYSBwZXdubz8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdOaWVwcmF3aWTFgm93eSBrb2Qgem9zdGHFgiB3cHJvd2Fkem9ueSwgc3ByJm9hY3V0ZTtidWogcG9ub3duaWUnOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ1R5bWN6YXNvd3kga29kIGRsYSBpZCB1xbx5dGtvd25pa2EgbmllIHpvc3RhxYIgem5hbGV6aW9ueSB3IGJhemllIGRhbnljaCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ1N6YWJsb24gdcW8eXdhbnkgZG8gd3nFm3dpZXRsYW5pYSBmb3JtdWxhcnogd2VyeWZpa3VqxIVjZWdvJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdTemFibG9uIHXFvHl3YW55IGRvIHphcG9tbmlhbnljaCBoYXNlxYIgZGxhIGtvbnQgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0FsYm8ga3RvxZsganXFvCB1cnVjaG9tacWCIG9wZXJhY2rEmSBvcGVyYWNqxJkgcmVzZXRvd2FuaWEgaGFzxYJhIGRsYSB0ZWdvIGtvbnRhLCBhbGJvIHNhbSBqdcW8IHRvIHpyb2JpxYJlxZsuIFNwcmF3ZMW6IHN3b2rEhSBwb2N6dMSZIGVtYWlsLCBiecSHIG1vxbxlIGp1xbwgb3RyenltYcWCZcWbIGRhbHN6ZSBpbnN0cnVrY2plLCBqYWsgenJlemV0b3dhxIcgc3dvamUgaGFzxYJvLic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQsWCxIVkIGJhenkgZGFueWNoJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ090cnp5bWHFgmHFmy/FgmXFmywgZ2R5xbwga3RvxZsgemfFgm9zacWCIG5hbSwgacW8IHpndWJpxYJhxZsvxYJlxZsgc3dvamUgaGFzxYJvLiBXIHR5bSBwcnp5cGFka3UgcHJ6ZWN6eXRhaiBwb25pxbxzemUgaW5zdHJ1a2NqZS4gSmXFvGVsaSBuaWUgbWFzeiBwb2rEmWNpYSBjbyB0byBqZXN0LCBtb8W8ZXN6IGJlenBpZWN6bmllIHVzdW7EhcSHIHTEhSB3aWFkb21vxZvEhzsgZHppxJlrdWplbXkgemEgcG/Fm3dpxJljb255IGN6YXMuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnS29kJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1BvbmnFvHN6eSBrb2Qgem9zdGHFgiB3eWdlbmVyb3dhbnkgYXV0b21hdHljem5pZSB3IGNlbHUgd2VyeWZpa2Fjamkga29udGEgdcW8eXRrb3duaWthLiBHZHkga2xpa25pZXN6IHBvbmnFvHN6eSBsaW5rLCB3ecWbd2lldGxpIHNpxJkgcG9sZSwgdyBrdCZvYWN1dGU7cnltIG5hbGXFvHkgd3Bpc2HEhyB0ZW4ga29kLiBaYXp3eWN6YWogdG8gcG9sZSBqZXN0IGp1xbwgd3lwZcWCbmlvbmUsIGplxbxlbGkgamVkbmFrIG5pZSBqZXN0LCB0byBrb2QgamVzdCBuYXN0xJlwdWrEhWN5Oic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0tsaWthasSFYyBuYSB0ZW4gb2Rub8WbbmlrIHByemVuaWVzaWVzeiBzacSZIGRvIHN0cm9ueSwgZ2R6aWUgcG8gd3Byb3dhZHplbml1IHBvd3nFvHN6ZWdvIGtvZHUgYsSZZHppZSBtb8W8bGl3ZSB3eWthc293YW5pZSB0d29qZWdvIGhhc8WCYTonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1phZ3ViaW9uZSBoYXPFgm8nOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdOaWUgbW/FvG5hIG9kbmFsZcW6xIcgbW9kdcWCdSBDTVMgTWFpbGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ1dpYWRvbW/Fm8SHIGVtYWlsIHpvc3RhxYJhIHd5c8WCYW5hIGRvICVzIHogaW5zdHJ1a2NqYW1pIGRvdHljesSFY3ltaSB6bWlhbnkgaGFzxYJhLiBEemnEmWt1amVteS4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdaZ3ViaW9uZSBsdWIgemFwb21uaWFuZSBoYXPFgm8/IFdwcm93YWTFuiBzd29qxIUgbmF6d8SZIHXFvHl0a293bmlrYSAtIGplxZtsaSBuYXN6IHN5c3RlbSB6bmFqZHppZSBwcnp5d2nEhXphbnkgZG8gdGVnbyB1xbx5dGtvd25pa2EgYWRyZXMgZW1haWwsIHd5xZtsZW15IGluc3RydWtjamUgZG90eWN6xIVjZSB1c3Rhd2llbmlhIG5vd2VnbyBoYXPFgmEuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBzdHJvbnkgemFwb21uaWFuZWdvIGhhc8WCYSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdDZWNoYSAlcyBuaWUgem9zdGHFgmEgem5hbGV6aW9uYSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnem5hbGV6aW9ueWNoIGNlY2gnOwokbGFuZ1snYWRkcHJvcCddID0gJ0RvZGFqIGNlY2jEmSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnV3ltYWdhbmUgcG9sZSAoJXMpIGplc3QgcHVzdGUnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdXcHJvd2FkxbogdHV0YWogbm93ZSBoYXPFgm8gYnkgem1pZW5pxIcgc3RhcmUnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdXeWRhamUgc2nEmSwgxbxlIG5pZSBqZXN0ZcWbIHphbG9nb3dhbmEoeSknOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1VzdGF3aWVuaWEnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWplc3RyYWNqYSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RvIGtvbnRvIHd5Z2FzxYJvJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdOaWV3xYJhxZtjaXd5IGZvcm1hdCBhZHJlc3UgZW1haWwnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdOaWVwcmF3aWTFgm93YSBkYXRhIHd5Z2HFm25pxJljaWEnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0LFgsSFZCBwcnp5IHVzdGF3aWFuaXUgY2VjaHkgJXMgZGxhIHXFvHl0a293bmlrYSAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ05pZXByYXdpZMWCb3dlIElEIGdydXB5ICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnWm5hY3puaWsgdWtyeXRlZ28gcG9sYSc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnS29sb3IgdWtyeXRlZ28gcG9sYSc7CiRsYW5nWydoaWRkZW4nXSA9ICdVa3J5dGUnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0NlY2hhIG8gdGVqIG5hendpZSBqdcW8IGplc3QgemRlZmluaW93YW5hJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0JyYWsgemRlZmluaW93YW55Y2ggY2VjaCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ05pZSB6YXpuYWN6b25vIGNlY2ggZGxhIHRlaiBncnVweSc7CiRsYW5nWydub2dyb3VwcyddID0gJ05pZSB6ZGVmaW5pb3dhbnkgxbxhZG5laiBncnVweSc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ2dydXAgem5hbGV6aW9ubyc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnQ3rFgm9ua29zdHdvIHcgY28gbmFqbW5pZWogamVkbmVqIGdydXBpZSBqZXN0IHd5bWFnYW5lJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdXeW1hZ2FqIGN6xYJvbmtvc3R3YSB3IGNvIG5ham1uaWVqIGplZG5laiBncnVwaWUnOwokbGFuZ1snYmFjayddID0gJ1dyJm9hY3V0ZTvEhyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgdG8gd3ltYWdhbmUgcG9sZSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnWmF6bmFjeiB3eW1hZ2FuZSBwb2xhIHXFvHl3YWrEhWMnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnUG9kxZt3aWV0bCB3eW1hZ2FuZSBwb2xhIHcnOwokbGFuZ1snbmV4dCddID0gJ0RhbGVqJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnR3J1cGEgbyB0ZWogbmF6d2llIGp1xbwgaXN0bmllamUnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdXeW1hZ2FuZSBwb2xlJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3Bjam9uYWxuaWUnOwokbGFuZ1snb2ZmJ10gPSAnV3nFgsSFY3pvbmUnOwokbGFuZ1snc2l6ZSddID0gJ1Jvem1pYXInOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYWtzeW1hbG55IHJvem1pYXIgbmFqd2nEmWtzemVnbyBib2t1IG9icmF6a2EgLSB3IHBpa3NlbGFjaCknOwokbGFuZ1snbGVuZ3RoJ10gPSAnRMWCdWdvxZvEhyc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyIC8+KHpuYWsmb2FjdXRlO3cgdyBwb2x1IHdwcm93YWR6ZW5pYSB0ZWtzdHUpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdPcGNqZSBsaXN0IHJvendpamFueWNoLCBvZGR6aWVsb25lIG5vd3ltaSBsaW5pYW1pJzsKJGxhbmdbJ3Byb21wdCddID0gJ1phY2jEmXRhJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3RleHQnXSA9ICdUZWtzdCc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTGlzdGEgd2llbG9rcm90bmVnbyB3eWJvcnUnOwokbGFuZ1snaW1hZ2UnXSA9ICdPYnJhemVrJzsKJGxhbmdbJ2VtYWlsJ10gPSAnQWRyZXMgZW1haWwnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdQb2xlIHRla3N0b3dlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGEgcm96d2lqYW5hJzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnV2l0YW15JzsKJGxhbmdbJ2xvZ291dCddID0gJ1d5bG9ndWonOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnWm1pZcWEIG1vamUgdXN0YXdpZW5pYSc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xvZ293YW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgLSB6xYJ5IHXFvHl0a293bmlrIGx1YiBoYXPFgm8/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnWmFsb2d1aic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ0V0eWtpZXRhIGd1emlrYSBaYXBpc3ogc2nEmSc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVxbx5dGtvd25payc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdIYXPFgm8nOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWplc3RyYWNqYSc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ1phcG9tbmlhbmUgaGFzxYJvPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1dhcnRvxZtjaSBkb215xZtsbmUnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTemFibG9uJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ05pZSB6bmFsZXppb25vIElEIHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVGEgbmF6d2EgdcW8eXRrb3duaWthICglcykgamVzdCBqdcW8IHXFvHl3YW5hJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdVxbx5d2FqIFNNVFAgYnkgc3ByYXdkemHEhyBhZHJlcyBlbWFpbD8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW1hbG5hIGTFgnVnb8WbxIcgaGFzxYJhJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ01ha3N5bWFsbmUgZMWCdWdvxZvEhyBoYXPFgmEnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW1hbG5hIGTFgnVnb8WbxIcgbmF6d3kgdcW8eXRrb3duaWthJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01ha3N5bWFsbmEgZMWCdWdvxZvEhyBuYXp3eSB1xbx5dGtvd25pa2EnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnVGltZW91dCBzZXNqaSAodyBzZWt1bmRhY2gpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnUG96dyZvYWN1dGU7bCBuYSByZWplc3RyYWNqxJkgZW1haWxvd8SFJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdEb215xZtsbmEgZ3J1cGEgZGxhIG5vd3ljaCB1xbx5dGtvd25payZvYWN1dGU7dyc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ1N6YWJsb24gem1pYW55IHVzdGF3aWXFhCc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnSGFzxYJhIG5pZSB6Z2FkemFqxIUgc2nEmSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOaWVwcmF3aWTFgm93YSBuYXp3YSB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnTmllcHJhd2lkxYJvd2UgaGFzxYJvJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWR5dHVqIHXFvHl0a293bmlrYSc7CiRsYW5nWyd2YWxpZCddID0gJ1BvcHJhd25pZSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ05hendhIHXFvHl0a293bmlrYSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnVGVuIHXFvHl0a293bmlrIG5pZSBqZXN0IGN6xYJvbmtpZW0gxbxhZG5laiBncnVweSc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnQnJhayBjZWNoJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnV2FydG/Fm8SHJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXB5JzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdDZWNoeSc7CiRsYW5nWydwcm9wbmFtZSddID0gJ05hendhIGNlY2h5JzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1dhcnRvxZvEhyBjZWNoeSc7CiRsYW5nWydhZGQnXSA9ICdEb2Rhaic7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWEnOwokbGFuZ1snZWRpdCddID0gJ0VkeXR1aic7CiRsYW5nWydleHBpcmVzJ10gPSAnV3lnYXNhJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1BvZGFqIGRhdMSZJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgZ29kemluJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgZ29kemlueSc7CiRsYW5nWyc0OGhycyddID0gJzQ4IGdvZHppbnknOwokbGFuZ1snMXdlZWsnXSA9ICcxIHR5ZHppZcWEJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdHlnb2RuaWUnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBtaWVzacSFYyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtaWVzacSFY2UnOwokbGFuZ1snNm1vbnRocyddID0gJzYgbWllc2nEhWNlJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSByb2snOwokbGFuZ1snbmV2ZXInXSA9ICdOaWdkeSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1xYIgem9zdGHFgiB6YWluc3RhbG93YW55IHBvcHJhd25pZS4gPGJyLz5VcGV3bmlqIHNpxJksIMW8ZSB1c3Rhd2lzeiB1cHJhd25pZW5pYSBkbyAmcXVvdDtabWlhbiB3xYJhxZtjaXdvxZtjaSBtb2R1xYJ1IHXFvHl0a293bmlrJm9hY3V0ZTt3IEZFVS4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIYXPFgm8nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQb25vd25pZSc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnR3J1cGEgbyB0YWtpZWogbmF6d2llIGp1xbwgaXN0bmllamUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWR5dHVqIGdydXDEmSc7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FudWx1aic7CiRsYW5nWydkZWxldGUnXSA9ICdLYXN1aic7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0N6eSBuYSBwZXdubyBzxIUgdG8gd8WCYcWbY2l3ZSB1c3Rhd2llbmlhIGRsYSB0ZWogZ3J1cHk/XG4gV3nFgsSFY3plbmllIHRlaiBjZWNoeSBuaWUgdXN1bmllIMW8YWRueWNoIHdwaXMmb2FjdXRlO3cgeiB0YWJlbGkgY2VjaCBkbGEgdGVqIGdydXB5L3XFvHl0a293bmlrYS4gUG8gcHJvc3R1IGLEmWTEhSBvbmUgbmllZG9zdMSZcG5lJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdOYSBwZXdubyB1c3VuxIXEhyB0xJkgZ3J1cMSZPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnTmEgcGV3bm8gdXN1bsSFxIcgdMSZIGNlY2jEmT8gXG4gcG8gdGVqIGFrY2ppIHNrYXNvd2FuZSB6b3N0YW7EhSB0ZcW8IGRhbmUgdcW8eXRrb3duaWsmb2FjdXRlO3cgZG8gbmllaiBwcnp5cGlzYW55Y2guJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1phIG1hxYJvIHBhcmFtZXRyJm9hY3V0ZTt3JzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hendhJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRnb3J1cCddID0gJ1Byb2JsZW0geiBkb2Rhd2FuaWVtIGdydXB5JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdOaWVwcmF3aWTFgm93ZSBwYXJhbWV0cnknOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdaYXN0b3N1aic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cnVqJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdOYXp3YSB1xbx5dGtvd25pa2EgLSB3eXJhxbxlbmllIHJlZ3VsYXJuZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnTmF6d2EgZ3J1cHknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnRG9zdMSZcCB6YWJyb25pb255JzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnRG9kYWogZ3J1cMSZJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdEb2RhaiB1xbx5dGtvd25pa2EnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1XFvHl0a293bmlrJm9hY3V0ZTt3IHpuYWxlemlvbm8gc3BlxYJuaWFqxIVjeWNoIGtyeXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cGEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdXeWJpZXJ6IGdydXDEmSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdTemFibG9uIHJlamVzdHJhY2ppJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ1N6YWJsb24gd3lsb2dvd2FuaWEgc2nEmSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ1N6YWJsb24gemFsb2dvd2FuaWEgc2nEmSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1VzdGF3aWVuaWEnOwokbGFuZ1sndXNlcnMnXSA9ICdVxbx5dGtvd25pY3knOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnWmFyesSFZHphbmllIHXFvHl0a293bmlrYW1pIEZFVSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1Bvencmb2FjdXRlO2wgdcW8eXRrb3duaWtvbSBsb2dvd2HEhyBzacSZIG5hIHN0cm9uaWUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RvbXnFm2xuYSBzdHJvbmEgZ8WCJm9hY3V0ZTt3bmEnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ09zdGF0bmlvIG90d2llcmFuYSBzdHJvbmEnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnSW5uYSBzdHJvbmE6JzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdXcHJvd2FkxbogdGVrc3QgeiBvYnJhemthJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4wLjAuMSAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4NCjxsaT4wLjEuMSAtIE9jdG9iZXIsIDIwMDUgLSBGaXhlZCBpc3N1ZXMgd2l0aCBwcm9wZXJ0aWVzPC9saT4NCjxsaT4wLjEuMiAtIE9jdG9iZXIsIDIwMDUgLSBBZGRlZCBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+PHA+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgcmVkaXJlY3QgcGFnZSBvbiBsb2dpbiwgbG9nb3V0LCBmb3Jnb3QgcGFzc3dvcmQsIGFuZCBjaGFuZ2Ugc2V0dGluZ3MsIGFuZCBhZGRlZCB0aGUgcmV0dXJudG8gYW5kIGZvcm0gcGFyYW1ldGVycyB0byB0aGUgdXNlciBzaWRlIG9mIHRoaW5ncywgYWxzbyBkaWQgYSBjb3VwbGUgbGYgbGl0dGxlIGNsZWFudXBzLiAgVGhpcyB2ZXJzaW9uIHJlcXVpcmVzIHYwLjExIGFuZCBhYm92ZSBmb3IgY2VydGFpbi48L3A+PC9saT4NCjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPg0KPGxpPjxwPjAuMS41IC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS42IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPkNoYW5nZXMgdG8gdGhlIHBlcm1pc3Npb24gbW9kZWwsIGFuZCBtaW5vciBidWcgZml4ZXMgdG8gdGhlIHByZWZlcmVuY2VzLiAgQWxzbyBzb21lIHBocDUgZml4ZXMgYnV0IEkgYW0gc3VyZSB0aGF0IHRoZXJlIGFyZSBtb3JlIG91dCB0aGVyZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNyAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5NYW55IHRoYW5rcyB0byA8Yj5rYXRvbjwvYj4gZm9yIGFkZGluZyB0aGUgdGV4dGFyZWEgYW5kIGRyb3Bkb3duIHByb3BlcnR5IHR5cGVzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgcHJvcGVydHkgYWRkaW5nIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHNwYWNlcyBpbiBwcm9wZXJ0eSBuYW1lcyAod2Ugbm8gbG9uZ2VyIGxldCB0aGF0IGhhcHBlbikuPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMCAtIEZlYnJ1YXJ5LCAyMDA2PHA+DQogICAgPHA+QWRkZWQgZmlsdGVyaW5nIGFuZCByb3cgbGltaXRpbmcgdG8gdGhlIGFkbWluIHBhbmVsLiBUaGlzIHdpbGwgaGF2ZSBiaWcgYmVuZWZpdHMgdG8gdGhvc2UgdGhhdCBhcmUgdXNpbmcgdGhpcyBtb2R1bGUgZm9yIGhpZ2ggdHJhZmljLCBhbmQgaGlnaCB1c2VyIHNpdGVzLjwvcD4NCiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4NCiAgICA8cD5BZGRlZCBtYXggbGVuZ3RoIGFiaWxpdHkgdG8gdGV4dCBhbmQgZW1haWwgZmllbGRzPC9wPg0KICAgIDxwPkZpeGVkIGEgc21hbGwgcHJvYmxlbSB3aXRoIHRoZSBkZWZhdWx0IGdyb3VwIG5vdCBiZWluZyBjaGVja2VkIHdoZW4gYWRkaW5nIGEgdXNlcjwvcD4NCiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+DQogICAgPHA+RGVsZXRlIHVzZXIgcHJvcGVydGllcyB3aGVuIGEgcHJvcGVydHkgaXMgZGVsZXRlZCA8ZW0+Tm90ZTwvZW0+LCBub3Qgd2hlbiBpdCBpcyBkaXNhYmxlZCBpbiB0aGUgZWRpdCBncm91cCBkaWFsb2c8L3A+DQogICAgPHA+QWRkIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGluIGVkaXQgZ3JvdXBzLjwvcD4NCiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+DQogICAgPHA+QWRkZWQgQ1NWIEV4cG9ydCBvcHRpb248L3A+DQogICAgPHA+VG9kbyAtIEFkZCBwcmVmZXJlbmNlcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkbGVuZ3RoPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMSAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXM8L3A+DQogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4NCiAgICA8cD5BZGQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcHJlZmVyZW5jZXMgc3VibWl0IGJ1dHRvbjwvcD4NCiAgICA8cD5GaXhlZCBhIG1pbm9yIGJ1ZyB3aGVuIGNvdXRpbmcgdGhlIG51bWJlciBvZiB1c2VycyBpbiBhIGdyb3VwPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+DQogICAgPHA+QWRkZWQgYWR2YW5jZWQgZmlsdGVyaW5nIG9uIHByb3BlcnRpZXM8L3A+DQogICAgPHA+Q2hhbmdlcyB0byBsYWJlbGluZyBpbiBhZGQgb3IgZWRpdCB1c2VyPC9wPg0KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+DQogICAgPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4yIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5Nb3JlIGZpZWxkIGxlbmd0aCBmaXhlczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjMgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkV4cG9ydCB0byBzbWFydHkgYWxsIG9mIHRoZSB1c2VyIHByb3BlcnRpZXMgd2hlbiB0aGV5IGFyZSBsb2dnZWQgaW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC40IC0gTWF5LCAyMDA2PHA+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGV4cG9ydCBjb2RlPC9wPg0KICAgIDxwPkNvZGUgY2xlYW51cCAoYWxwaGFiZXRpemUgZnVuY3Rpb25zKTwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+DQogICAgPHA+UmVtb3ZlZCB0aGUgcmVxdWlyZW1lbnQgZm9yIENNUyAwLjEyLCBhbmQgcHV0IGl0IGJhY2sgdG8gMC4xMS4yPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBcJiMwMzk7c2lsZW50XCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjUgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZXhwaXJ5IGRhdGVzPC9wPg0KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+DQo8bGk+PHA+MS4wLjYgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4wIC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgeyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMiAtIERlYywgMjAwNjwvcD4NCiAgICA8cD5GaXhlcyAoaG9wZWZ1bGwpIHRvIHRoZSBhZG9kYi9hZG9kYi1saXRlIERBVEVUSU1FIGlzc3VlPC9wPg0KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4NCiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPg0KICAgIDxwPkZpeGVzIHRvIHVzZXIgZXhwaXJ5IChtb3JlIERCVGltZXN0YW1wIGlzc3VlcyksIHRoYW5rcyBhZ2FpbiBkaXR0bWFuPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5HZW5lcmFsIGNsZWFudXAgb2YgZnVuY3Rpb25zIHRoYXQgd2VyZSBub3QgYmVpbmcgdXNlZCBhbmQgbm90aWNlcy93YXJuaW5nczwvcD4NCiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZW1haWwgdmFsaWRhdGlvbiBzdHVmZjwvcD4NCjwvbGk+DQonOwokbGFuZ1snaGVscCddID0gJzxoMz5EbyBjemVnbyBzxYJ1xbx5PzwvaDM+DQo8cD5Nb2R1xYIgdGVuIHVtb8W8bGl3aWEgemFyesSFZHphbmllIGkgYWRtaW5pc3RyYWNqxJkgdcW8eXRrb3duaWthbWkgRkVVIDxpPih1xbx5dGtvd25pa2FtaSwga3Qmb2FjdXRlO3J6eSBuaWUgbWFqxIUgZG9zdMSZcHUgYWRtaW5pc3RyYWN5am5lZ28pPC9pPi4gUG96d2FsYSBuYSB0d29yemVuaWUgZ3J1cCB1xbx5dGtvd25payZvYWN1dGU7dyBvcmF6IG9yYXoga29udCwga3Qmb2FjdXRlO3JlIHVtb8W8bGl3aWFqxIUgdcW8eXRrb3duaWtvbSBsb2dvd2FuaWUgaSB3eWxvZ293YW5pZS4gTW/FvGUgYnnEhyB0YWvFvGUgdcW8eXdhbnkgcmF6ZW0geiBtb2R1xYJlbSBDdXN0b21Db250ZW50IGRvIHd5d2/Fgnl3YW5pYSBpIHd5xZt3aWV0bGFuaWEgciZvYWN1dGU7xbxuZWogdHJlxZtjaSByJm9hY3V0ZTvFvG55bSB1xbx5dGtvd25pa29tLCBwbyB1cHJ6ZWRuaW0gemFsb2dvd25pdS48L3A+DQo8aDM+Q2VjaHk8L2gzPg0KPHVsPg0KPGxpPjxwPld5Z2HFm25pxJljaWUga29udGEgdcW8eXRrb3duaWthLiBNb8W8ZXN6IFR3b3J6ecSHIHR5bWN6YXNvd3ljaCB1xbx5dGtvd25payZvYWN1dGU7dzwvcD48L2xpPg0KPGxpPjxwPkNlY2h5IGdydXB5IChkYXduaWVqOiB3xYJhxZtjaXdvxZtjaSkuIE1vxbxlc3ogxbzEhWRhxIcgciZvYWN1dGU7xbxuZWogaW5mb3JtYWNqaSBvZCB1xbx5dGtvd25payZvYWN1dGU7dyByJm9hY3V0ZTvFvG55Y2ggZ3Imb2FjdXRlO2I8L3A+PC9saT4NCjxsaT48cD5KZXN0IHcgc3RhbmllIG9ic8WCdcW8ecSHIHNldGtpIHXFvHl0a293bmlrJm9hY3V0ZTt3PC9wPjwvbGk+DQo8bGk+PHA+UG9zaWFkYSBvYnN6ZXJuZSBBUEkgdyBjZWx1IGRvZGF3YW5pYSBmdW5rY2pvbmFsbm/Fm2NpPC9wPjwvbGk+DQo8L3VsPg0KPGgzPkphayB0ZWdvIHXFvHl3YcSHPzwvaDM+DQo8dWw+DQo8bGk+PHA+UG8gaW5zdGFsYWNqaSBtYXN6IGRvc3TEmXAgZG8gcGFuZWx1IGFkbWluaXN0cmFjeWpuZWdvIG1vZHXFgnUgdcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVIHcgbWVudSAmcXVvdDtVxbx5dGtvd25pY3kgaSBHcnVweSZxdW90Oy48L3A+PC9saT4NCjxsaT4NCjxwPlBvIGRydWdpZSwgbmFsZcW8eSB6ZGVmaW5pb3dhxIcgY2VjaHkuIFPEhSBvbmUgbmllemLEmWRueW1pIHBvbGFtaSBkZWZpbmljamksIHR1dGFqIG9rcmXFm2xhIHNpxJkgdHlwIGluZm9ybWFjamksIGt0Jm9hY3V0ZTtyZSB6YW1pZXJ6YSBzacSZIHByemVjaG93eXdhxIcgb3JheiBsaW1pdHkuIE5wLiBJbWnEmSwgV2llaywgV29qZXcmb2FjdXRlO2R6dHdvLCBLcmFqLCBFbWFpbCwgaXRwLjwvcD4NCjxwPjxiPlBhbWnEmXRhajo8L2I+IE5pZSBtdXNpc3ogZGVmaW5pb3dhxIcgY2VjaCBuYXp3eSB1xbx5dGtvd25pa2EgaSBoYXPFgmEsIHPEhSBvbmUgemFwZXduaW9uZSBhdXRvbWF0eWN6bmllPC9iPg0KPC9saT4NCjxsaT48cD5OYXN0xJlwbmllIG5hbGXFvHkgdXR3b3J6ecSHIGplZG7EhSAobHViIHdpxJljZWopIGdydXDEmSB1xbx5dGtvd25payZvYWN1dGU7dy4gS2llZHkgdXR3b3J6eXN6IGdydXDEmSwgem9zdGFuaWVzeiBwb3Byb3N6b25hL255IG8gcG9kYW5pZSBuYXp3eSBncnVweSwgb3BpcyBvcmF6IG8gc2tvamFyemVuaWUgY2VjaCB6IHTEhSBncnVwxIUsIHd5c3pjemVnJm9hY3V0ZTtsbmllbmllIGtvbGVqbm/Fm2NpIGljaCBzb3J0b3dhbmlhLCBvcmF6LCBjenkgamVzdCB0byBwb2xlIG9wY2pvbmFsbmUsIHd5bWFnYW5lLCBjenkgdWtyeXRlLjxpPih3ecWCxIVjemVuaWUgcG9sYSB0ZcW8IGplc3QgbW/FvGxpd2UgLSBtb8W8ZXN6IHphdGVtIG5pZSB6YXpuYWN6YcSHIGRhbmVqIGNlY2h5IHcgZ3J1cGllLCBrdCZvYWN1dGU7cmEgamVqIG5pZSBixJlkemllIHd5a29yenlzdHl3YcSHKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5QYW1pxJl0YWo6PC9iPiBaYW5pbSBwcnplamR6aWVzeiBkYWxlaiwgc3ByYXdkxbogY3p5IHdzenlzdGtpZSBwcmVmZXJlbmNqZSBzxIUgd8WCYcWbY2l3aWUgdXN0YXdpb25lLjwvcD48L2xpPg0KPGxpPjxwPlBvIHRyemVjaWUsIG5hbGXFvHkgdXR3b3J6ecSHIHXFvHl0a293bmlrJm9hY3V0ZTt3LiBOYSBwcm9jZXMgZG9kYXdhbmlhIHXFvHl0a293bmlrJm9hY3V0ZTt3IHNrxYJhZGFqxIUgc2nEmSBkd2Ega3Jva2kuIFBvZGN6YXMgdHdvcnplbmlhIHXFvHl0a293bmlrYSBuYXN0xIVwaSB6YXB5dGFuaWUgbyBqZWdvIG5henfEmSAobmF6d2EgdcW8eXRrb3duaWthKSwgaGFzxYJvIG9yYXogZGF0xJkgd3lnYcWbbmnEmWNpYSBrb250YSAoa2llZHkgamVnbyBsb2dpbiBwcnplc3RhbmllIGJ5xIcgYWt0eXdueSkuIE5hc3TEmXBuaWUgbmFsZcW8eSB3eWJyYcSHIGdydXB5LCBkbyBrdCZvYWN1dGU7cnljaCB1xbx5dGtvd25payBtYSBuYWxlxbxlxIcgaSBuYWNpc27EhcSHIFwmIzAzOTtEYWxlalwmIzAzOTs8L3A+DQo8cD48ZW0+UGFtacSZdGFqOiA8L2VtPkplc3QgdG8gcHJhY29jaMWCb25ueSBpIG51ZG55IHByb2NlcywgxYJhdHdpZWogamVzdCBwb3p3b2xpxIcgdcW8eXRrb3duaWtvbSBuYSBzYW1vZHppZWxuxIUgcmVqZXN0cmFjasSZLCBhIHBvdGVtIHR5bGtvIGVkeXRvd2HEhyBpbmZvcm1hY2plIGRvdHljesSFY2UgaWNoIHByenluYWxlxbxub8WbY2kgZ3J1cG93ZWouIFByb3NpbXkgamVkbmFrIHV0d29yennEhyBwcnp5bmFqbW5pZWogamVkbmVnbyB1xbx5dGtvd25pa2EgZG8gY2VsJm9hY3V0ZTt3IHRlc3Rvd3ljaCEgUFMgd2Vyc2ppIHBvbHNraWVqOiBtb8W8bmEgc2tvcnp5c3RhxIcgeiBtb2R1xYJ1IFNlbGZSZWdpc3RyYXRpb24sIMW8ZWJ5IHByb2NlcyBzYW1vZHppZWxuZWogcmVqZXN0cmFjamkgYnnFgiBqZXN6Y3plIMWCYXR3aWVqc3p5IDspPC9wPjwvbGk+DQo8bGk+PHA+TmEga29uaWVjLCBnZHkganXFvCBzeXN0ZW0gdXN0YWxpIHdzenlzdGtpZSB6IHd5xZt3aWV0bGFueWNoIHAmb2FjdXRlO2wgaW5mb3JtYWN5am55Y2ggZG90eWN6xIVjeWNoIGRhbmVnbyB1xbx5dGtvd25pa2EsIHd5xZt3aWV0bG9ueSB6b3N0YW5pZSBmb3JtdWxhcnosIGRvIGt0Jm9hY3V0ZTtyZWdvIG5hbGXFvHkgd3Bpc2HEhyB3c3p5c3RraWUgd3ltYWdhbmUgZGFuZSBvIHXFvHl0a293bmlrdS4gV3lwZcWCbmllbmllIGZvcm11bGFyemEgemFrb8WEY3p5IHByb2NlcyBkb2Rhd2FuaWEgdcW8eXRrb3duaWthPC9wPjwvbGk+DQo8bGk+PHA+VGVyYXogbW/FvG5hIGp1xbwgZG9kYcSHIGRvIHN0cm9ueSBrb8WEY293xIUgZnVua2Nqb25hbG5vxZvEhy4gUG9sZWdhIHRvIG5hIGRvZGFuaXUgem5hY3puaWthIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSBkbyBzdHJvbnkgbHViIHN6YWJsb251LCBnZHppZSBtYSBwb2phd2nEhyBzacSZIG9raWVua28gZG9zdMSZcG93ZSAoZm9ybXVsYXJ6IGxvZ3VqxIVjeSk8L3A+PC9saT4NCjwvdWw+DQo8aDM+V3NwYXJjaWU8L2gzPg0KPHA+TW9kdcWCIHRlbiBuaWUgamVzdCB3c3BpZXJhbnkga29tZXJjeWpuaWUuIEplZG5hayBkb3N0xJlwbmUgc8SFIHphc29ieSwga3Qmb2FjdXRlO3JlIG1vZ8SFIHBvbSZvYWN1dGU7Yzo8L3A+DQo8dWw+DQo8bGk+VyBjZWx1IHpuYWxlemllbmlhIG5ham5vd3N6ZWogd2Vyc2ppIG1vZHXFgnUsIEZBUSwgbHViIHpnxYJvc3plbmlhIGLFgsSZZHUgbHViIHpha3VwdSBrb21lcmN5am5lZ28gd3NwYXJjaWEgb2R3aWVkxbogc3Ryb27EmSBkb21vd8SFIG1vZHXFgnUgY2FsZ3V5XCYjMDM5O2EgPGEgaHJlZj0mYW1wO2FtcDtxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmYW1wO2FtcDtxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+RG9kYXRrb3dlIGR5c2t1c2plIG5hIHRlbWF0IHRlZ28gbW9kdcWCdSB6bmFqZHVqxIUgc2nEmSByJm9hY3V0ZTt3bmllxbwgbmEgc3Ryb25pZSA8YSBocmVmPSZhbXA7YW1wO3F1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJmFtcDthbXA7cXVvdDs+Rm9ydW0gQ01TIE1hZGUgU2ltcGxlPC9hPi48L2xpPg0KPGxpPkF1dG9yIG1vZHXFgnUsIGNhbGd1eTEwMDAsIGN6xJlzdG8gamVzdCBvYmVjbnkgbmEgPGEgaHJlZj0mYW1wO2FtcDtxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZhbXA7YW1wO3F1b3Q7PmthbmFsZSBDTVMgSVJDPC9hPi48L2xpPg0KPGxpPk5hIGtvbmllYywgbW/FvG5hIHNwciZvYWN1dGU7Ym93YcSHIG9zb2JpxZtjaWUgc2tvbnRha3Rvd2HEhyBzacSZIHogYXV0b3JlbSBwcnpleiBlbWFpbC48L2xpPg0KPC91bD4NCjxoMz5QYXJhbWV0cnk8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3Bjam9uYWxuaWUpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm15Og0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIFd5xZt3aWV0bGEgZm9ybXVsYXJ6IGxvZ2ludTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIFd5xZt3aWV0bGEgZm9ybXVsYXJ6IGxvZ291dHU8L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIFd5xZt3aWV0bGEgZm9ybXVsYXJ6IHptaWFueSB1c3Rhd2llxYQ8L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIFd5xZt3aWV0bGEgZm9ybXVsYXJ6IGRvdHljesSFY3kgemFwb21uaWFuZWdvIGhhc8WCYTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gTmljIG5pZSB3ecWbd2lldGxhLCBsZWN6IGVrc3BvcnR1amUgd8WCYcWbY2l3b8WbY2kgaSBpbm5lIHptaWVubmUgZG90eWN6xIVjZSBvYmVjbmllIHphbG9nb3dhbmVnbyB1xbx5dGtvd25pa2EuIEplxbxlbGkgbmlrdCBuaWUgamVzdCB6YWxvZ293YW55LCDFvGFkbmUgem1pZW5uZSBuaWUgc8SFIGVrc3BvcnRvd2FuZS48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wY2pvbmFsbmllKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VcW8eXdhbmUgcmF6ZW0geiBmb3JtdWxhcnphbWkgbG9naW51LCBsb2dvdXR1IGkgem1pYW55IHVzdGF3aWXFhCwgcGFyYW1ldHIgdGVuIHphd2llcmEgaWQgc3Ryb255IGx1YiBhbGlhcyBzdHJvbnksIGRvIGt0Jm9hY3V0ZTtyZWogbmFzdMSZcHVqZSBwcnpla2llcm93YW5pZSwgcG8gdXByemVkbmltIHfFgmHFm2Npd3ltIHd5cGXFgm5pZW5pdSBmb3JtdWxhcnphPC9wPg0KPGxpPjxlbT4ob3Bjam9uYWxuaWUpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vxbx5d2FuZSB3cmF6IHogZm9ybXVsYXJ6YW1pIGxvZ2ludS4gWmV6d2FsYSB1xbx5dGtvd25pa29tIG5hIHphbG9nb3dhbmllIHNpxJksIGplxbxlbGkgbmFsZcW8xIUgZG8gb2Rwb3dpZWRuaWVqIGdydXB5L2dydXAuPC9wPg0KPGxpPjxlbT4ob3Bjam9uYWxuaWUpPC9lbT4gY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlXFvHl3YW5lIHdyYXogeiBmb3JtdWxhcnphbWkgbG9naW51LiBVYWt0eXduaWEgY2FwdGNoYSB3IHR5bSBmb3JtdWxhcnp1LiBBYnkgdGVuIHBhcmFtZXRyIG0mb2FjdXRlO2fFgiBkemlhxYJhxIcgcG9wcmF3bmllLCBtb2R1xYIgQ2FwdGNoYSBtdXNpIGJ5xIcgemFpbnN0YWxvd2FueS48L3A+DQo8L3VsPg0KPGgzPld5bWFnYW5pYTwvaDM+DQo8cD5XIGNlbHUgemFpbXBsZW1lbnRvd2FuaWEgZnVua2Nqb25hbG5vxZtjaSB6d2nEhXphbmVqIHogemFwb21uaWFueW1pIGhhc8WCYW1pLCBtb2R1xYIgdGVuIHd5bWFnYSB3Y3plxZtuaWVqc3plZ28gemFpbnN0YWxvd2FuaWEgbW9kdcWCdSBDTVNNYWlsZXI8L3A+DQo8aDM+UHJhd2EgYXV0b3Jza2llIGkgTGljZW5jamE8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZhbXA7YW1wO3F1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2FtcDtxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5Nb2R1xYIgdGVuIHpvc3RhxYIgd3lkYW55IG5hIGxpY2VuY2ppIDxhIGhyZWY9JmFtcDthbXA7cXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmYW1wO2FtcDtxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBQcnplZCB1xbx5Y2llbSB0ZWdvIG1vZHXFgnUgbmFsZcW8eSB6YWFrY2VwdG93YcSHIHdhcnVua2kgbGljZW5jamkuPC9wPg0KPHA+DQpUxYJ1bWFjemVuaWUgdyB3ZXJzamkgcG9sc2tpZWogcm9iaW9uZSBqZXN0IHByemV6IHNwb8WCZWN6bm/Fm8SHIENNUyBNUywgb2R3aWVkxbogbmFzIG5hIHBvbHNraW0gZm9ydW0gQ01TIE1TIC0gbnVtZXI5IDopDQo8L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE4MDA0Mzc5OC4xMTcuMTEudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPXdpa2kuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvVXNlcl9IYW5kYm9vay9JbnN0YWxsYXRpb24vVHJvdWJsZXNob290aW5nfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjUzMTIxNjIwMC4xMTQ4MDc3NTM5LjExODA1MTkzMTMuMTE4MDYwNzEzOS4xMjMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciB1cHBnaWZ0ZXIgb20gZ2wmb3VtbDttdCBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ01hbGwgZiZvdW1sO3IgYmVrciZhdW1sO2Z0ZWxzZSB2aWQgZ2wmb3VtbDttdCBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0ZlbDogTWVyICZhdW1sO24gZW4gYW52JmF1bWw7bmRhcmUgc3QmYXVtbDttZGUgJm91bWw7dmVyZW5zIG1lZCBkZSBlZ2Vuc2thcGVyIHNvbSBhbmdhdnMnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRmVsOiBLdW5kZSBpbnRlIGhpdHRhIGVuIGFudiZhdW1sO25kYXJlIHNvbSBzdCZhdW1sO21kZSAmb3VtbDt2ZXJlbnMgbWVkIHMmb3VtbDtra3JpdGVyaWVybmEnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0ZlbDogS3VuZGUgaW50ZSBoaXR0YSBlbiBncnVwcCBtZWQgZGV0IG5hbW5ldCc7CiRsYW5nWydyZWFkb25seSddID0gJ0VuYmFydCBsJmF1bWw7c3ImYXVtbDt0dGlnaGV0ZXInOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ0tsYXNzIGYmb3VtbDtyIGFudiZhdW1sO25kYXJoYW50ZXJpbmcgKFVzZXIgTWFuaXB1bGF0b3IgQ2xhc3MpJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ1V0bG9nZ2FkIGF2IGFkbWluaXN0cmF0Jm91bWw7cic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnVmlzYSBlbmJhcnQgaW5sb2dnYWRlIGFudiZhdW1sO25kYXJlJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dnYSB1dCBkZW4gaCZhdW1sO3IgYW52JmF1bWw7bmRhcmVuJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0FudiZhdW1sO25kYXJlZ2Vuc2thcGVyJzsKJGxhbmdbJ3VzZXJoaXN0b3J5J10gPSAnQW52JmF1bWw7bmRhcmhpc3RvcmlrJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydGVyYSc7CiRsYW5nWydjbGVhciddID0gJ1JlbnNhJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydGVyYSBhbnYmYXVtbDtuZGFyaGlzdG9yaWsgdGlsbCBBU0NJSSBzb20gJmF1bWw7ciBtaW5zdCc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ1JlbnNhIGFudiZhdW1sO25kYXJoaXN0b3JpayBzb20gJmF1bWw7ciBtaW5zdCc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdTdXBwb3J0Zm9ybXVsJmF1bWw7ciBmJm91bWw7ciBmJm91bWw7cmxvcmF0IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydGVyYSBncnVwcGRlZmluaXRpb24gKG9jaCBlZ2Vuc2thcGVyKSB0aWxsIFhNTCc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnVW5kZXJoJmFyaW5nO2xsIGFudiZhdW1sO25kYXJoaXN0b3Jpayc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWydubyddID0gJ05laic7CiRsYW5nWydwcm9tcHRfb2YnXSA9ICdBdic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBJbmdlbiBiZWdyJmF1bWw7bnNuaW5nICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ0VuIHRpbW1lIGdhbW1hbCc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICdTZXggdGltbWFyIGdhbW1hbCc7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICdUb2x2IHRpbW1hciBnYW1tYWwnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdFbiBkYWcgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0VuIHZlY2thIGdhbW1hbCc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVHYmYXJpbmc7IHZlY2tvciBnYW1tYWwnOwokbGFuZ1snZGF0ZV9vbmVtb250aG9sZCddID0gJ0VuIG0mYXJpbmc7bmFkIGdhbW1hbCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVHJlIG0mYXJpbmc7bmFkZXIgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnU2V4IG0mYXJpbmc7bmFkZXIgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ0V0dCAmYXJpbmc7ciBnYW1tYWwnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3J1cHBlcmluZyBvY2ggc29ydGVyaW5nJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdGJmF1bWw7bHQgc29tICZvdW1sO3ZlcmVuc3N0JmF1bWw7bW1lciBtZWQga3JpdGVyaWV0JzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnRmFsbGFuZGUgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1N0aWdhbmRlIGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdGYWxsYW5kZSBkYXR1bSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdTdGlnYW5kZSBkYXR1bSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdGYWxsYW5kZSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnU3RpZ2FuZGUgaCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdGYWxsYW5kZSBJUC1hZHJlc3MnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdTdGlnYW5kZSBJUC1hZHJlc3MnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0luZ2VuIGhpc3RvcmlrIGhpdHRhZGVzJzsKJGxhbmdbJ3Jlc2V0J10gPSAnJkFyaW5nO3RlcnN0JmF1bWw7bGwnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cHBlcmEgcCZhcmluZzsgSVAtYWRyZXNzJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnSCZhdW1sO25kZWxzZXR5cHNmaWx0ZXInOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnVmlzYSBiYXJhIGgmYXVtbDtuZGVsc2Ugc29tICZhdW1sO3IgbWluZHJlICZhdW1sO246JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTaWRnciZhdW1sO25zJzsKJGxhbmdbJ2ZvciddID0gJ2Ymb3VtbDtyJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnUmFwcG9ydCBmJm91bWw7ciBhbnYmYXVtbDtuZGFyaGlzdG9yaWsnOwokbGFuZ1sndW5rbm93biddID0gJ09rJmF1bWw7bmQnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQLWFkcmVzcyc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnSCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICcmQXJpbmc7dGVydiZhdW1sO25kJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdJbXBvcnRlbiBzbHV0ZiZvdW1sO3JkJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0hhbnRlcmFkZSByYWRlcic7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnUCZhcmluZzt0ciZhdW1sO2ZmYWRlIGZlbCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnVGlsbGFnZGEgcmFkZXInOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0t1bmRlIGludGUgaGl0dGEgZWdlbnNwYWVyIGYmb3VtbDtyIGdydXBwZW4gJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdLdW5kZSBpbnRlIGYmYXJpbmc7IG4mYXJpbmc7Z290IHN2YXIgZnImYXJpbmc7biBTTVRQLXNlcnZlcm4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZW4gKCVzKSBrdW5kZSBpbnRlIGhpdHRhcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnT2dpbHRpZ3QgdiZhdW1sO3JkZSBmJm91bWw7ciBkcm9wZG93biBlbGxlciBmbGVydmFsc2YmYXVtbDtsdGV0ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRiZhdW1sO2x0ZXQgJXMgJm91bWw7dmVyc3RpZ2VyIG1hZ2wmYXVtbDtuZ2QnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRmZWwgKHJhZCAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLdW5kZSBpbnRlIGgmYXVtbDttdGEgZGVmaW5pdGlvbmVyIGYmb3VtbDtyIGVnZW5za2FwZW4gKGludGVybnQgZmVsKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIG1lZCBhdHQgc3QmYXVtbDtsbGEgaW4gYW52JmF1bWw7bmRhcmluZm9ybWF0aW9uJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLdW5kZSBpbnRlIGhpdHRhIGVuIGtvbHVtbiBmJm91bWw7ciBmJmF1bWw7bHRldCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0t1bmRlIGludGUgaGl0dGEgZWdlbnNrYXBlciBmJm91bWw7ciBkZW4gYW5naXZuYSBncnVwcGVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVmb3JtYXQnXSA9ICdEZW4gYW5naXZuYSBpbXBvcnRmaWxlbiAmYXVtbDtyIGludGUga29ycmVrdCBmb3JtYXR0ZXJhZCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnS3VuZGUgaW50ZSAmb3VtbDtwcG5hIGZpbCc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdJbXBvcnRlcmEgYW52JmF1bWw7bmRhcmUgdGlsbCBkZW5uYSBncnVwcGVuJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ0FuZ2UgQ1NWLWZpbCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0FuZ2UgWE1MLWZpbCc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnRlcmEgYW52JmF1bWw7bmRhcmUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0ZXJhIGFudiZhdW1sO25kYXJlJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1JlbnNhJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnUyZvdW1sO2t2JmF1bWw7ZyBmJm91bWw7ciBiaWxkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnRXR0IHByb2JsZW0gdXBwc3RvZCBtZWQgZW4gc2FrbmFkIChtZW4ga3ImYXVtbDt2ZCkgdXBwbGFkZG5pbmcnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0t1bmRlIGludGUgaGFudGVyYSBkZW4gdGlsbGhhbmRhaCZhcmluZztsbG5hIFhNTC1maWxlbic7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGludGUgdGEgYm9ydCBlbiBncnVwcCBzb20gaW5uZWgmYXJpbmc7bGxlciBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnRGVuIGgmYXVtbDtyIGFudiZhdW1sO25kYXJlbiBoYXIgcmVkYW4gbG9nZ2F0IGl0JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0JpbGRlbnMgdGV4dCBoYXIgaW50ZSBtYXRhdHMgaW4ga29ycmVrdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnVGlsbCZhcmluZzt0IGFudiZhdW1sO25kYXJlIGF0dCBsb2dnYSBpbiBtZWQgZmxlcmEgc2Vzc2lvbmVyJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdUaWxsJmFyaW5nO3RuYSBmaWwmYXVtbDtuZGVsc2UgZiZvdW1sO3IgYmlsZGVyIHNvbSBhbnYmYXVtbDtuZGFyZSB0aWxsJmFyaW5nO3RzIGxhZGRhIHVwcCc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGdyb3VwIGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gVGhlIGlwIGFkZHJlc3Mgb2YgdGhlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2Vkb3V0IHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdFbiBoJmF1bWw7bmRlbHNlIHNvbSBza2FwYXMgZCZhcmluZzsgZW4gYW52JmF1bWw7bmRhcmUgbG9nZ2FyIGluIGkgc3lzdGVtZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZSBsb2dnYXIgdXQgdXIgc3lzdGVtZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdFbiBoJmF1bWw7bmRlbHNlIHNvbSBza2FwYXMgZCZhcmluZzsgZW4gYW52JmF1bWw7bmRhcmVzIGlubG9nZ25pbmdzc2Vzc2lvbiBsJm91bWw7cGVyIHV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGVuIGFudiZhdW1sO25kYXJlIHNrYXBhcyc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZXMgaW5mb3JtYXRpb24gdXBwZGF0ZXJhcyc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBldHQgYW52JmF1bWw7bmRhcmtvbnRvIHRhcyBib3J0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZ3J1cHAgc2thcGFzJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZ3J1cHAgdGFzIGJvcnQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQtZ3J1cHAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBGJm91bWw7bGphbmRlIG1ha3JvbiBrYW4gYW52JmF1bWw7bmRhcyBpIGRlc3NhIGYmYXVtbDtsdCB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gTiZhdW1sO3IgJiMwMzk7eyRncm91cH0tbWFrcm90JiMwMzk7IGFudiZhdW1sO25kcyBrb21tZXIgc3lzdGVtZXQgZXJzJmF1bWw7dHRhIG5hbW5ldCAgcCZhcmluZzsgZGVuIGYmb3VtbDtyc3RhIG1lZGxlbXNncnVwcGVuIHNvbSBhbnYmYXVtbDtuZGFyZW4gdGlsbGgmb3VtbDtyIG9jaCBrb21tZXIgc3R5cmEgb20gdGlsbCBkZW4gc2lkYW4uJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdSZWRpZ2VyYSBkZXR0YSBmJmF1bWw7bHRldCBmJm91bWw7ciBhdHQgJmFyaW5nO3RlcnN0JmF1bWw7bGxhIGFudiZhdW1sO25kYXJlbnMgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUmVkaWdlcmEgZGV0dGEgZiZhdW1sO2x0ZXQgZiZvdW1sO3IgYXR0ICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBhbnYmYXVtbDtuZGFyZW5zIGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnRGV0IGZpbm5zIHJlZGFuIGVuIGFudiZhdW1sO25kYXJlIG1lZCBkZXQgYW52JmF1bWw7bmRhcm5hbW5ldCc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdJbmdldCByZXN1bHRhdCByZXR1cm5lcmFkZXMgZnImYXJpbmc7biBDU1YtZXhwb3J0ZW4nOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTCZhdW1sO25nZCBwJmFyaW5nOyBmJmF1bWw7bHRldCBmJm91bWw7ciBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMJmF1bWw7bmdkIHAmYXJpbmc7IGYmYXVtbDtsdGV0IGYmb3VtbDtyIGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9tYXgtdiZhdW1sO3JkZW5hIGYmb3VtbDtyIGwmYXVtbDtuZ2RlbiBwJmFyaW5nOyBsJm91bWw7c2Vub3JkICZhdW1sO3Igb2dpbHRpZ2EnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9tYXgtdiZhdW1sO3JkZW5hIGYmb3VtbDtyIGwmYXVtbDtuZ2RlbiBwJmFyaW5nOyBhbnYmYXVtbDtuZGFybmFtbiAmYXVtbDtyIG9naWx0aWdhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdPZ2lsdGlnIGVwb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnSW5nZW4gZXBvc3RhZHJlc3MgaGl0dGFkZXMgZiZvdW1sO3IgZGV0dGEga29udG90JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdFdHQgZmVsIHVwcHN0b2QgbiZhdW1sO3IgYW52JmF1bWw7bmRhcmluZm9ybWF0aW9uZW4gc2t1bGxlIHNwYXJhcyc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdFdHQgZmVsIHVwcHN0b2QgbiZhdW1sO3IgYW52JmF1bWw7bmRhcmVnZW5za2FwZW4gc2t1bGxlIHNwYXJhcyc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnQW52JmF1bWw7bmRhcmVuICVzID0gJXMgbGFkZXMgdGlsbCc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdBbnYmYXVtbDtuZGFyZW4gdWlkPSVzIHRvZ3MgYm9ydCc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VnZW5za2FwJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWJmF1bWw7cmRlIChyZWd1bGomYXVtbDtydCB1dHRyeWNrKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1Zhcm5pbmc6IERlc3NhIGYmYXVtbDtsdCBwJmFyaW5nO3ZlcmthciBzdG9ybGVrZW4gcCZhcmluZzsgZiZhdW1sO2x0IGkgZm9ybXVsJmF1bWw7ci4gRGV0ICZhdW1sO3IgaW50ZSB0aWxsciZhcmluZztkbGlndCBhdHQgbWluc2thIGRlc3NhIHYmYXVtbDtyZGVuIGkgZW4gZXhpc3RlcmFuZGUgd2ViYnBsYXRzLic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIGp1c3RlcmEgaW5zdCZhdW1sO2xsbmluZ2FybmEgZiZvdW1sO3IgbW9kdWxlbj8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0Vwb3N0YWRyZXNzZW4gYW52JmF1bWw7bmRzIHJlZGFuJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ0FudiZhdW1sO25kIGNvb2tpZXMgZiZvdW1sO3IgYXR0IGtvbW1hIGloJmFyaW5nO2cgaW5sb2dnbmluZ3N1cHBnaWZ0ZXInOwokbGFuZ1sncHJvbXB0X2Nvb2tpZW5hbWUnXSA9ICdOYW1uIHAmYXJpbmc7IGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ1RpbGwmYXJpbmc7dCBkdWJsZXR0ZXIgcCZhcmluZzsgZXBvc3RhZHJlc3Nlcic7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdGJm91bWw7cnMmb3VtbDtrIGgmYXJpbmc7bGxhIGlubG9nZ25pbmdhciB2aWQgbGl2IGdlbm9tIGF0dCBhbnYmYXVtbDtuZGEgY29va2llcyA8ZW0+KGNvb2tpZTpuICZhcmluZzt0ZXJzdCZhdW1sO2xscyB2aWQgYWt0aXZpdGV0IGkgd2ViYnBsYXRzZW4pPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHRpbGwmYXJpbmc7dCBtdWx0aXBsYSBhbnYmYXVtbDtuZGFyZSBtZWQgc2FtbWEgZXBvc3RhZHJlc3MpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbCZhcmluZzt0IG11bHRpcGxhIHAmYXJpbmc7bWlubmVsc2VyIGF2IHR5cGVuICZxdW90O2dsJm91bWw7bXQgbCZvdW1sO3Nlbm9yZCZxdW90Oyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcodGlsbCZhcmluZzt0IGFudiZhdW1sO25kYXJlIGF0dCBiZWcmYXVtbDtyYSBlbiAmYXJpbmc7dGVyc3QmYXVtbDtsbG5pbmcgYXYgbCZvdW1sO3Nlbm9yZGV0LCAmYXVtbDt2ZW4gb20gZGUgaW50ZSBoYXIgYmVrciZhdW1sO2Z0YXQgdGlkaWdhcmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnQW52JmF1bWw7bmQgRnJvbnQtZW5kIFVzZXI6cyBzcGVjaWZpa2EgciZhdW1sO3R0aWdoZXRlcj8nOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbHQgJmF1bWw7ciByJmF1bWw7dHRpZ2hldGVybmEgZiZvdW1sO3IgRnJvbnRlbmQtYW52JmF1bWw7bmRhcmUgc2FtbWEgc29tIG1vdHN2YXJhbmRlIHImYXVtbDt0dGlnaGV0ZXIgZiZvdW1sO3IgQWRtaW4tZGVsZW4gc29tIEwmYXVtbDtnZyB0aWxsIGFudiZhdW1sO25kYXJlLCBMJmF1bWw7Z2cgdGlsbCBncnVwcCBvc3YuIE9tIGR1IHYmYXVtbDtsamVyIGRldHRhIGFsdGVybmF0aXYga29tbWVyIGRldCBibGkgc2VwYXJhdGEgciZhdW1sO3R0aWdoZXRlciBmJm91bWw7ciBGcm9udGVuZC1hbnYmYXVtbDtuZGFuZGFyZS4pLic7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBkZW4gdXBwbGFkZGFkZSBmaWxlbiAoaW50ZXJudCBmZWwpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnRGV0IHVwcHN0b2QgZXR0IGZlbCBtZWQgZmlsZW4gZHUgbGFkZGF0IHVwcC4gRiZvdW1sO3JzJm91bWw7ayBpZ2VuJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IGFuZ2F2IGluZ2V0IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ0R1IGFuZ2F2IGluZ2V0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0xvZ2dhdCB1dCBmciZhcmluZztuIEZyb250ZW5kIFVzZXInOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnTG9nZ2EgaW4gaSBGcm9udGVuZCBVc2VyJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRGVuIGgmYXVtbDtyIGZ1bmt0aW9uZW4gZnVuZ2VyYXIgaW50ZSBwJmFyaW5nOyBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdTa2FwYSBpbnRlIGVnZW5za2FwZXIgZiZvdW1sO3IgYW52JmF1bWw7bmRhcm5hbW4gb2NoIGwmb3VtbDtzZW5vcmQgZWZ0ZXJzb20gZGVzc2EgJmF1bWw7ciBpbmd5Z2dkYSBpIG1vZHVsZW4gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0ZXJhIGFudiZhdW1sO25kYXJlIHRpbGwgQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGVyYSc7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRlcmEnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHJlcmEnOwokbGFuZ1snZWRpdHByb3AnXSA9ICdSZWRpZ2VyYSBlZ2Vuc2thcCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhsJmF1bWw7bmdkJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdTa2FwYWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydGVyYSBlZnRlcic7CiRsYW5nWydzb3J0J10gPSAnU29ydGVyYXInOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnQW52JmF1bWw7bmRhcmUgaSBkZW4gdmFsZGEgZ3J1cHBlbi9ncnVwcGVybmEnOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnQmVnciZhdW1sO25zYSByZXN1bHRhdGV0IGVmdGVyJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0t1bmRlIGludGUgaGl0dGEgZXR0IGUtcG9zdGYmYXVtbDtsdCBmJm91bWw7ciBkZW5uYSBhbnYmYXVtbDtuZGFyZW4uIER1IGthbnNrZSBiZWgmb3VtbDt2ZXIga29udGFrdGEgc3lzdGVtYWRtaW5pc3RyYXQmb3VtbDtyZW4uJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciBHbCZvdW1sO210IGwmb3VtbDtzZW5vcmQtZm9ybXVsJmF1bWw7cmV0JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciAmQXVtbDtuZHJhIGluc3QmYXVtbDtsbG5pbmdhci1mb3JtdWwmYXVtbDtyZXQnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdTaWQtSUQvLWFsaWFzIGYmb3VtbDtyIGcmYXJpbmc7IHRpbGwgZWZ0ZXIgaW5sb2dnbmluZyonOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciBnJmFyaW5nOyB0aWxsIGVmdGVyIHV0bG9nZ25pbmcgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0ZXJpbmdzb3JkbmluZyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFdHQgYW50YWwgYW52JmF1bWw7bmRhcmUgaCZhcmluZztsbGVyIHAmYXJpbmc7IGF0dCAmYXJpbmc7dGVyc3QmYXVtbDtsbGEgZ2wmb3VtbDttZGEgbCZvdW1sO3Nlbm9yZC4gSnVzdCBudSAmYXVtbDtyIGFudGFsZXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmFkZXJhIHBvc3RlciBzb20gJmF1bWw7ciAmYXVtbDtsZHJlIGVuIHZlY2thJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JhZGVyYSBwb3N0ZXIgc29tICZhdW1sO3IgJmF1bWw7bGRyZSBlbiBtJmFyaW5nO25hZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdUYSBib3J0IGFsbGEgcG9zdGVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXI/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRW4gb2dpbHRpZyBrb2QgaGFyIGFuZ2V0dHMsIHYmYXVtbDtubGlnZW4gZiZvdW1sO3JzJm91bWw7ayBpZ2VuJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdJbmdlbiB0aWxsZiZhdW1sO2xsaWcga29kIGYmb3VtbDtyIGRpdHQgYW52JmF1bWw7bmRhLUlEIGt1bmRlIGhpdHRhcyBpIGRhdGFiYXNlbic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ01hbGwgc29tIGFudiZhdW1sO25kcyBmJm91bWw7ciBhdHQgdmlzYSBiZWtyJmF1bWw7ZnRlbHNlZm9ybXVsJmF1bWw7cic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTWFsbCBzb20gYW52JmF1bWw7bmRzIGYmb3VtbDtyIGF0dCBza2lja2EgYm9ydGdsJm91bWw7bWRhIGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0FudGluZ2VuIGR1IHNqJmF1bWw7bHYgZWxsZXIgbiZhcmluZztnb24gYW5uYW4gaGFyIHJlZGFuIGImb3VtbDtyamF0ICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBsJm91bWw7c2Vub3JkZXQgZiZvdW1sO3IgZGV0dGEga29udG8uIEtvbnRyb2xsZXJhIGRpbiBlLXBvc3QsIGR1IGhpdHRhciB2aWRhcmUgaW5zdHJ1a3Rpb25lciBmJm91bWw7ciBodXIgZHUgJmFyaW5nO3RlcnN0JmF1bWw7bGxlciBsJm91bWw7c2Vub3JkZXQgaSBkaW4gaW5rb3JnLic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2ZlbCc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdEdSBmJmFyaW5nO3IgZGV0dGEgbWVkZGVsYW5kZSBlZnRlcnNvbSBuJmFyaW5nO2dvbiBoYXIgYW5nZXR0IGF0dCBkdSBoYXIgZ2wmb3VtbDttdCBkaXR0IGwmb3VtbDtzZW5vcmQuIE9tIHMmYXJpbmc7ICZhdW1sO3IgZmFsbGV0LCBsJm91bWw7cyBpbnN0cnVrdGlvbmVybmEgbmVkYW4uIE9tIGR1IGludGUgaGFyIGVuIGFuaW5nIG9tIHZhZCBkZXR0YSAmYXVtbDtyIGthbiBkdSB0YSBib3J0IGRldHRhIG1lZGRlbGFuZGUgb2NoIHZpIHRhY2thciBkaWcgZiZvdW1sO3IgZGluIHRpZC4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLb2QnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRiZvdW1sO2xqYW5kZSBrb2QgaGFyIHNsdW1wbSZhdW1sO3NzaWd0IGdlbmVyZXJhdHMgZiZvdW1sO3IgYXR0IHZlcmlmaWVyYSBhbnYmYXVtbDtuZGFya29udG90LiBOJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7IGwmYXVtbDtua2VuIG5lZGFuIGtvbW1lciBkdSBhdHQgc2UgZXR0IGYmYXVtbDtsdCBmJm91bWw7ciBhdHQgc2tyaXZhIGluIGRlbm5hIGtvZGVuLiBOb3JtYWx0ICZhdW1sO3IgZiZhdW1sO2x0ZXQgcmVkYW4gaWZ5bGx0IGYmb3VtbDtyIGRpZywgbWVuIG9tIGRldCBpbnRlICZhdW1sO3IgcyZhcmluZzsgJmF1bWw7ciBrb2RlbjonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdHZW5vbSBhdHQga2xpY2thIHAmYXJpbmc7IGYmb3VtbDtsamFuZGUgbCZhdW1sO25rIGtvbW1lciBkdSBoYW1uYSBwJmFyaW5nOyB3ZWJicGxhdHNlbiBkJmF1bWw7ciBkdSBrYW4gbWF0YSBpbiBrb2RlbiBvdmFuIG9jaCBkJmF1bWw7cm1lZCAmYXJpbmc7dGVyc3QmYXVtbDtsbGEgZGl0dCBsJm91bWw7c2Vub3JkLjonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsJm91bWw7bXQgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0thbiBpbnRlIGhpdHRhIG1vZHVsZW4gQ01TTWFpbGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0V0dCBtYWlsIGhhciBza2lja2F0cyB0aWxsICVzIG1lZCBpbnN0cnVrdGlvbmVyIG9tIGh1ciBsJm91bWw7c2Vub3JkZXQgJmFyaW5nO3RlcnN0JmF1bWw7bGxzLiBUYWNrJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnUyZhcmluZzsgZHUgaGFyIGdsJm91bWw7bXQgZWxsZXIgdGFwcGF0IGJvcnQgZGl0dCBsJm91bWw7c2Vub3JkPyBNYXRhIGluIGRpdHQgYW52JmF1bWw7bmRhcm5hbW4gaCZhdW1sO3IuIE9tIHZpIGthbiBoaXR0YSBkaWcgaSB2JmFyaW5nO3IgbGlzdGEgJm91bWw7dmVyIGFudiZhdW1sO25kYXJlIGtvbW1lciB2aSBza2lja2EgaW5zdHJ1a3Rpb25lciBmJm91bWw7ciBodXIgZHUga2FuICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBkaXR0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNYWxsYXIgZiZvdW1sO3IgZ2wmb3VtbDttZGEgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdNYWxsIGYmb3VtbDtyIGdsJm91bWw7bXQgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnRWdlbnNrYXBlbiAlcyBrdW5kZSBpbnRlIGhpdHRhcyc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnSGl0dGFkZSBlZ2Vuc2thcGVyJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdMJmF1bWw7Z2cgdGlsbCBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRXR0IGJlZyZhdW1sO3J0IGYmYXVtbDtsdCAoJXMpIHZhciB0b210JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnTWF0YSBpbiBldHQgbnl0dCBsJm91bWw7c2Vub3JkIGgmYXVtbDtyIGYmb3VtbDtyIGF0dCAmYXVtbDtuZHJhIGRpdHQgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ0R1IHZlcmthciBpbnRlIHZhcmEgaW5sb2dnYWQnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcmluZyc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ0RldCBoJmF1bWw7ciBrb250b3QgaGFyIGwmb3VtbDtwdCB1dCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnT2dpbHRpZ3QgZm9ybWF0IHAmYXJpbmc7IGVwb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnT2dpbHRpZ3QgdXRnJmFyaW5nO25nc2RhdHVtJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdFdHQgZmVsIHVwcHN0b2QgbiZhdW1sO3IgZWdlbnNrYXBlbiAlcyBza3VsbGUgcyZhdW1sO3R0YXMgZiZvdW1sO3IgYW52JmF1bWw7bmRhcmUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdPZ2lsdGlndCBncnVwcElEICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFyayZvdW1sO3IgZiZvdW1sO3IgZyZvdW1sO210IGYmYXVtbDtsdCc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnRiZhdW1sO3JnIGYmb3VtbDtyIGcmb3VtbDttdCBmJmF1bWw7bHQnOwokbGFuZ1snaGlkZGVuJ10gPSAnRyZvdW1sO21kJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thcCBtZWQgZGV0IG5hbW5ldCAmYXVtbDtyIHJlZGFuIHNrYXBhdCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdJbmdhIGVnZW5za2FwZXIgZGVmaW5pZXJhZGUnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdJbmdhIGVnZW5za2FwZXIgdmFsZGVzIGYmb3VtbDtyIGRlbiBoJmF1bWw7ciBncnVwcGVuJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnSW5nYSBncnVwcGVyICZhdW1sO3IgZGVmaW5pZXJhZGUnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdIaXR0YWRlIGdydXBwZXInOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lZGxlbXNrYXAgaSBtaW5zdCBlbiBncnVwcCBrciZhdW1sO3ZzJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdLciZhdW1sO3YgbWVkbGVtc3NrYXAgaSBtaW5zdCBlbiBncnVwcCc7CiRsYW5nWydiYWNrJ10gPSAnVGlsbGJha2EnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzICZhdW1sO3IgZXR0IG9ibGlnYXRvcmlza3QgZiZhdW1sO2x0JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJrZXJhIG9ibGlnYXRvcmlza2EgZiZhdW1sO2x0IG1lZCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdNYXJrZXJhIG9ibGlnYXRvcmlza2EgZiZhdW1sO2x0IG1lZCc7CiRsYW5nWyduZXh0J10gPSAnTiZhdW1sO3N0YSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VuIGdydXBwIG1lZCBkZXQgbmFtbmV0IGV4aXN0ZXJhciByZWRhbic7CiRsYW5nWydyZXF1aXJlZCddID0gJ09ibGlnYXRvcmlzayc7CiRsYW5nWydvcHRpb25hbCddID0gJ0ZyaXZpbGxpZyc7CiRsYW5nWydvZmYnXSA9ICdBdic7CiRsYW5nWydzaXplJ10gPSAnU3Rvcmxlayc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heHN0b3JsZWsgcCZhcmluZzsgYmlsZCBpIGFudGFsIHBpeGxhciknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTCZhdW1sO25nZCc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPih0ZWNrZW4gaSBpbm1hdG5pbmdzZiZhdW1sO2x0ZXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdBbHRlcm5hdGl2IGkgcnVsbGdhcmRpbnNtZW55LCBzZXBhcmVyYWRlIG1lZCByYWRicnl0bmluZ2FyLiBWJmF1bWw7cmRlbiBzZXBhcmVyYXMgbWVkICZxdW90O2xpa2EgbWVkJnF1b3Q7LXRlY2tlbiAodC5leC4gS3Zpbm5hPWspJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRiZhdW1sO2x0c3RhdHVzJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0ZyJmFyaW5nO2dhIGkgYm9ydHRhcHBhdDxici8+YW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdLcnlzc3J1dGEnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdGbGVydmFsc2xpc3RhJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZCc7CiRsYW5nWydlbWFpbCddID0gJ0Vwb3N0YWRyZXNzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dHJ1dGEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdSdWxsZ2FyZGluc21lbnknOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWJmF1bWw7bGtvbW1lbic7CiRsYW5nWydsb2dvdXQnXSA9ICdMb2dnYSB1dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnQW52JmF1bWw7bmQgZGV0dGEgZ3J1cHBuYW1uJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJyZBdW1sO25kcmEgbWluYSBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdJbmxvZ2duaW5nZW4gbWlzc2x5Y2thZGVzIC0gRmVsYWt0aWd0IGFudiZhdW1sO25kYXJuYW1uIGVsbGVyIGwmb3VtbDtzZW5vcmQ/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9nZ2EgaW4nOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdFdGlrZXR0IGYmb3VtbDtyIGlubG9nZ25pbmdza25hcHAnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnTCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ0tvbSBpaCZhcmluZztnIG1pZyBwJmFyaW5nOyBkZW4gaCZhdW1sO3IgZGF0b3JuJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVyYSc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0dsJm91bWw7bXQgZGl0dCBsJm91bWw7c2Vub3JkPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdHbCZvdW1sO210IGRpbmEgaW5sb2dnbmluZ3N1cHBnaWZ0ZXI/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnU3RhbmRhcmR2JmF1bWw7cmRlbic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01hbGwnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQW52JmF1bWw7bmRhcklEIGhpdHRhZGVzIGludGUnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0FudiZhdW1sO25kYXJuYW1uZXQgKCVzKSBhbnYmYXVtbDtuZHMgcmVkYW4nOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0FudiZhdW1sO25kIFNNVFAgZiZvdW1sO3IgYXR0IHZhbGlkZXJhIGVwb3N0YWRyZXNzZXI/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbnN0YSBsJmF1bWw7bmdkIHAmYXJpbmc7IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4bCZhdW1sO25nZCBmJm91bWw7ciBsJm91bWw7c2Vub3JkJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbnN0YSBsJmF1bWw7bmdkIHAmYXJpbmc7IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGwmYXVtbDtuZ2QgZiZvdW1sO3IgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWt1bmRlciknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ0FudiZhdW1sO25kIGNvb2tpZXMgZiZvdW1sO3IgYXR0IGgmYXJpbmc7bGxhIGlubG9nZ25pbmdhciB2aWQgbGl2JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnVGlsbCZhcmluZzt0IGVwb3N0cmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFyZGdydXBwIGYmb3VtbDtyIG55YSBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJyZBdW1sO25kcmEgbWFsbCBmJm91bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0wmb3VtbDtzZW5vcmRlbiBzdCZhdW1sO21tZXIgaW50ZSAmb3VtbDt2ZXJlbnMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnT2d0aWx0aWd0IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ09naWx0aWd0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyYSBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWyd2YWxpZCddID0gJ0dpbHRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0FudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdEZW4gaCZhdW1sO3IgYW52JmF1bWw7bmRhcmVuICZhdW1sO3IgaW50ZSBtZWRsZW0gaSBuJmFyaW5nO2dvbiBncnVwcCc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnSW5nYSBlZ2Vuc2thcGVyJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnRiZvdW1sO3JzJm91bWw7ayBpbXBvcnRlcmEgZHVibGV0dGVyIGF2IGVnZW5za2FwZXInOwokbGFuZ1sndmFsdWUnXSA9ICdWJmF1bWw7cmRlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZXInOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VnZW5za2FwZXInOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOYW1uIHAmYXJpbmc7IGVnZW5za2FwJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1YmYXVtbDtyZGUnOwokbGFuZ1snYWRkJ10gPSAnTCZhdW1sO2dnIHRpbGwnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcmlrJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyYSc7CiRsYW5nWydleHBpcmVzJ10gPSAnTCZvdW1sO3BlciB1dCc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdBbmdlIGRhdHVtJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgdGltbWFyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgdGltbWFyJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggdGltbWFyJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSB2ZWNrYSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHZlY2tvcic7CiRsYW5nWycxbW9udGgnXSA9ICcxIG0mYXJpbmc7bmFkJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG0mYXJpbmc7bmFkZXInOwokbGFuZ1snNm1vbnRocyddID0gJzYgbSZhcmluZztuYWRlcic7CiRsYW5nWycxeWVhciddID0gJzEgJmFyaW5nO3InOwokbGFuZ1snbmV2ZXInXSA9ICdBbGRyaWcnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLiZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0wmb3VtbDtzZW5vcmQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdJZ2VuJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdFbiBncnVwcCBtZWQgZGV0IG5hbW5ldCBleGlzdGVyYXIgcmVkYW4nOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnUmVkaWdlcmEgZ3J1cHAnOwokbGFuZ1snc3VibWl0J10gPSAnU2tpY2thJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydkZWxldGUnXSA9ICdUYSBib3J0JzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkZXR0YSAmYXVtbDtyIGRlIGtvcnJla3RhIGluc3QmYXVtbDtsbG5pZ25hcm5hIGYmb3VtbDtyIGRlbiBoJmF1bWw7ciBncnVwcGVuP1xuQXR0IHN0JmF1bWw7bmdhIGF2IGRlbm5hIGVnZW5za2FwZW4gdGFyIGludGUgYm9ydCBuJmFyaW5nO2dyYSBwb3N0ZXIgaSBlZ2Vuc2thcHN0YWJlbGxlbiBmJm91bWw7ciBkZW5uYSBncnVwcC9hbnYmYXVtbDtuZGFyZS4gRGUga29tbWEgYmFyYSBpbnRlIHZhcmEgdGlsbGcmYXVtbDtuZ2xpZ2EuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgdGEgYm9ydCBkZW4gaCZhdW1sO3IgZ3J1cHBlbj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbiBoJmF1bWw7ciBlZ2Vuc2thcGVuP1xuR2Vub20gYXR0IHRhIGJvcnQgZGVuIGYmb3VtbDtyc3Zpbm5lciBhbGxhIGV2ZW50dWVsbGEgYW52JmF1bWw7bmRhcnVwcGdpZnRlciBtZWQgZGVuIGgmYXVtbDtyIGVnZW5za2FwZW4uJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ090aWxsciZhdW1sO2NrbGlnYSBwYXJhbWV0cmFyJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdFdHQgZmVsIHVwcHN0b2QgZCZhcmluZzsgZW4gZWdlbnNrYXAgZiZvdW1sO3IgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnRXR0IGZlbCB1cHBzdG9kIGQmYXJpbmc7IGVuIHJlbGF0aW9uIHRpbGwgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdFdHQgZmVsIHVwcHN0b2QgZCZhcmluZzsgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW0gYXR0IGwmYXVtbDtnZ2EgdGlsbCBhbnYmYXVtbDtuZGFyZSB0aWxsIGdydXBwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIG1lZCBhdHQgdGEgYm9ydCBlbiBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0t1bmRlIGludGUgaGl0dGEgbiZhcmluZztnb24gZS1wb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdJbmdhIHNrcml2ciZhdW1sO3R0aWdoZXRlciB0aWxsIG0mYXJpbmc7bG1hcHBlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnT2dpbHRpZ2EgcGFyYW1ldHJhcic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0t1bmRlIGludGUgaGl0dGEgbiZhcmluZztncmEgZ3J1cHBlcic7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1ZlcmtzdCZhdW1sO2xsJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnUmVndWxqJmF1bWw7cnQgdXR0cnljayBmJm91bWw7ciBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZuaW5nJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ0dydXBwbmFtbic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdUaWxsdHImYXVtbDtkZSBuZWthcyc7CiRsYW5nWydlcnJvciddID0gJ0ZlbCc7CiRsYW5nWydhZGRncm91cCddID0gJ0wmYXVtbDtnZyB0aWxsIGdydXBwJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0ZXJhIGdydXBwJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdMJmF1bWw7Z2cgdGlsbCBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQW52JmF1bWw7bmRhcmUgc29tICZvdW1sO3ZlcmVuc3N0JmF1bWw7bW1lciBtZWQga3JpdGVyaWV0JzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWJmF1bWw7bGogZ3J1cHAnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciByZWdpc3RyZXJpbmcnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciB1dGxvZ2duaW5nJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciBpbmxvZ2duaW5nJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQW52JmF1bWw7bmRhcmUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSGFudGVyaW5nIGF2IEZyb250ZW5kIFVzZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaWxsJmFyaW5nO3QgYW52JmF1bWw7bmRhcmUgbG9nZ2EgaW4gdmlhIGZyb250ZW5kJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdGJm91bWw7cnZhbGQgZiZvdW1sO3JzdGFzaWRhJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdTZW5hc3QgbCZhdW1sO3N0YSBzaWRhJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0FubmFuIHNpZGE6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU2tyaXYgaW4gdGV4dGVuIGkgYmlsZGVuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4wLjAuMSAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4NCjxsaT4wLjEuMSAtIE9jdG9iZXIsIDIwMDUgLSBGaXhlZCBpc3N1ZXMgd2l0aCBwcm9wZXJ0aWVzPC9saT4NCjxsaT4wLjEuMiAtIE9jdG9iZXIsIDIwMDUgLSBBZGRlZCBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+PHA+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgcmVkaXJlY3QgcGFnZSBvbiBsb2dpbiwgbG9nb3V0LCBmb3Jnb3QgcGFzc3dvcmQsIGFuZCBjaGFuZ2Ugc2V0dGluZ3MsIGFuZCBhZGRlZCB0aGUgcmV0dXJudG8gYW5kIGZvcm0gcGFyYW1ldGVycyB0byB0aGUgdXNlciBzaWRlIG9mIHRoaW5ncywgYWxzbyBkaWQgYSBjb3VwbGUgbGYgbGl0dGxlIGNsZWFudXBzLiAgVGhpcyB2ZXJzaW9uIHJlcXVpcmVzIHYwLjExIGFuZCBhYm92ZSBmb3IgY2VydGFpbi48L3A+PC9saT4NCjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPg0KPGxpPjxwPjAuMS41IC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS42IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPkNoYW5nZXMgdG8gdGhlIHBlcm1pc3Npb24gbW9kZWwsIGFuZCBtaW5vciBidWcgZml4ZXMgdG8gdGhlIHByZWZlcmVuY2VzLiAgQWxzbyBzb21lIHBocDUgZml4ZXMgYnV0IEkgYW0gc3VyZSB0aGF0IHRoZXJlIGFyZSBtb3JlIG91dCB0aGVyZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNyAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5NYW55IHRoYW5rcyB0byA8Yj5rYXRvbjwvYj4gZm9yIGFkZGluZyB0aGUgdGV4dGFyZWEgYW5kIGRyb3Bkb3duIHByb3BlcnR5IHR5cGVzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgcHJvcGVydHkgYWRkaW5nIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHNwYWNlcyBpbiBwcm9wZXJ0eSBuYW1lcyAod2Ugbm8gbG9uZ2VyIGxldCB0aGF0IGhhcHBlbikuPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMCAtIEZlYnJ1YXJ5LCAyMDA2PHA+DQogICAgPHA+QWRkZWQgZmlsdGVyaW5nIGFuZCByb3cgbGltaXRpbmcgdG8gdGhlIGFkbWluIHBhbmVsLiBUaGlzIHdpbGwgaGF2ZSBiaWcgYmVuZWZpdHMgdG8gdGhvc2UgdGhhdCBhcmUgdXNpbmcgdGhpcyBtb2R1bGUgZm9yIGhpZ2ggdHJhZmljLCBhbmQgaGlnaCB1c2VyIHNpdGVzLjwvcD4NCiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4NCiAgICA8cD5BZGRlZCBtYXggbGVuZ3RoIGFiaWxpdHkgdG8gdGV4dCBhbmQgZW1haWwgZmllbGRzPC9wPg0KICAgIDxwPkZpeGVkIGEgc21hbGwgcHJvYmxlbSB3aXRoIHRoZSBkZWZhdWx0IGdyb3VwIG5vdCBiZWluZyBjaGVja2VkIHdoZW4gYWRkaW5nIGEgdXNlcjwvcD4NCiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+DQogICAgPHA+RGVsZXRlIHVzZXIgcHJvcGVydGllcyB3aGVuIGEgcHJvcGVydHkgaXMgZGVsZXRlZCA8ZW0+Tm90ZTwvZW0+LCBub3Qgd2hlbiBpdCBpcyBkaXNhYmxlZCBpbiB0aGUgZWRpdCBncm91cCBkaWFsb2c8L3A+DQogICAgPHA+QWRkIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGluIGVkaXQgZ3JvdXBzLjwvcD4NCiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+DQogICAgPHA+QWRkZWQgQ1NWIEV4cG9ydCBvcHRpb248L3A+DQogICAgPHA+VG9kbyAtIEFkZCBwcmVmZXJlbmNlcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkbGVuZ3RoPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMSAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXM8L3A+DQogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4NCiAgICA8cD5BZGQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcHJlZmVyZW5jZXMgc3VibWl0IGJ1dHRvbjwvcD4NCiAgICA8cD5GaXhlZCBhIG1pbm9yIGJ1ZyB3aGVuIGNvdXRpbmcgdGhlIG51bWJlciBvZiB1c2VycyBpbiBhIGdyb3VwPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+DQogICAgPHA+QWRkZWQgYWR2YW5jZWQgZmlsdGVyaW5nIG9uIHByb3BlcnRpZXM8L3A+DQogICAgPHA+Q2hhbmdlcyB0byBsYWJlbGluZyBpbiBhZGQgb3IgZWRpdCB1c2VyPC9wPg0KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+DQogICAgPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4yIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5Nb3JlIGZpZWxkIGxlbmd0aCBmaXhlczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjMgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkV4cG9ydCB0byBzbWFydHkgYWxsIG9mIHRoZSB1c2VyIHByb3BlcnRpZXMgd2hlbiB0aGV5IGFyZSBsb2dnZWQgaW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC40IC0gTWF5LCAyMDA2PHA+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGV4cG9ydCBjb2RlPC9wPg0KICAgIDxwPkNvZGUgY2xlYW51cCAoYWxwaGFiZXRpemUgZnVuY3Rpb25zKTwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+DQogICAgPHA+UmVtb3ZlZCB0aGUgcmVxdWlyZW1lbnQgZm9yIENNUyAwLjEyLCBhbmQgcHV0IGl0IGJhY2sgdG8gMC4xMS4yPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBcJiMwMzk7c2lsZW50XCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjUgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZXhwaXJ5IGRhdGVzPC9wPg0KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+DQo8bGk+PHA+MS4wLjYgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4wIC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgXHskZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4xIC0gU2VwdCwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIGJ1ZyB3aGVuIGEgdXNlciB3YXMgZWRpdGluZyBoaXMgc2V0dGluZ3Mgd2l0aCBcJiMwMzk7YWxsb3cgZHVwbGljYXRlIGVtYWlsc1wmIzAzOTsgd2FzIG9mZjwvcD4NCiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4NCiAgICA8cD5NaW5vciBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjIgLSBEZWMsIDIwMDY8L3A+DQogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4NCiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KICAgIDxsaT48cD4xLjIuMCAtIEFwcmlsLCAyMDA3PC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4NCjxwPjEuMi4xIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5MTQ4MTIzNy42MS4xMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Z29vZ2xlLmNvbXx1dG1jY3Q9L3JlYWRlci92aWV3L3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yODA0MjE5OTQuMTE4OTQ1MjYyNS4xMTkxNjE4OTIyLjExOTE2NjQ1MDEuNjknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgIAogICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAgIAogICAgLy9Vc2VyIGxpc3QKICAgICRmbGRzID0gIgogICAgICAgICAgICAgaWQgSSBLRVksCgkgICAgIHVzZXJuYW1lIEMoODApIE5PVCBOVUxMLAogICAgICAgICAgICAgcGFzc3dvcmQgQygzMikgTk9UIE5VTEwsCiAgICAgICAgICAgICBjcmVhdGVkYXRlICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgICAgICBleHBpcmVzICIuQ01TX0FET0RCX0RUOwoKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIiwgCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICRkYi0+Q3JlYXRlU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnNfc2VxIiApOwogICAgCiAgICAvL0dyb3VwIGxpc3QKICAgICRmbGRzID0gIgoJICAgICBpZCBJIEtFWSwKCSAgICAgZ3JvdXBuYW1lIEMoMzIpLAoJICAgICBncm91cGRlc2MgQygxMjgpCgkgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyIsCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICRkYi0+Q3JlYXRlU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzX3NlcSIgKTsKCiAgICAvLyBsb2dnZWRpbgogICAgJGZsZHMgPSAiCgkgICAgIHNlc3Npb25pZCBDKDMyKSwKCSAgICAgbGFzdHVzZWQgSSwKCSAgICAgdXNlcmlkIEkKCSAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4iLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAKICAgIC8vQ29ubmVjdGlvbnMgYmV0d2VlbiB1c2VycyBhbmQgZ3JvdXBzCiAgICAkZmxkcyA9ICIKCSAgICAgdXNlcmlkIEksCgkgICAgIGdyb3VwaWQgSQoJICAgICI7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgIC8vcHJvcGVydHkgZGVmaW5pdGlvbgogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICBuYW1lICAgICAgQyg0MCkgS0VZLAogICAgICAgICAgICAgcHJvbXB0ICAgIEMoODApIE5PVCBOVUxMLAogICAgICAgICAgICAgdHlwZSAgICAgIEMoMjApIE5PVCBOVUxMLAogICAgICAgICAgICAgbGVuZ3RoICAgIEksCiAgICAgICAgICAgICBtYXhsZW5ndGggSQogICAgICAgICAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU3FsKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4iLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgogICAgLy9kcm9wZG93biBzZWxlY3Qgb3B0aW9ucwogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICBvcmRlcl9pZAkJSSwKICAgICAgICAgICAgIG9wdGlvbl9uYW1lCUMoNDApIE5PVCBOVUxMLAogICAgICAgICAgICAgb3B0aW9uX3RleHQJQygyNTUpIE5PVCBOVUxMLAogICAgICAgICAgICAgY29udHJvbF9uYW1lCUMoNDApIE5PVCBOVUxMOwogICAgICAgICAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU3FsKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZHJvcGRvd25zIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgIC8vIGdyb3VwIHByb3BlcnR5IG1hcAogICAgLy8gdXNlZCB0byBhc3NvY2lhdGUgYSBwcm9wZXJ0eSB0byBhIGdyb3VwCiAgICAkZmxkcyA9ICIKICAgICAgICAgICAgICBuYW1lICAgIEMoNDApIEtFWSwKICAgICAgICAgICAgICBncm91cF9pZCBJIEtFWSwKICAgICAgICAgICAgICBzb3J0X2tleSBJLCAKICAgICAgICAgICAgICByZXF1aXJlZCBJIE5PVCBOVUxMLAogICAgICAgICAgICAgIGxvc3R1bmZsYWcgSQogICAgICAgICAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU3FsKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgIC8vdXNlciBwcm9wZXJ0aWVzCiAgICAkZmxkcyA9ICIKCSAgICAgaWQgSSBLRVksCgkgICAgIHVzZXJpZCBJLAoJICAgICB0aXRsZSBDKDEwMCksCgkgICAgIGRhdGEgQygyNTUpCgkgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXNfc2VxIiApOwoKICAgIC8vIGZvcmdvdHRlbiBwYXNzd29yZCBzdHVmZgogICAgJGZsZHMgPSAiCgkgICAgIHVzZXJpZCBJIEtFWSwKICAgICAgICAgICAgIGNvZGUgQygyNSksCiAgICAgICAgICAgICBjcmVhdGVkICIuQ01TX0FET0RCX0RUOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgogICAgLy8gbG9naW4gaGlzdG9yeSBzdHVmZgogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICB1c2VyaWQgSSwKCSAgICAgc2Vzc2lvbmlkIEMoMzIpLAogICAgICAgICAgICAgYWN0aW9uIEMoMzIpLAogICAgICAgICAgICAgcmVmZGF0ZSAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICAgICAgaXBhZGRyZXNzIEMoMjApIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgogICAgLy8gdGVtcGxhdGVzCiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9naW5mb3JtJywgJHRoaXMtPmRmbHRfbG9naW5mb3JtdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvZ291dGZvcm0nLCAkdGhpcy0+ZGZsdF9sb2dvdXRmb3JtdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2NoYW5nZXNldHRpbmdzZm9ybScsICR0aGlzLT5kZmx0X2NoYW5nZXNldHRpbmdzdGVtcGxhdGUpOyAKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmR2ZXJpZnlmb3JtJywgJHRoaXMtPmRmbHRfZm9yZ290cGFzc3dvcmR0ZW1wbGF0ZTMpOwoKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19sb3N0dW5mb3JtX3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb3N0dW5mb3JtJywkdGVtcGxhdGUpOwogIH0KCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfbG9zdHVuZm9ybV9jb25maXJtX3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb3N0dW5mb3JtX2NvbmZpcm0nLCR0ZW1wbGF0ZSk7CiAgfQoKICAgIC8vIHByZWZlcmVuY2VzCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWluX3Bhc3N3b3JkbGVuZ3RoJywgNik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJywgMjApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21pbl91c2VybmFtZWxlbmd0aCcsIDQpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcsIDIwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyX3Nlc3Npb25fZXhwaXJlcycsIDE4MDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnLCAtMSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywgJyonKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsICdibHVlJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZV9vbmVncm91cCcsIDEpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9tYXJrZXInLCAnIScpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9jb2xvcicsICdncmVlbicpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9mb3Jnb3RwYXNzd2QnLCAnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2NoYW5nZXNldHRpbmdzJywgJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicsJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dvdXQnLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfYWZ0ZXJ2ZXJpZnknLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19kdXBsaWNhdGVfZW1haWxzJywxKTsgLy8gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmxpdHkKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcsIDIwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcsIDIwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19yZXBlYXRlZF9sb2dpbnMnLDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywnLmdpZiwucG5nLC5qcGcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicsMCk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScsMCk7CgogICAgLy8gRXZlbnRzCiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkxvZ2luJyApOwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25Mb2dvdXQnICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkV4cGlyZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkRlbGV0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPblVwZGF0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZUdyb3VwJyApOwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25EZWxldGVHcm91cCcgKTsKCiAgICAvLyBwZXJtaXNzaW9ucwogICAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbiIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcCIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnNfc2VxIiApOwokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHNfc2VxIiApOwokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzX3NlcSIgKTsKCi8vIHRlbXBsYXRlcwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIHByZWZlcmVuY2VzCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiAgICAKLy8gcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwoKLy8gRkVVc2Vycy1zcGVjaWZpYyBwZXJtaXNzaW9ucyAuLi4gbWF5IG9yIG1heSBub3QgZXhpc3QKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBSZW1vdmUgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgR3JvdXBzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IEdyb3VwcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cCBBc3NpZ25tZW50cycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIFJlbW92ZSBHcm91cHMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBUZW1wbGF0ZXMnKTsKCi8vIEV2ZW50cwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkxvZ2luJyApOwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkxvZ291dCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25FeHBpcmVVc2VyJyApOwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkNyZWF0ZVVzZXInICk7CiR0aGlzLT5SZW1vdmVFdmVudCggJ09uRGVsZXRlVXNlcicgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25DcmVhdGVHcm91cCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25EZWxldGVHcm91cCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25VcGRhdGVVc2VyJyApOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKJGRiID0mICR0aGlzLT5HZXREYigpOwpzd2l0Y2goICRvbGR2ZXJzaW9uICkKCXsKCWNhc2UgJzAuMS4wJzoKCWNhc2UgJzAuMS4xJzoKCQl7CiAgICAgICAgICAgIC8vIHBlcm1pc3Npb25zCiAgICAgICAgICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnLAoJCQkJCQkJCQknTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJyk7CiAgICAgICAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMSk7CiAgICAgICAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGVtYWlsZm9ybScsICR0aGlzLT5kZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUyKTsKICAgICAgICAgICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkdmVyaWZ5Zm9ybScsICR0aGlzLT5kZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUzKTsKCQkJCiAgICAgICAgICAgIC8vIGZvcmdvdHRlbiBwYXNzd29yZCBzdHVmZgogICAgICAgICAgICAkZmxkcyA9ICIKCSAgICAgICAgICAgICB1c2VyaWQgSSBLRVksCiAgICAgICAgICAgICAgICAgICAgIGNvZGUgQygyNSksCiAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgIi5DTVNfQURPREJfRFQ7CiAgICAgICAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUiLAoJCQkJCQkJCQkJCSAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICAgICAgICAgLy8gbm90aWNlIG5vIGJyZWFrCgkJfQoJCQoJY2FzZSAnMC4xLjInOgoJCXsKICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9mb3Jnb3RwYXNzd2QnLCAnJyk7CiAgICAgICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfY2hhbmdlc2V0dGluZ3MnLCAnJyk7CiAgICAgICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9naW4nLCcnKTsKICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dvdXQnLCcnKTsKICAgICAgICAgICAgLy8gbm90aWNlIG5vIGJyZWFrCgkJfQoJY2FzZSAnMC4xLjMnOgoJY2FzZSAnMC4xLjQnOgoJY2FzZSAnMC4xLjUnOgoJY2FzZSAnMC4xLjYnOgoJCXsKCQkJLy9kcm9wZG93biBzZWxlY3Qgb3B0aW9ucwoJCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgkJCSRmbGRzID0gIgoJCQkJIG9yZGVyX2lkCQlJLAoJCQkJIG9wdGlvbl9uYW1lCUMoNDApIE5PVCBOVUxMLAoJCQkJIG9wdGlvbl90ZXh0CUMoODApIE5PVCBOVUxMLAoJCQkJIGNvbnRyb2xfbmFtZQlDKDQwKSBOT1QgTlVMTDsKCQkJCSI7CgkJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNxbChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducyIsCgkJCQkJCQkJCQkJICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CgkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoJCQkKCQkJLy8gYW5kIGNsZWFudXAgcHJvcGVydHkgbmFtZXMKCQkJJHEgPSAndXBkYXRlICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbiBzZXQgbmFtZSA9IGxjYXNlKHJlcGxhY2UobmFtZSwiICIsIl8iKSknOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxICk7CgkJfSAvL2Nhc2UKCWNhc2UgJzAuMS43JzoKCQl7CgkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZGNvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIiwKCQkJCQkJCQkJCQkibWF4bGVuZ3RoIEkiKTsKCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgkJfSAvLyBjYXNlCgljYXNlICcxLjAuMCc6CgkJewoJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX2VtYWlscycsMSk7CgkJfQoJY2FzZSAnMS4wLjEnOgoJCXsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJywgMjApOwoJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnLCAyMCk7CgkJfQoJY2FzZSAnMS4wLjUnOgoJY2FzZSAnMS4wLjYnOgoJCXsKCQkJLy8gRXZlbnRzCgkJCSR0aGlzLT5DcmVhdGVFdmVudCggJ09uTG9naW4nICk7CgkJCSR0aGlzLT5DcmVhdGVFdmVudCggJ09uTG9nb3V0JyApOwoJCQkkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkV4cGlyZVVzZXInICk7CgkJCSR0aGlzLT5DcmVhdGVFdmVudCggJ09uQ3JlYXRlVXNlcicgKTsKCQkJJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25EZWxldGVVc2VyJyApOwoJCQkkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZUdyb3VwJyApOwoJCQkkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkRlbGV0ZUdyb3VwJyApOwoJCQkKCQkJLy8gUHJlZmVyZW5jZXMKCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2FsbG93X3JlcGVhdGVkX2xvZ2lucycsMSk7CgkJCQoJCQkvLyBUYWJsZXMKCQkJJGZsZHMgPSAiCiAgICAgICAgICAgICB1c2VyaWQgSSBLRVksCgkgICAgIHNlc3Npb25pZCBDKDMyKSwKICAgICAgICAgICAgIGFjdGlvbiBDKDMyKSwKICAgICAgICAgICAgIHdoZW4gRFQKICAgICAgICAgICAgIjsgCgkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSIsCgkJCQkJCQkJCQkJICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CgkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoJCX0KCWNhc2UgJzEuMS4wJzoKCQl7CgkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNoYW5nZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZHJvcGRvd25zIiwKCQkJCQkJCQkJCQkgICJvcHRpb25fdGV4dCBDKDI1NSkgTk9UIE5VTEwiKTsKCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgkJfQoJY2FzZSAnMS4yLjEnOgoJICB7CgkgICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25VcGRhdGVVc2VyJyApOwoJICB9CgoJY2FzZSAnMS4yLjInOgoJICB7CiAgICAgICAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCSAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuCgkJCQkJICAgICAibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSIgKTsKCSAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICAgCgkgICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCSAgICAkZmxkcyA9ICIKICAgICAgICAgICAgIHVzZXJpZCBJLAoJICAgICBzZXNzaW9uaWQgQygzMiksCiAgICAgICAgICAgICBhY3Rpb24gQygzMiksCiAgICAgICAgICAgICByZWZkYXRlICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgICAgICBpcGFkZHJlc3MgQygyMCkiOwoJICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuCgkJCQkJICAgICAgIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiLAoJCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKCSAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKCSAgfQoJICAKCgljYXNlICcxLjMnOgoJICB7CiAgICAgICAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCSAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkY29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwIiwKCQkJCQkgICAgImxvc3R1bmZsYWcgSSIpOwoJICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSk7CgoJICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfYWZ0ZXJ2ZXJpZnknLCcnKTsKCSAgfQoJICAKCX0gLy8gc3dpdGNoCj8+]]></data>
	</file>
	<file>
	  <filename>/Random.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBHZW5lcmF0ZSByYW5kb20gY2hhcmFjdGVycy4NCiAqDQogKiBAYXV0aG9yICAgIExhdXJlbnRpdSBUYW5hc2UgPGV4cGVydHBocEB5YWhvby5jb20+DQogKiBAdmVyc2lvbiAgIDEuMQ0KICovDQoNCmNsYXNzIFJhbmRvbQ0Kew0KCS8qKg0KCSAqIFNldCBkZWZhdWx0IGNoYXJhY3RlcnMuDQogICAgICoNCiAgICAgKiBAdmFyICAgICAgc3RyaW5nDQogICAgICogQGFjY2VzcyAgIHByaXZhdGUNCiAgICAgKi8NCg0KCXZhciAkX3ZjcnM7DQoNCgkvKioNCgkgKiBJZiBoYXZlIG51bWJlcg0KICAgICAqDQogICAgICogQHZhciAgICAgIGJvb2wNCiAgICAgKiBAYWNjZXNzICAgcHJpdmF0ZQ0KICAgICAqLw0KDQoJdmFyICRfdm51bTsNCg0KCS8qKg0KCSAqIElmIGRvZXNuJ3QgaGF2ZSBudW1iZXINCiAgICAgKg0KICAgICAqIEB2YXIgICAgICBib29sDQogICAgICogQGFjY2VzcyAgIHByaXZhdGUNCiAgICAgKi8NCg0KCXZhciAkX3Zub3Q7DQoNCgkvKioNCgkgKiBDb25zdHJ1Y3Rvcg0KCSAqDQoJICogU2V0IGRlZmF1bHQgdmFsdWVzDQoJICoNCgkgKiBAcGFyYW0gIHN0cmluZyAgJGNycyAgIENoYXJhY3RlcnMgb3V0cHV0DQoJICogQHBhcmFtICBib29sICAgICRudW0gICBXaXRoIG51bWJlcg0KCSAqIEBwYXJhbSAgYm9vbCAgICAkbm90ICAgV2l0aCBub3QgbnVtYmVyDQoJICovDQoNCglmdW5jdGlvbiBSYW5kb20oJGNycyA9IGZhbHNlLCAkbnVtID0gZmFsc2UsICRub3QgPSBmYWxzZSl7DQoJCSR0aGlzLT5fdm51bSA9ICRudW07DQoJCSR0aGlzLT5fdm5vdCA9ICRub3Q7DQoJCWlmKCEkY3JzKXsNCgkJCSR0aGlzLT5fdmNycyA9ICIwMTIzNDU2Nzg5Ii4NCgkJCQkiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLg0KCQkJCSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7DQoJCX1lbHNlew0KCQkJJHRoaXMtPl92Y3JzID0gJGNyczsNCgkJCWlmKCgkbnVtIHx8ICRub3QpICYmICEkdGhpcy0+X3JlYygkY3JzLCAkbnVtLCAkbm90KSl7DQoJCQkJaWYoJG51bSAmJiAkbm90KSAkZXJyID0gIm51bWJlciBvciBub3QgbnVtYmVyIjsNCgkJCQllbHNlaWYoJG51bSkgJGVyciA9ICJudW1iZXIiOw0KCQkJCWVsc2VpZigkbm90KSAkZXJyID0gIm5vdCBudW1iZXIiOw0KCQkJCWVsc2UgJGVyciA9ICJjb21wYXJhdGlvbiI7DQoJCQkJdHJpZ2dlcl9lcnJvcigiQ2xhc3MgUmFuZG9tIC0gU3RyaW5nIGlucHV0IFsgIi4kY3JzLiIgXSBkb2Vzbid0IGhhdmUgIi4kZXJyLCBFX1VTRVJfRVJST1IpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJLyoqDQoJICogQ29tcGFyZSBpbnB1dCBzdHJpbmcNCgkgKg0KCSAqIEBhY2Nlc3MgIHByaXZhdGUNCgkgKiBAcGFyYW0gICBzdHJpbmcgICAkc3RyICAgICAgQ2hhcmFjdGVycyBpbnB1dA0KCSAqIEBwYXJhbSAgIGJvb2wgICAgICRudW1iZXIgICBIYXZlIG51bWJlcg0KCSAqIEBwYXJhbSAgIGJvb2wgICAgICRub3RudW0gICBIYXZlIG5vdCBudW1iZXINCgkgKiBAcmV0dXJuICBib29sICAgICBJZiBoYXZlIG51bWJlciBvci9hbmQgbm90IG51bWJlcg0KCSAqLw0KDQoJZnVuY3Rpb24gX3JlYygkc3RyLCAkbnVtYmVyID0gdHJ1ZSwgJG5vdG51bSA9IHRydWUpew0KCQkkY250ID0gc3RybGVuKCRzdHIpOw0KCQkkc2V0MSA9ICRzZXQyID0gZmFsc2U7DQoJCWlmKCRudW1iZXIgfHwgJG5vdG51bSl7DQoJCQlmb3IoJGk9MDskaTwkY250OyRpKyspew0KCQkJCWlmKCRzdHJ7JGl9ID09PSBzdHJ2YWwoaW50dmFsKCRzdHJ7JGl9KSkpICRzZXQxID0gdHJ1ZTsNCgkJCQllbHNlICRzZXQyID0gdHJ1ZTsNCgkJCQlpZigkc2V0MSAmJiAkc2V0MikgYnJlYWs7DQoJCQl9DQoJCQlpZigkbnVtYmVyICYmICRub3RudW0pIHJldHVybiAoJHNldDEgJiYgJHNldDIpOw0KCQkJZWxzZWlmKCRudW1iZXIpIHJldHVybiAkc2V0MTsNCgkJCWVsc2VpZigkbm90bnVtKSByZXR1cm4gJHNldDI7DQoJCQllbHNlIHJldHVybiB0cnVlOw0KCQl9ZWxzZSByZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvKioNCgkgKiBHZW5lcmF0ZSByYW5kb20gY2hhcmFjdGVycw0KCSAqDQoJICogQGFjY2VzcyAgcHVibGljDQoJICogQHBhcmFtICAgaW50ICAgICAgJGxlbiAgIExlbmd0aCBvZiB0aGUgc3RyaW5nIHlvdSB3YW50IGdlbmVyYXRlZA0KCSAqIEByZXR1cm4gIHN0cmluZyAgIFJhbmRvbSBjaGFyYWN0ZXJzDQoJICovDQoNCglmdW5jdGlvbiBnZXQoJGxlbil7DQoJCWlmKCEoaXNfaW50KCRsZW4pICYmICRsZW4gPiAwKSkgcmV0dXJuICR0aGlzLT5fdmNyczsNCgkJJHJldCA9ICIiOw0KCQkkY250ID0gc3RybGVuKCR0aGlzLT5fdmNycyktMTsNCgkJZm9yKCRpPTA7JGk8JGxlbjskaSsrKSAkcmV0IC49ICR0aGlzLT5fdmNyc3tyYW5kKDAsICRjbnQpfTsNCgkJaWYoJHRoaXMtPl92bnVtIHx8ICR0aGlzLT5fdm5vdCkgcmV0dXJuICR0aGlzLT5fcmVjKCRyZXQsICR0aGlzLT5fdm51bSwgJHRoaXMtPl92bm90KSA/ICRyZXQgOiBSYW5kb206OmdldCgkbGVuKTsNCgkJZWxzZSByZXR1cm4gJHJldDsNCgl9DQoNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addgroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZ3JvdXBuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZ3JvdXBuYW1lfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cGRlc2N9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9ncm91cGRlc2N9PC9wPgogIDwvZGl2Pgp7aWYgJHByb3Bjb3VudCA+IDB9Cjxici8+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRuYW1ldGV4dH08L3RoPgoJICAgICAgICAgICAgICAgIDx0aD57JHByb21wdHRleHR9PC90aD4KCQkJPHRoPnskdHlwZXRleHR9PC90aD4KCSAgICAgICAgICAgICAgICA8dGg+eyRzb3J0b3JkZXJ0ZXh0fTwvdGg+CgkJCTx0aD57JGZpZWxkc3RhdHVzdGV4dH08L3RoPgoJCQk8dGg+eyR1c2VkaW5sb3N0dW50ZXh0fTwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JHByb3BzIGl0ZW09J3Byb3BlJ30KCQk8dHIgY2xhc3M9InskcHJvcC0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskcHJvcGUtPm5hbWV9PC90ZD4KCQkJPHRkPnskcHJvcGUtPnByb21wdH08L3RkPgoJCQk8dGQ+eyRwcm9wZS0+dHlwZX08L3RkPgoJICAgICAgICAgICAgICAgIDx0ZD57JHByb3BlLT5zb3J0b3JkZXJ9PC90ZD4KCQkJPHRkPnskcHJvcGUtPnJlcXVpcmVkfTwvdGQ+CgkJCTx0ZD57JHByb3BlLT5hc2tpbmxvc3R1bn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/addprop.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7JG9yaWdfdHlwZX0KeyRlZGl0cHJvcH08YnIvPgp7JGluZm9tc2cxfTxici8+CnskaW5mb21zZzJ9PGhyLz4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9uYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcHJvbXB0fTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHJvbXB0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90eXBlfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdHlwZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHR9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHQyfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXQyfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/addprop2.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CiAgeyRpbnB1dF9uYW1lfQogIHskaW5wdXRfcHJvbXB0fQogIHskaW5wdXRfdHlwZX0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdDF9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dDF9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0Mn08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Mn08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/adduser1.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZXJuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcm5hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Bhc3N3b3JkfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFzc3dvcmR9Jm5ic3A7eyRpbmZvX3Bhc3N3b3JkfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZXBlYXRwYXNzd29yZH08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlcGVhdHBhc3N3b3JkfSZuYnNwO3skaW5mb19yZXBlYXRwYXNzd29yZH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZXhwaXJlc308L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JGV4cGlyZXNfZGF0ZXByZWZpeCB0aW1lPSRleHBpcmVzZGF0ZSBzdGFydF95ZWFyPTIwMDAgZW5kX3llYXI9MjA0MH0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRleHBpcmVzX2RhdGVwcmVmaXggdGltZT0kZXhwaXJlc2RhdGV9PC9wPgogIDwvZGl2Pgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjxici8+CnskZ3JvdXBzdGl0bGV9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGggd2lkdGg9IjUlIj57JGlkdGV4dH08L3RoPgoJCQk8dGg+eyRuYW1ldGV4dH08L3RoPgoJCQk8dGg+eyRkZXNjdGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskZW50cnktPmlkfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5kZXNjfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5tZW1iZXJ9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskdXNlcl9pZH17JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/adduser2.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9Cntmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNvbnRyb2wtPmhpZGRlbn08Zm9udCBjb2xvcj0ieyRjb250cm9sLT5jb2xvcn0iPnskY29udHJvbC0+cHJvbXB0fXskY29udHJvbC0+bWFya2VyfTwvZm9udD48L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNvbnRyb2wtPmNvbnRyb2x9PC9wPgogIDwvZGl2PgogIHtpZiBpc3NldCgkY29udHJvbC0+aW1hZ2UpfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY29udHJvbC0+aW1hZ2V9PC9wPgogICAgPC9kaXY+CiAgey9pZn0KICB7aWYgJGNvbnRyb2wtPnJlcXVpcmVkICE9IHRydWV9CiAgICAge2lmIGlzc2V0KCRjb250cm9sLT5jb250cm9sMil9CiAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjb250cm9sLT5wcm9tcHQyfSZuYnNwO3skY29udHJvbC0+Y29udHJvbDJ9PC9wPgogICAgICAgPC9kaXY+CiAgICAgey9pZn0KICB7L2lmfQp7L2ZvcmVhY2h9Cjxici8+CnsvaWZ9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRoaWRkZW4yfXskYmFja317JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JHN0YXJ0Zm9ybX0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8cD48c3Ryb25nPnskaW5mb19taW5wd2xlbn08L3N0cm9uZz48L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9wd2ZsZGxlbn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHdmbGRsZW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbWlucHdsZW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21pbnB3bGVufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21heHB3bGVufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXhwd2xlbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91bmZsZGxlbn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdW5mbGRsZW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbWludW5sZW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21pbnVubGVufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21heHVubGVufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXh1bmxlbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NpZ25pbl9idXR0b259OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NpZ25pbl9idXR0b259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zZXNzaW9udGltZW91dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2Vzc2lvbnRpbWVvdXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY29va2lla2VlcGFsaXZlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jb29raWVrZWVwYWxpdmV9e2lmIGlzc2V0KCRpbmZvX2Nvb2tpZV9rZWVwYWxpdmUpfTxici8+eyRpbmZvX2Nvb2tpZV9rZWVwYWxpdmV9ey9pZn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2Vjb29raWVzdG9yZW1lbWJlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jb29raWVuYW1lfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jb29raWVuYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICAgICAgIDxociB3aWR0aD0iNTAlIiBhbGlnbj0ibGVmdCIvPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlsc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfZHVwbGljYXRlX2VtYWlsc30KICAgICAgICAgICAgICAgICAgIDxici8+PHN0cm9uZz57JGluZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlsc308L3N0cm9uZz48L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X3JlcGVhdGVkX2xvZ2luc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfQogICAgICAgICAgICAgICAgICAgPGJyLz48c3Ryb25nPnskaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfTwvc3Ryb25nPjwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3JlcXVpcmVvbmVncm91cH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZW9uZWdyb3VwfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9PC9wPgogICAgICAgICAgICAgICAgICAgPHA+eyRpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZGZsdGdyb3VwfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZmx0Z3JvdXB9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZXF1aXJlZG1hcmtlcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZWRtYXJrZXJ9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVxdWlyZWRjb2xvcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZWRjb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9oaWRkZW5tYXJrZXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hpZGRlbm1hcmtlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9oaWRkZW5jb2xvcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGlkZGVuY29sb3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mb3Jnb3Rwd19wYWdlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mb3Jnb3Rwd19wYWdlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NoYW5nZXNldHRpbmdzX3BhZ2V9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbG9naW5fcGFnZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbG9naW5fcGFnZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9sb2dvdXRfcGFnZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbG9nb3V0X3BhZ2V9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbG9nb3V0X3BhZ2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2xvZ291dF9wYWdlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hZnRlcl92ZXJpZnlfY29kZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGh9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGh9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXNlcm1hbmlwdWxhdG9yfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VybWFuaXB1bGF0b3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJeyRpbmZvX3N0YXJ9Cgk8L2Rpdj4KICAgICAgICB7aWYgJGRhdGFfbnVtcmVzZXRyZWNvcmRzICE9ICIifQogCSAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICAgICAgIDxociB3aWR0aD0iNTAlIiBhbGlnbj0ibGVmdCIvPgogIAkgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgCSAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X251bXJlc2V0cmVjb3Jkc308L3A+CgkgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRhX251bXJlc2V0cmVjb3Jkc308L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmUxd2Vla317JGlucHV0X3JlbW92ZTFtb250aH17JGlucHV0X3JlbW92ZWFsbH08L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICB7L2lmfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+Cgk8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admintasks.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQoKeyogQSBmb3JtIChzaW1wbGUgYnV0dG9uKSBmb3IgZXhwb3J0aW5nIHVzZXJzIHRvIGNzdiAqfQp7JHN0YXJ0Zm9ybX17JGlucHV0X2hpZGRlbn0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbGVnZW5kX2ltcG9ydHVzZXJzfTwvbGVnZW5kPgp7JGluZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0fTxoci8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbXBvcnR1c2Vyc3RvZ3JvdXB9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ltcG9ydHVzZXJzdG9ncm91cH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ltcG9ydHVzZXJzZmlsZX06PC9wPgogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ltcG9ydHVzZXJzZmlsZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaW1wb3J0dXNlcnNidG59PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JGxlZ2VuZF9leHBvcnR1c2Vyc308L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2V4cG9ydHVzZXJzfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHBvcnR1c2Vyc308L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbGVnZW5kX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2V9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9leHBvcnR1c2VyaGlzdG9yeX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZXhwb3J0dXNlcmhpc3Rvcnl9Jm5ic3A7eyRidXR0b25fZXhwb3J0dXNlcmhpc3Rvcnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NsZWFydXNlcmhpc3Rvcnl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NsZWFydXNlcmhpc3Rvcnl9Jm5ic3A7eyRidXR0b25fY2xlYXJ1c2VyaGlzdG9yeX08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edituserprops.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHJvcG5hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3B2YWx1ZX08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb3B2YWx1ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW5wYXJhbXN9eyRzdWJtaXR9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgaXNzZXQoJG1lc3NhZ2UpfTxwPnskbWVzc2FnZX08L3A+ey9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/forgotpw_templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlMX08L3A+CnskaW5wdXRfdGVtcGxhdGUxfQo8YnIvPgo8cD57JHByb21wdF90ZW1wbGF0ZTJ9PC9wPgp7JGlucHV0X3RlbXBsYXRlMn0KPGJyLz4Ke2lmIGlzc2V0KCRwcm9tcHRfdGVtcGxhdGUzKX0KPHA+eyRwcm9tcHRfdGVtcGxhdGUzfTwvcD4KeyRpbnB1dF90ZW1wbGF0ZTN9Cjxici8+CnsvaWZ9Cnskc3VibWl0fXskZGVmYXVsdHN9CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/grouplist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAhaXNzZXQoJGl0ZW1jb3VudCkgfQo8cD4wJm5ic3A7eyRncm91cHNmb3VuZH08L3A+CntlbHNlfQo8cD57JGl0ZW1jb3VudH0mbmJzcDt7JGdyb3Vwc2ZvdW5kfTwvcD4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskaWR0ZXh0fTwvdGg+CgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+CgkJCTx0aD57JGRlc2N0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlc2N9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmV4cG9ydGxpbmspfXskZW50cnktPmV4cG9ydGxpbmt9ey9pZn08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmRlbGV0ZWxpbmspfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua30mbmJzcDt7aWYgaXNzZXQoJGV4cG9ydGxpbmspfXskZXhwb3J0bGlua317L2lmfSZuYnNwO3skaW1wb3J0bGlua308L3A+PC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/group_xml.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgZmV1X2dyb3VwIFsKICA8IUVMRU1FTlQgZmV1X2dyb3VwIChncnBfbmFtZSxncnBfZGVzY3JpcHRpb24scHJvcGVydHkqKT4KICA8IUVMRU1FTlQgZ3JwX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBncnBfZGVzY3JpcHRpb24gKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wZXJ0eSAocHJvcF9uYW1lLHByb3BfcHJvbXB0LHByb3BfdHlwZSxwcm9wX29wdGlvbj8scHJvcF9sZW5ndGg/LHByb3BfbWF4bGVuZ3RoPyxwcm9wX3NvcnRvcmRlcixwcm9wX3N0YXR1cyxwcm9wX2xvc3R1bmZsYWcpPgogIDwhRUxFTUVOVCBwcm9wX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wX3Byb21wdCAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfdHlwZSAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3Bfb3B0aW9uIChvcF9uYW1lLG9wX3RleHQpPgogIDwhRUxFTUVOVCBwcm9wX2xlbmd0aCAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfbWF4bGVuZ3RoICgjUENEQVRBKT4KICA8IUVMRU1FTlQgcHJvcF9zb3J0b3JkZXIgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wX3N0YXR1cyAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfbG9zdHVuZmxhZyAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIG9wX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBvcF90ZXh0ICgjUENEQVRBKT4KXT4KPGZldV9ncm91cD4KICA8Z3JwX25hbWU+eyRncm91cF9uYW1lfTwvZ3JwX25hbWU+CiAgPGdycF9kZXNjcmlwdGlvbj57JGdyb3VwX2Rlc2NyaXB0aW9ufTwvZ3JwX2Rlc2NyaXB0aW9uPgp7Zm9yZWFjaCBmcm9tPSRwcm9wZXJ0aWVzIGl0ZW09J3Byb3AnfQogIDxwcm9wZXJ0eT4KICAgIDxwcm9wX25hbWU+eyRwcm9wLT5uYW1lfTwvcHJvcF9uYW1lPgogICAgPHByb3BfcHJvbXB0PnskcHJvcC0+cHJvbXB0fTwvcHJvcF9wcm9tcHQ+CiAgICA8cHJvcF90eXBlPnskcHJvcC0+dHlwZX08L3Byb3BfdHlwZT4KICAgIHtmb3JlYWNoIGZyb209JHByb3AtPm9wdGlvbnMgaXRlbT0nb3B0aW9uJ30KICAgIDxwcm9wX29wdGlvbj4KICAgICAgPG9wX25hbWU+eyRvcHRpb24tPm5hbWV9PC9vcF9uYW1lPgogICAgICA8b3BfdGV4dD57JG9wdGlvbi0+dGV4dH08L29wX3RleHQ+CiAgICA8L3Byb3Bfb3B0aW9uPgogICAgey9mb3JlYWNofQogICAge2lmIGlzc2V0KCRwcm9wLT5sZW5ndGgpfQogICAgPHByb3BfbGVuZ3RoPnskcHJvcC0+bGVuZ3RofTwvcHJvcF9sZW5ndGg+CiAgICB7L2lmfQogICAge2lmIGlzc2V0KCRwcm9wLT5tYXhsZW5ndGgpfQogICAgPHByb3BfbWF4bGVuZ3RoPnskcHJvcC0+bWF4bGVuZ3RofTwvcHJvcF9tYXhsZW5ndGg+CiAgICB7L2lmfQogICAgPHByb3Bfc29ydG9yZGVyPnskcHJvcC0+c29ydG9yZGVyfTwvcHJvcF9zb3J0b3JkZXI+CiAgICA8cHJvcF9zdGF0dXM+eyRwcm9wLT5zdGF0dXN9PC9wcm9wX3N0YXR1cz4KICAgIDxwcm9wX2xvc3R1bmZsYWc+eyRwcm9wLT5sb3N0dW5mbGFnfTwvcHJvcF9sb3N0dW5mbGFnPgogIDwvcHJvcGVydHk+CnsvZm9yZWFjaH0KPC9mZXVfZ3JvdXA+]]></data>
	</file>
	<file>
	  <filename>/templates/importgroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsZW5hbWV9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWxlbmFtZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbmV3bmFtZX08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25ld25hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skY2FuY2VsfTwvcD4KICA8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/lostun_templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlMX08L3A+CnskaW5wdXRfdGVtcGxhdGUxfQo8YnIvPgo8cD57JHByb21wdF90ZW1wbGF0ZTJ9PC9wPgp7JGlucHV0X3RlbXBsYXRlMn0KPGJyLz4KeyRzdWJtaXR9eyRkZWZhdWx0c30KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_lostunform_confirm_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbG9zdCB1c2VybmFtZSBjb25maXJtIHRlbXBsYXRlIGZvcm0gKn0KPHA+eyRwcmVtc2d9PC9wPgo8cD57JHByb21wdF95b3VydXNlcm5hbWVpc306IDxzdHJvbmc+eyR1c2VybmFtZX08L3N0cm9uZz4uPC9wPgo8cD57JHBvc3Rtc2d9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_lostunform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbG9zdCB1c2VybmFtZSBjb25maXJtIHRlbXBsYXRlIGZvcm0gKn0KPGg0PnskdGl0bGV9PC9oND4Ke2lmIGlzc2V0KCRtZXNzYWdlKX08aDUgY2xhc3M9ImVycm9yIj57JG1lc3NhZ2V9PC9oNT57L2lmfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgeyRzdGFydGZvcm19eyRoaWRkZW59CiAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgICAgPGRpdiBjbGFzcz0icGFnZV9wcm9tcHQiPnskcHJvbXB0X3Bhc3N3b3JkfTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlX2lucHV0Ij57JGlucHV0X3Bhc3N3b3JkfTwvZGl2PgogICAgPC9kaXY+CiAgICB7Zm9yZWFjaCBmcm9tPSRjb250cm9scyBpdGVtPSdlbnRyeSd9CiAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VfcHJvbXB0Ij57JGVudHJ5LT5oaWRkZW59eyRlbnRyeS0+cHJvbXB0fTwvZGl2CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlX2lucHV0Ij57JGVudHJ5LT5jb250cm9sfXskZW50cnktPmFkZHRleHR9PC9kaXY+CiAgICAgICA8L2Rpdj4KICAgIHsvZm9yZWFjaH0KICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPnskc3VibWl0fXskY2FuY2VsfTwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CiAgICAgICB7JGNhcHRjaGFfdGl0bGV9eyRpbnB1dF9jYXB0Y2hhfXskY2FwdGNoYX0KICAgIDwvZGl2PgogIHskZW5kZm9ybX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/propertiesform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KPHA+eyRwcm9wY291bnR9Jm5ic3A7eyRwcm9wc2ZvdW5kfTwvcD4Ke2lmICRwcm9wY291bnQgPiAwfQo8YnIvPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskbmFtZXRleHR9PC90aD4KCQkJPHRoPnskcHJvbXB0dGV4dH08L3RoPgoJCQk8dGg+eyR0eXBldGV4dH08L3RoPgoJCQk8dGg+eyRsZW5ndGh0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JHByb3BzIGl0ZW09cHJvcGV9CgkJPHRyIGNsYXNzPSJ7JHByb3BlLT5yb3djbGFzc30iPgoJCQk8dGQ+eyRwcm9wZS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRwcm9wZS0+cHJvbXB0fTwvdGQ+CgkJCTx0ZD57JHByb3BlLT50eXBlfTwvdGQ+CgkJCTx0ZD57JHByb3BlLT5sZW5ndGh9PC90ZD4KCQkJPHRkPnskcHJvcGUtPmVkaXRsaW5rfTwvdGQ+CgkJCTx0ZD57aWYgaXNzZXQoJHByb3BlLT5kZWxldGVsaW5rKX17JHByb3BlLT5kZWxldGVsaW5rfXsvaWZ9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQo8L2Rpdj4KPGJyLz4KPHA+eyRhZGRsaW5rfTwvcD4K]]></data>
	</file>
	<file>
	  <filename>/templates/templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlfTwvcD4KeyRpbnB1dF90ZW1wbGF0ZX0KPGJyLz4KeyRzdWJtaXR9eyRkZWZhdWx0c30KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/userhistory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKX0KICB7aWYgaXNzZXQoJGVycm9yKX0KICAgIDxmb250IGNvbG9yPSJyZWQiPjxoND57JG1lc3NhZ2V9PC9oND48L2ZvbnQ+CiAge2Vsc2V9CiAgICA8aDQ+eyRtZXNzYWdlfTwvaDQ+CiAgey9pZn0Key9pZn0KCntpZiAhaXNzZXQoJG11bHRpdXNlcil9CjxoND57JHRpdGxlX3VzZXJoaXN0b3J5fSZuYnNwO3skZm9yfSZuYnNwO3skdXNlcl91c2VybmFtZX08L2g0Pgp7L2lmfQp7JGZvcm1zdGFydH0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskdGl0bGVfbGVnZW5kX2ZpbHRlcn08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZX06PC9wPgogICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmlsdGVyX2V2ZW50dHlwZX08L3A+CiAgPC9kaXY+CntpZiBpc3NldCgkbXVsdGl1c2VyKX0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXNlcm5hbWVfcmVnZXh9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VzZXJuYW1lX3JlZ2V4fTwvcD4KICA8L2Rpdj4Key9pZn0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsdGVyX2RhdGV9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbHRlcl9kYXRlfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcGFnZWxpbWl0fTo8L3A+CiAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYWdlbGltaXR9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0Pgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyR0aXRsZV9sZWdlbmRfZ3JvdXBzb3J0fTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cF9pcH06PC9wPgogICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZ3JvdXBfaXB9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zb3J0b3JkZXJ9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRvcmRlcn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH0mbmJzcDt7JHJlc2V0fTwvcD4KICA8L2Rpdj4KeyRmb3JtZW5kfQoKPHA+eyRyZWNvcmRjb3VudH0mbmJzcDt7JHByb21wdF9yZWNvcmRzZm91bmR9PC9wPgp7aWYgJGl0ZW1jb3VudCA+IDB9CntpZiAkcGFnZWNvdW50ID4gMX0KICA8cD4Ke2lmICRwYWdlbnVtYmVyID4gMX0KeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0mbmJzcDsKey9pZn0KeyRwYWdlbnVtYmVyfSZuYnNwO3skb2Z0ZXh0fSZuYnNwO3skcGFnZWNvdW50fQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQombmJzcDt7JG5leHRwYWdlfSZuYnNwO3skbGFzdHBhZ2V9CnsvaWZ9CjwvcD4Key9pZn0KPGJyLz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CntpZiBpc3NldCgkbXVsdGl1c2VyKX0KCTx0aD57JHByb21wdF91c2VybmFtZX08L3RoPgp7L2lmfQoJPHRoPnskcHJvbXB0X2lwYWRkcmVzc308L3RoPgoJPHRoPnskcHJvbXB0X2FjdGlvbn08L3RoPgoJPHRoPnskcHJvbXB0X3JlZmRhdGV9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgp7aWYgaXNzZXQoJG11bHRpdXNlcil9CiAgICAgICAgPHRkPnskZW50cnktPnVzZXJuYW1lfTwvdGQ+CnsvaWZ9Cgk8dGQ+eyRlbnRyeS0+aXBhZGRyZXNzfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+YWN0aW9ufTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+cmVmZGF0ZXxkYXRlX2Zvcm1hdDoiJWIgJWUsICVZIC0gJVgifTwvdGQ+CiAgPC90cj4JIAp7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/userlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPjxzdHJvbmc+eyRwcm9tcHRfZmlsdGVyfTo8L3N0cm9uZz48L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4mbmJzcDs8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cH08L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9ncm91cH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91c2VyZmlsdGVyfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3JlZ2V4fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BlcnR5ZmlsdGVyc2VsfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3Byb3BlcnR5c2VsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BlcnR5ZmlsdGVyfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3Byb3BlcnR5fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2xvZ2dlZGlub25seX08L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9sb2dnZWRpbm9ubHl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbGltaXR9PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRmaWx0ZXJfbGltaXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIDxwIGNsYXNzPSJwYWdldGV4dCI+PHN0cm9uZz57JHByb21wdF9zb3J0fTo8L3N0cm9uZz48L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4mbmJzcDs8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zb3J0Ynl9PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRmaWx0ZXJfc29ydGJ5fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VsZWN0fXskaW5wdXRfaGlkZGVufTwvcD48YnIvPgo8L2Rpdj4KeyRlbmRmb3JtfQo8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogPHA+eyRudW11c2Vyc30mbmJzcDt7JHVzZXJzaW5ncm91cH08L3A+CiA8cD57JGl0ZW1jb3VudH0mbmJzcDt7JHVzZXJzZm91bmR9PC9wPgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyR1c2VybmFtZXRleHR9PC90aD4KCQkJPHRoPnskY3JlYXRlZHRleHR9PC90aD4KCQkJPHRoPnskZXhwaXJlc3RleHR9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CgkJCTx0ZD57JGVudHJ5LT51c2VybmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+Y3JlYXRlZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZXhwaXJlc308L3RkPgoJCQk8dGQ+e2lmIGlzc2V0KCRlbnRyeS0+bG9nb3V0bGluayl9eyRlbnRyeS0+bG9nb3V0bGlua317L2lmfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5oaXN0b3J5bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmRlbGV0ZWxpbmspfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPgoJCTwvdHI+CSAKey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KIDxwPnskYWRkbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/UserManipulator.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFVzZXJNYW5pcHVsYXRvcgp7CiAgdmFyICRtb2Q7CgogIC8vCiAgLy8gSW50ZXJuYWxzCiAgLy8KCiAgZnVuY3Rpb24gVXNlck1hbmlwdWxhdG9yKCAmJHRoZV9tb2R1bGUgKQogIHsKICAgICR0aGlzLT5tb2QgPSYgJHRoZV9tb2R1bGU7CiAgfQoKCiAgZnVuY3Rpb24gJkdldERiKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPm1vZC0+R2V0RGIoKTsKICB9CgoKICBmdW5jdGlvbiBHZXRNb2R1bGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+bW9kOwogIH0KCgogIC8vCiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIC8vCgogIGZ1bmN0aW9uIEFkZEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUsICRzb3J0a2V5LCAkbG9zdHVuLCAkdmFsICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCiAgLy8hIEFkZCBhIHNpbmdsZSBwcm9wZXJ0eSBkZWZpbml0aW9uCiAgLy8hIFxwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eQogIC8vISBccGFyYW0gcHJvbXB0IFRoZSBwcm9tcHQgdG8gZGlzcGxheSB0byB0aGUgdXNlcgogIC8vISAgICAgICBub3RlLCB0aGlzIHdpbGwgYmUgTGFuZ2lmaWVkCiAgLy8hIFxwYXJhbSB0eXBlICBUaGUgdHlwZSBvZiB0aGUgcHJvcGVydHkKICAvLyEgICAgICAgMCA9IHRleHQsIDEgPSBjaGVja2JveCwgMiA9IGVtYWlsCiAgLy8hIFxwYXJhbSByZXF1aXJlZCB3ZXRoZXIgb3Igbm90IHRoZSBwcm9wZXJ0eSBpcyByZXF1aXJlZAogIC8vISBccmV0dXJuIEFuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBpcyBhIGJvb2xlYW4gd2hpY2ggaW5kaWNhdGVzIHN1Y2Nlc3Mgb3IgZmFpbHVyZSwgdGhlCiAgLy8hICAgIHNlY29uZCBlbGVtZW50IChvcHRpb25hbCkgY29udGFpbnMgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgZXZlbnQgb2YgYW4gZXJyb3IuCiAgLy8hCiAgZnVuY3Rpb24gQWRkUHJvcGVydHlEZWZuKCAkbmFtZSwgJHByb21wdCwgJHR5cGUsICRsZW5ndGggKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiTm90IEltcGxlbWVudGVkIik7CiAgfQoKICAvLyEgQWRkIGEgbmV3IGdyb3VwCiAgLy8hCiAgLy8hIEFkZHMgYSBuZXcgZ3JvdXAgd2l0aCB0aGUgc3VwcGxpZWQgbmFtZSBhbmQgZGVzY3JpcHRpb24KICAvLyEKICAvLyEgXHBhcmFtIG5hbWUgVGhlIG5ldyBncm91cCBuYW1lCiAgLy8hIFxwYXJhbSBkZXNjcmlwdGlvbiB0aGUgZ3JvdXAgZGVzY3JpcHRpb24KICAvLyEgXHJldHVybiBhbiBhcnJheSwgdGhlIGZpcnN0IGVsZW1lbnQgaXMgYSBkZXNjcmlwdGlvbiBkZXNjcmliaW5nIHRoZSByZXR1cm4gc3RhdHVzIAogIC8vISAgICAodHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBlcnJvcikuICBUaGUgc2Vjb25kIGVsZW1lbnQgKG9wdGlvbmFsKSBpcyBhbiBlcnJvciBzdHJpbmcgaW4gdGhlIAogIC8vISAgICBldmVudCBvZiBhbiBlcnJvci4KICAvLyEKICBmdW5jdGlvbiBBZGRHcm91cCggJG5hbWUsICRkZXNjcmlwdGlvbiApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgLy8hIEFkZCBhIG5ldyB1c2VyCiAgLy8hCiAgLy8hIEFkZCB0aGUgc3BlY2lmaWVkIHVzZXIgdG8gdGhlIGRhdGFiYXNlCiAgLy8hCiAgLy8hIFxwYXJhbSBuYW1lIFRoZSBkZXNpcmVkIHVzZXJuYW1lCiAgLy8hIFxwYXJhbSBwYXNzd29yZCBUaGUgZGVzaXJlZCBwYXNzd29yZCAodW5lbmNyeXB0ZWQpCiAgLy8hIFxwYXJhbSBleHBpcmVzIFRoZSBleHBpcnkgZGF0ZQogIC8vISBccmV0dXJuIGFuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBpcyBhIGRlc2NyaXB0aW9uIGRlc2NyaWJpbmcgdGhlIHJldHVybiBzdGF0dXMgCiAgLy8hICAgICh0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yKS4gIFRoZSBzZWNvbmQgZWxlbWVudCAob3B0aW9uYWwpIGlzIGFuIGVycm9yIHN0cmluZyBpbiB0aGUgCiAgLy8hICAgIGV2ZW50IG9mIGFuIGVycm9yLCBvciB0aGUgdXNlcmlkIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIEFkZFVzZXIoICRuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICAvLyEgQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24KICAvLyEgQXNzaWduIHRoZSB1c2VyIHNwZWNpZmllZCAoYnkgaWQpIHRvIHRoZSBncm91cCBzcGVjaWZpZWQgKGJ5IGlkKQogIC8vIQogIC8vIVxwYXJhbSAgdWlkICBUaGUgdXNlcmlkIGZvciB0aGUgbmV3IGFzc29jaWF0aW9uCiAgLy8hXHBhcmFtICBnaWQgIFRoZSBncm91cCBpZCBmb3IgdGhlIG5ldyBhc3NvY2lhdGlvbgogIC8vIVxyZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UKICAvLyEKICBmdW5jdGlvbiBBc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdpZCApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIENoZWNrIGlmIHRoZSBncm91cCBzcGVjaWZpZWQgaGFzIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uCiAgZnVuY3Rpb24gQ2hlY2tHcm91cFBlcm1pc3Npb24oICRnaWQsICRwZXJtICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgQ2hlY2sgdGhlIHN1cHBsaWVkIHBhc3N3b3JkIGFuZCBlbnN1cmUgaXQgbWFjaGVzIHRoZSBvbmUgaW4gdGhlIGRhdGFiYXNlCiAgLy8hCiAgLy8hXHBhcmFtcyB1c2VybmFtZSBUaGUgdXNlcm5hbWUgdG8gdGVzdCBmb3IKICAvLyFccGFyYW1zIHBhc3N3b3JkIFRoZSBwYXNzd29yZCB0byB0ZXN0CiAgLy8hXHJldHVybiB0cnVlIGlmIHBhc3N3b3JkcyBtYXRjaCwgZmFsc2Ugb3RoZXJ3aXNlLgogIC8vIQogIGZ1bmN0aW9uIENoZWNrUGFzc3dvcmQoJHVzZXJuYW1lLCRwYXNzd29yZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIENoZWNrIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24KICBmdW5jdGlvbiBDaGVja1VzZXJQZXJtaXNzaW9uKCAkcGVybSApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gQ2hlY2tVc2VyUGVybWlzc2lvbkJ5VWlkKCAkdWlkLCAkcGVybSApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gQ291bnRUZW1wQ29kZVJlY29yZHMoKQogIHsKICAgIHJldHVybiAwOwogIH0KCiAgCiAgZnVuY3Rpb24gRGVsZXRlQWxsR3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCiAgLy8hIERlbGV0ZSBhbGwgb2YgdGhlIGN1cnJlbnQgdXNlcnMgcHJvcGVydGllcwogIC8vIQogIC8vISBccmV0dXJuIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gRGVsZXRlQWxsVXNlclByb3BlcnRpZXMoKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgRGVsZXRlIEFsbCBwcm9wZXJ0aWVzIGZvciBhIHNwZWNpZmllZCB1c2VyIGlkCiAgLy8hCiAgLy8hIFxwYXJhbSB1c2VyaWQKICAvLyEgXHJldHVybiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzRnVsbCgkdXNlcmlkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgRGVsZXRlIHRoZSBzcGVjaWZpZWQgZ3JvdXAKICAvLyEKICAvLyEgRGVsZXRlIHRoZSBncm91cCByZWNvcmQgZm9yIHRoZSBtYXRjaGluZCBpZAogIC8vIQogIC8vISBccmV0dXJuIGFuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBpcyBhIGRlc2NyaXB0aW9uIGRlc2NyaWJpbmcgdGhlIHJldHVybiBzdGF0dXMgCiAgLy8hICAgICh0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yKS4gIFRoZSBzZWNvbmQgZWxlbWVudCAob3B0aW9uYWwpIGlzIGFuIGVycm9yIHN0cmluZyBpbiB0aGUgCiAgLy8hICAgIGV2ZW50IG9mIGFuIGVycm9yLgogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZUdyb3VwRnVsbCggJGlkICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICBmdW5jdGlvbiBEZWxldGVHcm91cFByb3BlcnR5UmVsYXRpb24oICRncnBpZCwgJHByb3BuYW1lICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZuKCAkbmFtZSApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIERlbGV0ZSBhbGwgcHJvcGVydHkgZGVmaW5pdGlvbnMgKHVzZSB3aXRoIGNhdXRpb24pCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZucygpCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJOb3QgSW1wbGVtZW50ZWQiKTsKICB9CgogIC8vISBEZWxldGUgdGhlIHVzZXIgd2l0aCB0aGUgc3BlY2lmaWVkIGlkCiAgLy8hIFxub3RlIFRoaXMgaXMgYSBkZXByZWNhdGVkIGZ1bmN0aW9uIGFzIGl0IHJlbGllcyBvbiB0aGUgdXNlcmlkIGJlaW5nIHNldCBpbiB0aGUgX0dFVAogIC8vISB2YXJpYWJsZS4KICAvLyEKICBmdW5jdGlvbiBEZWxldGVVc2VyKCRpZCkgIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBDb21wbGV0ZWx5IGRlbGV0ZSBhbGwgcmVmZXJlbmNlcyB0byB0aGUgc3VwcGxpZWQgdXNlciBpZAogIC8vIQogIC8vIVRoaXMgbWV0aG9kIGNvbXBsZXRlbHkgZGVsZXRlcyBhbnl0aGluZyBmcm9tIHRoZSBkYXRhYmFzZSByZWxhdGVkIHRvIHRoZSBzcGVjaWZpZWQgdXNlciBpZC4KICAvLyFzcGVjaWZpY2FsbHksIGdyb3VwIGFzc29jaWF0aW9ucywgcHJvcGVydGllcywgYW5kIHRoZSB1c2VyIHJlY29yZCBpdHNlbGYuCiAgLy8hCiAgLy8hXHBhcmFtIHVpZCB0aGUgdXNlcmlkIHRvIGRlbGV0ZSBhbGwgcmVmZXJlbmNlcyB0bwogIC8vIVxyZXR1cm4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBpcyBhIGJvb2xlYW4gaW5kaWNhdGluZyBzdWNjZXNzIG9yIGZhaWx1cmUuCiAgLy8hICAgaWYgdGhlIGZpcnN0IGVsZW1lbnQgaXMgZmFsc2UsIHRoZW4gdGhlIHNlY29uZCBlbGVtZW50IHdpbGwgY29udGFpbiBhbiBlcnJvciBtZXNzYWdlLgogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZVVzZXJGdWxsKCAkdWlkICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIk5vIGZ1bmN0aW9uIGRlZmluZWQiKTsKICB9CgoKICAvLyEgRGVsZXRlIGEgcHJvcGVydHkgZm9yIHRoZSBjdXJyZW50IHVzZXIKICAvLyEKICAvLyEgUmVtb3ZlIGEgcHJvcGVydHkgZnJvbSB0aGUgZGF0YWJhc2UgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIKICAvLyEKICAvLyEgXHBhcmFtIHRpdGxlIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBkZWxldGUKICAvLyEgXHBhcmFtIGFsbCAgIE9wdGlvbmFsbHkgZGVsZXRlIGFsbCBwcm9wZXJ0aWVzIGZvciB0aGlzIHVzZXIgIAogIC8vISBccmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aHdlcmlzZW4KICAvLyEKICBmdW5jdGlvbiBEZWxldGVVc2VyUHJvcGVydHkoJHRpdGxlLCRhbGw9ZmFsc2UpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBEZWxldGUgYSBwcm9wZXJ0eSBmb3IgYSBzcGVjaWZpZWQgdXNlcgogIC8vIQogIC8vIVxwYXJhbSB0aXRsZSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gZGVsZXRlCiAgLy8hXHBhcmFtIHVzZXJpZCBUaGUgaWQgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eSBmb3IKICAvLyFccGFyYW0gYWxsIChvcHRpb25hbCkgRGVsZXRlIGFsbCBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIHVzZXJpZC4KICAvLyFccmV0dXJuIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlLgogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGFsbD1mYWxzZSkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLyogZXhwaXJ5Y29kZSBpcyBhIHN0cnRvdGltZSBzdHJpbmcgKi8KICBmdW5jdGlvbiBFeHBpcmVUZW1wQ29kZXMoJGV4cGlyeWNvZGUpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEV4cGlyZSBhbnkgYW5kIGFsbCB1c2VycyB0aGF0IGhhdmUgYmVlbiBhd2F5IGZvciB0b28gbG9uZwogIGZ1bmN0aW9uIEV4cGlyZVVzZXJzKCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCB0aGUgZW1haWwgYWRkcmVzcyBvZiB0aGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWQKICAvLyEKICAvLyFccmV0dXJuIEVtYWlsIGFkZHJlc3MsIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0RW1haWwoJHVzZXJpZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdlbmVyYXRlIGEgcmFuZG9tIChidXQgbm90IHVzZWQpIHVzZXJuYW1lCiAgLy8hCiAgLy8hXCByZXR1cm4gdXNlcm5hbWUsIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2VuZXJhdGVSYW5kb21Vc2VybmFtZSggJHByZWZpeCA9ICd1c2VyJyApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCB0aGUgZ3JvdXBpZCBnaXZlbiBhIGdyb3VwIG5hbWUKICAvLyEKICAvLyEgXHJldHVybiBncm91cGlkIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0R3JvdXBJRCgkZ3JvdXBuYW1lKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBHZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwCiAgLy8hCiAgLy8hIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gYXNzb2NpYXRpb24gd2l0aCB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgCiAgLy8hIGdyb3VwIGlkCiAgLy8hICAgIGlkID0+IFRoZSByZXF1ZXN0ZWQgZ3JvdXAgaWQKICAvLyEgICAgZ3JvdXBuYW1lID0+IFRoZSBuYW1lIG9mIHRoZSBncm91cAogIC8vISAgICBncm91cGRlc2MgPT4gVGhlIGdyb3VwIGRlc2NyaXB0aW9uCiAgLy8hCiAgLy8hIFxwYXJhbSBnaWQgVGhlIGdyb3VwIGlkCiAgLy8hIFxwYXJhbSBhc3NvY2lhdGl2ZSBhcnJheSwgb3IgYXJyYXkgd2l0aCBmaXJzdCBlbGVtZW50IG9mIGZhbHNlLCBzZWNvbmQgZWxlbWVudCBjb250YWlucyBlcnJvciBtZXNzYWdlCiAgLy8hIFxyZXR1cm4gYW4gYXNzb2NpYXRpdmUgYXJyYXkgd2l0aCBncm91cCBpbmZvLCBvciBmYWxzZQogIC8vIQogIGZ1bmN0aW9uIEdldEdyb3VwSW5mbyggJGdpZCApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBhIGxpc3Qgb2YgYWxsIG9mIHRoZSBncm91cHMsIGFuZCB0aGVpciBpZCdzCiAgLy8hCiAgLy8hIFxyZXR1cm4gYW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZyBncm91cCBuYW1lcyBhcyBrZXlzLCBhbmQgaWQncyBhcyB2YWx1ZXMKICAvLyEKICBmdW5jdGlvbiBHZXRHcm91cExpc3QoKQogIHsKICAgIHJldHVybiBhcnJheSgpOwogIH0KCiAgLy8hIEdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBncm91cHMKICAvLyEKICAvLyEgVGhpcyBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBncm91cGluZm8gYXNzb2NpYXRpb25zLCByZXByZXNlbnRpbmcgYWxsIG9mIHRoZQogIC8vISBncm91cHMgaW4gdGhlIHRhYmxlLgogIC8vIQogIC8vISBccmV0dXJucyBhbiBhcnJheSBvZiBncm91cGluZm8gYXNzb2NpYXRpb25zCiAgLy8hCiAgZnVuY3Rpb24gR2V0R3JvdXBMaXN0RnVsbCgpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICAvLyEgR2V0IHRoZSBncm91cCBuYW1lIGdpdmVuIGEgZ3JvdXAgaWQKICAvLyEKICAvLyEgXHJldHVybiBncm91cCBuYW1lLCBvciBmYWxzZQogIC8vIQogIGZ1bmN0aW9uIEdldEdyb3VwTmFtZSgkZ3JvdXBpZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCB0aGUgZ3JvdXAgZGVzY3JpcHRpb24gZ2l2ZW4gYSBncm91cCBpZAogIC8vIQogIC8vISBccmV0dXJuIGdyb3VwIGRlc2NyaXB0aW9uLCBvciBmYWxzZQogIC8vIQogIGZ1bmN0aW9uIEdldEdyb3VwRGVzYygkZ3JvdXBpZCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBHZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIik7CiAgfQoKICAvLyEgR2V0IGEgbGlzdCBvZiB0aGUgZ3JvdXBzIHRoYXQgdGhlIHNwZWNpZmllZCB1c2VyIGJlbG9uZ3MgdG8KICAvLyEKICAvLyEgUmV0dXJuIGEgc3RyaW5nIG9mIGNvbW1hIGRlbGltaXRlZCBncm91cCBuYW1lcywgY29ycmVzcG9uZGluZyB0byB0aGUKICAvLyEgZ3JvdXBzIHRoYXQgdGhlIHVzZXIgaXMgYSBtZW1iZXIgb2YKICAvLyEKICAvLyEgXHJldHVybiBhIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIGdyb3VwIG5hbWVzLCBvciAibm9uZSIKICAvLyEKICBmdW5jdGlvbiBHZXRNZW1iZXJHcm91cHMoJHVzZXJpZCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgUmV0dXJuIGEgY29tcGxldGUgbGlzdCBvZiB0aGUgZ3JvdXBzIHRoYXQgdGhpcyB1c2VyIGJlbG9uZ3MgdG8KICAvLyEKICAvLyEgUmV0dXJucyBhbiBhcnJheSBvZiBncm91cGluZm8gcmVjb3JkcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBncm91cHMgdGhhdAogIC8vISB0aGlzIHVzZXIgaXMgYXNzb2NpYXRlZCB3aXRoLgogIC8vIQogIC8vISBccGFyYW0gdXNlcmlkIFRoZSB1c2VyaWQgdG8gdGVzdAogIC8vISBccmV0dXJuIGZhbHNlIG9uIGVycm9yLCBvdGhlcndpc2UsIGFuIGFycmF5IG9mIGdyb3VwaW5mbyByZWNvcmRzLgogIC8vIQogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBhIHNpbmdsZSBwcm9wZXJ0eSBkZWZpbml0aW9uIGJ5IG5hbWUKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eURlZm4oICRuYW1lICkKICB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAvLyEgR2V0IGFuIGFycmF5IG9mIHByb3BlcnR5IGRlZmluaXRpb25zCiAgZnVuY3Rpb24gR2V0UHJvcGVydHlEZWZucygpCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJOb3QgSW1wbGVtZW50ZWQiKTsKICB9CgogIGZ1bmN0aW9uIEdldFByb3BlcnR5R3JvdXBSZWxhdGlvbnMoICR0aXRsZSApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiKTsKICB9CgogIC8vISBHZXQgdGhlIHVzZXJpZCBvZiB0aGUgdXNlciB3aXRoIHRoZSBtYXRjaGluZyBuYW1lCiAgLy8hCiAgLy8hIFxyZXR1cm4gVXNlcklELCBvciBmYWxzZQogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJJRCgkdXNlcm5hbWUpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBHZXQgaW5mb3JtYXRpb24gYWJvdXQgYSB1c2VyCiAgLy8hCiAgLy8hIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gYXNzb2NpYXRpb24gd2l0aCB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgCiAgLy8hIHVzZXIgaWQKICAvLyEgICBpZCA9IHRoZSByZXF1ZXN0ZWQgdXNlciBpZAogIC8vISAgIHVzZXJuYW1lID0gdGhlIHVzZXJzIG5hbWUKICAvLyEgICBwYXNzd29yZCA9IHRoZSAoZW5jcnlwdGVkKSB1c2VyIHBhc3N3b3JkCiAgLy8hICAgZW1haWwgICAgPSB0aGUgdXNlcnMgZW1haWwgYWRkcmVzcwogIC8vISAgIGV4cGlyZXMgID0gdGhlIHVzZXJzIGV4cGlyeSBkYXRlCiAgLy8hICAgc3RhdHVzICAgPSB0aGUgdXNlcnMgc3RhdHVzCiAgLy8hCiAgLy8hIFxwYXJhbSB1aWQgVGhlIHVzZXJpZCB0byBpbnF1aXJlIGFib3V0CiAgLy8hIFxyZXR1cm4gYW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGNvbnRhaW5zIHJldHVybiBzdGF0dXMgKHRydWUvZmFsc2UpLCB0aGUgc2Vjb25kIGVsZW1lbnQKICAvLyEgICAgaXMgZWl0aGVyIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGRldGFpbHMgYWJvdmUsIG9yIGFuIGVycm9yIG1lc3NhZ2UuCiAgLy8hCiAgZnVuY3Rpb24gR2V0VXNlckluZm8oICR1aWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIC8vISBSZXR1cm4gdGhlIHVzZXJuYW1lIHRoYXQgbWFjaGVzIHRoZSBzcGVjaWZpZWQgdXNlciBpZAogIC8vIQogIC8vIVxyZXR1cm4gVGhlIG1hdGNoaW5nIHVzZXJuYW1lLCBvciBmYWxzZQogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJOYW1lKCR1c2VyaWQpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBHZXQgYSBzaW5nbGUgcHJvcGVydHkgZm9yIHRoZSBjdXJyZW50IHVzZXIKICAvLyEKICAvLyEgR2V0IGEgc2luZ2xlIHByb3BlcnR5IGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLgogIC8vISAKICAvLyEgXHBhcmFtIHRpdGxlIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0dXJuCiAgLy8hIFxwYXJhbSBkZWZhdWx0dmFsdWUgQSB2YWx1ZSB0byByZXR1cm4gaWYgdGhlIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0IGZvciB0aGF0IHVzZXIKICAvLyEgXHJldHVybiBUaGUgcHJvcGVydHkgdmFsdWUsIG9yIGZhbHNlLgogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJQcm9wZXJ0eSgkdGl0bGUsJGRlZmF1bHR2YWx1ZT1mYWxzZSkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBwcm9wZXJ0eSBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGlkCiAgLy8hCiAgLy8hIFxwYXJhbSB0aXRsZSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgd2UgYXJlIHNlYXJjaGluZyBmb3IKICAvLyEgXHBhcmFtIHVzZXJpZCBUaGUgdXNlcmlkIGZvciB3aG8ncyBwcm9wZXJ0eSB3ZSBhcmUgc2VhcmNoaW5nCiAgLy8hIFxwYXJhbSBkZWZhdWx0dmFsdWUgVGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGlzIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0IGZvciB0aGlzIHVzZXIKICAvLyEgXHJldHVybiBUaGUgcHJvcGVydHkgdmFsdWUsIG9yIGZhbHNlLgogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsICRkZWZhdWx0dmFsdWU9ZmFsc2UpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBHZXQgYSBsaXN0IG9mIHRoZSB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwCiAgLy8hCiAgLy8hIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZyBhIGNvbXBsZXRlIHNldCBvZiB0aGUKICAvLyEgaW5mb3JtYXRpb24gYWJvdXQgYWxsIG9mIHRoZSB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwCiAgLy8hIAogIC8vISBccGFyYW0gZ3JvdXBpZCB0aGUgZGVzaXJlZCBncm91cCBpZAogIC8vISBccmV0dXJuIGFuIGFycmF5IG9mIHVzZXIgaW5mb3JtYXRpb24gKHNlZSBHZXRVc2VySW5mbyksIG9yIGZhbHNlCiAgLy8hIFxzYSBHZXRVc2VySW5mbwogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJzSW5Hcm91cCggJGdyb3VwaWQgPSAnJyApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIFJldHVybiBhbiBhcnJheSBvZiB0aGUgdXNlcidzIHByb3BlcnRpZXMKICAvLyEKICAvLyEgUmV0dXJucyBhIGNvbXBsZXRlIGxpc3Qgb2YgdGhlIHVzZXJzIHByb3BlcnRpZXMKICAvLyEKICAvLyEgXHBhcmFtIHVpZCBUaGUgdWlkIHRvIHRlc3QKICAvLyEgXHJldHVybiBmYWxzZSBvbiBlcnJvciwgb3RoZXJ3aXNlIGFuIGFycmF5IG9mIGFzc29jaWF0aW9ucywgZWFjaCBhc3NvY2lhdGlvbgogIC8vISAgIGhhcyB0aGUgZm9sbG93aW5nIGtleXM6CiAgLy8hICAgICAgaWQgICAgID0gVGhlIHByb3BlcnR5IGlkCiAgLy8hICAgICAgdXNlcmlkID0gVGhlIG1hdGNoaW5nIHVzZXIgaWQKICAvLyEgICAgICB0aXRsZSAgPSBUaGUgcHJvcGVydHkgdGl0bGUKICAvLyEgICAgICBkYXRhICAgPSBUaGUgcHJvcGVydHkgZGF0YQogIC8vIQogIGZ1bmN0aW9uIEdldFVzZXJQcm9wZXJ0aWVzKCR1aWQpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gR2V0VXNlclRlbXBDb2RlKCAkdWlkICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCiAgLy8hIEEgZnVuY3Rpb24gdGhhdCB0ZXN0cyB3ZXRoZXIgYSBncm91cCB3aXRoIHRoZSBzcGVmaWZpZWQgaWQgZXhpc3RzCiAgLy8hCiAgLy8hIFxwYXJhbSBnaWQgVGhlIGRlc2lyZWQgZ3JvdXAgaWQKICAvLyEgXHJldHVybiBib29sZWFuCiAgIC8vIQogIGZ1bmN0aW9uIEdyb3VwRXhpc3RzQnlJRCggJGdpZCApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEEgZnVuY3Rpb24gdGhhdCB0ZXN0cyB3ZXRoZXIgYSBncm91cCB3aXRoIHRoZSBuYW1lIGV4aXN0cwogIC8vIQogIC8vISBccGFyYW0gZ2lkIFRoZSBkZXNpcmVkIGdyb3VwIG5hbWUKICAvLyEgXHJldHVybiBib29sZWFuCiAgIC8vIQogIGZ1bmN0aW9uIEdyb3VwRXhpc3RzQnlOYW1lKCAkbmFtZSApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gSXNBY2NvdW50RXhwaXJlZCggJHVpZCApCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICAvLyEgVGVzdCB3ZXRoZXIgdGhlIHNwZWNpZmllZCBlbWFpbCBhZGRyZXNzIHBhc3NlcyB0aGUgcnVsZXMuCiAgLy8hCiAgLy8hIFRoaXMgbWV0aG9kIHdpbGwgdGVzdCBpZiB0aGUgZW1haWwgYWRkcmVzcyBzdXBwbGllZCBtYXRjaGVzIHRoZSAKICAvLyEgc2V0IHJ1bGVzLiAgT3B0aW9uYWxseSwgdGhlIGVtYWlsIGFkZHJlc3MgY2FuIGJlIHZhbGlkYXRlZCB2aWEKICAvLyEgc210cC4KICAvLyEKICAvLyEgXHBhcmFtICBlbWFpbCBUaGUgYWRkcmVzcyB0byB0ZXN0CiAgLy8hIFxyZXR1cm4gYW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBpbmRpY3VhdGVzIHN1Y2Nlc3Mgb3IgZmFpbHVyZQogIC8vISAgICB0aGUgc2Vjb25kIGVsZW1lbnQgaXMgdGhlIGVycm9yIG1lc3NhZ2UsIGlmIGFuIGVycm9yIG9jY3VycmVkCiAgLy8hCiAgZnVuY3Rpb24gSXNWYWxpZEVtYWlsQWRkcmVzcyggJGVtYWlsICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICAvLyEgQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSBzdXBwbGllZCBwYXNzd29yZAogIC8vIQogIC8vIVxwYXJhbSAgcGFzc3dvcmQgVGhlIHBhc3N3b3JkIHRvIHRlc3QuCiAgLy8hXHJldHVybiB0cnVlIGlmIHRoZSBwYXNzd29yZCBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gSXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBDaGVjayB3ZXRoZXIgdGhlIHVzZXJuYW1lIHN1cHBsaWVkIHBhc3NlcyB0aGUgcnVsZXMKICAvLyEKICAvLyFccGFyYW0gdXNlcm5hbWUgVGhlIHVzZXJuYW1lIHRvIGJlIHRlc3RlZAogIC8vIVxyZXR1cm4gYm9vbGVhbiB0cnVlL2ZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gSXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBUZXN0cyB3ZXRoZXIgdGhlIGN1cnJlbnQgdXNlciBpcyBsb2dnZWQgaW4gb3Igbm90LgogIGZ1bmN0aW9uIExvZ2dlZEluKCkgCiAgewogICAgaWYgKCR0aGlzLT5Mb2dnZWRJbklkKCk9PWZhbHNlKSByZXR1cm4gZmFsc2U7IGVsc2UgcmV0dXJuIHRydWU7CiAgfQoKICAvLyEgUmV0dXJuIHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IHVzZXIKICAvLyEKICAvLyEgXHJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIKICAvLyEgICBpZiBub29uZSBpcyBsb2dnZWQgaW4sIHRoZW4gYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkCiAgLy8hCiAgZnVuY3Rpb24gTG9nZ2VkSW5FbWFpbCgpIAogIHsKICAgIHJldHVybiAiIjsKICB9CgogIC8vISBSZXR1cm4gdGhlIHVzZXJpZCBvZiB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyCiAgZnVuY3Rpb24gTG9nZ2VkSW5JZCgpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBSZXR1cm4gdGhlIHVzZXJuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIKICAvLyEKICAvLyEgXHJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB1c2VybmFtZSBvZiB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyCiAgLy8hICAgaWYgbm9vbmUgaXMgbG9nZ2VkIGluLCB0aGVuIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZAogIC8vIQogIGZ1bmN0aW9uIExvZ2dlZEluTmFtZSgpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIExvZ2luKCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGdyb3VwcyA9ICcnLCAkbWQ1cHcgPSBmYWxzZSwKCQkgICRmb3JjZV9sb2dvdXQgPSBmYWxzZSkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCgogIC8vISBMb2dvdXQgdGhlIGN1cnJlbnQgdXNlcgogIGZ1bmN0aW9uIExvZ291dCgpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBUZXN0IHdldGhlciBhbiBhc3NvY2lhdGlvbiBleGlzdHMgYmV0d2VlbiB0aGUgc3BlY2lmaWVkIHVzZXIgYW5kIGdyb3VwCiAgLy8hCiAgLy8hIFxwYXJhbSB1c2VyaWQgVGhlIHVzZXJpZCB0byB0ZXN0CiAgLy8hIFxwYXJhbSBncm91cGlkIFRoZSBncm91cGlkIHRvIHRlc3QKICAvLyEgXHJldHVybiB0cnVlIGlmIGFuIGFzc29jaWF0aW9uIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gTWVtYmVyT2ZHcm91cCgkdXNlcmlkLCRncm91cGlkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgUmVtb3ZlIHRoZSBzcGVjaWZpZWQgdXNlciBmcm9tIHRoZSBzcGVjaWZpZWQgZ3JvdXAKICAvLyEKICAvLyFUaGlzIG1ldGhvZCByZXZva2VzIHRoZSBtZW1iZXJzaGlwIG9mIHVzZXIgJHVpZCBmcm9tIGdyb3VwICRnaWQKICAvLyEKICAvLyFccGFyYW0gdWlkCiAgLy8hXHBhcmFtIGdpZAogIC8vIVxyZXR1cm4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGNvbnRhaW5zIGV4aXQgc3RhdHVzIChib29sZWFuKSwgdGhlIHNlY29uZCBlbGVtZW50CiAgLy8hICAgKG9wdGlvbmFsKSByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UsIGlmIGFuIGVycm9yIG9jY3VycmVkLgogIC8vIQogIGZ1bmN0aW9uIFJlbW92ZVVzZXJGcm9tR3JvdXAoICR1aWQsICRnaWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIGZ1bmN0aW9uIFJlbW92ZVVzZXJUZW1wQ29kZSggJHVpZCApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEEgbWV0aG9kIHRvIG1vZGlmeSBhbiBleGlzdGluZyBncm91cAogIC8vIQogIC8vIVxwYXJhbSBnaWQgQW4gZXhpc3RpbmcgZ3JvdXAgaWQKICAvLyFccGFyYW0gbmFtZSBUaGUgbmV3IGdyb3VwIG5hbWUKICAvLyFccGFyYW0gZGVzYyBUaGUgbmV3IGdyb3VwIGRlc2NyaXB0aW9uCiAgLy8hXHJldHVybiBBbiBhcnJheSwgdGhlIGZpcnN0IGVsZW1lbnQgaXMgYSBib29sZWFuIHdoaWNoIGluZGljYXRlcyBzdWNjZXNzIG9yIGZhaWx1cmUsIHRoZQogIC8vISAgc2Vjb25kIGVsZW1lbnQgKG9wdGlvbmFsKSBjb250YWlucyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBldmVudCBvZiBhbiBlcnJvci4KICAvLyEKICBmdW5jdGlvbiBTZXRHcm91cCggJGdpZCwgJG5hbWUsICRkZXNjICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICBmdW5jdGlvbiBTZXRQcm9wZXJ0eURlZm4oICRuYW1lLCAkbmV3bmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBNb2RpZnkgYW4gZXhpc3RpbmcgZ3JvdXAKICAvLyEKICAvLyEgXHBhcmFtIHVpZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIHVzZXIKICAvLyEgXHBhcmFtIHVzZXJuYW1lIFRoZSBuZXcgdXNlciBuYW1lCiAgLy8hIFxwYXJhbSBlbWFpbCBUaGUgbmV3IGVtYWlsIGFkZHJlc3MKICAvLyEgXHBhcmFtIHBhc3N3b3JkIFRoZSBuZXcgKHVuZW5jcnlwdGVkKSBwYXNzd29yZAogIC8vISBccGFyYW0gZXhwaXJlcyBUaGUgbmV3IGV4cGlyeSBkYXRlCiAgLy8hIFxwYXJhbSBzdGF0dXMgdGhlIG5ldyBzdGF0dXMKICAvLyEgXHJldHVybiBBbiBhcnJheSwgdGhlIGZpcnN0IGVsZW1lbnQgaXMgYSBib29sZWFuIHdoaWNoIGluZGljYXRlcyBzdWNjZXNzIG9yIGZhaWx1cmUsIHRoZQogIC8vISAgICBzZWNvbmQgZWxlbWVudCAob3B0aW9uYWwpIGNvbnRhaW5zIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGV2ZW50IG9mIGFuIGVycm9yLgogIC8vIQogIGZ1bmN0aW9uIFNldFVzZXIoICR1aWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcyApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgLy8hIFNldCB0aGUgdXNlcidzIGdyb3VwIG1lbWJlcnNoaXBzIGFic29sdXRlbHkKICAvLyEKICAvLyFUaGlzIG1ldGhvZCByZW1vdmVzIGFsbCBwcmV2aW91cyBncm91cCBhc3NvY2lhdGlvbnMsIGFuZCBzZXRzIG5ldyBvbmVzCiAgLy8hdG8gbWF0Y2ggdGhvc2UgaW4gdGhlIGdycGlkcyBhcnJheS4KICAvLyEKICAvLyFccGFyYW0gdWlkIFRoZSB1c2VyIGlkIHRvIGVkaXQKICAvLyFccGFyYW0gZ3JwaWRzIEFuIGFycmF5IG9mIHVzZXIgaWRzIHRvIGFzc29jaWF0ZSB3aXRoCiAgLy8hXHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UKICAvLyEKICBmdW5jdGlvbiBTZXRVc2VyR3JvdXBzKCAkdWlkLCAkZ3JwaWRzICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VyUGFzc3dvcmQoICR1aWQsICRwYXNzd29yZCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgLy8hIFNldCB0aGUgdXNlcidzIHByb3BlcnRpZXMgYWJzb2x1dGVseS4KICAvLyEKICAvLyEgVGhpcyBtZXRob2QgZGVsZXRlcyBhbnkgZXhpc3RpbmcgdXNlciBwcm9wZXJ0aWVzIGFuZCBzZXRzIHRoZW0gYWNjb3JkaW5nIHRvIHRoZSBwcm9wZXJ0aWVzCiAgLy8hIHN1cHBsaWVkLgogIC8vIQogIC8vISBccGFyYW0gdWlkIFRoZSB1c2VyIGlkIHRvIGJlIGVkaXRlZAogIC8vISBccGFyYW0gcHJvcHMgQW4gYXJyYXkgb2YgS2V5PVZhbHVlIHN0cmluZ3MgY29uc2lzdGluZyBvZiB0aGUgdXNlciBwcm9wZXJ0aWVzLgogIC8vISBccmV0dXJuIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnRpZXMoICR1aWQsICRwcm9wcyApICAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgU2V0IGEgcHJvcGVydHkgZm9yIHRoZSBjdXJyZW50IHVzZXIKICAvLyEgCiAgLy8hIFNldHMgYSBwcm9wZXJ0eSBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcgogIC8vIQogIC8vISBccGFyYW0gdGl0bGUgVGhlIHByb3BlcnR5IG5hbWUKICAvLyEgXHBhcmFtIGRhdGEgIFRoZSBwcm9wZXJ0eSB2YWx1ZQogIC8vISBccmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIFNldFVzZXJQcm9wZXJ0eSgkdGl0bGUsJGRhdGEpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvLyEgU2V0IGEgcHJvcGVydHkgZm9yIHRoZSBwcm92aWRlZCB1c2VyaWQKICAvLyEKICAvLyEgU2V0cyBhIHByb3BlcnR5IGV4Y2x1c2l2ZWx5IGZvciBhIGNlcnRhaW4gdXNlcgogIC8vIQogIC8vISBccGFyYW0gdGl0bGUgVGhlIHByb3BlcnR5IG5hbWUKICAvLyEgXHBhcmFtIGRhdGEgIFRoZSBwcm9wZXJ0eSB2YWx1ZQogIC8vISBccGFyYW0gdXNlcmlkIFRoZSBkZXNpcmVkIHVzZXIgaWQKICAvLyEKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkZGF0YSwkdXNlcmlkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VyVGVtcENvZGUoICR1aWQsICRjb2RlICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgVGVzdCBpZiB0aGUgdXNlciBpZCBpcyBhbHJlYWR5IHRha2VuCiAgLy8hCiAgLy8hIFRlc3RzIGlmIGEgdXNlciBieSB0aGF0IGlkIGFscmVhZHkgZXhpc3RzCiAgLy8hCiAgLy8hIFxwYXJhbSB1aWQgVGhlIHVzZXJpZCB0byB0ZXN0CiAgLy8hIFxyZXR1cm4gYm9vbGVhbgogIC8vIQogIGZ1bmN0aW9uIFVzZXJFeGlzdHNCeUlEKCAkdWlkICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLwogIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAvLwoKfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
</module>
