<?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>JQueryTools</name>
	<version>1.1</version>
  <mincmsversion>1.10.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgaXMgdGhpcz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UbyBlbmFibGUgSlF1ZXJ5VG9vbHMgeW91IG11c3QgaW5jbHVkZSBhdCBsZWFzdCBvbmUgdGFnIGluIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgbWV0YWRhdGEgc2VjdGlvbiBvZiBlYWNoIHJlcXVpcmVkIHBhZ2UuICBVc2UgdGhpcyB0YWc6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+CjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+CjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjMuMjwvcD4KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4KPHVsPgogIDxsaT5kaW1lbnNpb25zPC9saT4KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPgogIDxsaT5tZXRhZGF0YTwvbGk+CjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+CjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT4mbHQ7dGFibGUgY2xhc3M9ImNtc19zb3J0YWJsZSB0YWJsZXNvcnRlciImZ3Q7Li4uJmx0Oy90YWJsZSZndDs8L2NvZGU+PC9wPgogIDwvbGk+CiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPgogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMjU8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5jbHVkZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhwbGljaXRseSBpbmNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyB3aGlsc3QgZXhjbHVkaW5nIGFsbCBvdGhlcnMuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIHRoZSBleGNsdWRlIHBhcmFtZXRlciB3aWxsIGJlIGlnbm9yZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlIHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vX2Nzcz0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHdpbGwgZXhjbHVkZSBjc3MgdGFncyBmcm9tIGJlaW5nIG91dHB1dDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9fanM9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUgc2NyaXB0IHRhZ3MgZnJvbSBiZWluZyBvdXRwdXQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGV4Y2x1ZGU9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGV4Y2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIGZyb20gdGhlIG91dHB1dCBnZW5lcmF0ZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249IiIgLSBTcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgY2FsbGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8dWw+PGxpPmluY2pzIC0gSW5jbHVkZSByZXF1aXJlZCBqYXZhc2NyaXB0IGZpbGVzLjwvbGk+PGxpPnJlYWR5IC0gT3V0cHV0IGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uPC9saT48L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9fanF1ZXJ5PSIiIC0gLS0gTWlzc2luZyBMYW5ndWFnZXN0cmluZyAtIG1vZHVsZTpKUXVlcnlUb29scyBzdHJpbmc6cGFyYW1fbm9fanF1ZXJ5LS08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGluY2x1ZGU9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGV4cGxpY2l0bHkgaW5jbHVkaW5nIGNlcnRhaW4ganF1ZXJ5IHBsdWdpbnMgd2hpbHN0IGV4Y2x1ZGluZyBhbGwgb3RoZXJzLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCB0aGUgZXhjbHVkZSBwYXJhbWV0ZXIgd2lsbCBiZSBpZ25vcmVkLiAgUG9zc2libGUgdmFsdWVzIGFyZSB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub19jc3M9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUgY3NzIHRhZ3MgZnJvbSBiZWluZyBvdXRwdXQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vX2pzPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIHNjcmlwdCB0YWdzIGZyb20gYmVpbmcgb3V0cHV0PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBleGNsdWRlPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSIiIC0gU3BlY2lmeSB0aGUgYWN0aW9uIHRvIGJlIGNhbGxlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PHVsPjxsaT5pbmNqcyAtIEluY2x1ZGUgcmVxdWlyZWQgamF2YXNjcmlwdCBmaWxlcy48L2xpPjxsaT5yZWFkeSAtIE91dHB1dCBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLjwvbGk+PC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vX2pxdWVyeT0iIiAtIC0tIE1pc3NpbmcgTGFuZ3VhZ2VzdHJpbmcgLSBtb2R1bGU6SlF1ZXJ5VG9vbHMgc3RyaW5nOnBhcmFtX25vX2pxdWVyeS0tPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KICA8bGk+MS4wLjQgLSBPY3RvYmVyIDIwMDkKICAgIDxwPkFkZHMganNvbiBzdXBwb3J0LjwvcD4KICA8L2xpPgogIDxsaT4xLjAuNSAtIE5vdmVtYmVyIDIwMDkKICAgIDxwPkFkZHMgbm9fY3NzIGFuZCBub19qcyBvcHRpb25zIHRvIHRoZSBpbmNqcyBhY3Rpb24uPC9wPgogIDwvbGk+CiAgPGxpPjEuMC42IC0gQXByaWwgMjAxMAogICAgPHA+QWRkcyBjYWxndXlzIGRhdGUgdXRpbHMgcGx1Z2luLjwvcD4KICA8L2xpPgogIDxsaT4xLjAuOSAtIFNlcHRlbWJlciAyMDEwCiAgICA8cD5BZGRzIG5vX2pxdWVyeSBvcHRpb24gdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+CiAgICA8UD5EbyBub3Qgb3V0cHV0IGpxdWVyeSB0YWdzIGZvciBhbnkgbW9kdWxlIGFjdGlvbnMgb3IgYWRtaW4gYWN0aW9ucyBpZiBDTVMgVmVyc2lvbiBpcyA+PSBDTVMgMS45LWJldGExPC9wPgogIDwvbGk+CiAgPGxpPjEuMC4xMCAtIAogICAgPHA+TWlub3IgZml4ZXMuPC9wPgogIDwvbGk+CiAgPGxpPjEuMC4xMSAtIEp1bmUgMjAxMQogICAgPHVsPiAKICAgICAgPGxpPk1pbm9yIEZpeGVzLjwvbGk+CiAgICAgIDxsaT5Nb3ZlcyBDaGFuZ2Vsb2cgRXh0ZXJuYWwuPC9saT4KICAgICAgPGxpPk1pbm9yIGNoYW5nZSBmb3IgMS4xMCBjb21wYXRpYmlsaXR5LjwvbGk+CiAgICAgIDxsaT5VcGRhdGUgZGVwZW5kZW5jaWVzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPjEuMSAtIEp1bHkgMjAxMgogICA8dWw+CiAgICAgPGxpPk1vdmUgaGVscCBleHRlcm5hbC48L2xpPgogICAgIDxsaT5VcGdyYWRlIGpxdWVyeSBhbmQgZmFuY3lib3guPC9saT4KICAgPHVsPgogIDwvbGk+CjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A toolbox of Jquery utilities to aide in creating dynamic and fancy CMS Made Simple modules and websites]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.25</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.incjs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCiRiYXNldXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvJy4kdGhpcy0+R2V0TmFtZSgpLicvbGliLyc7CiRmbXQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJXMiPjwvc2NyaXB0PicuIlxuIjsKJGRvX2Nzcz0xOwokZG9fanM9MTsKCiRhbGxfbGlicyA9IGFycmF5KCdiYXNlJywndGFibGVzb3J0ZXInLCdjbHVldGlwJywnZm9ybScsJ2ZhbmN5Ym94JywnZm9ybScsJ2NnZm9ybScsJ2xpZ2h0Ym94Jyk7CiRzdGRfbGlicyA9IGFycmF5KCdiYXNlJywndGFibGVzb3J0ZXInLCdjbHVldGlwJywnZm9ybScsJ2ZhbmN5Ym94JywnZm9ybScsJ2NnZm9ybScpOwokYmFzZV9maWxlcyA9IGFycmF5KCdkZXBzJz0+J2pxdWVyeS0xLjcuMi5taW4uanMnLAoJCSAgICAnY3NzJz0+JHRoaXMtPkdldE5hbWUoKS4nLmNzcycpOwoKLy8gYWxsIHRoZSBleHRyYSBsaWJyYXJpZXMuCiRqc29uX2ZpbGVzID0gYXJyYXkoJ21haW4nPT4nanF1ZXJ5Lmpzb24tMS4zLm1pbi5qcycpOwokdGFibGVzb3J0ZXJfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkudGFibGVzb3J0ZXIuanMnLAoJCQkgICAnZGVwcyc9PidqcXVlcnkubWV0YWRhdGEuanMnKTsKJGNsdWV0aXBfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuY2x1ZXRpcC5qcycsCgkJICAgICAgICdkZXBzJz0+J2pxdWVyeS5kaW1lbnNpb25zLmpzLGpxdWVyeS5ob3ZlckludGVudC5qcycsCgkJICAgICAgICdjc3MnPT4nanF1ZXJ5LmNsdWV0aXAuY3NzJyk7CiRsaWdodGJveF9maWxlcyA9IGFycmF5KCdtYWluJz0+J2pxdWVyeS5saWdodGJveC0wLjUuanMnLAoJCQknY3NzJz0+J2pxdWVyeS5saWdodGJveC0wLjUuY3NzJyk7CiR0aGlja2JveF9maWxlcyA9IGFycmF5KCdtYWluJz0+J3RoaWNrYm94LWNvbXByZXNzZWQuanMnLAoJCQknY3NzJz0+J3RoaWNrYm94LmNzcycpOwokZmFuY3lib3hfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LTEuMy40LnBhY2suanMnLAoJCSAJJ2RlcHMnPT4nanF1ZXJ5LmZhbmN5Ym94L2pxdWVyeS5lYXNpbmctMS4zLnBhY2suanMsanF1ZXJ5LmZhbmN5Ym94L2pxdWVyeS5tb3VzZXdoZWVsLTMuMC40LnBhY2suanMnLAoJCQknY3NzJz0+Jy4uL2pxdWVyeS5mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjQuY3NzJyk7CiRjZ2Zvcm1fZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuY2dmb3JtLmpzJyk7CiRmb3JtX2ZpbGVzID0gYXJyYXkoJ21haW4nPT4nanF1ZXJ5LmZvcm0uanMnKTsKCmdsb2JhbCAkQ01TX0FETUlOX1BBR0U7Cmdsb2JhbCAkQ01TX01PRFVMRV9QQUdFOwppZiggaXNzZXQoJENNU19NT0RVTEVfUEFHRSkgJiYgJENNU19NT0RVTEVfUEFHRSA9IDEgJiYgdmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCcxLjktYmV0YTEnKSA+PSAwICkKICB7CiAgICAkcGFyYW1zWydub19qcXVlcnknXSA9IDE7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snbm9fanF1ZXJ5J10pICkKICB7CiAgICB1bnNldCgkYmFzZV9maWxlc1snZGVwcyddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydub19jc3MnXSkgKQogIHsKICAgICRkb19jc3MgPSAwOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ25vX2pzJ10pICkKICB7CiAgICAkZG9fanMgPSAwOwogIH0KCiRpbmNsdWRlID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2luY2x1ZGUnXSkgKQogIHsKICAgICRpbmNsdWRlID0gZXhwbG9kZSgnLCcsJHBhcmFtc1snaW5jbHVkZSddKTsKICB9CiRleGNsdWRlID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2V4Y2x1ZGUnXSkgKQogIHsKICAgICRleGNsdWRlID0gZXhwbG9kZSgnLCcsJHBhcmFtc1snZXhjbHVkZSddKTsKICB9CgoKLy8gYXNzZW1ibGUgdGhlIGxpc3Qgb2YgbGlicmFyaWVzIGFuZCBjc3MgZmlsZXMuCiR0aGlzLT5fbGlicyA9IGFycmF5KCk7CiRsaWJzID0gYXJyYXkoKTsKJGNzcyA9IGFycmF5KCk7CiR0aGVfbGlicyA9ICRzdGRfbGliczsKaWYoIGNvdW50KCRpbmNsdWRlKSApCiAgewogICAgJHRoZV9saWJzID0gYXJyYXlfbWVyZ2UoJHN0ZF9saWJzLCRpbmNsdWRlKTsKICB9CmZvciggJHBhc3MgPSAwOyAkcGFzcyA8IDI7ICRwYXNzKysgKQogIHsKICAgIGZvcmVhY2goICR0aGVfbGlicyBhcyAkb25lICkKICAgICAgewoJaWYoICRvbmUgPT0gJycgKSBjb250aW51ZTsKCSR0bXAyID0gInskb25lfV9maWxlcyI7CglpZiggIWlzc2V0KCQkdG1wMikgKSBjb250aW51ZTsKCSRhcnIgPSAkJHRtcDI7CglpZiggIWlzX2FycmF5KCRhcnIpICkKCSAgewoJICAgIGRpZSgnY291bGQgbm90IGZpbmQgYXJyYXkgJHRtcDInKTsKCSAgfQoKCWlmKCAkb25lICE9ICdiYXNlJyAmJiBpbl9hcnJheSgkb25lLCRleGNsdWRlKSApIGNvbnRpbnVlOwoKCWlmKCAhaW5fYXJyYXkoJG9uZSwkdGhpcy0+X2xpYnMpICkKCSAgewoJICAgICR0aGlzLT5fbGlic1tdID0gJG9uZTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAwICYmIGlzc2V0KCRhcnJbJ2RlcHMnXSkgKQoJICB7CgkgICAgJGxpYnMgPSBhcnJheV9tZXJnZSgkbGlicyxleHBsb2RlKCcsJywkYXJyWydkZXBzJ10pKTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAxICYmIGlzc2V0KCRhcnJbJ21haW4nXSkgKQoJICB7CgkgICAgJGxpYnMgPSBhcnJheV9tZXJnZSgkbGlicyxleHBsb2RlKCcsJywkYXJyWydtYWluJ10pKTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAxICYmIGlzc2V0KCRhcnJbJ2NzcyddKSApCgkgIHsKCSAgICAkY3NzID0gYXJyYXlfbWVyZ2UoJGNzcyxleHBsb2RlKCcsJywkYXJyWydjc3MnXSkpOwoJICB9CiAgICAgIH0KCiAgICAkbGlicyA9IGFycmF5X3VuaXF1ZSgkbGlicyk7CiAgICAkY3NzID0gYXJyYXlfdW5pcXVlKCRjc3MpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2Jhc2VfdXJsJywkYmFzZXVybCk7CmlmKCBjb3VudCgkbGlicykgJiYgJGRvX2pzICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xpYnMnLCRsaWJzKTsKICB9CmlmKCBjb3VudCgkY3NzKSAmJiAkZG9fY3NzICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NzcycsJGNzcyk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdpbmNqcy50cGwnKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.ready.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0X2xpYnMgPSBhcnJheSgpOwppZiggaXNfYXJyYXkoJHRoaXMtPl9saWJzKSApCiAgewogICAgZm9yZWFjaCgkdGhpcy0+X2xpYnMgYXMgJG9uZSkKICAgICAgewoJJHRfbGlic1skb25lXSA9IDE7CiAgICAgIH0KICB9CiRzbWFydHktPmFzc2lnbignanF1ZXJ5X2xpYnMnLCR0X2xpYnMpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdyZWFkeS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT4xLjAuNCAtIE9jdG9iZXIgMjAwOQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPgogIDwvbGk+CiAgPGxpPjEuMC41IC0gTm92ZW1iZXIgMjAwOQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+CiAgPC9saT4KICA8bGk+MS4wLjYgLSBBcHJpbCAyMDEwCiAgICA8cD5BZGRzIGNhbGd1eXMgZGF0ZSB1dGlscyBwbHVnaW4uPC9wPgogIDwvbGk+CiAgPGxpPjEuMC45IC0gU2VwdGVtYmVyIDIwMTAKICAgIDxwPkFkZHMgbm9fanF1ZXJ5IG9wdGlvbiB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4KICAgIDxQPkRvIG5vdCBvdXRwdXQganF1ZXJ5IHRhZ3MgZm9yIGFueSBtb2R1bGUgYWN0aW9ucyBvciBhZG1pbiBhY3Rpb25zIGlmIENNUyBWZXJzaW9uIGlzID49IENNUyAxLjktYmV0YTE8L3A+CiAgPC9saT4KICA8bGk+MS4wLjEwIC0gCiAgICA8cD5NaW5vciBmaXhlcy48L3A+CiAgPC9saT4KICA8bGk+MS4wLjExIC0gSnVuZSAyMDExCiAgICA8dWw+IAogICAgICA8bGk+TWlub3IgRml4ZXMuPC9saT4KICAgICAgPGxpPk1vdmVzIENoYW5nZWxvZyBFeHRlcm5hbC48L2xpPgogICAgICA8bGk+TWlub3IgY2hhbmdlIGZvciAxLjEwIGNvbXBhdGliaWxpdHkuPC9saT4KICAgICAgPGxpPlVwZGF0ZSBkZXBlbmRlbmNpZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+MS4xIC0gSnVseSAyMDEyCiAgIDx1bD4KICAgICA8bGk+TW92ZSBoZWxwIGV4dGVybmFsLjwvbGk+CiAgICAgPGxpPlVwZ3JhZGUganF1ZXJ5IGFuZCBmYW5jeWJveC48L2xpPgogICA8dWw+CiAgPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgaXMgdGhpcz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UbyBlbmFibGUgSlF1ZXJ5VG9vbHMgeW91IG11c3QgaW5jbHVkZSBhdCBsZWFzdCBvbmUgdGFnIGluIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgbWV0YWRhdGEgc2VjdGlvbiBvZiBlYWNoIHJlcXVpcmVkIHBhZ2UuICBVc2UgdGhpcyB0YWc6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+CjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+CjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjMuMjwvcD4KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4KPHVsPgogIDxsaT5kaW1lbnNpb25zPC9saT4KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPgogIDxsaT5tZXRhZGF0YTwvbGk+CjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+CjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT4mbHQ7dGFibGUgY2xhc3M9ImNtc19zb3J0YWJsZSB0YWJsZXNvcnRlciImZ3Q7Li4uJmx0Oy90YWJsZSZndDs8L2NvZGU+PC9wPgogIDwvbGk+CiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPgogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/JQueryTools.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA2IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZ2xvYmFsICRDTVNfVkVSU0lPTjsKaWYoIHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTAtYmV0YTEnKSA8IDAgKSAKewogICRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKGNtc21zKCktPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLAoJCQkJJ0NHRXh0ZW5zaW9ucycsJ0NHRXh0ZW5zaW9ucy5tb2R1bGUucGhwJyk7CiAgaWYoICFpc19yZWFkYWJsZSggJGNnZXh0ZW5zaW9ucyApICkKICAgIHsKICAgICAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICAgICAgcmV0dXJuOwogICAgfQogIHJlcXVpcmVfb25jZSgkY2dleHRlbnNpb25zKTsKfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmNsYXNzIEpRdWVyeVRvb2xzIGV4dGVuZHMgQ0dFeHRlbnNpb25zCnsKICB2YXIgJGxpYnMgPSAnJzsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJzKCk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0pRdWVyeVRvb2xzJzsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEZyaWVuZGx5TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogIH0KCgkKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzEuMSc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvaGVscC5pbmMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7CiAgfQogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMjUnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS4xMC4yIjsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbmNsdWRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW5jbHVkZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2luY2x1ZGUnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZXhjbHVkZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub19jc3MnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9fanMnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9fanF1ZXJ5JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9fY3NzJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9fY3NzJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9fanMnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub19qcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2V4Y2x1ZGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9leGNsdWRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywnJywkdGhpcy0+TGFuZygncGFyYW1fYWN0aW9uJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9fanF1ZXJ5JywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9fanF1ZXJ5JykpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3ByZXVuaW5zdGFsbCcpOwogIH0JCgp9IC8vIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCgojQgoKCiNDCiRsYW5nWydjaGFuZ2Vsb2cnXSA9IDw8PEVPVApFT1Q7CgojRAoKCiNFCgoKI0YKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0pRdWVyeSBUb29sYm94JzsKCgojRwoKCiNICgoKI0kKCgojSgoKCiNLCgoKI0wKCgojTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHRvb2xib3ggb2YgSnF1ZXJ5IHV0aWxpdGllcyB0byBhaWRlIGluIGNyZWF0aW5nIGR5bmFtaWMgYW5kIGZhbmN5IENNUyBNYWRlIFNpbXBsZSBtb2R1bGVzIGFuZCB3ZWJzaXRlcyc7CgojTgoKCiNPCgoKI1AKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGFjdGlvbiB0byBiZSBjYWxsZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjx1bD48bGk+aW5janMgLSBJbmNsdWRlIHJlcXVpcmVkIGphdmFzY3JpcHQgZmlsZXMuPC9saT48bGk+cmVhZHkgLSBPdXRwdXQgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi48L2xpPjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGV4Y2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIGZyb20gdGhlIG91dHB1dCBnZW5lcmF0ZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uJzsKJGxhbmdbJ3BhcmFtX2luY2x1ZGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGV4cGxpY2l0bHkgaW5jbHVkaW5nIGNlcnRhaW4ganF1ZXJ5IHBsdWdpbnMgd2hpbHN0IGV4Y2x1ZGluZyBhbGwgb3RoZXJzLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCB0aGUgZXhjbHVkZSBwYXJhbWV0ZXIgd2lsbCBiZSBpZ25vcmVkLiAgUG9zc2libGUgdmFsdWVzIGFyZSB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uJzsKJGxhbmdbJ3BhcmFtX25vX2NzcyddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHdpbGwgZXhjbHVkZSBjc3MgdGFncyBmcm9tIGJlaW5nIG91dHB1dCc7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHdpbGwgZXhjbHVkZSBzY3JpcHQgdGFncyBmcm9tIGJlaW5nIG91dHB1dCc7CiRsYW5nWydwYXJhbV9ub19xdWVyeSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHdpbGwgZXhjbHVkZSBqcXVlcnkgZnJvbSBiZWluZyBpbmNsdWRlZCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBKUXVlcnlUb29scyBtb2R1bGUgaGFzIGJlZW4gaW5zdGFsbGVkLi4uLiBnZXQgY3JhY2tpbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEpRdWVyeVRvb2xzIG1vZHVsZSBoYXMgYmVlbiB1bmluc3RhbGxlZCc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdSZW1vdmluZyB0aGlzIG1vZHVsZSBjb3VsZCBkYW1hZ2UgdGhlIGFwcGVhcmFuY2UgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgeW91ciB3ZWJzaXRlLiAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlPyc7CgojUQoKCiNSCgoKI1MKCgojVAoKCiNVCgoKI1YKCgojVwoKCiNYCgoKI1kKCgojWgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ3VsPg0KICA8bGk+MS4wLjQgLSBPY3RvYmVyIDIwMDkNCiAgICA8cD5BZGRzIGpzb24gc3VwcG9ydC48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuNSAtIE5vdmVtYmVyIDIwMDkNCiAgICA8cD5BZGRzIG5vX2NzcyBhbmQgbm9fanMgb3B0aW9ucyB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4NCiAgPC9saT4NCiAgPGxpPjEuMC42IC0gQXByaWwgMjAxMA0KICAgIDxwPkFkZHMgY2FsZ3V5cyBkYXRlIHV0aWxzIHBsdWdpbi48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuOSAtIFNlcHRlbWJlciAyMDEwDQogICAgPHA+QWRkcyBub19qcXVlcnkgb3B0aW9uIHRvIHRoZSBpbmNqcyBhY3Rpb24uPC9wPg0KICAgIDxQPkRvIG5vdCBvdXRwdXQganF1ZXJ5IHRhZ3MgZm9yIGFueSBtb2R1bGUgYWN0aW9ucyBvciBhZG1pbiBhY3Rpb25zIGlmIENNUyBWZXJzaW9uIGlzID49IENNUyAxLjktYmV0YTE8L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdKUXVlcnktVG9vbGJveCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldhcyBtYWNodCBkaWVzZXMgTW9kdWw/PC9oMz4NCjxwPk1pdCBkaWVzZW0gTW9kdWwga2FubiBlaW5lciBDTVMgTWFkZSBTaW1wbGUtV2Vic2VpdGUgdW5kIE1vZHVsZW4gKGluc2Jlc29uZGVyZSBkZXIgQWRtaW5pc3RyYXRpb24pIGJlcXVlbSB1bmQgZWluZmFjaCA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4tRnVua3Rpb25hbGl0JmF1bWw7dGVuIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuLiBEYW1pdCB3ZXJkZW4gRnVua3Rpb25lbiB3aWUgZXR3YSBBamF4LCBUb29sdGlwcywgc29ydGllcmJhcmUgVGFiZWxsZW4gdW5kIGFsbGVzIGFuZGVyZSwgd2FzIFNpZSBzb25zdCBub2NoIG1pdCBqUXVlcnkgdHVuIGsmb3VtbDtubmVuLCBpbiBlaW5lbSBlaW5mYWNoIHp1IHZlcndlbmRlbmRlbiBQYWtldCBiZXJlaXRnZXN0ZWxsdC48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dD88L2gzPg0KPHA+VW0gZGllIEpRdWVyeVRvb2xzIHp1IGFrdGl2aWVyZW4sIG0mdXVtbDtzc2VuIFNpZSBtaW5kZXN0ZW5zIGVpbmVuIFRhZyBpbiBkZW4gaGVhZC1CZXJlaWNoIElocmVyIFRlbXBsYXRlcyBvZGVyIGluIGRlbiBNZXRhZGF0ZW4tQmVyZWljaCBkZXIgU2VpdGVuLCBpbiBkZW5lbiBqUXVlcnkgYmVuJm91bWw7dGlndCB3aXJkLCBlaW5mJnV1bWw7Z2VuLiBWZXJ3ZW5kZW4gU2llIGRhZiZ1dW1sO3IgZGllc2VuIFRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj0mIzAzOTtpbmNqcyYjMDM5O308L2NvZGU+PC9wPg0KPHA+WnVzJmF1bWw7dHpsaWNoIGsmb3VtbDtubmVuIFNpZSBlaW5lbiB6d2VpdGVuIFRhZyBlaW5mJnV1bWw7Z2VuLCBkZXIgZGFzIEphdmFzY3JpcHQgZiZ1dW1sO3IgZGllIHZvcmVpbmdlc3RlbGx0ZSBGdW5rdGlvbiB2ZXJsaW5rdC4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+RGllc2VzIE1vZHVsIGVudGgmYXVtbDtsdCBrZWluZSBCZWlzcGllbGUgdW5kIEFubGVpdHVuZ2VuLCB3aWUgU2llIGpRdWVyeSBvZGVyIGRpZSB2ZXJzY2hpZWRlbmVuIG1pdGdlbGllZmVydGVuIFBsdWdpbnMgdmVyd2VuZGVuIGsmb3VtbDtubmVuLiBVbSBtZWhyICZ1dW1sO2JlciBkaWUgVmVyd2VuZHVuZyB6dSBlcmZhaHJlbiwgbGVzZW4gU2llIGJpdHRlIGRpZSBEb2t1bWVudGF0aW9uIGF1ZiBkZXJlbiBXZWJzZWl0ZW4uPC9wPg0KPGgzPldlbGNoZSBqcXVlcnktVmVyc2lvbiB3aXJkIG1pdGdlbGllZmVydD88L2gzPg0KPHA+RGFzIGFrdHVlbGxlIEpRdWVyeVRvb2xzLU1vZHVsIHZlcndlbmRldCBqUXVlcnkgMS4zLjI8L3A+DQo8aDM+V2VsY2hlIEpRdWVyeS1QbHVnaW5zIHdlcmRlbiBtaXRnZWxpZWZlcnQ/PC9oMz4NCjx1bD4NCiAgPGxpPmRpbWVuc2lvbnM8L2xpPg0KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPg0KICA8bGk+bWV0YWRhdGE8L2xpPg0KPGxpPnRhYmxlc29ydGVyIDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4pPC9lbT4NCjxwPi0tIFVtIGRhcyBTb3J0aWVyZW4gdm9uIFRhYmVsbGVuIHp1IGVybSZvdW1sO2dsaWNoZW4sIG0mdXVtbDtzc2VuIFNpZSBJaHJlbiBUYWJlbGxlbiBkaWUgQ1NTLUtsYXNzZSAmcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDsgenVvcmRuZW4uIFouQnNwLjogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwIDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+KTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPih3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gZGF6dSB1bnRlciA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4pPC9lbT48L2xpPg0KICA8bGk+bGlnaHRib3ggPGVtPih3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gZGF6dSB1bnRlciA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+KTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4pPC9lbT48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRpZXNlcyBNb2R1bCBiZWluaGFsdGV0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuIFNpZSBrJm91bWw7bm5lbiBqZWRvY2ggJnV1bWw7YmVyIGZvbGdlbmRlIE0mb3VtbDtnbGljaGtlaXRlbiBIaWxmZSB6dSBkZW0gTW9kdWwgZXJoYWx0ZW46PC9wPg0KPHVsPg0KPGxpPjxsaT5GJnV1bWw7ciBkaWUgbGV0enRlIFZlcnNpb24gZGllc2VzIE1vZHVscywgRkFRcywgZGVtIFZlcnNhbmQgZWluZXMgRmVobGVycmVwb3J0cyBvZGVyIGRlbSBLYXVmIGtvbW1lcnppZWxsZW4gU3VwcG9ydCBiZXN1Y2hlbiBTaWUgYml0dGUgZGllIDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+UHJvamVrdHNlaXRlPC9hPiBkZXMgTW9kdWxzLjwvbGk+DQo8bGk+V2VpdGVyZSBEaXNrdXNzaW9uZW4genUgZGllc2VtIE1vZHVsIHNpbmQgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5EZXIgQXV0b3IgY2FsZ3V5MTAwMCwgaXN0IGgmYXVtbDt1ZmlnIGltIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5MZXR6dGxpY2ggZXJyZWljaGVuIFNpZSBkZW4gQXV0b3IgYXVjaCAmdXVtbDtiZXIgZWluZSBkaXJla3RlIEVtYWlsLjwvbGk+ICANCjwvdWw+DQo8cD5OYWNoIGRlciBHUEwgd2lyZCBkaWVzZSBTb2Z0d2FyZSBzbyB2ZXImb3VtbDtmZmVudGxpY2h0LCB3aWUgc2llIGlzdC4gQml0dGUgbGVzZW4gU2llIGRlbiBMaXplbnp0ZXh0IGYmdXVtbDtyIGRlbiB2b2xsZW4gSGFmdHVuZ3NhdXNzY2hsdXNzLjwvcD4NCjxoMz5Db3B5cmlnaHQgdW5kIExpemVuejwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZzwvYT4uIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuLjwvcD4NCjxwPkRpZXNlcyBNb2R1bCB3dXJkZSB1bnRlciBkZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWluIFdlcmt6ZXVna2FzdGVuIG1pdCBqUXVlcnktSGlsZnNtaXR0ZWxuLCB1bSBkeW5hbWlzY2hlIHVuZCByYWZmaW5pZXJ0ZSBNb2R1bGUgdW5kIFdlYnNlaXRlbiB6dSBlcnN0ZWxsZW4uJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ0dlYmVuIFNpZSBlaW5lIEFrdGlvbiBhbiwgZGllIGF1ZmdlcnVmZW4gd2VyZGVuIHNvbGwuIE0mb3VtbDtnbGljaGUgV2VydGUgc2luZDoNCjx1bD4NCiAgPGxpPmluY2pzICZuZGFzaDsgYmluZGV0IGRpZSBiZW4mb3VtbDt0aWd0ZW4gSmF2YVNjcmlwdC1EYXRlaWVuIGVpbjwvbGk+DQogIDxsaT5yZWFkeSAmbmRhc2g7IFN0YW5kYXJkLUJlcmVpdHNjaGFmdHNmdW5rdGlvbiBhdXNnZWJlbjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnS2FubiBudXIgbWl0IGRlciBBa3Rpb24gJnF1b3Q7aW5janMmcXVvdDsgdmVyd2VuZGV0IHdlcmRlbi4gRGFtaXQgayZvdW1sO25uZW4gYmVzdGltbXRlIGpRdWVyeS1QbHVnaW5zIHZvbiBkZXIgQXVzZ2FiZSBhdXNnZXNjaGxvc3NlbiB3ZXJkZW4uIE0mb3VtbDtnbGljaGUgV2VydGUgc2luZDogdGFibGVzb3J0ZXIsIGNsdWV0aXAsIGZvcm0uJzsKJGxhbmdbJ3BhcmFtX2luY2x1ZGUnXSA9ICdLYW5uIG51ciBtaXQgZGVyIEFrdGlvbiAmcXVvdDtpbmNqcyZxdW90OyB2ZXJ3ZW5kZXQgd2VyZGVuLiBEYW1pdCBrJm91bWw7bm5lbiBiZXN0aW1tdGUgalF1ZXJ5LVBsdWdpbnMgZWluZ2VzY2hsb3NzZW4gd2VyZGVuLCB3JmF1bWw7aHJlbmRkZXNzZW4gYWxsZSBhbmRlcmVuIGF1c2dlc2NobG9zc2VuIHNpbmQuIFdpcmQgZGllc2VyIFBhcmFtZXRlciBhbmdlZ2ViZW4sIHdpcmQgZGVyIGV4Y2x1ZGUtUGFyYW1ldGVyIGlnbm9yaWVydC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kOiB0YWJsZXNvcnRlciwgY2x1ZXRpcCwgZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAnS2FubiBudXIgbWl0IGRlciBBa3Rpb24gJnF1b3Q7aW5janMmcXVvdDsgdmVyd2VuZGV0IHdlcmRlbi4gRGFtaXQgd2VyZGVuIGRpZSBDU1MtVGFncyB2b24gZGVyIEF1c2dhYmUgYXVzZ2VzY2hsb3NzZW4uJzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnS2FubiBudXIgbWl0IGRlciBBa3Rpb24gJnF1b3Q7aW5janMmcXVvdDsgdmVyd2VuZGV0IHdlcmRlbi4gRGFtaXQgd2VyZGVuIGRpZSBzY3JpcHQtVGFncyB2b24gZGVyIEF1c2dhYmUgYXVzZ2VzY2hsb3NzZW4uJzsKJGxhbmdbJ3BhcmFtX25vX3F1ZXJ5J10gPSAnS2FubiBudXIgbWl0IGRlciBBa3Rpb24gJnF1b3Q7aW5janMmcXVvdDsgdmVyd2VuZGV0IHdlcmRlbi4gRGFtaXQgd2lyZCBqUXVlcnkgdm9tIExhZGVuIGF1c2dlc2NobG9zc2VuLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RpZSBqUXVlcnktVG9vbHMgd3VyZGVuIGluc3RhbGxpZXJ0IC4uLiBsb3MgZ2VodCYjMDM5O3MhJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEaWUgalF1ZXJ5LVRvb2xzIHd1cmRlbiBkZWluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdEaWUgRW50ZmVybnVuZyBkaWVzZXMgTW9kdWxzIGthbm4gZGFzIEVyc2NoZWludW5nc2JpbGQgdW5kIGRpZSBGdW5rdGlvbmFsaXQmYXVtbDt0IElocmVyIFdlYnNlaXRlIGVyaGVibGljaCBiZWVpbnRyJmF1bWw7Y2h0aWdlbi4gV29sbGVuIFNpZSBkYXMgd2lya2xpY2g/JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTQzMTYzMzgxLjEzMDI2MDM0MzAuMTMwNDU5MDk5OS4xMzA0Nzk5ODc1LjknOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzAyNjAzNDMwLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fa_FA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdKUXVlcnkg2KzYudio2Ycg2KfYqNiy2KfYsSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgaXMgdGhpcz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgPGEgaHJlZj0iaHR0cDovL3d3dy5qcXVlcnkuY29tIj5qUXVlcnk8L2E+IGZ1bmN0aW9uYWxpdHkgdG8gQ01TIE1hZGUgU2ltcGxlIHBhZ2UsIGFuZCBtb2R1bGVzIChldmVuIGluIHRoZSBhZG1pbiBzZWN0aW9uKSwgY29udmVuaWVudGx5IGFuZCBlYXNpbHkuICBJdCBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGxpa2UgYWpheCwgdG9vbHRpcHMsIHNvcnRhYmxlIHRhYmxlcywgYW5kIGFueXRoaW5nIGVsc2UgeW91IGNhbiBkbyB3aXRoIGpxdWVyeSBpbiBvbmUgbmljZSwgZWFzeSB0byB1c2UgcGFja2FnZS48L3A+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UbyBlbmFibGUgSlF1ZXJ5VG9vbHMgeW91IG11c3QgaW5jbHVkZSBhdCBsZWFzdCBvbmUgdGFnIGluIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgbWV0YWRhdGEgc2VjdGlvbiBvZiBlYWNoIHJlcXVpcmVkIHBhZ2UuICBVc2UgdGhpcyB0YWc6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4NCjxwPkFkZGl0aW9uYWxseSwgeW91IGNhbiBpbmNsdWRlIGEgc2Vjb25kIHRhZyB0byBpbmNsdWRlIHRoZSBqYXZhc2NyaXB0IHRoYXQgcHJvdmlkZXMgdGhlIGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uIDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249cmVhZHl9PC9jb2RlPjwvcD4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IHByb3ZpZGUgc2FtcGxlcyBhbmQgaW5zdHJ1Y3Rpb25zIGFzIHRvIGhvdyB0byB1c2UganF1ZXJ5IG9yIHRoZSB2YXJpb3VzIGFkZG9uIGxpYnJhcmllcyB0aGF0IHdlIGluY2x1ZGUuICB0byBsZWFybiBob3cgdG8gdXNlIHRoZXNlIGxpYnJhcmllcyB5b3Ugd2lsbCBuZWVkIHRvIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBwbHVnaW5zIGF0IHRoZWlyIHJlc3BlY3RpdmUgaG9tZSBwYWdlLjwvcD4NCjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+DQo8cD5DdXJyZW50bHkgSlF1ZXJ5VG9vbHMgdXNlcyBqcXVlcnkgMS4zLjI8L3A+DQo8aDM+V2hhdCBKUXVlcnkgcGx1Z2lucyBhcmUgaW5jbHVkZWQ8L2gzPg0KPHVsPg0KICA8bGk+ZGltZW5zaW9uczwvbGk+DQogIDxsaT5ob3ZlckludGVudDwvbGk+DQogIDxsaT5tZXRhZGF0YTwvbGk+DQo8bGk+dGFibGVzb3J0ZXIgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPg0KPHA+LS0gVG8gYWxsb3cgc29ydGluZyB5b3VyIHRhYmxlcywgZ2l2ZSB0aGUgZm9sbHdpbmcgY2xhc3NlcyB0byB0aGUgdGFibGUgZGVmaW5pdGlvbjogY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyLiBpLmU6IDxjb2RlPjx0YWJsZSBjbGFzcz0mcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDs+Li4uPC90YWJsZT48L2NvZGU+PC9wPg0KICA8L2xpPg0KICA8bGk+Y2x1ZXRpcCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC8iPmh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9mYW5jeS5rbGFkZS5sdi8iPmh0dHA6Ly9mYW5jeS5rbGFkZS5sdi88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSB0b29sYm94IG9mIEpxdWVyeSB1dGlsaXRpZXMgdG8gYWlkZSBpbiBjcmVhdGluZyBkeW5hbWljIGFuZCBmYW5jeSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlcyBhbmQgd2Vic2l0ZXMnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYWN0aW9uIHRvIGJlIGNhbGxlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PHVsPjxsaT5pbmNqcyAtIEluY2x1ZGUgcmVxdWlyZWQgamF2YXNjcmlwdCBmaWxlcy48L2xpPjxsaT5yZWFkeSAtIE91dHB1dCBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLjwvbGk+PC91bD4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhjbHVkaW5nIGNlcnRhaW4ganF1ZXJ5IHBsdWdpbnMgZnJvbSB0aGUgb3V0cHV0IGdlbmVyYXRlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhwbGljaXRseSBpbmNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyB3aGlsc3QgZXhjbHVkaW5nIGFsbCBvdGhlcnMuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIHRoZSBleGNsdWRlIHBhcmFtZXRlciB3aWxsIGJlIGlnbm9yZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlIHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIGNzcyB0YWdzIGZyb20gYmVpbmcgb3V0cHV0JzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIHNjcmlwdCB0YWdzIGZyb20gYmVpbmcgb3V0cHV0JzsKJGxhbmdbJ3BhcmFtX25vX3F1ZXJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIGpxdWVyeSBmcm9tIGJlaW5nIGluY2x1ZGVkJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEpRdWVyeVRvb2xzIG1vZHVsZSBoYXMgYmVlbiBpbnN0YWxsZWQuLi4uIGdldCBjcmFja2luJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgSlF1ZXJ5VG9vbHMgbW9kdWxlIGhhcyBiZWVuIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIGNvdWxkIGRhbWFnZSB0aGUgYXBwZWFyYW5jZSBhbmQgZnVuY3Rpb25hbGl0eSBvZiB5b3VyIHdlYnNpdGUuICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTkyOTI0NjI4MC4xMzE4Nzk3NzA0LjEzMTg3OTc3MDQuMTMxODc5NzcwNC4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMzE4Nzk3NzA0JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzE4Nzk3NzA0LjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xOTE4MDg1OTU2LTEzMTg3OTc3MDQwOTQnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JyZSAyMDA5DQogICAgPHA+QWpvdXQgZHUgc3VwcG9ydCBwb3VyIGpzb24uPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJyZSAyMDA5DQogICAgPHA+QWpvdXQgZGVzIG9wdGlvbnMgbm9fY3NzIGV0IG5vX2pzICZhZ3JhdmU7IGwmIzAzOTthY3Rpb24gaW5janMuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjYgLSBBdnJpbCAyMDEwDQogICAgPHA+QWpvdXQgZHUgcGx1Z2luIHV0aWxpdGFpcmUgZGF0ZSBkZSBDYWxndXlzLjwvcD4NCiAgPC9saT4NCjxsaT4xLjAuOSAtIFNlcHRlbWJyZSAyMDEwDQogICAgPHA+QWpvdXQgZHUgcGFyYW0mZWdyYXZlO3RyZSBub19qcXVlcnkgJmFncmF2ZTsgbCYjMDM5O2FjdGlvbiBpbmNqcy4uPC9wPg0KICAgIDxQPm5lIGcmZWFjdXRlO24mZWdyYXZlO3JlIHBhcyBkZSB0YWcganF1ZXJ5IHBvdXIgYXVjdW4gbW9kdWxlIChhY3Rpb24gb3UgYWRtaW5fYWN0aW9uKSBzbyBsYSB2ZXJzaW9uIGR1IG1vZHVsZSBlc3QgPj0gQ01TIDEuOS1iZXRhMTwvcD4NCiAgPC9saT4NCg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQm8maWNpcmM7dGUgJmFncmF2ZTsgb3V0aWxzIEpRdWVyeSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1JiMwMzk7ZXN0LWNlIHF1ZSBjJiMwMzk7ZXN0PzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGQmIzAzOTt1dGlsaXNlciBsZXMgZm9uY3Rpb25uYWxpdCZlYWN1dGU7cyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gc3VyIGxlcyBwYWdlcyBDTVMgTWFkZSBTaW1wbGUgZXQgbGVzIG1vZHVsZXMgKG0mZWNpcmM7bWUgZGFucyBsYSBzZWN0aW9uIGFkbWluKSBkZSBmYSZjY2VkaWw7b24gcHJhdGlxdWUgZXQgZmFjaWxlLiAgSWwgcGVybWV0IGQmIzAzOTt1dGlsaXNlciBkZXMgZm9uY3Rpb25uYWxpdCZlYWN1dGU7cyBjb21tZSBhamF4LCB0b29sdGlwcywgZGVzIHRhYmxlcyB0cmlhYmxlcyBldCB0b3V0ZXMgbGVzIGF1dHJlcyBvcCZlYWN1dGU7cmF0aW9ucyBxdWUgbCYjMDM5O29uIHBldXQgZmFpcmUgYXZlYyBqcXVlcnkgZW4gdW4gc2V1bCBtb2R1bGUgcHJhdGlxdWUgZXQgZmFjaWxlLjwvcD4NCjxoMz5Db21tZW50IGwmIzAzOTt1dGlsaXNlcj88L2gzPg0KPHA+UG91ciBhY3RpdmVyIEpRdWVyeVRvb2xzLCBvbiBkb2l0IGluY2x1cmUgYXUgbW9pbnMgdW5lIGJhbGlzZSBkYW5zIGxhIHNlY3Rpb24gaGVhZCBkZSB2b3RyZSBnYWJhcml0LCBvdSBkYW5zIGxhIHNlY3Rpb24gbWV0YWRhdGEgZGUgY2hhcXVlIHBhZ2UgbyZ1Z3JhdmU7IGNlbGEgZXN0IHJlcXVpcy4gIFV0aWxpc2V6IGNldHRlIGJhbGlzZSA6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4NCjxwPkRlIHBsdXMsIHZvdXMgcG91dmV6IGluY2x1cmUgdW4gc2Vjb25kZSBiYWxpc2UgcG91ciBpbmNsdXJlIGxlIGphdmFzY3JpcHQgcXVpIGZvdXJuaXQgbGEgZm9uY3Rpb24gcHImZWNpcmM7dGUgcGFyIGQmZWFjdXRlO2ZhdXQuIDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249cmVhZHl9PC9jb2RlPjwvcD4NCjxwPkNlIG1vZHVsZSBuZSBmb3Vybml0IHBhcyBkJiMwMzk7JmVhY3V0ZTtjaGFudGlsbG9ucyBldCBkJiMwMzk7aW5zdHJ1Y3Rpb25zIHN1ciBsYSBmYSZjY2VkaWw7b24gZCYjMDM5O3V0aWxpc2VyIGpxdWVyeSBvdSBzdXIgbGVzIG5vbWJyZXV4IHBsdWdpY2llbHMgZGUgbGEgbGlicmFpcmllIHF1ZSBub3VzIGF2b25zIGluY2x1c2UuIFBvdXIgc2F2b2lyIGNvbW1lbnQgdXRpbGlzZXIgY2VzIGxpYnJhcmllcyB2b3VzIGRldmV6IGxpcmUgbGEgZG9jdW1lbnRhdGlvbiBwb3VyIGxlcyBwbHVnaWNpZWxzIHN1ciBsZXVyIHNpdGUgd2ViIHJlc3BlY3RpZi48L3A+DQo8aDM+UXVlbGxlIHZlcnNpb24ganF1ZXJ5IGVzdCBpbmNsdXNlPzwvaDM+DQo8cD5KUXVlcnlUb29scyBmb25jdGlvbm5lIGFjdHVlbGxlbWVudCBhdmVjIGpxdWVyeSAxLjMuMjwvcD4NCjxoMz5RdWVscyBwbHVnaWNpZWxzIEpRdWVyeSBzb250IGluY2x1czwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHZvaXIgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4gcG91ciBsZXMgaW5zdHJ1Y3Rpb25zIGQmIzAzOTt1dGlsaXNhdGlvbik8L2VtPg0KPHA+LS0gUG91ciBwZXJtZXR0cmUgbGUgdHJpIGRlIHZvcyB0YWJsZXMsIGFzc2lnbmV6IGxlcyBjbGFzc2VzIHN1aXZhbnRlcyAmYWdyYXZlOyBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkZXMgdGFibGVzIDogY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyLiBwLmV4LiA6IDxjb2RlPiZhbXA7bHQ7dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7JmFtcDtndDsuLi4mYW1wO2x0Oi90YWJsZSZhbXA7Z3Q7PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLyI+aHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvPC9hPiBwb3VyIGxlcyBpbnN0cnVjdGlvbnMgZCYjMDM5O3V0aWxpc2F0aW9uKTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBwb3VyIGxlcyBpbnN0cnVjdGlvbnMgZCYjMDM5O3V0aWxpc2F0aW9uKTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4odm9pciA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmcG91ciBsZXMgaW5zdHJ1Y3Rpb25zIGQmIzAzOTt1dGlsaXNhdGlvbik8L2VtPjwvbGk+DQo8L3VsPg0KPGgzPlNvdXRpZW4gdGVjaG5pcXVlPC9oMz4NCjxwPkNlIG1vZHVsZSBuZSBjb21wcmVuZCBwYXMgZGUgc291dGllbiB0ZWNobmlxdWUgY29tbWVyY2lhbC4gVG91dGVmb2lzLCBwbHVzaWV1cnMgcmVzc291cmNlcyBzb250IGRpc3BvbmlibGVzIHBvdXIgdm91cyBhaWRlciA6PC9wPg0KPHVsPg0KPGxpPlBvdXIgbGEgZGVybmkmZWdyYXZlO3JlIHZlcnNpb24gZGUgY2UgbW9kdWxlLCBsYSBGQVEsIG91IHBvdXIgZW52b3llciB1biByYXBwb3J0IGRlIGJvZ3VlIG91IHBvdXIgcGF5ZXIgcG91ciBkdSBzb3V0aWVuIHRlY2huaXF1ZSwgdmV1aWxsZXogY29uc3VsdGVyIGxlIHNpdGUgZHUgbW9kdWxlIGNhbGd1eVwmIzAzOTtzDQomYWdyYXZlOyBsJiMwMzk7YWRyZXNzZSA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPk9uIHBldXQgYXVzc2kgY29uc3VsdGVyIGRlcyBkaXNjdXNzaW9ucyBhZGRpdGlvbm5lbGxlcyBwb3VyIGNlIG1vZHVsZSAmYWdyYXZlOyBsJiMwMzk7YWRyZXNzZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkZvcnVtcyBDTVMgTWFkZSBTaW1wbGU8L2E+LjwvbGk+DQo8bGk+T24gcGV1dCByZWpvaW5kcmUgbCYjMDM5O2F1dGV1ciwgY2FsZ3V5MTAwMCwgc3VyIGxlPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DYW5hbCBJUkMgQ01TPC9hPi48L2xpPg0KPGxpPkZpbmFsZW1lbnQsIHZvdXMgcG91dmV6IGF1c3NpIHRlbnRlciBkZSByZWpvaW5kcmUgbCYjMDM5O2F1dGV1ciBkaXJlY3RlbWVudCBwYXIgY291cnJpZWwuPC9saT4gIA0KPC91bD4NCjxoMz5Ecm9pdHMgZCYjMDM5O2F1dGV1ciBldCBsaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIFRvdXMgZHJvaXRzIHImZWFjdXRlO3NlcnYmZWFjdXRlO3MuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluICBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQSBPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdVbmUgYm8maWNpcmM7dGUgJmFncmF2ZTsgb3V0aWxzIGRlcyB1dGlsaXRhaXJlcyBKcXVlcnkgcG91ciBhaWRlciAmYWdyYXZlOyBsYSBjciZlYWN1dGU7YXRpb24gZGUgbW9kdWxlcyBldCBkZSBzaXRlcyB3ZWIgZHluYW1pcXVlcyBldCBzb3BoaXN0aXF1JmVhY3V0ZTtzIENNUyBNYWRlIFNpbXBsZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcCZlYWN1dGU7Y2lmaWVyIGwmIzAzOTthY3Rpb24gJmFncmF2ZTsgcyZlYWN1dGU7bGVjdGlvbm5lci4gIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250IDo8dWw+PGxpPmluY2pzIC0gSW5jbHV0IGxlcyBmaWNoaWVycyBqYXZhc2NyaXB0IHJlcXVpcy48L2xpPjxsaT5yZWFkeSAtIGZvbmN0aW9uIEpRdWVyeSAmIzAzOTtyZWFkeSYjMDM5OyBwYXIgZCZlYWN1dGU7ZmF1dC48L2xpPjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGUnXSA9ICdWYWxhYmxlIHNldWxlbWVudCBwb3VyIGwmIzAzOTthY3Rpb24gaW5janMsIGNlIHBhcmFtJmVncmF2ZTt0cmUgcGVybWV0IGwmIzAzOTtleGNsdXNpb24gZGUgY2VydGFpbnMgcGx1Z2ljaWVscyBqcXVlcnkgZHUgY29udGVudSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsuICBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCA6IHRhYmxlc29ydGVyLCBjbHVldGlwLCBmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnVmFsYWJsZSBzZXVsZW1lbnQgcG91ciBsJiMwMzk7YWN0aW9uIGluY2pzLCBjZSBwYXJhbSZlZ3JhdmU7dHJlIHBlcm1ldCBsJiMwMzk7aW5jbHVzaW9uIGV4cGxpY2l0ZSBkZSBjZXJ0YWlucyBwbHVnaWNpZWxzIGpxdWVyeSB0b3V0IGVuIGV4Y2x1YW50IHRvdXMgbGVzIGF1dHJlcy4gU2kgY2UgcGFyYW0mZWdyYXZlO3RyZSBlc3QgciZlYWN1dGU7ZiZlYWN1dGU7cmVuYyZlYWN1dGU7LCBsZSBwYXJhbSZlZ3JhdmU7dHJlIGQmIzAzOTtleGNsdXNpb24gc2VyYSBpZ25vciZlYWN1dGU7LiAgTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQgdGFibGVzb3J0ZXIsIGNsdWV0aXAsIGZvcm0uJzsKJGxhbmdbJ3BhcmFtX25vX2NzcyddID0gJ1ZhbGFibGUgc2V1bGVtZW50IHBvdXIgbCYjMDM5O2FjdGlvbiBpbmNqcywgY2VjaSBlbXAmZWNpcmM7Y2hlIGxlcyBiYWxpc2VzIGNzcyBkJiMwMzk7JmVjaXJjO3RyZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlcyc7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ1ZhbGFibGUgc2V1bGVtZW50IHBvdXIgbCYjMDM5O2FjdGlvbiBpbmNqcywgY2VjaSBlbXAmZWNpcmM7Y2hlIGxlcyBiYWxpc2VzIHNjcmlwdHMgZCYjMDM5OyZlY2lyYzt0cmUgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7ZXMnOwokbGFuZ1sncGFyYW1fbm9fcXVlcnknXSA9ICdWYWxhYmxlIHNldWxlbWVudCBwb3VyIGwmIzAzOTthY3Rpb24gaW5janMsIGNlY2kgZW1wJmVjaXJjO2NoZSBKcXVlcnkgZCYjMDM5OyZlY2lyYzt0cmUgaW5jbHV0JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTGUgbW9kdWxlIEpRdWVyeVRvb2xzIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgaW5zdGFsbCZlYWN1dGU7Li4uLiBwYXNzZXogJmFncmF2ZTsgbCYjMDM5O2FjdGlvbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTGUgbW9kdWxlIEpRdWVyeVRvb2xzIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2ludGFsbCZlYWN1dGU7JzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1N1cHByaW1lciBjZSBtb2R1bGUgcG91cnJhaXQgZW5kb21tYWdlciBsJiMwMzk7YXBwYXJlbmNlIGV0IGxhIGZvbmN0aW9ubmFsaXQmZWFjdXRlOyBkZSB2b3RyZSBzaXRlIHdlYi4gICZFY2lyYzt0ZXMtdm91cyBjZXJ0YWluZSBkZSB2b3Vsb2lyIHBvdXJzdWl2cmU/JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5MjUxNzA4Mi4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTUxNTI2NjI0OC4xMjkyNTE3MDgyLjEyOTI1MTcwODIuMTI5MjY5MjM2MC4yJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ1RvZG8nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5IEVzemsmb3VtbDt6dCZhYWN1dGU7cic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgaXMgdGhpcyA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuanF1ZXJ5LmNvbSI+alF1ZXJ5PC9hPiBmdW5jdGlvbmFsaXR5IHRvIENNUyBNYWRlIFNpbXBsZSBwYWdlLCBhbmQgbW9kdWxlcyAoZXZlbiBpbiB0aGUgYWRtaW4gc2VjdGlvbiksIGNvbnZlbmllbnRseSBhbmQgZWFzaWx5LiAgSXQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBsaWtlIGFqYXgsIHRvb2x0aXBzLCBzb3J0YWJsZSB0YWJsZXMsIGFuZCBhbnl0aGluZyBlbHNlIHlvdSBjYW4gZG8gd2l0aCBqcXVlcnkgaW4gb25lIG5pY2UsIGVhc3kgdG8gdXNlIHBhY2thZ2UuPC9wPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHlvdSBjYW4gaW5jbHVkZSBhIHNlY29uZCB0YWcgdG8gaW5jbHVkZSB0aGUgamF2YXNjcmlwdCB0aGF0IHByb3ZpZGVzIHRoZSBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT48L3A+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+DQo8aDM+V2hhdCBqcXVlcnkgdmVyc2lvbiBpcyBpbmNsdWRlZD88L2gzPg0KPHA+Q3VycmVudGx5IEpRdWVyeVRvb2xzIHVzZXMganF1ZXJ5IDEuMi41PC9wPg0KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4NCjx1bD4NCiAgPGxpPmRpbWVuc2lvbnM8L2xpPg0KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPg0KICA8bGk+bWV0YWRhdGE8L2xpPg0KPGxpPnRhYmxlc29ydGVyIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly90YWJsZXNvcnRlci5jb20iPmh0dHA6Ly90YWJsZXNvcnRlci5jb208L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT4NCjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT48dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7Pi4uLjwvdGFibGU+PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5saWdodGJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdKcXVlcnkgZXN6ayZvdW1sO3omb3VtbDtrIHQmYWFjdXRlO3JoJmFhY3V0ZTt6YSwgYW1pIHNlZyZpYWN1dGU7dCB2b256Jm9hY3V0ZTsgJmVhY3V0ZTtzIGRpbmFtaWt1cyBDTVMgTWFkZSBTaW1wbGUgbW9kdWxvayAmZWFjdXRlO3Mgc2l0ZS1vayBrJmVhY3V0ZTtzeiZpYWN1dGU7dCZlYWN1dGU7cyZlYWN1dGU7YmVuLic7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdBZGQgbWVnIGEgbWVnaCZpYWN1dGU7dmFuZCZvYWN1dGU7IGFrY2kmb2FjdXRlO3QuIExlaGV0cyZlYWN1dGU7Z2VzICZlYWN1dGU7cnQmZWFjdXRlO2tlazo8dWw+PGxpPmluY2pzIC0gU3omdXVtbDtrcyZlYWN1dGU7Z2VzIGphdmFzY3JpcHQgZiZhYWN1dGU7amxvayBpbmNsdWRlLW9sJmFhY3V0ZTtzYS48L2xpPjxsaT5yZWFkeSAtIEFsYXAmZWFjdXRlO3J0ZWxtZXpldHQgcmVhZHkgZiZ1dW1sO2dndiZlYWN1dGU7bnkgdiZlYWN1dGU7Z3JlaGFqdCZhYWN1dGU7c2EuPC9saT48L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleHBsaWNpdGx5IGluY2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIHdoaWxzdCBleGNsdWRpbmcgYWxsIG90aGVycy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgdGhlIGV4Y2x1ZGUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0EgSlF1ZXJ5VG9vbHMgbW9kdWx0IHNpa2VyZXNlbiB0ZWxlcCZpYWN1dGU7dGV0dCZ1dW1sO2suLi4ga2V6ZMWRZGhldCBhIGNyYWNrLWVsJmVhY3V0ZTtzISc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQSBKUXVlcnlUb29scyBtb2R1bHQgc2lrZXJlc2VuIGVsdCZhYWN1dGU7dm9sJmlhY3V0ZTt0b3R0dWsnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnRW5uZWsgYSBtb2R1bG5hayBheiBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgdCZvdW1sO25rcmV0ZWhldGkgYSBzaXRlIG1lZ2plbGVuJmVhY3V0ZTtzJmVhY3V0ZTt0IC8gZnVua2Npb25hbGl0JmFhY3V0ZTtzJmFhY3V0ZTt0LiBCaXp0b3MgZm9seXRhdG9kPyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MzM2MDU5NTkuMTIyNDc0MjU0NC4xMjQxMTU5MTQ1LjEyNDExNjk5NTkuMTYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM5NDMwOTg1LjEyLjQudXRtY3NyPXRoZW1lcy5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5DQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5DQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuNiAtIEFwcmlsIDIwMTANCiAgICA8cD5BZGRzIGNhbGd1eXMgZGF0ZSB1dGlscyBwbHVnaW4uPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjkgLSBTZXB0ZW1iZXIgMjAxMA0KICAgIDxwPkFkZHMgbm9fanF1ZXJ5IG9wdGlvbiB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4NCiAgICA8UD5EbyBub3Qgb3V0cHV0IGpxdWVyeSB0YWdzIGZvciBhbnkgbW9kdWxlIGFjdGlvbnMgb3IgYWRtaW4gYWN0aW9ucyBpZiBDTVMgVmVyc2lvbiBpcyA+PSBDTVMgMS45LWJldGExPC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5IFRvb2xib3ggJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBpcyB0aGlzPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+JmFtcDtsdDt0YWJsZSBjbGFzcz0mcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDsmYW1wO2d0Oy4uLiZhbXA7bHQ7L3RhYmxlJmFtcDtndDs8L2NvZGU+PC9wPg0KICA8L2xpPg0KICA8bGk+Y2x1ZXRpcCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC8iPmh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmxpZ2h0Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIj5odHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mYW5jeWJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VuIHZlcmt0Jm9zbGFzaDt5a2Fzc2UgbWVkIEpxdWVyeSB2ZXJrdCZvc2xhc2g7eSBzb20gYmlzdCZhcmluZztyIGkgb3BwcmV0dGVsc2UgYXYgZHluYW1pc2tlIG9nIGZhbmN5IENNUyBNYWRlIFNpbXBsZSBtb2R1bGVyIGdvIG5ldHRzdGVkZXInOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3Blc2lmaXNlciBoYW5kbGluZ2VuIHNvbSBza2FsIGthbGxlcy4gTXVsaWdlIHZlcmRpZXIgZXI6PHVsPjxsaT5pbmNqcyAtIEluY2x1ZGUgcmVxdWlyZWQgamF2YXNjcmlwdCBmaWxlcy48L2xpPjxsaT5yZWFkeSAtIE91dHB1dCBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLjwvbGk+PC91bD4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZSddID0gJ0t1biBneWxkaWcgdGlsIGluY2pzIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlcmVuIHRpbGxhdGVyICZhcmluZzsgdXRlbHVra2UgYmVzdGVtdGUganF1ZXJ5IHByb2dyYW10aWxsZWdnIGZyYSB2aXNuaW5nZW4gc29tIGdlbmVyZXJlcy4gTXVsaWdlIHZlcmRpZXIgZXI6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0t1biBneWxkaWcgdGlsIGluY2pzIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlcmVuIHRpbGFsdGVyICZhcmluZzsgZWtzcGxpc2l0dCBpbmtsdWRlcmUgYmVzdGVtdGUganF1ZXJ5IHByb2dyYW10aWxsZWdnIG9nIHV0ZWx1a2tlIGFsbGUgYW5kcmUuIE9tIGRlbm5lIHBhcmFtZXRlcmVuIGVyIHNwZXNpZmlzZXJ0LCB2aWwgZWtzbHVkZXIgcGFyYW1ldGVyZW4gYmxpIGlnbm9yZXJ0LiAgTXVsaWdlIHZlcmRpZXIgZXIgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9ub19jc3MnXSA9ICdHamVsZGVyIGt1biB0aWwgaW5janMgaGFuZGxpbmdlbiwgZGV0dGUgdmlsIGVrc2tsdWRlcmUgY3NzIGtvZGVyIGZyYSAmYXJpbmc7IGJsaSBzZW5kdCB1dCc7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ0dqZWxkZXIga3VuIHRpbCBpbmNqcyBoYW5kbGluZ2VuLCBkZXR0ZSB2aWwgZWtza2x1ZGVyZSBzY3JpcHQta29kZXIgZnJhICZhcmluZzsgYmxpIHNlbmR0IHV0JzsKJGxhbmdbJ3BhcmFtX25vX3F1ZXJ5J10gPSAnR2plbGRlciBrdW4gdGlsIGluY2pzIGhhbmRsaW5nZW4sIGRldHRlIHZpbCBla3NrbHVkZXJlIGpxdWVyeSBmcmEgJmFyaW5nOyBibGkgaW5rbHVkZXJ0JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSlF1ZXJ5VG9vbHMgbW9kdWxlbiBhaHIgYmxpdHQgaW5zdGFsbGVydC4uLi4gcHImb3NsYXNoO3YgZGVuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdKUXVlcnlUb29scyBtb2R1bGVuIGhhciBibGl0dCBhdmluc3RhbGxlcnQnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnJkFyaW5nOyBmamVybmUgZGVubmUgbW9kdWxlbiBrYW4gc2thZGUgb3BwZiZvc2xhc2g7cnNlbGVuIG9nIGZ1bmtzam9uYWxpdGV0ZW4gcCZhcmluZzsgZGl0dCBuZXR0c3RlZC4gRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBmb3J0c2V0dGUgYXZpbnN0YWxsYXNqb25lbj8nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjg4OTkxMDY3LjMzNjQuNzgudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vYWJvdXQtbGluay9zcGVjaWFsLWZhbnMtbGlzdGluZy98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI4OTUxODkyMy4xMjg5NjAxNDMzLjMzNzYnOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjcuMTAuMTI4OTYwMTQzMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJyAnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5IFRvb2xib3ggJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBpcyB0aGlzPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+JmFtcDtsdDt0YWJsZSBjbGFzcz0mcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDsmYW1wO2d0Oy4uLiZhbXA7bHQ7L3RhYmxlJmFtcDtndDs8L2NvZGU+PC9wPg0KICA8L2xpPg0KICA8bGk+Y2x1ZXRpcCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC8iPmh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmxpZ2h0Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIj5odHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mYW5jeWJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiB2ZXJ6YW1lbGluZyB2YW4gSnF1ZXJ5IHRvb2xzLCBhbHMgaHVscCBiaWogaGV0IGNyZSZldW1sO3JlbiB2YW4gZHluYW1pc2NoZSBlbiBkZWNvcmF0aWV2ZSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlcyBlbiB3ZWJzaXRlcyc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdHZWVmIGRlIGJld2Vya2luZyBvcCBkaWUgbW9ldCB3b3JkZW4gYWFuZ2Vyb2VwZW4uICBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOjx1bD48bGk+aW5janMgLSBWb2VnIGRlIGJlbm9kaWdkZSBqYXZhc2NyaXB0IGJlc3RhbmRlbiB0b2UuPC9saT48bGk+cmVhZHkgLSBVaXRnYW5nIHN0YW5kYWFyZCBnZXJlZWQgZnVuY3RpZS48L2xpPjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGUnXSA9ICdVaXRzbHVpdGVuZCB2YW4gdG9lcGFzc2luZyBvcCBkZSBpbmNqcyBiZXdlcmtpbmcsIERlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBtZXQgdWl0em9uZGVyaW5nIHZhbiBiZXBhYWxkZSBqcXVlcnkgcGx1Z2lucyB1aXQgdGUgc2x1aXRlbi4gTW9nZWxpamtlIHdhYXJkZW4gemlqbjogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnVWl0c2x1aXRlbmQgdmFuIHRvZXBhc3Npbmcgb3AgZGUgaW5janMgYmV3ZXJraW5nLCBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgbWV0IHVpdHpvbmRlcmluZyB2YW4gYmVwYWFsZGUganF1ZXJ5IHBsdWdpbnMgaW4gdGUgc2x1aXRlbiBlbiBkYWFybWVlIGFsbGUgYW5kZXJlIHBhcmFtZXRlcnMgdWl0IHRlIHNsdWl0ZW4gYWxzIGRlemUgemlqbiBvcGdlZ2V2ZW4uIE1vZ2VsaWprZSB3YWFyZGVuIHppam46IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAnQWxsZWVuIHRvZSB0ZSBwYXNzZW4gaW4gZGUgaW5janMgYmV3ZXJraW5nLCBkZXplIHphbCBkZSBjc3MgdGFncyB1aXRzbHVpdGVuJzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnQWxsZWVuIHRvZSB0ZSBwYXNzZW4gaW4gZGUgaW5janMgYmV3ZXJraW5nLCBkZXplIHphbCBkZSBzY3JpcHQgdGFncyB1aXRzbHVpdGVuJzsKJGxhbmdbJ3BhcmFtX25vX3F1ZXJ5J10gPSAnQWxsZWVuIHRvZSB0ZSBwYXNzZW4gaW4gZGUgaW5janMgYmV3ZXJraW5nLCBkaXQgemFsIGpxdWVyeSB1aXRzbHVpdGVuIHZhbiBpbnRlZ3JhdGllJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgSlF1ZXJ5VG9vbHMgbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgSlF1ZXJ5VG9vbHMgbW9kdWxlIGlzIGdlZGUmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0hldCB2ZXJ3aWpkZXJlbiB2YW4gZGV6ZSBtb2R1bGUga2FuIGRlIHZlcnRvbmluZyBlbiBkZSBmdW5jdGlvbmFsaXRlaXQgdmFuIHV3IHdlYnNpdGUgc2NoYWRlIHRvZSBicmVuZ2VuLiBXaWx0IHUgemVrZXIgZGF0IHUgd2lsdCBkb29yZ2Fhbj8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwODQzODY1LjEzMTAzNzAzNTMuMTMxMDM3MDM1My4xMzEwODM2MTY5LjInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzEwMzcwMzUzLjEuMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9Lyc7CiRsYW5nWydxY2EnXSA9ICdQMC04NTY2MTc0NjctMTMxMDM3MDM1MjU4OCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0RlIEZhY3V0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Rvb2xib3ggSlF1ZXJ5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+Q2UgZSBhY2Vhc3RhPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLyI+aHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vIj5odHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+bGlnaHRib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC8iPmh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9mYW5jeS5rbGFkZS5sdi8iPmh0dHA6Ly9mYW5jeS5rbGFkZS5sdi88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gdG9vbGJveCBkZSB1dGlsaXRhcmUgSnF1ZXJ5IGNhcmUgYXIgdHJlYnVpIHNhIGFqdXRlIGxhIGNyZWFyZWEgZGUgc2l0ZS11cmkgc2kgbW9kdWxlIENNUyBNYWRlIFNpbXBsZSBkaW5hbWljZSBzaSBhcmF0b2FzZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZpY2F0aSBhY3RpdW5lYSBhcGVsYXRhLiBWYWxvcmkgcG9zaWJpbGUgc3VudDoNCjx1bD4NCjxsaT5pbmNqcyAtIEluY2x1ZGVyZSBmaXNpZXJlIGphdmFzY3JpcHQgY2VydXRlLjwvbGk+DQo8bGk+cmVhZHkgLSBPdXRwdXQgZnVuY3RpZSBpbXBsaWNpdGEgcmVhZHkuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGUnXSA9ICdBcGxpY2FiaWwgbnVtYWkgYWN0aXVuaWkgaW5janMsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIGV4Y2x1ZGVyZWEgdW5vciBwbHVnaW4tdXJpIGpxdWVyeSBkZSBsYSBvdXRwdXQtdWwgZ2VuZXJhdC4gVmFsb3JpIHBvc2liaWxlIHN1bnQ6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0FwbGljYWJpbCBudW1haSBhY3RpdW5paSBpbmNqcywgYWNlc3QgcGFyYW1ldHJ1IHBlcm1pdGUgaW5jbHVkZXJlYSBleHBsaWNpdGEgYSB1bm9yIHBsdWdpbi11cmkganF1ZXJ5IGluIHRpbXAgY2UgdG9hdGUgY2VsZWxhbHRlIHN1bnQgZXhjbHVzZS4gRGFjYSBhY2VzdCBwYXJhbWV0cnUgZXN0ZSBzcGVjaWZpY2F0LCBwYXJhbWV0cnVsIGV4Y2x1ZGUgdmEgZmkgaWdub3JhdC4gIFZhbG9yaSBwb3NpYmlsZSBzdW50OiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uJzsKJGxhbmdbJ3BhcmFtX25vX2NzcyddID0gJ1NlIGFwbGljYSBudW1haSBhY3RpdW5paSBpbmNqcywgdmEgZXhjbHVkZSBhZmlzYXJlYSB0YWd1cmlsb3IgY3NzJzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnU2UgYXBsaWNhIG51bWFpIGFjdGl1bmlpIGluY2pzLCB2YSBleGNsdWRlIGFmaXNhcmVhIHRhZ3VyaWxvciBzY3JvW3QnOwokbGFuZ1sncGFyYW1fbm9fcXVlcnknXSA9ICdTZSBhcGxpY2EgbnVtYWkgYWN0aXVuaWkgaW5janMsIHZhIGV4Y2x1ZGUgaW5jbHVkZXJlYSBsaWJyYXJpZWkganF1ZXJ5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWx1bCBKUXVlcnlUb29scyBhIGZvc3QgaW5zdGFsYXQuLi4uIGxhIHRyZWFiYSEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsdWwgSlF1ZXJ5VG9vbHMgYSBmb3N0IGRlemluc3RhbGF0JzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0RhY2EgaW5sYXR1cmF0aSBhY2VzdCBtb2R1bCBwdXRldGkgc3RyaWNhIGZ1bmN0aW9uYWxpdGF0ZSBzYXUgYXNwZWN0IGxlZ2F0ZSBkZSBzaXRlLiBTaWd1ciBkb3JpdGkgc2EgY29udGludWF0aT8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My44Nzk0NTYzMzcuMTMyODI1ODI0MS4xMzI4MjU4MjQxLjEzMjgyNTgyNDEuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTMyODI1ODI0MSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMyODI1ODI0MS4xLjEudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXNtcyc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5DQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5DQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuNiAtIEFwcmlsIDIwMTANCiAgICA8cD5BZGRzIGNhbGd1eXMgZGF0ZSB1dGlscyBwbHVnaW4uPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjkgLSBTZXB0ZW1iZXIgMjAxMA0KICAgIDxwPkFkZHMgbm9fanF1ZXJ5IG9wdGlvbiB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4NCiAgICA8UD5EbyBub3Qgb3V0cHV0IGpxdWVyeSB0YWdzIGZvciBhbnkgbW9kdWxlIGFjdGlvbnMgb3IgYWRtaW4gYWN0aW9ucyBpZiBDTVMgVmVyc2lvbiBpcyA+PSBDTVMgMS45LWJldGExPC9wPg0KICA8L2xpPg0KPC91bD4gJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ9CY0L3RgdGC0YDRg9C80LXQvdGC0LDRgNC40LkgSlF1ZXJ5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBpcyB0aGlzPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjMuMjwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+PHRhYmxlIGNsYXNzPSJjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiPi4uLjwvdGFibGU+PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mYW5jeWJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVxcXCdzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+ICc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ9CY0L3RgdGC0YDRg9C80LXQvdGC0LDRgNC40Lkg0YPRgtC40LvQuNGC0YsgSlF1ZXJ5INC/0L7QvNC+0LbQtdGCINCyINGB0L7Qt9C00LDQvdC40Lgg0LTQuNC90LDQvNC40YfQvdGL0YUg0Lgg0L/RgNC40YfRg9C00LvQuNCy0YvRhSBDTVMgTWFkZSBTaW1wbGUg0LzQvtC00YPQu9C10Lkg0Lgg0LLQtdCxINGB0LDQudGC0L7Qsic7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICfQo9C60LDQttC40YLQtSDQtNC10LnRgdGC0LLQuNC1LCDQutC+0YLQvtGA0L7QtSDQsdGD0LTQtdGCINCy0YvQt9Cy0LDQvdC+LiAg0JLQvtC30LzQvtC20L3Ri9C1INC30L3QsNGH0LXQvdC40Y86PHVsPjxsaT5pbmNqcyAtINCf0L7QtNC60LvRjtGH0LDQtdC8INC90LXQvtCx0YXQvtC00LjQvNGL0LUgamF2YXNjcmlwdCDRhNCw0LnQu9GLLjwvbGk+PGxpPnJlYWR5IC0gT3V0cHV0IGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uPC9saT48L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAn0J/RgNC40LzQtdC90Y/QtdGC0YHRjyDRgtC+0LvRjNC60L4g0Log0LTQtdC50YHRgtCy0LjRjiBpbmNqcywg0Y3RgtC+0YIg0L/QsNGA0LDQvNC10YLRgCDQv9C+0LfQstC+0LvRj9C10YIg0LjRgdC60LvRjtGH0LjRgtGMINC90LXQutC+0YLQvtGA0YvQtSDQv9C70LDQs9C40L3RiyBqcXVlcnkg0LPQtdC90LXRgNC40YDRg9C10LzRi9C1INC90LAg0LLRi9GF0L7QtNC1LiAg0JLQvtC30LzQvtC20L3Ri9C1INC30L3QsNGH0LXQvdC40Y86IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhwbGljaXRseSBpbmNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyB3aGlsc3QgZXhjbHVkaW5nIGFsbCBvdGhlcnMuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIHRoZSBleGNsdWRlIHBhcmFtZXRlciB3aWxsIGJlIGlnbm9yZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlIHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAn0J/RgNC40LzQtdC90Y/QtdGC0YHRjyDRgtC+0LvRjNC60L4g0Log0LTQtdC50YHRgtCy0LjRjiBpbmNqcywg0LjRgdC60LvRjtGH0LDQtdGCIGNzcyDRgtC10LPQuCDQuNC3INCy0YvRhdC+0LTQsCc7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ9Cf0YDQuNC80LXQvdGP0LXRgtGB0Y8g0YLQvtC70YzQutC+INC6INC00LXQudGB0YLQstC40Y4gaW5janMsINC40YHQutC70Y7Rh9Cw0LXRgiBzY3JpcHQg0YLQtdCz0Lgg0LjQtyDQstGL0YXQvtC00LAnOwokbGFuZ1sncGFyYW1fbm9fcXVlcnknXSA9ICfQn9GA0LjQvNC10L3Rj9C10YLRgdGPINGC0L7Qu9GM0LrQviDQuiDQtNC10LnRgdGC0LLQuNGOIGluY2pzLNC40YHQutC70Y7Rh9Cw0LXRgiBqcXVlcnknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICfQnNC+0LTRg9C70YwgSlF1ZXJ5VG9vbHMg0LHRi9C7INGD0YHRgtCw0L3QvtCy0LvQtdC9JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICfQnNC+0LTRg9C70YwgSlF1ZXJ5VG9vbHMg0LHRi9C7INGD0LTQsNC70LXQvSc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICfQo9C00LDQu9C10L3QuNC1INC80L7QtNGD0LvRjyDQvNC+0LbQtdGCINC/0L7QstGA0LXQtNC40YLRjCDQstC90LXRiNC90LjQuSDQstC40LQg0Lgg0YTRg9C90LrRhtC40L7QvdCw0LvRjNC90L7RgdGC0Ywg0LLQsNGI0LXQs9C+INGB0LDQudGC0LAuINCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0L/RgNC+0LTQvtC70LbQuNGC0Yw/JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTYzNjYxMTc1OC0xMjkwNzczMDU0MDMwJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5NjI1NDQzOC4yMC4xMC51dG1jc3I9Y21zbWFkZXNpbXBsZS5ydXx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41ODExMDM4MDkuMTI5MDc3MzA0Ny4xMjkzNjQ3MDY2LjEyOTYyNTQ0MzguMjAnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI5NjI1NDQzOCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdKUXVlcnkgYWxhdGknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGlzIHRoaXM/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuanF1ZXJ5LmNvbSI+alF1ZXJ5PC9hPiBmdW5jdGlvbmFsaXR5IHRvIENNUyBNYWRlIFNpbXBsZSBwYWdlLCBhbmQgbW9kdWxlcyAoZXZlbiBpbiB0aGUgYWRtaW4gc2VjdGlvbiksIGNvbnZlbmllbnRseSBhbmQgZWFzaWx5LiAgSXQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBsaWtlIGFqYXgsIHRvb2x0aXBzLCBzb3J0YWJsZSB0YWJsZXMsIGFuZCBhbnl0aGluZyBlbHNlIHlvdSBjYW4gZG8gd2l0aCBqcXVlcnkgaW4gb25lIG5pY2UsIGVhc3kgdG8gdXNlIHBhY2thZ2UuPC9wPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHlvdSBjYW4gaW5jbHVkZSBhIHNlY29uZCB0YWcgdG8gaW5jbHVkZSB0aGUgamF2YXNjcmlwdCB0aGF0IHByb3ZpZGVzIHRoZSBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT48L3A+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+DQo8aDM+V2hhdCBqcXVlcnkgdmVyc2lvbiBpcyBpbmNsdWRlZD88L2gzPg0KPHA+Q3VycmVudGx5IEpRdWVyeVRvb2xzIHVzZXMganF1ZXJ5IDEuMy4yPC9wPg0KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4NCjx1bD4NCiAgPGxpPmRpbWVuc2lvbnM8L2xpPg0KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPg0KICA8bGk+bWV0YWRhdGE8L2xpPg0KPGxpPnRhYmxlc29ydGVyIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly90YWJsZXNvcnRlci5jb20iPmh0dHA6Ly90YWJsZXNvcnRlci5jb208L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT4NCjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT48dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7Pi4uLjwvdGFibGU+PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mYW5jeWJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1NrdXAgcG9tb8SHbmloIGpRdWVyeSBhbGF0YSBrb2ppIHRyZWJhIGRhIHByaXBvbW9nbnUga3JlaXJhbmplIGRpbmFtacSNbmloIGkgbW9kZXJuaWggQ01TIE1hZGUgU2ltcGxlIG1vZHVsYSBpIHNhanRvdmEnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYWN0aW9uIHRvIGJlIGNhbGxlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PHVsPjxsaT5pbmNqcyAtIEluY2x1ZGUgcmVxdWlyZWQgamF2YXNjcmlwdCBmaWxlcy48L2xpPjxsaT5yZWFkeSAtIE91dHB1dCBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLjwvbGk+PC91bD4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhjbHVkaW5nIGNlcnRhaW4ganF1ZXJ5IHBsdWdpbnMgZnJvbSB0aGUgb3V0cHV0IGdlbmVyYXRlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhwbGljaXRseSBpbmNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyB3aGlsc3QgZXhjbHVkaW5nIGFsbCBvdGhlcnMuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIHRoZSBleGNsdWRlIHBhcmFtZXRlciB3aWxsIGJlIGlnbm9yZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlIHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIGNzcyB0YWdzIGZyb20gYmVpbmcgb3V0cHV0JzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIHNjcmlwdCB0YWdzIGZyb20gYmVpbmcgb3V0cHV0JzsKJGxhbmdbJ3BhcmFtX25vX3F1ZXJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgd2lsbCBleGNsdWRlIGpxdWVyeSBmcm9tIGJlaW5nIGluY2x1ZGVkJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSlF1ZXJ5VG9vbHMgbW9kdWwgamUgaW5zdGFsaXJhbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnSlF1ZXJ5VG9vbHMgbW9kdWwgamUgZGVpbnN0YWxpcmFuJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0JyaXNhbmplIG92b2cgbW9kdWxhIG1vxb5lIG5hJnNjYXJvbjtrb2RpdGkgaXpnbGVkdSBpIGZ1bmtjaW9uYWxub3N0aSBWYSZzY2Fyb247ZWcgc2FqdGEuIERhIGxpIHN0ZSBzaWd1cm5pIGRhIMW+ZWxpdGUgbmFzdGF2aXRpPyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMzMjI4Njc2OC4xMzIzODE4MjUzLjEzMjM4MTgyNTMuMTMyMzgxODI1My4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMjM4MTgyNTMuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1jbXNtcy5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0F0dCBnJm91bWw7cmEnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5LVRvb2xib3gnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGlzIHRoaXM/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuanF1ZXJ5LmNvbSI+alF1ZXJ5PC9hPiBmdW5jdGlvbmFsaXR5IHRvIENNUyBNYWRlIFNpbXBsZSBwYWdlLCBhbmQgbW9kdWxlcyAoZXZlbiBpbiB0aGUgYWRtaW4gc2VjdGlvbiksIGNvbnZlbmllbnRseSBhbmQgZWFzaWx5LiAgSXQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBsaWtlIGFqYXgsIHRvb2x0aXBzLCBzb3J0YWJsZSB0YWJsZXMsIGFuZCBhbnl0aGluZyBlbHNlIHlvdSBjYW4gZG8gd2l0aCBqcXVlcnkgaW4gb25lIG5pY2UsIGVhc3kgdG8gdXNlIHBhY2thZ2UuPC9wPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHlvdSBjYW4gaW5jbHVkZSBhIHNlY29uZCB0YWcgdG8gaW5jbHVkZSB0aGUgamF2YXNjcmlwdCB0aGF0IHByb3ZpZGVzIHRoZSBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT4NCjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+DQo8cD5DdXJyZW50bHkgSlF1ZXJ5VG9vbHMgdXNlcyBqcXVlcnkgMS4yLjU8L3A+DQo8aDM+V2hhdCBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCiAgPGxpPnRhYmxlc29ydGVyDQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwPC9saT4NCiAgPGxpPmZvcm08L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gdmVya3R5Z3NsJmFyaW5nO2RhIHRpbGwgSnF1ZXJ5IGYmb3VtbDtyIGF0dCBza2FwYSBkeW5hbWlza2Egb2NoIHZhY2tyYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlciBvY2ggd2ViYnBsYXRzZXInOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnQW5nZSB2aWxrYSAmYXJpbmc7dGcmYXVtbDtyZGVyIHNvbSBza2FsbCBrYWxsYXMuIE0mb3VtbDtqbGlnYSB2JmF1bWw7cmRlbiAmYXVtbDtyOiA8dWw+IDxsaT4gaW5janMgLSBJbmtsdWRlcmluZyBrciZhdW1sO3ZzIGYmb3VtbDtyIGphdmFzY3JpcHQgZmlsZXIuIDwvIExpPiA8bGk+IHJlZG8gLSBSZXN1bHRhdHN0YW5kYXJkcyBmdW5rdGlvbi4gPC8gTGk+IDwvIHVsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleHBsaWNpdGx5IGluY2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIHdoaWxzdCBleGNsdWRpbmcgYWxsIG90aGVycy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgdGhlIGV4Y2x1ZGUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0pRdWVyeVRvb2xzIG1vZHVsZW4gJmF1bWw7ciBudSBpbnN0YWxsZXJhZCEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0pRdWVyeVRvb2xzIG1vZHVsZW4gJmF1bWw7ciBudSBhdmluc3RhbGxlcmFkISc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdCb3J0dGFnbmluZyBhdiBkZW4gaCZhdW1sO3IgbW9kdWxlbiBrYW4gc2thZGEgdXRzZWVuZGV0IG9jaCBmdW5rdGlvbmFsaXRldGVuIHAmYXJpbmc7IGRpbiB3ZWJicGxhdHMuICZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBmb3J0cyZhdW1sO3R0YT8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My45NTAyMzgyNzM3Mjk0NzIxMDAuMTIzNzE0MDQyNS4xMjM4MjUxNDM3LjEyMzgyNTM1OTIuNTAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM4MjUxNDM3LjQ5LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjM4MjUzNTkyJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/jquery.cluetip.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogZ2xvYmFsICovDQojY2x1ZXRpcC1jbG9zZSBpbWcgew0KICBib3JkZXI6IDA7DQp9DQojY2x1ZXRpcC10aXRsZSB7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQojY2x1ZXRpcC10aXRsZSAjY2x1ZXRpcC1jbG9zZSB7DQogIGZsb2F0OiByaWdodDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KI2NsdWV0aXAtd2FpdGltYWdlIHsNCiAgd2lkdGg6IDQzcHg7DQogIGhlaWdodDogMTFweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy93YWl0LmdpZik7DQp9DQouY2x1ZXRpcC1hcnJvd3Mgew0KICBkaXNwbGF5OiBub25lOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgbGVmdDogLTExcHg7DQogIGhlaWdodDogMjJweDsNCiAgd2lkdGg6IDExcHg7DQogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsNCn0NCiNjbHVldGlwLWV4dHJhIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgID1jbHVldGlwQ2xhc3M6ICdkZWZhdWx0JyANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQouY2x1ZXRpcC1kZWZhdWx0IHsNCiAgYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KICANCn0NCi5jbHVldGlwLWRlZmF1bHQgI2NsdWV0aXAtb3V0ZXIgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG1hcmdpbjogMDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCi5jbHVldGlwLWRlZmF1bHQgaDMjY2x1ZXRpcC10aXRsZSB7DQoJbWFyZ2luOiAwIDAgNXB4Ow0KCXBhZGRpbmc6IDhweCAxMHB4IDRweDsNCglmb250LXNpemU6IDEuMWVtOw0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJYmFja2dyb3VuZC1jb2xvcjogIzRCNEI0QjsNCgljb2xvcjogI2ZmZjsNCn0NCi5jbHVldGlwLWRlZmF1bHQgI2NsdWV0aXAtdGl0bGUgYSB7DQogIGNvbG9yOiAjY2NjOw0KICBmb250LXNpemU6IDAuOTVlbTsNCn0gIA0KLmNsdWV0aXAtZGVmYXVsdCAjY2x1ZXRpcC1pbm5lciB7DQogIHBhZGRpbmc6IDEwcHg7DQp9DQouY2x1ZXRpcC1kZWZhdWx0IGRpdiNjbHVldGlwLWNsb3NlIHsgDQogIHRleHQtYWxpZ246IHJpZ2h0Ow0KICBtYXJnaW46IDAgNXB4IDVweDsNCiAgY29sb3I6ICM5MDA7DQp9DQoNCi8qIGRlZmF1bHQgYXJyb3dzICovDQoNCi5jbHVlLXJpZ2h0LWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dsZWZ0LmdpZik7DQp9DQouY2x1ZS1sZWZ0LWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dyaWdodC5naWYpOw0KICBsZWZ0OiAxMDAlOw0KICBtYXJnaW4tcmlnaHQ6IC0xMXB4Ow0KfQ0KLmNsdWUtdG9wLWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3d1cC5naWYpOw0KICB0b3A6IC0xMXB4Ow0KICBsZWZ0OiA1MCU7DQogIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgaGVpZ2h0OiAxMXB4Ow0KICB3aWR0aDogMjJweDsNCn0NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgPWNsdWV0aXBDbGFzczogJ2p0aXAnDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLmNsdWV0aXAtanRpcCB7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KLmNsdWV0aXAtanRpcCAjY2x1ZXRpcC1vdXRlciB7DQogIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCg0KLmNsdWV0aXAtanRpcCBoMyNjbHVldGlwLXRpdGxlIHsNCiAgbWFyZ2luOiAwIDAgNXB4Ow0KICBwYWRkaW5nOiAycHggNXB4Ow0KICBmb250LXNpemU6IDE2cHg7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGJhY2tncm91bmQtY29sb3I6ICNjY2M7DQogIGNvbG9yOiAjMzMzOw0KfQ0KDQouY2x1ZXRpcC1qdGlwICNjbHVldGlwLWlubmVyIHsNCiAgcGFkZGluZzogMCA1cHggNXB4Ow0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQouY2x1ZXRpcC1qdGlwIGRpdiNjbHVldGlwLWNsb3NlIHsgDQogIHRleHQtYWxpZ246IHJpZ2h0Ow0KICBtYXJnaW46IDAgNXB4IDVweDsNCiAgY29sb3I6ICM5MDA7DQp9DQoNCi8qIGp0aXAgYXJyb3dzICovDQoNCi5jbHVlLXJpZ2h0LWp0aXAgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9hcnJvd2xlZnQuZ2lmKTsNCn0NCi5jbHVlLWxlZnQtanRpcCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL2Fycm93cmlnaHQuZ2lmKTsNCiAgbGVmdDogMTAwJTsNCiAgbWFyZ2luLXJpZ2h0OiAtMTFweDsNCn0NCi5jbHVlLXRvcC1qdGlwIC5jbHVldGlwLWFycm93cyB7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2NsdWV0aXAvYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLWp0aXAgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9hcnJvd3VwLmdpZik7DQogIHRvcDogLTExcHg7DQogIGxlZnQ6IDUwJTsNCiAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICBoZWlnaHQ6IDExcHg7DQogIHdpZHRoOiAyMnB4Ow0KfQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICA9Y2x1ZXRpcENsYXNzOiAncm91bmRlZCcNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCi5jbHVldGlwLXJvdW5kZWQgew0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL2JsLmdpZikgbm8tcmVwZWF0IDAgMTAwJTsNCiAgbWFyZ2luLXRvcDogMTBweDsNCiAgbWFyZ2luLWxlZnQ6IDEycHg7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtb3V0ZXIgew0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL3RsLmdpZikgbm8tcmVwZWF0IDAgMDsNCiAgbWFyZ2luLXRvcDogLTEycHg7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtdGl0bGUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgcGFkZGluZzogMTJweCAxMnB4IDA7DQogIG1hcmdpbjogMCAtMTJweCAwIDA7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtZXh0cmEgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL3RyLmdpZikgbm8tcmVwZWF0IDEwMCUgMDsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgd2lkdGg6IDEycHg7DQogIGhlaWdodDogMzBweDsNCiAgbWFyZ2luOiAtMTJweCAtMTJweCAwIDA7DQp9DQouY2x1ZXRpcC1yb3VuZGVkICNjbHVldGlwLWlubmVyIHsNCiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9ici5naWYpIG5vLXJlcGVhdCAxMDAlIDEwMCU7DQogIHBhZGRpbmc6IDVweCAxMnB4IDEycHg7DQogIG1hcmdpbjogLTE4cHggLTEycHggMCAwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgZGl2I2NsdWV0aXAtY2xvc2UgeyANCiAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIG1hcmdpbjogMCA1cHggNXB4Ow0KICBjb2xvcjogIzAwOTsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQp9DQouY2x1ZXRpcC1yb3VuZGVkIGRpdiNjbHVldGlwLWNsb3NlIGEgew0KICBjb2xvcjogIzc3NzsNCn0NCg0KLyogcm91bmRlZCBhcnJvd3MgKi8NCg0KLmNsdWUtcmlnaHQtcm91bmRlZCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL3JhcnJvd2xlZnQuZ2lmKTsNCn0NCi5jbHVlLWxlZnQtcm91bmRlZCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL3JhcnJvd3JpZ2h0LmdpZik7DQogIGxlZnQ6IDEwMCU7DQogIG1hcmdpbi1sZWZ0OiAxMnB4Ow0KfQ0KLmNsdWUtdG9wLXJvdW5kZWQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9yYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLXJvdW5kZWQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9yYXJyb3d1cC5naWYpOw0KICB0b3A6IC0yM3B4Ow0KICBsZWZ0OiA1MCU7DQogIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgaGVpZ2h0OiAxMXB4Ow0KICB3aWR0aDogMjJweDsNCn0NCg0KDQoNCi8qIHN0dXBpZCBJRTYgSGFzTGF5b3V0IGhhY2sgKi8NCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtdGl0bGUsDQouY2x1ZXRpcC1yb3VuZGVkICNjbHVldGlwLWlubmVyIHsNCiAgem9vbTogMTsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/css/jquery.lightbox-0.5.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmNzcw0KICogQGF1dGhvciBMZWFuZHJvIFZpZWlyYSBQaW5obyAtIGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbQ0KICogQHZlcnNpb24gMC41DQogKiBAZGF0ZSBBcHJpbCAxMSwgMjAwOA0KICogQGNhdGVnb3J5IGpRdWVyeSBwbHVnaW4NCiAqIEBjb3B5cmlnaHQgKGMpIDIwMDggTGVhbmRybyBWaWVpcmEgUGluaG8gKGxlYW5kcm92aWVpcmEuY29tKQ0KICogQGxpY2Vuc2UgQ0MgQXR0cmlidXRpb24tTm8gRGVyaXZhdGl2ZSBXb3JrcyAyLjUgQnJhemlsIC0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmQvMi41L2JyL2RlZWQuZW5fVVMNCiAqIEBleGFtcGxlIFZpc2l0IGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIGZvciBtb3JlIGluZm9ybWF0aW9ucyBhYm91dCB0aGlzIGpRdWVyeSBwbHVnaW4NCiAqLw0KI2pxdWVyeS1vdmVybGF5IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJei1pbmRleDogOTA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiA1MDBweDsNCn0NCiNqcXVlcnktbGlnaHRib3ggew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxMDA7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2pxdWVyeS1saWdodGJveCBhIGltZyB7IGJvcmRlcjogbm9uZTsgfQ0KI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3ggew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCXdpZHRoOiAyNTBweDsNCgloZWlnaHQ6IDI1MHB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KfQ0KI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSB7IHBhZGRpbmc6IDEwcHg7IH0NCiNsaWdodGJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA0MCU7DQoJbGVmdDogMCU7DQoJaGVpZ2h0OiAyNSU7DQoJd2lkdGg6IDEwMCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2xpZ2h0Ym94LW5hdiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWhlaWdodDogMTAwJTsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtYm94ID4gI2xpZ2h0Ym94LW5hdiB7IGxlZnQ6IDA7IH0NCiNsaWdodGJveC1uYXYgYSB7IG91dGxpbmU6IG5vbmU7fQ0KI2xpZ2h0Ym94LW5hdi1idG5QcmV2LCAjbGlnaHRib3gtbmF2LWJ0bk5leHQgew0KCXdpZHRoOiA0OSU7DQoJaGVpZ2h0OiAxMDAlOw0KCXpvb206IDE7DQoJZGlzcGxheTogYmxvY2s7DQp9DQojbGlnaHRib3gtbmF2LWJ0blByZXYgeyANCglsZWZ0OiAwOyANCglmbG9hdDogbGVmdDsNCn0NCiNsaWdodGJveC1uYXYtYnRuTmV4dCB7IA0KCXJpZ2h0OiAwOyANCglmbG9hdDogcmlnaHQ7DQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94IHsNCglmb250OiAxMHB4IFZlcmRhbmEsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCW1hcmdpbjogMCBhdXRvOw0KCWxpbmUtaGVpZ2h0OiAxLjRlbTsNCglvdmVyZmxvdzogYXV0bzsNCgl3aWR0aDogMTAwJTsNCglwYWRkaW5nOiAwIDEwcHggMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YSB7DQoJcGFkZGluZzogMCAxMHB4OyANCgljb2xvcjogIzY2NjsgDQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEgI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMgeyANCgl3aWR0aDogNzAlOyANCglmbG9hdDogbGVmdDsgDQoJdGV4dC1hbGlnbjogbGVmdDsgDQp9CQ0KI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQojbGlnaHRib3gtaW1hZ2UtZGV0YWlscy1jdXJyZW50TnVtYmVyIHsNCglkaXNwbGF5OiBibG9jazsgDQoJY2xlYXI6IGxlZnQ7IA0KCXBhZGRpbmctYm90dG9tOiAxLjBlbTsJDQp9CQkJDQojbGlnaHRib3gtc2VjTmF2LWJ0bkNsb3NlIHsNCgl3aWR0aDogNjZweDsgDQoJZmxvYXQ6IHJpZ2h0Ow0KCXBhZGRpbmctYm90dG9tOiAwLjdlbTsJDQp9]]></data>
	</file>
	<file>
	  <filename>/lib/css/JQueryTools.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIHRhYmxlc29ydGVyICoqKioqKioqKioqKioqKiovDQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIHRoLCB0YWJsZS50YWJsZXNvcnRlciB0Zm9vdCB0ciB0aCB7DQoJcGFkZGluZzogNXB4IDBweCA1cHggMjBweDsNCiAJYmFja2dyb3VuZDogIzI0MzEzNTsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQp0YWJsZS50YWJsZXNvcnRlciB0aGVhZCB0ciAuaGVhZGVyIHsNCg0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2JnLmdpZik7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDsNCgljb2xvcjojZmZmOw0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCnRhYmxlLnRhYmxlc29ydGVyIHRib2R5IHRyLm9kZCB0ZCB7DQoJLyoqDQoJICogYmFja2dyb3VuZDogI0RCRTZFODsNCgkgKi8NCgl9DQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0VXAgew0KDQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvYXNjLmdpZik7DQp9DQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0RG93biB7DQoNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9kZXNjLmdpZik7DQp9DQovKioNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0RG93biwgdGFibGUudGFibGVzb3J0ZXIgdGhlYWQgdHIgLmhlYWRlclNvcnRVcCB7DQoJDQoJICogYmFja2dyb3VuZC1jb2xvcjogIzMzNDU0QTsNCgkNCgkNCn0gKi8NCg0KDQp0YWJsZS50YWJsZXNvcnRlciB0Ym9keSB0ZCBpbWcgew0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCn0NCg0KDQp0YWJsZS50YWJsZXNvcnRlciB0Ym9keSB0ci5vZGQgdGQsIHRhYmxlLnRhYmxlc29ydGVyIHRib2R5IHRyLmV2ZW4gdGQgIHsNCglwYWRkaW5nLWxlZnQ6MjBweDsNCgkNCn0NCnRhYmxlLnRhYmxlc29ydGVyIHRoLnBhZ2VpY29uICB7DQoJDQoJd2lkdGg6IDEwcHg7DQp9DQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIG5leHQgY3NzIHRvb2wgKioqKioqKioqKioqKioqKi8=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/imgs/asc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoxOFo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAEAAACDYwfoAvoz9qbZ9FrJC0AOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/bg.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAJAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoyMVo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAJAAACF4yPgMsJ2mJ4VDKKrd4GVz5lYPeMiVUAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAMzMzP///yH5BAEAAAEALAAAAAAWAAsAAAIchI+pEOsZ4nuxTlXzPbnvDk7g6IwmZp5cmhpsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAMzMzP///yH5BAEAAAEALAAAAAALABYAAAIjjI+AC7rWHIsvtmmTvXBzT4HiKAZkBx6l6mGUK2lcNdNPUgAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAMzMzP///yH5BAEAAAEALAAAAAALABYAAAIkRI4JlrqN1oNyutqqvDrqHXyYSJZkeKKf17Ggy3CQOqN1eAcFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAPcBAMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAAAWAAsAAAgyAAMIHEgQAACCCBMWNHhQocMADBk+TBgx4sSBFStezJjxIUeOCj9+RChSJMaSJlGiDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/bl.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhzwPJA/eVAKzG16zI2qm3vaa7xqa2vq3J26nBzazI2avE06/K27XO3ejv8rnR38TY4rHM3L7V4KS3wMnb46zJ2qW3wMrc5K3I2b/V4bLN3K/L26vD07rS38TZ4rjQ3rbP3qq4vazF067K27XP3cXZ46rBzbDL3LLM3Ke7x+jv8ePp666/yLTL2fT296zI2K/J2rrM1LXHz8HV3rjL1bPGz6i3vrLCyPj5+rHL2rLJ1aq5v8jZ4MrW2q28w8fW3LbN2bXDyK/I2Ke3vrfQ3qq3vb7Q19bc3rrGy8rb4rHJ2LPN3crb4a+7wPP19qvBzrDH1efu8ai8x7S/w7nO2qW4wK7I2bHFz6y/yKa4wai/zMXQ1Ke5wbXK1sTY4avF1rzP2LvT37DAyP7+/qi5wam4vsDT3LnQ3LzM0q7Dzsvc5L3L0MbY4fX4+K3CzrTO3aa3vr3S3bbO26a6xqW2vbnHzcDJzarD0q3F067H16i6wrTM28PU2+rv8ay6wK3K263F1Kq+x63H17rGysDQ1sDW4bK/xK67wOft8MXX38XT2bvS3+bt773T3s3V2MHW4au4vau7w/Hz9LfHzqi9x6nAza++xKvI2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAADPA8kDAAj/ABecEWFBQ4cLGAoEoMSwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzZscFFDZYYBCiRIICNoMKHUq0qNGjSJMqXcq0qdOnUKN+xNngAQMFDn5K3cq1q9evYMOKHUu2rNmzERdEqHo1K1C0cOPKnUu3rt27ePOaVcsWq1a9gAMLHky4sOHDiI3yter3beLHkCNLnky5suWli9v+vcy5s+fPoEOLBpy58ejTqFOrXs26NcnSbl3Lnk27tu3bg2Fvxs27t+/fwIPH1O1YuPHjyJMr9018ufPn0KNLh9x8uvXr2LNrl1p9u/fv4MOL/x/Zfbz58+jTay+vvr379/Bts49Pv779+5Ln49/Pv7//s/r9J+CABBZYVIAGJqjgggyGhGCDEEYoIYQPTmjhhRjeV2GGHHboIXgbfijiiCQmF2KJKKaoomwnrujiizBe1mKMNNZoY2Az3qjjjjySlWOPQAYpJGZrMRbbkEgmqSSRfR255JNQRgnTj1JWaeWVEFGJ5ZZcLqlll2CGueOXYpZp5opknqnmmh2myeabcDboZpx01vnfnHbmqWd8eO7p55/j9QnooIReJ2ihiCZqYpGaFafoo5B6d2iklFba2qSWZqopaJhu6umn+TFqGqiklupap6amqmpdqK7q6qs+iv/qJKy01lpYq7bmqmtSuO7q66819QrssMSuJGyxyCbroKy7Kevss0MdC+201DokbbXYPnttttwWu2234Pr6bbjk1jpuueiuem667JK6brvwavpuvPRGOm+9+CJ6b778/rlvvwDb+W/ABL85cMEIm3lwwgx3uXDDEFv5cMQUPzlxxRgPeXHGHPO4cccg1/hxyCS7OHLJKJd4csose7hyyzBf+HLMNFPIrKM15yzmzDr3PCDPPgfNH9BCF10f0UYn7R7SSjd9HtNORw3izVJX7THVVmctMtZad20y116HrTLYYpftMtlmpy0z2mq3bXOTzbot94JQz203a3Xfrfdpee//7fdnff8tuGWBD254ZIUfrvhhiS/uuGCNPy45XpFPbvlclV+uOYBsb+75cpl/LrpXoY9uelSln646U6mv7vpRrb8uu1Cxz277TLXfrrtLue/ue0q9/y78a50Pb3yocON8/PLUFc/884QFD/30E0lP/fXWOo/99nJZzz313n8PffjiM09++cefj/7w6q//e/vu7w5//LfPT//s9t//ev76r85//6f7HwBHJ8ABfq6ABtwcAhN4uQUycHIOfODjIijBxVGwgoe7IAYHp8EN/q2DHtwbCEN4txGScG4mPKHbUqhCtbGwhWZ7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t67Zt2cauCSDuNg1uIQ7m4ZLpooLMpG7XYzbuLqpt5bLFZPLMZvrXZWbuVv2uF/auRhDuuH1uaDrZZibulBhuhTjuuSFuqyrnKLLpbALMbd7XrI7u9G5urxLpLv7u/fqu8LrpMFbvM1DvMhLpce7vAqrvM6rpc0bve4JvdT7bbWbpbnLMNurXtN7vR//a73gi6biO75rWr7m66bZa6XdizDtK2Iplr6hi77yG2/rO6XvSzD5W2LxW7/Feb9QShXf6791cQI5wRg+0WEELBknEAEEoQEhgBAKscCc4QRG0AAFcRAJsRAUbBmFkARbIAheEARIQAJ8IAEdbBmJkANpwAiIwAFs4AAgMMEpPBl6wAOGAAOKwAEKcAEkMMMSEMQSEABEXMRGfMRInMRKvMRM3MRO/MRQHMVSPMVUXMVWfMVYnMVavMVc3MVe/MVgHMZiPMZkXMZmfMZonMZqvMZs3MZNLMRqcAh5MAZuQAZvgAc20AJTUAF8fAB+/MeAHMiCPMiEXMiGfMiInMiK/7zIjNzIjvzIkBzJkjzJlFzJlnzJmJzJmrzJnNzJnvzJoBzKojzKpFzKpnzKiVwBLFAJOhAIQ9AFUdADKnAEP2AHfwAAuJzLurzLvNzLvvzLwBzMwjzMxFzMxnzMyJzMyrzMzNzMzvzM0BzN0jzN1FzN1nzN2JzN2rzN3NzN3vzN4BzOxswFlYACaFAGLhADWnADTdAHdfABH4AA8jzP9FzP9nzP+JzP+rzP/NzP/vzPAB3QAj3QBF3QBn3QCJ3QCr3QDN3QDv3QEB3REj3RFF3RFn3RGJ3RGr3R/JwBHk0HlQAGWCAHkPACMkAFZrAGTDACI2AALv3SMB3TMj3TNP9d0zZ90zid0zq90zzd0z7900Ad1EI91ERd1EZ91Eid1Eq91Ezd1E791FAd1VI91VRd1VZ91TotCVdQCZWwAkXgAzTwBSlQBX4QCU9gAiYwAGq91mzd1m791nAd13I913Rd13Z913id13q913zd137914Ad2II92IRd2IZ92Iid2Iq92Izd2I792JAd2ZI92XYNB1xdCY8ACIMwCTvgCHcQBllgBRMw2hMAAaZ92qid2qq92qzd2q792rAd27I927Rd27Z927id27q927zd277928Ad3MI93MRd3MZ93Mid3Mq93Mzd3M793KtN2hMgBZddCTWwCEpACHuAA2IwA0Ca0AYEEN7iPd7kXd7mfd7ond7qvd7s3d7u/d7wHd/yPd/0Xd/2fd/4nd/6vd/83d/+/d8AHuACPuAEXuAGfuAInuAKzt5xQADVzdVLQARzAAWN4AEeIAAYnuEavuEc3uEe/uEgHuIiPuIkXuImfuIonuIqvuIs3uIu/uIwHuMyPuM0XuM2fuM4nuM6vuM83uM+/uNAHuQlLgQBAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/bl.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA88AAAPJCAMAAAAbDOrsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcJQTFRFrMbXrMjaqbe9prvGpra+rcnbqcHNrMjZq8TTr8rbtc7d6O/yudHfxNjisczcvtXgpLfAydvjrMnapbfAytzkrcjZv9Xhss3cr8vbq8PTutLfxNniuNDets/eqri9rMXTrsrbtc/dxdnjqsHNsMvcsszcp7vH6O/x4+nrrr/ItMvZ9Pb3rMjYr8nauszUtcfPwdXeuMvVs8bPqLe+ssLI+Pn6scvassnVqrm/yNngytbarbzDx9bcts3ZtcPIr8jYp7e+t9Deqre9vtDX1tzeusbLytviscnYs83dytvhr7vA8/X2q8HOsMfV5+7xqLzHtL/Duc7apbjArsjZscXPrL/IprjBqL/MxdDUp7nBtcrWxNjhq8XWvM/Yu9PfsMDI/v7+qLnBqbi+wNPcudDcvMzSrsPOy9zkvcvQxtjh9fj4rcLOtM7dpre+vdLdts7bprrGpba9ucfNwMnNqsPSrcXTrsfXqLrCtMzbw9Tb6u/xrLrArcrbrcXUqr7HrcfXusbKwNDWwNbhsr/ErrvA5+3wxdffxdPZu9Lf5u3vvdPezdXYwdbhq7i9q7vD8fP0t8fOqL3HqcDNr77Eq8ja////LL4G4QAAAJZ0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AaRLOegAACStJREFUeNrs1QVyFFEARdEeyCAxSBjJTFxxd3d3d5fg7i7BXf5+6bAKftc5S3hVt15SN9hTqraXW/K5P0DckrpCa6m+u39s3haQgZ4bxtXXNuoZstBzk55Bz4CeAT0DegY9A3oG9AzoGdAz6BnQM6BnQM+gZ0DPgJ4BPQN6Bj0Degb0DOgZ9Kxn0DOgZ0DPgJ5Bz4CeAT0Degb0DHoG9AzoGdAz6BnQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4Ce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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/br.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/br.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAPJCAMAAAARZjlPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYNQTFRFrMnaq77Hq7i8p7a9qri9rsnZrsbUrsrbpLa/rsPPq8jZpbW9qre8qbe9q7m//v7+rMbXqsTTpbfApba/qrvCpbnDpra+qsPRpbnFrcnarMLOprzIrMPQvMbKp7nDqsPSqr3GrsfXrsXTqb/LprzHqLnBrMfXprjArbvArcXSqcLRqbe8sMfUsLvAqsHPydHU4ebnrMTTprrEp77MpbjAo7a/qri8pbW+rsfVrMfZq8bVrMLNqr3HrLm/pbnEpLjBuMPGqLi/q7vD1tzf4ubopbjCtsHFrMjYrcjYq7i9u8XJpra9qbnAqL3IqLe9rcfWq8jYp7a80NfaqMDNprvHqsDNqcHPqsXVp73JrMHNqr/L8fP0rL/I4+fpqbm/q8HOqL7LrcfXp73KrMbUq8XU/f39q8PRqbvFrbq+rLm+qLrDrMjZqL/Np7e+sMnYqLa8prW8qbi+qLvGxs/Sqb7Ip73Iqr7HrcPOr8fUrLrArMjarcrbqrrCr8jYr8naq8ja////7sj6uQAAAIF0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AksjjTwAAAQtJREFUeNrs28VaQgEYhOGfcwBJ6bC7u1vs7u7u7kD0nEsXgYU71z7PN6t5N3MHI5qmSdrXTbV1a6Bckvh8sxr87wl8xPFqiCUQ/QMvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4nzD//giYM1OQFNKTjwNTQWFXtz+JDNNsxXp+rCeF9uyN06nzxMDYfsPu08XOuGhR22Xp4UnRQ8l9jdg65txHoeXp3H5jn4y6Vz2VV8+NZdfGOun05K00ZfU2B2eUegnVLh4sBbw+1ThyLHtrxeFIS5vqVIZ0CQeGLRb7nVNZ0HXxWnz2yXnH2aArjqCq3lYpOZt6POJoVSYet10/Xf8WYACiIq1QmLEJbAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAIeHav///yH5BAEAAAEALAAAAAAWAAsAAAIchI+pEOsZ4nuxTlXzPbnvDk7g6IwmZp5cmhpsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAIeHav///yH5BAEAAAEALAAAAAALABYAAAIjjI+AC7rWHIsvtmmTvXBzT4HiKAZkBx6l6mGUK2lcNdNPUgAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAIeHav///yH5BAEAAAEALAAAAAALABYAAAIkRI4JlrqN1oNyutqqvDrqHXyYSJZkeKKf17Ggy3CQOqN1eAcFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAIeHav///yH5BAEAAAEALAAAAAAWAAsAAAIcjI8AyJ26nAwQzlbrPTnv3k0g6IwjY5pcqrJsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAAWAAsAAAVuYCd2zsadaLo5Y+eJgGAsWm3XiyEAoud3G0SBoKBYjhaKglBAbFw+HyRSSEwwj0DggZkkChFIdLzJXA6YSqNRwRwumc14Xj5jtG64fE43WxgMFnp8hAAIEgQEEggAhI4DMjoDjpQdAwNQlI49lCEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAALABYAAAVooCeOZEeenXmKqXpCG+COW4QIzrllRWFspN0lQVhwRoDM5TBRaI6eAWKJwVCeno5AYsFUHpZnZ2AgMAKNQJgzLp/T6+y2+41Hp4fqFepJLptYNEpERjo8PkA6NjgrHjAyjVkpkZKUWSEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAALABYAAAVlYOeNZNmJpXmmZAdsEOs5AhJt7GYURYaXnAUhcfEBNYrJoQggcTQUDGaJGIyelkcFY5EIRNhAI8AgGAad8Lh8Tmuy2+7X84xOL9UrUsl0ColGJDo8gSQ0Nj8mLzEsJyiNj40yJCEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAAWAAsAAAVuoCeOZNeRaFoOw6m+3iAYhjDAKYBIBCEhANxok7lYGAzLJbMREi8HTCCAOSybr2e00mhUqlcVJFJITDCP6QMzSRQiEFRngygQFBSL3kJREAoIGy4eJgAzCxqJiokLNQAmhCYdDhsclpeYGw6SHSEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tl.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhzwMMAOZCAMXZ47/V4a/L27bP3rPN3brS373U4LLN3KzI2s7f5qzJ2sHW4bXP3bfQ3sbZ463K27HM3LvS37DL3NLh59Dg5sjb5NHh58LX4q7K28rc5MPY4sDW4ejv8szd5c/f5s3e5cnb5Mfa49Pi6LzT4P3+/vL298ba47vT3+Pt8NPh58vd5NTi6Pn7/Ozy9P7+/vj6+8ze5fH2+Ozy9eHr7+Ls8Orx9M7f5enw88TZ4r7V4LXO3a/K27LM3LnR363J28vd5e3z9avI2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEIALAAAAADPAwwAAAf/gEKCg0IuMUCIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGZMoRCLDQrExQJHzAdP8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6cwdhDciFgk/ICEmAPY4+Pn6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQwq0NwjFBA8/KgDQsGBDgJc5YsqcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rd+VJQjQkJMji4EMDAiAgFCvRYy7at27dw/+PKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnkzZblohL0R4yABggYEIPRoMGM2AgY7TqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0F+XHiBkhoUfDjyH1kGAwIEDPMKLH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqGB7B5CQQgIVXGBADwMQAIEEEgggwA4cdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWeaKGJVDwA8wAAUTQgIUCYPCAD1RWaeWVWGap5ZZcdunll2CGKeaYZJZp5plopqnmmmy26eabcMYp55x01mnnnXjmqeeefPY5Zgs2gKDBhDpAIMADCiiAAAJBNOroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6quwxirrrLTWaiumi3LwQQgLnPCkBBgocOuwxBZr7LHIJqvsssw26+yz0EYr7bSfcqCCAxsUMMABhwpL7bfghivuuOSWa+656Kar7rqQBgIAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tl.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA88AAAAMCAMAAABrwX92AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMlQTFRFxdnjv9Xhr8vbts/es83dutLfvdTgss3crMjazt/mrMnawdbhtc/dt9Dextnjrcrbsczcu9LfsMvc0uHn0ODmyNvk0eHnwtfirsrbytzkw9jiwNbh6O/yzN3lz9/mzd7lydvkx9rj0+LovNPg/f7+8vb3xtrju9Pf4+3w0+Hny93k1OLo+fv87PL0/v7++Pr7zN7l8fb47PL14evv4uzw6vH0zt/l6fDzxNnivtXgtc7dr8rbsszcudHfrcnby93l7fP1q8ja////pkJuwAAAAEN0Uk5T////////////////////////////////////////////////////////////////////////////////////////AEFiBO8AAADcSURBVHja7NUHTsNAFITht9XdcUnvCZ0UejMsC77/obDCKZ403xFG+jXU/js+/AAAb490qnn/vKv70ep+4QGArcWp57ftMPLrzSURvQMAU13AXc7X9dIPaJrMhBAfAMCUEF3PL3U0yUfCnpXGOADgyhhq77bLCSW2dJlSKk0bAGApTRW1T0OfJ9ZljdZB8AUAbAV0fhMNRtYpXVSVlJ8AwJWUdNH3JMpMF3Lc+wYAzujwup5a1xSyF8dh+AsAXIUhzVeb5CrT1TjGHADM0fw2nxkVdPeMMQCY+xNgAGxG2LimrQDhAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tr.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDAAyAOZsAK7K26zJ2qu+x7DL3LLN3K3J26+8wbrS37bP3rjQ3rDJ2K7Dz8DW4bHJ2LrR3cjb5MXY4Mnb48nb4bjK0rDFz7TAxb3S3rHCyrbI0bvT37zT4LfO3LHM3LrO17fO2rC/xbfM1rvS38ze5bTK1c3d5LfQ3rTH0bLG0L7N0sDR2MHO1MnZ37TO3bbFy7LL28DV4LHK2q/AybPJ1a/Ez6u7w8nX3ay/yKq7wrDI1LvQ3LXM2sTY4b7S3K27wL7V4L3Q17O/xa2/yMLU3c/e5LTM27vM0q67wK/K28PX4bPN3bDK2q6+xLjFyr3Kz7XO3bPDysTU26/L26y8w83c4rjGy8fa48LR1628w66/yMHV3rLK2bHI1cLX4rPAxcbV2rDH1MbZ48zd5Kq+x63Dzqq6wq3K26y6wKzI2q/I2K/H1K/J2qvI2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGwALAAAAAAMADIAAAf9gGyCg4SCImEkQ1M1hWxgVQ8REiteKoQMDFxIOxBQVk2DBxkaPi9ZQikoTIIIJQkHIRY8P0VUQGwESSwICQ45HRMtFWxRAxwEThseIBhPXWwFAAADBEQ6IyYXHwZnAdEDLloyJzFLBmtrZwVHMA1bFFhX5+gBAEoKODNBUkboa/VqFHxZYINGD38A0aRZIOCGGYRl1CgcI4DMQ3RnIk6seDGdxjQULfrLKBGkGJEYP4452ZHkRJYjVcJMWXIlSo81Z+J8edOlyZ4ygeYUyrNlUKNDkRaNmZTpUppPd/5UOtVpVahXpdqkutVqV6xfter0GZbs2KNezzYFq7ZoIAA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tr.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAyCAMAAABf28oIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUdQTFRFrsrbrMnaq77HsMvcss3crcnbr7zButLfts/euNDesMnYrsPPwNbhscnYutHdyNvkxdjgydvjydvhuMrSsMXPtMDFvdLescLKtsjRu9PfvNPgt87csczcus7Xt87asL/Ft8zWu9LfzN7ltMrVzd3kt9DetMfRssbQvs3SwNHYwc7UydnftM7dtsXLssvbwNXgscrar8DJs8nVr8TPq7vDydfdrL/IqrvCsMjUu9DctczaxNjhvtLcrbvAvtXgvdDXs7/Frb/IwtTdz97ktMzbu8zSrrvAr8rbw9fhs83dsMrarr7EuMXKvcrPtc7ds8PKxNTbr8vbrLzDzdziuMbLx9rjwtHXrbzDrr/IwdXessrZscjVwtfis8DFxtXasMfUxtnjzN3kqr7HrcPOqrrCrcrbrLrArMjar8jYr8fUr8naq8jaAAAAZmJJ4wAAAG10Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AC221EsAAACxSURBVHjaYshBAgxKiSrOwaZQTkIov6CQdpwWmMPDE+NhLRAQ5gvisEtK2elHOmlq+AA5HKqc7IpiNvauIQ45DCyeOhycfJaywrqiOQyBzDIsftJyChL+sTkMrAwMzCwuVspq4vJsDOmMrAzMelFG6obebAzZ2ems7ga80SIR4SBONiODF5eFsWOQG4STxRXPbWZiC+VkZHIzmaeBOalATjJTCpiTToCTNMoZ7ByAAAMAMXnTwpvpjk4AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/desc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoyMFo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAEAAACDYyPAcmtsJyDVDKKWQEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWANUAAP////39/fr6+vj4+PX19fDw8Ovr6+np6ebm5uTk5N/f39zc3Nra2tfX19XV1dLS0svLy8jIyL6+vre3t7S0tLKysq+vr6ioqKOjo56enpubm5aWlpGRkY+Pj4yMjIeHh4KCgoCAgH19fXZ2dnNzc3FxcW5ubmlpaWdnZ2RkZGJiYl9fX11dXVpaWlVVVVNTU1BQUE5OTktLS0lJSUZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABCABYAAAb/QIBwSCwaj8ikcslsOp/QqLQZmFqvRAHngYxsBEaCw3EYHhwE5IFykZSLZ7RQPK4PBxzaimGEtGgcaXMZL4UvH0IXLw5HEoaFF0MEIo8RAA6PhUMWNC8xKw1EES0xLzQYQ5QfY2yJi0YRh2UKlBRCHC8XDhEZZZgcdYxCBiQzLzIqC0KjpTMhBUIULxlHisJEKCiCAAQoLEIvJEaYkUcGIzKeKAt+pTQgA0Pe20TWRQrTRYSMLyjjuUnOGYOBgtQxENsOHEJij4g0S6IA4gpEBJOICxjfEDmXDgaMYx/iDSHH8FU9kyMBTnrBguKlTNeIFCjx0ZMGMBUBVkPpKubL2XKXKLFQ8HNJgRM1Y3Qwgo9DSZ+ObBFxJKGIIxFFkywwUcrjMQ1ViLDwt9OnQkREcGkcQuJF1iMLUKSLkWLFRxlgTwK91NMIJaJC8GE14u1tkQUr0skgkSCCV7xhubUF5gCXJUUcMGJkpIAFCwkOKHgGnCHDmA/5LGoGyiCxCxkjDAiZ8DjvHEqFWFADoChTOQcoDKEADAC1od2YMglhwEIxCdlDKsjwSKMCnDFQFJAxEqdJgQ4yZjw3UiGGjBN8sKjP4mH8EQsnEKyfP0QAvSIB5NPfz7+/+iAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+ff39/X19fPz8/Hx8e/v7+3t7evr6+np6efn5+bm5uTk5OLi4uDg4N7e3tzc3NjY2NbW1tLS0tDQ0M7OzsrKysjIyMbGxsLCwsDAwLy8vLq6ura2trS0tLOzs7Gxsa+vr62traurq6mpqaenp6WlpaOjo52dnZubm5mZmZGRkY+Pj42NjYuLi4eHh4WFhYODg4GBgYCAgH5+fnp6enh4eHZ2dnR0dHBwcG5ubmxsbGpqamhoaGZmZmRkZGJiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFJSUlBQUE5OTk1NTUtLS0lJSUdHR0VFRUNDQ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFMALAAAAAA/ACAAAAf/gFNTAISFhoeIiYqLjIiDjZCRkpOUlZaXmJmam5ydnp+goaKjpKWmp6igARomF4UCHCIABiAlJrcnDxQoroQKJRsOKSYlIyUnIASeAS5PQxGEAzZFAAxCSUFCQkUXDD1GEADMTRgWSEJGSkNDOAfLLUlMMsoDNUQAC0UzCQz9yhhNYATIwGRFgAENFqh4UmHBggDLXPx4wQQEAAE07i0w8iIRCyUhdvBAYKgElAWhmPlogOOIAwAZ8Q3hUQJFChIFCBG4scRIhUMmoDRIKZHAhCTzYi4IYkSHyBruxM14UiScoaBDVUk8ECBFkxIxhuArIgNBAgUKIAIQoeSEkBtRiQlhJfqDZIEeRYIAwWekBaIIR2oA+PDkxFWhdEkCMLfkBz4iOTpI9vBgAA0kEgAMuJFkQqG5qlrsiJtCSQ98QJpAWS3lhAgnhglRODJabpSsoAgQUCtOt7gDCMwmSFDgQFpDBxYIIFRAwfJU0CkFEBCgunXr0TXxzs69u/fv4MOLdzRekqDykAIBADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+fj4+Pb29vT09PLy8vDw8O7u7urq6unp6efn5+Xl5ePj4+Hh4d/f393d3dvb29ra2tjY2NbW1tTU1NDQ0M7OzszMzMvLy8nJycfHx8XFxcPDw8HBwb+/v729vby8vLq6uri4uLa2trKysq6urq2traurq6mpqaenp6Ojo6GhoZ+fn56enpycnJqampiYmJSUlJCQkI+Pj42NjYWFhYODg4GBgYCAgHx8fHp6enh4eHZ2dnR0dHJycnFxcW9vb21tbWtra2lpaWVlZWNjY2JiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFNTU1FRUU9PT01NTUtLS0lJSUdHR0JCQkBAQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFkALAAAAAA/ACAAAAf/gACCg4SFhoeIiYqGWVmLj5CRj46SlZaXmJmam5ydnp+goaKjpKWmp6ipmwMYICAfFQSCE64hGQuCBx4fvLwMGhwBgwMbG6IFOVFJyzsQAC1QSkpIRikAEUtOS0xMShc1URKDE0o2xzpCBQclVDYCLUsSAxFBTRQOUjQQFPwBH1MuBqmoguEcEAEAAjDxYYCFkgaCVkT5wGDKikIIiAwpAKCAjyDCQhXQEQRBgRJWbARgsUTEhBBHkkBw8ARHiBEkPCCM8UQDAAtVRIwqgCOKkiVJekwAwAKKkSVPgHQAIGGJkiJGjuAYAGDCFBkAZCRhMDSHEQ8dKMh6tkQDCiojnQRJiDLDAYQIDkLuEALhyAyE534YcpFEgQAfSA5QnWLNEIcpN5IUHKoDCFdCLpQ4ACCCyotrUWhUGG0hgaAEQ6rwCHmMB5HLg2A8cWagR5UND55YucIbiwlBAWBcOVEqwIIGrAUpkLBWQYUFAyRMmD4dwaADFDiq2n6JwIABAsIL+E4gOfdEAgKoX7/+vPv38OPLn0+//iVK9hU1CgQAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/thickbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/wait.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhKwALAPEAADc8QP///5ianP///yH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAACsACwAAAjKEjgjLltnYg/PFChveVvPLheA2hlhZoWYnfd6avqcMZy1J14fKLvrEs/k+uKAgMkwVAAAh+QQJCgAAACwAAAAAKwALAAACPcSOCMsgD2FjsZqEx6x885hh3veMZJiYn8qhSkNKcCy4B2vNsa3pJA6yAWUUGm9Y8n2Oyk7T4posYlLHrwAAIfkECQoAAAAsAAAAACsACwAAAj2EjgjLMA9hY6maalvcb+IPChO3eeF5jKTUoKi6DqYLwutMYzaJ58nO6flSmpisNcwwjEfK6fKZLGJSqK4AACH5BAkKAAAALAAAAAArAAsAAAJAhI4Iy5bZ2JiUugcbfrH6uWVMqDSfRx5RKnQnxa6p+w6xNpu1nY/9suORZENd7eYrSnbIRRMQvGAizhAV+gIUAAA7AAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/lib/jquery-1.7.2.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpRdWVyeSB2MS43LjIganF1ZXJ5LmNvbSB8IGpxdWVyeS5vcmcvbGljZW5zZSAqLwooZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjeShhKXtyZXR1cm4gZi5pc1dpbmRvdyhhKT9hOmEubm9kZVR5cGU9PT05P2EuZGVmYXVsdFZpZXd8fGEucGFyZW50V2luZG93OiExfWZ1bmN0aW9uIGN1KGEpe2lmKCFjalthXSl7dmFyIGI9Yy5ib2R5LGQ9ZigiPCIrYSsiPiIpLmFwcGVuZFRvKGIpLGU9ZC5jc3MoImRpc3BsYXkiKTtkLnJlbW92ZSgpO2lmKGU9PT0ibm9uZSJ8fGU9PT0iIil7Y2t8fChjaz1jLmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpLGNrLmZyYW1lQm9yZGVyPWNrLndpZHRoPWNrLmhlaWdodD0wKSxiLmFwcGVuZENoaWxkKGNrKTtpZighY2x8fCFjay5jcmVhdGVFbGVtZW50KWNsPShjay5jb250ZW50V2luZG93fHxjay5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGNsLndyaXRlKChmLnN1cHBvcnQuYm94TW9kZWw/IjwhZG9jdHlwZSBodG1sPiI6IiIpKyI8aHRtbD48Ym9keT4iKSxjbC5jbG9zZSgpO2Q9Y2wuY3JlYXRlRWxlbWVudChhKSxjbC5ib2R5LmFwcGVuZENoaWxkKGQpLGU9Zi5jc3MoZCwiZGlzcGxheSIpLGIucmVtb3ZlQ2hpbGQoY2spfWNqW2FdPWV9cmV0dXJuIGNqW2FdfWZ1bmN0aW9uIGN0KGEsYil7dmFyIGM9e307Zi5lYWNoKGNwLmNvbmNhdC5hcHBseShbXSxjcC5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0pO3JldHVybiBjfWZ1bmN0aW9uIGNzKCl7Y3E9Yn1mdW5jdGlvbiBjcigpe3NldFRpbWVvdXQoY3MsMCk7cmV0dXJuIGNxPWYubm93KCl9ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1mdW5jdGlvbiBjaCgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBjYihhLGMpe2EuZGF0YUZpbHRlciYmKGM9YS5kYXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5cGVzLGU9e30sZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2ZvcihnPTE7ZzxpO2crKyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVvZiBoPT0ic3RyaW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbaF0pO2w9ayxrPWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZsIT09ayl7bT1sKyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9yKG8gaW4gZSl7aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIpe3A9ZVtqWzFdKyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAmJihuPW8pO2JyZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBmcm9tICIrbS5yZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpwKG8oYykpKX19cmV0dXJuIGN9ZnVuY3Rpb24gY2EoYSxjLGQpe3ZhciBlPWEuY29udGVudHMsZj1hLmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztmb3IoaSBpbiBnKWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIqIilmLnNoaWZ0KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYmZVtpXS50ZXN0KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1mWzBdO2Vsc2V7Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIgIitmWzBdXSl7aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09ZlswXSYmZi51bnNoaWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBiXyhhLGIsYyxkKXtpZihmLmlzQXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRC50ZXN0KGEpP2QoYSxlKTpiXyhhKyJbIisodHlwZW9mIGU9PSJvYmplY3QiP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKCFjJiZmLnR5cGUoYik9PT0ib2JqZWN0Iilmb3IodmFyIGUgaW4gYiliXyhhKyJbIitlKyJdIixiW2VdLGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rpb24gYiQoYSxjKXt2YXIgZCxlLGc9Zi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihkIGluIGMpY1tkXSE9PWImJigoZ1tkXT9hOmV8fChlPXt9KSlbZF09Y1tkXSk7ZSYmZi5leHRlbmQoITAsYSxlKX1mdW5jdGlvbiBiWihhLGMsZCxlLGYsZyl7Zj1mfHxjLmRhdGFUeXBlc1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtmXSxpPTAsaj1oP2gubGVuZ3RoOjAsaz1hPT09YlMsbDtmb3IoO2k8aiYmKGt8fCFsKTtpKyspbD1oW2ldKGMsZCxlKSx0eXBlb2YgbD09InN0cmluZyImJigha3x8Z1tsXT9sPWI6KGMuZGF0YVR5cGVzLnVuc2hpZnQobCksbD1iWihhLGMsZCxlLGwsZykpKTsoa3x8IWwpJiYhZ1siKiJdJiYobD1iWihhLGMsZCxlLCIqIixnKSk7cmV0dXJuIGx9ZnVuY3Rpb24gYlkoYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7dHlwZW9mIGIhPSJzdHJpbmciJiYoYz1iLGI9IioiKTtpZihmLmlzRnVuY3Rpb24oYykpe3ZhciBkPWIudG9Mb3dlckNhc2UoKS5zcGxpdChiTyksZT0wLGc9ZC5sZW5ndGgsaCxpLGo7Zm9yKDtlPGc7ZSsrKWg9ZFtlXSxqPS9eXCsvLnRlc3QoaCksaiYmKGg9aC5zdWJzdHIoMSl8fCIqIiksaT1hW2hdPWFbaF18fFtdLGlbaj8idW5zaGlmdCI6InB1c2giXShjKX19fWZ1bmN0aW9uIGJCKGEsYixjKXt2YXIgZD1iPT09IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGU9Yj09PSJ3aWR0aCI/MTowLGc9NDtpZihkPjApe2lmKGMhPT0iYm9yZGVyIilmb3IoO2U8ZztlKz0yKWN8fChkLT1wYXJzZUZsb2F0KGYuY3NzKGEsInBhZGRpbmciK2J4W2VdKSl8fDApLGM9PT0ibWFyZ2luIj9kKz1wYXJzZUZsb2F0KGYuY3NzKGEsYytieFtlXSkpfHwwOmQtPXBhcnNlRmxvYXQoZi5jc3MoYSwiYm9yZGVyIitieFtlXSsiV2lkdGgiKSl8fDA7cmV0dXJuIGQrInB4In1kPWJ5KGEsYik7aWYoZDwwfHxkPT1udWxsKWQ9YS5zdHlsZVtiXTtpZihidC50ZXN0KGQpKXJldHVybiBkO2Q9cGFyc2VGbG9hdChkKXx8MDtpZihjKWZvcig7ZTxnO2UrPTIpZCs9cGFyc2VGbG9hdChmLmNzcyhhLCJwYWRkaW5nIitieFtlXSkpfHwwLGMhPT0icGFkZGluZyImJihkKz1wYXJzZUZsb2F0KGYuY3NzKGEsImJvcmRlciIrYnhbZV0rIldpZHRoIikpfHwwKSxjPT09Im1hcmdpbiImJihkKz1wYXJzZUZsb2F0KGYuY3NzKGEsYytieFtlXSkpfHwwKTtyZXR1cm4gZCsicHgifWZ1bmN0aW9uIGJvKGEpe3ZhciBiPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YmguYXBwZW5kQ2hpbGQoYiksYi5pbm5lckhUTUw9YS5vdXRlckhUTUw7cmV0dXJuIGIuZmlyc3RDaGlsZH1mdW5jdGlvbiBibihhKXt2YXIgYj0oYS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7Yj09PSJpbnB1dCI/Ym0oYSk6YiE9PSJzY3JpcHQiJiZ0eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCImJmYuZ3JlcChhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpLGJtKX1mdW5jdGlvbiBibShhKXtpZihhLnR5cGU9PT0iY2hlY2tib3gifHxhLnR5cGU9PT0icmFkaW8iKWEuZGVmYXVsdENoZWNrZWQ9YS5jaGVja2VkfWZ1bmN0aW9uIGJsKGEpe3JldHVybiB0eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCI/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOnR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGwhPSJ1bmRlZmluZWQiP2EucXVlcnlTZWxlY3RvckFsbCgiKiIpOltdfWZ1bmN0aW9uIGJrKGEsYil7dmFyIGM7Yi5ub2RlVHlwZT09PTEmJihiLmNsZWFyQXR0cmlidXRlcyYmYi5jbGVhckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyYmYi5tZXJnZUF0dHJpYnV0ZXMoYSksYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksYz09PSJvYmplY3QiP2Iub3V0ZXJIVE1MPWEub3V0ZXJIVE1MOmMhPT0iaW5wdXQifHxhLnR5cGUhPT0iY2hlY2tib3giJiZhLnR5cGUhPT0icmFkaW8iP2M9PT0ib3B0aW9uIj9iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOmM9PT0iaW5wdXQifHxjPT09InRleHRhcmVhIj9iLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZTpjPT09InNjcmlwdCImJmIudGV4dCE9PWEudGV4dCYmKGIudGV4dD1hLnRleHQpOihhLmNoZWNrZWQmJihiLmRlZmF1bHRDaGVja2VkPWIuY2hlY2tlZD1hLmNoZWNrZWQpLGIudmFsdWUhPT1hLnZhbHVlJiYoYi52YWx1ZT1hLnZhbHVlKSksYi5yZW1vdmVBdHRyaWJ1dGUoZi5leHBhbmRvKSxiLnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLGIucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGJqKGEsYil7aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYyxkLGUsZz1mLl9kYXRhKGEpLGg9Zi5fZGF0YShiLGcpLGk9Zy5ldmVudHM7aWYoaSl7ZGVsZXRlIGguaGFuZGxlLGguZXZlbnRzPXt9O2ZvcihjIGluIGkpZm9yKGQ9MCxlPWlbY10ubGVuZ3RoO2Q8ZTtkKyspZi5ldmVudC5hZGQoYixjLGlbY11bZF0pfWguZGF0YSYmKGguZGF0YT1mLmV4dGVuZCh7fSxoLmRhdGEpKX19ZnVuY3Rpb24gYmkoYSxiKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJsZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gVShhKXt2YXIgYj1WLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfWZ1bmN0aW9uIFQoYSxiLGMpe2I9Ynx8MDtpZihmLmlzRnVuY3Rpb24oYikpcmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7dmFyIGU9ISFiLmNhbGwoYSxkLGEpO3JldHVybiBlPT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGE9PT1iPT09Y30pO2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7dmFyIGQ9Zi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PT0xfSk7aWYoTy50ZXN0KGIpKXJldHVybiBmLmZpbHRlcihiLGQsIWMpO2I9Zi5maWx0ZXIoYixkKX1yZXR1cm4gZi5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4gZi5pbkFycmF5KGEsYik+PTA9PT1jfSl9ZnVuY3Rpb24gUyhhKXtyZXR1cm4hYXx8IWEucGFyZW50Tm9kZXx8YS5wYXJlbnROb2RlLm5vZGVUeXBlPT09MTF9ZnVuY3Rpb24gSygpe3JldHVybiEwfWZ1bmN0aW9uIEooKXtyZXR1cm4hMX1mdW5jdGlvbiBuKGEsYixjKXt2YXIgZD1iKyJkZWZlciIsZT1iKyJxdWV1ZSIsZz1iKyJtYXJrIixoPWYuX2RhdGEoYSxkKTtoJiYoYz09PSJxdWV1ZSJ8fCFmLl9kYXRhKGEsZSkpJiYoYz09PSJtYXJrInx8IWYuX2RhdGEoYSxnKSkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXshZi5fZGF0YShhLGUpJiYhZi5fZGF0YShhLGcpJiYoZi5yZW1vdmVEYXRhKGEsZCwhMCksaC5maXJlKCkpfSwwKX1mdW5jdGlvbiBtKGEpe2Zvcih2YXIgYiBpbiBhKXtpZihiPT09ImRhdGEiJiZmLmlzRW1wdHlPYmplY3QoYVtiXSkpY29udGludWU7aWYoYiE9PSJ0b0pTT04iKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGwoYSxjLGQpe2lmKGQ9PT1iJiZhLm5vZGVUeXBlPT09MSl7dmFyIGU9ImRhdGEtIitjLnJlcGxhY2UoaywiLSQxIikudG9Mb3dlckNhc2UoKTtkPWEuZ2V0QXR0cmlidXRlKGUpO2lmKHR5cGVvZiBkPT0ic3RyaW5nIil7dHJ5e2Q9ZD09PSJ0cnVlIj8hMDpkPT09ImZhbHNlIj8hMTpkPT09Im51bGwiP251bGw6Zi5pc051bWVyaWMoZCk/K2Q6ai50ZXN0KGQpP2YucGFyc2VKU09OKGQpOmR9Y2F0Y2goZyl7fWYuZGF0YShhLGMsZCl9ZWxzZSBkPWJ9cmV0dXJuIGR9ZnVuY3Rpb24gaChhKXt2YXIgYj1nW2FdPXt9LGMsZDthPWEuc3BsaXQoL1xzKy8pO2ZvcihjPTAsZD1hLmxlbmd0aDtjPGQ7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGM9YS5kb2N1bWVudCxkPWEubmF2aWdhdG9yLGU9YS5sb2NhdGlvbixmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gSigpe2lmKCFlLmlzUmVhZHkpe3RyeXtjLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKGEpe3NldFRpbWVvdXQoSiwxKTtyZXR1cm59ZS5yZWFkeSgpfX12YXIgZT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZS5mbi5pbml0KGEsYixoKX0sZj1hLmpRdWVyeSxnPWEuJCxoLGk9L14oPzpbXiM8XSooPFtcd1xXXSs+KVtePl0qJHwjKFtcd1wtXSopJCkvLGo9L1xTLyxrPS9eXHMrLyxsPS9ccyskLyxtPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8sbj0vXltcXSw6e31cc10qJC8sbz0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLHA9LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLHE9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyxyPS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHM9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLHQ9Lyhtc2llKSAoW1x3Ll0rKS8sdT0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHY9Ly0oW2Etel18WzAtOV0pL2lnLHc9L14tbXMtLyx4PWZ1bmN0aW9uKGEsYil7cmV0dXJuKGIrIiIpLnRvVXBwZXJDYXNlKCl9LHk9ZC51c2VyQWdlbnQseixBLEIsQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEY9QXJyYXkucHJvdG90eXBlLnNsaWNlLEc9U3RyaW5nLnByb3RvdHlwZS50cmltLEg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsST17fTtlLmZuPWUucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjplLGluaXQ6ZnVuY3Rpb24oYSxkLGYpe3ZhciBnLGgsaixrO2lmKCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10aGlzWzBdPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHkiJiYhZCYmYy5ib2R5KXt0aGlzLmNvbnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlzLnNlbGVjdG9yPWEsdGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZih0eXBlb2YgYT09InN0cmluZyIpe2EuY2hhckF0KDApIT09IjwifHxhLmNoYXJBdChhLmxlbmd0aC0xKSE9PSI+Inx8YS5sZW5ndGg8Mz9nPWkuZXhlYyhhKTpnPVtudWxsLGEsbnVsbF07aWYoZyYmKGdbMV18fCFkKSl7aWYoZ1sxXSl7ZD1kIGluc3RhbmNlb2YgZT9kWzBdOmQsaz1kP2Qub3duZXJEb2N1bWVudHx8ZDpjLGo9bS5leGVjKGEpLGo/ZS5pc1BsYWluT2JqZWN0KGQpPyhhPVtjLmNyZWF0ZUVsZW1lbnQoalsxXSldLGUuZm4uYXR0ci5jYWxsKGEsZCwhMCkpOmE9W2suY3JlYXRlRWxlbWVudChqWzFdKV06KGo9ZS5idWlsZEZyYWdtZW50KFtnWzFdXSxba10pLGE9KGouY2FjaGVhYmxlP2UuY2xvbmUoai5mcmFnbWVudCk6ai5mcmFnbWVudCkuY2hpbGROb2Rlcyk7cmV0dXJuIGUubWVyZ2UodGhpcyxhKX1oPWMuZ2V0RWxlbWVudEJ5SWQoZ1syXSk7aWYoaCYmaC5wYXJlbnROb2RlKXtpZihoLmlkIT09Z1syXSlyZXR1cm4gZi5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1ofXRoaXMuY29udGV4dD1jLHRoaXMuc2VsZWN0b3I9YTtyZXR1cm4gdGhpc31yZXR1cm4hZHx8ZC5qcXVlcnk/KGR8fGYpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihkKS5maW5kKGEpfWlmKGUuaXNGdW5jdGlvbihhKSlyZXR1cm4gZi5yZWFkeShhKTthLnNlbGVjdG9yIT09YiYmKHRoaXMuc2VsZWN0b3I9YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KTtyZXR1cm4gZS5tYWtlQXJyYXkoYSx0aGlzKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBGLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP3RoaXMudG9BcnJheSgpOmE8MD90aGlzW3RoaXMubGVuZ3RoK2FdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5jb25zdHJ1Y3RvcigpO2UuaXNBcnJheShhKT9FLmFwcGx5KGQsYSk6ZS5tZXJnZShkLGEpLGQucHJldk9iamVjdD10aGlzLGQuY29udGV4dD10aGlzLmNvbnRleHQsYj09PSJmaW5kIj9kLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0b3I/IiAiOiIiKStjOmImJihkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4iK2IrIigiK2MrIikiKTtyZXR1cm4gZH0sZWFjaDpmdW5jdGlvbihhLGIpe3JldHVybiBlLmVhY2godGhpcyxhLGIpfSxyZWFkeTpmdW5jdGlvbihhKXtlLmJpbmRSZWFkeSgpLEEuYWRkKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXthPSthO3JldHVybiBhPT09LTE/dGhpcy5zbGljZShhKTp0aGlzLnNsaWNlKGEsYSsxKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRi5hcHBseSh0aGlzLGFyZ3VtZW50cyksInNsaWNlIixGLmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5jYWxsKGIsYyxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpFLHNvcnQ6W10uc29ydCxzcGxpY2U6W10uc3BsaWNlfSxlLmZuLmluaXQucHJvdG90eXBlPWUuZm4sZS5leHRlbmQ9ZS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZixnLGgsaT1hcmd1bWVudHNbMF18fHt9LGo9MSxrPWFyZ3VtZW50cy5sZW5ndGgsbD0hMTt0eXBlb2YgaT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFdfHx7fSxqPTIpLHR5cGVvZiBpIT0ib2JqZWN0IiYmIWUuaXNGdW5jdGlvbihpKSYmKGk9e30pLGs9PT1qJiYoaT10aGlzLC0taik7Zm9yKDtqPGs7aisrKWlmKChhPWFyZ3VtZW50c1tqXSkhPW51bGwpZm9yKGMgaW4gYSl7ZD1pW2NdLGY9YVtjXTtpZihpPT09Ziljb250aW51ZTtsJiZmJiYoZS5pc1BsYWluT2JqZWN0KGYpfHwoZz1lLmlzQXJyYXkoZikpKT8oZz8oZz0hMSxoPWQmJmUuaXNBcnJheShkKT9kOltdKTpoPWQmJmUuaXNQbGFpbk9iamVjdChkKT9kOnt9LGlbY109ZS5leHRlbmQobCxoLGYpKTpmIT09YiYmKGlbY109Zil9cmV0dXJuIGl9LGUuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGIpe2EuJD09PWUmJihhLiQ9ZyksYiYmYS5qUXVlcnk9PT1lJiYoYS5qUXVlcnk9Zik7cmV0dXJuIGV9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/ZS5yZWFkeVdhaXQrKzplLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7aWYoYT09PSEwJiYhLS1lLnJlYWR5V2FpdHx8YSE9PSEwJiYhZS5pc1JlYWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7ZS5pc1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1lLnJlYWR5V2FpdD4wKXJldHVybjtBLmZpcmVXaXRoKGMsW2VdKSxlLmZuLnRyaWdnZXImJmUoYykudHJpZ2dlcigicmVhZHkiKS5vZmYoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZighQSl7QT1lLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKTtpZihjLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXJldHVybiBzZXRUaW1lb3V0KGUucmVhZHksMSk7aWYoYy5hZGRFdmVudExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixlLnJlYWR5LCExKTtlbHNlIGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsQiksYS5hdHRhY2hFdmVudCgib25sb2FkIixlLnJlYWR5KTt2YXIgYj0hMTt0cnl7Yj1hLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChkKXt9Yy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwmJmImJkooKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUoYSk9PT0iZnVuY3Rpb24ifSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUoYSk9PT0iYXJyYXkifSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSE9bnVsbCYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4haXNOYU4ocGFyc2VGbG9hdChhKSkmJmlzRmluaXRlKGEpfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP1N0cmluZyhhKTpJW0MuY2FsbChhKV18fCJvYmplY3QifSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe2lmKCFhfHxlLnR5cGUoYSkhPT0ib2JqZWN0Inx8YS5ub2RlVHlwZXx8ZS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUQuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhRC5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9dmFyIGQ7Zm9yKGQgaW4gYSk7cmV0dXJuIGQ9PT1ifHxELmNhbGwoYSxkKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxwYXJzZUpTT046ZnVuY3Rpb24oYil7aWYodHlwZW9mIGIhPSJzdHJpbmcifHwhYilyZXR1cm4gbnVsbDtiPWUudHJpbShiKTtpZihhLkpTT04mJmEuSlNPTi5wYXJzZSlyZXR1cm4gYS5KU09OLnBhcnNlKGIpO2lmKG4udGVzdChiLnJlcGxhY2UobywiQCIpLnJlcGxhY2UocCwiXSIpLnJlcGxhY2UocSwiIikpKXJldHVybihuZXcgRnVuY3Rpb24oInJldHVybiAiK2IpKSgpO2UuZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0scGFyc2VYTUw6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMhPSJzdHJpbmcifHwhYylyZXR1cm4gbnVsbDt2YXIgZCxmO3RyeXthLkRPTVBhcnNlcj8oZj1uZXcgRE9NUGFyc2VyLGQ9Zi5wYXJzZUZyb21TdHJpbmcoYywidGV4dC94bWwiKSk6KGQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxkLmFzeW5jPSJmYWxzZSIsZC5sb2FkWE1MKGMpKX1jYXRjaChnKXtkPWJ9KCFkfHwhZC5kb2N1bWVudEVsZW1lbnR8fGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RoKSYmZS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYyk7cmV0dXJuIGR9LG5vb3A6ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHcsIm1zLSIpLnJlcGxhY2Uodix4KX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZixnPTAsaD1hLmxlbmd0aCxpPWg9PT1ifHxlLmlzRnVuY3Rpb24oYSk7aWYoZCl7aWYoaSl7Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZCk9PT0hMSlicmVha31lbHNlIGZvcig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxkKT09PSExKWJyZWFrfWVsc2UgaWYoaSl7Zm9yKGYgaW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoO2c8aDspaWYoYy5jYWxsKGFbZ10sZyxhW2crK10pPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06Rz9mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjpHLmNhbGwoYSl9OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyIiOihhKyIiKS5yZXBsYWNlKGssIiIpLnJlcGxhY2UobCwiIil9LG1ha2VBcnJheTpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fFtdO2lmKGEhPW51bGwpe3ZhciBkPWUudHlwZShhKTthLmxlbmd0aD09bnVsbHx8ZD09PSJzdHJpbmcifHxkPT09ImZ1bmN0aW9uInx8ZD09PSJyZWdleHAifHxlLmlzV2luZG93KGEpP0UuY2FsbChjLGEpOmUubWVyZ2UoYyxhKX1yZXR1cm4gY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoYil7aWYoSClyZXR1cm4gSC5jYWxsKGIsYSxjKTtkPWIubGVuZ3RoLGM9Yz9jPDA/TWF0aC5tYXgoMCxkK2MpOmM6MDtmb3IoO2M8ZDtjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxjKXt2YXIgZD1hLmxlbmd0aCxlPTA7aWYodHlwZW9mIGMubGVuZ3RoPT0ibnVtYmVyIilmb3IodmFyIGY9Yy5sZW5ndGg7ZTxmO2UrKylhW2QrK109Y1tlXTtlbHNlIHdoaWxlKGNbZV0hPT1iKWFbZCsrXT1jW2UrK107YS5sZW5ndGg9ZDtyZXR1cm4gYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZTtjPSEhYztmb3IodmFyIGY9MCxnPWEubGVuZ3RoO2Y8ZztmKyspZT0hIWIoYVtmXSxmKSxjIT09ZSYmZC5wdXNoKGFbZl0pO3JldHVybiBkfSxtYXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBmLGcsaD1bXSxpPTAsaj1hLmxlbmd0aCxrPWEgaW5zdGFuY2VvZiBlfHxqIT09YiYmdHlwZW9mIGo9PSJudW1iZXIiJiYoaj4wJiZhWzBdJiZhW2otMV18fGo9PT0wfHxlLmlzQXJyYXkoYSkpO2lmKGspZm9yKDtpPGo7aSsrKWY9YyhhW2ldLGksZCksZiE9bnVsbCYmKGhbaC5sZW5ndGhdPWYpO2Vsc2UgZm9yKGcgaW4gYSlmPWMoYVtnXSxnLGQpLGYhPW51bGwmJihoW2gubGVuZ3RoXT1mKTtyZXR1cm4gaC5jb25jYXQuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIil7dmFyIGQ9YVtjXTtjPWEsYT1kfWlmKCFlLmlzRnVuY3Rpb24oYSkpcmV0dXJuIGI7dmFyIGY9Ri5jYWxsKGFyZ3VtZW50cywyKSxnPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYyxmLmNvbmNhdChGLmNhbGwoYXJndW1lbnRzKSkpfTtnLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8Zy5ndWlkfHxlLmd1aWQrKztyZXR1cm4gZ30sYWNjZXNzOmZ1bmN0aW9uKGEsYyxkLGYsZyxoLGkpe3ZhciBqLGs9ZD09bnVsbCxsPTAsbT1hLmxlbmd0aDtpZihkJiZ0eXBlb2YgZD09Im9iamVjdCIpe2ZvcihsIGluIGQpZS5hY2Nlc3MoYSxjLGwsZFtsXSwxLGgsZik7Zz0xfWVsc2UgaWYoZiE9PWIpe2o9aT09PWImJmUuaXNGdW5jdGlvbihmKSxrJiYoaj8oaj1jLGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwoZShhKSxjKX0pOihjLmNhbGwoYSxmKSxjPW51bGwpKTtpZihjKWZvcig7bDxtO2wrKyljKGFbbF0sZCxqP2YuY2FsbChhW2xdLGwsYyhhW2xdLGQpKTpmLGkpO2c9MX1yZXR1cm4gZz9hOms/Yy5jYWxsKGEpOm0/YyhhWzBdLGQpOmh9LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGEpe2E9YS50b0xvd2VyQ2FzZSgpO3ZhciBiPXIuZXhlYyhhKXx8cy5leGVjKGEpfHx0LmV4ZWMoYSl8fGEuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnUuZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YlsxXXx8IiIsdmVyc2lvbjpiWzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJuIG5ldyBhLmZuLmluaXQoYixjKX1lLmV4dGVuZCghMCxhLHRoaXMpLGEuc3VwZXJjbGFzcz10aGlzLGEuZm49YS5wcm90b3R5cGU9dGhpcygpLGEuZm4uY29uc3RydWN0b3I9YSxhLnN1Yj10aGlzLnN1YixhLmZuLmluaXQ9ZnVuY3Rpb24oZCxmKXtmJiZmIGluc3RhbmNlb2YgZSYmIShmIGluc3RhbmNlb2YgYSkmJihmPWEoZikpO3JldHVybiBlLmZuLmluaXQuY2FsbCh0aGlzLGQsZixiKX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuO3ZhciBiPWEoYyk7cmV0dXJuIGF9LGJyb3dzZXI6e319KSxlLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtJWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pLHo9ZS51YU1hdGNoKHkpLHouYnJvd3NlciYmKGUuYnJvd3Nlclt6LmJyb3dzZXJdPSEwLGUuYnJvd3Nlci52ZXJzaW9uPXoudmVyc2lvbiksZS5icm93c2VyLndlYmtpdCYmKGUuYnJvd3Nlci5zYWZhcmk9ITApLGoudGVzdCgiwqAiKSYmKGs9L15bXHNceEEwXSsvLGw9L1tcc1x4QTBdKyQvKSxoPWUoYyksYy5hZGRFdmVudExpc3RlbmVyP0I9ZnVuY3Rpb24oKXtjLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEIsITEpLGUucmVhZHkoKX06Yy5hdHRhY2hFdmVudCYmKEI9ZnVuY3Rpb24oKXtjLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiJiYoYy5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixCKSxlLnJlYWR5KCkpfSk7cmV0dXJuIGV9KCksZz17fTtmLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPWE/Z1thXXx8aChhKTp7fTt2YXIgYz1bXSxkPVtdLGUsaSxqLGssbCxtLG49ZnVuY3Rpb24oYil7dmFyIGQsZSxnLGgsaTtmb3IoZD0wLGU9Yi5sZW5ndGg7ZDxlO2QrKylnPWJbZF0saD1mLnR5cGUoZyksaD09PSJhcnJheSI/bihnKTpoPT09ImZ1bmN0aW9uIiYmKCFhLnVuaXF1ZXx8IXAuaGFzKGcpKSYmYy5wdXNoKGcpfSxvPWZ1bmN0aW9uKGIsZil7Zj1mfHxbXSxlPSFhLm1lbW9yeXx8W2IsZl0saT0hMCxqPSEwLG09a3x8MCxrPTAsbD1jLmxlbmd0aDtmb3IoO2MmJm08bDttKyspaWYoY1ttXS5hcHBseShiLGYpPT09ITEmJmEuc3RvcE9uRmFsc2Upe2U9ITA7YnJlYWt9aj0hMSxjJiYoYS5vbmNlP2U9PT0hMD9wLmRpc2FibGUoKTpjPVtdOmQmJmQubGVuZ3RoJiYoZT1kLnNoaWZ0KCkscC5maXJlV2l0aChlWzBdLGVbMV0pKSl9LHA9e2FkZDpmdW5jdGlvbigpe2lmKGMpe3ZhciBhPWMubGVuZ3RoO24oYXJndW1lbnRzKSxqP2w9Yy5sZW5ndGg6ZSYmZSE9PSEwJiYoaz1hLG8oZVswXSxlWzFdKSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe2lmKGMpe3ZhciBiPWFyZ3VtZW50cyxkPTAsZT1iLmxlbmd0aDtmb3IoO2Q8ZTtkKyspZm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspaWYoYltkXT09PWNbZl0pe2omJmY8PWwmJihsLS0sZjw9bSYmbS0tKSxjLnNwbGljZShmLS0sMSk7aWYoYS51bmlxdWUpYnJlYWt9fXJldHVybiB0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7aWYoYyl7dmFyIGI9MCxkPWMubGVuZ3RoO2Zvcig7YjxkO2IrKylpZihhPT09Y1tiXSlyZXR1cm4hMH1yZXR1cm4hMX0sZW1wdHk6ZnVuY3Rpb24oKXtjPVtdO3JldHVybiB0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7Yz1kPWU9YjtyZXR1cm4gdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sbG9jazpmdW5jdGlvbigpe2Q9YiwoIWV8fGU9PT0hMCkmJnAuZGlzYWJsZSgpO3JldHVybiB0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZH0sZmlyZVdpdGg6ZnVuY3Rpb24oYixjKXtkJiYoaj9hLm9uY2V8fGQucHVzaChbYixjXSk6KCFhLm9uY2V8fCFlKSYmbyhiLGMpKTtyZXR1cm4gdGhpc30sZmlyZTpmdW5jdGlvbigpe3AuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhaX19O3JldHVybiBwfTt2YXIgaT1bXS5zbGljZTtmLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9Zi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksYz1mLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxkPWYuQ2FsbGJhY2tzKCJtZW1vcnkiKSxlPSJwZW5kaW5nIixnPXtyZXNvbHZlOmIscmVqZWN0OmMsbm90aWZ5OmR9LGg9e2RvbmU6Yi5hZGQsZmFpbDpjLmFkZCxwcm9ncmVzczpkLmFkZCxzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBlfSxpc1Jlc29sdmVkOmIuZmlyZWQsaXNSZWplY3RlZDpjLmZpcmVkLHRoZW46ZnVuY3Rpb24oYSxiLGMpe2kuZG9uZShhKS5mYWlsKGIpLnByb2dyZXNzKGMpO3JldHVybiB0aGlzfSxhbHdheXM6ZnVuY3Rpb24oKXtpLmRvbmUuYXBwbHkoaSxhcmd1bWVudHMpLmZhaWwuYXBwbHkoaSxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxwaXBlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5EZWZlcnJlZChmdW5jdGlvbihkKXtmLmVhY2goe2RvbmU6W2EsInJlc29sdmUiXSxmYWlsOltiLCJyZWplY3QiXSxwcm9ncmVzczpbYywibm90aWZ5Il19LGZ1bmN0aW9uKGEsYil7dmFyIGM9YlswXSxlPWJbMV0sZztmLmlzRnVuY3Rpb24oYyk/aVthXShmdW5jdGlvbigpe2c9Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyksZyYmZi5pc0Z1bmN0aW9uKGcucHJvbWlzZSk/Zy5wcm9taXNlKCkudGhlbihkLnJlc29sdmUsZC5yZWplY3QsZC5ub3RpZnkpOmRbZSsiV2l0aCJdKHRoaXM9PT1pP2Q6dGhpcyxbZ10pfSk6aVthXShkW2VdKX0pfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpYT1oO2Vsc2UgZm9yKHZhciBiIGluIGgpYVtiXT1oW2JdO3JldHVybiBhfX0saT1oLnByb21pc2Uoe30pLGo7Zm9yKGogaW4gZylpW2pdPWdbal0uZmlyZSxpW2orIldpdGgiXT1nW2pdLmZpcmVXaXRoO2kuZG9uZShmdW5jdGlvbigpe2U9InJlc29sdmVkIn0sYy5kaXNhYmxlLGQubG9jaykuZmFpbChmdW5jdGlvbigpe2U9InJlamVjdGVkIn0sYi5kaXNhYmxlLGQubG9jayksYSYmYS5jYWxsKGksaSk7cmV0dXJuIGl9LHdoZW46ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gbShhKXtyZXR1cm4gZnVuY3Rpb24oYil7ZVthXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3VtZW50cywwKTpiLGoubm90aWZ5V2l0aChrLGUpfX1mdW5jdGlvbiBsKGEpe3JldHVybiBmdW5jdGlvbihjKXtiW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9pLmNhbGwoYXJndW1lbnRzLDApOmMsLS1nfHxqLnJlc29sdmVXaXRoKGosYil9fXZhciBiPWkuY2FsbChhcmd1bWVudHMsMCksYz0wLGQ9Yi5sZW5ndGgsZT1BcnJheShkKSxnPWQsaD1kLGo9ZDw9MSYmYSYmZi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YTpmLkRlZmVycmVkKCksaz1qLnByb21pc2UoKTtpZihkPjEpe2Zvcig7YzxkO2MrKyliW2NdJiZiW2NdLnByb21pc2UmJmYuaXNGdW5jdGlvbihiW2NdLnByb21pc2UpP2JbY10ucHJvbWlzZSgpLnRoZW4obChjKSxqLnJlamVjdCxtKGMpKTotLWc7Z3x8ai5yZXNvbHZlV2l0aChqLGIpfWVsc2UgaiE9PWEmJmoucmVzb2x2ZVdpdGgoaixkP1thXTpbXSk7cmV0dXJuIGt9fSksZi5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIGIsZCxlLGcsaCxpLGosayxsLG0sbixvLHA9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxxPWMuZG9jdW1lbnRFbGVtZW50O3Auc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IikscC5pbm5lckhUTUw9IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYScgc3R5bGU9J3RvcDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPXAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxlPXAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighZHx8IWQubGVuZ3RofHwhZSlyZXR1cm57fTtnPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksaD1nLmFwcGVuZENoaWxkKGMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGk9cC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxiPXtsZWFkaW5nV2hpdGVzcGFjZTpwLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFwLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhcC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovdG9wLy50ZXN0KGUuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDplLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NS8udGVzdChlLnN0eWxlLm9wYWNpdHkpLGNzc0Zsb2F0OiEhZS5zdHlsZS5jc3NGbG9hdCxjaGVja09uOmkudmFsdWU9PT0ib24iLG9wdFNlbGVjdGVkOmguc2VsZWN0ZWQsZ2V0U2V0QXR0cmlidXRlOnAuY2xhc3NOYW1lIT09InQiLGVuY3R5cGU6ISFjLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGh0bWw1Q2xvbmU6Yy5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCE9PSI8Om5hdj48LzpuYXY+IixzdWJtaXRCdWJibGVzOiEwLGNoYW5nZUJ1YmJsZXM6ITAsZm9jdXNpbkJ1YmJsZXM6ITEsZGVsZXRlRXhwYW5kbzohMCxub0Nsb25lRXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xheW91dDohMSxzaHJpbmtXcmFwQmxvY2tzOiExLHJlbGlhYmxlTWFyZ2luUmlnaHQ6ITAscGl4ZWxNYXJnaW46ITB9LGYuYm94TW9kZWw9Yi5ib3hNb2RlbD1jLmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCIsaS5jaGVja2VkPSEwLGIubm9DbG9uZUNoZWNrZWQ9aS5jbG9uZU5vZGUoITApLmNoZWNrZWQsZy5kaXNhYmxlZD0hMCxiLm9wdERpc2FibGVkPSFoLmRpc2FibGVkO3RyeXtkZWxldGUgcC50ZXN0fWNhdGNoKHIpe2IuZGVsZXRlRXhwYW5kbz0hMX0hcC5hZGRFdmVudExpc3RlbmVyJiZwLmF0dGFjaEV2ZW50JiZwLmZpcmVFdmVudCYmKHAuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7Yi5ub0Nsb25lRXZlbnQ9ITF9KSxwLmNsb25lTm9kZSghMCkuZmlyZUV2ZW50KCJvbmNsaWNrIikpLGk9Yy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGkudmFsdWU9InQiLGkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxiLnJhZGlvVmFsdWU9aS52YWx1ZT09PSJ0IixpLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxpLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxwLmFwcGVuZENoaWxkKGkpLGo9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksai5hcHBlbmRDaGlsZChwLmxhc3RDaGlsZCksYi5jaGVja0Nsb25lPWouY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGIuYXBwZW5kQ2hlY2tlZD1pLmNoZWNrZWQsai5yZW1vdmVDaGlsZChpKSxqLmFwcGVuZENoaWxkKHApO2lmKHAuYXR0YWNoRXZlbnQpZm9yKG4gaW57c3VibWl0OjEsY2hhbmdlOjEsZm9jdXNpbjoxfSltPSJvbiIrbixvPW0gaW4gcCxvfHwocC5zZXRBdHRyaWJ1dGUobSwicmV0dXJuOyIpLG89dHlwZW9mIHBbbV09PSJmdW5jdGlvbiIpLGJbbisiQnViYmxlcyJdPW87ai5yZW1vdmVDaGlsZChwKSxqPWc9aD1wPWk9bnVsbCxmKGZ1bmN0aW9uKCl7dmFyIGQsZSxnLGgsaSxqLGwsbSxuLHEscixzLHQsdT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07IXV8fChtPTEsdD0icGFkZGluZzowO21hcmdpbjowO2JvcmRlcjoiLHI9InBvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDsiLHM9dCsiMDt2aXNpYmlsaXR5OmhpZGRlbjsiLG49InN0eWxlPSciK3IrdCsiNXB4IHNvbGlkICMwMDA7IixxPSI8ZGl2ICIrbisiZGlzcGxheTpibG9jazsnPjxkaXYgc3R5bGU9JyIrdCsiMDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjsnPjwvZGl2PjwvZGl2PiIrIjx0YWJsZSAiK24rIicgY2VsbHBhZGRpbmc9JzAnIGNlbGxzcGFjaW5nPScwJz4iKyI8dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPiIsZD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD1zKyJ3aWR0aDowO2hlaWdodDowO3Bvc2l0aW9uOnN0YXRpYzt0b3A6MDttYXJnaW4tdG9wOiIrbSsicHgiLHUuaW5zZXJ0QmVmb3JlKGQsdS5maXJzdENoaWxkKSxwPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5hcHBlbmRDaGlsZChwKSxwLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQgc3R5bGU9JyIrdCsiMDtkaXNwbGF5Om5vbmUnPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGs9cC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxvPWtbMF0ub2Zmc2V0SGVpZ2h0PT09MCxrWzBdLnN0eWxlLmRpc3BsYXk9IiIsa1sxXS5zdHlsZS5kaXNwbGF5PSJub25lIixiLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cz1vJiZrWzBdLm9mZnNldEhlaWdodD09PTAsYS5nZXRDb21wdXRlZFN0eWxlJiYocC5pbm5lckhUTUw9IiIsbD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGwuc3R5bGUud2lkdGg9IjAiLGwuc3R5bGUubWFyZ2luUmlnaHQ9IjAiLHAuc3R5bGUud2lkdGg9IjJweCIscC5hcHBlbmRDaGlsZChsKSxiLnJlbGlhYmxlTWFyZ2luUmlnaHQ9KHBhcnNlSW50KChhLmdldENvbXB1dGVkU3R5bGUobCxudWxsKXx8e21hcmdpblJpZ2h0OjB9KS5tYXJnaW5SaWdodCwxMCl8fDApPT09MCksdHlwZW9mIHAuc3R5bGUuem9vbSE9InVuZGVmaW5lZCImJihwLmlubmVySFRNTD0iIixwLnN0eWxlLndpZHRoPXAuc3R5bGUucGFkZGluZz0iMXB4IixwLnN0eWxlLmJvcmRlcj0wLHAuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIscC5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiLHAuc3R5bGUuem9vbT0xLGIuaW5saW5lQmxvY2tOZWVkc0xheW91dD1wLm9mZnNldFdpZHRoPT09MyxwLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixwLnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIixwLmlubmVySFRNTD0iPGRpdiBzdHlsZT0nd2lkdGg6NXB4Oyc+PC9kaXY+IixiLnNocmlua1dyYXBCbG9ja3M9cC5vZmZzZXRXaWR0aCE9PTMpLHAuc3R5bGUuY3NzVGV4dD1yK3MscC5pbm5lckhUTUw9cSxlPXAuZmlyc3RDaGlsZCxnPWUuZmlyc3RDaGlsZCxpPWUubmV4dFNpYmxpbmcuZmlyc3RDaGlsZC5maXJzdENoaWxkLGo9e2RvZXNOb3RBZGRCb3JkZXI6Zy5vZmZzZXRUb3AhPT01LGRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzOmkub2Zmc2V0VG9wPT09NX0sZy5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGcuc3R5bGUudG9wPSIyMHB4IixqLmZpeGVkUG9zaXRpb249Zy5vZmZzZXRUb3A9PT0yMHx8Zy5vZmZzZXRUb3A9PT0xNSxnLnN0eWxlLnBvc2l0aW9uPWcuc3R5bGUudG9wPSIiLGUuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGouc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlPWcub2Zmc2V0VG9wPT09LTUsai5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9mZnNldD11Lm9mZnNldFRvcCE9PW0sYS5nZXRDb21wdXRlZFN0eWxlJiYocC5zdHlsZS5tYXJnaW5Ub3A9IjElIixiLnBpeGVsTWFyZ2luPShhLmdldENvbXB1dGVkU3R5bGUocCxudWxsKXx8e21hcmdpblRvcDowfSkubWFyZ2luVG9wIT09IjElIiksdHlwZW9mIGQuc3R5bGUuem9vbSE9InVuZGVmaW5lZCImJihkLnN0eWxlLnpvb209MSksdS5yZW1vdmVDaGlsZChkKSxsPXA9ZD1udWxsLGYuZXh0ZW5kKGIsaikpfSk7cmV0dXJuIGJ9KCk7dmFyIGo9L14oPzpcey4qXH18XFsuKlxdKSQvLGs9LyhbQS1aXSkvZztmLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4cGFuZG86ImpRdWVyeSIrKGYuZm4uanF1ZXJ5K01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLG5vRGF0YTp7ZW1iZWQ6ITAsb2JqZWN0OiJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiLGFwcGxldDohMH0saGFzRGF0YTpmdW5jdGlvbihhKXthPWEubm9kZVR5cGU/Zi5jYWNoZVthW2YuZXhwYW5kb11dOmFbZi5leHBhbmRvXTtyZXR1cm4hIWEmJiFtKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYyxkLGUpe2lmKCEhZi5hY2NlcHREYXRhKGEpKXt2YXIgZyxoLGksaj1mLmV4cGFuZG8saz10eXBlb2YgYz09InN0cmluZyIsbD1hLm5vZGVUeXBlLG09bD9mLmNhY2hlOmEsbj1sP2Fbal06YVtqXSYmaixvPWM9PT0iZXZlbnRzIjtpZigoIW58fCFtW25dfHwhbyYmIWUmJiFtW25dLmRhdGEpJiZrJiZkPT09YilyZXR1cm47bnx8KGw/YVtqXT1uPSsrZi51dWlkOm49aiksbVtuXXx8KG1bbl09e30sbHx8KG1bbl0udG9KU09OPWYubm9vcCkpO2lmKHR5cGVvZiBjPT0ib2JqZWN0Inx8dHlwZW9mIGM9PSJmdW5jdGlvbiIpZT9tW25dPWYuZXh0ZW5kKG1bbl0sYyk6bVtuXS5kYXRhPWYuZXh0ZW5kKG1bbl0uZGF0YSxjKTtnPWg9bVtuXSxlfHwoaC5kYXRhfHwoaC5kYXRhPXt9KSxoPWguZGF0YSksZCE9PWImJihoW2YuY2FtZWxDYXNlKGMpXT1kKTtpZihvJiYhaFtjXSlyZXR1cm4gZy5ldmVudHM7az8oaT1oW2NdLGk9PW51bGwmJihpPWhbZi5jYW1lbENhc2UoYyldKSk6aT1oO3JldHVybiBpfX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIsYyl7aWYoISFmLmFjY2VwdERhdGEoYSkpe3ZhciBkLGUsZyxoPWYuZXhwYW5kbyxpPWEubm9kZVR5cGUsaj1pP2YuY2FjaGU6YSxrPWk/YVtoXTpoO2lmKCFqW2tdKXJldHVybjtpZihiKXtkPWM/altrXTpqW2tdLmRhdGE7aWYoZCl7Zi5pc0FycmF5KGIpfHwoYiBpbiBkP2I9W2JdOihiPWYuY2FtZWxDYXNlKGIpLGIgaW4gZD9iPVtiXTpiPWIuc3BsaXQoIiAiKSkpO2ZvcihlPTAsZz1iLmxlbmd0aDtlPGc7ZSsrKWRlbGV0ZSBkW2JbZV1dO2lmKCEoYz9tOmYuaXNFbXB0eU9iamVjdCkoZCkpcmV0dXJufX1pZighYyl7ZGVsZXRlIGpba10uZGF0YTtpZighbShqW2tdKSlyZXR1cm59Zi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG98fCFqLnNldEludGVydmFsP2RlbGV0ZSBqW2tdOmpba109bnVsbCxpJiYoZi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8/ZGVsZXRlIGFbaF06YS5yZW1vdmVBdHRyaWJ1dGU/YS5yZW1vdmVBdHRyaWJ1dGUoaCk6YVtoXT1udWxsKX19LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kYXRhKGEsYixjLCEwKX0sYWNjZXB0RGF0YTpmdW5jdGlvbihhKXtpZihhLm5vZGVOYW1lKXt2YXIgYj1mLm5vRGF0YVthLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldO2lmKGIpcmV0dXJuIGIhPT0hMCYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWJ9cmV0dXJuITB9fSksZi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxjKXt2YXIgZCxlLGcsaCxpLGo9dGhpc1swXSxrPTAsbT1udWxsO2lmKGE9PT1iKXtpZih0aGlzLmxlbmd0aCl7bT1mLmRhdGEoaik7aWYoai5ub2RlVHlwZT09PTEmJiFmLl9kYXRhKGosInBhcnNlZEF0dHJzIikpe2c9ai5hdHRyaWJ1dGVzO2ZvcihpPWcubGVuZ3RoO2s8aTtrKyspaD1nW2tdLm5hbWUsaC5pbmRleE9mKCJkYXRhLSIpPT09MCYmKGg9Zi5jYW1lbENhc2UoaC5zdWJzdHJpbmcoNSkpLGwoaixoLG1baF0pKTtmLl9kYXRhKGosInBhcnNlZEF0dHJzIiwhMCl9fXJldHVybiBtfWlmKHR5cGVvZiBhPT0ib2JqZWN0IilyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5kYXRhKHRoaXMsYSl9KTtkPWEuc3BsaXQoIi4iLDIpLGRbMV09ZFsxXT8iLiIrZFsxXToiIixlPWRbMV0rIiEiO3JldHVybiBmLmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGMpe2lmKGM9PT1iKXttPXRoaXMudHJpZ2dlckhhbmRsZXIoImdldERhdGEiK2UsW2RbMF1dKSxtPT09YiYmaiYmKG09Zi5kYXRhKGosYSksbT1sKGosYSxtKSk7cmV0dXJuIG09PT1iJiZkWzFdP3RoaXMuZGF0YShkWzBdKTptfWRbMV09Yyx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMpO2IudHJpZ2dlckhhbmRsZXIoInNldERhdGEiK2UsZCksZi5kYXRhKHRoaXMsYSxjKSxiLnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2VEYXRhIitlLGQpfSl9LG51bGwsYyxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMSl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YucmVtb3ZlRGF0YSh0aGlzLGEpfSl9fSksZi5leHRlbmQoe19tYXJrOmZ1bmN0aW9uKGEsYil7YSYmKGI9KGJ8fCJmeCIpKyJtYXJrIixmLl9kYXRhKGEsYiwoZi5fZGF0YShhLGIpfHwwKSsxKSl9LF91bm1hcms6ZnVuY3Rpb24oYSxiLGMpe2EhPT0hMCYmKGM9YixiPWEsYT0hMSk7aWYoYil7Yz1jfHwiZngiO3ZhciBkPWMrIm1hcmsiLGU9YT8wOihmLl9kYXRhKGIsZCl8fDEpLTE7ZT9mLl9kYXRhKGIsZCxlKTooZi5yZW1vdmVEYXRhKGIsZCwhMCksbihiLGMsIm1hcmsiKSl9fSxxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIixkPWYuX2RhdGEoYSxiKSxjJiYoIWR8fGYuaXNBcnJheShjKT9kPWYuX2RhdGEoYSxiLGYubWFrZUFycmF5KGMpKTpkLnB1c2goYykpO3JldHVybiBkfHxbXX19LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fCJmeCI7dmFyIGM9Zi5xdWV1ZShhLGIpLGQ9Yy5zaGlmdCgpLGU9e307ZD09PSJpbnByb2dyZXNzIiYmKGQ9Yy5zaGlmdCgpKSxkJiYoYj09PSJmeCImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGYuX2RhdGEoYSxiKyIucnVuIixlKSxkLmNhbGwoYSxmdW5jdGlvbigpe2YuZGVxdWV1ZShhLGIpfSxlKSksYy5sZW5ndGh8fChmLnJlbW92ZURhdGEoYSxiKyJxdWV1ZSAiK2IrIi5ydW4iLCEwKSxuKGEsYiwicXVldWUiKSl9fSksZi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9Mjt0eXBlb2YgYSE9InN0cmluZyImJihjPWEsYT0iZngiLGQtLSk7aWYoYXJndW1lbnRzLmxlbmd0aDxkKXJldHVybiBmLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIGM9PT1iP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9Zi5xdWV1ZSh0aGlzLGEsYyk7YT09PSJmeCImJmJbMF0hPT0iaW5wcm9ncmVzcyImJmYuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlbGF5OmZ1bmN0aW9uKGEsYil7YT1mLmZ4P2YuZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiO3JldHVybiB0aGlzLnF1ZXVlKGIsZnVuY3Rpb24oYixjKXt2YXIgZD1zZXRUaW1lb3V0KGIsYSk7Yy5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGQpfX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gbSgpey0taHx8ZC5yZXNvbHZlV2l0aChlLFtlXSl9dHlwZW9mIGEhPSJzdHJpbmciJiYoYz1hLGE9YiksYT1hfHwiZngiO3ZhciBkPWYuRGVmZXJyZWQoKSxlPXRoaXMsZz1lLmxlbmd0aCxoPTEsaT1hKyJkZWZlciIsaj1hKyJxdWV1ZSIsaz1hKyJtYXJrIixsO3doaWxlKGctLSlpZihsPWYuZGF0YShlW2ddLGksYiwhMCl8fChmLmRhdGEoZVtnXSxqLGIsITApfHxmLmRhdGEoZVtnXSxrLGIsITApKSYmZi5kYXRhKGVbZ10saSxmLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwhMCkpaCsrLGwuYWRkKG0pO20oKTtyZXR1cm4gZC5wcm9taXNlKGMpfX0pO3ZhciBvPS9bXG5cdFxyXS9nLHA9L1xzKy8scT0vXHIvZyxyPS9eKD86YnV0dG9ufGlucHV0KSQvaSxzPS9eKD86YnV0dG9ufGlucHV0fG9iamVjdHxzZWxlY3R8dGV4dGFyZWEpJC9pLHQ9L15hKD86cmVhKT8kL2ksdT0vXig/OmF1dG9mb2N1c3xhdXRvcGxheXxhc3luY3xjaGVja2VkfGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkfHNlbGVjdGVkKSQvaSx2PWYuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGUsdyx4LHk7Zi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmLmF0dHIsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YucmVtb3ZlQXR0cih0aGlzLGEpfSl9LHByb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7YT1mLnByb3BGaXhbYV18fGE7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlzW2FdPWIsZGVsZXRlIHRoaXNbYV19Y2F0Y2goYyl7fX0pfSxhZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxnLGgsaTtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGEmJnR5cGVvZiBhPT0ic3RyaW5nIil7Yj1hLnNwbGl0KHApO2ZvcihjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKXtlPXRoaXNbY107aWYoZS5ub2RlVHlwZT09PTEpaWYoIWUuY2xhc3NOYW1lJiZiLmxlbmd0aD09PTEpZS5jbGFzc05hbWU9YTtlbHNle2c9IiAiK2UuY2xhc3NOYW1lKyIgIjtmb3IoaD0wLGk9Yi5sZW5ndGg7aDxpO2grKyl+Zy5pbmRleE9mKCIgIitiW2hdKyIgIil8fChnKz1iW2hdKyIgIik7ZS5jbGFzc05hbWU9Zi50cmltKGcpfX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxnLGgsaSxqO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoYSYmdHlwZW9mIGE9PSJzdHJpbmcifHxhPT09Yil7Yz0oYXx8IiIpLnNwbGl0KHApO2ZvcihkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKXtnPXRoaXNbZF07aWYoZy5ub2RlVHlwZT09PTEmJmcuY2xhc3NOYW1lKWlmKGEpe2g9KCIgIitnLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobywiICIpO2ZvcihpPTAsaj1jLmxlbmd0aDtpPGo7aSsrKWg9aC5yZXBsYWNlKCIgIitjW2ldKyIgIiwiICIpO2cuY2xhc3NOYW1lPWYudHJpbShoKX1lbHNlIGcuY2xhc3NOYW1lPSIifX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYSxkPXR5cGVvZiBiPT0iYm9vbGVhbiI7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7Zih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLHRoaXMuY2xhc3NOYW1lLGIpLGIpfSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGM9PT0ic3RyaW5nIil7dmFyIGUsZz0wLGg9Zih0aGlzKSxpPWIsaj1hLnNwbGl0KHApO3doaWxlKGU9altnKytdKWk9ZD9pOiFoLmhhc0NsYXNzKGUpLGhbaT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGUpfWVsc2UgaWYoYz09PSJ1bmRlZmluZWQifHxjPT09ImJvb2xlYW4iKXRoaXMuY2xhc3NOYW1lJiZmLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8YT09PSExPyIiOmYuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7Zm9yKDtjPGQ7YysrKWlmKHRoaXNbY10ubm9kZVR5cGU9PT0xJiYoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIikucmVwbGFjZShvLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0sdmFsOmZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxnPXRoaXNbMF07e2lmKCEhYXJndW1lbnRzLmxlbmd0aCl7ZT1mLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihkKXt2YXIgZz1mKHRoaXMpLGg7aWYodGhpcy5ub2RlVHlwZT09PTEpe2U/aD1hLmNhbGwodGhpcyxkLGcudmFsKCkpOmg9YSxoPT1udWxsP2g9IiI6dHlwZW9mIGg9PSJudW1iZXIiP2grPSIiOmYuaXNBcnJheShoKSYmKGg9Zi5tYXAoaCxmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjphKyIifSkpLGM9Zi52YWxIb29rc1t0aGlzLnR5cGVdfHxmLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV07aWYoIWN8fCEoInNldCJpbiBjKXx8Yy5zZXQodGhpcyxoLCJ2YWx1ZSIpPT09Yil0aGlzLnZhbHVlPWh9fSl9aWYoZyl7Yz1mLnZhbEhvb2tzW2cudHlwZV18fGYudmFsSG9va3NbZy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZihjJiYiZ2V0ImluIGMmJihkPWMuZ2V0KGcsInZhbHVlIikpIT09YilyZXR1cm4gZDtkPWcudmFsdWU7cmV0dXJuIHR5cGVvZiBkPT0ic3RyaW5nIj9kLnJlcGxhY2UocSwiIik6ZD09bnVsbD8iIjpkfX19fSksZi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLmF0dHJpYnV0ZXMudmFsdWU7cmV0dXJuIWJ8fGIuc3BlY2lmaWVkP2EudmFsdWU6YS50ZXh0fX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZz1hLnNlbGVjdGVkSW5kZXgsaD1bXSxpPWEub3B0aW9ucyxqPWEudHlwZT09PSJzZWxlY3Qtb25lIjtpZihnPDApcmV0dXJuIG51bGw7Yz1qP2c6MCxkPWo/ZysxOmkubGVuZ3RoO2Zvcig7YzxkO2MrKyl7ZT1pW2NdO2lmKGUuc2VsZWN0ZWQmJihmLnN1cHBvcnQub3B0RGlzYWJsZWQ/IWUuZGlzYWJsZWQ6ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIik9PT1udWxsKSYmKCFlLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFmLm5vZGVOYW1lKGUucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2I9ZihlKS52YWwoKTtpZihqKXJldHVybiBiO2gucHVzaChiKX19aWYoaiYmIWgubGVuZ3RoJiZpLmxlbmd0aClyZXR1cm4gZihpW2ddKS52YWwoKTtyZXR1cm4gaH0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9Zi5tYWtlQXJyYXkoYik7ZihhKS5maW5kKCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1mLmluQXJyYXkoZih0aGlzKS52YWwoKSxjKT49MH0pLGMubGVuZ3RofHwoYS5zZWxlY3RlZEluZGV4PS0xKTtyZXR1cm4gY319fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihhLGMsZCxlKXt2YXIgZyxoLGksaj1hLm5vZGVUeXBlO2lmKCEhYSYmaiE9PTMmJmohPT04JiZqIT09Mil7aWYoZSYmYyBpbiBmLmF0dHJGbilyZXR1cm4gZihhKVtjXShkKTtpZih0eXBlb2YgYS5nZXRBdHRyaWJ1dGU9PSJ1bmRlZmluZWQiKXJldHVybiBmLnByb3AoYSxjLGQpO2k9aiE9PTF8fCFmLmlzWE1MRG9jKGEpLGkmJihjPWMudG9Mb3dlckNhc2UoKSxoPWYuYXR0ckhvb2tzW2NdfHwodS50ZXN0KGMpP3g6dykpO2lmKGQhPT1iKXtpZihkPT09bnVsbCl7Zi5yZW1vdmVBdHRyKGEsYyk7cmV0dXJufWlmKGgmJiJzZXQiaW4gaCYmaSYmKGc9aC5zZXQoYSxkLGMpKSE9PWIpcmV0dXJuIGc7YS5zZXRBdHRyaWJ1dGUoYywiIitkKTtyZXR1cm4gZH1pZihoJiYiZ2V0ImluIGgmJmkmJihnPWguZ2V0KGEsYykpIT09bnVsbClyZXR1cm4gZztnPWEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBnPT09bnVsbD9iOmd9fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGcsaCxpPTA7aWYoYiYmYS5ub2RlVHlwZT09PTEpe2Q9Yi50b0xvd2VyQ2FzZSgpLnNwbGl0KHApLGc9ZC5sZW5ndGg7Zm9yKDtpPGc7aSsrKWU9ZFtpXSxlJiYoYz1mLnByb3BGaXhbZV18fGUsaD11LnRlc3QoZSksaHx8Zi5hdHRyKGEsZSwiIiksYS5yZW1vdmVBdHRyaWJ1dGUodj9lOmMpLGgmJmMgaW4gYSYmKGFbY109ITEpKX19LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoci50ZXN0KGEubm9kZU5hbWUpJiZhLnBhcmVudE5vZGUpZi5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIik7ZWxzZSBpZighZi5zdXBwb3J0LnJhZGlvVmFsdWUmJmI9PT0icmFkaW8iJiZmLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpO3JldHVybiBifX19LHZhbHVlOntnZXQ6ZnVuY3Rpb24oYSxiKXtpZih3JiZmLm5vZGVOYW1lKGEsImJ1dHRvbiIpKXJldHVybiB3LmdldChhLGIpO3JldHVybiBiIGluIGE/YS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe2lmKHcmJmYubm9kZU5hbWUoYSwiYnV0dG9uIikpcmV0dXJuIHcuc2V0KGEsYixjKTthLnZhbHVlPWJ9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLCJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNlbGxwYWRkaW5nOiJjZWxsUGFkZGluZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIsdXNlbWFwOiJ1c2VNYXAiLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsY29udGVudGVkaXRhYmxlOiJjb250ZW50RWRpdGFibGUifSxwcm9wOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxnLGgsaT1hLm5vZGVUeXBlO2lmKCEhYSYmaSE9PTMmJmkhPT04JiZpIT09Mil7aD1pIT09MXx8IWYuaXNYTUxEb2MoYSksaCYmKGM9Zi5wcm9wRml4W2NdfHxjLGc9Zi5wcm9wSG9va3NbY10pO3JldHVybiBkIT09Yj9nJiYic2V0ImluIGcmJihlPWcuc2V0KGEsZCxjKSkhPT1iP2U6YVtjXT1kOmcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQoYSxjKSkhPT1udWxsP2U6YVtjXX19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihhKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoInRhYmluZGV4Iik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP3BhcnNlSW50KGMudmFsdWUsMTApOnMudGVzdChhLm5vZGVOYW1lKXx8dC50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDpifX19fSksZi5hdHRySG9va3MudGFiaW5kZXg9Zi5wcm9wSG9va3MudGFiSW5kZXgseD17Z2V0OmZ1bmN0aW9uKGEsYyl7dmFyIGQsZT1mLnByb3AoYSxjKTtyZXR1cm4gZT09PSEwfHx0eXBlb2YgZSE9ImJvb2xlYW4iJiYoZD1hLmdldEF0dHJpYnV0ZU5vZGUoYykpJiZkLm5vZGVWYWx1ZSE9PSExP2MudG9Mb3dlckNhc2UoKTpifSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2I9PT0hMT9mLnJlbW92ZUF0dHIoYSxjKTooZD1mLnByb3BGaXhbY118fGMsZCBpbiBhJiYoYVtkXT0hMCksYS5zZXRBdHRyaWJ1dGUoYyxjLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gY319LHZ8fCh5PXtuYW1lOiEwLGlkOiEwLGNvb3JkczohMH0sdz1mLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGEsYyl7dmFyIGQ7ZD1hLmdldEF0dHJpYnV0ZU5vZGUoYyk7cmV0dXJuIGQmJih5W2NdP2Qubm9kZVZhbHVlIT09IiI6ZC5zcGVjaWZpZWQpP2Qubm9kZVZhbHVlOmJ9LHNldDpmdW5jdGlvbihhLGIsZCl7dmFyIGU9YS5nZXRBdHRyaWJ1dGVOb2RlKGQpO2V8fChlPWMuY3JlYXRlQXR0cmlidXRlKGQpLGEuc2V0QXR0cmlidXRlTm9kZShlKSk7cmV0dXJuIGUubm9kZVZhbHVlPWIrIiJ9fSxmLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9dy5zZXQsZi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe2YuYXR0ckhvb2tzW2JdPWYuZXh0ZW5kKGYuYXR0ckhvb2tzW2JdLHtzZXQ6ZnVuY3Rpb24oYSxjKXtpZihjPT09IiIpe2Euc2V0QXR0cmlidXRlKGIsImF1dG8iKTtyZXR1cm4gY319fSl9KSxmLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDp3LmdldCxzZXQ6ZnVuY3Rpb24oYSxiLGMpe2I9PT0iIiYmKGI9ImZhbHNlIiksdy5zZXQoYSxiLGMpfX0pLGYuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8Zi5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxjKXtmLmF0dHJIb29rc1tjXT1mLmV4dGVuZChmLmF0dHJIb29rc1tjXSx7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKGMsMik7cmV0dXJuIGQ9PT1udWxsP2I6ZH19KX0pLGYuc3VwcG9ydC5zdHlsZXx8KGYuYXR0ckhvb2tzLnN0eWxlPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dC50b0xvd2VyQ2FzZSgpfHxifSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0PSIiK2J9fSksZi5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2VsZWN0ZWQ9Zi5leHRlbmQoZi5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KTtyZXR1cm4gbnVsbH19KSksZi5zdXBwb3J0LmVuY3R5cGV8fChmLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxmLnN1cHBvcnQuY2hlY2tPbnx8Zi5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0aGlzXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgidmFsdWUiKT09PW51bGw/Im9uIjphLnZhbHVlfX19KSxmLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtmLnZhbEhvb2tzW3RoaXNdPWYuZXh0ZW5kKGYudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihhLGIpe2lmKGYuaXNBcnJheShiKSlyZXR1cm4gYS5jaGVja2VkPWYuaW5BcnJheShmKGEpLnZhbCgpLGIpPj0wfX0pfSk7dmFyIHo9L14oPzp0ZXh0YXJlYXxpbnB1dHxzZWxlY3QpJC9pLEE9L14oW15cLl0qKT8oPzpcLiguKykpPyQvLEI9Lyg/Ol58XHMpaG92ZXIoXC5cUyspP1xiLyxDPS9ea2V5LyxEPS9eKD86bW91c2V8Y29udGV4dG1lbnUpfGNsaWNrLyxFPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxGPS9eKFx3KikoPzojKFtcd1wtXSspKT8oPzpcLihbXHdcLV0rKSk/JC8sRz1mdW5jdGlvbigKYSl7dmFyIGI9Ri5leGVjKGEpO2ImJihiWzFdPShiWzFdfHwiIikudG9Mb3dlckNhc2UoKSxiWzNdPWJbM10mJm5ldyBSZWdFeHAoIig/Ol58XFxzKSIrYlszXSsiKD86XFxzfCQpIikpO3JldHVybiBifSxIPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5hdHRyaWJ1dGVzfHx7fTtyZXR1cm4oIWJbMV18fGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fChjLmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKGNbImNsYXNzIl18fHt9KS52YWx1ZSkpfSxJPWZ1bmN0aW9uKGEpe3JldHVybiBmLmV2ZW50LnNwZWNpYWwuaG92ZXI/YTphLnJlcGxhY2UoQiwibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYSxjLGQsZSxnKXt2YXIgaCxpLGosayxsLG0sbixvLHAscSxyLHM7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTh8fCFjfHwhZHx8IShoPWYuX2RhdGEoYSkpKSl7ZC5oYW5kbGVyJiYocD1kLGQ9cC5oYW5kbGVyLGc9cC5zZWxlY3RvciksZC5ndWlkfHwoZC5ndWlkPWYuZ3VpZCsrKSxqPWguZXZlbnRzLGp8fChoLmV2ZW50cz1qPXt9KSxpPWguaGFuZGxlLGl8fChoLmhhbmRsZT1pPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgZiE9InVuZGVmaW5lZCImJighYXx8Zi5ldmVudC50cmlnZ2VyZWQhPT1hLnR5cGUpP2YuZXZlbnQuZGlzcGF0Y2guYXBwbHkoaS5lbGVtLGFyZ3VtZW50cyk6Yn0saS5lbGVtPWEpLGM9Zi50cmltKEkoYykpLnNwbGl0KCIgIik7Zm9yKGs9MDtrPGMubGVuZ3RoO2srKyl7bD1BLmV4ZWMoY1trXSl8fFtdLG09bFsxXSxuPShsWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCkscz1mLmV2ZW50LnNwZWNpYWxbbV18fHt9LG09KGc/cy5kZWxlZ2F0ZVR5cGU6cy5iaW5kVHlwZSl8fG0scz1mLmV2ZW50LnNwZWNpYWxbbV18fHt9LG89Zi5leHRlbmQoe3R5cGU6bSxvcmlnVHlwZTpsWzFdLGRhdGE6ZSxoYW5kbGVyOmQsZ3VpZDpkLmd1aWQsc2VsZWN0b3I6ZyxxdWljazpnJiZHKGcpLG5hbWVzcGFjZTpuLmpvaW4oIi4iKX0scCkscj1qW21dO2lmKCFyKXtyPWpbbV09W10sci5kZWxlZ2F0ZUNvdW50PTA7aWYoIXMuc2V0dXB8fHMuc2V0dXAuY2FsbChhLGUsbixpKT09PSExKWEuYWRkRXZlbnRMaXN0ZW5lcj9hLmFkZEV2ZW50TGlzdGVuZXIobSxpLCExKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrbSxpKX1zLmFkZCYmKHMuYWRkLmNhbGwoYSxvKSxvLmhhbmRsZXIuZ3VpZHx8KG8uaGFuZGxlci5ndWlkPWQuZ3VpZCkpLGc/ci5zcGxpY2Uoci5kZWxlZ2F0ZUNvdW50KyssMCxvKTpyLnB1c2gobyksZi5ldmVudC5nbG9iYWxbbV09ITB9YT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBnPWYuaGFzRGF0YShhKSYmZi5fZGF0YShhKSxoLGksaixrLGwsbSxuLG8scCxxLHIscztpZighIWcmJiEhKG89Zy5ldmVudHMpKXtiPWYudHJpbShJKGJ8fCIiKSkuc3BsaXQoIiAiKTtmb3IoaD0wO2g8Yi5sZW5ndGg7aCsrKXtpPUEuZXhlYyhiW2hdKXx8W10saj1rPWlbMV0sbD1pWzJdO2lmKCFqKXtmb3IoaiBpbiBvKWYuZXZlbnQucmVtb3ZlKGEsaitiW2hdLGMsZCwhMCk7Y29udGludWV9cD1mLmV2ZW50LnNwZWNpYWxbal18fHt9LGo9KGQ/cC5kZWxlZ2F0ZVR5cGU6cC5iaW5kVHlwZSl8fGoscj1vW2pdfHxbXSxtPXIubGVuZ3RoLGw9bD9uZXcgUmVnRXhwKCIoXnxcXC4pIitsLnNwbGl0KCIuIikuc29ydCgpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpOm51bGw7Zm9yKG49MDtuPHIubGVuZ3RoO24rKylzPXJbbl0sKGV8fGs9PT1zLm9yaWdUeXBlKSYmKCFjfHxjLmd1aWQ9PT1zLmd1aWQpJiYoIWx8fGwudGVzdChzLm5hbWVzcGFjZSkpJiYoIWR8fGQ9PT1zLnNlbGVjdG9yfHxkPT09IioqIiYmcy5zZWxlY3RvcikmJihyLnNwbGljZShuLS0sMSkscy5zZWxlY3RvciYmci5kZWxlZ2F0ZUNvdW50LS0scC5yZW1vdmUmJnAucmVtb3ZlLmNhbGwoYSxzKSk7ci5sZW5ndGg9PT0wJiZtIT09ci5sZW5ndGgmJigoIXAudGVhcmRvd258fHAudGVhcmRvd24uY2FsbChhLGwpPT09ITEpJiZmLnJlbW92ZUV2ZW50KGEsaixnLmhhbmRsZSksZGVsZXRlIG9bal0pfWYuaXNFbXB0eU9iamVjdChvKSYmKHE9Zy5oYW5kbGUscSYmKHEuZWxlbT1udWxsKSxmLnJlbW92ZURhdGEoYSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oYyxkLGUsZyl7aWYoIWV8fGUubm9kZVR5cGUhPT0zJiZlLm5vZGVUeXBlIT09OCl7dmFyIGg9Yy50eXBlfHxjLGk9W10saixrLGwsbSxuLG8scCxxLHIscztpZihFLnRlc3QoaCtmLmV2ZW50LnRyaWdnZXJlZCkpcmV0dXJuO2guaW5kZXhPZigiISIpPj0wJiYoaD1oLnNsaWNlKDAsLTEpLGs9ITApLGguaW5kZXhPZigiLiIpPj0wJiYoaT1oLnNwbGl0KCIuIiksaD1pLnNoaWZ0KCksaS5zb3J0KCkpO2lmKCghZXx8Zi5ldmVudC5jdXN0b21FdmVudFtoXSkmJiFmLmV2ZW50Lmdsb2JhbFtoXSlyZXR1cm47Yz10eXBlb2YgYz09Im9iamVjdCI/Y1tmLmV4cGFuZG9dP2M6bmV3IGYuRXZlbnQoaCxjKTpuZXcgZi5FdmVudChoKSxjLnR5cGU9aCxjLmlzVHJpZ2dlcj0hMCxjLmV4Y2x1c2l2ZT1rLGMubmFtZXNwYWNlPWkuam9pbigiLiIpLGMubmFtZXNwYWNlX3JlPWMubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK2kuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQpIik6bnVsbCxvPWguaW5kZXhPZigiOiIpPDA/Im9uIitoOiIiO2lmKCFlKXtqPWYuY2FjaGU7Zm9yKGwgaW4gailqW2xdLmV2ZW50cyYmaltsXS5ldmVudHNbaF0mJmYuZXZlbnQudHJpZ2dlcihjLGQsaltsXS5oYW5kbGUuZWxlbSwhMCk7cmV0dXJufWMucmVzdWx0PWIsYy50YXJnZXR8fChjLnRhcmdldD1lKSxkPWQhPW51bGw/Zi5tYWtlQXJyYXkoZCk6W10sZC51bnNoaWZ0KGMpLHA9Zi5ldmVudC5zcGVjaWFsW2hdfHx7fTtpZihwLnRyaWdnZXImJnAudHJpZ2dlci5hcHBseShlLGQpPT09ITEpcmV0dXJuO3I9W1tlLHAuYmluZFR5cGV8fGhdXTtpZighZyYmIXAubm9CdWJibGUmJiFmLmlzV2luZG93KGUpKXtzPXAuZGVsZWdhdGVUeXBlfHxoLG09RS50ZXN0KHMraCk/ZTplLnBhcmVudE5vZGUsbj1udWxsO2Zvcig7bTttPW0ucGFyZW50Tm9kZSlyLnB1c2goW20sc10pLG49bTtuJiZuPT09ZS5vd25lckRvY3VtZW50JiZyLnB1c2goW24uZGVmYXVsdFZpZXd8fG4ucGFyZW50V2luZG93fHxhLHNdKX1mb3IobD0wO2w8ci5sZW5ndGgmJiFjLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7bCsrKW09cltsXVswXSxjLnR5cGU9cltsXVsxXSxxPShmLl9kYXRhKG0sImV2ZW50cyIpfHx7fSlbYy50eXBlXSYmZi5fZGF0YShtLCJoYW5kbGUiKSxxJiZxLmFwcGx5KG0sZCkscT1vJiZtW29dLHEmJmYuYWNjZXB0RGF0YShtKSYmcS5hcHBseShtLGQpPT09ITEmJmMucHJldmVudERlZmF1bHQoKTtjLnR5cGU9aCwhZyYmIWMuaXNEZWZhdWx0UHJldmVudGVkKCkmJighcC5fZGVmYXVsdHx8cC5fZGVmYXVsdC5hcHBseShlLm93bmVyRG9jdW1lbnQsZCk9PT0hMSkmJihoIT09ImNsaWNrInx8IWYubm9kZU5hbWUoZSwiYSIpKSYmZi5hY2NlcHREYXRhKGUpJiZvJiZlW2hdJiYoaCE9PSJmb2N1cyImJmghPT0iYmx1ciJ8fGMudGFyZ2V0Lm9mZnNldFdpZHRoIT09MCkmJiFmLmlzV2luZG93KGUpJiYobj1lW29dLG4mJihlW29dPW51bGwpLGYuZXZlbnQudHJpZ2dlcmVkPWgsZVtoXSgpLGYuZXZlbnQudHJpZ2dlcmVkPWIsbiYmKGVbb109bikpO3JldHVybiBjLnJlc3VsdH19LGRpc3BhdGNoOmZ1bmN0aW9uKGMpe2M9Zi5ldmVudC5maXgoY3x8YS5ldmVudCk7dmFyIGQ9KGYuX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVtjLnR5cGVdfHxbXSxlPWQuZGVsZWdhdGVDb3VudCxnPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApLGg9IWMuZXhjbHVzaXZlJiYhYy5uYW1lc3BhY2UsaT1mLmV2ZW50LnNwZWNpYWxbYy50eXBlXXx8e30saj1bXSxrLGwsbSxuLG8scCxxLHIscyx0LHU7Z1swXT1jLGMuZGVsZWdhdGVUYXJnZXQ9dGhpcztpZighaS5wcmVEaXNwYXRjaHx8aS5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYykhPT0hMSl7aWYoZSYmKCFjLmJ1dHRvbnx8Yy50eXBlIT09ImNsaWNrIikpe249Zih0aGlzKSxuLmNvbnRleHQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzO2ZvcihtPWMudGFyZ2V0O20hPXRoaXM7bT1tLnBhcmVudE5vZGV8fHRoaXMpaWYobS5kaXNhYmxlZCE9PSEwKXtwPXt9LHI9W10sblswXT1tO2ZvcihrPTA7azxlO2srKylzPWRba10sdD1zLnNlbGVjdG9yLHBbdF09PT1iJiYocFt0XT1zLnF1aWNrP0gobSxzLnF1aWNrKTpuLmlzKHQpKSxwW3RdJiZyLnB1c2gocyk7ci5sZW5ndGgmJmoucHVzaCh7ZWxlbTptLG1hdGNoZXM6cn0pfX1kLmxlbmd0aD5lJiZqLnB1c2goe2VsZW06dGhpcyxtYXRjaGVzOmQuc2xpY2UoZSl9KTtmb3Ioaz0wO2s8ai5sZW5ndGgmJiFjLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7aysrKXtxPWpba10sYy5jdXJyZW50VGFyZ2V0PXEuZWxlbTtmb3IobD0wO2w8cS5tYXRjaGVzLmxlbmd0aCYmIWMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTtsKyspe3M9cS5tYXRjaGVzW2xdO2lmKGh8fCFjLm5hbWVzcGFjZSYmIXMubmFtZXNwYWNlfHxjLm5hbWVzcGFjZV9yZSYmYy5uYW1lc3BhY2VfcmUudGVzdChzLm5hbWVzcGFjZSkpYy5kYXRhPXMuZGF0YSxjLmhhbmRsZU9iaj1zLG89KChmLmV2ZW50LnNwZWNpYWxbcy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fHMuaGFuZGxlcikuYXBwbHkocS5lbGVtLGcpLG8hPT1iJiYoYy5yZXN1bHQ9byxvPT09ITEmJihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSkpfX1pLnBvc3REaXNwYXRjaCYmaS5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGMpO3JldHVybiBjLnJlc3VsdH19LHByb3BzOiJhdHRyQ2hhbmdlIGF0dHJOYW1lIHJlbGF0ZWROb2RlIHNyY0VsZW1lbnQgYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXthLndoaWNoPT1udWxsJiYoYS53aGljaD1iLmNoYXJDb2RlIT1udWxsP2IuY2hhckNvZGU6Yi5rZXlDb2RlKTtyZXR1cm4gYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsZCl7dmFyIGUsZixnLGg9ZC5idXR0b24saT1kLmZyb21FbGVtZW50O2EucGFnZVg9PW51bGwmJmQuY2xpZW50WCE9bnVsbCYmKGU9YS50YXJnZXQub3duZXJEb2N1bWVudHx8YyxmPWUuZG9jdW1lbnRFbGVtZW50LGc9ZS5ib2R5LGEucGFnZVg9ZC5jbGllbnRYKyhmJiZmLnNjcm9sbExlZnR8fGcmJmcuc2Nyb2xsTGVmdHx8MCktKGYmJmYuY2xpZW50TGVmdHx8ZyYmZy5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWQuY2xpZW50WSsoZiYmZi5zY3JvbGxUb3B8fGcmJmcuc2Nyb2xsVG9wfHwwKS0oZiYmZi5jbGllbnRUb3B8fGcmJmcuY2xpZW50VG9wfHwwKSksIWEucmVsYXRlZFRhcmdldCYmaSYmKGEucmVsYXRlZFRhcmdldD1pPT09YS50YXJnZXQ/ZC50b0VsZW1lbnQ6aSksIWEud2hpY2gmJmghPT1iJiYoYS53aGljaD1oJjE/MTpoJjI/MzpoJjQ/MjowKTtyZXR1cm4gYX19LGZpeDpmdW5jdGlvbihhKXtpZihhW2YuZXhwYW5kb10pcmV0dXJuIGE7dmFyIGQsZSxnPWEsaD1mLmV2ZW50LmZpeEhvb2tzW2EudHlwZV18fHt9LGk9aC5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKTp0aGlzLnByb3BzO2E9Zi5FdmVudChnKTtmb3IoZD1pLmxlbmd0aDtkOyllPWlbLS1kXSxhW2VdPWdbZV07YS50YXJnZXR8fChhLnRhcmdldD1nLnNyY0VsZW1lbnR8fGMpLGEudGFyZ2V0Lm5vZGVUeXBlPT09MyYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLGEubWV0YUtleT09PWImJihhLm1ldGFLZXk9YS5jdHJsS2V5KTtyZXR1cm4gaC5maWx0ZXI/aC5maWx0ZXIoYSxnKTphfSxzcGVjaWFsOntyZWFkeTp7c2V0dXA6Zi5iaW5kUmVhZHl9LGxvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7ZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7ZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGJlZm9yZXVubG9hZDp7c2V0dXA6ZnVuY3Rpb24oYSxiLGMpe2YuaXNXaW5kb3codGhpcykmJih0aGlzLm9uYmVmb3JldW5sb2FkPWMpfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe3RoaXMub25iZWZvcmV1bmxvYWQ9PT1iJiYodGhpcy5vbmJlZm9yZXVubG9hZD1udWxsKX19fSxzaW11bGF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1mLmV4dGVuZChuZXcgZi5FdmVudCxjLHt0eXBlOmEsaXNTaW11bGF0ZWQ6ITAsb3JpZ2luYWxFdmVudDp7fX0pO2Q/Zi5ldmVudC50cmlnZ2VyKGUsbnVsbCxiKTpmLmV2ZW50LmRpc3BhdGNoLmNhbGwoYixlKSxlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZjLnByZXZlbnREZWZhdWx0KCl9fSxmLmV2ZW50LmhhbmRsZT1mLmV2ZW50LmRpc3BhdGNoLGYucmVtb3ZlRXZlbnQ9Yy5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfTpmdW5jdGlvbihhLGIsYyl7YS5kZXRhY2hFdmVudCYmYS5kZXRhY2hFdmVudCgib24iK2IsYyl9LGYuRXZlbnQ9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBmLkV2ZW50KSlyZXR1cm4gbmV3IGYuRXZlbnQoYSxiKTthJiZhLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHxhLnJldHVyblZhbHVlPT09ITF8fGEuZ2V0UHJldmVudERlZmF1bHQmJmEuZ2V0UHJldmVudERlZmF1bHQoKT9LOkopOnRoaXMudHlwZT1hLGImJmYuZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fGYubm93KCksdGhpc1tmLmV4cGFuZG9dPSEwfSxmLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1LO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDshYXx8KGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPUs7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50OyFhfHwoYS5zdG9wUHJvcGFnYXRpb24mJmEuc3RvcFByb3BhZ2F0aW9uKCksYS5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPUssdGhpcy5zdG9wUHJvcGFnYXRpb24oKX0saXNEZWZhdWx0UHJldmVudGVkOkosaXNQcm9wYWdhdGlvblN0b3BwZWQ6Sixpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpKfSxmLmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxmdW5jdGlvbihhLGIpe2YuZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcyxkPWEucmVsYXRlZFRhcmdldCxlPWEuaGFuZGxlT2JqLGc9ZS5zZWxlY3RvcixoO2lmKCFkfHxkIT09YyYmIWYuY29udGFpbnMoYyxkKSlhLnR5cGU9ZS5vcmlnVHlwZSxoPWUuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWI7cmV0dXJuIGh9fX0pLGYuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoZi5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihmLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtmLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLGZ1bmN0aW9uKGEpe3ZhciBjPWEudGFyZ2V0LGQ9Zi5ub2RlTmFtZShjLCJpbnB1dCIpfHxmLm5vZGVOYW1lKGMsImJ1dHRvbiIpP2MuZm9ybTpiO2QmJiFkLl9zdWJtaXRfYXR0YWNoZWQmJihmLmV2ZW50LmFkZChkLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLGQuX3N1Ym1pdF9hdHRhY2hlZD0hMCl9KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe2EuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgYS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFhLmlzVHJpZ2dlciYmZi5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsYSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGYubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2YuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksZi5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChmLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKHoudGVzdCh0aGlzLm5vZGVOYW1lKSl7aWYodGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhpcy50eXBlPT09InJhZGlvIilmLmV2ZW50LmFkZCh0aGlzLCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXthLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lPT09ImNoZWNrZWQiJiYodGhpcy5fanVzdF9jaGFuZ2VkPSEwKX0pLGYuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpe3RoaXMuX2p1c3RfY2hhbmdlZCYmIWEuaXNUcmlnZ2VyJiYodGhpcy5fanVzdF9jaGFuZ2VkPSExLGYuZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKSl9KTtyZXR1cm4hMX1mLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDt6LnRlc3QoYi5ub2RlTmFtZSkmJiFiLl9jaGFuZ2VfYXR0YWNoZWQmJihmLmV2ZW50LmFkZChiLCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiYhYS5pc1NpbXVsYXRlZCYmIWEuaXNUcmlnZ2VyJiZmLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMucGFyZW50Tm9kZSxhLCEwKX0pLGIuX2NoYW5nZV9hdHRhY2hlZD0hMCl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2lmKHRoaXMhPT1ifHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8Yi50eXBlIT09InJhZGlvIiYmYi50eXBlIT09ImNoZWNrYm94IilyZXR1cm4gYS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7Zi5ldmVudC5yZW1vdmUodGhpcywiLl9jaGFuZ2UiKTtyZXR1cm4gei50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGYuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8Zi5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBkPTAsZT1mdW5jdGlvbihhKXtmLmV2ZW50LnNpbXVsYXRlKGIsYS50YXJnZXQsZi5ldmVudC5maXgoYSksITApfTtmLmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9uKCl7ZCsrPT09MCYmYy5hZGRFdmVudExpc3RlbmVyKGEsZSwhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7LS1kPT09MCYmYy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZSwhMCl9fX0pLGYuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGMsZCxlLGcpe3ZhciBoLGk7aWYodHlwZW9mIGE9PSJvYmplY3QiKXt0eXBlb2YgYyE9InN0cmluZyImJihkPWR8fGMsYz1iKTtmb3IoaSBpbiBhKXRoaXMub24oaSxjLGQsYVtpXSxnKTtyZXR1cm4gdGhpc31kPT1udWxsJiZlPT1udWxsPyhlPWMsZD1jPWIpOmU9PW51bGwmJih0eXBlb2YgYz09InN0cmluZyI/KGU9ZCxkPWIpOihlPWQsZD1jLGM9YikpO2lmKGU9PT0hMSllPUo7ZWxzZSBpZighZSlyZXR1cm4gdGhpcztnPT09MSYmKGg9ZSxlPWZ1bmN0aW9uKGEpe2YoKS5vZmYoYSk7cmV0dXJuIGguYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9aC5ndWlkfHwoaC5ndWlkPWYuZ3VpZCsrKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQuYWRkKHRoaXMsYSxlLGQsYyl9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGMsZCl7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYmYS5oYW5kbGVPYmope3ZhciBlPWEuaGFuZGxlT2JqO2YoYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGUubmFtZXNwYWNlP2Uub3JpZ1R5cGUrIi4iK2UubmFtZXNwYWNlOmUub3JpZ1R5cGUsZS5zZWxlY3RvcixlLmhhbmRsZXIpO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT0ib2JqZWN0Iil7Zm9yKHZhciBnIGluIGEpdGhpcy5vZmYoZyxjLGFbZ10pO3JldHVybiB0aGlzfWlmKGM9PT0hMXx8dHlwZW9mIGM9PSJmdW5jdGlvbiIpZD1jLGM9YjtkPT09ITEmJihkPUopO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmV2ZW50LnJlbW92ZSh0aGlzLGEsZCxjKX0pfSxiaW5kOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5vbihhLG51bGwsYixjKX0sdW5iaW5kOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub2ZmKGEsbnVsbCxiKX0sbGl2ZTpmdW5jdGlvbihhLGIsYyl7Zih0aGlzLmNvbnRleHQpLm9uKGEsdGhpcy5zZWxlY3RvcixiLGMpO3JldHVybiB0aGlzfSxkaWU6ZnVuY3Rpb24oYSxiKXtmKHRoaXMuY29udGV4dCkub2ZmKGEsdGhpcy5zZWxlY3Rvcnx8IioqIixiKTtyZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24oYixhLGMsZCl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT0xP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhLGMpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXtpZih0aGlzWzBdKXJldHVybiBmLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLGM9YS5ndWlkfHxmLmd1aWQrKyxkPTAsZT1mdW5jdGlvbihjKXt2YXIgZT0oZi5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQpfHwwKSVkO2YuX2RhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkLGUrMSksYy5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2UuZ3VpZD1jO3doaWxlKGQ8Yi5sZW5ndGgpYltkKytdLmd1aWQ9YztyZXR1cm4gdGhpcy5jbGljayhlKX0saG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSksZi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Zi5mbltiXT1mdW5jdGlvbihhLGMpe2M9PW51bGwmJihjPWEsYT1udWxsKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfSxmLmF0dHJGbiYmKGYuYXR0ckZuW2JdPSEwKSxDLnRlc3QoYikmJihmLmV2ZW50LmZpeEhvb2tzW2JdPWYuZXZlbnQua2V5SG9va3MpLEQudGVzdChiKSYmKGYuZXZlbnQuZml4SG9va3NbYl09Zi5ldmVudC5tb3VzZUhvb2tzKX0pLGZ1bmN0aW9uKCl7ZnVuY3Rpb24geChhLGIsYyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj1lW2hdO2lmKGope3ZhciBrPSExO2o9althXTt3aGlsZShqKXtpZihqW2RdPT09Yyl7az1lW2ouc2l6c2V0XTticmVha31pZihqLm5vZGVUeXBlPT09MSl7Z3x8KGpbZF09YyxqLnNpenNldD1oKTtpZih0eXBlb2YgYiE9InN0cmluZyIpe2lmKGo9PT1iKXtrPSEwO2JyZWFrfX1lbHNlIGlmKG0uZmlsdGVyKGIsW2pdKS5sZW5ndGg+MCl7az1qO2JyZWFrfX1qPWpbYV19ZVtoXT1rfX19ZnVuY3Rpb24gdyhhLGIsYyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDtoPGk7aCsrKXt2YXIgaj1lW2hdO2lmKGope3ZhciBrPSExO2o9althXTt3aGlsZShqKXtpZihqW2RdPT09Yyl7az1lW2ouc2l6c2V0XTticmVha31qLm5vZGVUeXBlPT09MSYmIWcmJihqW2RdPWMsai5zaXpzZXQ9aCk7aWYoai5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yil7az1qO2JyZWFrfWo9althXX1lW2hdPWt9fX12YXIgYT0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXlxbXF1dKlxdfFsnIl1bXiciXSpbJyJdfFteXFtcXSciXSspK1xdfFxcLnxbXiA+K34sKFxbXFxdKykrfFs+K35dKShccyosXHMqKT8oKD86LnxccnxcbikqKS9nLGQ9InNpemNhY2hlIisoTWF0aC5yYW5kb20oKSsiIikucmVwbGFjZSgiLiIsIiIpLGU9MCxnPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaD0hMSxpPSEwLGo9L1xcL2csaz0vXHJcbi9nLGw9L1xXLztbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7aT0hMTtyZXR1cm4gMH0pO3ZhciBtPWZ1bmN0aW9uKGIsZCxlLGYpe2U9ZXx8W10sZD1kfHxjO3ZhciBoPWQ7aWYoZC5ub2RlVHlwZSE9PTEmJmQubm9kZVR5cGUhPT05KXJldHVybltdO2lmKCFifHx0eXBlb2YgYiE9InN0cmluZyIpcmV0dXJuIGU7dmFyIGksaixrLGwsbixxLHIsdCx1PSEwLHY9bS5pc1hNTChkKSx3PVtdLHg9Yjtkb3thLmV4ZWMoIiIpLGk9YS5leGVjKHgpO2lmKGkpe3g9aVszXSx3LnB1c2goaVsxXSk7aWYoaVsyXSl7bD1pWzNdO2JyZWFrfX19d2hpbGUoaSk7aWYody5sZW5ndGg+MSYmcC5leGVjKGIpKWlmKHcubGVuZ3RoPT09MiYmby5yZWxhdGl2ZVt3WzBdXSlqPXkod1swXSt3WzFdLGQsZik7ZWxzZXtqPW8ucmVsYXRpdmVbd1swXV0/W2RdOm0ody5zaGlmdCgpLGQpO3doaWxlKHcubGVuZ3RoKWI9dy5zaGlmdCgpLG8ucmVsYXRpdmVbYl0mJihiKz13LnNoaWZ0KCkpLGo9eShiLGosZil9ZWxzZXshZiYmdy5sZW5ndGg+MSYmZC5ub2RlVHlwZT09PTkmJiF2JiZvLm1hdGNoLklELnRlc3Qod1swXSkmJiFvLm1hdGNoLklELnRlc3Qod1t3Lmxlbmd0aC0xXSkmJihuPW0uZmluZCh3LnNoaWZ0KCksZCx2KSxkPW4uZXhwcj9tLmZpbHRlcihuLmV4cHIsbi5zZXQpWzBdOm4uc2V0WzBdKTtpZihkKXtuPWY/e2V4cHI6dy5wb3AoKSxzZXQ6cyhmKX06bS5maW5kKHcucG9wKCksdy5sZW5ndGg9PT0xJiYod1swXT09PSJ+Inx8d1swXT09PSIrIikmJmQucGFyZW50Tm9kZT9kLnBhcmVudE5vZGU6ZCx2KSxqPW4uZXhwcj9tLmZpbHRlcihuLmV4cHIsbi5zZXQpOm4uc2V0LHcubGVuZ3RoPjA/az1zKGopOnU9ITE7d2hpbGUody5sZW5ndGgpcT13LnBvcCgpLHI9cSxvLnJlbGF0aXZlW3FdP3I9dy5wb3AoKTpxPSIiLHI9PW51bGwmJihyPWQpLG8ucmVsYXRpdmVbcV0oayxyLHYpfWVsc2Ugaz13PVtdfWt8fChrPWopLGt8fG0uZXJyb3IocXx8Yik7aWYoZy5jYWxsKGspPT09IltvYmplY3QgQXJyYXldIilpZighdSllLnB1c2guYXBwbHkoZSxrKTtlbHNlIGlmKGQmJmQubm9kZVR5cGU9PT0xKWZvcih0PTA7a1t0XSE9bnVsbDt0Kyspa1t0XSYmKGtbdF09PT0hMHx8a1t0XS5ub2RlVHlwZT09PTEmJm0uY29udGFpbnMoZCxrW3RdKSkmJmUucHVzaChqW3RdKTtlbHNlIGZvcih0PTA7a1t0XSE9bnVsbDt0Kyspa1t0XSYma1t0XS5ub2RlVHlwZT09PTEmJmUucHVzaChqW3RdKTtlbHNlIHMoayxlKTtsJiYobShsLGgsZSxmKSxtLnVuaXF1ZVNvcnQoZSkpO3JldHVybiBlfTttLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7aWYodSl7aD1pLGEuc29ydCh1KTtpZihoKWZvcih2YXIgYj0xO2I8YS5sZW5ndGg7YisrKWFbYl09PT1hW2ItMV0mJmEuc3BsaWNlKGItLSwxKX1yZXR1cm4gYX0sbS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG0oYSxudWxsLG51bGwsYil9LG0ubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG0oYixudWxsLG51bGwsW2FdKS5sZW5ndGg+MH0sbS5maW5kPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGk7aWYoIWEpcmV0dXJuW107Zm9yKGU9MCxmPW8ub3JkZXIubGVuZ3RoO2U8ZjtlKyspe2g9by5vcmRlcltlXTtpZihnPW8ubGVmdE1hdGNoW2hdLmV4ZWMoYSkpe2k9Z1sxXSxnLnNwbGljZSgxLDEpO2lmKGkuc3Vic3RyKGkubGVuZ3RoLTEpIT09IlxcIil7Z1sxXT0oZ1sxXXx8IiIpLnJlcGxhY2UoaiwiIiksZD1vLmZpbmRbaF0oZyxiLGMpO2lmKGQhPW51bGwpe2E9YS5yZXBsYWNlKG8ubWF0Y2hbaF0sIiIpO2JyZWFrfX19fWR8fChkPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIj9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pO3JldHVybntzZXQ6ZCxleHByOmF9fSxtLmZpbHRlcj1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLHAscT1hLHI9W10scz1jLHQ9YyYmY1swXSYmbS5pc1hNTChjWzBdKTt3aGlsZShhJiZjLmxlbmd0aCl7Zm9yKGggaW4gby5maWx0ZXIpaWYoKGY9by5sZWZ0TWF0Y2hbaF0uZXhlYyhhKSkhPW51bGwmJmZbMl0pe2s9by5maWx0ZXJbaF0sbD1mWzFdLGc9ITEsZi5zcGxpY2UoMSwxKTtpZihsLnN1YnN0cihsLmxlbmd0aC0xKT09PSJcXCIpY29udGludWU7cz09PXImJihyPVtdKTtpZihvLnByZUZpbHRlcltoXSl7Zj1vLnByZUZpbHRlcltoXShmLHMsZCxyLGUsdCk7aWYoIWYpZz1pPSEwO2Vsc2UgaWYoZj09PSEwKWNvbnRpbnVlfWlmKGYpZm9yKG49MDsoaj1zW25dKSE9bnVsbDtuKyspaiYmKGk9ayhqLGYsbixzKSxwPWVeaSxkJiZpIT1udWxsP3A/Zz0hMDpzW25dPSExOnAmJihyLnB1c2goaiksZz0hMCkpO2lmKGkhPT1iKXtkfHwocz1yKSxhPWEucmVwbGFjZShvLm1hdGNoW2hdLCIiKTtpZighZylyZXR1cm5bXTticmVha319aWYoYT09PXEpaWYoZz09bnVsbCltLmVycm9yKGEpO2Vsc2UgYnJlYWs7cT1hfXJldHVybiBzfSxtLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX07dmFyIG49bS5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1hLm5vZGVUeXBlLGU9IiI7aWYoZCl7aWYoZD09PTF8fGQ9PT05fHxkPT09MTEpe2lmKHR5cGVvZiBhLnRleHRDb250ZW50PT0ic3RyaW5nIilyZXR1cm4gYS50ZXh0Q29udGVudDtpZih0eXBlb2YgYS5pbm5lclRleHQ9PSJzdHJpbmciKXJldHVybiBhLmlubmVyVGV4dC5yZXBsYWNlKGssIiIpO2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyllKz1uKGEpfWVsc2UgaWYoZD09PTN8fGQ9PT00KXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIGZvcihiPTA7Yz1hW2JdO2IrKyljLm5vZGVUeXBlIT09OCYmKGUrPW4oYykpO3JldHVybiBlfSxvPW0uc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7ImNsYXNzIjoiY2xhc3NOYW1lIiwiZm9yIjoiaHRtbEZvciJ9LGF0dHJIYW5kbGU6e2hyZWY6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGI9PSJzdHJpbmciLGQ9YyYmIWwudGVzdChiKSxlPWMmJiFkO2QmJihiPWIudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBmPTAsZz1hLmxlbmd0aCxoO2Y8ZztmKyspaWYoaD1hW2ZdKXt3aGlsZSgoaD1oLnByZXZpb3VzU2libGluZykmJmgubm9kZVR5cGUhPT0xKTthW2ZdPWV8fGgmJmgubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWI/aHx8ITE6aD09PWJ9ZSYmbS5maWx0ZXIoYixhLCEwKX0sIj4iOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD10eXBlb2YgYj09InN0cmluZyIsZT0wLGY9YS5sZW5ndGg7aWYoZCYmIWwudGVzdChiKSl7Yj1iLnRvTG93ZXJDYXNlKCk7Zm9yKDtlPGY7ZSsrKXtjPWFbZV07aWYoYyl7dmFyIGc9Yy5wYXJlbnROb2RlO2FbZV09Zy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yj9nOiExfX19ZWxzZXtmb3IoO2U8ZjtlKyspYz1hW2VdLGMmJihhW2VdPWQ/Yy5wYXJlbnROb2RlOmMucGFyZW50Tm9kZT09PWIpO2QmJm0uZmlsdGVyKGIsYSwhMCl9fSwiIjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj1lKyssZz14O3R5cGVvZiBiPT0ic3RyaW5nIiYmIWwudGVzdChiKSYmKGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXcpLGcoInBhcmVudE5vZGUiLGIsZixhLGQsYyl9LCJ+IjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj1lKyssZz14O3R5cGVvZiBiPT0ic3RyaW5nIiYmIWwudGVzdChiKSYmKGI9Yi50b0xvd2VyQ2FzZSgpLGQ9YixnPXcpLGcoInByZXZpb3VzU2libGluZyIsYixmLGEsZCxjKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYi5nZXRFbGVtZW50QnlJZCE9InVuZGVmaW5lZCImJiFjKXt2YXIgZD1iLmdldEVsZW1lbnRCeUlkKGFbMV0pO3JldHVybiBkJiZkLnBhcmVudE5vZGU/W2RdOltdfX0sTkFNRTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiLmdldEVsZW1lbnRzQnlOYW1lIT0idW5kZWZpbmVkIil7dmFyIGM9W10sZD1iLmdldEVsZW1lbnRzQnlOYW1lKGFbMV0pO2Zvcih2YXIgZT0wLGY9ZC5sZW5ndGg7ZTxmO2UrKylkW2VdLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09YVsxXSYmYy5wdXNoKGRbZV0pO3JldHVybiBjLmxlbmd0aD09PTA/bnVsbDpjfX0sVEFHOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPSJ1bmRlZmluZWQiKXJldHVybiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGFbMV0pfX0scHJlRmlsdGVyOntDTEFTUzpmdW5jdGlvbihhLGIsYyxkLGUsZil7YT0iICIrYVsxXS5yZXBsYWNlKGosIiIpKyIgIjtpZihmKXJldHVybiBhO2Zvcih2YXIgZz0wLGg7KGg9YltnXSkhPW51bGw7ZysrKWgmJihlXihoLmNsYXNzTmFtZSYmKCIgIitoLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoL1tcdFxuXHJdL2csIiAiKS5pbmRleE9mKGEpPj0wKT9jfHxkLnB1c2goaCk6YyYmKGJbZ109ITEpKTtyZXR1cm4hMX0sSUQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV0ucmVwbGFjZShqLCIiKX0sVEFHOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbMV0ucmVwbGFjZShqLCIiKS50b0xvd2VyQ2FzZSgpfSxDSElMRDpmdW5jdGlvbihhKXtpZihhWzFdPT09Im50aCIpe2FbMl18fG0uZXJyb3IoYVswXSksYVsyXT1hWzJdLnJlcGxhY2UoL15cK3xccyovZywiIik7dmFyIGI9LygtPykoXGQqKSg/Om4oWytcLV0/XGQqKSk/Ly5leGVjKGFbMl09PT0iZXZlbiImJiIybiJ8fGFbMl09PT0ib2RkIiYmIjJuKzEifHwhL1xELy50ZXN0KGFbMl0pJiYiMG4rIithWzJdfHxhWzJdKTthWzJdPWJbMV0rKGJbMl18fDEpLTAsYVszXT1iWzNdLTB9ZWxzZSBhWzJdJiZtLmVycm9yKGFbMF0pO2FbMF09ZSsrO3JldHVybiBhfSxBVFRSOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1hWzFdPWFbMV0ucmVwbGFjZShqLCIiKTshZiYmby5hdHRyTWFwW2ddJiYoYVsxXT1vLmF0dHJNYXBbZ10pLGFbNF09KGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGosIiIpLGFbMl09PT0ifj0iJiYoYVs0XT0iICIrYVs0XSsiICIpO3JldHVybiBhfSxQU0VVRE86ZnVuY3Rpb24oYixjLGQsZSxmKXtpZihiWzFdPT09Im5vdCIpaWYoKGEuZXhlYyhiWzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KGJbM10pKWJbM109bShiWzNdLG51bGwsbnVsbCxjKTtlbHNle3ZhciBnPW0uZmlsdGVyKGJbM10sYyxkLCEwXmYpO2R8fGUucHVzaC5hcHBseShlLGcpO3JldHVybiExfWVsc2UgaWYoby5tYXRjaC5QT1MudGVzdChiWzBdKXx8by5tYXRjaC5DSElMRC50ZXN0KGJbMF0pKXJldHVybiEwO3JldHVybiBifSxQT1M6ZnVuY3Rpb24oYSl7YS51bnNoaWZ0KCEwKTtyZXR1cm4gYX19LGZpbHRlcnM6e2VuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMSYmYS50eXBlIT09ImhpZGRlbiJ9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2hlY2tlZD09PSEwfSxzZWxlY3RlZDpmdW5jdGlvbihhKXthLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4O3JldHVybiBhLnNlbGVjdGVkPT09ITB9LHBhcmVudDpmdW5jdGlvbihhKXtyZXR1cm4hIWEuZmlyc3RDaGlsZH0sZW1wdHk6ZnVuY3Rpb24oYSl7cmV0dXJuIWEuZmlyc3RDaGlsZH0saGFzOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4hIW0oY1szXSxhKS5sZW5ndGh9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4vaFxkL2kudGVzdChhLm5vZGVOYW1lKX0sdGV4dDpmdW5jdGlvbihhKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgidHlwZSIpLGM9YS50eXBlO3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYidGV4dCI9PT1jJiYoYj09PWN8fGI9PT1udWxsKX0scmFkaW86ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJyYWRpbyI9PT1hLnR5cGV9LGNoZWNrYm94OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYiY2hlY2tib3giPT09YS50eXBlfSxmaWxlOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYiZmlsZSI9PT1hLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYicGFzc3dvcmQiPT09YS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihiPT09ImlucHV0Inx8Yj09PSJidXR0b24iKSYmInN1Ym1pdCI9PT1hLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYiaW1hZ2UiPT09YS50eXBlfSxyZXNldDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKGI9PT0iaW5wdXQifHxiPT09ImJ1dHRvbiIpJiYicmVzZXQiPT09YS50eXBlfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBiPT09ImlucHV0IiYmImJ1dHRvbiI9PT1hLnR5cGV8fGI9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGEubm9kZU5hbWUpfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PWEub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50fX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PTB9LGxhc3Q6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGI9PT1kLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTB9LG9kZDpmdW5jdGlvbihhLGIpe3JldHVybiBiJTI9PT0xfSxsdDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI8Y1szXS0wfSxndDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI+Y1szXS0wfSxudGg6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9PT1ifSxlcTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9fSxmaWx0ZXI6e1BTRVVETzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzFdLGY9by5maWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCk7aWYoZT09PSJjb250YWlucyIpcmV0dXJuKGEudGV4dENvbnRlbnR8fGEuaW5uZXJUZXh0fHxuKFthXSl8fCIiKS5pbmRleE9mKGJbM10pPj0wO2lmKGU9PT0ibm90Iil7dmFyIGc9YlszXTtmb3IodmFyIGg9MCxpPWcubGVuZ3RoO2g8aTtoKyspaWYoZ1toXT09PWEpcmV0dXJuITE7cmV0dXJuITB9bS5lcnJvcihlKX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPWJbMV0sbD1hO3N3aXRjaChrKXtjYXNlIm9ubHkiOmNhc2UiZmlyc3QiOndoaWxlKGw9bC5wcmV2aW91c1NpYmxpbmcpaWYobC5ub2RlVHlwZT09PTEpcmV0dXJuITE7aWYoaz09PSJmaXJzdCIpcmV0dXJuITA7bD1hO2Nhc2UibGFzdCI6d2hpbGUobD1sLm5leHRTaWJsaW5nKWlmKGwubm9kZVR5cGU9PT0xKXJldHVybiExO3JldHVybiEwO2Nhc2UibnRoIjpjPWJbMl0sZT1iWzNdO2lmKGM9PT0xJiZlPT09MClyZXR1cm4hMDtmPWJbMF0sZz1hLnBhcmVudE5vZGU7aWYoZyYmKGdbZF0hPT1mfHwhYS5ub2RlSW5kZXgpKXtpPTA7Zm9yKGw9Zy5maXJzdENoaWxkO2w7bD1sLm5leHRTaWJsaW5nKWwubm9kZVR5cGU9PT0xJiYobC5ub2RlSW5kZXg9KytpKTtnW2RdPWZ9aj1hLm5vZGVJbmRleC1lO3JldHVybiBjPT09MD9qPT09MDpqJWM9PT0wJiZqL2M+PTB9fSxJRDpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVUeXBlPT09MSYmYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSIqIiYmYS5ub2RlVHlwZT09PTF8fCEhYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn0sQ0xBU1M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oIiAiKyhhLmNsYXNzTmFtZXx8YS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZihiKT4tMX0sQVRUUjpmdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1tLmF0dHI/bS5hdHRyKGEsYyk6by5hdHRySGFuZGxlW2NdP28uYXR0ckhhbmRsZVtjXShhKTphW2NdIT1udWxsP2FbY106YS5nZXRBdHRyaWJ1dGUoYyksZT1kKyIiLGY9YlsyXSxnPWJbNF07cmV0dXJuIGQ9PW51bGw/Zj09PSIhPSI6IWYmJm0uYXR0cj9kIT1udWxsOmY9PT0iPSI/ZT09PWc6Zj09PSIqPSI/ZS5pbmRleE9mKGcpPj0wOmY9PT0ifj0iPygiICIrZSsiICIpLmluZGV4T2YoZyk+PTA6Zz9mPT09IiE9Ij9lIT09ZzpmPT09Il49Ij9lLmluZGV4T2YoZyk9PT0wOmY9PT0iJD0iP2Uuc3Vic3RyKGUubGVuZ3RoLWcubGVuZ3RoKT09PWc6Zj09PSJ8PSI/ZT09PWd8fGUuc3Vic3RyKDAsZy5sZW5ndGgrMSk9PT1nKyItIjohMTplJiZkIT09ITF9LFBPUzpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iWzJdLGY9by5zZXRGaWx0ZXJzW2VdO2lmKGYpcmV0dXJuIGYoYSxjLGIsZCl9fX0scD1vLm1hdGNoLlBPUyxxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIlxcIisoYi0wKzEpfTtmb3IodmFyIHIgaW4gby5tYXRjaClvLm1hdGNoW3JdPW5ldyBSZWdFeHAoby5tYXRjaFtyXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxvLmxlZnRNYXRjaFtyXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2Urby5tYXRjaFtyXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLHEpKTtvLm1hdGNoLmdsb2JhbFBPUz1wO3ZhciBzPWZ1bmN0aW9uKGEsYil7YT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLDApO2lmKGIpe2IucHVzaC5hcHBseShiLGEpO3JldHVybiBifXJldHVybiBhfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaCh0KXtzPWZ1bmN0aW9uKGEsYil7dmFyIGM9MCxkPWJ8fFtdO2lmKGcuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5XSIpQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZCxhKTtlbHNlIGlmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpZm9yKHZhciBlPWEubGVuZ3RoO2M8ZTtjKyspZC5wdXNoKGFbY10pO2Vsc2UgZm9yKDthW2NdO2MrKylkLnB1c2goYVtjXSk7cmV0dXJuIGR9fXZhciB1LHY7Yy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/dT1mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXtoPSEwO3JldHVybiAwfWlmKCFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9ufHwhYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbilyZXR1cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxO3JldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjQ/LTE6MX06KHU9ZnVuY3Rpb24oYSxiKXtpZihhPT09Yil7aD0hMDtyZXR1cm4gMH1pZihhLnNvdXJjZUluZGV4JiZiLnNvdXJjZUluZGV4KXJldHVybiBhLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXg7dmFyIGMsZCxlPVtdLGY9W10sZz1hLnBhcmVudE5vZGUsaT1iLnBhcmVudE5vZGUsaj1nO2lmKGc9PT1pKXJldHVybiB2KGEsYik7aWYoIWcpcmV0dXJuLTE7aWYoIWkpcmV0dXJuIDE7d2hpbGUoaillLnVuc2hpZnQoaiksaj1qLnBhcmVudE5vZGU7aj1pO3doaWxlKGopZi51bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2M9ZS5sZW5ndGgsZD1mLmxlbmd0aDtmb3IodmFyIGs9MDtrPGMmJms8ZDtrKyspaWYoZVtrXSE9PWZba10pcmV0dXJuIHYoZVtrXSxmW2tdKTtyZXR1cm4gaz09PWM/dihhLGZba10sLTEpOnYoZVtrXSxiLDEpfSx2PWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gYzt2YXIgZD1hLm5leHRTaWJsaW5nO3doaWxlKGQpe2lmKGQ9PT1iKXJldHVybi0xO2Q9ZC5uZXh0U2libGluZ31yZXR1cm4gMX0pLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGU9Yy5kb2N1bWVudEVsZW1lbnQ7YS5pbm5lckhUTUw9IjxhIG5hbWU9JyIrZCsiJy8+IixlLmluc2VydEJlZm9yZShhLGUuZmlyc3RDaGlsZCksYy5nZXRFbGVtZW50QnlJZChkKSYmKG8uZmluZC5JRD1mdW5jdGlvbihhLGMsZCl7aWYodHlwZW9mIGMuZ2V0RWxlbWVudEJ5SWQhPSJ1bmRlZmluZWQiJiYhZCl7dmFyIGU9Yy5nZXRFbGVtZW50QnlJZChhWzFdKTtyZXR1cm4gZT9lLmlkPT09YVsxXXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSE9InVuZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9PT1hWzFdP1tlXTpiOltdfX0sby5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT0idW5kZWZpbmVkIiYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBhLm5vZGVUeXBlPT09MSYmYyYmYy5ub2RlVmFsdWU9PT1ifSksZS5yZW1vdmVDaGlsZChhKSxlPWE9bnVsbH0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5hcHBlbmRDaGlsZChjLmNyZWF0ZUNvbW1lbnQoIiIpKSxhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoPjAmJihvLmZpbmQuVEFHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKTtpZihhWzFdPT09IioiKXt2YXIgZD1bXTtmb3IodmFyIGU9MDtjW2VdO2UrKyljW2VdLm5vZGVUeXBlPT09MSYmZC5wdXNoKGNbZV0pO2M9ZH1yZXR1cm4gY30pLGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixhLmZpcnN0Q2hpbGQmJnR5cGVvZiBhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlIT0idW5kZWZpbmVkIiYmYS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpIT09IiMiJiYoby5hdHRySGFuZGxlLmhyZWY9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIiwyKX0pLGE9bnVsbH0oKSxjLnF1ZXJ5U2VsZWN0b3JBbGwmJmZ1bmN0aW9uKCl7dmFyIGE9bSxiPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZD0iX19zaXp6bGVfXyI7Yi5pbm5lckhUTUw9IjxwIGNsYXNzPSdURVNUJz48L3A+IjtpZighYi5xdWVyeVNlbGVjdG9yQWxsfHxiLnF1ZXJ5U2VsZWN0b3JBbGwoIi5URVNUIikubGVuZ3RoIT09MCl7bT1mdW5jdGlvbihiLGUsZixnKXtlPWV8fGM7aWYoIWcmJiFtLmlzWE1MKGUpKXt2YXIgaD0vXihcdyskKXxeXC4oW1x3XC1dKyQpfF4jKFtcd1wtXSskKS8uZXhlYyhiKTtpZihoJiYoZS5ub2RlVHlwZT09PTF8fGUubm9kZVR5cGU9PT05KSl7aWYoaFsxXSlyZXR1cm4gcyhlLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpLGYpO2lmKGhbMl0mJm8uZmluZC5DTEFTUyYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBzKGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShoWzJdKSxmKX1pZihlLm5vZGVUeXBlPT09OSl7aWYoYj09PSJib2R5IiYmZS5ib2R5KXJldHVybiBzKFtlLmJvZHldLGYpO2lmKGgmJmhbM10pe3ZhciBpPWUuZ2V0RWxlbWVudEJ5SWQoaFszXSk7aWYoIWl8fCFpLnBhcmVudE5vZGUpcmV0dXJuIHMoW10sZik7aWYoaS5pZD09PWhbM10pcmV0dXJuIHMoW2ldLGYpfXRyeXtyZXR1cm4gcyhlLnF1ZXJ5U2VsZWN0b3JBbGwoYiksZil9Y2F0Y2goail7fX1lbHNlIGlmKGUubm9kZVR5cGU9PT0xJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ib2JqZWN0Iil7dmFyIGs9ZSxsPWUuZ2V0QXR0cmlidXRlKCJpZCIpLG49bHx8ZCxwPWUucGFyZW50Tm9kZSxxPS9eXHMqWyt+XS8udGVzdChiKTtsP249bi5yZXBsYWNlKC8nL2csIlxcJCYiKTplLnNldEF0dHJpYnV0ZSgiaWQiLG4pLHEmJnAmJihlPWUucGFyZW50Tm9kZSk7dHJ5e2lmKCFxfHxwKXJldHVybiBzKGUucXVlcnlTZWxlY3RvckFsbCgiW2lkPSciK24rIiddICIrYiksZil9Y2F0Y2gocil7fWZpbmFsbHl7bHx8ay5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gYShiLGUsZixnKX07Zm9yKHZhciBlIGluIGEpbVtlXT1hW2VdO2I9bnVsbH19KCksZnVuY3Rpb24oKXt2YXIgYT1jLmRvY3VtZW50RWxlbWVudCxiPWEubWF0Y2hlc1NlbGVjdG9yfHxhLm1vek1hdGNoZXNTZWxlY3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0b3I7aWYoYil7dmFyIGQ9IWIuY2FsbChjLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCJkaXYiKSxlPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9Y2F0Y2goZil7ZT0hMH1tLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGMpe2M9Yy5yZXBsYWNlKC9cPVxzKihbXiciXF1dKilccypcXS9nLCI9JyQxJ10iKTtpZighbS5pc1hNTChhKSl0cnl7aWYoZXx8IW8ubWF0Y2guUFNFVURPLnRlc3QoYykmJiEvIT0vLnRlc3QoYykpe3ZhciBmPWIuY2FsbChhLGMpO2lmKGZ8fCFkfHxhLmRvY3VtZW50JiZhLmRvY3VtZW50Lm5vZGVUeXBlIT09MTEpcmV0dXJuIGZ9fWNhdGNoKGcpe31yZXR1cm4gbShjLG51bGwsbnVsbCxbYV0pLmxlbmd0aD4wfX19KCksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSd0ZXN0IGUnPjwvZGl2PjxkaXYgY2xhc3M9J3Rlc3QnPjwvZGl2PiI7aWYoISFhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCE9PTApe2EubGFzdENoaWxkLmNsYXNzTmFtZT0iZSI7aWYoYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoPT09MSlyZXR1cm47by5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIpLG8uZmluZC5DTEFTUz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9InVuZGVmaW5lZCImJiFjKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9LGE9bnVsbH19KCksYy5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/bS5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybiBhIT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhiKTohMCl9OmMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP20uY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2KX06bS5jb250YWlucz1mdW5jdGlvbigpe3JldHVybiExfSxtLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPShhP2Eub3duZXJEb2N1bWVudHx8YTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJIVE1MIjohMX07dmFyIHk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9W10sZj0iIixnPWIubm9kZVR5cGU/W2JdOmI7d2hpbGUoZD1vLm1hdGNoLlBTRVVETy5leGVjKGEpKWYrPWRbMF0sYT1hLnJlcGxhY2Uoby5tYXRjaC5QU0VVRE8sIiIpO2E9by5yZWxhdGl2ZVthXT9hKyIqIjphO2Zvcih2YXIgaD0wLGk9Zy5sZW5ndGg7aDxpO2grKyltKGEsZ1toXSxlLGMpO3JldHVybiBtLmZpbHRlcihmLGUpfTttLmF0dHI9Zi5hdHRyLG0uc2VsZWN0b3JzLmF0dHJNYXA9e30sZi5maW5kPW0sZi5leHByPW0uc2VsZWN0b3JzLGYuZXhwclsiOiJdPWYuZXhwci5maWx0ZXJzLGYudW5pcXVlPW0udW5pcXVlU29ydCxmLnRleHQ9bS5nZXRUZXh0LGYuaXNYTUxEb2M9bS5pc1hNTCxmLmNvbnRhaW5zPW0uY29udGFpbnN9KCk7dmFyIEw9L1VudGlsJC8sTT0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxOPS8sLyxPPS9eLlteOiNcW1wuLF0qJC8sUD1BcnJheS5wcm90b3R5cGUuc2xpY2UsUT1mLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFI9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07Zi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQ7aWYodHlwZW9mIGEhPSJzdHJpbmciKXJldHVybiBmKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihjPTAsZD1iLmxlbmd0aDtjPGQ7YysrKWlmKGYuY29udGFpbnMoYltjXSx0aGlzKSlyZXR1cm4hMH0pO3ZhciBlPXRoaXMucHVzaFN0YWNrKCIiLCJmaW5kIixhKSxnLGgsaTtmb3IoYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKyl7Zz1lLmxlbmd0aCxmLmZpbmQoYSx0aGlzW2NdLGUpO2lmKGM+MClmb3IoaD1nO2g8ZS5sZW5ndGg7aCsrKWZvcihpPTA7aTxnO2krKylpZihlW2ldPT09ZVtoXSl7ZS5zcGxpY2UoaC0tLDEpO2JyZWFrfX1yZXR1cm4gZX0saGFzOmZ1bmN0aW9uKGEpe3ZhciBiPWYoYSk7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYz1iLmxlbmd0aDthPGM7YSsrKWlmKGYuY29udGFpbnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFQodGhpcyxhLCExKSwibm90IixhKX0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhUKHRoaXMsYSwhMCksImZpbHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhYSYmKHR5cGVvZiBhPT0ic3RyaW5nIj9RLnRlc3QoYSk/ZihhLHRoaXMuY29udGV4dCkuaW5kZXgodGhpc1swXSk+PTA6Zi5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+MDp0aGlzLmZpbHRlcihhKS5sZW5ndGg+MCl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkLGUsZz10aGlzWzBdO2lmKGYuaXNBcnJheShhKSl7dmFyIGg9MTt3aGlsZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3IoZD0wO2Q8YS5sZW5ndGg7ZCsrKWYoZykuaXMoYVtkXSkmJmMucHVzaCh7c2VsZWN0b3I6YVtkXSxlbGVtOmcsbGV2ZWw6aH0pO2c9Zy5wYXJlbnROb2RlLGgrK31yZXR1cm4gY312YXIgaT1RLnRlc3QoYSl8fHR5cGVvZiBhIT0ic3RyaW5nIj9mKGEsYnx8dGhpcy5jb250ZXh0KTowO2ZvcihkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKXtnPXRoaXNbZF07d2hpbGUoZyl7aWYoaT9pLmluZGV4KGcpPi0xOmYuZmluZC5tYXRjaGVzU2VsZWN0b3IoZyxhKSl7Yy5wdXNoKGcpO2JyZWFrfWc9Zy5wYXJlbnROb2RlO2lmKCFnfHwhZy5vd25lckRvY3VtZW50fHxnPT09Ynx8Zy5ub2RlVHlwZT09PTExKWJyZWFrfX1jPWMubGVuZ3RoPjE/Zi51bmlxdWUoYyk6YztyZXR1cm4gdGhpcy5wdXNoU3RhY2soYywiY2xvc2VzdCIsYSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiB0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gZi5pbkFycmF5KHRoaXNbMF0sZihhKSk7cmV0dXJuIGYuaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhPT0ic3RyaW5nIj9mKGEsYik6Zi5tYWtlQXJyYXkoYSYmYS5ub2RlVHlwZT9bYV06YSksZD1mLm1lcmdlKHRoaXMuZ2V0KCksYyk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMoY1swXSl8fFMoZFswXSk/ZDpmLnVuaXF1ZShkKSl9LGFuZFNlbGY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2T2JqZWN0KX19KSxmLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIubm9kZVR5cGUhPT0xMT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGYubnRoKGEsMiwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gZi5udGgoYSwyLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50OmYubWFrZUFycmF5KGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1mLm1hcCh0aGlzLGIsYyk7TC50ZXN0KGEpfHwoZD1jKSxkJiZ0eXBlb2YgZD09InN0cmluZyImJihlPWYuZmlsdGVyKGQsZSkpLGU9dGhpcy5sZW5ndGg+MSYmIVJbYV0/Zi51bmlxdWUoZSk6ZSwodGhpcy5sZW5ndGg+MXx8Ti50ZXN0KGQpKSYmTS50ZXN0KGEpJiYoZT1lLnJldmVyc2UoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUsYSxQLmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfX0pLGYuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oYSxiLGMpe2MmJihhPSI6bm90KCIrYSsiKSIpO3JldHVybiBiLmxlbmd0aD09PTE/Zi5maW5kLm1hdGNoZXNTZWxlY3RvcihiWzBdLGEpP1tiWzBdXTpbXTpmLmZpbmQubWF0Y2hlcyhhLGIpfSxkaXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPVtdLGc9YVtjXTt3aGlsZShnJiZnLm5vZGVUeXBlIT09OSYmKGQ9PT1ifHxnLm5vZGVUeXBlIT09MXx8IWYoZykuaXMoZCkpKWcubm9kZVR5cGU9PT0xJiZlLnB1c2goZyksZz1nW2NdO3JldHVybiBlfSxudGg6ZnVuY3Rpb24oYSxiLGMsZCl7Yj1ifHwxO3ZhciBlPTA7Zm9yKDthO2E9YVtjXSlpZihhLm5vZGVUeXBlPT09MSYmKytlPT09YilicmVhaztyZXR1cm4gYX0sc2libGluZzpmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2Zvcig7YTthPWEubmV4dFNpYmxpbmcpYS5ub2RlVHlwZT09PTEmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSk7dmFyIFY9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0YWxpc3R8ZGV0YWlsc3xmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8aGVhZGVyfGhncm91cHxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1tYXJ5fHRpbWV8dmlkZW8iLFc9LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZyxYPS9eXHMrLyxZPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vaWcsWj0vPChbXHc6XSspLywkPS88dGJvZHkvaSxfPS88fCYjP1x3KzsvLGJhPS88KD86c2NyaXB0fHN0eWxlKS9pLGJiPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUpL2ksYmM9bmV3IFJlZ0V4cCgiPCg/OiIrVisiKVtcXHMvPl0iLCJpIiksYmQ9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksYmU9L1wvKGphdmF8ZWNtYSlzY3JpcHQvaSxiZj0vXlxzKjwhKD86XFtDREFUQVxbfFwtXC0pLyxiZz17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5kOlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfSxiaD1VKGMpO2JnLm9wdGdyb3VwPWJnLm9wdGlvbixiZy50Ym9keT1iZy50Zm9vdD1iZy5jb2xncm91cD1iZy5jYXB0aW9uPWJnLnRoZWFkLGJnLnRoPWJnLnRkLGYuc3VwcG9ydC5odG1sU2VyaWFsaXplfHwoYmcuX2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il0pLGYuZm4uZXh0ZW5kKHt0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBmLmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiBhPT09Yj9mLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxjKS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihhKXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikpfSk7aWYodGhpc1swXSl7dmFyIGI9ZihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT09MSlhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMpLGM9Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0pfSx3cmFwOmZ1bmN0aW9uKGEpe3ZhciBiPWYuaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe2YodGhpcykud3JhcEFsbChiP2EuY2FsbCh0aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtmLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8Zih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChhKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmluc2VydEJlZm9yZShhLHRoaXMuZmlyc3RDaGlsZCl9KX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgYT1mCi5jbGVhbihhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLHRoaXMudG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1bWVudHMpfX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCExLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLGYuY2xlYW4oYXJndW1lbnRzKSk7cmV0dXJuIGF9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkOyhkPXRoaXNbY10pIT1udWxsO2MrKylpZighYXx8Zi5maWx0ZXIoYSxbZF0pLmxlbmd0aCkhYiYmZC5ub2RlVHlwZT09PTEmJihmLmNsZWFuRGF0YShkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGYuY2xlYW5EYXRhKFtkXSkpLGQucGFyZW50Tm9kZSYmZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKXtiLm5vZGVUeXBlPT09MSYmZi5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTt3aGlsZShiLmZpcnN0Q2hpbGQpYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe2E9YT09bnVsbD8hMTphLGI9Yj09bnVsbD9hOmI7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGYuY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuYWNjZXNzKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGM9dGhpc1swXXx8e30sZD0wLGU9dGhpcy5sZW5ndGg7aWYoYT09PWIpcmV0dXJuIGMubm9kZVR5cGU9PT0xP2MuaW5uZXJIVE1MLnJlcGxhY2UoVywiIik6bnVsbDtpZih0eXBlb2YgYT09InN0cmluZyImJiFiYS50ZXN0KGEpJiYoZi5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlfHwhWC50ZXN0KGEpKSYmIWJnWyhaLmV4ZWMoYSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPWEucmVwbGFjZShZLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPGU7ZCsrKWM9dGhpc1tkXXx8e30sYy5ub2RlVHlwZT09PTEmJihmLmNsZWFuRGF0YShjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLGMuaW5uZXJIVE1MPWEpO2M9MH1jYXRjaChnKXt9fWMmJnRoaXMuZW1wdHkoKS5hcHBlbmQoYSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oYSl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRoaXMpLGQ9Yy5odG1sKCk7Yy5yZXBsYWNlV2l0aChhLmNhbGwodGhpcyxiLGQpKX0pO3R5cGVvZiBhIT0ic3RyaW5nIiYmKGE9ZihhKS5kZXRhY2goKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsYz10aGlzLnBhcmVudE5vZGU7Zih0aGlzKS5yZW1vdmUoKSxiP2YoYikuYmVmb3JlKGEpOmYoYykuYXBwZW5kKGEpfSl9cmV0dXJuIHRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGYoZi5pc0Z1bmN0aW9uKGEpP2EoKTphKSwicmVwbGFjZVdpdGgiLGEpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxnLGgsaSxqPWFbMF0saz1bXTtpZighZi5zdXBwb3J0LmNoZWNrQ2xvbmUmJmFyZ3VtZW50cy5sZW5ndGg9PT0zJiZ0eXBlb2Ygaj09InN0cmluZyImJmJkLnRlc3QoaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YodGhpcykuZG9tTWFuaXAoYSxjLGQsITApfSk7aWYoZi5pc0Z1bmN0aW9uKGopKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIGc9Zih0aGlzKTthWzBdPWouY2FsbCh0aGlzLGUsYz9nLmh0bWwoKTpiKSxnLmRvbU1hbmlwKGEsYyxkKX0pO2lmKHRoaXNbMF0pe2k9aiYmai5wYXJlbnROb2RlLGYuc3VwcG9ydC5wYXJlbnROb2RlJiZpJiZpLm5vZGVUeXBlPT09MTEmJmkuY2hpbGROb2Rlcy5sZW5ndGg9PT10aGlzLmxlbmd0aD9lPXtmcmFnbWVudDppfTplPWYuYnVpbGRGcmFnbWVudChhLHRoaXMsayksaD1lLmZyYWdtZW50LGguY2hpbGROb2Rlcy5sZW5ndGg9PT0xP2c9aD1oLmZpcnN0Q2hpbGQ6Zz1oLmZpcnN0Q2hpbGQ7aWYoZyl7Yz1jJiZmLm5vZGVOYW1lKGcsInRyIik7Zm9yKHZhciBsPTAsbT10aGlzLmxlbmd0aCxuPW0tMTtsPG07bCsrKWQuY2FsbChjP2JpKHRoaXNbbF0sZyk6dGhpc1tsXSxlLmNhY2hlYWJsZXx8bT4xJiZsPG4/Zi5jbG9uZShoLCEwLCEwKTpoKX1rLmxlbmd0aCYmZi5lYWNoKGssZnVuY3Rpb24oYSxiKXtiLnNyYz9mLmFqYXgoe3R5cGU6IkdFVCIsZ2xvYmFsOiExLHVybDpiLnNyYyxhc3luYzohMSxkYXRhVHlwZToic2NyaXB0In0pOmYuZ2xvYmFsRXZhbCgoYi50ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLnJlcGxhY2UoYmYsIi8qJDAqLyIpKSxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKX0pfXJldHVybiB0aGlzfX0pLGYuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZyxoLGksaj1hWzBdO2ImJmJbMF0mJihpPWJbMF0ub3duZXJEb2N1bWVudHx8YlswXSksaS5jcmVhdGVEb2N1bWVudEZyYWdtZW50fHwoaT1jKSxhLmxlbmd0aD09PTEmJnR5cGVvZiBqPT0ic3RyaW5nIiYmai5sZW5ndGg8NTEyJiZpPT09YyYmai5jaGFyQXQoMCk9PT0iPCImJiFiYi50ZXN0KGopJiYoZi5zdXBwb3J0LmNoZWNrQ2xvbmV8fCFiZC50ZXN0KGopKSYmKGYuc3VwcG9ydC5odG1sNUNsb25lfHwhYmMudGVzdChqKSkmJihnPSEwLGg9Zi5mcmFnbWVudHNbal0saCYmaCE9PTEmJihlPWgpKSxlfHwoZT1pLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxmLmNsZWFuKGEsaSxlLGQpKSxnJiYoZi5mcmFnbWVudHNbal09aD9lOjEpO3JldHVybntmcmFnbWVudDplLGNhY2hlYWJsZTpnfX0sZi5mcmFnbWVudHM9e30sZi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtmLmZuW2FdPWZ1bmN0aW9uKGMpe3ZhciBkPVtdLGU9ZihjKSxnPXRoaXMubGVuZ3RoPT09MSYmdGhpc1swXS5wYXJlbnROb2RlO2lmKGcmJmcubm9kZVR5cGU9PT0xMSYmZy5jaGlsZE5vZGVzLmxlbmd0aD09PTEmJmUubGVuZ3RoPT09MSl7ZVtiXSh0aGlzWzBdKTtyZXR1cm4gdGhpc31mb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspe3ZhciBqPShoPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7ZihlW2hdKVtiXShqKSxkPWQuY29uY2F0KGopfXJldHVybiB0aGlzLnB1c2hTdGFjayhkLGEsZS5zZWxlY3Rvcil9fSksZi5leHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGcsaD1mLnN1cHBvcnQuaHRtbDVDbG9uZXx8Zi5pc1hNTERvYyhhKXx8IWJjLnRlc3QoIjwiK2Eubm9kZU5hbWUrIj4iKT9hLmNsb25lTm9kZSghMCk6Ym8oYSk7aWYoKCFmLnN1cHBvcnQubm9DbG9uZUV2ZW50fHwhZi5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkKSYmKGEubm9kZVR5cGU9PT0xfHxhLm5vZGVUeXBlPT09MTEpJiYhZi5pc1hNTERvYyhhKSl7YmsoYSxoKSxkPWJsKGEpLGU9YmwoaCk7Zm9yKGc9MDtkW2ddOysrZyllW2ddJiZiayhkW2ddLGVbZ10pfWlmKGIpe2JqKGEsaCk7aWYoYyl7ZD1ibChhKSxlPWJsKGgpO2ZvcihnPTA7ZFtnXTsrK2cpYmooZFtnXSxlW2ddKX19ZD1lPW51bGw7cmV0dXJuIGh9LGNsZWFuOmZ1bmN0aW9uKGEsYixkLGUpe3ZhciBnLGgsaSxqPVtdO2I9Ynx8Yyx0eXBlb2YgYi5jcmVhdGVFbGVtZW50PT0idW5kZWZpbmVkIiYmKGI9Yi5vd25lckRvY3VtZW50fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fGMpO2Zvcih2YXIgaz0wLGw7KGw9YVtrXSkhPW51bGw7aysrKXt0eXBlb2YgbD09Im51bWJlciImJihsKz0iIik7aWYoIWwpY29udGludWU7aWYodHlwZW9mIGw9PSJzdHJpbmciKWlmKCFfLnRlc3QobCkpbD1iLmNyZWF0ZVRleHROb2RlKGwpO2Vsc2V7bD1sLnJlcGxhY2UoWSwiPCQxPjwvJDI+Iik7dmFyIG09KFouZXhlYyhsKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxuPWJnW21dfHxiZy5fZGVmYXVsdCxvPW5bMF0scD1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHE9YmguY2hpbGROb2RlcyxyO2I9PT1jP2JoLmFwcGVuZENoaWxkKHApOlUoYikuYXBwZW5kQ2hpbGQocCkscC5pbm5lckhUTUw9blsxXStsK25bMl07d2hpbGUoby0tKXA9cC5sYXN0Q2hpbGQ7aWYoIWYuc3VwcG9ydC50Ym9keSl7dmFyIHM9JC50ZXN0KGwpLHQ9bT09PSJ0YWJsZSImJiFzP3AuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLmNoaWxkTm9kZXM6blsxXT09PSI8dGFibGU+IiYmIXM/cC5jaGlsZE5vZGVzOltdO2ZvcihpPXQubGVuZ3RoLTE7aT49MDstLWkpZi5ub2RlTmFtZSh0W2ldLCJ0Ym9keSIpJiYhdFtpXS5jaGlsZE5vZGVzLmxlbmd0aCYmdFtpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRbaV0pfSFmLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlgudGVzdChsKSYmcC5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0Tm9kZShYLmV4ZWMobClbMF0pLHAuZmlyc3RDaGlsZCksbD1wLmNoaWxkTm9kZXMscCYmKHAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwKSxxLmxlbmd0aD4wJiYocj1xW3EubGVuZ3RoLTFdLHImJnIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKSl9dmFyIHU7aWYoIWYuc3VwcG9ydC5hcHBlbmRDaGVja2VkKWlmKGxbMF0mJnR5cGVvZiAodT1sLmxlbmd0aCk9PSJudW1iZXIiKWZvcihpPTA7aTx1O2krKylibihsW2ldKTtlbHNlIGJuKGwpO2wubm9kZVR5cGU/ai5wdXNoKGwpOmo9Zi5tZXJnZShqLGwpfWlmKGQpe2c9ZnVuY3Rpb24oYSl7cmV0dXJuIWEudHlwZXx8YmUudGVzdChhLnR5cGUpfTtmb3Ioaz0wO2pba107aysrKXtoPWpba107aWYoZSYmZi5ub2RlTmFtZShoLCJzY3JpcHQiKSYmKCFoLnR5cGV8fGJlLnRlc3QoaC50eXBlKSkpZS5wdXNoKGgucGFyZW50Tm9kZT9oLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCk6aCk7ZWxzZXtpZihoLm5vZGVUeXBlPT09MSl7dmFyIHY9Zi5ncmVwKGguZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGcpO2ouc3BsaWNlLmFwcGx5KGosW2srMSwwXS5jb25jYXQodikpfWQuYXBwZW5kQ2hpbGQoaCl9fX1yZXR1cm4gan0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1mLmNhY2hlLGU9Zi5ldmVudC5zcGVjaWFsLGc9Zi5zdXBwb3J0LmRlbGV0ZUV4cGFuZG87Zm9yKHZhciBoPTAsaTsoaT1hW2hdKSE9bnVsbDtoKyspe2lmKGkubm9kZU5hbWUmJmYubm9EYXRhW2kubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pY29udGludWU7Yz1pW2YuZXhwYW5kb107aWYoYyl7Yj1kW2NdO2lmKGImJmIuZXZlbnRzKXtmb3IodmFyIGogaW4gYi5ldmVudHMpZVtqXT9mLmV2ZW50LnJlbW92ZShpLGopOmYucmVtb3ZlRXZlbnQoaSxqLGIuaGFuZGxlKTtiLmhhbmRsZSYmKGIuaGFuZGxlLmVsZW09bnVsbCl9Zz9kZWxldGUgaVtmLmV4cGFuZG9dOmkucmVtb3ZlQXR0cmlidXRlJiZpLnJlbW92ZUF0dHJpYnV0ZShmLmV4cGFuZG8pLGRlbGV0ZSBkW2NdfX19fSk7dmFyIGJwPS9hbHBoYVwoW14pXSpcKS9pLGJxPS9vcGFjaXR5PShbXildKikvLGJyPS8oW0EtWl18Xm1zKS9nLGJzPS9eW1wtK10/KD86XGQqXC4pP1xkKyQvaSxidD0vXi0/KD86XGQqXC4pP1xkKyg/IXB4KVteXGRcc10rJC9pLGJ1PS9eKFtcLStdKT0oW1wtKy5cZGVdKykvLGJ2PS9ebWFyZ2luLyxidz17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sYng9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxieSxieixiQTtmLmZuLmNzcz1mdW5jdGlvbihhLGMpe3JldHVybiBmLmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gZCE9PWI/Zi5zdHlsZShhLGMsZCk6Zi5jc3MoYSxjKX0sYSxjLGFyZ3VtZW50cy5sZW5ndGg+MSl9LGYuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9YnkoYSwib3BhY2l0eSIpO3JldHVybiBjPT09IiI/IjEiOmN9cmV0dXJuIGEuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjpmLnN1cHBvcnQuY3NzRmxvYXQ/ImNzc0Zsb2F0Ijoic3R5bGVGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYyxkLGUpe2lmKCEhYSYmYS5ub2RlVHlwZSE9PTMmJmEubm9kZVR5cGUhPT04JiYhIWEuc3R5bGUpe3ZhciBnLGgsaT1mLmNhbWVsQ2FzZShjKSxqPWEuc3R5bGUsaz1mLmNzc0hvb2tzW2ldO2M9Zi5jc3NQcm9wc1tpXXx8aTtpZihkPT09Yil7aWYoayYmImdldCJpbiBrJiYoZz1rLmdldChhLCExLGUpKSE9PWIpcmV0dXJuIGc7cmV0dXJuIGpbY119aD10eXBlb2YgZCxoPT09InN0cmluZyImJihnPWJ1LmV4ZWMoZCkpJiYoZD0rKGdbMV0rMSkqK2dbMl0rcGFyc2VGbG9hdChmLmNzcyhhLGMpKSxoPSJudW1iZXIiKTtpZihkPT1udWxsfHxoPT09Im51bWJlciImJmlzTmFOKGQpKXJldHVybjtoPT09Im51bWJlciImJiFmLmNzc051bWJlcltpXSYmKGQrPSJweCIpO2lmKCFrfHwhKCJzZXQiaW4gayl8fChkPWsuc2V0KGEsZCkpIT09Yil0cnl7altjXT1kfWNhdGNoKGwpe319fSxjc3M6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGc7Yz1mLmNhbWVsQ2FzZShjKSxnPWYuY3NzSG9va3NbY10sYz1mLmNzc1Byb3BzW2NdfHxjLGM9PT0iY3NzRmxvYXQiJiYoYz0iZmxvYXQiKTtpZihnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsZCkpIT09YilyZXR1cm4gZTtpZihieSlyZXR1cm4gYnkoYSxjKX0sc3dhcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9e30sZSxmO2ZvcihmIGluIGIpZFtmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuY2FsbChhKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09ZFtmXTtyZXR1cm4gZX19KSxmLmN1ckNTUz1mLmNzcyxjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihiej1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxnLGg9YS5zdHlsZTtiPWIucmVwbGFjZShiciwiLSQxIikudG9Mb3dlckNhc2UoKSwoZD1hLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpJiYoZT1kLmdldENvbXB1dGVkU3R5bGUoYSxudWxsKSkmJihjPWUuZ2V0UHJvcGVydHlWYWx1ZShiKSxjPT09IiImJiFmLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYSkmJihjPWYuc3R5bGUoYSxiKSkpLCFmLnN1cHBvcnQucGl4ZWxNYXJnaW4mJmUmJmJ2LnRlc3QoYikmJmJ0LnRlc3QoYykmJihnPWgud2lkdGgsaC53aWR0aD1jLGM9ZS53aWR0aCxoLndpZHRoPWcpO3JldHVybiBjfSksYy5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoYkE9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLmN1cnJlbnRTdHlsZSYmYS5jdXJyZW50U3R5bGVbYl0sZz1hLnN0eWxlO2Y9PW51bGwmJmcmJihlPWdbYl0pJiYoZj1lKSxidC50ZXN0KGYpJiYoYz1nLmxlZnQsZD1hLnJ1bnRpbWVTdHlsZSYmYS5ydW50aW1lU3R5bGUubGVmdCxkJiYoYS5ydW50aW1lU3R5bGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxnLmxlZnQ9Yj09PSJmb250U2l6ZSI/IjFlbSI6ZixmPWcucGl4ZWxMZWZ0KyJweCIsZy5sZWZ0PWMsZCYmKGEucnVudGltZVN0eWxlLmxlZnQ9ZCkpO3JldHVybiBmPT09IiI/ImF1dG8iOmZ9KSxieT1ienx8YkEsZi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe2YuY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7aWYoYylyZXR1cm4gYS5vZmZzZXRXaWR0aCE9PTA/YkIoYSxiLGQpOmYuc3dhcChhLGJ3LGZ1bmN0aW9uKCl7cmV0dXJuIGJCKGEsYixkKX0pfSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYnMudGVzdChiKT9iKyJweCI6Yn19fSksZi5zdXBwb3J0Lm9wYWNpdHl8fChmLmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBicS50ZXN0KChiJiZhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/cGFyc2VGbG9hdChSZWdFeHAuJDEpLzEwMCsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlLGU9Zi5pc051bWVyaWMoYik/ImFscGhhKG9wYWNpdHk9IitiKjEwMCsiKSI6IiIsZz1kJiZkLmZpbHRlcnx8Yy5maWx0ZXJ8fCIiO2Muem9vbT0xO2lmKGI+PTEmJmYudHJpbShnLnJlcGxhY2UoYnAsIiIpKT09PSIiKXtjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7aWYoZCYmIWQuZmlsdGVyKXJldHVybn1jLmZpbHRlcj1icC50ZXN0KGcpP2cucmVwbGFjZShicCxlKTpnKyIgIitlfX0pLGYoZnVuY3Rpb24oKXtmLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGYuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBmLnN3YXAoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sZnVuY3Rpb24oKXtyZXR1cm4gYj9ieShhLCJtYXJnaW4tcmlnaHQiKTphLnN0eWxlLm1hcmdpblJpZ2h0fSl9fSl9KSxmLmV4cHImJmYuZXhwci5maWx0ZXJzJiYoZi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0V2lkdGgsYz1hLm9mZnNldEhlaWdodDtyZXR1cm4gYj09PTAmJmM9PT0wfHwhZi5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmKGEuc3R5bGUmJmEuc3R5bGUuZGlzcGxheXx8Zi5jc3MoYSwiZGlzcGxheSIpKT09PSJub25lIn0sZi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hZi5leHByLmZpbHRlcnMuaGlkZGVuKGEpfSksZi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtmLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXt2YXIgZCxlPXR5cGVvZiBjPT0ic3RyaW5nIj9jLnNwbGl0KCIgIik6W2NdLGY9e307Zm9yKGQ9MDtkPDQ7ZCsrKWZbYStieFtkXStiXT1lW2RdfHxlW2QtMl18fGVbMF07cmV0dXJuIGZ9fX0pO3ZhciBiQz0vJTIwL2csYkQ9L1xbXF0kLyxiRT0vXHI/XG4vZyxiRj0vIy4qJC8sYkc9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9tZyxiSD0vXig/OmNvbG9yfGRhdGV8ZGF0ZXRpbWV8ZGF0ZXRpbWUtbG9jYWx8ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2ksYkk9L14oPzphYm91dHxhcHB8YXBwXC1zdG9yYWdlfC4rXC1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxiSj0vXig/OkdFVHxIRUFEKSQvLGJLPS9eXC9cLy8sYkw9L1w/LyxiTT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxiTj0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxiTz0vXHMrLyxiUD0vKFs/Jl0pXz1bXiZdKi8sYlE9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLGJSPWYuZm4ubG9hZCxiUz17fSxiVD17fSxiVSxiVixiVz1bIiovIl0rWyIqIl07dHJ5e2JVPWUuaHJlZn1jYXRjaChiWCl7YlU9Yy5jcmVhdGVFbGVtZW50KCJhIiksYlUuaHJlZj0iIixiVT1iVS5ocmVmfWJWPWJRLmV4ZWMoYlUudG9Mb3dlckNhc2UoKSl8fFtdLGYuZm4uZXh0ZW5kKHtsb2FkOmZ1bmN0aW9uKGEsYyxkKXtpZih0eXBlb2YgYSE9InN0cmluZyImJmJSKXJldHVybiBiUi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoIXRoaXMubGVuZ3RoKXJldHVybiB0aGlzO3ZhciBlPWEuaW5kZXhPZigiICIpO2lmKGU+PTApe3ZhciBnPWEuc2xpY2UoZSxhLmxlbmd0aCk7YT1hLnNsaWNlKDAsZSl9dmFyIGg9IkdFVCI7YyYmKGYuaXNGdW5jdGlvbihjKT8oZD1jLGM9Yik6dHlwZW9mIGM9PSJvYmplY3QiJiYoYz1mLnBhcmFtKGMsZi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGg9IlBPU1QiKSk7dmFyIGk9dGhpcztmLmFqYXgoe3VybDphLHR5cGU6aCxkYXRhVHlwZToiaHRtbCIsZGF0YTpjLGNvbXBsZXRlOmZ1bmN0aW9uKGEsYixjKXtjPWEucmVzcG9uc2VUZXh0LGEuaXNSZXNvbHZlZCgpJiYoYS5kb25lKGZ1bmN0aW9uKGEpe2M9YX0pLGkuaHRtbChnP2YoIjxkaXY+IikuYXBwZW5kKGMucmVwbGFjZShiTSwiIikpLmZpbmQoZyk6YykpLGQmJmkuZWFjaChkLFtjLGIsYV0pfX0pO3JldHVybiB0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZi5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnRzP2YubWFrZUFycmF5KHRoaXMuZWxlbWVudHMpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lJiYhdGhpcy5kaXNhYmxlZCYmKHRoaXMuY2hlY2tlZHx8Yk4udGVzdCh0aGlzLm5vZGVOYW1lKXx8YkgudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPWYodGhpcykudmFsKCk7cmV0dXJuIGM9PW51bGw/bnVsbDpmLmlzQXJyYXkoYyk/Zi5tYXAoYyxmdW5jdGlvbihhLGMpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYkUsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGJFLCJcclxuIil9fSkuZ2V0KCl9fSksZi5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2YuZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxmLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oYSxjKXtmW2NdPWZ1bmN0aW9uKGEsZCxlLGcpe2YuaXNGdW5jdGlvbihkKSYmKGc9Z3x8ZSxlPWQsZD1iKTtyZXR1cm4gZi5hamF4KHt0eXBlOmMsdXJsOmEsZGF0YTpkLHN1Y2Nlc3M6ZSxkYXRhVHlwZTpnfSl9fSksZi5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihhLGMpe3JldHVybiBmLmdldChhLGIsYywic2NyaXB0Iil9LGdldEpTT046ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmdldChhLGIsYywianNvbiIpfSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtiP2IkKGEsZi5hamF4U2V0dGluZ3MpOihiPWEsYT1mLmFqYXhTZXR0aW5ncyksYiQoYSxiKTtyZXR1cm4gYX0sYWpheFNldHRpbmdzOnt1cmw6YlUsaXNMb2NhbDpiSS50ZXN0KGJWWzFdKSxnbG9iYWw6ITAsdHlwZToiR0VUIixjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04Iixwcm9jZXNzRGF0YTohMCxhc3luYzohMCxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGh0bWw6InRleHQvaHRtbCIsdGV4dDoidGV4dC9wbGFpbiIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IiwiKiI6Yld9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjphLlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpmLnBhcnNlSlNPTiwidGV4dCB4bWwiOmYucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6YlkoYlMpLGFqYXhUcmFuc3BvcnQ6YlkoYlQpLGFqYXg6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiB3KGEsYyxsLG0pe2lmKHMhPT0yKXtzPTIscSYmY2xlYXJUaW1lb3V0KHEpLHA9YixuPW18fCIiLHYucmVhZHlTdGF0ZT1hPjA/NDowO3ZhciBvLHIsdSx3PWMseD1sP2NhKGQsdixsKTpiLHksejtpZihhPj0yMDAmJmE8MzAwfHxhPT09MzA0KXtpZihkLmlmTW9kaWZpZWQpe2lmKHk9di5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpKWYubGFzdE1vZGlmaWVkW2tdPXk7aWYoej12LmdldFJlc3BvbnNlSGVhZGVyKCJFdGFnIikpZi5ldGFnW2tdPXp9aWYoYT09PTMwNCl3PSJub3Rtb2RpZmllZCIsbz0hMDtlbHNlIHRyeXtyPWNiKGQseCksdz0ic3VjY2VzcyIsbz0hMH1jYXRjaChBKXt3PSJwYXJzZXJlcnJvciIsdT1BfX1lbHNle3U9dztpZighd3x8YSl3PSJlcnJvciIsYTwwJiYoYT0wKX12LnN0YXR1cz1hLHYuc3RhdHVzVGV4dD0iIisoY3x8dyksbz9oLnJlc29sdmVXaXRoKGUsW3Isdyx2XSk6aC5yZWplY3RXaXRoKGUsW3Ysdyx1XSksdi5zdGF0dXNDb2RlKGopLGo9Yix0JiZnLnRyaWdnZXIoImFqYXgiKyhvPyJTdWNjZXNzIjoiRXJyb3IiKSxbdixkLG8/cjp1XSksaS5maXJlV2l0aChlLFt2LHddKSx0JiYoZy50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFt2LGRdKSwtLWYuYWN0aXZlfHxmLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpfX10eXBlb2YgYT09Im9iamVjdCImJihjPWEsYT1iKSxjPWN8fHt9O3ZhciBkPWYuYWpheFNldHVwKHt9LGMpLGU9ZC5jb250ZXh0fHxkLGc9ZSE9PWQmJihlLm5vZGVUeXBlfHxlIGluc3RhbmNlb2YgZik/ZihlKTpmLmV2ZW50LGg9Zi5EZWZlcnJlZCgpLGk9Zi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksaj1kLnN0YXR1c0NvZGV8fHt9LGssbD17fSxtPXt9LG4sbyxwLHEscixzPTAsdCx1LHY9e3JlYWR5U3RhdGU6MCxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7aWYoIXMpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTthPW1bY109bVtjXXx8YSxsW2FdPWJ9cmV0dXJuIHRoaXN9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiBzPT09Mj9uOm51bGx9LGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBjO2lmKHM9PT0yKXtpZighbyl7bz17fTt3aGlsZShjPWJHLmV4ZWMobikpb1tjWzFdLnRvTG93ZXJDYXNlKCldPWNbMl19Yz1vW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIGM9PT1iP251bGw6Y30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihhKXtzfHwoZC5taW1lVHlwZT1hKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7YT1hfHwiYWJvcnQiLHAmJnAuYWJvcnQoYSksdygwLGEpO3JldHVybiB0aGlzfX07aC5wcm9taXNlKHYpLHYuc3VjY2Vzcz12LmRvbmUsdi5lcnJvcj12LmZhaWwsdi5jb21wbGV0ZT1pLmFkZCx2LnN0YXR1c0NvZGU9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7aWYoczwyKWZvcihiIGluIGEpaltiXT1baltiXSxhW2JdXTtlbHNlIGI9YVt2LnN0YXR1c10sdi50aGVuKGIsYil9cmV0dXJuIHRoaXN9LGQudXJsPSgoYXx8ZC51cmwpKyIiKS5yZXBsYWNlKGJGLCIiKS5yZXBsYWNlKGJLLGJWWzFdKyIvLyIpLGQuZGF0YVR5cGVzPWYudHJpbShkLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoYk8pLGQuY3Jvc3NEb21haW49PW51bGwmJihyPWJRLmV4ZWMoZC51cmwudG9Mb3dlckNhc2UoKSksZC5jcm9zc0RvbWFpbj0hKCFyfHxyWzFdPT1iVlsxXSYmclsyXT09YlZbMl0mJihyWzNdfHwoclsxXT09PSJodHRwOiI/ODA6NDQzKSk9PShiVlszXXx8KGJWWzFdPT09Imh0dHA6Ij84MDo0NDMpKSkpLGQuZGF0YSYmZC5wcm9jZXNzRGF0YSYmdHlwZW9mIGQuZGF0YSE9InN0cmluZyImJihkLmRhdGE9Zi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLGJaKGJTLGQsYyx2KTtpZihzPT09MilyZXR1cm4hMTt0PWQuZ2xvYmFsLGQudHlwZT1kLnR5cGUudG9VcHBlckNhc2UoKSxkLmhhc0NvbnRlbnQ9IWJKLnRlc3QoZC50eXBlKSx0JiZmLmFjdGl2ZSsrPT09MCYmZi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKTtpZighZC5oYXNDb250ZW50KXtkLmRhdGEmJihkLnVybCs9KGJMLnRlc3QoZC51cmwpPyImIjoiPyIpK2QuZGF0YSxkZWxldGUgZC5kYXRhKSxrPWQudXJsO2lmKGQuY2FjaGU9PT0hMSl7dmFyIHg9Zi5ub3coKSx5PWQudXJsLnJlcGxhY2UoYlAsIiQxXz0iK3gpO2QudXJsPXkrKHk9PT1kLnVybD8oYkwudGVzdChkLnVybCk/IiYiOiI/IikrIl89Iit4OiIiKX19KGQuZGF0YSYmZC5oYXNDb250ZW50JiZkLmNvbnRlbnRUeXBlIT09ITF8fGMuY29udGVudFR5cGUpJiZ2LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsZC5jb250ZW50VHlwZSksZC5pZk1vZGlmaWVkJiYoaz1rfHxkLnVybCxmLmxhc3RNb2RpZmllZFtrXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsZi5sYXN0TW9kaWZpZWRba10pLGYuZXRhZ1trXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixmLmV0YWdba10pKSx2LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoZC5kYXRhVHlwZXNbMF0hPT0iKiI/IiwgIitiVysiOyBxPTAuMDEiOiIiKTpkLmFjY2VwdHNbIioiXSk7Zm9yKHUgaW4gZC5oZWFkZXJzKXYuc2V0UmVxdWVzdEhlYWRlcih1LGQuaGVhZGVyc1t1XSk7aWYoZC5iZWZvcmVTZW5kJiYoZC5iZWZvcmVTZW5kLmNhbGwoZSx2LGQpPT09ITF8fHM9PT0yKSl7di5hYm9ydCgpO3JldHVybiExfWZvcih1IGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbdV0oZFt1XSk7cD1iWihiVCxkLGMsdik7aWYoIXApdygtMSwiTm8gVHJhbnNwb3J0Iik7ZWxzZXt2LnJlYWR5U3RhdGU9MSx0JiZnLnRyaWdnZXIoImFqYXhTZW5kIixbdixkXSksZC5hc3luYyYmZC50aW1lb3V0PjAmJihxPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2LmFib3J0KCJ0aW1lb3V0Iil9LGQudGltZW91dCkpO3RyeXtzPTEscC5zZW5kKGwsdyl9Y2F0Y2goeil7aWYoczwyKXcoLTEseik7ZWxzZSB0aHJvdyB6fX1yZXR1cm4gdn0scGFyYW06ZnVuY3Rpb24oYSxjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGEsYil7Yj1mLmlzRnVuY3Rpb24oYik/YigpOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2M9PT1iJiYoYz1mLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7aWYoZi5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIWYuaXNQbGFpbk9iamVjdChhKSlmLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IodmFyIGcgaW4gYSliXyhnLGFbZ10sYyxlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZShiQywiKyIpfX0pLGYuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fX0pO3ZhciBjYz1mLm5vdygpLGNkPS8oXD0pXD8oJnwkKXxcP1w/L2k7Zi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmLmV4cGFuZG8rIl8iK2NjKyt9fSksZi5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihiLGMsZCl7dmFyIGU9dHlwZW9mIGIuZGF0YT09InN0cmluZyImJi9eYXBwbGljYXRpb25cL3hcLXd3d1wtZm9ybVwtdXJsZW5jb2RlZC8udGVzdChiLmNvbnRlbnRUeXBlKTtpZihiLmRhdGFUeXBlc1swXT09PSJqc29ucCJ8fGIuanNvbnAhPT0hMSYmKGNkLnRlc3QoYi51cmwpfHxlJiZjZC50ZXN0KGIuZGF0YSkpKXt2YXIgZyxoPWIuanNvbnBDYWxsYmFjaz1mLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaT1hW2hdLGo9Yi51cmwsaz1iLmRhdGEsbD0iJDEiK2grIiQyIjtiLmpzb25wIT09ITEmJihqPWoucmVwbGFjZShjZCxsKSxiLnVybD09PWomJihlJiYoaz1rLnJlcGxhY2UoY2QsbCkpLGIuZGF0YT09PWsmJihqKz0oL1w/Ly50ZXN0KGopPyImIjoiPyIpK2IuanNvbnArIj0iK2gpKSksYi51cmw9aixiLmRhdGE9ayxhW2hdPWZ1bmN0aW9uKGEpe2c9W2FdfSxkLmFsd2F5cyhmdW5jdGlvbigpe2FbaF09aSxnJiZmLmlzRnVuY3Rpb24oaSkmJmFbaF0oZ1swXSl9KSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtnfHxmLmVycm9yKGgrIiB3YXMgbm90IGNhbGxlZCIpO3JldHVybiBnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiI7cmV0dXJuInNjcmlwdCJ9fSksZi5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9qYXZhc2NyaXB0fGVjbWFzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe2YuZ2xvYmFsRXZhbChhKTtyZXR1cm4gYX19fSksZi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2EuY2FjaGU9PT1iJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlwZT0iR0VUIixhLmdsb2JhbD0hMSl9KSxmLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGQsZT1jLmhlYWR8fGMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8Yy5kb2N1bWVudEVsZW1lbnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZixnKXtkPWMuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZC5hc3luYz0iYXN5bmMiLGEuc2NyaXB0Q2hhcnNldCYmKGQuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGQuc3JjPWEudXJsLGQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7aWYoY3x8IWQucmVhZHlTdGF0ZXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChkLnJlYWR5U3RhdGUpKWQub25sb2FkPWQub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZSYmZC5wYXJlbnROb2RlJiZlLnJlbW92ZUNoaWxkKGQpLGQ9YixjfHxnKDIwMCwic3VjY2VzcyIpfSxlLmluc2VydEJlZm9yZShkLGUuZmlyc3RDaGlsZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZC5vbmxvYWQoMCwxKX19fX0pO3ZhciBjZT1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gY2cpY2dbYV0oMCwxKX06ITEsY2Y9MCxjZztmLmFqYXhTZXR0aW5ncy54aHI9YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmY2goKXx8Y2koKX06Y2gsZnVuY3Rpb24oYSl7Zi5leHRlbmQoZi5zdXBwb3J0LHthamF4OiEhYSxjb3JzOiEhYSYmIndpdGhDcmVkZW50aWFscyJpbiBhfSl9KGYuYWpheFNldHRpbmdzLnhocigpKSxmLnN1cHBvcnQuYWpheCYmZi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGMpe2lmKCFjLmNyb3NzRG9tYWlufHxmLnN1cHBvcnQuY29ycyl7dmFyIGQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSxnKXt2YXIgaD1jLnhocigpLGksajtjLnVzZXJuYW1lP2gub3BlbihjLnR5cGUsYy51cmwsYy5hc3luYyxjLnVzZXJuYW1lLGMucGFzc3dvcmQpOmgub3BlbihjLnR5cGUsYy51cmwsYy5hc3luYyk7aWYoYy54aHJGaWVsZHMpZm9yKGogaW4gYy54aHJGaWVsZHMpaFtqXT1jLnhockZpZWxkc1tqXTtjLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShjLm1pbWVUeXBlKSwhYy5jcm9zc0RvbWFpbiYmIWVbIlgtUmVxdWVzdGVkLVdpdGgiXSYmKGVbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGogaW4gZSloLnNldFJlcXVlc3RIZWFkZXIoaixlW2pdKX1jYXRjaChrKXt9aC5zZW5kKGMuaGFzQ29udGVudCYmYy5kYXRhfHxudWxsKSxkPWZ1bmN0aW9uKGEsZSl7dmFyIGosayxsLG0sbjt0cnl7aWYoZCYmKGV8fGgucmVhZHlTdGF0ZT09PTQpKXtkPWIsaSYmKGgub25yZWFkeXN0YXRlY2hhbmdlPWYubm9vcCxjZSYmZGVsZXRlIGNnW2ldKTtpZihlKWgucmVhZHlTdGF0ZSE9PTQmJmguYWJvcnQoKTtlbHNle2o9aC5zdGF0dXMsbD1oLmdldEFsbFJlc3BvbnNlSGVhZGVycygpLG09e30sbj1oLnJlc3BvbnNlWE1MLG4mJm4uZG9jdW1lbnRFbGVtZW50JiYobS54bWw9bik7dHJ5e20udGV4dD1oLnJlc3BvbnNlVGV4dH1jYXRjaChhKXt9dHJ5e2s9aC5zdGF0dXNUZXh0fWNhdGNoKG8pe2s9IiJ9IWomJmMuaXNMb2NhbCYmIWMuY3Jvc3NEb21haW4/aj1tLnRleHQ/MjAwOjQwNDpqPT09MTIyMyYmKGo9MjA0KX19fWNhdGNoKHApe2V8fGcoLTEscCl9bSYmZyhqLGssbSxsKX0sIWMuYXN5bmN8fGgucmVhZHlTdGF0ZT09PTQ/ZCgpOihpPSsrY2YsY2UmJihjZ3x8KGNnPXt9LGYoYSkudW5sb2FkKGNlKSksY2dbaV09ZCksaC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZCgwLDEpfX19fSk7dmFyIGNqPXt9LGNrLGNsLGNtPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxjbj0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGNvLGNwPVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dLGNxO2YuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGF8fGE9PT0wKXJldHVybiB0aGlzLmFuaW1hdGUoY3QoInNob3ciLDMpLGEsYixjKTtmb3IodmFyIGc9MCxoPXRoaXMubGVuZ3RoO2c8aDtnKyspZD10aGlzW2ddLGQuc3R5bGUmJihlPWQuc3R5bGUuZGlzcGxheSwhZi5fZGF0YShkLCJvbGRkaXNwbGF5IikmJmU9PT0ibm9uZSImJihlPWQuc3R5bGUuZGlzcGxheT0iIiksKGU9PT0iIiYmZi5jc3MoZCwiZGlzcGxheSIpPT09Im5vbmUifHwhZi5jb250YWlucyhkLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGQpKSYmZi5fZGF0YShkLCJvbGRkaXNwbGF5IixjdShkLm5vZGVOYW1lKSkpO2ZvcihnPTA7ZzxoO2crKyl7ZD10aGlzW2ddO2lmKGQuc3R5bGUpe2U9ZC5zdHlsZS5kaXNwbGF5O2lmKGU9PT0iInx8ZT09PSJub25lIilkLnN0eWxlLmRpc3BsYXk9Zi5fZGF0YShkLCJvbGRkaXNwbGF5Iil8fCIifX1yZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShjdCgiaGlkZSIsMyksYSxiLGMpO3ZhciBkLGUsZz0wLGg9dGhpcy5sZW5ndGg7Zm9yKDtnPGg7ZysrKWQ9dGhpc1tnXSxkLnN0eWxlJiYoZT1mLmNzcyhkLCJkaXNwbGF5IiksZSE9PSJub25lIiYmIWYuX2RhdGEoZCwib2xkZGlzcGxheSIpJiZmLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGUpKTtmb3IoZz0wO2c8aDtnKyspdGhpc1tnXS5zdHlsZSYmKHRoaXNbZ10uc3R5bGUuZGlzcGxheT0ibm9uZSIpO3JldHVybiB0aGlzfSxfdG9nZ2xlOmYuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dHlwZW9mIGE9PSJib29sZWFuIjtmLmlzRnVuY3Rpb24oYSkmJmYuaXNGdW5jdGlvbihiKT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOmE9PW51bGx8fGQ/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZD9hOmYodGhpcykuaXMoIjpoaWRkZW4iKTtmKHRoaXMpW2I/InNob3ciOiJoaWRlIl0oKX0pOnRoaXMuYW5pbWF0ZShjdCgidG9nZ2xlIiwzKSxhLGIsYyk7cmV0dXJuIHRoaXN9LGZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoIjpoaWRkZW4iKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBnKCl7ZS5xdWV1ZT09PSExJiZmLl9tYXJrKHRoaXMpO3ZhciBiPWYuZXh0ZW5kKHt9LGUpLGM9dGhpcy5ub2RlVHlwZT09PTEsZD1jJiZmKHRoaXMpLmlzKCI6aGlkZGVuIiksZyxoLGksaixrLGwsbSxuLG8scCxxO2IuYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9O2ZvcihpIGluIGEpe2c9Zi5jYW1lbENhc2UoaSksaSE9PWcmJihhW2ddPWFbaV0sZGVsZXRlIGFbaV0pO2lmKChrPWYuY3NzSG9va3NbZ10pJiYiZXhwYW5kImluIGspe2w9ay5leHBhbmQoYVtnXSksZGVsZXRlIGFbZ107Zm9yKGkgaW4gbClpIGluIGF8fChhW2ldPWxbaV0pfX1mb3IoZyBpbiBhKXtoPWFbZ10sZi5pc0FycmF5KGgpPyhiLmFuaW1hdGVkUHJvcGVydGllc1tnXT1oWzFdLGg9YVtnXT1oWzBdKTpiLmFuaW1hdGVkUHJvcGVydGllc1tnXT1iLnNwZWNpYWxFYXNpbmcmJmIuc3BlY2lhbEVhc2luZ1tnXXx8Yi5lYXNpbmd8fCJzd2luZyI7aWYoaD09PSJoaWRlIiYmZHx8aD09PSJzaG93IiYmIWQpcmV0dXJuIGIuY29tcGxldGUuY2FsbCh0aGlzKTtjJiYoZz09PSJoZWlnaHQifHxnPT09IndpZHRoIikmJihiLm92ZXJmbG93PVt0aGlzLnN0eWxlLm92ZXJmbG93LHRoaXMuc3R5bGUub3ZlcmZsb3dYLHRoaXMuc3R5bGUub3ZlcmZsb3dZXSxmLmNzcyh0aGlzLCJkaXNwbGF5Iik9PT0iaW5saW5lIiYmZi5jc3ModGhpcywiZmxvYXQiKT09PSJub25lIiYmKCFmLnN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xheW91dHx8Y3UodGhpcy5ub2RlTmFtZSk9PT0iaW5saW5lIj90aGlzLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI6dGhpcy5zdHlsZS56b29tPTEpKX1iLm92ZXJmbG93IT1udWxsJiYodGhpcy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIik7Zm9yKGkgaW4gYSlqPW5ldyBmLmZ4KHRoaXMsYixpKSxoPWFbaV0sY20udGVzdChoKT8ocT1mLl9kYXRhKHRoaXMsInRvZ2dsZSIraSl8fChoPT09InRvZ2dsZSI/ZD8ic2hvdyI6ImhpZGUiOjApLHE/KGYuX2RhdGEodGhpcywidG9nZ2xlIitpLHE9PT0ic2hvdyI/ImhpZGUiOiJzaG93IiksaltxXSgpKTpqW2hdKCkpOihtPWNuLmV4ZWMoaCksbj1qLmN1cigpLG0/KG89cGFyc2VGbG9hdChtWzJdKSxwPW1bM118fChmLmNzc051bWJlcltpXT8iIjoicHgiKSxwIT09InB4IiYmKGYuc3R5bGUodGhpcyxpLChvfHwxKStwKSxuPShvfHwxKS9qLmN1cigpKm4sZi5zdHlsZSh0aGlzLGksbitwKSksbVsxXSYmKG89KG1bMV09PT0iLT0iPy0xOjEpKm8rbiksai5jdXN0b20obixvLHApKTpqLmN1c3RvbShuLGgsIiIpKTtyZXR1cm4hMH12YXIgZT1mLnNwZWVkKGIsYyxkKTtpZihmLmlzRW1wdHlPYmplY3QoYSkpcmV0dXJuIHRoaXMuZWFjaChlLmNvbXBsZXRlLFshMV0pO2E9Zi5leHRlbmQoe30sYSk7cmV0dXJuIGUucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShlLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYyxkKXt0eXBlb2YgYSE9InN0cmluZyImJihkPWMsYz1hLGE9YiksYyYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGEsYixjKXt2YXIgZT1iW2NdO2YucmVtb3ZlRGF0YShhLGMsITApLGUuc3RvcChkKX12YXIgYixjPSExLGU9Zi50aW1lcnMsZz1mLl9kYXRhKHRoaXMpO2R8fGYuX3VubWFyayghMCx0aGlzKTtpZihhPT1udWxsKWZvcihiIGluIGcpZ1tiXSYmZ1tiXS5zdG9wJiZiLmluZGV4T2YoIi5ydW4iKT09PWIubGVuZ3RoLTQmJmgodGhpcyxnLGIpO2Vsc2UgZ1tiPWErIi5ydW4iXSYmZ1tiXS5zdG9wJiZoKHRoaXMsZyxiKTtmb3IoYj1lLmxlbmd0aDtiLS07KWVbYl0uZWxlbT09PXRoaXMmJihhPT1udWxsfHxlW2JdLnF1ZXVlPT09YSkmJihkP2VbYl0oITApOmVbYl0uc2F2ZVN0YXRlKCksYz0hMCxlLnNwbGljZShiLDEpKTsoIWR8fCFjKSYmZi5kZXF1ZXVlKHRoaXMsYSl9KX19KSxmLmVhY2goe3NsaWRlRG93bjpjdCgic2hvdyIsMSksc2xpZGVVcDpjdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6Y3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksZi5leHRlbmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiZ0eXBlb2YgYT09Im9iamVjdCI/Zi5leHRlbmQoe30sYSk6e2NvbXBsZXRlOmN8fCFjJiZifHxmLmlzRnVuY3Rpb24oYSkmJmEsZHVyYXRpb246YSxlYXNpbmc6YyYmYnx8YiYmIWYuaXNGdW5jdGlvbihiKSYmYn07ZC5kdXJhdGlvbj1mLmZ4Lm9mZj8wOnR5cGVvZiBkLmR1cmF0aW9uPT0ibnVtYmVyIj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gZi5meC5zcGVlZHM/Zi5meC5zcGVlZHNbZC5kdXJhdGlvbl06Zi5meC5zcGVlZHMuX2RlZmF1bHQ7aWYoZC5xdWV1ZT09bnVsbHx8ZC5xdWV1ZT09PSEwKWQucXVldWU9ImZ4IjtkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oYSl7Zi5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlP2YuZGVxdWV1ZSh0aGlzLGQucXVldWUpOmEhPT0hMSYmZi5fdW5tYXJrKHRoaXMpfTtyZXR1cm4gZH0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LHN3aW5nOmZ1bmN0aW9uKGEpe3JldHVybi1NYXRoLmNvcyhhKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oYSxiLGMpe3RoaXMub3B0aW9ucz1iLHRoaXMuZWxlbT1hLHRoaXMucHJvcD1jLGIub3JpZz1iLm9yaWd8fHt9fX0pLGYuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGYuZnguc3RlcFt0aGlzLnByb3BdfHxmLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZih0aGlzLmVsZW1bdGhpcy5wcm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdPT1udWxsKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGEsYj1mLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oYT1wYXJzZUZsb2F0KGIpKT8hYnx8Yj09PSJhdXRvIj8wOmI6YX0sY3VzdG9tOmZ1bmN0aW9uKGEsYyxkKXtmdW5jdGlvbiBoKGEpe3JldHVybiBlLnN0ZXAoYSl9dmFyIGU9dGhpcyxnPWYuZng7dGhpcy5zdGFydFRpbWU9Y3F8fGNyKCksdGhpcy5lbmQ9Yyx0aGlzLm5vdz10aGlzLnN0YXJ0PWEsdGhpcy5wb3M9dGhpcy5zdGF0ZT0wLHRoaXMudW5pdD1kfHx0aGlzLnVuaXR8fChmLmNzc051bWJlclt0aGlzLnByb3BdPyIiOiJweCIpLGgucXVldWU9dGhpcy5vcHRpb25zLnF1ZXVlLGguZWxlbT10aGlzLmVsZW0saC5zYXZlU3RhdGU9ZnVuY3Rpb24oKXtmLl9kYXRhKGUuZWxlbSwiZnhzaG93IitlLnByb3ApPT09YiYmKGUub3B0aW9ucy5oaWRlP2YuX2RhdGEoZS5lbGVtLCJmeHNob3ciK2UucHJvcCxlLnN0YXJ0KTplLm9wdGlvbnMuc2hvdyYmZi5fZGF0YShlLmVsZW0sImZ4c2hvdyIrZS5wcm9wLGUuZW5kKSl9LGgoKSYmZi50aW1lcnMucHVzaChoKSYmIWNvJiYoY289c2V0SW50ZXJ2YWwoZy50aWNrLGcuaW50ZXJ2YWwpKX0sc2hvdzpmdW5jdGlvbigpe3ZhciBhPWYuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCk7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1hfHxmLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5zaG93PSEwLGEhPT1iP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksYSk6dGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5wcm9wPT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpLGYodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWYuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGYuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZT1jcXx8Y3IoKSxnPSEwLGg9dGhpcy5lbGVtLGk9dGhpcy5vcHRpb25zO2lmKGF8fGU+PWkuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe3RoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGkuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITA7Zm9yKGIgaW4gaS5hbmltYXRlZFByb3BlcnRpZXMpaS5hbmltYXRlZFByb3BlcnRpZXNbYl0hPT0hMCYmKGc9ITEpO2lmKGcpe2kub3ZlcmZsb3chPW51bGwmJiFmLnN1cHBvcnQuc2hyaW5rV3JhcEJsb2NrcyYmZi5lYWNoKFsiIiwiWCIsIlkiXSxmdW5jdGlvbihhLGIpe2guc3R5bGVbIm92ZXJmbG93IitiXT1pLm92ZXJmbG93W2FdfSksaS5oaWRlJiZmKGgpLmhpZGUoKTtpZihpLmhpZGV8fGkuc2hvdylmb3IoYiBpbiBpLmFuaW1hdGVkUHJvcGVydGllcylmLnN0eWxlKGgsYixpLm9yaWdbYl0pLGYucmVtb3ZlRGF0YShoLCJmeHNob3ciK2IsITApLGYucmVtb3ZlRGF0YShoLCJ0b2dnbGUiK2IsITApO2Q9aS5jb21wbGV0ZSxkJiYoaS5jb21wbGV0ZT0hMSxkLmNhbGwoaCkpfXJldHVybiExfWkuZHVyYXRpb249PUluZmluaXR5P3RoaXMubm93PWU6KGM9ZS10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPWMvaS5kdXJhdGlvbix0aGlzLnBvcz1mLmVhc2luZ1tpLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLGMsMCwxLGkuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpO3JldHVybiEwfX0sZi5leHRlbmQoZi5meCx7dGljazpmdW5jdGlvbigpe3ZhciBhLGI9Zi50aW1lcnMsYz0wO2Zvcig7YzxiLmxlbmd0aDtjKyspYT1iW2NdLCFhKCkmJmJbY109PT1hJiZiLnNwbGljZShjLS0sMSk7Yi5sZW5ndGh8fGYuZnguc3RvcCgpfSxpbnRlcnZhbDoxMyxzdG9wOmZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChjbyksY289bnVsbH0sc3BlZWRzOntzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rpb24oYSl7Zi5zdHlsZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7YS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9wXSE9bnVsbD9hLmVsZW0uc3R5bGVbYS5wcm9wXT1hLm5vdythLnVuaXQ6YS5lbGVtW2EucHJvcF09YS5ub3d9fX0pLGYuZWFjaChjcC5jb25jYXQuYXBwbHkoW10sY3ApLGZ1bmN0aW9uKGEsYil7Yi5pbmRleE9mKCJtYXJnaW4iKSYmKGYuZnguc3RlcFtiXT1mdW5jdGlvbihhKXtmLnN0eWxlKGEuZWxlbSxiLE1hdGgubWF4KDAsYS5ub3cpK2EudW5pdCl9KX0pLGYuZXhwciYmZi5leHByLmZpbHRlcnMmJihmLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gZi5ncmVwKGYudGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofSk7dmFyIGN2LGN3PS9edCg/OmFibGV8ZHxoKSQvaSxjeD0vXig/OmJvZHl8aHRtbCkkL2k7ImdldEJvdW5kaW5nQ2xpZW50UmVjdCJpbiBjLmRvY3VtZW50RWxlbWVudD9jdj1mdW5jdGlvbihhLGIsYyxkKXt0cnl7ZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGUpe31pZighZHx8IWYuY29udGFpbnMoYyxhKSlyZXR1cm4gZD97dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0fTp7dG9wOjAsbGVmdDowfTt2YXIgZz1iLmJvZHksaD1jeShiKSxpPWMuY2xpZW50VG9wfHxnLmNsaWVudFRvcHx8MCxqPWMuY2xpZW50TGVmdHx8Zy5jbGllbnRMZWZ0fHwwLGs9aC5wYWdlWU9mZnNldHx8Zi5zdXBwb3J0LmJveE1vZGVsJiZjLnNjcm9sbFRvcHx8Zy5zY3JvbGxUb3AsbD1oLnBhZ2VYT2Zmc2V0fHxmLnN1cHBvcnQuYm94TW9kZWwmJmMuc2Nyb2xsTGVmdHx8Zy5zY3JvbGxMZWZ0LG09ZC50b3Aray1pLG49ZC5sZWZ0K2wtajtyZXR1cm57dG9wOm0sbGVmdDpufX06Y3Y9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9YS5vZmZzZXRQYXJlbnQsZz1hLGg9Yi5ib2R5LGk9Yi5kZWZhdWx0VmlldyxqPWk/aS5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCk6YS5jdXJyZW50U3R5bGUsaz1hLm9mZnNldFRvcCxsPWEub2Zmc2V0TGVmdDt3aGlsZSgoYT1hLnBhcmVudE5vZGUpJiZhIT09aCYmYSE9PWMpe2lmKGYuc3VwcG9ydC5maXhlZFBvc2l0aW9uJiZqLnBvc2l0aW9uPT09ImZpeGVkIilicmVhaztkPWk/aS5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCk6YS5jdXJyZW50U3R5bGUsay09YS5zY3JvbGxUb3AsbC09YS5zY3JvbGxMZWZ0LGE9PT1lJiYoays9YS5vZmZzZXRUb3AsbCs9YS5vZmZzZXRMZWZ0LGYuc3VwcG9ydC5kb2VzTm90QWRkQm9yZGVyJiYoIWYuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxsc3x8IWN3LnRlc3QoYS5ub2RlTmFtZSkpJiYoays9cGFyc2VGbG9hdChkLmJvcmRlclRvcFdpZHRoKXx8MCxsKz1wYXJzZUZsb2F0KGQuYm9yZGVyTGVmdFdpZHRoKXx8MCksZz1lLGU9YS5vZmZzZXRQYXJlbnQpLGYuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJmQub3ZlcmZsb3chPT0idmlzaWJsZSImJihrKz1wYXJzZUZsb2F0KGQuYm9yZGVyVG9wV2lkdGgpfHwwLGwrPXBhcnNlRmxvYXQoZC5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxqPWR9aWYoai5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGoucG9zaXRpb249PT0ic3RhdGljIilrKz1oLm9mZnNldFRvcCxsKz1oLm9mZnNldExlZnQ7Zi5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJmoucG9zaXRpb249PT0iZml4ZWQiJiYoays9TWF0aC5tYXgoYy5zY3JvbGxUb3AsaC5zY3JvbGxUb3ApLGwrPU1hdGgubWF4KGMuc2Nyb2xsTGVmdCxoLnNjcm9sbExlZnQpKTtyZXR1cm57dG9wOmssbGVmdDpsfX0sZi5mbi5vZmZzZXQ9ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYT09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oYil7Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO3ZhciBjPXRoaXNbMF0sZD1jJiZjLm93bmVyRG9jdW1lbnQ7aWYoIWQpcmV0dXJuIG51bGw7aWYoYz09PWQuYm9keSlyZXR1cm4gZi5vZmZzZXQuYm9keU9mZnNldChjKTtyZXR1cm4gY3YoYyxkLGQuZG9jdW1lbnRFbGVtZW50KX0sZi5vZmZzZXQ9e2JvZHlPZmZzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRUb3AsYz1hLm9mZnNldExlZnQ7Zi5zdXBwb3J0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0JiYoYis9cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDAsYys9cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwKTtyZXR1cm57dG9wOmIsbGVmdDpjfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mLmNzcyhhLCJwb3NpdGlvbiIpO2Q9PT0ic3RhdGljIiYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIik7dmFyIGU9ZihhKSxnPWUub2Zmc2V0KCksaD1mLmNzcyhhLCJ0b3AiKSxpPWYuY3NzKGEsImxlZnQiKSxqPShkPT09ImFic29sdXRlInx8ZD09PSJmaXhlZCIpJiZmLmluQXJyYXkoImF1dG8iLFtoLGldKT4tMSxrPXt9LGw9e30sbSxuO2o/KGw9ZS5wb3NpdGlvbigpLG09bC50b3Asbj1sLmxlZnQpOihtPXBhcnNlRmxvYXQoaCl8fDAsbj1wYXJzZUZsb2F0KGkpfHwwKSxmLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsZykpLGIudG9wIT1udWxsJiYoay50b3A9Yi50b3AtZy50b3ArbSksYi5sZWZ0IT1udWxsJiYoay5sZWZ0PWIubGVmdC1nLmxlZnQrbiksInVzaW5nImluIGI/Yi51c2luZy5jYWxsKGEsayk6ZS5jc3Moayl9fSxmLmZuLmV4dGVuZCh7cG9zaXRpb246ZnVuY3Rpb24oKXtpZighdGhpc1swXSlyZXR1cm4gbnVsbDt2YXIgYT10aGlzWzBdLGI9dGhpcy5vZmZzZXRQYXJlbnQoKSxjPXRoaXMub2Zmc2V0KCksZD1jeC50ZXN0KGJbMF0ubm9kZU5hbWUpP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCk7Yy50b3AtPXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luVG9wIikpfHwwLGMubGVmdC09cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwLGQudG9wKz1wYXJzZUZsb2F0KGYuY3NzKGJbMF0sImJvcmRlclRvcFdpZHRoIikpfHwwLGQubGVmdCs9cGFyc2VGbG9hdChmLmNzcyhiWzBdLCJib3JkZXJMZWZ0V2lkdGgiKSl8fDA7cmV0dXJue3RvcDpjLnRvcC1kLnRvcCxsZWZ0OmMubGVmdC1kLmxlZnR9fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudHx8Yy5ib2R5O3doaWxlKGEmJiFjeC50ZXN0KGEubm9kZU5hbWUpJiZmLmNzcyhhLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYX0pfX0pLGYuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGMpe3ZhciBkPS9ZLy50ZXN0KGMpO2YuZm5bYV09ZnVuY3Rpb24oZSl7cmV0dXJuIGYuYWNjZXNzKHRoaXMsZnVuY3Rpb24oYSxlLGcpe3ZhciBoPWN5KGEpO2lmKGc9PT1iKXJldHVybiBoP2MgaW4gaD9oW2NdOmYuc3VwcG9ydC5ib3hNb2RlbCYmaC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbZV18fGguZG9jdW1lbnQuYm9keVtlXTphW2VdO2g/aC5zY3JvbGxUbyhkP2YoaCkuc2Nyb2xsTGVmdCgpOmcsZD9nOmYoaCkuc2Nyb2xsVG9wKCkpOmFbZV09Z30sYSxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksZi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oYSxjKXt2YXIgZD0iY2xpZW50IithLGU9InNjcm9sbCIrYSxnPSJvZmZzZXQiK2E7Zi5mblsiaW5uZXIiK2FdPWZ1bmN0aW9uKCl7dmFyIGE9dGhpc1swXTtyZXR1cm4gYT9hLnN0eWxlP3BhcnNlRmxvYXQoZi5jc3MoYSxjLCJwYWRkaW5nIikpOnRoaXNbY10oKTpudWxsfSxmLmZuWyJvdXRlciIrYV09ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXTtyZXR1cm4gYj9iLnN0eWxlP3BhcnNlRmxvYXQoZi5jc3MoYixjLGE/Im1hcmdpbiI6ImJvcmRlciIpKTp0aGlzW2NdKCk6bnVsbH0sZi5mbltjXT1mdW5jdGlvbihhKXtyZXR1cm4gZi5hY2Nlc3ModGhpcyxmdW5jdGlvbihhLGMsaCl7dmFyIGksaixrLGw7aWYoZi5pc1dpbmRvdyhhKSl7aT1hLmRvY3VtZW50LGo9aS5kb2N1bWVudEVsZW1lbnRbZF07cmV0dXJuIGYuc3VwcG9ydC5ib3hNb2RlbCYmanx8aS5ib2R5JiZpLmJvZHlbZF18fGp9aWYoYS5ub2RlVHlwZT09PTkpe2k9YS5kb2N1bWVudEVsZW1lbnQ7aWYoaVtkXT49aVtlXSlyZXR1cm4gaVtkXTtyZXR1cm4gTWF0aC5tYXgoYS5ib2R5W2VdLGlbZV0sYS5ib2R5W2ddLGlbZ10pfWlmKGg9PT1iKXtrPWYuY3NzKGEsYyksbD1wYXJzZUZsb2F0KGspO3JldHVybiBmLmlzTnVtZXJpYyhsKT9sOmt9ZihhKS5jc3MoYyxoKX0sYyxhLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksYS5qUXVlcnk9YS4kPWYsdHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCYmZGVmaW5lLmFtZC5qUXVlcnkmJmRlZmluZSgianF1ZXJ5IixbXSxmdW5jdGlvbigpe3JldHVybiBmfSl9KSh3aW5kb3cpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.cgform.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCQpewogICQuZm4ucGFyc2Vfc2VyaWFsaXplZCA9IGZ1bmN0aW9uKGRhdGEpICB7CiAgICB2YXIgcGFybXM9ZGF0YS5yZXBsYWNlKC9hbXA7L2csJycpOwogICAgaWYoIGRhdGEubWF0Y2goL1w/KC4rKSQvKSApIHsKICAgICAgcGFybXMgPSBSZWdFeHAuJDE7CiAgICB9CiAgICB2YXIgcEFyciA9IHBhcm1zLnNwbGl0KCcmJyk7CiAgICB2YXIgcEhhc2ggPSB7fTsKICAgIGZvciggdmFyIGkgPSAwOyBpIDwgcEFyci5sZW5ndGg7IGkrKyApIHsKICAgICAgdmFyIHRtcCA9IHBBcnJbaV0uc3BsaXQoJz0nKTsKICAgICAgcEhhc2hbdG1wWzBdXSA9IHVuZXNjYXBlKHRtcFsxXSk7CiAgICB9CiAgICByZXR1cm4gcEhhc2g7CiAgfQoKCiAgJC5mbi5mb3JtX3BvcHVsYXRlID0gZnVuY3Rpb24oZGF0YSkgewogICAgdmFyIGNvbnRhaW5lciA9ICQodGhpcyk7CiAgICAkLmVhY2goZGF0YSwgZnVuY3Rpb24obmFtZSx2YWx1ZSkgewogICAgICB2YXIgZXhwciA9ICI6aW5wdXRbbmFtZT0nIituYW1lKyInXTpub3QoOmJ1dHRvbiw6cmVzZXQsOnN1Ym1pdCw6aW1hZ2UpIjsKICAgICAgdmFyIGlucHV0ID0gY29udGFpbmVyLmZpbmQoZXhwcik7CiAgICAgIGlucHV0LnZhbCggKCEkLmlzQXJyYXkodmFsdWUpICYmIChpbnB1dC5pcygnOmNoZWNrYm94OicpIHx8IGlucHV0LmlzKCc6cmFkaW8nKSkpID8gW3ZhbHVlXSA6IHZhbHVlICk7CiAgICB9KTsKICB9OwoKCiAgJC5mbi5mb3JtX3BvcHVsYXRlX3NlcmlhbGl6ZWQgPSBmdW5jdGlvbihkYXRhKSB7CiAgICB2YXIgdG1wID0gJCh0aGlzKS5wYXJzZV9zZXJpYWxpemVkKGRhdGEpOwogICAgJCh0aGlzKS5mb3JtX3BvcHVsYXRlKHRtcCk7CiAgfTsKCgogICQuZm4uc2VyaWFsaXplQW55dGhpbmcgPSBmdW5jdGlvbigpIHsKICAgIHZhciB0b1JldHVybiAgICA9IFtdOwogICAgdmFyIGVscyAgICAgICAgID0gJCh0aGlzKS5maW5kKCc6aW5wdXQnKS5nZXQoKTsKICAgICQuZWFjaChlbHMsIGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5uYW1lICYmICF0aGlzLmRpc2FibGVkICYmICh0aGlzLmNoZWNrZWQgfHwgL3NlbGVjdHx0ZXh0YXJlYS9pLnRlc3QodGhpcy5ub2RlTmFtZSkgfHwgL3RleHR8aGlkZGVufHBhc3N3b3JkL2kudGVzdCh0aGlzLnR5cGUpKSkgewogICAgICAgIHZhciB2YWwgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgIHRvUmV0dXJuLnB1c2goIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLm5hbWUpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KCB2YWwgKSApOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0b1JldHVybi5qb2luKCImIikucmVwbGFjZSgvJTIwL2csICIgIik7CiAgfTsKCgogICQuZm4uZm9ybV9nZXRfZGF0ZXRpbWUgPSBmdW5jdGlvbihwcmVmaXgsZG9fdGltZSkgewogICAgZG9fdGltZSA9IHR5cGVvZihkb190aW1lKSAhPSAndW5kZWZpbmVkJyA/IGRvX3RpbWUgOiAwOwogICAgCiAgICB2YXIga2V5ID0gIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiWWVhciddIjsKICAgIHZhciB5ZWFyID0gdGhpcy5maW5kKGtleSkudmFsKCk7CiAgICB2YXIgbW9udGggPSB0aGlzLmZpbmQoIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiTW9udGgnXSIpLnZhbCgpOwogICAgdmFyIGRheSA9IHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJEYXknXSIpLnZhbCgpOwogICAgdmFyIHN0ciA9IG1vbnRoKycvJytkYXkrJy8nK3llYXI7CiAgICB2YXIgaG91ciA9IDA7CiAgICB2YXIgbWludXRlID0gMDsKICAgCiAgICBpZiggZG9fdGltZSApCiAgICAgIHsKCXZhciBob3VyID0gdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkhvdXInXSIpLnZhbCgpOwoJdmFyIG1pbnV0ZSA9IHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJNaW51dGUnXSIpLnZhbCgpOwogICAgICAgIHN0ciArPSAnICcraG91cisnOicrbWludXRlKyc6MDAnOwogICAgICB9CiAgICByZXR1cm4gc3RyOwogIH07CgoKICAkLmZuLmZvcm1fc2V0X2RhdGV0aW1lID0gZnVuY3Rpb24oaW5fZGF0ZSxwcmVmaXgsZG9fdGltZSkgewogICAgZG9fdGltZSA9IHR5cGVvZihkb190aW1lKSAhPSAndW5kZWZpbmVkJyA/IGRvX3RpbWUgOiAwOwogCiAgICB2YXIgemVyb3BhZCA9IGZ1bmN0aW9uKG51bSxsZW4pCiAgICB7CiAgICAgIHZhciByZXMgPSBudW0udG9TdHJpbmcoKTsKICAgICAgd2hpbGUoIHJlcy5sZW5ndGggPCBsZW4gKQoJewoJICByZXMgPSAnMCcrcmVzOwoJfQogICAgICByZXR1cm4gcmVzOwogICAgfQoKICAgIHZhciBkYXRlID0gJyc7CiAgICB2YXIgdG1wID0gcGFyc2VJbnQoaW5fZGF0ZSk7CiAgICBpZiggdG1wID4gMCApCiAgICAgIHsKICAgICAgICBkYXRlID0gbmV3IERhdGUodG1wICogMTAwMCk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgICAgIGRhdGUgPSBuZXcgRGF0ZShpbl9kYXRlKTsKICAgICAgfQoKICAgIHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJZZWFyJ10iKS52YWwoZGF0ZS5nZXRGdWxsWWVhcigpKTsKICAgIHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJNb250aCddIikudmFsKHplcm9wYWQoZGF0ZS5nZXRNb250aCgpKzEsMikpOwogICAgdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkRheSddIikudmFsKGRhdGUuZ2V0RGF0ZSgpKTsKICAgIGlmKCBkb190aW1lICkKICAgIHsKICAgICAgdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkhvdXInXSIpLnZhbChkYXRlLmdldEhvdXJzKCkpOwogICAgICB0aGlzLmZpbmQoIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiTWludXRlJ10iKS52YWwoZGF0ZS5nZXRNaW51dGVzKCkpOwogICAgfQoKICB9Owp9KShqUXVlcnkpCg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.cluetip.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IGNsdWVUaXAgcGx1Z2luCiAqIFZlcnNpb24gMC45LjggICgwNS8yMi8yMDA4KQogKiBAcmVxdWlyZXMgalF1ZXJ5IHYxLjEuNCsKICogQHJlcXVpcmVzIERpbWVuc2lvbnMgcGx1Z2luIChmb3IgalF1ZXJ5IHZlcnNpb25zIDwgMS4yLjUpCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICovCjsoZnVuY3Rpb24oJCkgeyAKLyoKICogQG5hbWUgY2x1ZVRpcAogKiBAdHlwZSBqUXVlcnkKICogQGNhdCBQbHVnaW5zL3Rvb2x0aXAKICogQHJldHVybiBqUXVlcnkKICogQGF1dGhvciBLYXJsIFN3ZWRiZXJnCiAqCiAqIEBjcmVkaXQgSW5zcGlyZWQgYnkgQ29keSBMaW5kbGV5J3MgalRpcCAoaHR0cDovL3d3dy5jb2R5bGluZGxleS5jb20pCiAqIEBjcmVkaXQgVGhhbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGVvcGxlIGZvciB0aGVpciBtYW55IGFuZCB2YXJpZWQgY29udHJpYnV0aW9uczoKICAgICAgU2hlbGFuZSBFbm9zLCBHbGVuIExpcGthLCBIZWN0b3IgU2FudG9zLCBUb3JiZW4gU2NocmVpdGVyLCBEYW4gRy4gU3dpdHplciwgSsO2cm4gWmFlZmZlcmVyIAogKiBAY3JlZGl0IFRoYW5rcyB0byBKb25hdGhhbiBDaGFmZmVyLCBhcyBhbHdheXMsIGZvciBoZWxwIHdpdGggdGhlIGhhcmQgcGFydHMuIDotKQogKi8KCiAvKioKICogCiAqIERpc3BsYXlzIGEgaGlnaGx5IGN1c3RvbWl6YWJsZSB0b29sdGlwIHdoZW4gdGhlIHVzZXIgaG92ZXJzIChkZWZhdWx0KSBvciBjbGlja3MgKG9wdGlvbmFsKSB0aGUgbWF0Y2hlZCBlbGVtZW50LiAKICogQnkgZGVmYXVsdCwgdGhlIGNsdWVUaXAgcGx1Z2luIGxvYWRzIGEgcGFnZSBpbmRpY2F0ZWQgYnkgdGhlICJyZWwiIGF0dHJpYnV0ZSB2aWEgYWpheCBhbmQgZGlzcGxheXMgaXRzIGNvbnRlbnRzLgogKiBJZiBhICJ0aXRsZSIgYXR0cmlidXRlIGlzIHNwZWNpZmllZCwgaXRzIHZhbHVlIGlzIHVzZWQgYXMgdGhlIGNsdWVUaXAncyBoZWFkaW5nLgogKiBUaGUgYXR0cmlidXRlIHRvIGJlIHVzZWQgZm9yIGJvdGggdGhlIGJvZHkgYW5kIHRoZSBoZWFkaW5nIG9mIHRoZSBjbHVlVGlwIGlzIHVzZXItY29uZmlndXJhYmxlLiAKICogT3B0aW9uYWxseSwgdGhlIGNsdWVUaXAncyBib2R5IGNhbiBkaXNwbGF5IGNvbnRlbnQgZnJvbSBhbiBlbGVtZW50IG9uIHRoZSBzYW1lIHBhZ2UuCiAqICogSnVzdCBpbmRpY2F0ZSB0aGUgZWxlbWVudCdzIGlkIChlLmcuICIjc29tZS1pZCIpIGluIHRoZSByZWwgYXR0cmlidXRlLgogKiBPcHRpb25hbGx5LCB0aGUgY2x1ZVRpcCdzIGJvZHkgY2FuIGRpc3BsYXkgY29udGVudCBmcm9tIHRoZSB0aXRsZSBhdHRyaWJ1dGUsIHdoZW4gYSBkZWxpbWl0ZXIgaXMgaW5kaWNhdGVkLiAKICogKiBUaGUgc3RyaW5nIGJlZm9yZSB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhlIGRlbGltaXRlciBpcyBzZXQgYXMgdGhlIGNsdWVUaXAncyBoZWFkaW5nLgogKiAqIEFsbCBzdWJzZXF1ZW50IHN0cmluZ3MgYXJlIHdyYXBwZWQgaW4gc2VwYXJhdGUgRElWcyBhbmQgcGxhY2VkIGluIHRoZSBjbHVlVGlwJ3MgYm9keS4KICogVGhlIGNsdWVUaXAgcGx1Z2luIGFsbG93cyBmb3IgbWFueSwgbWFueSBtb3JlIG9wdGlvbnMuIFBsZWFzZWUgc2VlIHRoZSBleGFtcGxlcyBhbmQgdGhlIG9wdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cuLi4KICogCiAqIAogKiBAZXhhbXBsZSAkKCcjdGlwKS5jbHVldGlwKCk7CiAqIEBkZXNjIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgY2x1ZVRpcC4gSXQgZGlzcGxheXMgYSAyNzVweC13aWRlIGNsdWVUaXAgb24gbW91c2VvdmVyIG9mIHRoZSBlbGVtZW50IHdpdGggYW4gSUQgb2YgInRpcC4iIE9uIG1vdXNlb3V0IG9mIHRoZSBlbGVtZW50LCB0aGUgY2x1ZVRpcCBpcyBoaWRkZW4uCiAqCiAqCiAqIEBleGFtcGxlICQoJ2EuY2x1ZScpLmNsdWV0aXAoewogKiAgaG92ZXJDbGFzczogJ2hpZ2hsaWdodCcsCiAqICBzdGlja3k6IHRydWUsCiAqICBjbG9zZVBvc2l0aW9uOiAnYm90dG9tJywKICogIGNsb3NlVGV4dDogJzxpbWcgc3JjPSJjcm9zcy5wbmciIGFsdD0iY2xvc2UiIC8+JywKICogIHRydW5jYXRlOiA2MCwKICogIGFqYXhTZXR0aW5nczogewogKiAgICB0eXBlOiAnUE9TVCcKICogIH0KICogfSk7CiAqIEBkZXNjIERpc3BsYXlzIGEgY2x1ZVRpcCBvbiBtb3VzZW92ZXIgb2YgYWxsIDxhPiBlbGVtZW50cyB3aXRoIGNsYXNzPSJjbHVlIi4gVGhlIGhvdmVyZWQgZWxlbWVudCBnZXRzIGEgY2xhc3Mgb2YgImhpZ2hsaWdodCIgYWRkZWQgdG8gaXQgKHNvIHRoYXQgaXQgY2FuIGJlIHN0eWxlZCBhcHByb3ByaWF0ZWx5LiBUaGlzIGlzIGVzcC4gdXNlZnVsIGZvciBub24tYW5jaG9yIGVsZW1lbnRzLikuIFRoZSBjbHVlVGlwIGlzICJzdGlja3ksIiB3aGljaCBtZWFucyB0aGF0IGl0IHdpbGwgbm90IGJlIGhpZGRlbiB1bnRpbCB0aGUgdXNlciBlaXRoZXIgY2xpY2tzIG9uIGl0cyAiY2xvc2UiIHRleHQvZ3JhcGhpYyBvciBkaXNwbGF5cyBhbm90aGVyIGNsdWVUaXAuIFRoZSAiY2xvc2UiIHRleHQvZ3JhcGhpYyBpcyBzZXQgdG8gZGlwbGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIGNsdWVUaXAgKGRlZmF1bHQgaXMgdG9wKSBhbmQgZGlzcGxheSBhbiBpbWFnZSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCAiQ2xvc2UiIHRleHQuIE1vcmVvdmVyLCB0aGUgYm9keSBvZiB0aGUgY2x1ZVRpcCBpcyB0cnVuY2F0ZWQgdG8gdGhlIGZpcnN0IDYwIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBmb2xsb3dlZCBieSBhbiBlbGxpcHNpcyAoLi4uKS4gRmluYWxseSwgdGhlIGNsdWVUaXAgcmV0cmlldmVzIHRoZSBjb250ZW50IHVzaW5nIFBPU1QgcmF0aGVyIHRoYW4gdGhlICQuYWpheCBtZXRob2QncyBkZWZhdWx0ICJHRVQuIgogKiAKICogTW9yZSBleGFtcGxlcyBjYW4gYmUgZm91bmQgYXQgaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvZGVtby8KICogCiAqIEZ1bGwgbGlzdCBvZiBvcHRpb25zL3NldHRpbmdzIGNhbiBiZSBmb3VuZCBhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSBhbmQgYXQgaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvCiAqLwoKICB2YXIgJGNsdWV0aXAsICRjbHVldGlwSW5uZXIsICRjbHVldGlwT3V0ZXIsICRjbHVldGlwVGl0bGUsICRjbHVldGlwQXJyb3dzLCAkZHJvcFNoYWRvdywgaW1nQ291bnQ7CiAgJC5mbi5jbHVldGlwID0gZnVuY3Rpb24oanMsIG9wdGlvbnMpIHsKICAgIGlmICh0eXBlb2YganMgPT0gJ29iamVjdCcpIHsKICAgICAgb3B0aW9ucyA9IGpzOwogICAgICBqcyA9IG51bGw7CiAgICB9CiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGluZGV4KSB7CiAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7ICAgICAgCiAgICAgIAogICAgICAvLyBzdXBwb3J0IG1ldGFkYXRhIHBsdWdpbiAodjEuMCBhbmQgMi4wKQogICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKGZhbHNlLCB7fSwgJC5mbi5jbHVldGlwLmRlZmF1bHRzLCBvcHRpb25zIHx8IHt9LCAkLm1ldGFkYXRhID8gJHRoaXMubWV0YWRhdGEoKSA6ICQubWV0YSA/ICR0aGlzLmRhdGEoKSA6IHt9KTsKCiAgICAgIC8vIHN0YXJ0IG91dCB3aXRoIG5vIGNvbnRlbnRzIChmb3IgYWpheCBhY3RpdmF0aW9uKQogICAgICB2YXIgY2x1ZXRpcENvbnRlbnRzID0gZmFsc2U7CiAgICAgIHZhciBjbHVlekluZGV4ID0gcGFyc2VJbnQob3B0cy5jbHVlekluZGV4LCAxMCktMTsKICAgICAgdmFyIGlzQWN0aXZlID0gZmFsc2UsIGNsb3NlT25EZWxheSA9IDA7CgogICAgICAvLyBjcmVhdGUgdGhlIGNsdWV0aXAgZGl2cwogICAgICBpZiAoISQoJyNjbHVldGlwJykubGVuZ3RoKSB7CiAgICAgICAgJGNsdWV0aXBJbm5lciA9ICQoJzxkaXYgaWQ9ImNsdWV0aXAtaW5uZXIiPjwvZGl2PicpOwogICAgICAgICRjbHVldGlwVGl0bGUgPSAkKCc8aDMgaWQ9ImNsdWV0aXAtdGl0bGUiPjwvaDM+Jyk7ICAgICAgICAKICAgICAgICAkY2x1ZXRpcE91dGVyID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1vdXRlciI+PC9kaXY+JykuYXBwZW5kKCRjbHVldGlwSW5uZXIpLnByZXBlbmQoJGNsdWV0aXBUaXRsZSk7CiAgICAgICAgJGNsdWV0aXAgPSAkKCc8ZGl2IGlkPSJjbHVldGlwIj48L2Rpdj4nKS5jc3Moe3pJbmRleDogb3B0cy5jbHVlekluZGV4fSkKICAgICAgICAuYXBwZW5kKCRjbHVldGlwT3V0ZXIpLmFwcGVuZCgnPGRpdiBpZD0iY2x1ZXRpcC1leHRyYSI+PC9kaXY+JylbaW5zZXJ0aW9uVHlwZV0oaW5zZXJ0aW9uRWxlbWVudCkuaGlkZSgpOwogICAgICAgICQoJzxkaXYgaWQ9ImNsdWV0aXAtd2FpdGltYWdlIj48L2Rpdj4nKS5jc3Moe3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCB6SW5kZXg6IGNsdWV6SW5kZXgtMX0pCiAgICAgICAgLmluc2VydEJlZm9yZSgnI2NsdWV0aXAnKS5oaWRlKCk7CiAgICAgICAgJGNsdWV0aXAuY3NzKHtwb3NpdGlvbjogJ2Fic29sdXRlJywgekluZGV4OiBjbHVlekluZGV4fSk7CiAgICAgICAgJGNsdWV0aXBPdXRlci5jc3Moe3Bvc2l0aW9uOiAncmVsYXRpdmUnLCB6SW5kZXg6IGNsdWV6SW5kZXgrMX0pOwogICAgICAgICRjbHVldGlwQXJyb3dzID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1hcnJvd3MiIGNsYXNzPSJjbHVldGlwLWFycm93cyI+PC9kaXY+JykuY3NzKHt6SW5kZXg6IGNsdWV6SW5kZXgrMX0pLmFwcGVuZFRvKCcjY2x1ZXRpcCcpOwogICAgICB9CiAgICAgIHZhciBkcm9wU2hhZG93U3RlcHMgPSAob3B0cy5kcm9wU2hhZG93KSA/ICtvcHRzLmRyb3BTaGFkb3dTdGVwcyA6IDA7CiAgICAgIGlmICghJGRyb3BTaGFkb3cpIHsKICAgICAgICAkZHJvcFNoYWRvdyA9ICQoW10pOwogICAgICAgIGZvciAodmFyIGk9MDsgaSA8IGRyb3BTaGFkb3dTdGVwczsgaSsrKSB7CiAgICAgICAgICAkZHJvcFNoYWRvdyA9ICRkcm9wU2hhZG93LmFkZCgkKCc8ZGl2PjwvZGl2PicpLmNzcyh7ekluZGV4OiBjbHVlekluZGV4LWktMSwgb3BhY2l0eTouMSwgdG9wOiAxK2ksIGxlZnQ6IDEraX0pKTsKICAgICAgICB9OwogICAgICAgICRkcm9wU2hhZG93LmNzcyh7cG9zaXRpb246ICdhYnNvbHV0ZScsIGJhY2tncm91bmRDb2xvcjogJyMwMDAnfSkKICAgICAgICAucHJlcGVuZFRvKCRjbHVldGlwKTsKICAgICAgfQogICAgICB2YXIgdGlwQXR0cmlidXRlID0gJHRoaXMuYXR0cihvcHRzLmF0dHJpYnV0ZSksIGN0Q2xhc3MgPSBvcHRzLmNsdWV0aXBDbGFzczsKICAgICAgaWYgKCF0aXBBdHRyaWJ1dGUgJiYgIW9wdHMuc3BsaXRUaXRsZSAmJiAhanMpIHJldHVybiB0cnVlOwogICAgICAvLyBpZiBoaWRlTG9jYWwgaXMgc2V0IHRvIHRydWUsIG9uIERPTSByZWFkeSBoaWRlIHRoZSBsb2NhbCBjb250ZW50IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNsdWVUaXAgICAgICAKICAgICAgaWYgKG9wdHMubG9jYWwgJiYgb3B0cy5oaWRlTG9jYWwpIHsgJCh0aXBBdHRyaWJ1dGUgKyAnOmZpcnN0JykuaGlkZSgpOyB9CiAgICAgIHZhciB0T2Zmc2V0ID0gcGFyc2VJbnQob3B0cy50b3BPZmZzZXQsIDEwKSwgbE9mZnNldCA9IHBhcnNlSW50KG9wdHMubGVmdE9mZnNldCwgMTApOwogICAgICAvLyB2ZXJ0aWNhbCBtZWFzdXJlbWVudCB2YXJpYWJsZXMKICAgICAgdmFyIHRpcEhlaWdodCwgd0hlaWdodDsKICAgICAgdmFyIGRlZkhlaWdodCA9IGlzTmFOKHBhcnNlSW50KG9wdHMuaGVpZ2h0LCAxMCkpID8gJ2F1dG8nIDogKC9cRC9nKS50ZXN0KG9wdHMuaGVpZ2h0KSA/IG9wdHMuaGVpZ2h0IDogb3B0cy5oZWlnaHQgKyAncHgnOwogICAgICB2YXIgc1RvcCwgbGlua1RvcCwgcG9zWSwgdGlwWSwgbW91c2VZLCBiYXNlbGluZTsKICAgICAgLy8gaG9yaXpvbnRhbCBtZWFzdXJlbWVudCB2YXJpYWJsZXMKICAgICAgdmFyIHRpcElubmVyV2lkdGggPSBpc05hTihwYXJzZUludChvcHRzLndpZHRoLCAxMCkpID8gMjc1IDogcGFyc2VJbnQob3B0cy53aWR0aCwgMTApOwogICAgICB2YXIgdGlwV2lkdGggPSB0aXBJbm5lcldpZHRoICsgKHBhcnNlSW50KCRjbHVldGlwLmNzcygncGFkZGluZ0xlZnQnKSl8fDApICsgKHBhcnNlSW50KCRjbHVldGlwLmNzcygncGFkZGluZ1JpZ2h0JykpfHwwKSArIGRyb3BTaGFkb3dTdGVwczsKICAgICAgdmFyIGxpbmtXaWR0aCA9IHRoaXMub2Zmc2V0V2lkdGg7CiAgICAgIHZhciBsaW5rTGVmdCwgcG9zWCwgdGlwWCwgbW91c2VYLCB3aW5XaWR0aDsKICAgICAgICAgICAgCiAgICAgIC8vIHBhcnNlIHRoZSB0aXRsZQogICAgICB2YXIgdGlwUGFydHM7CiAgICAgIHZhciB0aXBUaXRsZSA9IChvcHRzLmF0dHJpYnV0ZSAhPSAndGl0bGUnKSA/ICR0aGlzLmF0dHIob3B0cy50aXRsZUF0dHJpYnV0ZSkgOiAnJzsKICAgICAgaWYgKG9wdHMuc3BsaXRUaXRsZSkgewogICAgICAgIGlmKHRpcFRpdGxlID09IHVuZGVmaW5lZCkge3RpcFRpdGxlID0gJyc7fQogICAgICAgIHRpcFBhcnRzID0gdGlwVGl0bGUuc3BsaXQob3B0cy5zcGxpdFRpdGxlKTsKICAgICAgICB0aXBUaXRsZSA9IHRpcFBhcnRzLnNoaWZ0KCk7CiAgICAgIH0KICAgICAgdmFyIGxvY2FsQ29udGVudDsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAgICAKKiBBQ1RJVkFUSU9OCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAKLy9hY3RpdmF0ZSBjbHVlVGlwCiAgICB2YXIgYWN0aXZhdGUgPSBmdW5jdGlvbihldmVudCkgewogICAgICBpZiAoIW9wdHMub25BY3RpdmF0ZSgkdGhpcykpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaXNBY3RpdmUgPSB0cnVlOwogICAgICAkY2x1ZXRpcC5yZW1vdmVDbGFzcygpLmNzcyh7d2lkdGg6IHRpcElubmVyV2lkdGh9KTsKICAgICAgaWYgKHRpcEF0dHJpYnV0ZSA9PSAkdGhpcy5hdHRyKCdocmVmJykpIHsKICAgICAgICAkdGhpcy5jc3MoJ2N1cnNvcicsIG9wdHMuY3Vyc29yKTsKICAgICAgfQogICAgICAkdGhpcy5hdHRyKCd0aXRsZScsJycpOwogICAgICBpZiAob3B0cy5ob3ZlckNsYXNzKSB7CiAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5ob3ZlckNsYXNzKTsKICAgICAgfQogICAgICBsaW5rVG9wID0gcG9zWSA9ICR0aGlzLm9mZnNldCgpLnRvcDsKICAgICAgbGlua0xlZnQgPSAkdGhpcy5vZmZzZXQoKS5sZWZ0OwogICAgICBtb3VzZVggPSBldmVudC5wYWdlWDsKICAgICAgbW91c2VZID0gZXZlbnQucGFnZVk7CiAgICAgIGlmICgkdGhpc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gJ2FyZWEnKSB7CiAgICAgICAgc1RvcCA9ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpOwogICAgICAgIHdpbldpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CiAgICAgIH0KLy8gcG9zaXRpb24gY2x1ZVRpcCBob3Jpem9udGFsbHkKICAgICAgaWYgKG9wdHMucG9zaXRpb25CeSA9PSAnZml4ZWQnKSB7CiAgICAgICAgcG9zWCA9IGxpbmtXaWR0aCArIGxpbmtMZWZ0ICsgbE9mZnNldDsKICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IHBvc1h9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBwb3NYID0gKGxpbmtXaWR0aCA+IGxpbmtMZWZ0ICYmIGxpbmtMZWZ0ID4gdGlwV2lkdGgpCiAgICAgICAgICB8fCBsaW5rTGVmdCArIGxpbmtXaWR0aCArIHRpcFdpZHRoICsgbE9mZnNldCA+IHdpbldpZHRoIAogICAgICAgICAgPyBsaW5rTGVmdCAtIHRpcFdpZHRoIC0gbE9mZnNldCAKICAgICAgICAgIDogbGlua1dpZHRoICsgbGlua0xlZnQgKyBsT2Zmc2V0OwogICAgICAgIGlmICgkdGhpc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2FyZWEnIHx8IG9wdHMucG9zaXRpb25CeSA9PSAnbW91c2UnIHx8IGxpbmtXaWR0aCArIHRpcFdpZHRoID4gd2luV2lkdGgpIHsgLy8gcG9zaXRpb24gYnkgbW91c2UKICAgICAgICAgIGlmIChtb3VzZVggKyAyMCArIHRpcFdpZHRoID4gd2luV2lkdGgpIHsgIAogICAgICAgICAgICAkY2x1ZXRpcC5hZGRDbGFzcygnIGNsdWV0aXAtJyArIGN0Q2xhc3MpOwogICAgICAgICAgICBwb3NYID0gKG1vdXNlWCAtIHRpcFdpZHRoIC0gbE9mZnNldCkgPj0gMCA/IG1vdXNlWCAtIHRpcFdpZHRoIC0gbE9mZnNldCAtIHBhcnNlSW50KCRjbHVldGlwLmNzcygnbWFyZ2luTGVmdCcpLDEwKSArIHBhcnNlSW50KCRjbHVldGlwSW5uZXIuY3NzKCdtYXJnaW5SaWdodCcpLDEwKSA6ICBtb3VzZVggLSAodGlwV2lkdGgvMik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwb3NYID0gbW91c2VYICsgbE9mZnNldDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIHBZID0gcG9zWCA8IDAgPyBldmVudC5wYWdlWSArIHRPZmZzZXQgOiBldmVudC5wYWdlWTsKICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IChwb3NYID4gMCAmJiBvcHRzLnBvc2l0aW9uQnkgIT0gJ2JvdHRvbVRvcCcpID8gcG9zWCA6IChtb3VzZVggKyAodGlwV2lkdGgvMikgPiB3aW5XaWR0aCkgPyB3aW5XaWR0aC8yIC0gdGlwV2lkdGgvMiA6IE1hdGgubWF4KG1vdXNlWCAtICh0aXBXaWR0aC8yKSwwKX0pOwogICAgICB9CiAgICAgICAgd0hlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGEgc3RyaW5nIGZyb20gY2x1ZXRpcCBtZXRob2QncyBmaXJzdCBhcmd1bWVudAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgIGlmIChqcykgewogICAgICAgICRjbHVldGlwSW5uZXIuaHRtbChqcyk7CiAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICB9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIHRoZSB0aXRsZSBhdHRyaWJ1dGUgb25seSAob3IgdXNlci1zZWxlY3RlZCBhdHRyaWJ1dGUpLiAKKiBjbHVlVGlwIHRpdGxlIGlzIHRoZSBzdHJpbmcgYmVmb3JlIHRoZSBmaXJzdCBkZWxpbWl0ZXIKKiBzdWJzZXF1ZW50IGRlbGltaXRlcnMgcGxhY2UgY2x1ZVRpcCBib2R5IHRleHQgb24gc2VwYXJhdGUgbGluZXMKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKICAgICAgZWxzZSBpZiAodGlwUGFydHMpIHsKICAgICAgICB2YXIgdHBsID0gdGlwUGFydHMubGVuZ3RoOwogICAgICAgIGZvciAodmFyIGk9MDsgaSA8IHRwbDsgaSsrKXsKICAgICAgICAgIGlmIChpID09IDApIHsKICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKHRpcFBhcnRzW2ldKTsKICAgICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgICAkY2x1ZXRpcElubmVyLmFwcGVuZCgnPGRpdiBjbGFzcz0ic3BsaXQtYm9keSI+JyArIHRpcFBhcnRzW2ldICsgJzwvZGl2PicpOwogICAgICAgICAgfSAgICAgICAgICAgIAogICAgICAgIH07CiAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICB9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGV4dGVybmFsIGZpbGUgdmlhIGFqYXggICAgICAgICAgCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiAgICAgIGVsc2UgaWYgKCFvcHRzLmxvY2FsICYmIHRpcEF0dHJpYnV0ZS5pbmRleE9mKCcjJykgIT0gMCkgewogICAgICAgIGlmIChjbHVldGlwQ29udGVudHMgJiYgb3B0cy5hamF4Q2FjaGUpIHsKICAgICAgICAgICRjbHVldGlwSW5uZXIuaHRtbChjbHVldGlwQ29udGVudHMpOwogICAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBhamF4U2V0dGluZ3MgPSBvcHRzLmFqYXhTZXR0aW5nczsKICAgICAgICAgIGFqYXhTZXR0aW5ncy51cmwgPSB0aXBBdHRyaWJ1dGU7CiAgICAgICAgICBhamF4U2V0dGluZ3MuYmVmb3JlU2VuZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkY2x1ZXRpcE91dGVyLmNoaWxkcmVuKCkuZW1wdHkoKTsKICAgICAgICAgICAgaWYgKG9wdHMud2FpdEltYWdlKSB7CiAgICAgICAgICAgICAgJCgnI2NsdWV0aXAtd2FpdGltYWdlJykKICAgICAgICAgICAgICAuY3NzKHt0b3A6IG1vdXNlWSsyMCwgbGVmdDogbW91c2VYKzIwfSkKICAgICAgICAgICAgICAuc2hvdygpOwogICAgICAgICAgICB9CiAgICAgICAgICB9OwogICAgICAgICBhamF4U2V0dGluZ3MuZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKCc8aT5zb3JyeSwgdGhlIGNvbnRlbnRzIGNvdWxkIG5vdCBiZSBsb2FkZWQ8L2k+Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBhamF4U2V0dGluZ3Muc3VjY2VzcyA9IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAgY2x1ZXRpcENvbnRlbnRzID0gb3B0cy5hamF4UHJvY2VzcyhkYXRhKTsKICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKGNsdWV0aXBDb250ZW50cyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBhamF4U2V0dGluZ3MuY29tcGxldGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIAlpbWdDb3VudCA9ICQoJyNjbHVldGlwLWlubmVyIGltZycpLmxlbmd0aDsKICAgICAgICAJCWlmIChpbWdDb3VudCAmJiAhJC5icm93c2VyLm9wZXJhKSB7CiAgICAgICAgCQkgICQoJyNjbHVldGlwLWlubmVyIGltZycpLmxvYWQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAJCQlpbWdDb3VudC0tOwogICAgICAgICAgCQkJaWYgKGltZ0NvdW50PDEpIHsKICAgICAgICAgIAkJCQkkKCcjY2x1ZXRpcC13YWl0aW1hZ2UnKS5oaWRlKCk7CiAgICAgICAgICAJCQkgIGlmIChpc0FjdGl2ZSkgY2x1ZXRpcFNob3cocFkpOwogICAgICAgICAgCQkJfQogICAgICAgIAkJICB9KTsgCiAgICAgICAgCQl9IGVsc2UgewogICAgICAJCQkJJCgnI2NsdWV0aXAtd2FpdGltYWdlJykuaGlkZSgpOwogICAgICAgIAkJICBpZiAoaXNBY3RpdmUpIGNsdWV0aXBTaG93KHBZKTsgICAgCiAgICAgICAgCQl9IAogICAgICAgICAgfTsKICAgICAgICAgICQuYWpheChhamF4U2V0dGluZ3MpOwogICAgICAgIH0KCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGFuIGVsZW1lbnQgZnJvbSB0aGUgc2FtZSBwYWdlCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgfSBlbHNlIGlmIChvcHRzLmxvY2FsKXsKICAgICAgICB2YXIgJGxvY2FsQ29udGVudCA9ICQodGlwQXR0cmlidXRlICsgJzpmaXJzdCcpOwogICAgICAgIHZhciBsb2NhbENsdWV0aXAgPSAkLmZuLndyYXBJbm5lciA/ICRsb2NhbENvbnRlbnQud3JhcElubmVyKCc8ZGl2PjwvZGl2PicpLmNoaWxkcmVuKCkuY2xvbmUodHJ1ZSkgOiAkbG9jYWxDb250ZW50Lmh0bWwoKTsKICAgICAgICAkLmZuLndyYXBJbm5lciA/ICRjbHVldGlwSW5uZXIuZW1wdHkoKS5hcHBlbmQobG9jYWxDbHVldGlwKSA6ICRjbHVldGlwSW5uZXIuaHRtbChsb2NhbENsdWV0aXApOwogICAgICAgIGNsdWV0aXBTaG93KHBZKTsKICAgICAgfQogICAgfTsKCi8vIGdldCBkaW1lbnNpb25zIGFuZCBvcHRpb25zIGZvciBjbHVldGlwIGFuZCBwcmVwYXJlIGl0IHRvIGJlIHNob3duCiAgICB2YXIgY2x1ZXRpcFNob3cgPSBmdW5jdGlvbihicFkpIHsKICAgICAgJGNsdWV0aXAuYWRkQ2xhc3MoJ2NsdWV0aXAtJyArIGN0Q2xhc3MpOwogICAgICAKICAgICAgaWYgKG9wdHMudHJ1bmNhdGUpIHsgCiAgICAgICAgdmFyICR0cnVuY2xvYWRlZCA9ICRjbHVldGlwSW5uZXIudGV4dCgpLnNsaWNlKDAsb3B0cy50cnVuY2F0ZSkgKyAnLi4uJzsKICAgICAgICAkY2x1ZXRpcElubmVyLmh0bWwoJHRydW5jbG9hZGVkKTsKICAgICAgfQogICAgICBmdW5jdGlvbiBkb05vdGhpbmcoKSB7fTsgLy9lbXB0eSBmdW5jdGlvbgogICAgICB0aXBUaXRsZSA/ICRjbHVldGlwVGl0bGUuc2hvdygpLmh0bWwodGlwVGl0bGUpIDogKG9wdHMuc2hvd1RpdGxlKSA/ICRjbHVldGlwVGl0bGUuc2hvdygpLmh0bWwoJyZuYnNwOycpIDogJGNsdWV0aXBUaXRsZS5oaWRlKCk7CiAgICAgIGlmIChvcHRzLnN0aWNreSkgewogICAgICAgIHZhciAkY2xvc2VMaW5rID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1jbG9zZSI+PGEgaHJlZj0iIyI+JyArIG9wdHMuY2xvc2VUZXh0ICsgJzwvYT48L2Rpdj4nKTsKICAgICAgICAob3B0cy5jbG9zZVBvc2l0aW9uID09ICdib3R0b20nKSA/ICRjbG9zZUxpbmsuYXBwZW5kVG8oJGNsdWV0aXBJbm5lcikgOiAob3B0cy5jbG9zZVBvc2l0aW9uID09ICd0aXRsZScpID8gJGNsb3NlTGluay5wcmVwZW5kVG8oJGNsdWV0aXBUaXRsZSkgOiAkY2xvc2VMaW5rLnByZXBlbmRUbygkY2x1ZXRpcElubmVyKTsKICAgICAgICAkY2xvc2VMaW5rLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgY2x1ZXRpcENsb3NlKCk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgICAgaWYgKG9wdHMubW91c2VPdXRDbG9zZSkgewogICAgICAgICAgaWYgKCQuZm4uaG92ZXJJbnRlbnQgJiYgb3B0cy5ob3ZlckludGVudCkgeyAKICAgICAgICAgICAgJGNsdWV0aXAuaG92ZXJJbnRlbnQoewogICAgICAgICAgICAgIG92ZXI6IGRvTm90aGluZywgCiAgICAgICAgICAgICAgdGltZW91dDogb3B0cy5ob3ZlckludGVudC50aW1lb3V0LCAgCiAgICAgICAgICAgICAgb3V0OiBmdW5jdGlvbigpIHsgJGNsb3NlTGluay50cmlnZ2VyKCdjbGljaycpOyB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNsdWV0aXAuaG92ZXIoZG9Ob3RoaW5nLCAKICAgICAgICAgICAgZnVuY3Rpb24oKSB7JGNsb3NlTGluay50cmlnZ2VyKCdjbGljaycpOyB9KTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgJGNsdWV0aXAudW5iaW5kKCdtb3VzZW91dCcpOwogICAgICAgIH0KICAgICAgfQovLyBub3cgdGhhdCBjb250ZW50IGlzIGxvYWRlZCwgZmluaXNoIHRoZSBwb3NpdGlvbmluZyAKICAgICAgdmFyIGRpcmVjdGlvbiA9ICcnOwogICAgICAkY2x1ZXRpcE91dGVyLmNzcyh7b3ZlcmZsb3c6IGRlZkhlaWdodCA9PSAnYXV0bycgPyAndmlzaWJsZScgOiAnYXV0bycsIGhlaWdodDogZGVmSGVpZ2h0fSk7CiAgICAgIHRpcEhlaWdodCA9IGRlZkhlaWdodCA9PSAnYXV0bycgPyBNYXRoLm1heCgkY2x1ZXRpcC5vdXRlckhlaWdodCgpLCRjbHVldGlwLmhlaWdodCgpKSA6IHBhcnNlSW50KGRlZkhlaWdodCwxMCk7ICAgCiAgICAgIHRpcFkgPSBwb3NZOwogICAgICBiYXNlbGluZSA9IHNUb3AgKyB3SGVpZ2h0OwogICAgICBpZiAob3B0cy5wb3NpdGlvbkJ5ID09ICdmaXhlZCcpIHsKICAgICAgICB0aXBZID0gcG9zWSAtIG9wdHMuZHJvcFNoYWRvd1N0ZXBzICsgdE9mZnNldDsKICAgICAgfSBlbHNlIGlmICggKHBvc1ggPCBtb3VzZVggJiYgTWF0aC5tYXgocG9zWCwgMCkgKyB0aXBXaWR0aCA+IG1vdXNlWCkgfHwgb3B0cy5wb3NpdGlvbkJ5ID09ICdib3R0b21Ub3AnKSB7CiAgICAgICAgaWYgKHBvc1kgKyB0aXBIZWlnaHQgKyB0T2Zmc2V0ID4gYmFzZWxpbmUgJiYgbW91c2VZIC0gc1RvcCA+IHRpcEhlaWdodCArIHRPZmZzZXQpIHsgCiAgICAgICAgICB0aXBZID0gbW91c2VZIC0gdGlwSGVpZ2h0IC0gdE9mZnNldDsKICAgICAgICAgIGRpcmVjdGlvbiA9ICd0b3AnOwogICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgdGlwWSA9IG1vdXNlWSArIHRPZmZzZXQ7CiAgICAgICAgICBkaXJlY3Rpb24gPSAnYm90dG9tJzsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoIHBvc1kgKyB0aXBIZWlnaHQgKyB0T2Zmc2V0ID4gYmFzZWxpbmUgKSB7CiAgICAgICAgdGlwWSA9ICh0aXBIZWlnaHQgPj0gd0hlaWdodCkgPyBzVG9wIDogYmFzZWxpbmUgLSB0aXBIZWlnaHQgLSB0T2Zmc2V0OwogICAgICB9IGVsc2UgaWYgKCR0aGlzLmNzcygnZGlzcGxheScpID09ICdibG9jaycgfHwgJHRoaXNbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09ICdhcmVhJyB8fCBvcHRzLnBvc2l0aW9uQnkgPT0gIm1vdXNlIikgewogICAgICAgIHRpcFkgPSBicFkgLSB0T2Zmc2V0OwogICAgICB9IGVsc2UgewogICAgICAgIHRpcFkgPSBwb3NZIC0gb3B0cy5kcm9wU2hhZG93U3RlcHM7CiAgICAgIH0KICAgICAgaWYgKGRpcmVjdGlvbiA9PSAnJykgewogICAgICAgIHBvc1ggPCBsaW5rTGVmdCA/IGRpcmVjdGlvbiA9ICdsZWZ0JyA6IGRpcmVjdGlvbiA9ICdyaWdodCc7CiAgICAgIH0KICAgICAgJGNsdWV0aXAuY3NzKHt0b3A6IHRpcFkgKyAncHgnfSkucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnY2x1ZS0nICsgZGlyZWN0aW9uICsgJy0nICsgY3RDbGFzcykuYWRkQ2xhc3MoJyBjbHVldGlwLScgKyBjdENsYXNzKTsKICAgICAgaWYgKG9wdHMuYXJyb3dzKSB7IC8vIHNldCB1cCBhcnJvdyBwb3NpdGlvbmluZyB0byBhbGlnbiB3aXRoIGVsZW1lbnQKICAgICAgICB2YXIgYmdZID0gKHBvc1kgLSB0aXBZIC0gb3B0cy5kcm9wU2hhZG93U3RlcHMpOwogICAgICAgICRjbHVldGlwQXJyb3dzLmNzcyh7dG9wOiAoLyhsZWZ0fHJpZ2h0KS8udGVzdChkaXJlY3Rpb24pICYmIHBvc1ggPj0wICYmIGJnWSA+IDApID8gYmdZICsgJ3B4JyA6IC8obGVmdHxyaWdodCkvLnRlc3QoZGlyZWN0aW9uKSA/IDAgOiAnJ30pLnNob3coKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAkY2x1ZXRpcEFycm93cy5oaWRlKCk7CiAgICAgIH0KCi8vIChmaXJzdCBoaWRlLCB0aGVuKSAqKipTSE9XIFRIRSBDTFVFVElQKioqCiAgICAgICRkcm9wU2hhZG93LmhpZGUoKTsKICAgICAgJGNsdWV0aXAuaGlkZSgpW29wdHMuZngub3Blbl0ob3B0cy5meC5vcGVuICE9ICdzaG93JyAmJiBvcHRzLmZ4Lm9wZW5TcGVlZCk7CiAgICAgIGlmIChvcHRzLmRyb3BTaGFkb3cpICRkcm9wU2hhZG93LmNzcyh7aGVpZ2h0OiB0aXBIZWlnaHQsIHdpZHRoOiB0aXBJbm5lcldpZHRofSkuc2hvdygpOwogICAgICBpZiAoJC5mbi5iZ2lmcmFtZSkgeyAkY2x1ZXRpcC5iZ2lmcmFtZSgpOyB9CiAgICAgIC8vIHRyaWdnZXIgdGhlIG9wdGlvbmFsIG9uU2hvdyBmdW5jdGlvbgogICAgICBpZiAob3B0cy5kZWxheWVkQ2xvc2UgPiAwKSB7CiAgICAgICAgY2xvc2VPbkRlbGF5ID0gc2V0VGltZW91dChjbHVldGlwQ2xvc2UsIG9wdHMuZGVsYXllZENsb3NlKTsKICAgICAgfQogICAgICBvcHRzLm9uU2hvdygkY2x1ZXRpcCwgJGNsdWV0aXBJbm5lcik7CiAgICAgIAogICAgfTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgPUlOQUNUSVZBVElPTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogICAgdmFyIGluYWN0aXZhdGUgPSBmdW5jdGlvbigpIHsKICAgICAgaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgJCgnI2NsdWV0aXAtd2FpdGltYWdlJykuaGlkZSgpOwogICAgICBpZiAoIW9wdHMuc3RpY2t5IHx8ICgvY2xpY2t8dG9nZ2xlLykudGVzdChvcHRzLmFjdGl2YXRpb24pICkgewogICAgICAgIGNsdWV0aXBDbG9zZSgpOwpjbGVhclRpbWVvdXQoY2xvc2VPbkRlbGF5KTsgICAgICAgIAogICAgICB9OwogICAgICBpZiAob3B0cy5ob3ZlckNsYXNzKSB7CiAgICAgICAgJHRoaXMucmVtb3ZlQ2xhc3Mob3B0cy5ob3ZlckNsYXNzKTsKICAgICAgfQogICAgICAkKCcuY2x1ZXRpcC1jbGlja2VkJykucmVtb3ZlQ2xhc3MoJ2NsdWV0aXAtY2xpY2tlZCcpOwogICAgfTsKLy8gY2xvc2UgY2x1ZXRpcCBhbmQgcmVzZXQgc29tZSB0aGluZ3MKICAgIHZhciBjbHVldGlwQ2xvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgJGNsdWV0aXBPdXRlciAKICAgICAgLnBhcmVudCgpLmhpZGUoKS5yZW1vdmVDbGFzcygpLmVuZCgpCiAgICAgIC5jaGlsZHJlbigpLmVtcHR5KCk7CiAgICAgIGlmICh0aXBUaXRsZSkgewogICAgICAgICR0aGlzLmF0dHIob3B0cy50aXRsZUF0dHJpYnV0ZSwgdGlwVGl0bGUpOwogICAgICB9CiAgICAgICR0aGlzLmNzcygnY3Vyc29yJywnJyk7CiAgICAgIGlmIChvcHRzLmFycm93cykgJGNsdWV0aXBBcnJvd3MuY3NzKHt0b3A6ICcnfSk7CiAgICB9OwoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICA9QklORCBFVkVOVFMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAvLyBhY3RpdmF0ZSBieSBjbGljawogICAgICBpZiAoICgvY2xpY2t8dG9nZ2xlLykudGVzdChvcHRzLmFjdGl2YXRpb24pICkgewogICAgICAgICR0aGlzLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICBpZiAoJGNsdWV0aXAuaXMoJzpoaWRkZW4nKSB8fCAhJHRoaXMuaXMoJy5jbHVldGlwLWNsaWNrZWQnKSkgewogICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgICQoJy5jbHVldGlwLWNsaWNrZWQnKS5yZW1vdmVDbGFzcygnY2x1ZXRpcC1jbGlja2VkJyk7CiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKCdjbHVldGlwLWNsaWNrZWQnKTsKCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbmFjdGl2YXRlKGV2ZW50KTsKCiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLmJsdXIoKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKICAvLyBhY3RpdmF0ZSBieSBmb2N1czsgaW5hY3RpdmF0ZSBieSBibHVyICAgIAogICAgICB9IGVsc2UgaWYgKG9wdHMuYWN0aXZhdGlvbiA9PSAnZm9jdXMnKSB7CiAgICAgICAgJHRoaXMuZm9jdXMoZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgIGFjdGl2YXRlKGV2ZW50KTsKICAgICAgICB9KTsKICAgICAgICAkdGhpcy5ibHVyKGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICBpbmFjdGl2YXRlKGV2ZW50KTsKICAgICAgICB9KTsKICAvLyBhY3RpdmF0ZSBieSBob3ZlcgogICAgLy8gY2xpY2tpbmcgaXMgcmV0dXJuZWQgZmFsc2UgaWYgY2x1ZXRpcCB1cmwgaXMgc2FtZSBhcyBocmVmIHVybAogICAgICB9IGVsc2UgewogICAgICAgICR0aGlzLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgaWYgKCR0aGlzLmF0dHIoJ2hyZWYnKSAmJiAkdGhpcy5hdHRyKCdocmVmJykgPT0gdGlwQXR0cmlidXRlICYmICFvcHRzLmNsaWNrVGhyb3VnaCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgLy9zZXQgdXAgbW91c2UgdHJhY2tpbmcKICAgICAgICB2YXIgbW91c2VUcmFja3MgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgIGlmIChvcHRzLnRyYWNraW5nID09IHRydWUpIHsKICAgICAgICAgICAgdmFyIHRyYWNrWCA9IHBvc1ggLSBldnQucGFnZVg7CiAgICAgICAgICAgIHZhciB0cmFja1kgPSB0aXBZID8gdGlwWSAtIGV2dC5wYWdlWSA6IHBvc1kgLSBldnQucGFnZVk7CiAgICAgICAgICAgICR0aGlzLm1vdXNlbW92ZShmdW5jdGlvbihldnQpIHsKICAgICAgICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IGV2dC5wYWdlWCArIHRyYWNrWCwgdG9wOiBldnQucGFnZVkgKyB0cmFja1kgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgaWYgKCQuZm4uaG92ZXJJbnRlbnQgJiYgb3B0cy5ob3ZlckludGVudCkgewogICAgICAgICAgJHRoaXMubW91c2VvdmVyKGZ1bmN0aW9uKCkgeyR0aGlzLmF0dHIoJ3RpdGxlJywnJyk7IH0pCiAgICAgICAgICAuaG92ZXJJbnRlbnQoewogICAgICAgICAgICBzZW5zaXRpdml0eTogb3B0cy5ob3ZlckludGVudC5zZW5zaXRpdml0eSwKICAgICAgICAgICAgaW50ZXJ2YWw6IG9wdHMuaG92ZXJJbnRlbnQuaW50ZXJ2YWwsICAKICAgICAgICAgICAgb3ZlcjogZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgICAgbW91c2VUcmFja3MoZXZlbnQpOwogICAgICAgICAgICB9LCAKICAgICAgICAgICAgdGltZW91dDogb3B0cy5ob3ZlckludGVudC50aW1lb3V0LCAgCiAgICAgICAgICAgIG91dDogZnVuY3Rpb24oZXZlbnQpIHtpbmFjdGl2YXRlKGV2ZW50KTsgJHRoaXMudW5iaW5kKCdtb3VzZW1vdmUnKTt9CiAgICAgICAgICB9KTsgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAkdGhpcy5ob3ZlcihmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgIG1vdXNlVHJhY2tzKGV2ZW50KTsKICAgICAgICAgIH0sIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgIGluYWN0aXZhdGUoZXZlbnQpOwogICAgICAgICAgICAkdGhpcy51bmJpbmQoJ21vdXNlbW92ZScpOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9OwogIAovKgogKiBvcHRpb25zIGZvciBjbHVlVGlwCiAqCiAqIGVhY2ggb25lIGNhbiBiZSBleHBsaWNpdGx5IG92ZXJyaWRkZW4gYnkgY2hhbmdpbmcgaXRzIHZhbHVlLiAKICogZm9yIGV4YW1wbGU6ICQuZm4uY2x1ZXRpcC5kZWZhdWx0cy53aWR0aCA9IDIwMDsgCiAqIHdvdWxkIGNoYW5nZSB0aGUgZGVmYXVsdCB3aWR0aCBmb3IgYWxsIGNsdWVUaXBzIHRvIDIwMC4gCiAqCiAqIGVhY2ggb25lIGNhbiBhbHNvIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBhbiBvcHRpb25zIG1hcCB0byB0aGUgY2x1ZXRpcCBtZXRob2QuCiAqIGZvciBleGFtcGxlOiAkKCdhLmV4YW1wbGUnKS5jbHVldGlwKHt3aWR0aDogMjAwfSk7IAogKiB3b3VsZCBjaGFuZ2UgdGhlIGRlZmF1bHQgd2lkdGggdG8gMjAwIGZvciBjbHVlVGlwcyBpbnZva2VkIGJ5IGEgbGluayB3aXRoIGNsYXNzIG9mICJleGFtcGxlIgogKgogKi8KICAKICAkLmZuLmNsdWV0aXAuZGVmYXVsdHMgPSB7ICAvLyBzZXQgdXAgZGVmYXVsdCBvcHRpb25zCiAgICB3aWR0aDogICAgICAgICAgICAyNzUsICAgICAgLy8gVGhlIHdpZHRoIG9mIHRoZSBjbHVlVGlwCiAgICBoZWlnaHQ6ICAgICAgICAgICAnYXV0bycsICAgLy8gVGhlIGhlaWdodCBvZiB0aGUgY2x1ZVRpcAogICAgY2x1ZXpJbmRleDogICAgICAgOTcsICAgICAgIC8vIFNldHMgdGhlIHotaW5kZXggc3R5bGUgcHJvcGVydHkgb2YgdGhlIGNsdWVUaXAKICAgIHBvc2l0aW9uQnk6ICAgICAgICdhdXRvJywgICAvLyBTZXRzIHRoZSB0eXBlIG9mIHBvc2l0aW9uaW5nOiAnYXV0bycsICdtb3VzZScsJ2JvdHRvbVRvcCcsICdmaXhlZCcKICAgIHRvcE9mZnNldDogICAgICAgIDE1LCAgICAgICAvLyBOdW1iZXIgb2YgcHggdG8gb2Zmc2V0IGNsdWVUaXAgZnJvbSB0b3Agb2YgaW52b2tpbmcgZWxlbWVudAogICAgbGVmdE9mZnNldDogICAgICAgMTUsICAgICAgIC8vIE51bWJlciBvZiBweCB0byBvZmZzZXQgY2x1ZVRpcCBmcm9tIGxlZnQgb2YgaW52b2tpbmcgZWxlbWVudAogICAgbG9jYWw6ICAgICAgICAgICAgZmFsc2UsICAgIC8vIFdoZXRoZXIgdG8gdXNlIGNvbnRlbnQgZnJvbSB0aGUgc2FtZSBwYWdlIGZvciB0aGUgY2x1ZVRpcCdzIGJvZHkKICAgIGhpZGVMb2NhbDogICAgICAgIHRydWUsICAgICAvLyBJZiBsb2NhbCBvcHRpb24gaXMgc2V0IHRvIHRydWUsIHRoaXMgZGV0ZXJtaW5lcyB3aGV0aGVyIGxvY2FsIGNvbnRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBiZSBzaG93biBpbiBjbHVlVGlwIHNob3VsZCBiZSBoaWRkZW4gYXQgaXRzIG9yaWdpbmFsIGxvY2F0aW9uCiAgICBhdHRyaWJ1dGU6ICAgICAgICAncmVsJywgICAgLy8gdGhlIGF0dHJpYnV0ZSB0byBiZSB1c2VkIGZvciBmZXRjaGluZyB0aGUgY2x1ZVRpcCdzIGJvZHkgY29udGVudAogICAgdGl0bGVBdHRyaWJ1dGU6ICAgJ3RpdGxlJywgIC8vIHRoZSBhdHRyaWJ1dGUgdG8gYmUgdXNlZCBmb3IgZmV0Y2hpbmcgdGhlIGNsdWVUaXAncyB0aXRsZQogICAgc3BsaXRUaXRsZTogICAgICAgJycsICAgICAgIC8vIEEgY2hhcmFjdGVyIHVzZWQgdG8gc3BsaXQgdGhlIHRpdGxlIGF0dHJpYnV0ZSBpbnRvIHRoZSBjbHVlVGlwIHRpdGxlIGFuZCBkaXZzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2l0aGluIHRoZSBjbHVlVGlwIGJvZHkuIG1vcmUgaW5mbyBiZWxvdyBbNl0KICAgIHNob3dUaXRsZTogICAgICAgIHRydWUsICAgICAvLyBzaG93IHRpdGxlIGJhciBvZiB0aGUgY2x1ZVRpcCwgZXZlbiBpZiB0aXRsZSBhdHRyaWJ1dGUgbm90IHNldAogICAgY2x1ZXRpcENsYXNzOiAgICAgJ2RlZmF1bHQnLC8vIGNsYXNzIGFkZGVkIHRvIG91dGVybW9zdCBjbHVlVGlwIGRpdiBpbiB0aGUgZm9ybSBvZiAnY2x1ZXRpcC0nICsgY2x1ZVRpcENsYXNzLgogICAgaG92ZXJDbGFzczogICAgICAgJycsICAgICAgIC8vIGNsYXNzIGFwcGxpZWQgdG8gdGhlIGludm9raW5nIGVsZW1lbnQgb25tb3VzZW92ZXIgYW5kIHJlbW92ZWQgb25tb3VzZW91dAogICAgd2FpdEltYWdlOiAgICAgICAgdHJ1ZSwgICAgIC8vIHdoZXRoZXIgdG8gc2hvdyBhICJsb2FkaW5nIiBpbWcsIHdoaWNoIGlzIHNldCBpbiBqcXVlcnkuY2x1ZXRpcC5jc3MKICAgIGN1cnNvcjogICAgICAgICAgICdoZWxwJywKICAgIGFycm93czogICAgICAgICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBkaXNwbGF5cyBhcnJvdyBvbiBhcHByb3ByaWF0ZSBzaWRlIG9mIGNsdWVUaXAKICAgIGRyb3BTaGFkb3c6ICAgICAgIHRydWUsICAgICAvLyBzZXQgdG8gZmFsc2UgaWYgeW91IGRvbid0IHdhbnQgdGhlIGRyb3Atc2hhZG93IGVmZmVjdCBvbiB0aGUgY2x1ZVRpcAogICAgZHJvcFNoYWRvd1N0ZXBzOiAgNiwgICAgICAgIC8vIGFkanVzdHMgdGhlIHNpemUgb2YgdGhlIGRyb3Agc2hhZG93CiAgICBzdGlja3k6ICAgICAgICAgICBmYWxzZSwgICAgLy8ga2VlcCB2aXNpYmxlIHVudGlsIG1hbnVhbGx5IGNsb3NlZAogICAgbW91c2VPdXRDbG9zZTogICAgZmFsc2UsICAgIC8vIGNsb3NlIHdoZW4gY2x1ZVRpcCBpcyBtb3VzZWQgb3V0CiAgICBhY3RpdmF0aW9uOiAgICAgICAnaG92ZXInLCAgLy8gc2V0IHRvICdjbGljaycgdG8gZm9yY2UgdXNlciB0byBjbGljayB0byBzaG93IGNsdWVUaXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXQgdG8gJ2ZvY3VzJyB0byBzaG93IG9uIGZvY3VzIG9mIGEgZm9ybSBlbGVtZW50IGFuZCBoaWRlIG9uIGJsdXIKICAgIGNsaWNrVGhyb3VnaDogICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBhbmQgYWN0aXZhdGlvbiBpcyBub3QgJ2NsaWNrJywgdGhlbiBjbGlja2luZyBvbiBsaW5rIHdpbGwgdGFrZSB1c2VyIHRvIHRoZSBsaW5rJ3MgaHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVuIGlmIGhyZWYgYW5kIHRpcEF0dHJpYnV0ZSBhcmUgZXF1YWwKICAgIHRyYWNraW5nOiAgICAgICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBjbHVlVGlwIHdpbGwgdHJhY2sgbW91c2UgbW92ZW1lbnQgKGV4cGVyaW1lbnRhbCkKICAgIGRlbGF5ZWRDbG9zZTogICAgIDAsICAgICAgICAvLyBjbG9zZSBjbHVlVGlwIG9uIGEgdGltZWQgZGVsYXkgKGV4cGVyaW1lbnRhbCkKICAgIGNsb3NlUG9zaXRpb246ICAgICd0b3AnLCAgICAvLyBsb2NhdGlvbiBvZiBjbG9zZSB0ZXh0IGZvciBzdGlja3kgY2x1ZXRpcHM7IGNhbiBiZSAndG9wJyBvciAnYm90dG9tJyBvciAndGl0bGUnCiAgICBjbG9zZVRleHQ6ICAgICAgICAnQ2xvc2UnLCAgLy8gdGV4dCAob3IgSFRNTCkgdG8gdG8gYmUgY2xpY2tlZCB0byBjbG9zZSBzdGlja3kgY2x1ZVRpcHMKICAgIHRydW5jYXRlOiAgICAgICAgIDAsICAgICAgICAvLyBudW1iZXIgb2YgY2hhcmFjdGVycyB0byB0cnVuY2F0ZSBjbHVlVGlwJ3MgY29udGVudHMuIGlmIDAsIG5vIHRydW5jYXRpb24gb2NjdXJzCgogICAgLy8gZWZmZWN0IGFuZCBzcGVlZCBmb3Igb3BlbmluZyBjbHVlVGlwcwogICAgZng6IHsgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICBvcGVuOiAgICAgICAnc2hvdycsIC8vIGNhbiBiZSAnc2hvdycgb3IgJ3NsaWRlRG93bicgb3IgJ2ZhZGVJbicKICAgICAgICAgICAgICAgICAgICAgIG9wZW5TcGVlZDogICcnCiAgICB9LCAgICAgCgogICAgLy8gc2V0dGluZ3MgZm9yIHdoZW4gaG92ZXJJbnRlbnQgcGx1Z2luIGlzIHVzZWQgICAgICAgICAgICAgCiAgICBob3ZlckludGVudDogeyAgICAKICAgICAgICAgICAgICAgICAgICAgIHNlbnNpdGl2aXR5OiAgMywKICAgICAgICAgICAgICAJCQkgIGludGVydmFsOiAgICAgNTAsCiAgICAgICAgICAgICAgCQkJICB0aW1lb3V0OiAgICAgIDAKICAgIH0sCgogICAgLy8gZnVuY3Rpb24gdG8gcnVuIGp1c3QgYmVmb3JlIGNsdWVUaXAgaXMgc2hvd24uICAgICAgICAgICAKICAgIG9uQWN0aXZhdGU6ICAgICAgIGZ1bmN0aW9uKGUpIHtyZXR1cm4gdHJ1ZTt9LAoKICAgIC8vIGZ1bmN0aW9uIHRvIHJ1biBqdXN0IGFmdGVyIGNsdWVUaXAgaXMgc2hvd24uCiAgICBvblNob3c6ICAgICAgICAgICBmdW5jdGlvbihjdCwgYyl7fSwKICAgIAogICAgLy8gd2hldGhlciB0byBjYWNoZSByZXN1bHRzIG9mIGFqYXggcmVxdWVzdCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBoaXRzIHRvIHNlcnZlciAgICAKICAgIGFqYXhDYWNoZTogICAgICAgIHRydWUsICAKCiAgICAvLyBwcm9jZXNzIGRhdGEgcmV0cmlldmVkIHZpYSB4aHIgYmVmb3JlIGl0J3MgZGlzcGxheWVkCiAgICBhamF4UHJvY2VzczogICAgICBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLzxzKGNyaXB0fHR5bGUpKC58XHMpKj9cL3MoY3JpcHR8dHlsZSk+L2csICcnKS5yZXBsYWNlKC88KGxpbmt8dGl0bGUpKC58XHMpKj9cLyhsaW5rfHRpdGxlKT4vZywnJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgfSwgICAgICAgICAgICAgICAgCgogICAgLy8gY2FuIHBhc3MgaW4gc3RhbmRhcmQgJC5hamF4KCkgcGFyYW1ldGVycywgbm90IGluY2x1ZGluZyBlcnJvciwgY29tcGxldGUsIHN1Y2Nlc3MsIGFuZCB1cmwKICAgIGFqYXhTZXR0aW5nczogeyAgIAogICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdodG1sJwogICAgfSwKICAgIGRlYnVnOiBmYWxzZQogIH07CgoKLyoKICogR2xvYmFsIGRlZmF1bHRzIGZvciBjbHVlVGlwcy4gQXBwbHkgdG8gYWxsIGNhbGxzIHRvIHRoZSBjbHVlVGlwIHBsdWdpbi4KICoKICogQGV4YW1wbGUgJC5jbHVldGlwLnNldHVwKHsKICogICBpbnNlcnRpb25UeXBlOiAncHJlcGVuZFRvJywKICogICBpbnNlcnRpb25FbGVtZW50OiAnI2NvbnRhaW5lcicKICogfSk7CiAqIAogKiBAcHJvcGVydHkKICogQG5hbWUgJC5jbHVldGlwLnNldHVwCiAqIEB0eXBlIE1hcAogKiBAY2F0IFBsdWdpbnMvdG9vbHRpcAogKiBAb3B0aW9uIFN0cmluZyBpbnNlcnRpb25UeXBlOiBEZWZhdWx0IGlzICdhcHBlbmRUbycuIERldGVybWluZXMgdGhlIG1ldGhvZCB0byBiZSB1c2VkIGZvciBpbnNlcnRpbmcgdGhlIGNsdWVUaXAgaW50byB0aGUgRE9NLiBQZXJtaXR0ZWQgdmFsdWVzIGFyZSAnYXBwZW5kVG8nLCAncHJlcGVuZFRvJywgJ2luc2VydEJlZm9yZScsIGFuZCAnaW5zZXJ0QWZ0ZXInCiAqIEBvcHRpb24gU3RyaW5nIGluc2VydGlvbkVsZW1lbnQ6IERlZmF1bHQgaXMgJ2JvZHknLiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgaW4gdGhlIERPTSB0aGUgcGx1Z2luIHdpbGwgcmVmZXJlbmNlIHdoZW4gaW5zZXJ0aW5nIHRoZSBjbHVlVGlwLgogKgogKi8KICAgCiAgdmFyIGluc2VydGlvblR5cGUgPSAnYXBwZW5kVG8nLCBpbnNlcnRpb25FbGVtZW50ID0gJ2JvZHknOwogICQuY2x1ZXRpcCA9IHt9OwogICQuY2x1ZXRpcC5zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaW5zZXJ0aW9uVHlwZSAmJiAob3B0aW9ucy5pbnNlcnRpb25UeXBlKS5tYXRjaCgvYXBwZW5kVG98cHJlcGVuZFRvfGluc2VydEJlZm9yZXxpbnNlcnRBZnRlci8pKSB7CiAgICAgIGluc2VydGlvblR5cGUgPSBvcHRpb25zLmluc2VydGlvblR5cGU7CiAgICB9CiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmluc2VydGlvbkVsZW1lbnQpIHsKICAgICAgaW5zZXJ0aW9uRWxlbWVudCA9IG9wdGlvbnMuaW5zZXJ0aW9uRWxlbWVudDsKICAgIH0KICB9OwogIAp9KShqUXVlcnkpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.dimensions-1.2.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA3IFBhdWwgQmFrYXVzIChwYXVsLmJha2F1c0Bnb29nbGVtYWlsLmNvbSkgYW5kIEJyYW5kb24gQWFyb24gKGJyYW5kb24uYWFyb25AZ21haWwuY29tIHx8IGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKQogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqCiAqICRMYXN0Q2hhbmdlZERhdGU6IDIwMDgtMDItMjggMDU6NDk6NTUgLTA1MDAgKFRodSwgMjggRmViIDIwMDgpICQKICogJFJldjogNDg0MSAkCiAqCiAqIFZlcnNpb246IEBWRVJTSU9OCiAqCiAqIFJlcXVpcmVzOiBqUXVlcnkgMS4yKwogKi8KCihmdW5jdGlvbigkKXsKCQokLmRpbWVuc2lvbnMgPSB7Cgl2ZXJzaW9uOiAnQFZFUlNJT04nCn07CgovLyBDcmVhdGUgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGgsIG91dGVySGVpZ2h0IGFuZCBvdXRlcldpZHRoIG1ldGhvZHMKJC5lYWNoKCBbICdIZWlnaHQnLCAnV2lkdGgnIF0sIGZ1bmN0aW9uKGksIG5hbWUpewoJCgkvLyBpbm5lckhlaWdodCBhbmQgaW5uZXJXaWR0aAoJJC5mblsgJ2lubmVyJyArIG5hbWUgXSA9IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpc1swXSkgcmV0dXJuOwoJCQoJCXZhciB0b3JsID0gbmFtZSA9PSAnSGVpZ2h0JyA/ICdUb3AnICAgIDogJ0xlZnQnLCAgLy8gdG9wIG9yIGxlZnQKCQkgICAgYm9yciA9IG5hbWUgPT0gJ0hlaWdodCcgPyAnQm90dG9tJyA6ICdSaWdodCc7IC8vIGJvdHRvbSBvciByaWdodAoKICAgIHJldHVybiB0aGlzLmNzcygnZGlzcGxheScpICE9ICdub25lJyA/IHRoaXNbMF1bJ2NsaWVudCcgKyBuYW1lXSA6IG51bSggdGhpcywgbmFtZS50b0xvd2VyQ2FzZSgpICkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgdG9ybCkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgYm9ycik7Cgl9OwoJCgkvLyBvdXRlckhlaWdodCBhbmQgb3V0ZXJXaWR0aAoJJC5mblsgJ291dGVyJyArIG5hbWUgXSA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQl2YXIgdG9ybCA9IG5hbWUgPT0gJ0hlaWdodCcgPyAnVG9wJyAgICA6ICdMZWZ0JywgIC8vIHRvcCBvciBsZWZ0CgkJICAgIGJvcnIgPSBuYW1lID09ICdIZWlnaHQnID8gJ0JvdHRvbScgOiAnUmlnaHQnOyAvLyBib3R0b20gb3IgcmlnaHQKCQkKCQlvcHRpb25zID0gJC5leHRlbmQoeyBtYXJnaW46IGZhbHNlIH0sIG9wdGlvbnMgfHwge30pOwoJCXZhciB2YWwgPSB0aGlzLmNzcygnZGlzcGxheScpICE9ICdub25lJyA/IAoJCQkJdGhpc1swXVsnb2Zmc2V0JyArIG5hbWVdIDogCgkJCQludW0oIHRoaXMsIG5hbWUudG9Mb3dlckNhc2UoKSApCgkJCQkJKyBudW0odGhpcywgJ2JvcmRlcicgKyB0b3JsICsgJ1dpZHRoJykgKyBudW0odGhpcywgJ2JvcmRlcicgKyBib3JyICsgJ1dpZHRoJykKCQkJCQkrIG51bSh0aGlzLCAncGFkZGluZycgKyB0b3JsKSArIG51bSh0aGlzLCAncGFkZGluZycgKyBib3JyKTsKCQlyZXR1cm4gdmFsICsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luJyArIHRvcmwpICsgbnVtKHRoaXMsICdtYXJnaW4nICsgYm9ycikpIDogMCk7Cgl9Owp9KTsKCi8vIENyZWF0ZSBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgbWV0aG9kcwokLmVhY2goIFsnTGVmdCcsICdUb3AnXSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJJC5mblsgJ3Njcm9sbCcgKyBuYW1lIF0gPSBmdW5jdGlvbih2YWwpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQlyZXR1cm4gdmFsICE9IHVuZGVmaW5lZCA/CgkJCgkJCS8vIFNldCB0aGUgc2Nyb2xsIG9mZnNldAoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl0aGlzID09IHdpbmRvdyB8fCB0aGlzID09IGRvY3VtZW50ID8KCQkJCQl3aW5kb3cuc2Nyb2xsVG8oIAoJCQkJCQluYW1lID09ICdMZWZ0JyA/IHZhbCA6ICQod2luZG93KVsgJ3Njcm9sbExlZnQnIF0oKSwKCQkJCQkJbmFtZSA9PSAnVG9wJyAgPyB2YWwgOiAkKHdpbmRvdylbICdzY3JvbGxUb3AnICBdKCkKCQkJCQkpIDoKCQkJCQl0aGlzWyAnc2Nyb2xsJyArIG5hbWUgXSA9IHZhbDsKCQkJfSkgOgoJCQkKCQkJLy8gUmV0dXJuIHRoZSBzY3JvbGwgb2Zmc2V0CgkJCXRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgPwoJCQkJc2VsZlsgKG5hbWUgPT0gJ0xlZnQnID8gJ3BhZ2VYT2Zmc2V0JyA6ICdwYWdlWU9mZnNldCcpIF0gfHwKCQkJCQkkLmJveE1vZGVsICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsgJ3Njcm9sbCcgKyBuYW1lIF0gfHwKCQkJCQlkb2N1bWVudC5ib2R5WyAnc2Nyb2xsJyArIG5hbWUgXSA6CgkJCQl0aGlzWzBdWyAnc2Nyb2xsJyArIG5hbWUgXTsKCX07Cn0pOwoKJC5mbi5leHRlbmQoewoJcG9zaXRpb246IGZ1bmN0aW9uKCkgewoJCXZhciBsZWZ0ID0gMCwgdG9wID0gMCwgZWxlbSA9IHRoaXNbMF0sIG9mZnNldCwgcGFyZW50T2Zmc2V0LCBvZmZzZXRQYXJlbnQsIHJlc3VsdHM7CgkJCgkJaWYgKGVsZW0pIHsKCQkJLy8gR2V0ICpyZWFsKiBvZmZzZXRQYXJlbnQKCQkJb2Zmc2V0UGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQoKTsKCQkJCgkJCS8vIEdldCBjb3JyZWN0IG9mZnNldHMKCQkJb2Zmc2V0ICAgICAgID0gdGhpcy5vZmZzZXQoKTsKCQkJcGFyZW50T2Zmc2V0ID0gb2Zmc2V0UGFyZW50Lm9mZnNldCgpOwoJCQkKCQkJLy8gU3VidHJhY3QgZWxlbWVudCBtYXJnaW5zCgkJCW9mZnNldC50b3AgIC09IG51bShlbGVtLCAnbWFyZ2luVG9wJyk7CgkJCW9mZnNldC5sZWZ0IC09IG51bShlbGVtLCAnbWFyZ2luTGVmdCcpOwoJCQkKCQkJLy8gQWRkIG9mZnNldFBhcmVudCBib3JkZXJzCgkJCXBhcmVudE9mZnNldC50b3AgICs9IG51bShvZmZzZXRQYXJlbnQsICdib3JkZXJUb3BXaWR0aCcpOwoJCQlwYXJlbnRPZmZzZXQubGVmdCArPSBudW0ob2Zmc2V0UGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQoJCQkvLyBTdWJ0cmFjdCB0aGUgdHdvIG9mZnNldHMKCQkJcmVzdWx0cyA9IHsKCQkJCXRvcDogIG9mZnNldC50b3AgIC0gcGFyZW50T2Zmc2V0LnRvcCwKCQkJCWxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQKCQkJfTsKCQl9CgkJCgkJcmV0dXJuIHJlc3VsdHM7Cgl9LAoJCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgewoJCXZhciBvZmZzZXRQYXJlbnQgPSB0aGlzWzBdLm9mZnNldFBhcmVudDsKCQl3aGlsZSAoIG9mZnNldFBhcmVudCAmJiAoIS9eYm9keXxodG1sJC9pLnRlc3Qob2Zmc2V0UGFyZW50LnRhZ05hbWUpICYmICQuY3NzKG9mZnNldFBhcmVudCwgJ3Bvc2l0aW9uJykgPT0gJ3N0YXRpYycpICkKCQkJb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDsKCQlyZXR1cm4gJChvZmZzZXRQYXJlbnQpOwoJfQp9KTsKCmZ1bmN0aW9uIG51bShlbCwgcHJvcCkgewoJcmV0dXJuIHBhcnNlSW50KCQuY3VyQ1NTKGVsLmpxdWVyeT9lbFswXTplbCxwcm9wLHRydWUpKXx8MDsKfTsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.dimensions.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA3IFBhdWwgQmFrYXVzIChwYXVsLmJha2F1c0Bnb29nbGVtYWlsLmNvbSkgYW5kIEJyYW5kb24gQWFyb24gKGJyYW5kb24uYWFyb25AZ21haWwuY29tIHx8IGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKQogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqCiAqICRMYXN0Q2hhbmdlZERhdGU6IDIwMDctMDgtMTcgMTQ6MTQ6MTEgLTA0MDAgKEZyaSwgMTcgQXVnIDIwMDcpICQKICogJFJldjogMjc1OSAkCiAqCiAqIFZlcnNpb246IDEuMS4yCiAqCiAqIFJlcXVpcmVzOiBqUXVlcnkgMS4xLjMrCiAqLwoKKGZ1bmN0aW9uKCQpewoKLy8gc3RvcmUgYSBjb3B5IG9mIHRoZSBjb3JlIGhlaWdodCBhbmQgd2lkdGggbWV0aG9kcwp2YXIgaGVpZ2h0ID0gJC5mbi5oZWlnaHQsCiAgICB3aWR0aCAgPSAkLmZuLndpZHRoOwoKJC5mbi5leHRlbmQoewoJLyoqCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICogU2VlIGNvcmUgZG9jcyBvbiBoZWlnaHQoKSB0byBzZWUgd2hhdCBoYXBwZW5zIHdoZW4gdXNlZCBvbiBhbiBlbGVtZW50LgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaGVpZ2h0KCkKCSAqIEByZXN1bHQgMjAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuaGVpZ2h0KCkKCSAqIEByZXN1bHQgODAwCgkgKgoJICogQGV4YW1wbGUgJCh3aW5kb3cpLmhlaWdodCgpCgkgKiBAcmVzdWx0IDQwMAoJICoKCSAqIEBuYW1lIGhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCgloZWlnaHQ6IGZ1bmN0aW9uKCkgewoJCWlmICggIXRoaXNbMF0gKSBlcnJvcigpOwoJCWlmICggdGhpc1swXSA9PSB3aW5kb3cgKQoJCQlpZiAoICQuYnJvd3Nlci5vcGVyYSB8fCAoJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjApICkKCQkJCXJldHVybiBzZWxmLmlubmVySGVpZ2h0IC0gKCgkKGRvY3VtZW50KS5oZWlnaHQoKSA+IHNlbGYuaW5uZXJIZWlnaHQpID8gZ2V0U2Nyb2xsYmFyV2lkdGgoKSA6IDApOwoKCQkJZWxzZSBpZiAoICQuYnJvd3Nlci5zYWZhcmkgKQoJCQkJcmV0dXJuIHNlbGYuaW5uZXJIZWlnaHQ7CgkJCWVsc2UKICAgICAgICAgIC8vcmV0dXJuICQuYm94TW9kZWwgJiYgTWF0aC5taW4oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCk7CiAgICAgIAkJcmV0dXJuICQuYm94TW9kZWwgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKCQlpZiAoIHRoaXNbMF0gPT0gZG9jdW1lbnQgKSAKCQkJcmV0dXJuIE1hdGgubWF4KCAoJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KSwgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgKTsKCQkKCQlyZXR1cm4gaGVpZ2h0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cgl9LAoJCgkvKioKCSAqIElmIHVzZWQgb24gZG9jdW1lbnQsIHJldHVybnMgdGhlIGRvY3VtZW50J3Mgd2lkdGggKGlubmVyV2lkdGgpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgd2lkdGguCgkgKiBTZWUgY29yZSBkb2NzIG9uIHdpZHRoKCkgdG8gc2VlIHdoYXQgaGFwcGVucyB3aGVuIHVzZWQgb24gYW4gZWxlbWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLndpZHRoKCkKCSAqIEByZXN1bHQgMjAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkud2lkdGgoKQoJICogQHJlc3VsdCA4MDAKCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykud2lkdGgoKQoJICogQHJlc3VsdCA0MDAKCSAqCgkgKiBAbmFtZSB3aWR0aAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCgl3aWR0aDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCWlmICggdGhpc1swXSA9PSB3aW5kb3cgKQoJCQlpZiAoICQuYnJvd3Nlci5vcGVyYSB8fCAoJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjApICkKCQkJCXJldHVybiBzZWxmLmlubmVyV2lkdGggLSAoKCQoZG9jdW1lbnQpLndpZHRoKCkgPiBzZWxmLmlubmVyV2lkdGgpID8gZ2V0U2Nyb2xsYmFyV2lkdGgoKSA6IDApOwoJCQllbHNlIGlmICggJC5icm93c2VyLnNhZmFyaSApCgkJCQlyZXR1cm4gc2VsZi5pbm5lcldpZHRoOwoJCQllbHNlCiAgICAgICAgICAgICAgICByZXR1cm4gJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsKCgkJaWYgKCB0aGlzWzBdID09IGRvY3VtZW50ICkKCQkJaWYgKCQuYnJvd3Nlci5tb3ppbGxhKSB7CgkJCQkvLyBtb3ppbGxhIHJlcG9ydHMgc2Nyb2xsV2lkdGggYW5kIG9mZnNldFdpZHRoIGFzIHRoZSBzYW1lCgkJCQl2YXIgc2Nyb2xsTGVmdCA9IHNlbGYucGFnZVhPZmZzZXQ7CgkJCQlzZWxmLnNjcm9sbFRvKDk5OTk5OTk5LCBzZWxmLnBhZ2VZT2Zmc2V0KTsKCQkJCXZhciBzY3JvbGxXaWR0aCA9IHNlbGYucGFnZVhPZmZzZXQ7CgkJCQlzZWxmLnNjcm9sbFRvKHNjcm9sbExlZnQsIHNlbGYucGFnZVlPZmZzZXQpOwoJCQkJcmV0dXJuIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGggKyBzY3JvbGxXaWR0aDsKCQkJfQoJCQllbHNlIAoJCQkJcmV0dXJuIE1hdGgubWF4KCAoKCQuYm94TW9kZWwgJiYgISQuYnJvd3Nlci5zYWZhcmkpICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKSwgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCApOwoKCQlyZXR1cm4gd2lkdGguYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCX0sCgkKCS8qKgoJICogR2V0cyB0aGUgaW5uZXIgaGVpZ2h0IChleGNsdWRlcyB0aGUgYm9yZGVyIGFuZCBpbmNsdWRlcyB0aGUgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaW5uZXJIZWlnaHQoKQoJICogQHJlc3VsdCAyMTAKCSAqCgkgKiBAbmFtZSBpbm5lckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglpbm5lckhlaWdodDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXJldHVybiB0aGlzWzBdID09IHdpbmRvdyB8fCB0aGlzWzBdID09IGRvY3VtZW50ID8KCQkJdGhpcy5oZWlnaHQoKSA6CgkJCXRoaXMuaXMoJzp2aXNpYmxlJykgPwoJCQkJdGhpc1swXS5vZmZzZXRIZWlnaHQgLSBudW0odGhpcywgJ2JvcmRlclRvcFdpZHRoJykgLSBudW0odGhpcywgJ2JvcmRlckJvdHRvbVdpZHRoJykgOgoJCQkJdGhpcy5oZWlnaHQoKSArIG51bSh0aGlzLCAncGFkZGluZ1RvcCcpICsgbnVtKHRoaXMsICdwYWRkaW5nQm90dG9tJyk7Cgl9LAoJCgkvKioKCSAqIEdldHMgdGhlIGlubmVyIHdpZHRoIChleGNsdWRlcyB0aGUgYm9yZGVyIGFuZCBpbmNsdWRlcyB0aGUgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIHdpZHRoIChpbm5lcldpZHRoKS4KCSAqIElmIHVzZWQgb24gd2luZG93LCByZXR1cm5zIHRoZSB2aWV3cG9ydCdzICh3aW5kb3cpIHdpZHRoLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaW5uZXJXaWR0aCgpCgkgKiBAcmVzdWx0IDIxMAoJICoKCSAqIEBuYW1lIGlubmVyV2lkdGgKCSAqIEB0eXBlIE51bWJlcgoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJaW5uZXJXaWR0aDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXJldHVybiB0aGlzWzBdID09IHdpbmRvdyB8fCB0aGlzWzBdID09IGRvY3VtZW50ID8KCQkJdGhpcy53aWR0aCgpIDoKCQkJdGhpcy5pcygnOnZpc2libGUnKSA/CgkJCQl0aGlzWzBdLm9mZnNldFdpZHRoIC0gbnVtKHRoaXMsICdib3JkZXJMZWZ0V2lkdGgnKSAtIG51bSh0aGlzLCAnYm9yZGVyUmlnaHRXaWR0aCcpIDoKCQkJCXRoaXMud2lkdGgoKSArIG51bSh0aGlzLCAncGFkZGluZ0xlZnQnKSArIG51bSh0aGlzLCAncGFkZGluZ1JpZ2h0Jyk7Cgl9LAoJCgkvKioKCSAqIEdldHMgdGhlIG91dGVyIGhlaWdodCAoaW5jbHVkZXMgdGhlIGJvcmRlciBhbmQgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICoKCSAqIFRoZSBtYXJnaW4gY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbiBieSBwYXNzaW5nIGFuIG9wdGlvbnMgbWFwIHdpdGggbWFyZ2luCgkgKiBzZXQgdG8gdHJ1ZS4KCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLm91dGVySGVpZ2h0KCkKCSAqIEByZXN1bHQgMjIwCgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5vdXRlckhlaWdodCh7IG1hcmdpbjogdHJ1ZSB9KQoJICogQHJlc3VsdCAyNDAKCSAqCgkgKiBAbmFtZSBvdXRlckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG91dGVyIGhlaWdodCBpcyBjYWxjdWxhdGVkLgoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJb3V0ZXJIZWlnaHQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlpZiAoIXRoaXNbMF0pIGVycm9yKCk7CgkJb3B0aW9ucyA9ICQuZXh0ZW5kKHsgbWFyZ2luOiBmYWxzZSB9LCBvcHRpb25zIHx8IHt9KTsKCQlyZXR1cm4gdGhpc1swXSA9PSB3aW5kb3cgfHwgdGhpc1swXSA9PSBkb2N1bWVudCA/CgkJCXRoaXMuaGVpZ2h0KCkgOgoJCQl0aGlzLmlzKCc6dmlzaWJsZScpID8KCQkJCXRoaXNbMF0ub2Zmc2V0SGVpZ2h0ICsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luVG9wJykgKyBudW0odGhpcywgJ21hcmdpbkJvdHRvbScpKSA6IDApIDoKCQkJCXRoaXMuaGVpZ2h0KCkgCgkJCQkJKyBudW0odGhpcywnYm9yZGVyVG9wV2lkdGgnKSArIG51bSh0aGlzLCAnYm9yZGVyQm90dG9tV2lkdGgnKSAKCQkJCQkrIG51bSh0aGlzLCAncGFkZGluZ1RvcCcpICsgbnVtKHRoaXMsICdwYWRkaW5nQm90dG9tJykKCQkJCQkrIChvcHRpb25zLm1hcmdpbiA/IChudW0odGhpcywgJ21hcmdpblRvcCcpICsgbnVtKHRoaXMsICdtYXJnaW5Cb3R0b20nKSkgOiAwKTsKCX0sCgkKCS8qKgoJICogR2V0cyB0aGUgb3V0ZXIgd2lkdGggKGluY2x1ZGluZyB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nKSBmb3IgdGhlIGZpcnN0IG1hdGNoZWQgZWxlbWVudC4KCSAqIElmIHVzZWQgb24gZG9jdW1lbnQsIHJldHVybnMgdGhlIGRvY3VtZW50J3Mgd2lkdGggKGlubmVyV2lkdGgpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgd2lkdGguCgkgKgoJICogVGhlIG1hcmdpbiBjYW4gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9uIGJ5IHBhc3NpbmcgYW4gb3B0aW9ucyBtYXAgd2l0aCBtYXJnaW4KCSAqIHNldCB0byB0cnVlLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikub3V0ZXJXaWR0aCgpCgkgKiBAcmVzdWx0IDEwMDAKCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLm91dGVyV2lkdGgoeyBtYXJnaW46IHRydWUgfSkKCSAqIEByZXN1bHQgMTAyMAoJICogCgkgKiBAbmFtZSBvdXRlckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG91dGVyIHdpZHRoIGlzIGNhbGN1bGF0ZWQuCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvdXRlcldpZHRoOiBmdW5jdGlvbihvcHRpb25zKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCW9wdGlvbnMgPSAkLmV4dGVuZCh7IG1hcmdpbjogZmFsc2UgfSwgb3B0aW9ucyB8fCB7fSk7CgkJcmV0dXJuIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgPwoJCQl0aGlzLndpZHRoKCkgOgoJCQl0aGlzLmlzKCc6dmlzaWJsZScpID8KCQkJCXRoaXNbMF0ub2Zmc2V0V2lkdGggKyAob3B0aW9ucy5tYXJnaW4gPyAobnVtKHRoaXMsICdtYXJnaW5MZWZ0JykgKyBudW0odGhpcywgJ21hcmdpblJpZ2h0JykpIDogMCkgOgoJCQkJdGhpcy53aWR0aCgpIAoJCQkJCSsgbnVtKHRoaXMsICdib3JkZXJMZWZ0V2lkdGgnKSArIG51bSh0aGlzLCAnYm9yZGVyUmlnaHRXaWR0aCcpIAoJCQkJCSsgbnVtKHRoaXMsICdwYWRkaW5nTGVmdCcpICsgbnVtKHRoaXMsICdwYWRkaW5nUmlnaHQnKQoJCQkJCSsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luTGVmdCcpICsgbnVtKHRoaXMsICdtYXJnaW5SaWdodCcpKSA6IDApOwoJfSwKCQoJLyoqCgkgKiBHZXRzIGhvdyBtYW55IHBpeGVscyB0aGUgdXNlciBoYXMgc2Nyb2xsZWQgdG8gdGhlIHJpZ2h0IChzY3JvbGxMZWZ0KS4KCSAqIFdvcmtzIG9uIGNvbnRhaW5lcnMgd2l0aCBvdmVyZmxvdzogYXV0byBhbmQgd2luZG93L2RvY3VtZW50LgoJICoKCSAqIEBleGFtcGxlICQod2luZG93KS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpCgkgKiBAcmVzdWx0IDEwMAoJICogCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLnNjcm9sbExlZnQoKQoJICogQHJlc3VsdCAxMDAKCSAqCgkgKiBAbmFtZSBzY3JvbGxMZWZ0CgkgKiBAdHlwZSBOdW1iZXIKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCS8qKgoJICogU2V0cyB0aGUgc2Nyb2xsTGVmdCBwcm9wZXJ0eSBmb3IgZWFjaCBlbGVtZW50IGFuZCBjb250aW51ZXMgdGhlIGNoYWluLgoJICogV29ya3Mgb24gY29udGFpbmVycyB3aXRoIG92ZXJmbG93OiBhdXRvIGFuZCB3aW5kb3cvZG9jdW1lbnQuCgkgKgoJICogQGV4YW1wbGUgJCh3aW5kb3cpLnNjcm9sbExlZnQoMTAwKS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoZG9jdW1lbnQpLnNjcm9sbExlZnQoMTAwKS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5zY3JvbGxMZWZ0KDEwMCkuc2Nyb2xsTGVmdCgpCgkgKiBAcmVzdWx0IDEwMAoJICoKCSAqIEBuYW1lIHNjcm9sbExlZnQKCSAqIEBwYXJhbSBOdW1iZXIgdmFsdWUgQSBwb3NpdGl2ZSBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXNpcmVkIHNjcm9sbExlZnQuCgkgKiBAdHlwZSBqUXVlcnkKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCXNjcm9sbExlZnQ6IGZ1bmN0aW9uKHZhbCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQlpZiAoIHZhbCAhPSB1bmRlZmluZWQgKQoJCQkvLyBzZXQgdGhlIHNjcm9sbCBsZWZ0CgkJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcyA9PSB3aW5kb3cgfHwgdGhpcyA9PSBkb2N1bWVudCkKCQkJCQl3aW5kb3cuc2Nyb2xsVG8oIHZhbCwgJCh3aW5kb3cpLnNjcm9sbFRvcCgpICk7CgkJCQllbHNlCgkJCQkJdGhpcy5zY3JvbGxMZWZ0ID0gdmFsOwoJCQl9KTsKCQkKCQkvLyByZXR1cm4gdGhlIHNjcm9sbCBsZWZ0IG9mZmVzdCBpbiBwaXhlbHMKCQlpZiAoIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgKQoJCQlyZXR1cm4gc2VsZi5wYWdlWE9mZnNldCB8fAoJCQkJJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fAoJCQkJZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OwoJCQkJCgkJcmV0dXJuIHRoaXNbMF0uc2Nyb2xsTGVmdDsKCX0sCgkKCS8qKgoJICogR2V0cyBob3cgbWFueSBwaXhlbHMgdGhlIHVzZXIgaGFzIHNjcm9sbGVkIHRvIHRoZSBib3R0b20gKHNjcm9sbFRvcCkuCgkgKiBXb3JrcyBvbiBjb250YWluZXJzIHdpdGggb3ZlcmZsb3c6IGF1dG8gYW5kIHdpbmRvdy9kb2N1bWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQG5hbWUgc2Nyb2xsVG9wCgkgKiBAdHlwZSBOdW1iZXIKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCS8qKgoJICogU2V0cyB0aGUgc2Nyb2xsVG9wIHByb3BlcnR5IGZvciBlYWNoIGVsZW1lbnQgYW5kIGNvbnRpbnVlcyB0aGUgY2hhaW4uCgkgKiBXb3JrcyBvbiBjb250YWluZXJzIHdpdGggb3ZlcmZsb3c6IGF1dG8gYW5kIHdpbmRvdy9kb2N1bWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykuc2Nyb2xsVG9wKDEwMCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgxMDApLnNjcm9sbFRvcCgpCgkgKiBAcmVzdWx0IDEwMAoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikuc2Nyb2xsVG9wKDEwMCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQG5hbWUgc2Nyb2xsVG9wCgkgKiBAcGFyYW0gTnVtYmVyIHZhbHVlIEEgcG9zaXRpdmUgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVzaXJlZCBzY3JvbGxUb3AuCgkgKiBAdHlwZSBqUXVlcnkKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCXNjcm9sbFRvcDogZnVuY3Rpb24odmFsKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCWlmICggdmFsICE9IHVuZGVmaW5lZCApCgkJCS8vIHNldCB0aGUgc2Nyb2xsIHRvcAoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJaWYgKHRoaXMgPT0gd2luZG93IHx8IHRoaXMgPT0gZG9jdW1lbnQpCgkJCQkJd2luZG93LnNjcm9sbFRvKCAkKHdpbmRvdykuc2Nyb2xsTGVmdCgpLCB2YWwgKTsKCQkJCWVsc2UKCQkJCQl0aGlzLnNjcm9sbFRvcCA9IHZhbDsKCQkJfSk7CgkJCgkJLy8gcmV0dXJuIHRoZSBzY3JvbGwgdG9wIG9mZnNldCBpbiBwaXhlbHMKCQlpZiAoIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgKQoJCQlyZXR1cm4gc2VsZi5wYWdlWU9mZnNldCB8fAoJCQkJJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8CgkJCQlkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKCgkJcmV0dXJuIHRoaXNbMF0uc2Nyb2xsVG9wOwoJfSwKCQoJLyoqIAoJICogR2V0cyB0aGUgdG9wIGFuZCBsZWZ0IHBvc2l0aW9uZWQgb2Zmc2V0IGluIHBpeGVscy4KCSAqIFRoZSBwb3NpdGlvbmVkIG9mZnNldCBpcyB0aGUgb2Zmc2V0IGJldHdlZW4gYSBwb3NpdGlvbmVkCgkgKiBwYXJlbnQgYW5kIHRoZSBlbGVtZW50IGl0c2VsZi4KCSAqCgkgKiBGb3IgYWNjdXJhdGUgY2FsY3VsYXRpb25zIG1ha2Ugc3VyZSB0byB1c2UgcGl4ZWwgdmFsdWVzIGZvciBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikucG9zaXRpb24oKQoJICogQHJlc3VsdCB7IHRvcDogMTAwLCBsZWZ0OiAxMDAgfQoJICoKCSAqIEBleGFtcGxlIHZhciBwb3NpdGlvbiA9IHt9OwoJICogJCgiI3Rlc3RkaXYiKS5wb3NpdGlvbihwb3NpdGlvbikKCSAqIEByZXN1bHQgcG9zaXRpb24gPSB7IHRvcDogMTAwLCBsZWZ0OiAxMDAgfQoJICogCgkgKiBAbmFtZSBwb3NpdGlvbgoJICogQHBhcmFtIE9iamVjdCByZXR1cm5PYmplY3QgT3B0aW9uYWwgQW4gb2JqZWN0IHRvIHN0b3JlIHRoZSByZXR1cm4gdmFsdWUgaW4sIHNvIGFzIG5vdCB0byBicmVhayB0aGUgY2hhaW4uIElmIHBhc3NlZCBpbiB0aGUKCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluIHdpbGwgbm90IGJlIGJyb2tlbiBhbmQgdGhlIHJlc3VsdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoaXMgb2JqZWN0LgoJICogQHR5cGUgT2JqZWN0CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglwb3NpdGlvbjogZnVuY3Rpb24ocmV0dXJuT2JqZWN0KSB7CgkJcmV0dXJuIHRoaXMub2Zmc2V0KHsgbWFyZ2luOiBmYWxzZSwgc2Nyb2xsOiBmYWxzZSwgcmVsYXRpdmVUbzogdGhpcy5vZmZzZXRQYXJlbnQoKSB9LCByZXR1cm5PYmplY3QpOwoJfSwKCQoJLyoqCgkgKiBHZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudCBpbiBwaXhlbHMgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydC4KCSAqIFRoZSBvZmZzZXQgbWV0aG9kIHRha2VzIGFuIG9wdGlvbmFsIG1hcCBvZiBrZXkgdmFsdWUgcGFpcnMgdG8gY29uZmlndXJlIHRoZSB3YXkKCSAqIHRoZSBvZmZzZXQgaXMgY2FsY3VsYXRlZC4gSGVyZSBhcmUgdGhlIGRpZmZlcmVudCBvcHRpb25zLgoJICoKCSAqIChCb29sZWFuKSBtYXJnaW4gLSBTaG91bGQgdGhlIG1hcmdpbiBvZiB0aGUgZWxlbWVudCBiZSBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zPyBUcnVlIGJ5IGRlZmF1bHQuCgkgKiAoQm9vbGVhbikgYm9yZGVyIC0gU2hvdWxkIHRoZSBib3JkZXIgb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gRmFsc2UgYnkgZGVmYXVsdC4gCgkgKiAoQm9vbGVhbikgcGFkZGluZyAtIFNob3VsZCB0aGUgcGFkZGluZyBvZiB0aGUgZWxlbWVudCBiZSBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zPyBGYWxzZSBieSBkZWZhdWx0LiAKCSAqIChCb29sZWFuKSBzY3JvbGwgLSBTaG91bGQgdGhlIHNjcm9sbCBvZmZzZXRzIG9mIHRoZSBwYXJlbnQgZWxlbWVudHMgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gVHJ1ZSBieSBkZWZhdWx0LgoJICogICAgICAgICAgICAgICAgICAgIFdoZW4gdHJ1ZSBpdCBhZGRzIHRoZSB0b3RhbCBzY3JvbGwgb2Zmc2V0cyBvZiBhbGwgcGFyZW50cyB0byB0aGUgdG90YWwgb2Zmc2V0IGFuZCBhbHNvIGFkZHMgdHdvCgkgKiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcyB0byB0aGUgcmV0dXJuZWQgb2JqZWN0LCBzY3JvbGxUb3AgYW5kIHNjcm9sbExlZnQuCgkgKiAoQm9vbGVhbikgbGl0ZSAtIFdoZW4gdHJ1ZSBpdCB3aWxsIHVzZSB0aGUgb2Zmc2V0TGl0ZSBtZXRob2QgaW5zdGVhZCBvZiB0aGUgZnVsbC1ibG93biwgc2xvd2VyIG9mZnNldCBtZXRob2QuIEZhbHNlIGJ5IGRlZmF1bHQuCgkgKiAgICAgICAgICAgICAgICAgIE9ubHkgdXNlIHRoaXMgd2hlbiBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIGNhbGN1bGF0aW9ucyBkb24ndCBtYXR0ZXIuCgkgKiAoSFRNTCBFbGVtZW50KSByZWxhdGl2ZVRvIC0gVGhpcyBzaG91bGQgYmUgYSBwYXJlbnQgb2YgdGhlIGVsZW1lbnQgYW5kIHNob3VsZCBoYXZlIHBvc2l0aW9uIChsaWtlIGFic29sdXRlIG9yIHJlbGF0aXZlKS4KCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCB3aWxsIHJldHJlaXZlIHRoZSBvZmZzZXQgcmVsYXRpdmUgdG8gdGhpcyBwYXJlbnQgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBpcyB0aGUgYm9keSBlbGVtZW50LgoJICoKCSAqIEFsc28gYW4gb2JqZWN0IGNhbiBiZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBwYXJhbWF0ZXIgdG8KCSAqIGNhdGNoIHRoZSB2YWx1ZSBvZiB0aGUgcmV0dXJuIGFuZCBjb250aW51ZSB0aGUgY2hhaW4uCgkgKgoJICogRm9yIGFjY3VyYXRlIGNhbGN1bGF0aW9ucyBtYWtlIHN1cmUgdG8gdXNlIHBpeGVsIHZhbHVlcyBmb3IgbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZy4KCSAqIAoJICogS25vd24gaXNzdWVzOgoJICogIC0gSXNzdWU6IEEgZGl2IHBvc2l0aW9uZWQgcmVsYXRpdmUgb3Igc3RhdGljIHdpdGhvdXQgYW55IGNvbnRlbnQgYmVmb3JlIGl0IGFuZCBpdHMgcGFyZW50IHdpbGwgcmVwb3J0IGFuIG9mZnNldFRvcCBvZiAwIGluIFNhZmFyaQoJICogICAgV29ya2Fyb3VuZDogUGxhY2UgY29udGVudCBiZWZvcmUgdGhlIHJlbGF0aXZlIGRpdiAuLi4gYW5kIHNldCBoZWlnaHQgYW5kIHdpZHRoIHRvIDAgYW5kIG92ZXJmbG93IHRvIGhpZGRlbgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikub2Zmc2V0KCkKCSAqIEByZXN1bHQgeyB0b3A6IDEwMCwgbGVmdDogMTAwLCBzY3JvbGxUb3A6IDEwLCBzY3JvbGxMZWZ0OiAxMCB9CgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5vZmZzZXQoeyBzY3JvbGw6IGZhbHNlIH0pCgkgKiBAcmVzdWx0IHsgdG9wOiA5MCwgbGVmdDogOTAgfQoJICoKCSAqIEBleGFtcGxlIHZhciBvZmZzZXQgPSB7fQoJICogJCgiI3Rlc3RkaXYiKS5vZmZzZXQoeyBzY3JvbGw6IGZhbHNlIH0sIG9mZnNldCkKCSAqIEByZXN1bHQgb2Zmc2V0ID0geyB0b3A6IDkwLCBsZWZ0OiA5MCB9CgkgKgoJICogQG5hbWUgb2Zmc2V0CgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG9mZnNldCBpcyBjYWxjdWxhdGVkLgoJICogQHBhcmFtIE9iamVjdCByZXR1cm5PYmplY3QgQW4gb2JqZWN0IHRvIHN0b3JlIHRoZSByZXR1cm4gdmFsdWUgaW4sIHNvIGFzIG5vdCB0byBicmVhayB0aGUgY2hhaW4uIElmIHBhc3NlZCBpbiB0aGUKCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluIHdpbGwgbm90IGJlIGJyb2tlbiBhbmQgdGhlIHJlc3VsdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoaXMgb2JqZWN0LgoJICogQHR5cGUgT2JqZWN0CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvZmZzZXQ6IGZ1bmN0aW9uKG9wdGlvbnMsIHJldHVybk9iamVjdCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQl2YXIgeCA9IDAsIHkgPSAwLCBzbCA9IDAsIHN0ID0gMCwKCQkgICAgZWxlbSA9IHRoaXNbMF0sIHBhcmVudCA9IHRoaXNbMF0sIG9wLCBwYXJQb3MsIGVsZW1Qb3MgPSAkLmNzcyhlbGVtLCAncG9zaXRpb24nKSwKCQkgICAgbW8gPSAkLmJyb3dzZXIubW96aWxsYSwgaWUgPSAkLmJyb3dzZXIubXNpZSwgb2EgPSAkLmJyb3dzZXIub3BlcmEsCgkJICAgIHNmID0gJC5icm93c2VyLnNhZmFyaSwgc2YzID0gJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjAsCgkJICAgIGFic3BhcmVudCA9IGZhbHNlLCByZWxwYXJlbnQgPSBmYWxzZSwgCgkJICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh7IG1hcmdpbjogdHJ1ZSwgYm9yZGVyOiBmYWxzZSwgcGFkZGluZzogZmFsc2UsIHNjcm9sbDogdHJ1ZSwgbGl0ZTogZmFsc2UsIHJlbGF0aXZlVG86IGRvY3VtZW50LmJvZHkgfSwgb3B0aW9ucyB8fCB7fSk7CgkJCgkJLy8gVXNlIG9mZnNldExpdGUgaWYgbGl0ZSBvcHRpb24gaXMgdHJ1ZQoJCWlmIChvcHRpb25zLmxpdGUpIHJldHVybiB0aGlzLm9mZnNldExpdGUob3B0aW9ucywgcmV0dXJuT2JqZWN0KTsKCQkvLyBHZXQgdGhlIEhUTUxFbGVtZW50IGlmIHJlbGF0aXZlVG8gaXMgYSBqcXVlcnkgY29sbGVjdGlvbgoJCWlmIChvcHRpb25zLnJlbGF0aXZlVG8uanF1ZXJ5KSBvcHRpb25zLnJlbGF0aXZlVG8gPSBvcHRpb25zLnJlbGF0aXZlVG9bMF07CgkJCgkJaWYgKGVsZW0udGFnTmFtZSA9PSAnQk9EWScpIHsKCQkJLy8gU2FmYXJpIDIgaXMgdGhlIG9ubHkgb25lIHRvIGdldCBvZmZzZXRMZWZ0IGFuZCBvZmZzZXRUb3AgcHJvcGVydGllcyBvZiB0aGUgYm9keSAiY29ycmVjdCIKCQkJLy8gRXhjZXB0IHRoZXkgYWxsIG1lc3MgdXAgd2hlbiB0aGUgYm9keSBpcyBwb3NpdGlvbmVkIGFic29sdXRlIG9yIHJlbGF0aXZlCgkJCXggPSBlbGVtLm9mZnNldExlZnQ7CgkJCXkgPSBlbGVtLm9mZnNldFRvcDsKCQkJLy8gTW96aWxsYSBpZ25vcmVzIG1hcmdpbiBhbmQgc3VidHJhY3RzIGJvcmRlciBmcm9tIGJvZHkgZWxlbWVudAoJCQlpZiAobW8pIHsKCQkJCXggKz0gbnVtKGVsZW0sICdtYXJnaW5MZWZ0JykgKyAobnVtKGVsZW0sICdib3JkZXJMZWZ0V2lkdGgnKSoyKTsKCQkJCXkgKz0gbnVtKGVsZW0sICdtYXJnaW5Ub3AnKSAgKyAobnVtKGVsZW0sICdib3JkZXJUb3BXaWR0aCcpICoyKTsKCQkJfSBlbHNlCgkJCS8vIE9wZXJhIGlnbm9yZXMgbWFyZ2luCgkJCWlmIChvYSkgewoJCQkJeCArPSBudW0oZWxlbSwgJ21hcmdpbkxlZnQnKTsKCQkJCXkgKz0gbnVtKGVsZW0sICdtYXJnaW5Ub3AnKTsKCQkJfSBlbHNlCgkJCS8vIElFIGRvZXMgbm90IGFkZCB0aGUgYm9yZGVyIGluIFN0YW5kYXJkcyBNb2RlCgkJCWlmICgoaWUgJiYgalF1ZXJ5LmJveE1vZGVsKSkgewoJCQkJeCArPSBudW0oZWxlbSwgJ2JvcmRlckxlZnRXaWR0aCcpOwoJCQkJeSArPSBudW0oZWxlbSwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCX0gZWxzZQoJCQkvLyBTYWZhcmkgMyBkb2Vzbid0IG5vdCBpbmNsdWRlIGJvcmRlciBvciBtYXJnaW4KCQkJaWYgKHNmMykgewoJCQkJeCArPSBudW0oZWxlbSwgJ21hcmdpbkxlZnQnKSArIG51bShlbGVtLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQl5ICs9IG51bShlbGVtLCAnbWFyZ2luVG9wJykgICsgbnVtKGVsZW0sICdib3JkZXJUb3BXaWR0aCcpOwoJCQl9CgkJfSBlbHNlIHsKCQkJZG8gewoJCQkJcGFyUG9zID0gJC5jc3MocGFyZW50LCAncG9zaXRpb24nKTsKCQkJCgkJCQl4ICs9IHBhcmVudC5vZmZzZXRMZWZ0OwoJCQkJeSArPSBwYXJlbnQub2Zmc2V0VG9wOwoKCQkJCS8vIE1vemlsbGEgYW5kIElFIGRvIG5vdCBhZGQgdGhlIGJvcmRlcgoJCQkJLy8gTW96aWxsYSBhZGRzIHRoZSBib3JkZXIgZm9yIHRhYmxlIGNlbGxzCgkJCQlpZiAoKG1vICYmICFwYXJlbnQudGFnTmFtZS5tYXRjaCgvXnRbZHxoXSQvaSkpIHx8IGllIHx8IHNmMykgewoJCQkJCS8vIGFkZCBib3JkZXJzIHRvIG9mZnNldAoJCQkJCXggKz0gbnVtKHBhcmVudCwgJ2JvcmRlckxlZnRXaWR0aCcpOwoJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgoJCQkJCS8vIE1vemlsbGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9uIGJvZHkgaWYgYW4gZWxlbWVudCBpc24ndCBwb3NpdGlvbmVkIGFic29sdXRlIGFuZCBpcyB3aXRob3V0IGFuIGFic29sdXRlIHBhcmVudAoJCQkJCWlmIChtbyAmJiBwYXJQb3MgPT0gJ2Fic29sdXRlJykgYWJzcGFyZW50ID0gdHJ1ZTsKCQkJCQkvLyBJRSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBib3JkZXIgb24gdGhlIGJvZHkgaWYgYW4gZWxlbWVudCBpcyBwb3NpdGlvbiBzdGF0aWMgYW5kIHdpdGhvdXQgYW4gYWJzb2x1dGUgb3IgcmVsYXRpdmUgcGFyZW50CgkJCQkJaWYgKGllICYmIHBhclBvcyA9PSAncmVsYXRpdmUnKSByZWxwYXJlbnQgPSB0cnVlOwoJCQkJfQoKCQkJCW9wID0gcGFyZW50Lm9mZnNldFBhcmVudCB8fCBkb2N1bWVudC5ib2R5OwoJCQkJaWYgKG9wdGlvbnMuc2Nyb2xsIHx8IG1vKSB7CgkJCQkJZG8gewoJCQkJCQlpZiAob3B0aW9ucy5zY3JvbGwpIHsKCQkJCQkJCS8vIGdldCBzY3JvbGwgb2Zmc2V0cwoJCQkJCQkJc2wgKz0gcGFyZW50LnNjcm9sbExlZnQ7CgkJCQkJCQlzdCArPSBwYXJlbnQuc2Nyb2xsVG9wOwoJCQkJCQl9CgkJCQkJCQoJCQkJCQkvLyBPcGVyYSBzb21ldGltZXMgaW5jb3JyZWN0bHkgcmVwb3J0cyBzY3JvbGwgb2Zmc2V0IGZvciBlbGVtZW50cyB3aXRoIGRpc3BsYXkgc2V0IHRvIHRhYmxlLXJvdyBvciBpbmxpbmUKCQkJCQkJaWYgKG9hICYmICgkLmNzcyhwYXJlbnQsICdkaXNwbGF5JykgfHwgJycpLm1hdGNoKC90YWJsZS1yb3d8aW5saW5lLykpIHsKCQkJCQkJCXNsID0gc2wgLSAoKHBhcmVudC5zY3JvbGxMZWZ0ID09IHBhcmVudC5vZmZzZXRMZWZ0KSA/IHBhcmVudC5zY3JvbGxMZWZ0IDogMCk7CgkJCQkJCQlzdCA9IHN0IC0gKChwYXJlbnQuc2Nyb2xsVG9wID09IHBhcmVudC5vZmZzZXRUb3ApID8gcGFyZW50LnNjcm9sbFRvcCA6IDApOwoJCQkJCQl9CgkJCQkKCQkJCQkJLy8gTW96aWxsYSBkb2VzIG5vdCBhZGQgdGhlIGJvcmRlciBmb3IgYSBwYXJlbnQgdGhhdCBoYXMgb3ZlcmZsb3cgc2V0IHRvIGFueXRoaW5nIGJ1dCB2aXNpYmxlCgkJCQkJCWlmIChtbyAmJiBwYXJlbnQgIT0gZWxlbSAmJiAkLmNzcyhwYXJlbnQsICdvdmVyZmxvdycpICE9ICd2aXNpYmxlJykgewoJCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCQl5ICs9IG51bShwYXJlbnQsICdib3JkZXJUb3BXaWR0aCcpOwoJCQkJCQl9CgkJCQkKCQkJCQkJcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGU7CgkJCQkJfSB3aGlsZSAocGFyZW50ICE9IG9wKTsKCQkJCX0KCQkJCXBhcmVudCA9IG9wOwoJCQkJCgkJCQkvLyBleGl0IHRoZSBsb29wIGlmIHdlIGFyZSBhdCB0aGUgcmVsYXRpdmVUbyBvcHRpb24gYnV0IG5vdCBpZiBpdCBpcyB0aGUgYm9keSBvciBodG1sIHRhZwoJCQkJaWYgKHBhcmVudCA9PSBvcHRpb25zLnJlbGF0aXZlVG8gJiYgIShwYXJlbnQudGFnTmFtZSA9PSAnQk9EWScgfHwgcGFyZW50LnRhZ05hbWUgPT0gJ0hUTUwnKSkgIHsKCQkJCQkvLyBNb3ppbGxhIGRvZXMgbm90IGFkZCB0aGUgYm9yZGVyIGZvciBhIHBhcmVudCB0aGF0IGhhcyBvdmVyZmxvdyBzZXQgdG8gYW55dGhpbmcgYnV0IHZpc2libGUKCQkJCQlpZiAobW8gJiYgcGFyZW50ICE9IGVsZW0gJiYgJC5jc3MocGFyZW50LCAnb3ZlcmZsb3cnKSAhPSAndmlzaWJsZScpIHsKCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCQkJfQoJCQkJCS8vIFNhZmFyaSAyIGFuZCBvcGVyYSBpbmNsdWRlcyBib3JkZXIgb24gcG9zaXRpb25lZCBwYXJlbnRzCgkJCQkJaWYgKCAoKHNmICYmICFzZjMpIHx8IG9hKSAmJiBwYXJQb3MgIT0gJ3N0YXRpYycgKSB7CgkJCQkJCXggLT0gbnVtKG9wLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgLT0gbnVtKG9wLCAnYm9yZGVyVG9wV2lkdGgnKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQlpZiAocGFyZW50LnRhZ05hbWUgPT0gJ0JPRFknIHx8IHBhcmVudC50YWdOYW1lID09ICdIVE1MJykgewoJCQkJCS8vIFNhZmFyaSAyIGFuZCBJRSBTdGFuZGFyZHMgTW9kZSBkb2Vzbid0IGFkZCB0aGUgYm9keSBtYXJnaW4gZm9yIGVsbWVudHMgcG9zaXRpb25lZCB3aXRoIHN0YXRpYyBvciByZWxhdGl2ZQoJCQkJCWlmICgoKHNmICYmICFzZjMpIHx8IChpZSAmJiAkLmJveE1vZGVsKSkgJiYgZWxlbVBvcyAhPSAnYWJzb2x1dGUnICYmIGVsZW1Qb3MgIT0gJ2ZpeGVkJykgewoJCQkJCQl4ICs9IG51bShwYXJlbnQsICdtYXJnaW5MZWZ0Jyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ21hcmdpblRvcCcpOwoJCQkJCX0KCQkJCQkvLyBTYWZhcmkgMyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBib3JkZXIgb24gYm9keQoJCQkJCS8vIE1vemlsbGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9uIGJvZHkgaWYgYW4gZWxlbWVudCBpc24ndCBwb3NpdGlvbmVkIGFic29sdXRlIGFuZCBpcyB3aXRob3V0IGFuIGFic29sdXRlIHBhcmVudAoJCQkJCS8vIElFIGRvZXMgbm90IGluY2x1ZGUgdGhlIGJvcmRlciBvbiB0aGUgYm9keSBpZiBhbiBlbGVtZW50IGlzIHBvc2l0aW9uZWQgc3RhdGljIGFuZCB3aXRob3V0IGFuIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhcmVudAoJCQkJCWlmICggc2YzIHx8IChtbyAmJiAhYWJzcGFyZW50ICYmIGVsZW1Qb3MgIT0gJ2ZpeGVkJykgfHwgCgkJCQkJICAgICAoaWUgJiYgZWxlbVBvcyA9PSAnc3RhdGljJyAmJiAhcmVscGFyZW50KSApIHsKCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCQkJfQoJCQkJCWJyZWFrOyAvLyBFeGl0IHRoZSBsb29wCgkJCQl9CgkJCX0gd2hpbGUgKHBhcmVudCk7CgkJfQoKCQl2YXIgcmV0dXJuVmFsdWUgPSBoYW5kbGVPZmZzZXRSZXR1cm4oZWxlbSwgb3B0aW9ucywgeCwgeSwgc2wsIHN0KTsKCgkJaWYgKHJldHVybk9iamVjdCkgeyAkLmV4dGVuZChyZXR1cm5PYmplY3QsIHJldHVyblZhbHVlKTsgcmV0dXJuIHRoaXM7IH0KCQllbHNlICAgICAgICAgICAgICB7IHJldHVybiByZXR1cm5WYWx1ZTsgfQoJfSwKCQoJLyoqCgkgKiBHZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudCBpbiBwaXhlbHMgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydC4KCSAqIFRoaXMgbWV0aG9kIGlzIG11Y2ggZmFzdGVyIHRoYW4gb2Zmc2V0IGJ1dCBub3QgYXMgYWNjdXJhdGUgd2hlbiBib3JkZXJzIGFuZCBtYXJnaW5zIGFyZQoJICogb24gdGhlIGVsZW1lbnQgYW5kL29yIGl0cyBwYXJlbnRzLiBUaGlzIG1ldGhvZCBjYW4gYmUgaW52b2tlZAoJICogYnkgc2V0dGluZyB0aGUgbGl0ZSBvcHRpb24gdG8gdHJ1ZSBpbiB0aGUgb2Zmc2V0IG1ldGhvZC4KCSAqIFRoZSBvZmZzZXRMaXRlIG1ldGhvZCB0YWtlcyBhbiBvcHRpb25hbCBtYXAgb2Yga2V5IHZhbHVlIHBhaXJzIHRvIGNvbmZpZ3VyZSB0aGUgd2F5CgkgKiB0aGUgb2Zmc2V0IGlzIGNhbGN1bGF0ZWQuIEhlcmUgYXJlIHRoZSBkaWZmZXJlbnQgb3B0aW9ucy4KCSAqCgkgKiAoQm9vbGVhbikgbWFyZ2luIC0gU2hvdWxkIHRoZSBtYXJnaW4gb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gVHJ1ZSBieSBkZWZhdWx0LgoJICogKEJvb2xlYW4pIGJvcmRlciAtIFNob3VsZCB0aGUgYm9yZGVyIG9mIHRoZSBlbGVtZW50IGJlIGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbnM/IEZhbHNlIGJ5IGRlZmF1bHQuIAoJICogKEJvb2xlYW4pIHBhZGRpbmcgLSBTaG91bGQgdGhlIHBhZGRpbmcgb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1YXRpb25zPyBGYWxzZSBieSBkZWZhdWx0LiAKCSAqIChCb29sZWFuKSBzY3JvbGwgLSBTb3VsZCB0aGUgc2Nyb2xsIG9mZnNldHMgb2YgdGhlIHBhcmVudCBlbGVtZW50cyBiZSBpbmNsdWRlZCBpbnQgaGUgY2FsY3VsYXRpb25zPyBUcnVlIGJ5IGRlZmF1bHQuCgkgKiAgICAgICAgICAgICAgICAgICAgV2hlbiB0cnVlIGl0IGFkZHMgdGhlIHRvdGFsIHNjcm9sbCBvZmZzZXRzIG9mIGFsbCBwYXJlbnRzIHRvIHRoZSB0b3RhbCBvZmZzZXQgYW5kIGFsc28gYWRkcyB0d28KCSAqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzIHRvIHRoZSByZXR1cm5lZCBvYmplY3QsIHNjcm9sbFRvcCBhbmQgc2Nyb2xsTGVmdC4KCSAqIChIVE1MIEVsZW1lbnQpIHJlbGF0aXZlVG8gLSBUaGlzIHNob3VsZCBiZSBhIHBhcmVudCBvZiB0aGUgZWxlbWVudCBhbmQgc2hvdWxkIGhhdmUgcG9zaXRpb24gKGxpa2UgYWJzb2x1dGUgb3IgcmVsYXRpdmUpLgoJICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdpbGwgcmV0cmVpdmUgdGhlIG9mZnNldCByZWxhdGl2ZSB0byB0aGlzIHBhcmVudCBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IGlzIHRoZSBib2R5IGVsZW1lbnQuCgkgKgoJICogQG5hbWUgb2Zmc2V0TGl0ZQoJICogQHBhcmFtIE1hcCBvcHRpb25zIE9wdGlvbmFsIHNldHRpbmdzIHRvIGNvbmZpZ3VyZSB0aGUgd2F5IHRoZSBvZmZzZXQgaXMgY2FsY3VsYXRlZC4KCSAqIEBwYXJhbSBPYmplY3QgcmV0dXJuT2JqZWN0IEFuIG9iamVjdCB0byBzdG9yZSB0aGUgcmV0dXJuIHZhbHVlIGluLCBzbyBhcyBub3QgdG8gYnJlYWsgdGhlIGNoYWluLiBJZiBwYXNzZWQgaW4gdGhlCgkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFpbiB3aWxsIG5vdCBiZSBicm9rZW4gYW5kIHRoZSByZXN1bHQgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGlzIG9iamVjdC4KCSAqIEB0eXBlIE9iamVjdAoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJb2Zmc2V0TGl0ZTogZnVuY3Rpb24ob3B0aW9ucywgcmV0dXJuT2JqZWN0KSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXZhciB4ID0gMCwgeSA9IDAsIHNsID0gMCwgc3QgPSAwLCBwYXJlbnQgPSB0aGlzWzBdLCBvZmZzZXRQYXJlbnQsIAoJCSAgICBvcHRpb25zID0gJC5leHRlbmQoeyBtYXJnaW46IHRydWUsIGJvcmRlcjogZmFsc2UsIHBhZGRpbmc6IGZhbHNlLCBzY3JvbGw6IHRydWUsIHJlbGF0aXZlVG86IGRvY3VtZW50LmJvZHkgfSwgb3B0aW9ucyB8fCB7fSk7CgkJCQkKCQkvLyBHZXQgdGhlIEhUTUxFbGVtZW50IGlmIHJlbGF0aXZlVG8gaXMgYSBqcXVlcnkgY29sbGVjdGlvbgoJCWlmIChvcHRpb25zLnJlbGF0aXZlVG8uanF1ZXJ5KSBvcHRpb25zLnJlbGF0aXZlVG8gPSBvcHRpb25zLnJlbGF0aXZlVG9bMF07CgkJCgkJZG8gewoJCQl4ICs9IHBhcmVudC5vZmZzZXRMZWZ0OwoJCQl5ICs9IHBhcmVudC5vZmZzZXRUb3A7CgoJCQlvZmZzZXRQYXJlbnQgPSBwYXJlbnQub2Zmc2V0UGFyZW50IHx8IGRvY3VtZW50LmJvZHk7CgkJCWlmIChvcHRpb25zLnNjcm9sbCkgewoJCQkJLy8gZ2V0IHNjcm9sbCBvZmZzZXRzCgkJCQlkbyB7CgkJCQkJc2wgKz0gcGFyZW50LnNjcm9sbExlZnQ7CgkJCQkJc3QgKz0gcGFyZW50LnNjcm9sbFRvcDsKCQkJCQlwYXJlbnQgPSBwYXJlbnQucGFyZW50Tm9kZTsKCQkJCX0gd2hpbGUocGFyZW50ICE9IG9mZnNldFBhcmVudCk7CgkJCX0KCQkJcGFyZW50ID0gb2Zmc2V0UGFyZW50OwoJCX0gd2hpbGUgKHBhcmVudCAmJiBwYXJlbnQudGFnTmFtZSAhPSAnQk9EWScgJiYgcGFyZW50LnRhZ05hbWUgIT0gJ0hUTUwnICYmIHBhcmVudCAhPSBvcHRpb25zLnJlbGF0aXZlVG8pOwoKCQl2YXIgcmV0dXJuVmFsdWUgPSBoYW5kbGVPZmZzZXRSZXR1cm4odGhpc1swXSwgb3B0aW9ucywgeCwgeSwgc2wsIHN0KTsKCgkJaWYgKHJldHVybk9iamVjdCkgeyAkLmV4dGVuZChyZXR1cm5PYmplY3QsIHJldHVyblZhbHVlKTsgcmV0dXJuIHRoaXM7IH0KCQllbHNlICAgICAgICAgICAgICB7IHJldHVybiByZXR1cm5WYWx1ZTsgfQoJfSwKCQoJLyoqCgkgKiBSZXR1cm5zIGEgalF1ZXJ5IGNvbGxlY3Rpb24gd2l0aCB0aGUgcG9zaXRpb25lZCBwYXJlbnQgb2YgCgkgKiB0aGUgZmlyc3QgbWF0Y2hlZCBlbGVtZW50LiBUaGlzIGlzIHRoZSBmaXJzdCBwYXJlbnQgb2YgCgkgKiB0aGUgZWxlbWVudCB0aGF0IGhhcyBwb3NpdGlvbiAoYXMgaW4gcmVsYXRpdmUgb3IgYWJzb2x1dGUpLgoJICoKCSAqIEBuYW1lIG9mZnNldFBhcmVudAoJICogQHR5cGUgalF1ZXJ5CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQl2YXIgb2Zmc2V0UGFyZW50ID0gdGhpc1swXS5vZmZzZXRQYXJlbnQ7CgkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYgKG9mZnNldFBhcmVudC50YWdOYW1lICE9ICdCT0RZJyAmJiAkLmNzcyhvZmZzZXRQYXJlbnQsICdwb3NpdGlvbicpID09ICdzdGF0aWMnKSApCgkJCW9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5vZmZzZXRQYXJlbnQ7CgkJcmV0dXJuICQob2Zmc2V0UGFyZW50KTsKCX0KfSk7CgovKioKICogVGhyb3dzIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBlbGVtZW50cyBhcmUgaW4gdGhlIGpRdWVyeSBjb2xsZWN0aW9uCiAqIEBwcml2YXRlCiAqLwp2YXIgZXJyb3IgPSBmdW5jdGlvbigpIHsKCXRocm93ICJEaW1lbnNpb25zOiBqUXVlcnkgY29sbGVjdGlvbiBpcyBlbXB0eSI7Cn07CgovKioKICogSGFuZGxlcyBjb252ZXJ0aW5nIGEgQ1NTIFN0eWxlIGludG8gYW4gSW50ZWdlci4KICogQHByaXZhdGUKICovCnZhciBudW0gPSBmdW5jdGlvbihlbCwgcHJvcCkgewoJcmV0dXJuIHBhcnNlSW50KCQuY3NzKGVsLmpxdWVyeT9lbFswXTplbCxwcm9wKSl8fDA7Cn07CgovKioKICogSGFuZGxlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBvZmZzZXQgYW5kIG9mZnNldExpdGUgbWV0aG9kcy4KICogQHByaXZhdGUKICovCnZhciBoYW5kbGVPZmZzZXRSZXR1cm4gPSBmdW5jdGlvbihlbGVtLCBvcHRpb25zLCB4LCB5LCBzbCwgc3QpIHsKCWlmICggIW9wdGlvbnMubWFyZ2luICkgewoJCXggLT0gbnVtKGVsZW0sICdtYXJnaW5MZWZ0Jyk7CgkJeSAtPSBudW0oZWxlbSwgJ21hcmdpblRvcCcpOwoJfQoKCS8vIFNhZmFyaSBhbmQgT3BlcmEgZG8gbm90IGFkZCB0aGUgYm9yZGVyIGZvciB0aGUgZWxlbWVudAoJaWYgKCBvcHRpb25zLmJvcmRlciAmJiAoKCQuYnJvd3Nlci5zYWZhcmkgJiYgcGFyc2VJbnQoJC5icm93c2VyLnZlcnNpb24pIDwgNTIwKSB8fCAkLmJyb3dzZXIub3BlcmEpICkgewoJCXggKz0gbnVtKGVsZW0sICdib3JkZXJMZWZ0V2lkdGgnKTsKCQl5ICs9IG51bShlbGVtLCAnYm9yZGVyVG9wV2lkdGgnKTsKCX0gZWxzZSBpZiAoICFvcHRpb25zLmJvcmRlciAmJiAhKCgkLmJyb3dzZXIuc2FmYXJpICYmIHBhcnNlSW50KCQuYnJvd3Nlci52ZXJzaW9uKSA8IDUyMCkgfHwgJC5icm93c2VyLm9wZXJhKSApIHsKCQl4IC09IG51bShlbGVtLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJeSAtPSBudW0oZWxlbSwgJ2JvcmRlclRvcFdpZHRoJyk7Cgl9CgoJaWYgKCBvcHRpb25zLnBhZGRpbmcgKSB7CgkJeCArPSBudW0oZWxlbSwgJ3BhZGRpbmdMZWZ0Jyk7CgkJeSArPSBudW0oZWxlbSwgJ3BhZGRpbmdUb3AnKTsKCX0KCQoJLy8gZG8gbm90IGluY2x1ZGUgc2Nyb2xsIG9mZnNldCBvbiB0aGUgZWxlbWVudCAuLi4gb3BlcmEgc29tZXRpbWVzIHJlcG9ydHMgc2Nyb2xsIG9mZnNldCBhcyBhY3R1YWwgb2Zmc2V0CglpZiAoIG9wdGlvbnMuc2Nyb2xsICYmICghJC5icm93c2VyLm9wZXJhIHx8IGVsZW0ub2Zmc2V0TGVmdCAhPSBlbGVtLnNjcm9sbExlZnQgJiYgZWxlbS5vZmZzZXRUb3AgIT0gZWxlbS5zY3JvbGxMZWZ0KSApIHsKCQlzbCAtPSBlbGVtLnNjcm9sbExlZnQ7CgkJc3QgLT0gZWxlbS5zY3JvbGxUb3A7Cgl9CgoJcmV0dXJuIG9wdGlvbnMuc2Nyb2xsID8geyB0b3A6IHkgLSBzdCwgbGVmdDogeCAtIHNsLCBzY3JvbGxUb3A6ICBzdCwgc2Nyb2xsTGVmdDogc2wgfQoJICAgICAgICAgICAgICAgICAgICAgIDogeyB0b3A6IHksIGxlZnQ6IHggfTsKfTsKCi8qKgogKiBHZXRzIHRoZSB3aWR0aCBvZiB0aGUgT1Mgc2Nyb2xsYmFyCiAqIEBwcml2YXRlCiAqLwp2YXIgc2Nyb2xsYmFyV2lkdGggPSAwOwp2YXIgZ2V0U2Nyb2xsYmFyV2lkdGggPSBmdW5jdGlvbigpIHsKCWlmICghc2Nyb2xsYmFyV2lkdGgpIHsKCQl2YXIgdGVzdEVsID0gJCgnPGRpdj4nKQoJCQkJLmNzcyh7CgkJCQkJd2lkdGg6IDEwMCwKCQkJCQloZWlnaHQ6IDEwMCwKCQkJCQlvdmVyZmxvdzogJ2F1dG8nLAoJCQkJCXBvc2l0aW9uOiAnYWJzb2x1dGUnLAoJCQkJCXRvcDogLTEwMDAsCgkJCQkJbGVmdDogLTEwMDAKCQkJCX0pCgkJCQkuYXBwZW5kVG8oJ2JvZHknKTsKCQlzY3JvbGxiYXJXaWR0aCA9IDEwMCAtIHRlc3RFbAoJCQkuYXBwZW5kKCc8ZGl2PicpCgkJCS5maW5kKCdkaXYnKQoJCQkJLmNzcyh7CgkJCQkJd2lkdGg6ICcxMDAlJywKCQkJCQloZWlnaHQ6IDIwMAoJCQkJfSkKCQkJCS53aWR0aCgpOwoJCXRlc3RFbC5yZW1vdmUoKTsKCX0KCXJldHVybiBzY3JvbGxiYXJXaWR0aDsKfTsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.easing.1.3.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmpRdWVyeS5lYXNpbmdbJ2pzd2luZyddID0galF1ZXJ5LmVhc2luZ1snc3dpbmcnXTsKCmpRdWVyeS5leHRlbmQoIGpRdWVyeS5lYXNpbmcsCnsKCWRlZjogJ2Vhc2VPdXRRdWFkJywKCXN3aW5nOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCS8vYWxlcnQoalF1ZXJ5LmVhc2luZy5kZWZhdWx0KTsKCQlyZXR1cm4galF1ZXJ5LmVhc2luZ1tqUXVlcnkuZWFzaW5nLmRlZl0oeCwgdCwgYiwgYywgZCk7Cgl9LAoJZWFzZUluUXVhZDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyoodC89ZCkqdCArIGI7Cgl9LAoJZWFzZU91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICoodC89ZCkqKHQtMikgKyBiOwoJfSwKCWVhc2VJbk91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQgKyBiOwoJCXJldHVybiAtYy8yICogKCgtLXQpKih0LTIpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkN1YmljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQgKyBiOwoJfSwKCWVhc2VPdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yKnQqdCp0ICsgYjsKCQlyZXR1cm4gYy8yKigodC09MikqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQqdCArIGI7Cgl9LAoJZWFzZU91dFF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqICgodD10L2QtMSkqdCp0KnQgLSAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVhcnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0ICsgYjsKCQlyZXR1cm4gLWMvMiAqICgodC09MikqdCp0KnQgLSAyKSArIGI7Cgl9LAoJZWFzZUluUXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMqKHQvPWQpKnQqdCp0KnQgKyBiOwoJfSwKCWVhc2VPdXRRdWludDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCp0KnQgKyAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0KnQgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KnQqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICogTWF0aC5jb3ModC9kICogKE1hdGguUEkvMikpICsgYyArIGI7Cgl9LAoJZWFzZU91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgKiBNYXRoLnNpbih0L2QgKiAoTWF0aC5QSS8yKSkgKyBiOwoJfSwKCWVhc2VJbk91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jLzIgKiAoTWF0aC5jb3MoTWF0aC5QSSp0L2QpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkV4cG86IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuICh0PT0wKSA/IGIgOiBjICogTWF0aC5wb3coMiwgMTAgKiAodC9kIC0gMSkpICsgYjsKCX0sCgllYXNlT3V0RXhwbzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gKHQ9PWQpID8gYitjIDogYyAqICgtTWF0aC5wb3coMiwgLTEwICogdC9kKSArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRFeHBvOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0PT0wKSByZXR1cm4gYjsKCQlpZiAodD09ZCkgcmV0dXJuIGIrYzsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yICogTWF0aC5wb3coMiwgMTAgKiAodCAtIDEpKSArIGI7CgkJcmV0dXJuIGMvMiAqICgtTWF0aC5wb3coMiwgLTEwICogLS10KSArIDIpICsgYjsKCX0sCgllYXNlSW5DaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqIChNYXRoLnNxcnQoMSAtICh0Lz1kKSp0KSAtIDEpICsgYjsKCX0sCgllYXNlT3V0Q2lyYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyAqIE1hdGguc3FydCgxIC0gKHQ9dC9kLTEpKnQpICsgYjsKCX0sCgllYXNlSW5PdXRDaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICgodC89ZC8yKSA8IDEpIHJldHVybiAtYy8yICogKE1hdGguc3FydCgxIC0gdCp0KSAtIDEpICsgYjsKCQlyZXR1cm4gYy8yICogKE1hdGguc3FydCgxIC0gKHQtPTIpKnQpICsgMSkgKyBiOwoJfSwKCWVhc2VJbkVsYXN0aWM6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJdmFyIHM9MS43MDE1ODt2YXIgcD0wO3ZhciBhPWM7CgkJaWYgKHQ9PTApIHJldHVybiBiOyAgaWYgKCh0Lz1kKT09MSkgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKi4zOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlyZXR1cm4gLShhKk1hdGgucG93KDIsMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSkgKyBiOwoJfSwKCWVhc2VPdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZCk9PTEpIHJldHVybiBiK2M7ICBpZiAoIXApIHA9ZCouMzsKCQlpZiAoYSA8IE1hdGguYWJzKGMpKSB7IGE9YzsgdmFyIHM9cC80OyB9CgkJZWxzZSB2YXIgcyA9IHAvKDIqTWF0aC5QSSkgKiBNYXRoLmFzaW4gKGMvYSk7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqdCkgKiBNYXRoLnNpbiggKHQqZC1zKSooMipNYXRoLlBJKS9wICkgKyBjICsgYjsKCX0sCgllYXNlSW5PdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZC8yKT09MikgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKiguMyoxLjUpOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlpZiAodCA8IDEpIHJldHVybiAtLjUqKGEqTWF0aC5wb3coMiwxMCoodC09MSkpICogTWF0aC5zaW4oICh0KmQtcykqKDIqTWF0aC5QSSkvcCApKSArIGI7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSouNSArIGMgKyBiOwoJfSwKCWVhc2VJbkJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsKCQlyZXR1cm4gYyoodC89ZCkqdCooKHMrMSkqdCAtIHMpICsgYjsKCX0sCgllYXNlT3V0QmFjazogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQsIHMpIHsKCQlpZiAocyA9PSB1bmRlZmluZWQpIHMgPSAxLjcwMTU4OwoJCXJldHVybiBjKigodD10L2QtMSkqdCooKHMrMSkqdCArIHMpICsgMSkgKyBiOwoJfSwKCWVhc2VJbk91dEJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsgCgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMioodCp0KigoKHMqPSgxLjUyNSkpKzEpKnQgLSBzKSkgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KigoKHMqPSgxLjUyNSkpKzEpKnQgKyBzKSArIDIpICsgYjsKCX0sCgllYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgLSBqUXVlcnkuZWFzaW5nLmVhc2VPdXRCb3VuY2UgKHgsIGQtdCwgMCwgYywgZCkgKyBiOwoJfSwKCWVhc2VPdXRCb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kKSA8ICgxLzIuNzUpKSB7CgkJCXJldHVybiBjKig3LjU2MjUqdCp0KSArIGI7CgkJfSBlbHNlIGlmICh0IDwgKDIvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDEuNS8yLjc1KSkqdCArIC43NSkgKyBiOwoJCX0gZWxzZSBpZiAodCA8ICgyLjUvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDIuMjUvMi43NSkpKnQgKyAuOTM3NSkgKyBiOwoJCX0gZWxzZSB7CgkJCXJldHVybiBjKig3LjU2MjUqKHQtPSgyLjYyNS8yLjc1KSkqdCArIC45ODQzNzUpICsgYjsKCQl9Cgl9LAoJZWFzZUluT3V0Qm91bmNlOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0IDwgZC8yKSByZXR1cm4galF1ZXJ5LmVhc2luZy5lYXNlSW5Cb3VuY2UgKHgsIHQqMiwgMCwgYywgZCkgKiAuNSArIGI7CgkJcmV0dXJuIGpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZSAoeCwgdCoyLWQsIDAsIGMsIGQpICogLjUgKyBjKi41ICsgYjsKCX0KfSk7CgovKgogKgogKiBURVJNUyBPRiBVU0UgLSBFQVNJTkcgRVFVQVRJT05TCiAqIAogKiBPcGVuIHNvdXJjZSB1bmRlciB0aGUgQlNEIExpY2Vuc2UuIAogKiAKICogQ29weXJpZ2h0IMKpIDIwMDEgUm9iZXJ0IFBlbm5lcgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKICov]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox-x.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABICAYAAAA3Qp8tAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG1JREFUeNq0jzEOgDAMA90WChMDUsXKp3kcTwFRQp0hUR9AhpPtJo0CEQG2UkIEIMRAqAUR+0xVNpt7eLNPjES171U9ptzexGXZa5nbYM2KpA/QE1pNtAutLtI67Y5/0G87UsNOrMRMgKifAAMA8xojdBZ1K0cAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox-y.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNpMjF0OgCAMg4eAegLC/U9HOIEJutnGPtjkS/fTLUWEUb21BMuAvtmnojqLQ875qR2putsBH97AwQKPWD+YuZRx9a471jHmZG+vAAMAMUgY/0A1OZkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_close.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_closebox.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_loading.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAHgCAYAAADXMi8AAAAnmklEQVR42u3dB3RlZdU38LH33nvH3nvvBRt2RcVeEVREUWyABcGuCBYUFVlWQF9FrEsFBCa5SWaSaZmSTMn0xjCDiC98a337d9bz5DtzCXNPknPv5FueWeusJGducvbZz95P+f93mTdv738HxHVUXL+I6/y4zuvRdX565lFJhin/vSKui+Iai2tRXMM9vhalZ1+UZNnr3yFxTcS1JK5WXAP76WolGcjyxizcg0tvsD+FKwtJloVxPYiAR8e1ao4IVxaSTB8j4Nlxjcwh4fJFpl/NS140XMMf7I+rr2YB/zovufhsBWzd7W53G370ox+95FrXulZdAg4n2WakwVbJZn3t/+53v7t5fHz88kc+8pGLa7Ln4STbtARs3fCGNxw69thj18c1cb3rXa8Y2hvd6EZDZ5999vYNGzZc8aIXvWh5FvDmN7/50D3ucY/hm9zkJkO9ErD/jne840LCtFqtS5///OcTZv5Nb3rToR/96EdbRkZGLnvuc5876nPXuc51Bu91r3sNP+hBD1p0m9vcZkG3BSwPad9b3vKWsfPOO++S733ve5tDe4PXv/71Bwk4PDy8Jwt4u9vdbsEDHvCARfe85z2H/X9XBYxhHbzVrW41lLy0FUO34OSTT958/vnn73rd615nvur71a9+VQzxgQceuDwcpXXf+9535P73v/+iW9ziFpPai/uDYRaDtQv4gQ98YE0ItJF9pQfMf9rTnrbsggsu2HXWWWdtjyEc+uhHPzpB4BjSxWzP0N75znee/LvskD0ecMABi2i9TgFbRxxxxJozzzxz209+8pMtn/rUpyYe+tCHLjKdfPjDH15z4oknbgjtLuAoBAjbG2Bz9773vYdvfOMbD133utcdDLtdENocechDHrLogQ984KKKTlNdg/EHB1/wgheMHn/88evPOOOMrT/96U+3vf71r191gxvcYJAQae5rpcl6IIQaIOjNbnazodBYIVjY40jMlQt9vu4hzg5SGD6b+/73v7+ZVkuCTfl7t771rRfQGEchbOnv1SZgK2vk2te+9uTPd73rXYc9vNNDaNFwlr3YS1VcbToK2DLnveMd7xg/7LDDVr/tbW8bf+tb3zp26KGHrn7mM5+5zP/z1k4PuuUtb7ngPve5z0jYZHHxbo5SYW7s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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_nav_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFbUlEQVRIx61Xa0ibVxjWxJjGS+NtscZr1szaNTgvc5W2SlHQNrA5HSLtaqtVxAlOGKgDwQlObL20irTFMav7N4RN7PbHHzp0c2Jb1tatIKKooENWFWrMxZjYPW94P9GYmLTbgYfknPOe9znnvZ3zeXgc3jwBEeH8+fNeycnJklOnTnmr1Wppa2ur7507d/yoT6A5khHkee1rN1okBiTAkRMnTviXl5crbt++HdPc3KyurKw8fuvWrfe7u7tPp6SkRBYXF0c2NDRE4PctND9aw2vFr7MBEqSdS0lJVlaWorOzUzMyMqJ98eLFTbPZPPHKrm1vbz9ZX1//Znh4+MO8vLzoiIiIIN6AlHW5JBexoCwmJiYgPz8/qqen55xOp/vBnmxlZcW6sLBgtR9/+fLl97CQKjExURkYGCgnXaxT5OqkPrTjK1euqAcHBz+yWq0LpBAn3YFpzbCAATK6vYC59e3t7Waj0bjDsk9x+kvwe5RcLg8knc5OLpDKjh49GpSdna3u7+/PhY4tUjQ0NGSJjo7etCe0R1xcnP7x48cW4fRY9ynGYphc5ohczP6Qx8fHq1paWi5YLJZFWtzb22sWi8U6V6QCSLapqWlLIL93716uUqmMJN3MsRtwnhyBfiEhIcqKiopzCJSfhZO6IoUfHVri7t27ZtKB+Pgd/XeBY8TBXCIhoI6QidPT00/29fUV0wK9Xm+FrzddkU5NTVkbGxu37Oe8vb11y8vL26RrdHT0K+h6B+NBnGpigdjXx8dHiSg+Nz8//x0Jd3V1mQ8jTUpK0i8uLtqCiX4dyZSVlZlofnV19Rf044EwPrWX4F/4X/62Vqu9YDAYnpJwamqq4TBSpM0Op88O9R3JBQcHbyJWbL4OCAhIx5gKCAC8PZg9ODQ0VJOTk3OZhDY2NqzukJKZnflYwLNnz2yBVltbW+nv7x+HsRA2t4fEz89PgXqbUlpa+jkJzczMWP4PUsKDBw+2OLpv+vr6voexUE4tDwn8G6bRaM6g1taQ0PPnzx0SCz6llpGRYXAnvQYGBmzEuFA60E8ClBRTHhzeSoVCcSYtLa2ShNbW1iz/xbd7MTk5aST56urqRplM9gHGwvcRSySS0yqVqgTl7h8SdJZKQgq5Q041ADK2lEJh+gwcB4jDMJgCP1+bm5sbI8GqqiqTq/x1RU51nS+UP9G/BCTbm1oB4oTY2NgC3LPfsvA2fK9zh9xZHo+Njelp/ic09POAfcFlSyfgpFQq1cLENag4T2gBXhlb7lSukpKSA9YpKioycsn8G/lci7ELxLE3ncRcwFVeXl5pQUFBJUirbiF6SYG7F4SAs2fPGvA4sHI0D2CsGEizLyAitjmVswQERC6KyZco8ruXf319/Za7pIWFhUaTyWQjHR8ff4ixGiCHdNuXTBEfnQq4GkgH+TWY8WvU60GBfHp62lRQUGB05ncKpImJCYMgD9I/MN4IXCWdrHvfJbF7LfLVpQGyQV6G+n0Dj7zBpaWlGUEhnYbKIJ5EJsKjR49MQspwDVhua2ujS+EGUEa6WOeBa3HfQwCgSzsR0BI5Tki7vt/R0fHb7Ozs9CsnDZE9h0fDQ2RHL5+USLWsy+FDYN/TB6BnShT7JJtNVYOq00YbgBV+zMzM/LWuru4vAm608fDw8EGaA9rYp1d5bQLrcvr02ffYY8FINhFF48fAdeALoB7R3wy04n8r/ReJRPU8d51l03htJOvycfXMFe05uZz9cpx3TsouAp8Al4FCxmUeu8gyCbzmGOtw+by1/4qQcpoFspJoIJZPksA3TRL/1/BcNMsG8lrpm3xNeO6xgISVyNhsvnbw4Tkpy3rt+X56o28oR5txBbfavx4m6rAPnooRAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_nav_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFdUlEQVRIx6VXbUibVxS2iTGN0cZEF2v8zJqpncH5MVepVUoLagObq6NInba1LeIEJ0zUQcEVXLH1u4iKo53u3xA2sduf/tBRNyf9YK1ugoiiQh0yq1A1H8ak3XPCeUXTxKTtCw/Jve+5z3Pvueece18fn72ffYCIcPz4cd/U1FRJQkKCn06nkzY1Nck7OzsDqE2gd2Qj2PPY135okBiQAPvj4uICy8rK1G1tbTENDQ26ioqKQ62trR/29PQcSUtLiywpKYm8evVqBH7fwRNAY3is+HUmQIY0cymRZGdnq2/evKkfHh42LC8v37BarWMvnZ6tra3Hq6ur3w0NDX2cn58fHRERoeIJSJnLo7iIDWUxMTFBZ86cibp9+/ax9fX1n5zFlpaW7PPz83bn/ufPn/8ID2mTk5M1SqVSQVzMKfK0Un+acVFRkW5wcPATu90+T4RY6Qu41goPmGCzvhNwt7GlpcVqNptfsO0TrP4s9j1KoVAoidPdygVR2YEDB1Q5OTm6/v7+0+DYJKK7d+/aoqOjN5wFnREfH2989OiRTVg9xn2OvhgWl7kSF/N+KBITE7WNjY25NpttgQb39vZaxWLxuidRAWR77dq1TUG8u7v7tEajiSRu1tgOuH0cgQEhISGa8vLyYwiUX4WVuhLF3m0Q9ppAV1eXlTgQH3+i/T5wkDRYSyQE1H5ycVZW1uG+vr4SGmA0Gu3Ya5fk9fX1mxMTE/a9xP38/NYXFxe3iOvevXvfgOs99Ks41cSCsNzf31+DKD42Nzf3Axl3dHRY3ZEich1B5Em8tLTUQnbPnj37De1EIIxX7SvsL/Zf8a7BYMg1mUxPyDg9Pd3kjjAlJcUoiNMvtV3ZBQcHbyBWHHsdFBSUhT4tEAT4+bB6cGhoqD4vL6+QjNbW1uyegshb8fHxcUeg1dbWVgQGBsajL4Td7SMJCAhQo96mXb58+Usymp6etnkTwVqt1kju3kv8zp07mxzdN+Ry+QfoC+XU8pFgf8P0ev1R1NoaMpqcnLR5mz4nTpwwCamzsLDwwvn9wMCAQxgHSjvaKYCGYsqHw1ujVquPZmZmVpDRysqKV8I73U0rJw8429y/f99M76urq+tlMtlH6AvfJSyRSI5g4CWUu//I0F0quRN1Fd1UA2DjSCkUpi+g8YpwGDrTsM/nZ2dnR8iwsrLS8jaiBKrrfKD8jfZZINXZ1WoIJ8XGxhbgnL3FxlvY+7fK45GRESPZ/YIH7XxgV3A50gk4LJVKDXBxDSrOYxqAW8amK8KqqioLuLb2Er1w4YKZS+a/yOda9OWSxs50EnMB1/r6+maqVKpLSKseIVKJwNsIF5CRkWHC5cDO0TyAvhIg07mAiNjnVM6SEBCnUUy+RpHfPvzr6uo2vRUtLi42WywWh+jo6OgD9NUAecTtXDJFvHQq4DogC+Ln4cZvUa8HBfGpqSlLQUGB2d2+UyCNjY1t5zRE/0J/PXCOOJl71yGxfSzy0aUHciBeivp9HZe8wadPn04LhLQaKoO4ElkIDx8+tAgpwzVgsbm5mQ6F60ApcTHnK8firosAQId2MmAgcayQZv19e3v7HzMzM1Mv3TyoWrO4NDxAdvTySknUwFwuLwK7rj4AXVOieE9y2FU1qDrNNAF44eeTJ0/+fuXKlX8IONFGw8PDB+kd0Mx7eo7HJjGX26vPrsseG0ayiygaPwUuAl8BdYj+BqAJ/5vov0gkquN3F9k2k8dGMpe/p2uuaMfKFbwvh3jmRHYK+AwoBIoZhdx3im2SeMxB5vB4vXX+ipBymimZJBqI5ZUk8UmTwv/1/C6abZU8VvomXxP7dnhAwiQydpvcCf78Tsq2vju+n97oG8rVZDzBq+d/BnPq5aM0EKUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_progress.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_e.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAAMklEQVQI12MUFxW1YGBg+APE/4D4NxD/heLfSPg/EP+AqvkH5f+D6gOx/7949QrEZwAA7SMU/wl/9ugAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_n.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAMUlEQVQI11XLwQkAIBTD0GdRNxD3n/R7U7wUElJVxV6rBRX0oAWC/K4H8+L858XvMQ6htwScSSgzAAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_ne.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIklEQVQ4y62Ua47DMAiEB5wcoer9b7fqGYLZP6b6FrlVK20kK37gYWDAlpn6z8/ut5tLmrszSV95+3k8VGAmyde+A8y+ZehgMwFWZwmbzn77HWvQKBZIpWHCQc3zHUNv+RprPdZwgPgnIRuA1PKZG8dqf9sxHACiUHQaYEnBcgfYWTBsQbBXghhFMUnnupQYJVABz1ZiCaZJwBMXGUYZXS3M8cL+CThwcCFfFWaxH+siw49dHQ54PRo7pmCu80pNtOaYLOxAzbFUGNqEyix+dlhWDh0soq2FeTZR1Lrpieyb7hiw6bmOjSBGlecShGUQAL3QTdFKxbj21i1VlwcAEvsV9mgsRcBiebaH9YCzAjlbzwec/MmPwMxafxvAd08a21e/OepnxlCGJoQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_nw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABC0lEQVQ4y62UAQqDMAxFmzT1CLL731O7Kf3yCHXIWKHUlubn/US13nv557BD8LWuP8V+Zh+r9vtTQQVzn8/O8yeCCvSDYKx9zDruaH9r2XDRcH6IbRC1dL88JbR01pFApKeTLGgpQKMOuyR1NYKk3whpS7WjeAXdNlZ/YjlGgBwEHASSnfWloN10tqdaVtgUpZJ4FmSwOhqwHUhE61eSmWXHRYoykaGex2iKpWB+t3rqaEVjHOIOwYuQNStYeRagIlkFxLSG2VYBXcWzyJyi2XKZiKoRDfSB1Uiam1LT96lXIpCkTcQE0+4sGwJYN80F1gMgPiPcYbdNukmhwH65+9tE+tdFsh1pNgAsb+/rdlTpwE+hAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_s.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAANklEQVQI10XKwQ2AMBDEwGGpIaIT+m8LFHL8Lj/bsmuMO6jgC2bT1jd4uq1uW4+eZ3AGS1X5AXa8E2Tq43WHAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_se.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABJ0lEQVQ4y41UUW5DMQgzvF6h2jl6/wtNvcHaBPYDnefypEaKoiTYsQHFvq7XG4Bd8wEgAfzUftXs+wTwrDUBBACrO3zf7/AiedahEZABCcDxN7ym0R4AcBGCRfsQYtCjep99roS7AjepW0TG5DqyFbayJDCTJ1kOUgNZowkXEaFyGoPNTY+ZxBjncFH1OlBtLlHXq5GDF+GDwKA87YFALacm8kIEcVK5ILDemTyKS1kFAZcELyqIk5Ox2k14SGArPUil2jQ6CyY0Sb5JhXcR99lBpDEp5H7joCgwpPldFP8bLj0YZMWpB0MsmlT7TSEre5Jap1xuwtnUMk0IUmmULxMSl7YaSX1IrIKmcarQh4AYfhWTfZ489PoocwAx8JTgTXrmx7EfjV9rMblEHBbT2AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_sw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABG0lEQVQ4y62TUW4DIQxEn2E3uUHU+99zcX/saDolaSs1EvKKwGOYMZGZfDweAAOIGlSdVY8aAdxrfgCnfE9gRgEHsAR01CIEpHVWvdW6Xn80MICsyYYPgbTSs+pN1p4CjLArNyj7CgJE5nScongosDdcBgiBzo2veuhW4ayqXq66ZlogvAqlFXYQaSpTuqBhQ9Q9O8RD0fbp70sCyqpYYM/DVWF7tcw/TJ2rntodDmyVWNqtbEkd5uEA2AGHgdM2q1K1B21s7MkhSeth7aM+gi9P1VMO2ZwverNVh9jR/8UOiIQzJSS1Q9Wpn9+A2BWHbVii5tqkzjugB7IskLS59Q64a6PY+OzhvQX+dIi2V/xG4V8PGUBGZvKfv08j7HxbBtCVPwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_w.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAALklEQVQI12P8//8/AwhIiIkxAilmIAbRTAwQwAJlM0MxO5QGiXNA5UCYFaqPDQAGHwN8eWM6AwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABvklEQVQoz42TTSjDcRjHv/ZmTGYbU8K8HEYS5a28ZE5eDxzcKLIdnMRpNVJKccHNcSflJEqhXHbQ4mg5jFgrVsS0qclLHs/f/+9l+/9Xfr/b//N7nv/zfJ/vA8hPBl8V1NBAK0cq/qyDHgbkIi8VqRllw7hsD7lj28+BZKhFFsdY7zdIOskwG+b9/rif6J32npyR1vBfaIDF7xRiLl86wgh+3a8jwvwjlwDXo4ZzCQbFWA3/0zzX8hYjmr/7QRJWIRNGFN/uE+3Ek2BQjDXA6nYQvX7YLuVYx7G2oyWirdTYoJBajwLYw4dEzogcqzl1Eeri10S1ITnWsE6laH5NEJkulHAeKtCWDmthQiU6HiPKySV85lcuTUq+6VVuTCqtd1KQpfoqTWMYODlWElWSBV3tMwmufvZOUVQ0YWjBKxhh5SHzPHUkhaiCA6O+E7kdxIGWoB49mHB5T2+EHLvxMclMoh0sKEcj+jABz0Eg2YqimQq4/wZ0YwTTNWurPl/oIvptRcHfOfygjFvsxCDGMQUPFn+NLDxgr6KYi2zkMgcwjFH5GhhhZRXtnKUZ7Ur7xUuEfFbSxqP6/woqLPAnWuESyIO/rbkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_main.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAQAAAB57NqRAAAAJ0lEQVQI12NgYGdgEGX4/x+EGG6Sj6AmTGVgyGJgcGdg0AYZy8AOAFcCGpZWWVPyAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_over.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQI12NgYGBYDAAAqACkxaGYIAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABwUlEQVQoz31TSyiEURg9ZsZjjLyHEsZjgSTKqzwyVp4LFnYUGQsrsVJIKcUGO8tZKStRCmUzC00syWKIaYop8siokUeuc80/+mf+f9xvec733XvOPR8QDxOMMCCOpXPSkQoLkpBAmkFDeTt72fZOL5chDcmkGKMoQjkPG8jhHDMvUxOafA7/3usXCQH3fg8yOSOC4JHV6rt6lzPcDmTxJSqCJ1SWi/UnSTgaQ7ZCUMOy5u+F+HyZa+QVZuqIi4Lh2QkIcbePfOpIDPVHwLarj28hpu1UYQn1eyJri/1HS7CxP0EHdviF8B2iDFY6adDAVV46cINq5HG8UQNnXArxEUQDCumhKRbcjBJ+lkl3+LMfrShFBs3Re9q5OyYshW06YwyvuJa2dI3HeJo09eQYvbrCZvklwWDLFNo1tiRerDzKUCw40Y/6KFPDcXCdYAh2lCNX+ZIm37B/NyD7Tm/HnBhFJ2pQ8Peh4SgenGGGYDfqUMxAheNw+eTyrroq1zCJQXSglnqt6jAtsmsCI+hDG+UUEUz5zbsSxSEMUKedQ8sZIplTFQi00KFq6ixkgNI0a0DrbXQoW1kizZ79v4L/L/APa0QSyMrM1Z0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.easing-1.3.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnaC5pW1wnMWFcJ109aC5pW1wnelwnXTtoLk8oaC5pLHt5OlwnRFwnLHo6OSh4LHQsYixjLGQpezYgaC5pW2guaS55XSh4LHQsYixjLGQpfSwxNzo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0K2J9LEQ6OSh4LHQsYixjLGQpezYtYyoodC89ZCkqKHQtMikrYn0sMTM6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQrYjs2LWMvMiooKC0tdCkqKHQtMiktMSkrYn0sWDo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0KnQrYn0sVTo5KHgsdCxiLGMsZCl7NiBjKigodD10L2QtMSkqdCp0KzEpK2J9LFI6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCtiOzYgYy8yKigodC09MikqdCp0KzIpK2J9LE46OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQrYn0sTTo5KHgsdCxiLGMsZCl7Ni1jKigodD10L2QtMSkqdCp0KnQtMSkrYn0sTDo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYgYy8yKnQqdCp0KnQrYjs2LWMvMiooKHQtPTIpKnQqdCp0LTIpK2J9LEs6OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQqdCtifSxKOjkoeCx0LGIsYyxkKXs2IGMqKCh0PXQvZC0xKSp0KnQqdCp0KzEpK2J9LEk6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCp0KnQrYjs2IGMvMiooKHQtPTIpKnQqdCp0KnQrMikrYn0sRzo5KHgsdCxiLGMsZCl7Ni1jKjguQyh0L2QqKDguZy8yKSkrYytifSwxNTo5KHgsdCxiLGMsZCl7NiBjKjgubih0L2QqKDguZy8yKSkrYn0sMTI6OSh4LHQsYixjLGQpezYtYy8yKig4LkMoOC5nKnQvZCktMSkrYn0sWjo5KHgsdCxiLGMsZCl7Nih0PT0wKT9iOmMqOC5qKDIsMTAqKHQvZC0xKSkrYn0sWTo5KHgsdCxiLGMsZCl7Nih0PT1kKT9iK2M6YyooLTguaigyLC0xMCp0L2QpKzEpK2J9LFc6OSh4LHQsYixjLGQpe2UodD09MCk2IGI7ZSh0PT1kKTYgYitjO2UoKHQvPWQvMik8MSk2IGMvMio4LmooMiwxMCoodC0xKSkrYjs2IGMvMiooLTguaigyLC0xMCotLXQpKzIpK2J9LFY6OSh4LHQsYixjLGQpezYtYyooOC5vKDEtKHQvPWQpKnQpLTEpK2J9LFM6OSh4LHQsYixjLGQpezYgYyo4Lm8oMS0odD10L2QtMSkqdCkrYn0sUTo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYtYy8yKig4Lm8oMS10KnQpLTEpK2I7NiBjLzIqKDgubygxLSh0LT0yKSp0KSsxKStifSxQOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYtKGEqOC5qKDIsMTAqKHQtPTEpKSo4Lm4oKHQqZC1zKSooMio4LmcpL3ApKStifSxIOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYgYSo4LmooMiwtMTAqdCkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKStjK2J9LFQ6OSh4LHQsYixjLGQpe2Ygcz0xLmw7ZiBwPTA7ZiBhPWM7ZSh0PT0wKTYgYjtlKCh0Lz1kLzIpPT0yKTYgYitjO2UoIXApcD1kKiguMyoxLjUpO2UoYTw4LncoYykpe2E9YztmIHM9cC80fW0gZiBzPXAvKDIqOC5nKSo4LnIoYy9hKTtlKHQ8MSk2LS41KihhKjguaigyLDEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSkrYjs2IGEqOC5qKDIsLTEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSouNStjK2J9LEY6OSh4LHQsYixjLGQscyl7ZShzPT11KXM9MS5sOzYgYyoodC89ZCkqdCooKHMrMSkqdC1zKStifSxFOjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDs2IGMqKCh0PXQvZC0xKSp0KigocysxKSp0K3MpKzEpK2J9LDE2OjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDtlKCh0Lz1kLzIpPDEpNiBjLzIqKHQqdCooKChzKj0oMS5CKSkrMSkqdC1zKSkrYjs2IGMvMiooKHQtPTIpKnQqKCgocyo9KDEuQikpKzEpKnQrcykrMikrYn0sQTo5KHgsdCxiLGMsZCl7NiBjLWguaS52KHgsZC10LDAsYyxkKStifSx2OjkoeCx0LGIsYyxkKXtlKCh0Lz1kKTwoMS8yLmspKXs2IGMqKDcucSp0KnQpK2J9bSBlKHQ8KDIvMi5rKSl7NiBjKig3LnEqKHQtPSgxLjUvMi5rKSkqdCsuaykrYn1tIGUodDwoMi41LzIuaykpezYgYyooNy5xKih0LT0oMi4xNC8yLmspKSp0Ky4xMSkrYn1tezYgYyooNy5xKih0LT0oMi4xOC8yLmspKSp0Ky4xOSkrYn19LDFiOjkoeCx0LGIsYyxkKXtlKHQ8ZC8yKTYgaC5pLkEoeCx0KjIsMCxjLGQpKi41K2I7NiBoLmkudih4LHQqMi1kLDAsYyxkKSouNStjKi41K2J9fSk7Jyw2Miw3NCwnfHx8fHx8cmV0dXJufHxNYXRofGZ1bmN0aW9ufHx8fHxpZnx2YXJ8UEl8alF1ZXJ5fGVhc2luZ3xwb3d8NzV8NzAxNTh8ZWxzZXxzaW58c3FydHx8NTYyNXxhc2lufHx8dW5kZWZpbmVkfGVhc2VPdXRCb3VuY2V8YWJzfHxkZWZ8c3dpbmd8ZWFzZUluQm91bmNlfDUyNXxjb3N8ZWFzZU91dFF1YWR8ZWFzZU91dEJhY2t8ZWFzZUluQmFja3xlYXNlSW5TaW5lfGVhc2VPdXRFbGFzdGljfGVhc2VJbk91dFF1aW50fGVhc2VPdXRRdWludHxlYXNlSW5RdWludHxlYXNlSW5PdXRRdWFydHxlYXNlT3V0UXVhcnR8ZWFzZUluUXVhcnR8ZXh0ZW5kfGVhc2VJbkVsYXN0aWN8ZWFzZUluT3V0Q2lyY3xlYXNlSW5PdXRDdWJpY3xlYXNlT3V0Q2lyY3xlYXNlSW5PdXRFbGFzdGljfGVhc2VPdXRDdWJpY3xlYXNlSW5DaXJjfGVhc2VJbk91dEV4cG98ZWFzZUluQ3ViaWN8ZWFzZU91dEV4cG98ZWFzZUluRXhwb3x8OTM3NXxlYXNlSW5PdXRTaW5lfGVhc2VJbk91dFF1YWR8MjV8ZWFzZU91dFNpbmV8ZWFzZUluT3V0QmFja3xlYXNlSW5RdWFkfDYyNXw5ODQzNzV8anN3aW5nfGVhc2VJbk91dEJvdW5jZScuc3BsaXQoJ3wnKSwwLHt9KSkKCi8qCiAqCiAqIFRFUk1TIE9GIFVTRSAtIEVBU0lORyBFUVVBVElPTlMKICogCiAqIE9wZW4gc291cmNlIHVuZGVyIHRoZSBCU0QgTGljZW5zZS4gCiAqIAogKiBDb3B5cmlnaHQgwqkgMjAwMSBSb2JlcnQgUGVubmVyCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIAogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAKICogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgogKiAKICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgCiAqIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3QgCiAqIG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIAogKiBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAqIAogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSAKICogb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICogCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIAogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiAqICBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCiAqICBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUKICogIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCAKICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKICogIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIAogKiBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogKgogKi8K]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.4.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKiANCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzDQogKiBUaGF0IHNhaWQsIGl0IGlzIGhhcmRseSBhIG9uZS1wZXJzb24gcHJvamVjdC4gTWFueSBwZW9wbGUgaGF2ZSBzdWJtaXR0ZWQgYnVncywgY29kZSwgYW5kIG9mZmVyZWQgdGhlaXIgYWR2aWNlIGZyZWVseS4gVGhlaXIgc3VwcG9ydCBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLg0KICogDQogKiBWZXJzaW9uOiAxLjMuNCAoMTEvMTEvMjAxMCkNCiAqIFJlcXVpcmVzOiBqUXVlcnkgdjEuMysNCiAqDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlczoNCiAqICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHANCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sDQogKi8NCg0KI2ZhbmN5Ym94LWxvYWRpbmcgew0KCXBvc2l0aW9uOiBmaXhlZDsNCgl0b3A6IDUwJTsNCglsZWZ0OiA1MCU7DQoJd2lkdGg6IDQwcHg7DQoJaGVpZ2h0OiA0MHB4Ow0KCW1hcmdpbi10b3A6IC0yMHB4Ow0KCW1hcmdpbi1sZWZ0OiAtMjBweDsNCgljdXJzb3I6IHBvaW50ZXI7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl6LWluZGV4OiAxMTA0Ow0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nIGRpdiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOiA0MHB4Ow0KCWhlaWdodDogNDgwcHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCn0NCg0KI2ZhbmN5Ym94LW92ZXJsYXkgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxMTAwOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC10bXAgew0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KCWJvcmRlcjogMDsNCglvdmVyZmxvdzogYXV0bzsNCglkaXNwbGF5OiBub25lOw0KfQ0KDQojZmFuY3lib3gtd3JhcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXBhZGRpbmc6IDIwcHg7DQoJei1pbmRleDogMTEwMTsNCglvdXRsaW5lOiBub25lOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1vdXRlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjZmZmOw0KfQ0KDQojZmFuY3lib3gtY29udGVudCB7DQoJd2lkdGg6IDA7DQoJaGVpZ2h0OiAwOw0KCXBhZGRpbmc6IDA7DQoJb3V0bGluZTogbm9uZTsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl6LWluZGV4OiAxMTAyOw0KCWJvcmRlcjogMHB4IHNvbGlkICNmZmY7DQp9DQoNCiNmYW5jeWJveC1oaWRlLXNlbC1mcmFtZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCgl6LWluZGV4OiAxMTAxOw0KfQ0KDQojZmFuY3lib3gtY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC0xNXB4Ow0KCXJpZ2h0OiAtMTVweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdmYW5jeWJveC5wbmcnKSAtNDBweCAwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDM7DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94LWVycm9yIHsNCgljb2xvcjogIzQ0NDsNCglmb250OiBub3JtYWwgMTJweC8yMHB4IEFyaWFsOw0KCXBhZGRpbmc6IDE0cHg7DQoJbWFyZ2luOiAwOw0KfQ0KDQojZmFuY3lib3gtaW1nIHsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQoJYm9yZGVyOiBub25lOw0KCW91dGxpbmU6IG5vbmU7DQoJbGluZS1oZWlnaHQ6IDA7DQoJdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCg0KI2ZhbmN5Ym94LWZyYW1lIHsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJYm9yZGVyOiBub25lOw0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQojZmFuY3lib3gtbGVmdCwgI2ZhbmN5Ym94LXJpZ2h0IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwcHg7DQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAzNSU7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW91dGxpbmU6IG5vbmU7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdibGFuay5naWYnKTsNCgl6LWluZGV4OiAxMTAyOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1sZWZ0IHsNCglsZWZ0OiAwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodCB7DQoJcmlnaHQ6IDBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQtaWNvLCAjZmFuY3lib3gtcmlnaHQtaWNvIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogLTk5OTlweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJbWFyZ2luLXRvcDogLTE1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDI7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCiNmYW5jeWJveC1sZWZ0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMzBweDsNCn0NCg0KI2ZhbmN5Ym94LXJpZ2h0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNjBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQ6aG92ZXIsICNmYW5jeWJveC1yaWdodDpob3ZlciB7DQoJdmlzaWJpbGl0eTogdmlzaWJsZTsgLyogSUU2ICovDQp9DQoNCiNmYW5jeWJveC1sZWZ0OmhvdmVyIHNwYW4gew0KCWxlZnQ6IDIwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodDpob3ZlciBzcGFuIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZmFuY3lib3gtYmcgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDIwcHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCXotaW5kZXg6IDEwMDE7DQp9DQoNCiNmYW5jeWJveC1iZy1uIHsNCgl0b3A6IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KfQ0KDQojZmFuY3lib3gtYmctbmUgew0KCXRvcDogLTIwcHg7DQoJcmlnaHQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE2MnB4Ow0KfQ0KDQojZmFuY3lib3gtYmctZSB7DQoJdG9wOiAwOw0KCXJpZ2h0OiAtMjBweDsNCgloZWlnaHQ6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC15LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDBweDsNCn0NCg0KI2ZhbmN5Ym94LWJnLXNlIHsNCglib3R0b206IC0yMHB4Ow0KCXJpZ2h0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xODJweDsgDQp9DQoNCiNmYW5jeWJveC1iZy1zIHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjBweDsNCn0NCg0KI2ZhbmN5Ym94LWJnLXN3IHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE0MnB4Ow0KfQ0KDQojZmFuY3lib3gtYmctdyB7DQoJdG9wOiAwOw0KCWxlZnQ6IC0yMHB4Ow0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LXkucG5nJyk7DQp9DQoNCiNmYW5jeWJveC1iZy1udyB7DQoJdG9wOiAtMjBweDsNCglsZWZ0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjJweDsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlIHsNCglmb250LWZhbWlseTogSGVsdmV0aWNhOw0KCWZvbnQtc2l6ZTogMTJweDsNCgl6LWluZGV4OiAxMTAyOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtaW5zaWRlIHsNCglwYWRkaW5nLWJvdHRvbTogMTBweDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJY29sb3I6ICMzMzM7DQoJYmFja2dyb3VuZDogI2ZmZjsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1vdXRzaWRlIHsNCglwYWRkaW5nLXRvcDogMTBweDsNCgljb2xvcjogI2ZmZjsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLW92ZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCgljb2xvcjogI0ZGRjsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQojZmFuY3lib3gtdGl0bGUtb3ZlciB7DQoJcGFkZGluZzogMTBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5X3RpdGxlX292ZXIucG5nJyk7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1mbG9hdCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDA7DQoJYm90dG9tOiAtMjBweDsNCgloZWlnaHQ6IDMycHg7DQp9DQoNCiNmYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIHsNCglib3JkZXI6IG5vbmU7DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCgl3aWR0aDogYXV0bzsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAgdGQgew0KCWJvcmRlcjogbm9uZTsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQojZmFuY3lib3gtdGl0bGUtZmxvYXQtbGVmdCB7DQoJcGFkZGluZzogMCAwIDAgMTVweDsNCgliYWNrZ3JvdW5kOiB1cmwoJ2ZhbmN5Ym94LnBuZycpIC00MHB4IC05MHB4IG5vLXJlcGVhdDsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLWZsb2F0LW1haW4gew0KCWNvbG9yOiAjRkZGOw0KCWxpbmUtaGVpZ2h0OiAyOXB4Ow0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCXBhZGRpbmc6IDAgMCAzcHggMDsNCgliYWNrZ3JvdW5kOiB1cmwoJ2ZhbmN5Ym94LXgucG5nJykgMHB4IC00MHB4Ow0KfQ0KDQojZmFuY3lib3gtdGl0bGUtZmxvYXQtcmlnaHQgew0KCXBhZGRpbmc6IDAgMCAwIDE1cHg7DQoJYmFja2dyb3VuZDogdXJsKCdmYW5jeWJveC5wbmcnKSAtNTVweCAtOTBweCBuby1yZXBlYXQ7DQp9DQoNCi8qIElFNiAqLw0KDQouZmFuY3lib3gtaWU2ICNmYW5jeWJveC1jbG9zZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfY2xvc2UucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQoNCi5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LWxlZnQtaWNvIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9uYXZfbGVmdC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LXJpZ2h0LWljbyB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfbmF2X3JpZ2h0LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KDQouZmFuY3lib3gtaWU2ICNmYW5jeWJveC10aXRsZS1vdmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV90aXRsZV9vdmVyLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgem9vbTogMTsgfQ0KLmZhbmN5Ym94LWllNiAjZmFuY3lib3gtdGl0bGUtZmxvYXQtbGVmdCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfdGl0bGVfbGVmdC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LXRpdGxlLWZsb2F0LW1haW4geyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3RpdGxlX21haW4ucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWU2ICNmYW5jeWJveC10aXRsZS1mbG9hdC1yaWdodCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfdGl0bGVfcmlnaHQucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQoNCi5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LWJnLXcsIC5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LWJnLWUsIC5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LWxlZnQsIC5mYW5jeWJveC1pZTYgI2ZhbmN5Ym94LXJpZ2h0LCAjZmFuY3lib3gtaGlkZS1zZWwtZnJhbWUgew0KCWhlaWdodDogZXhwcmVzc2lvbih0aGlzLnBhcmVudE5vZGUuY2xpZW50SGVpZ2h0ICsgInB4Iik7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nLmZhbmN5Ym94LWllNiB7DQoJcG9zaXRpb246IGFic29sdXRlOyBtYXJnaW4tdG9wOiAwOw0KCXRvcDogZXhwcmVzc2lvbiggKC0yMCArIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yIDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQvMiApICsgKCBpZ25vcmVNZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKSkgKyAncHgnKTsNCn0NCg0KI2ZhbmN5Ym94LWxvYWRpbmcuZmFuY3lib3gtaWU2IGRpdgl7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfbG9hZGluZy5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCg0KLyogSUU2LCBJRTcsIElFOCAqLw0KDQouZmFuY3lib3gtaWUgLmZhbmN5Ym94LWJnIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfQ0KDQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LWJnLW4geyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfc2hhZG93X24ucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LWJnLW5lIHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd19uZS5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3lib3gtYmctZSB7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9zaGFkb3dfZS5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3lib3gtYmctc2UgeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfc2hhZG93X3NlLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1iZy1zIHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd19zLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1iZy1zdyB7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9zaGFkb3dfc3cucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LWJnLXcgeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfc2hhZG93X3cucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LWJnLW53IHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd19udy5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.4.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxMCBKYW5pcyBTa2FybmVsaXMNCiAqIFRoYXQgc2FpZCwgaXQgaXMgaGFyZGx5IGEgb25lLXBlcnNvbiBwcm9qZWN0LiBNYW55IHBlb3BsZSBoYXZlIHN1Ym1pdHRlZCBidWdzLCBjb2RlLCBhbmQgb2ZmZXJlZCB0aGVpciBhZHZpY2UgZnJlZWx5LiBUaGVpciBzdXBwb3J0IGlzIGdyZWF0bHkgYXBwcmVjaWF0ZWQuDQogKg0KICogVmVyc2lvbjogMS4zLjQgKDExLzExLzIwMTApDQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrDQogKg0KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KICovDQoNCjsoZnVuY3Rpb24oJCkgew0KCXZhciB0bXAsIGxvYWRpbmcsIG92ZXJsYXksIHdyYXAsIG91dGVyLCBjb250ZW50LCBjbG9zZSwgdGl0bGUsIG5hdl9sZWZ0LCBuYXZfcmlnaHQsDQoNCgkJc2VsZWN0ZWRJbmRleCA9IDAsIHNlbGVjdGVkT3B0cyA9IHt9LCBzZWxlY3RlZEFycmF5ID0gW10sIGN1cnJlbnRJbmRleCA9IDAsIGN1cnJlbnRPcHRzID0ge30sIGN1cnJlbnRBcnJheSA9IFtdLA0KDQoJCWFqYXhMb2FkZXIgPSBudWxsLCBpbWdQcmVsb2FkZXIgPSBuZXcgSW1hZ2UoKSwgaW1nUmVnRXhwID0gL1wuKGpwZ3xnaWZ8cG5nfGJtcHxqcGVnKSguKik/JC9pLCBzd2ZSZWdFeHAgPSAvW15cLl1cLihzd2YpXHMqJC9pLA0KDQoJCWxvYWRpbmdUaW1lciwgbG9hZGluZ0ZyYW1lID0gMSwNCg0KCQl0aXRsZUhlaWdodCA9IDAsIHRpdGxlU3RyID0gJycsIHN0YXJ0X3BvcywgZmluYWxfcG9zLCBidXN5ID0gZmFsc2UsIGZ4ID0gJC5leHRlbmQoJCgnPGRpdi8+JylbMF0sIHsgcHJvcDogMCB9KSwNCg0KCQlpc0lFNiA9ICQuYnJvd3Nlci5tc2llICYmICQuYnJvd3Nlci52ZXJzaW9uIDwgNyAmJiAhd2luZG93LlhNTEh0dHBSZXF1ZXN0LA0KDQoJCS8qDQoJCSAqIFByaXZhdGUgbWV0aG9kcyANCgkJICovDQoNCgkJX2Fib3J0ID0gZnVuY3Rpb24oKSB7DQoJCQlsb2FkaW5nLmhpZGUoKTsNCg0KCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBpbWdQcmVsb2FkZXIub25sb2FkID0gbnVsbDsNCg0KCQkJaWYgKGFqYXhMb2FkZXIpIHsNCgkJCQlhamF4TG9hZGVyLmFib3J0KCk7DQoJCQl9DQoNCgkJCXRtcC5lbXB0eSgpOw0KCQl9LA0KDQoJCV9lcnJvciA9IGZ1bmN0aW9uKCkgew0KCQkJaWYgKGZhbHNlID09PSBzZWxlY3RlZE9wdHMub25FcnJvcihzZWxlY3RlZEFycmF5LCBzZWxlY3RlZEluZGV4LCBzZWxlY3RlZE9wdHMpKSB7DQoJCQkJbG9hZGluZy5oaWRlKCk7DQoJCQkJYnVzeSA9IGZhbHNlOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJc2VsZWN0ZWRPcHRzLnRpdGxlU2hvdyA9IGZhbHNlOw0KDQoJCQlzZWxlY3RlZE9wdHMud2lkdGggPSAnYXV0byc7DQoJCQlzZWxlY3RlZE9wdHMuaGVpZ2h0ID0gJ2F1dG8nOw0KDQoJCQl0bXAuaHRtbCggJzxwIGlkPSJmYW5jeWJveC1lcnJvciI+VGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyIC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L3A+JyApOw0KDQoJCQlfcHJvY2Vzc19pbmxpbmUoKTsNCgkJfSwNCg0KCQlfc3RhcnQgPSBmdW5jdGlvbigpIHsNCgkJCXZhciBvYmogPSBzZWxlY3RlZEFycmF5WyBzZWxlY3RlZEluZGV4IF0sDQoJCQkJaHJlZiwgDQoJCQkJdHlwZSwgDQoJCQkJdGl0bGUsDQoJCQkJc3RyLA0KCQkJCWVtYiwNCgkJCQlyZXQ7DQoNCgkJCV9hYm9ydCgpOw0KDQoJCQlzZWxlY3RlZE9wdHMgPSAkLmV4dGVuZCh7fSwgJC5mbi5mYW5jeWJveC5kZWZhdWx0cywgKHR5cGVvZiAkKG9iaikuZGF0YSgnZmFuY3lib3gnKSA9PSAndW5kZWZpbmVkJyA/IHNlbGVjdGVkT3B0cyA6ICQob2JqKS5kYXRhKCdmYW5jeWJveCcpKSk7DQoNCgkJCXJldCA9IHNlbGVjdGVkT3B0cy5vblN0YXJ0KHNlbGVjdGVkQXJyYXksIHNlbGVjdGVkSW5kZXgsIHNlbGVjdGVkT3B0cyk7DQoNCgkJCWlmIChyZXQgPT09IGZhbHNlKSB7DQoJCQkJYnVzeSA9IGZhbHNlOw0KCQkJCXJldHVybjsNCgkJCX0gZWxzZSBpZiAodHlwZW9mIHJldCA9PSAnb2JqZWN0Jykgew0KCQkJCXNlbGVjdGVkT3B0cyA9ICQuZXh0ZW5kKHNlbGVjdGVkT3B0cywgcmV0KTsNCgkJCX0NCg0KCQkJdGl0bGUgPSBzZWxlY3RlZE9wdHMudGl0bGUgfHwgKG9iai5ub2RlTmFtZSA/ICQob2JqKS5hdHRyKCd0aXRsZScpIDogb2JqLnRpdGxlKSB8fCAnJzsNCg0KCQkJaWYgKG9iai5ub2RlTmFtZSAmJiAhc2VsZWN0ZWRPcHRzLm9yaWcpIHsNCgkJCQlzZWxlY3RlZE9wdHMub3JpZyA9ICQob2JqKS5jaGlsZHJlbigiaW1nOmZpcnN0IikubGVuZ3RoID8gJChvYmopLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKSA6ICQob2JqKTsNCgkJCX0NCg0KCQkJaWYgKHRpdGxlID09PSAnJyAmJiBzZWxlY3RlZE9wdHMub3JpZyAmJiBzZWxlY3RlZE9wdHMudGl0bGVGcm9tQWx0KSB7DQoJCQkJdGl0bGUgPSBzZWxlY3RlZE9wdHMub3JpZy5hdHRyKCdhbHQnKTsNCgkJCX0NCg0KCQkJaHJlZiA9IHNlbGVjdGVkT3B0cy5ocmVmIHx8IChvYmoubm9kZU5hbWUgPyAkKG9iaikuYXR0cignaHJlZicpIDogb2JqLmhyZWYpIHx8IG51bGw7DQoNCgkJCWlmICgoL14oPzpqYXZhc2NyaXB0KS9pKS50ZXN0KGhyZWYpIHx8IGhyZWYgPT0gJyMnKSB7DQoJCQkJaHJlZiA9IG51bGw7DQoJCQl9DQoNCgkJCWlmIChzZWxlY3RlZE9wdHMudHlwZSkgew0KCQkJCXR5cGUgPSBzZWxlY3RlZE9wdHMudHlwZTsNCg0KCQkJCWlmICghaHJlZikgew0KCQkJCQlocmVmID0gc2VsZWN0ZWRPcHRzLmNvbnRlbnQ7DQoJCQkJfQ0KDQoJCQl9IGVsc2UgaWYgKHNlbGVjdGVkT3B0cy5jb250ZW50KSB7DQoJCQkJdHlwZSA9ICdodG1sJzsNCg0KCQkJfSBlbHNlIGlmIChocmVmKSB7DQoJCQkJaWYgKGhyZWYubWF0Y2goaW1nUmVnRXhwKSkgew0KCQkJCQl0eXBlID0gJ2ltYWdlJzsNCg0KCQkJCX0gZWxzZSBpZiAoaHJlZi5tYXRjaChzd2ZSZWdFeHApKSB7DQoJCQkJCXR5cGUgPSAnc3dmJzsNCg0KCQkJCX0gZWxzZSBpZiAoJChvYmopLmhhc0NsYXNzKCJpZnJhbWUiKSkgew0KCQkJCQl0eXBlID0gJ2lmcmFtZSc7DQoNCgkJCQl9IGVsc2UgaWYgKGhyZWYuaW5kZXhPZigiIyIpID09PSAwKSB7DQoJCQkJCXR5cGUgPSAnaW5saW5lJzsNCg0KCQkJCX0gZWxzZSB7DQoJCQkJCXR5cGUgPSAnYWpheCc7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoIXR5cGUpIHsNCgkJCQlfZXJyb3IoKTsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICh0eXBlID09ICdpbmxpbmUnKSB7DQoJCQkJb2JqCT0gaHJlZi5zdWJzdHIoaHJlZi5pbmRleE9mKCIjIikpOw0KCQkJCXR5cGUgPSAkKG9iaikubGVuZ3RoID4gMCA/ICdpbmxpbmUnIDogJ2FqYXgnOw0KCQkJfQ0KDQoJCQlzZWxlY3RlZE9wdHMudHlwZSA9IHR5cGU7DQoJCQlzZWxlY3RlZE9wdHMuaHJlZiA9IGhyZWY7DQoJCQlzZWxlY3RlZE9wdHMudGl0bGUgPSB0aXRsZTsNCg0KCQkJaWYgKHNlbGVjdGVkT3B0cy5hdXRvRGltZW5zaW9ucykgew0KCQkJCWlmIChzZWxlY3RlZE9wdHMudHlwZSA9PSAnaHRtbCcgfHwgc2VsZWN0ZWRPcHRzLnR5cGUgPT0gJ2lubGluZScgfHwgc2VsZWN0ZWRPcHRzLnR5cGUgPT0gJ2FqYXgnKSB7DQoJCQkJCXNlbGVjdGVkT3B0cy53aWR0aCA9ICdhdXRvJzsNCgkJCQkJc2VsZWN0ZWRPcHRzLmhlaWdodCA9ICdhdXRvJzsNCgkJCQl9IGVsc2Ugew0KCQkJCQlzZWxlY3RlZE9wdHMuYXV0b0RpbWVuc2lvbnMgPSBmYWxzZTsJDQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLm1vZGFsKSB7DQoJCQkJc2VsZWN0ZWRPcHRzLm92ZXJsYXlTaG93ID0gdHJ1ZTsNCgkJCQlzZWxlY3RlZE9wdHMuaGlkZU9uT3ZlcmxheUNsaWNrID0gZmFsc2U7DQoJCQkJc2VsZWN0ZWRPcHRzLmhpZGVPbkNvbnRlbnRDbGljayA9IGZhbHNlOw0KCQkJCXNlbGVjdGVkT3B0cy5lbmFibGVFc2NhcGVCdXR0b24gPSBmYWxzZTsNCgkJCQlzZWxlY3RlZE9wdHMuc2hvd0Nsb3NlQnV0dG9uID0gZmFsc2U7DQoJCQl9DQoNCgkJCXNlbGVjdGVkT3B0cy5wYWRkaW5nID0gcGFyc2VJbnQoc2VsZWN0ZWRPcHRzLnBhZGRpbmcsIDEwKTsNCgkJCXNlbGVjdGVkT3B0cy5tYXJnaW4gPSBwYXJzZUludChzZWxlY3RlZE9wdHMubWFyZ2luLCAxMCk7DQoNCgkJCXRtcC5jc3MoJ3BhZGRpbmcnLCAoc2VsZWN0ZWRPcHRzLnBhZGRpbmcgKyBzZWxlY3RlZE9wdHMubWFyZ2luKSk7DQoNCgkJCSQoJy5mYW5jeWJveC1pbmxpbmUtdG1wJykudW5iaW5kKCdmYW5jeWJveC1jYW5jZWwnKS5iaW5kKCdmYW5jeWJveC1jaGFuZ2UnLCBmdW5jdGlvbigpIHsNCgkJCQkkKHRoaXMpLnJlcGxhY2VXaXRoKGNvbnRlbnQuY2hpbGRyZW4oKSk7CQkJCQ0KCQkJfSk7DQoNCgkJCXN3aXRjaCAodHlwZSkgew0KCQkJCWNhc2UgJ2h0bWwnIDoNCgkJCQkJdG1wLmh0bWwoIHNlbGVjdGVkT3B0cy5jb250ZW50ICk7DQoJCQkJCV9wcm9jZXNzX2lubGluZSgpOw0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaW5saW5lJyA6DQoJCQkJCWlmICggJChvYmopLnBhcmVudCgpLmlzKCcjZmFuY3lib3gtY29udGVudCcpID09PSB0cnVlKSB7DQoJCQkJCQlidXN5ID0gZmFsc2U7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQkkKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbmxpbmUtdG1wIiAvPicpDQoJCQkJCQkuaGlkZSgpDQoJCQkJCQkuaW5zZXJ0QmVmb3JlKCAkKG9iaikgKQ0KCQkJCQkJLmJpbmQoJ2ZhbmN5Ym94LWNsZWFudXAnLCBmdW5jdGlvbigpIHsNCgkJCQkJCQkkKHRoaXMpLnJlcGxhY2VXaXRoKGNvbnRlbnQuY2hpbGRyZW4oKSk7DQoJCQkJCQl9KS5iaW5kKCdmYW5jeWJveC1jYW5jZWwnLCBmdW5jdGlvbigpIHsNCgkJCQkJCQkkKHRoaXMpLnJlcGxhY2VXaXRoKHRtcC5jaGlsZHJlbigpKTsNCgkJCQkJCX0pOw0KDQoJCQkJCSQob2JqKS5hcHBlbmRUbyh0bXApOw0KDQoJCQkJCV9wcm9jZXNzX2lubGluZSgpOw0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaW1hZ2UnOg0KCQkJCQlidXN5ID0gZmFsc2U7DQoNCgkJCQkJJC5mYW5jeWJveC5zaG93QWN0aXZpdHkoKTsNCg0KCQkJCQlpbWdQcmVsb2FkZXIgPSBuZXcgSW1hZ2UoKTsNCg0KCQkJCQlpbWdQcmVsb2FkZXIub25lcnJvciA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJX2Vycm9yKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJYnVzeSA9IHRydWU7DQoNCgkJCQkJCWltZ1ByZWxvYWRlci5vbmVycm9yID0gaW1nUHJlbG9hZGVyLm9ubG9hZCA9IG51bGw7DQoNCgkJCQkJCV9wcm9jZXNzX2ltYWdlKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLnNyYyA9IGhyZWY7DQoJCQkJYnJlYWs7DQoNCgkJCQljYXNlICdzd2YnOg0KCQkJCQlzZWxlY3RlZE9wdHMuc2Nyb2xsaW5nID0gJ25vJzsNCg0KCQkJCQlzdHIgPSAnPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSInICsgc2VsZWN0ZWRPcHRzLndpZHRoICsgJyIgaGVpZ2h0PSInICsgc2VsZWN0ZWRPcHRzLmhlaWdodCArICciPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicgKyBocmVmICsgJyI+PC9wYXJhbT4nOw0KCQkJCQllbWIgPSAnJzsNCg0KCQkJCQkkLmVhY2goc2VsZWN0ZWRPcHRzLnN3ZiwgZnVuY3Rpb24obmFtZSwgdmFsKSB7DQoJCQkJCQlzdHIgKz0gJzxwYXJhbSBuYW1lPSInICsgbmFtZSArICciIHZhbHVlPSInICsgdmFsICsgJyI+PC9wYXJhbT4nOw0KCQkJCQkJZW1iICs9ICcgJyArIG5hbWUgKyAnPSInICsgdmFsICsgJyInOw0KCQkJCQl9KTsNCg0KCQkJCQlzdHIgKz0gJzxlbWJlZCBzcmM9IicgKyBocmVmICsgJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSInICsgc2VsZWN0ZWRPcHRzLndpZHRoICsgJyIgaGVpZ2h0PSInICsgc2VsZWN0ZWRPcHRzLmhlaWdodCArICciJyArIGVtYiArICc+PC9lbWJlZD48L29iamVjdD4nOw0KDQoJCQkJCXRtcC5odG1sKHN0cik7DQoNCgkJCQkJX3Byb2Nlc3NfaW5saW5lKCk7DQoJCQkJYnJlYWs7DQoNCgkJCQljYXNlICdhamF4JzoNCgkJCQkJYnVzeSA9IGZhbHNlOw0KDQoJCQkJCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5KCk7DQoNCgkJCQkJc2VsZWN0ZWRPcHRzLmFqYXgud2luID0gc2VsZWN0ZWRPcHRzLmFqYXguc3VjY2VzczsNCg0KCQkJCQlhamF4TG9hZGVyID0gJC5hamF4KCQuZXh0ZW5kKHt9LCBzZWxlY3RlZE9wdHMuYWpheCwgew0KCQkJCQkJdXJsCTogaHJlZiwNCgkJCQkJCWRhdGEgOiBzZWxlY3RlZE9wdHMuYWpheC5kYXRhIHx8IHt9LA0KCQkJCQkJZXJyb3IgOiBmdW5jdGlvbihYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCgkJCQkJCQlpZiAoIFhNTEh0dHBSZXF1ZXN0LnN0YXR1cyA+IDAgKSB7DQoJCQkJCQkJCV9lcnJvcigpOw0KCQkJCQkJCX0NCgkJCQkJCX0sDQoJCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oZGF0YSwgdGV4dFN0YXR1cywgWE1MSHR0cFJlcXVlc3QpIHsNCgkJCQkJCQl2YXIgbyA9IHR5cGVvZiBYTUxIdHRwUmVxdWVzdCA9PSAnb2JqZWN0JyA/IFhNTEh0dHBSZXF1ZXN0IDogYWpheExvYWRlcjsNCgkJCQkJCQlpZiAoby5zdGF0dXMgPT0gMjAwKSB7DQoJCQkJCQkJCWlmICggdHlwZW9mIHNlbGVjdGVkT3B0cy5hamF4LndpbiA9PSAnZnVuY3Rpb24nICkgew0KCQkJCQkJCQkJcmV0ID0gc2VsZWN0ZWRPcHRzLmFqYXgud2luKGhyZWYsIGRhdGEsIHRleHRTdGF0dXMsIFhNTEh0dHBSZXF1ZXN0KTsNCg0KCQkJCQkJCQkJaWYgKHJldCA9PT0gZmFsc2UpIHsNCgkJCQkJCQkJCQlsb2FkaW5nLmhpZGUoKTsNCgkJCQkJCQkJCQlyZXR1cm47DQoJCQkJCQkJCQl9IGVsc2UgaWYgKHR5cGVvZiByZXQgPT0gJ3N0cmluZycgfHwgdHlwZW9mIHJldCA9PSAnb2JqZWN0Jykgew0KCQkJCQkJCQkJCWRhdGEgPSByZXQ7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCX0NCg0KCQkJCQkJCQl0bXAuaHRtbCggZGF0YSApOw0KCQkJCQkJCQlfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0pKTsNCg0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaWZyYW1lJzoNCgkJCQkJX3Nob3coKTsNCgkJCQlicmVhazsNCgkJCX0NCgkJfSwNCg0KCQlfcHJvY2Vzc19pbmxpbmUgPSBmdW5jdGlvbigpIHsNCgkJCXZhcg0KCQkJCXcgPSBzZWxlY3RlZE9wdHMud2lkdGgsDQoJCQkJaCA9IHNlbGVjdGVkT3B0cy5oZWlnaHQ7DQoNCgkJCWlmICh3LnRvU3RyaW5nKCkuaW5kZXhPZignJScpID4gLTEpIHsNCgkJCQl3ID0gcGFyc2VJbnQoICgkKHdpbmRvdykud2lkdGgoKSAtIChzZWxlY3RlZE9wdHMubWFyZ2luICogMikpICogcGFyc2VGbG9hdCh3KSAvIDEwMCwgMTApICsgJ3B4JzsNCg0KCQkJfSBlbHNlIHsNCgkJCQl3ID0gdyA9PSAnYXV0bycgPyAnYXV0bycgOiB3ICsgJ3B4JzsJDQoJCQl9DQoNCgkJCWlmIChoLnRvU3RyaW5nKCkuaW5kZXhPZignJScpID4gLTEpIHsNCgkJCQloID0gcGFyc2VJbnQoICgkKHdpbmRvdykuaGVpZ2h0KCkgLSAoc2VsZWN0ZWRPcHRzLm1hcmdpbiAqIDIpKSAqIHBhcnNlRmxvYXQoaCkgLyAxMDAsIDEwKSArICdweCc7DQoNCgkJCX0gZWxzZSB7DQoJCQkJaCA9IGggPT0gJ2F1dG8nID8gJ2F1dG8nIDogaCArICdweCc7CQ0KCQkJfQ0KDQoJCQl0bXAud3JhcElubmVyKCc8ZGl2IHN0eWxlPSJ3aWR0aDonICsgdyArICc7aGVpZ2h0OicgKyBoICsgJztvdmVyZmxvdzogJyArIChzZWxlY3RlZE9wdHMuc2Nyb2xsaW5nID09ICdhdXRvJyA/ICdhdXRvJyA6IChzZWxlY3RlZE9wdHMuc2Nyb2xsaW5nID09ICd5ZXMnID8gJ3Njcm9sbCcgOiAnaGlkZGVuJykpICsgJztwb3NpdGlvbjpyZWxhdGl2ZTsiPjwvZGl2PicpOw0KDQoJCQlzZWxlY3RlZE9wdHMud2lkdGggPSB0bXAud2lkdGgoKTsNCgkJCXNlbGVjdGVkT3B0cy5oZWlnaHQgPSB0bXAuaGVpZ2h0KCk7DQoNCgkJCV9zaG93KCk7DQoJCX0sDQoNCgkJX3Byb2Nlc3NfaW1hZ2UgPSBmdW5jdGlvbigpIHsNCgkJCXNlbGVjdGVkT3B0cy53aWR0aCA9IGltZ1ByZWxvYWRlci53aWR0aDsNCgkJCXNlbGVjdGVkT3B0cy5oZWlnaHQgPSBpbWdQcmVsb2FkZXIuaGVpZ2h0Ow0KDQoJCQkkKCI8aW1nIC8+IikuYXR0cih7DQoJCQkJJ2lkJyA6ICdmYW5jeWJveC1pbWcnLA0KCQkJCSdzcmMnIDogaW1nUHJlbG9hZGVyLnNyYywNCgkJCQknYWx0JyA6IHNlbGVjdGVkT3B0cy50aXRsZQ0KCQkJfSkuYXBwZW5kVG8oIHRtcCApOw0KDQoJCQlfc2hvdygpOw0KCQl9LA0KDQoJCV9zaG93ID0gZnVuY3Rpb24oKSB7DQoJCQl2YXIgcG9zLCBlcXVhbDsNCg0KCQkJbG9hZGluZy5oaWRlKCk7DQoNCgkJCWlmICh3cmFwLmlzKCI6dmlzaWJsZSIpICYmIGZhbHNlID09PSBjdXJyZW50T3B0cy5vbkNsZWFudXAoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKSkgew0KCQkJCSQuZXZlbnQudHJpZ2dlcignZmFuY3lib3gtY2FuY2VsJyk7DQoNCgkJCQlidXN5ID0gZmFsc2U7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlidXN5ID0gdHJ1ZTsNCg0KCQkJJChjb250ZW50LmFkZCggb3ZlcmxheSApKS51bmJpbmQoKTsNCg0KCQkJJCh3aW5kb3cpLnVuYmluZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpOw0KCQkJJChkb2N1bWVudCkudW5iaW5kKCdrZXlkb3duLmZiJyk7DQoNCgkJCWlmICh3cmFwLmlzKCI6dmlzaWJsZSIpICYmIGN1cnJlbnRPcHRzLnRpdGxlUG9zaXRpb24gIT09ICdvdXRzaWRlJykgew0KCQkJCXdyYXAuY3NzKCdoZWlnaHQnLCB3cmFwLmhlaWdodCgpKTsNCgkJCX0NCg0KCQkJY3VycmVudEFycmF5ID0gc2VsZWN0ZWRBcnJheTsNCgkJCWN1cnJlbnRJbmRleCA9IHNlbGVjdGVkSW5kZXg7DQoJCQljdXJyZW50T3B0cyA9IHNlbGVjdGVkT3B0czsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLm92ZXJsYXlTaG93KSB7DQoJCQkJb3ZlcmxheS5jc3Moew0KCQkJCQknYmFja2dyb3VuZC1jb2xvcicgOiBjdXJyZW50T3B0cy5vdmVybGF5Q29sb3IsDQoJCQkJCSdvcGFjaXR5JyA6IGN1cnJlbnRPcHRzLm92ZXJsYXlPcGFjaXR5LA0KCQkJCQknY3Vyc29yJyA6IGN1cnJlbnRPcHRzLmhpZGVPbk92ZXJsYXlDbGljayA/ICdwb2ludGVyJyA6ICdhdXRvJywNCgkJCQkJJ2hlaWdodCcgOiAkKGRvY3VtZW50KS5oZWlnaHQoKQ0KCQkJCX0pOw0KDQoJCQkJaWYgKCFvdmVybGF5LmlzKCc6dmlzaWJsZScpKSB7DQoJCQkJCWlmIChpc0lFNikgew0KCQkJCQkJJCgnc2VsZWN0Om5vdCgjZmFuY3lib3gtdG1wIHNlbGVjdCknKS5maWx0ZXIoZnVuY3Rpb24oKSB7DQoJCQkJCQkJcmV0dXJuIHRoaXMuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7DQoJCQkJCQl9KS5jc3Moeyd2aXNpYmlsaXR5JyA6ICdoaWRkZW4nfSkub25lKCdmYW5jeWJveC1jbGVhbnVwJywgZnVuY3Rpb24oKSB7DQoJCQkJCQkJdGhpcy5zdHlsZS52aXNpYmlsaXR5ID0gJ2luaGVyaXQnOw0KCQkJCQkJfSk7DQoJCQkJCX0NCg0KCQkJCQlvdmVybGF5LnNob3coKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KCQkJCW92ZXJsYXkuaGlkZSgpOw0KCQkJfQ0KDQoJCQlmaW5hbF9wb3MgPSBfZ2V0X3pvb21fdG8oKTsNCg0KCQkJX3Byb2Nlc3NfdGl0bGUoKTsNCg0KCQkJaWYgKHdyYXAuaXMoIjp2aXNpYmxlIikpIHsNCgkJCQkkKCBjbG9zZS5hZGQoIG5hdl9sZWZ0ICkuYWRkKCBuYXZfcmlnaHQgKSApLmhpZGUoKTsNCg0KCQkJCXBvcyA9IHdyYXAucG9zaXRpb24oKSwNCg0KCQkJCXN0YXJ0X3BvcyA9IHsNCgkJCQkJdG9wCSA6IHBvcy50b3AsDQoJCQkJCWxlZnQgOiBwb3MubGVmdCwNCgkJCQkJd2lkdGggOiB3cmFwLndpZHRoKCksDQoJCQkJCWhlaWdodCA6IHdyYXAuaGVpZ2h0KCkNCgkJCQl9Ow0KDQoJCQkJZXF1YWwgPSAoc3RhcnRfcG9zLndpZHRoID09IGZpbmFsX3Bvcy53aWR0aCAmJiBzdGFydF9wb3MuaGVpZ2h0ID09IGZpbmFsX3Bvcy5oZWlnaHQpOw0KDQoJCQkJY29udGVudC5mYWRlVG8oY3VycmVudE9wdHMuY2hhbmdlRmFkZSwgMC4zLCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGZpbmlzaF9yZXNpemluZyA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJY29udGVudC5odG1sKCB0bXAuY29udGVudHMoKSApLmZhZGVUbyhjdXJyZW50T3B0cy5jaGFuZ2VGYWRlLCAxLCBfZmluaXNoKTsNCgkJCQkJfTsNCg0KCQkJCQkkLmV2ZW50LnRyaWdnZXIoJ2ZhbmN5Ym94LWNoYW5nZScpOw0KDQoJCQkJCWNvbnRlbnQNCgkJCQkJCS5lbXB0eSgpDQoJCQkJCQkucmVtb3ZlQXR0cignZmlsdGVyJykNCgkJCQkJCS5jc3Moew0KCQkJCQkJCSdib3JkZXItd2lkdGgnIDogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQknd2lkdGgnCTogZmluYWxfcG9zLndpZHRoIC0gY3VycmVudE9wdHMucGFkZGluZyAqIDIsDQoJCQkJCQkJJ2hlaWdodCcgOiBzZWxlY3RlZE9wdHMuYXV0b0RpbWVuc2lvbnMgPyAnYXV0bycgOiBmaW5hbF9wb3MuaGVpZ2h0IC0gdGl0bGVIZWlnaHQgLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMg0KCQkJCQkJfSk7DQoNCgkJCQkJaWYgKGVxdWFsKSB7DQoJCQkJCQlmaW5pc2hfcmVzaXppbmcoKTsNCg0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJZngucHJvcCA9IDA7DQoNCgkJCQkJCSQoZngpLmFuaW1hdGUoe3Byb3A6IDF9LCB7DQoJCQkJCQkJIGR1cmF0aW9uIDogY3VycmVudE9wdHMuY2hhbmdlU3BlZWQsDQoJCQkJCQkJIGVhc2luZyA6IGN1cnJlbnRPcHRzLmVhc2luZ0NoYW5nZSwNCgkJCQkJCQkgc3RlcCA6IF9kcmF3LA0KCQkJCQkJCSBjb21wbGV0ZSA6IGZpbmlzaF9yZXNpemluZw0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQl9KTsNCg0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJd3JhcC5yZW1vdmVBdHRyKCJzdHlsZSIpOw0KDQoJCQljb250ZW50LmNzcygnYm9yZGVyLXdpZHRoJywgY3VycmVudE9wdHMucGFkZGluZyk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy50cmFuc2l0aW9uSW4gPT0gJ2VsYXN0aWMnKSB7DQoJCQkJc3RhcnRfcG9zID0gX2dldF96b29tX2Zyb20oKTsNCg0KCQkJCWNvbnRlbnQuaHRtbCggdG1wLmNvbnRlbnRzKCkgKTsNCg0KCQkJCXdyYXAuc2hvdygpOw0KDQoJCQkJaWYgKGN1cnJlbnRPcHRzLm9wYWNpdHkpIHsNCgkJCQkJZmluYWxfcG9zLm9wYWNpdHkgPSAwOw0KCQkJCX0NCg0KCQkJCWZ4LnByb3AgPSAwOw0KDQoJCQkJJChmeCkuYW5pbWF0ZSh7cHJvcDogMX0sIHsNCgkJCQkJIGR1cmF0aW9uIDogY3VycmVudE9wdHMuc3BlZWRJbiwNCgkJCQkJIGVhc2luZyA6IGN1cnJlbnRPcHRzLmVhc2luZ0luLA0KCQkJCQkgc3RlcCA6IF9kcmF3LA0KCQkJCQkgY29tcGxldGUgOiBfZmluaXNoDQoJCQkJfSk7DQoNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50T3B0cy50aXRsZVBvc2l0aW9uID09ICdpbnNpZGUnICYmIHRpdGxlSGVpZ2h0ID4gMCkgewkNCgkJCQl0aXRsZS5zaG93KCk7CQ0KCQkJfQ0KDQoJCQljb250ZW50DQoJCQkJLmNzcyh7DQoJCQkJCSd3aWR0aCcgOiBmaW5hbF9wb3Mud2lkdGggLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMiwNCgkJCQkJJ2hlaWdodCcgOiBzZWxlY3RlZE9wdHMuYXV0b0RpbWVuc2lvbnMgPyAnYXV0bycgOiBmaW5hbF9wb3MuaGVpZ2h0IC0gdGl0bGVIZWlnaHQgLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMg0KCQkJCX0pDQoJCQkJLmh0bWwoIHRtcC5jb250ZW50cygpICk7DQoNCgkJCXdyYXANCgkJCQkuY3NzKGZpbmFsX3BvcykNCgkJCQkuZmFkZUluKCBjdXJyZW50T3B0cy50cmFuc2l0aW9uSW4gPT0gJ25vbmUnID8gMCA6IGN1cnJlbnRPcHRzLnNwZWVkSW4sIF9maW5pc2ggKTsNCgkJfSwNCg0KCQlfZm9ybWF0X3RpdGxlID0gZnVuY3Rpb24odGl0bGUpIHsNCgkJCWlmICh0aXRsZSAmJiB0aXRsZS5sZW5ndGgpIHsNCgkJCQlpZiAoY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbiA9PSAnZmxvYXQnKSB7DQoJCQkJCXJldHVybiAnPHRhYmxlIGlkPSJmYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQgaWQ9ImZhbmN5Ym94LXRpdGxlLWZsb2F0LWxlZnQiPjwvdGQ+PHRkIGlkPSJmYW5jeWJveC10aXRsZS1mbG9hdC1tYWluIj4nICsgdGl0bGUgKyAnPC90ZD48dGQgaWQ9ImZhbmN5Ym94LXRpdGxlLWZsb2F0LXJpZ2h0Ij48L3RkPjwvdHI+PC90YWJsZT4nOw0KCQkJCX0NCg0KCQkJCXJldHVybiAnPGRpdiBpZD0iZmFuY3lib3gtdGl0bGUtJyArIGN1cnJlbnRPcHRzLnRpdGxlUG9zaXRpb24gKyAnIj4nICsgdGl0bGUgKyAnPC9kaXY+JzsNCgkJCX0NCg0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9LA0KDQoJCV9wcm9jZXNzX3RpdGxlID0gZnVuY3Rpb24oKSB7DQoJCQl0aXRsZVN0ciA9IGN1cnJlbnRPcHRzLnRpdGxlIHx8ICcnOw0KCQkJdGl0bGVIZWlnaHQgPSAwOw0KDQoJCQl0aXRsZQ0KCQkJCS5lbXB0eSgpDQoJCQkJLnJlbW92ZUF0dHIoJ3N0eWxlJykNCgkJCQkucmVtb3ZlQ2xhc3MoKTsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLnRpdGxlU2hvdyA9PT0gZmFsc2UpIHsNCgkJCQl0aXRsZS5oaWRlKCk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl0aXRsZVN0ciA9ICQuaXNGdW5jdGlvbihjdXJyZW50T3B0cy50aXRsZUZvcm1hdCkgPyBjdXJyZW50T3B0cy50aXRsZUZvcm1hdCh0aXRsZVN0ciwgY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKSA6IF9mb3JtYXRfdGl0bGUodGl0bGVTdHIpOw0KDQoJCQlpZiAoIXRpdGxlU3RyIHx8IHRpdGxlU3RyID09PSAnJykgew0KCQkJCXRpdGxlLmhpZGUoKTsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXRpdGxlDQoJCQkJLmFkZENsYXNzKCdmYW5jeWJveC10aXRsZS0nICsgY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbikNCgkJCQkuaHRtbCggdGl0bGVTdHIgKQ0KCQkJCS5hcHBlbmRUbyggJ2JvZHknICkNCgkJCQkuc2hvdygpOw0KDQoJCQlzd2l0Y2ggKGN1cnJlbnRPcHRzLnRpdGxlUG9zaXRpb24pIHsNCgkJCQljYXNlICdpbnNpZGUnOg0KCQkJCQl0aXRsZQ0KCQkJCQkJLmNzcyh7DQoJCQkJCQkJJ3dpZHRoJyA6IGZpbmFsX3Bvcy53aWR0aCAtIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksDQoJCQkJCQkJJ21hcmdpbkxlZnQnIDogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQknbWFyZ2luUmlnaHQnIDogY3VycmVudE9wdHMucGFkZGluZw0KCQkJCQkJfSk7DQoNCgkJCQkJdGl0bGVIZWlnaHQgPSB0aXRsZS5vdXRlckhlaWdodCh0cnVlKTsNCg0KCQkJCQl0aXRsZS5hcHBlbmRUbyggb3V0ZXIgKTsNCg0KCQkJCQlmaW5hbF9wb3MuaGVpZ2h0ICs9IHRpdGxlSGVpZ2h0Ow0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnb3Zlcic6DQoJCQkJCXRpdGxlDQoJCQkJCQkuY3NzKHsNCgkJCQkJCQknbWFyZ2luTGVmdCcgOiBjdXJyZW50T3B0cy5wYWRkaW5nLA0KCQkJCQkJCSd3aWR0aCcJOiBmaW5hbF9wb3Mud2lkdGggLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLA0KCQkJCQkJCSdib3R0b20nIDogY3VycmVudE9wdHMucGFkZGluZw0KCQkJCQkJfSkNCgkJCQkJCS5hcHBlbmRUbyggb3V0ZXIgKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ2Zsb2F0JzoNCgkJCQkJdGl0bGUNCgkJCQkJCS5jc3MoJ2xlZnQnLCBwYXJzZUludCgodGl0bGUud2lkdGgoKSAtIGZpbmFsX3Bvcy53aWR0aCAtIDQwKS8gMiwgMTApICogLTEpDQoJCQkJCQkuYXBwZW5kVG8oIHdyYXAgKTsNCgkJCQlicmVhazsNCg0KCQkJCWRlZmF1bHQ6DQoJCQkJCXRpdGxlDQoJCQkJCQkuY3NzKHsNCgkJCQkJCQknd2lkdGgnIDogZmluYWxfcG9zLndpZHRoIC0gKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwNCgkJCQkJCQkncGFkZGluZ0xlZnQnIDogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQkncGFkZGluZ1JpZ2h0JyA6IGN1cnJlbnRPcHRzLnBhZGRpbmcNCgkJCQkJCX0pDQoJCQkJCQkuYXBwZW5kVG8oIHdyYXAgKTsNCgkJCQlicmVhazsNCgkJCX0NCg0KCQkJdGl0bGUuaGlkZSgpOw0KCQl9LA0KDQoJCV9zZXRfbmF2aWdhdGlvbiA9IGZ1bmN0aW9uKCkgew0KCQkJaWYgKGN1cnJlbnRPcHRzLmVuYWJsZUVzY2FwZUJ1dHRvbiB8fCBjdXJyZW50T3B0cy5lbmFibGVLZXlib2FyZE5hdikgew0KCQkJCSQoZG9jdW1lbnQpLmJpbmQoJ2tleWRvd24uZmInLCBmdW5jdGlvbihlKSB7DQoJCQkJCWlmIChlLmtleUNvZGUgPT0gMjcgJiYgY3VycmVudE9wdHMuZW5hYmxlRXNjYXBlQnV0dG9uKSB7DQoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQkkLmZhbmN5Ym94LmNsb3NlKCk7DQoNCgkJCQkJfSBlbHNlIGlmICgoZS5rZXlDb2RlID09IDM3IHx8IGUua2V5Q29kZSA9PSAzOSkgJiYgY3VycmVudE9wdHMuZW5hYmxlS2V5Ym9hcmROYXYgJiYgZS50YXJnZXQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiBlLnRhcmdldC50YWdOYW1lICE9PSAnVEVYVEFSRUEnICYmIGUudGFyZ2V0LnRhZ05hbWUgIT09ICdTRUxFQ1QnKSB7DQoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQkkLmZhbmN5Ym94WyBlLmtleUNvZGUgPT0gMzcgPyAncHJldicgOiAnbmV4dCddKCk7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCg0KCQkJaWYgKCFjdXJyZW50T3B0cy5zaG93TmF2QXJyb3dzKSB7IA0KCQkJCW5hdl9sZWZ0LmhpZGUoKTsNCgkJCQluYXZfcmlnaHQuaGlkZSgpOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPT0gMCkgew0KCQkJCW5hdl9sZWZ0LnNob3coKTsNCgkJCX0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPSAoY3VycmVudEFycmF5Lmxlbmd0aCAtMSkpIHsNCgkJCQluYXZfcmlnaHQuc2hvdygpOw0KCQkJfQ0KCQl9LA0KDQoJCV9maW5pc2ggPSBmdW5jdGlvbiAoKSB7DQoJCQlpZiAoISQuc3VwcG9ydC5vcGFjaXR5KSB7DQoJCQkJY29udGVudC5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCdmaWx0ZXInKTsNCgkJCQl3cmFwLmdldCgwKS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ2ZpbHRlcicpOw0KCQkJfQ0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLmF1dG9EaW1lbnNpb25zKSB7DQoJCQkJY29udGVudC5jc3MoJ2hlaWdodCcsICdhdXRvJyk7DQoJCQl9DQoNCgkJCXdyYXAuY3NzKCdoZWlnaHQnLCAnYXV0bycpOw0KDQoJCQlpZiAodGl0bGVTdHIgJiYgdGl0bGVTdHIubGVuZ3RoKSB7DQoJCQkJdGl0bGUuc2hvdygpOw0KCQkJfQ0KDQoJCQlpZiAoY3VycmVudE9wdHMuc2hvd0Nsb3NlQnV0dG9uKSB7DQoJCQkJY2xvc2Uuc2hvdygpOw0KCQkJfQ0KDQoJCQlfc2V0X25hdmlnYXRpb24oKTsNCgkNCgkJCWlmIChjdXJyZW50T3B0cy5oaWRlT25Db250ZW50Q2xpY2spCXsNCgkJCQljb250ZW50LmJpbmQoJ2NsaWNrJywgJC5mYW5jeWJveC5jbG9zZSk7DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50T3B0cy5oaWRlT25PdmVybGF5Q2xpY2spCXsNCgkJCQlvdmVybGF5LmJpbmQoJ2NsaWNrJywgJC5mYW5jeWJveC5jbG9zZSk7DQoJCQl9DQoNCgkJCSQod2luZG93KS5iaW5kKCJyZXNpemUuZmIiLCAkLmZhbmN5Ym94LnJlc2l6ZSk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy5jZW50ZXJPblNjcm9sbCkgew0KCQkJCSQod2luZG93KS5iaW5kKCJzY3JvbGwuZmIiLCAkLmZhbmN5Ym94LmNlbnRlcik7DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50T3B0cy50eXBlID09ICdpZnJhbWUnKSB7DQoJCQkJJCgnPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWUiIG5hbWU9ImZhbmN5Ym94LWZyYW1lJyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgJyIgZnJhbWVib3JkZXI9IjAiIGhzcGFjZT0iMCIgJyArICgkLmJyb3dzZXIubXNpZSA/ICdhbGxvd3RyYW5zcGFyZW5jeT0idHJ1ZSIiJyA6ICcnKSArICcgc2Nyb2xsaW5nPSInICsgc2VsZWN0ZWRPcHRzLnNjcm9sbGluZyArICciIHNyYz0iJyArIGN1cnJlbnRPcHRzLmhyZWYgKyAnIj48L2lmcmFtZT4nKS5hcHBlbmRUbyhjb250ZW50KTsNCgkJCX0NCg0KCQkJd3JhcC5zaG93KCk7DQoNCgkJCWJ1c3kgPSBmYWxzZTsNCg0KCQkJJC5mYW5jeWJveC5jZW50ZXIoKTsNCg0KCQkJY3VycmVudE9wdHMub25Db21wbGV0ZShjdXJyZW50QXJyYXksIGN1cnJlbnRJbmRleCwgY3VycmVudE9wdHMpOw0KDQoJCQlfcHJlbG9hZF9pbWFnZXMoKTsNCgkJfSwNCg0KCQlfcHJlbG9hZF9pbWFnZXMgPSBmdW5jdGlvbigpIHsNCgkJCXZhciBocmVmLCANCgkJCQlvYmpOZXh0Ow0KDQoJCQlpZiAoKGN1cnJlbnRBcnJheS5sZW5ndGggLTEpID4gY3VycmVudEluZGV4KSB7DQoJCQkJaHJlZiA9IGN1cnJlbnRBcnJheVsgY3VycmVudEluZGV4ICsgMSBdLmhyZWY7DQoNCgkJCQlpZiAodHlwZW9mIGhyZWYgIT09ICd1bmRlZmluZWQnICYmIGhyZWYubWF0Y2goaW1nUmVnRXhwKSkgew0KCQkJCQlvYmpOZXh0ID0gbmV3IEltYWdlKCk7DQoJCQkJCW9iak5leHQuc3JjID0gaHJlZjsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50SW5kZXggPiAwKSB7DQoJCQkJaHJlZiA9IGN1cnJlbnRBcnJheVsgY3VycmVudEluZGV4IC0gMSBdLmhyZWY7DQoNCgkJCQlpZiAodHlwZW9mIGhyZWYgIT09ICd1bmRlZmluZWQnICYmIGhyZWYubWF0Y2goaW1nUmVnRXhwKSkgew0KCQkJCQlvYmpOZXh0ID0gbmV3IEltYWdlKCk7DQoJCQkJCW9iak5leHQuc3JjID0gaHJlZjsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJX2RyYXcgPSBmdW5jdGlvbihwb3MpIHsNCgkJCXZhciBkaW0gPSB7DQoJCQkJd2lkdGggOiBwYXJzZUludChzdGFydF9wb3Mud2lkdGggKyAoZmluYWxfcG9zLndpZHRoIC0gc3RhcnRfcG9zLndpZHRoKSAqIHBvcywgMTApLA0KCQkJCWhlaWdodCA6IHBhcnNlSW50KHN0YXJ0X3Bvcy5oZWlnaHQgKyAoZmluYWxfcG9zLmhlaWdodCAtIHN0YXJ0X3Bvcy5oZWlnaHQpICogcG9zLCAxMCksDQoNCgkJCQl0b3AgOiBwYXJzZUludChzdGFydF9wb3MudG9wICsgKGZpbmFsX3Bvcy50b3AgLSBzdGFydF9wb3MudG9wKSAqIHBvcywgMTApLA0KCQkJCWxlZnQgOiBwYXJzZUludChzdGFydF9wb3MubGVmdCArIChmaW5hbF9wb3MubGVmdCAtIHN0YXJ0X3Bvcy5sZWZ0KSAqIHBvcywgMTApDQoJCQl9Ow0KDQoJCQlpZiAodHlwZW9mIGZpbmFsX3Bvcy5vcGFjaXR5ICE9PSAndW5kZWZpbmVkJykgew0KCQkJCWRpbS5vcGFjaXR5ID0gcG9zIDwgMC41ID8gMC41IDogcG9zOw0KCQkJfQ0KDQoJCQl3cmFwLmNzcyhkaW0pOw0KDQoJCQljb250ZW50LmNzcyh7DQoJCQkJJ3dpZHRoJyA6IGRpbS53aWR0aCAtIGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyLA0KCQkJCSdoZWlnaHQnIDogZGltLmhlaWdodCAtICh0aXRsZUhlaWdodCAqIHBvcykgLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMg0KCQkJfSk7DQoJCX0sDQoNCgkJX2dldF92aWV3cG9ydCA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIFsNCgkJCQkkKHdpbmRvdykud2lkdGgoKSAtIChjdXJyZW50T3B0cy5tYXJnaW4gKiAyKSwNCgkJCQkkKHdpbmRvdykuaGVpZ2h0KCkgLSAoY3VycmVudE9wdHMubWFyZ2luICogMiksDQoJCQkJJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpICsgY3VycmVudE9wdHMubWFyZ2luLA0KCQkJCSQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpICsgY3VycmVudE9wdHMubWFyZ2luDQoJCQldOw0KCQl9LA0KDQoJCV9nZXRfem9vbV90byA9IGZ1bmN0aW9uICgpIHsNCgkJCXZhciB2aWV3ID0gX2dldF92aWV3cG9ydCgpLA0KCQkJCXRvID0ge30sDQoJCQkJcmVzaXplID0gY3VycmVudE9wdHMuYXV0b1NjYWxlLA0KCQkJCWRvdWJsZV9wYWRkaW5nID0gY3VycmVudE9wdHMucGFkZGluZyAqIDIsDQoJCQkJcmF0aW87DQoNCgkJCWlmIChjdXJyZW50T3B0cy53aWR0aC50b1N0cmluZygpLmluZGV4T2YoJyUnKSA+IC0xKSB7DQoJCQkJdG8ud2lkdGggPSBwYXJzZUludCgodmlld1swXSAqIHBhcnNlRmxvYXQoY3VycmVudE9wdHMud2lkdGgpKSAvIDEwMCwgMTApOw0KCQkJfSBlbHNlIHsNCgkJCQl0by53aWR0aCA9IGN1cnJlbnRPcHRzLndpZHRoICsgZG91YmxlX3BhZGRpbmc7DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50T3B0cy5oZWlnaHQudG9TdHJpbmcoKS5pbmRleE9mKCclJykgPiAtMSkgew0KCQkJCXRvLmhlaWdodCA9IHBhcnNlSW50KCh2aWV3WzFdICogcGFyc2VGbG9hdChjdXJyZW50T3B0cy5oZWlnaHQpKSAvIDEwMCwgMTApOw0KCQkJfSBlbHNlIHsNCgkJCQl0by5oZWlnaHQgPSBjdXJyZW50T3B0cy5oZWlnaHQgKyBkb3VibGVfcGFkZGluZzsNCgkJCX0NCg0KCQkJaWYgKHJlc2l6ZSAmJiAodG8ud2lkdGggPiB2aWV3WzBdIHx8IHRvLmhlaWdodCA+IHZpZXdbMV0pKSB7DQoJCQkJaWYgKHNlbGVjdGVkT3B0cy50eXBlID09ICdpbWFnZScgfHwgc2VsZWN0ZWRPcHRzLnR5cGUgPT0gJ3N3ZicpIHsNCgkJCQkJcmF0aW8gPSAoY3VycmVudE9wdHMud2lkdGggKSAvIChjdXJyZW50T3B0cy5oZWlnaHQgKTsNCg0KCQkJCQlpZiAoKHRvLndpZHRoICkgPiB2aWV3WzBdKSB7DQoJCQkJCQl0by53aWR0aCA9IHZpZXdbMF07DQoJCQkJCQl0by5oZWlnaHQgPSBwYXJzZUludCgoKHRvLndpZHRoIC0gZG91YmxlX3BhZGRpbmcpIC8gcmF0aW8pICsgZG91YmxlX3BhZGRpbmcsIDEwKTsNCgkJCQkJfQ0KDQoJCQkJCWlmICgodG8uaGVpZ2h0KSA+IHZpZXdbMV0pIHsNCgkJCQkJCXRvLmhlaWdodCA9IHZpZXdbMV07DQoJCQkJCQl0by53aWR0aCA9IHBhcnNlSW50KCgodG8uaGVpZ2h0IC0gZG91YmxlX3BhZGRpbmcpICogcmF0aW8pICsgZG91YmxlX3BhZGRpbmcsIDEwKTsNCgkJCQkJfQ0KDQoJCQkJfSBlbHNlIHsNCgkJCQkJdG8ud2lkdGggPSBNYXRoLm1pbih0by53aWR0aCwgdmlld1swXSk7DQoJCQkJCXRvLmhlaWdodCA9IE1hdGgubWluKHRvLmhlaWdodCwgdmlld1sxXSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0by50b3AgPSBwYXJzZUludChNYXRoLm1heCh2aWV3WzNdIC0gMjAsIHZpZXdbM10gKyAoKHZpZXdbMV0gLSB0by5oZWlnaHQgLSA0MCkgKiAwLjUpKSwgMTApOw0KCQkJdG8ubGVmdCA9IHBhcnNlSW50KE1hdGgubWF4KHZpZXdbMl0gLSAyMCwgdmlld1syXSArICgodmlld1swXSAtIHRvLndpZHRoIC0gNDApICogMC41KSksIDEwKTsNCg0KCQkJcmV0dXJuIHRvOw0KCQl9LA0KDQoJCV9nZXRfb2JqX3BvcyA9IGZ1bmN0aW9uKG9iaikgew0KCQkJdmFyIHBvcyA9IG9iai5vZmZzZXQoKTsNCg0KCQkJcG9zLnRvcCArPSBwYXJzZUludCggb2JqLmNzcygncGFkZGluZ1RvcCcpLCAxMCApIHx8IDA7DQoJCQlwb3MubGVmdCArPSBwYXJzZUludCggb2JqLmNzcygncGFkZGluZ0xlZnQnKSwgMTAgKSB8fCAwOw0KDQoJCQlwb3MudG9wICs9IHBhcnNlSW50KCBvYmouY3NzKCdib3JkZXItdG9wLXdpZHRoJyksIDEwICkgfHwgMDsNCgkJCXBvcy5sZWZ0ICs9IHBhcnNlSW50KCBvYmouY3NzKCdib3JkZXItbGVmdC13aWR0aCcpLCAxMCApIHx8IDA7DQoNCgkJCXBvcy53aWR0aCA9IG9iai53aWR0aCgpOw0KCQkJcG9zLmhlaWdodCA9IG9iai5oZWlnaHQoKTsNCg0KCQkJcmV0dXJuIHBvczsNCgkJfSwNCg0KCQlfZ2V0X3pvb21fZnJvbSA9IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG9yaWcgPSBzZWxlY3RlZE9wdHMub3JpZyA/ICQoc2VsZWN0ZWRPcHRzLm9yaWcpIDogZmFsc2UsDQoJCQkJZnJvbSA9IHt9LA0KCQkJCXBvcywNCgkJCQl2aWV3Ow0KDQoJCQlpZiAob3JpZyAmJiBvcmlnLmxlbmd0aCkgew0KCQkJCXBvcyA9IF9nZXRfb2JqX3BvcyhvcmlnKTsNCg0KCQkJCWZyb20gPSB7DQoJCQkJCXdpZHRoIDogcG9zLndpZHRoICsgKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwNCgkJCQkJaGVpZ2h0IDogcG9zLmhlaWdodCArIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksDQoJCQkJCXRvcAk6IHBvcy50b3AgLSBjdXJyZW50T3B0cy5wYWRkaW5nIC0gMjAsDQoJCQkJCWxlZnQgOiBwb3MubGVmdCAtIGN1cnJlbnRPcHRzLnBhZGRpbmcgLSAyMA0KCQkJCX07DQoNCgkJCX0gZWxzZSB7DQoJCQkJdmlldyA9IF9nZXRfdmlld3BvcnQoKTsNCg0KCQkJCWZyb20gPSB7DQoJCQkJCXdpZHRoIDogY3VycmVudE9wdHMucGFkZGluZyAqIDIsDQoJCQkJCWhlaWdodCA6IGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyLA0KCQkJCQl0b3AJOiBwYXJzZUludCh2aWV3WzNdICsgdmlld1sxXSAqIDAuNSwgMTApLA0KCQkJCQlsZWZ0IDogcGFyc2VJbnQodmlld1syXSArIHZpZXdbMF0gKiAwLjUsIDEwKQ0KCQkJCX07DQoJCQl9DQoNCgkJCXJldHVybiBmcm9tOw0KCQl9LA0KDQoJCV9hbmltYXRlX2xvYWRpbmcgPSBmdW5jdGlvbigpIHsNCgkJCWlmICghbG9hZGluZy5pcygnOnZpc2libGUnKSl7DQoJCQkJY2xlYXJJbnRlcnZhbChsb2FkaW5nVGltZXIpOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJJCgnZGl2JywgbG9hZGluZykuY3NzKCd0b3AnLCAobG9hZGluZ0ZyYW1lICogLTQwKSArICdweCcpOw0KDQoJCQlsb2FkaW5nRnJhbWUgPSAobG9hZGluZ0ZyYW1lICsgMSkgJSAxMjsNCgkJfTsNCg0KCS8qDQoJICogUHVibGljIG1ldGhvZHMgDQoJICovDQoNCgkkLmZuLmZhbmN5Ym94ID0gZnVuY3Rpb24ob3B0aW9ucykgew0KCQlpZiAoISQodGhpcykubGVuZ3RoKSB7DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KDQoJCSQodGhpcykNCgkJCS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRpb25zLCAoJC5tZXRhZGF0YSA/ICQodGhpcykubWV0YWRhdGEoKSA6IHt9KSkpDQoJCQkudW5iaW5kKCdjbGljay5mYicpDQoJCQkuYmluZCgnY2xpY2suZmInLCBmdW5jdGlvbihlKSB7DQoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KDQoJCQkJaWYgKGJ1c3kpIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCWJ1c3kgPSB0cnVlOw0KDQoJCQkJJCh0aGlzKS5ibHVyKCk7DQoNCgkJCQlzZWxlY3RlZEFycmF5ID0gW107DQoJCQkJc2VsZWN0ZWRJbmRleCA9IDA7DQoNCgkJCQl2YXIgcmVsID0gJCh0aGlzKS5hdHRyKCdyZWwnKSB8fCAnJzsNCg0KCQkJCWlmICghcmVsIHx8IHJlbCA9PSAnJyB8fCByZWwgPT09ICdub2ZvbGxvdycpIHsNCgkJCQkJc2VsZWN0ZWRBcnJheS5wdXNoKHRoaXMpOw0KDQoJCQkJfSBlbHNlIHsNCgkJCQkJc2VsZWN0ZWRBcnJheSA9ICQoImFbcmVsPSIgKyByZWwgKyAiXSwgYXJlYVtyZWw9IiArIHJlbCArICJdIik7DQoJCQkJCXNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEFycmF5LmluZGV4KCB0aGlzICk7DQoJCQkJfQ0KDQoJCQkJX3N0YXJ0KCk7DQoNCgkJCQlyZXR1cm47DQoJCQl9KTsNCg0KCQlyZXR1cm4gdGhpczsNCgl9Ow0KDQoJJC5mYW5jeWJveCA9IGZ1bmN0aW9uKG9iaikgew0KCQl2YXIgb3B0czsNCg0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoJCW9wdHMgPSB0eXBlb2YgYXJndW1lbnRzWzFdICE9PSAndW5kZWZpbmVkJyA/IGFyZ3VtZW50c1sxXSA6IHt9Ow0KDQoJCXNlbGVjdGVkQXJyYXkgPSBbXTsNCgkJc2VsZWN0ZWRJbmRleCA9IHBhcnNlSW50KG9wdHMuaW5kZXgsIDEwKSB8fCAwOw0KDQoJCWlmICgkLmlzQXJyYXkob2JqKSkgew0KCQkJZm9yICh2YXIgaSA9IDAsIGogPSBvYmoubGVuZ3RoOyBpIDwgajsgaSsrKSB7DQoJCQkJaWYgKHR5cGVvZiBvYmpbaV0gPT0gJ29iamVjdCcpIHsNCgkJCQkJJChvYmpbaV0pLmRhdGEoJ2ZhbmN5Ym94JywgJC5leHRlbmQoe30sIG9wdHMsIG9ialtpXSkpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCW9ialtpXSA9ICQoe30pLmRhdGEoJ2ZhbmN5Ym94JywgJC5leHRlbmQoe2NvbnRlbnQgOiBvYmpbaV19LCBvcHRzKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlzZWxlY3RlZEFycmF5ID0galF1ZXJ5Lm1lcmdlKHNlbGVjdGVkQXJyYXksIG9iaik7DQoNCgkJfSBlbHNlIHsNCgkJCWlmICh0eXBlb2Ygb2JqID09ICdvYmplY3QnKSB7DQoJCQkJJChvYmopLmRhdGEoJ2ZhbmN5Ym94JywgJC5leHRlbmQoe30sIG9wdHMsIG9iaikpOw0KCQkJfSBlbHNlIHsNCgkJCQlvYmogPSAkKHt9KS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHtjb250ZW50IDogb2JqfSwgb3B0cykpOw0KCQkJfQ0KDQoJCQlzZWxlY3RlZEFycmF5LnB1c2gob2JqKTsNCgkJfQ0KDQoJCWlmIChzZWxlY3RlZEluZGV4ID4gc2VsZWN0ZWRBcnJheS5sZW5ndGggfHwgc2VsZWN0ZWRJbmRleCA8IDApIHsNCgkJCXNlbGVjdGVkSW5kZXggPSAwOw0KCQl9DQoNCgkJX3N0YXJ0KCk7DQoJfTsNCg0KCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5ID0gZnVuY3Rpb24oKSB7DQoJCWNsZWFySW50ZXJ2YWwobG9hZGluZ1RpbWVyKTsNCg0KCQlsb2FkaW5nLnNob3coKTsNCgkJbG9hZGluZ1RpbWVyID0gc2V0SW50ZXJ2YWwoX2FuaW1hdGVfbG9hZGluZywgNjYpOw0KCX07DQoNCgkkLmZhbmN5Ym94LmhpZGVBY3Rpdml0eSA9IGZ1bmN0aW9uKCkgew0KCQlsb2FkaW5nLmhpZGUoKTsNCgl9Ow0KDQoJJC5mYW5jeWJveC5uZXh0ID0gZnVuY3Rpb24oKSB7DQoJCXJldHVybiAkLmZhbmN5Ym94LnBvcyggY3VycmVudEluZGV4ICsgMSk7DQoJfTsNCg0KCSQuZmFuY3lib3gucHJldiA9IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gJC5mYW5jeWJveC5wb3MoIGN1cnJlbnRJbmRleCAtIDEpOw0KCX07DQoNCgkkLmZhbmN5Ym94LnBvcyA9IGZ1bmN0aW9uKHBvcykgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJcG9zID0gcGFyc2VJbnQocG9zKTsNCg0KCQlzZWxlY3RlZEFycmF5ID0gY3VycmVudEFycmF5Ow0KDQoJCWlmIChwb3MgPiAtMSAmJiBwb3MgPCBjdXJyZW50QXJyYXkubGVuZ3RoKSB7DQoJCQlzZWxlY3RlZEluZGV4ID0gcG9zOw0KCQkJX3N0YXJ0KCk7DQoNCgkJfSBlbHNlIGlmIChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHsNCgkJCXNlbGVjdGVkSW5kZXggPSBwb3MgPj0gY3VycmVudEFycmF5Lmxlbmd0aCA/IDAgOiBjdXJyZW50QXJyYXkubGVuZ3RoIC0gMTsNCgkJCV9zdGFydCgpOw0KCQl9DQoNCgkJcmV0dXJuOw0KCX07DQoNCgkkLmZhbmN5Ym94LmNhbmNlbCA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jYW5jZWwnKTsNCg0KCQlfYWJvcnQoKTsNCg0KCQlzZWxlY3RlZE9wdHMub25DYW5jZWwoc2VsZWN0ZWRBcnJheSwgc2VsZWN0ZWRJbmRleCwgc2VsZWN0ZWRPcHRzKTsNCg0KCQlidXN5ID0gZmFsc2U7DQoJfTsNCg0KCS8vIE5vdGU6IHdpdGhpbiBhbiBpZnJhbWUgdXNlIC0gcGFyZW50LiQuZmFuY3lib3guY2xvc2UoKTsNCgkkLmZhbmN5Ym94LmNsb3NlID0gZnVuY3Rpb24oKSB7DQoJCWlmIChidXN5IHx8IHdyYXAuaXMoJzpoaWRkZW4nKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJaWYgKGN1cnJlbnRPcHRzICYmIGZhbHNlID09PSBjdXJyZW50T3B0cy5vbkNsZWFudXAoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKSkgew0KCQkJYnVzeSA9IGZhbHNlOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJX2Fib3J0KCk7DQoNCgkJJChjbG9zZS5hZGQoIG5hdl9sZWZ0ICkuYWRkKCBuYXZfcmlnaHQgKSkuaGlkZSgpOw0KDQoJCSQoY29udGVudC5hZGQoIG92ZXJsYXkgKSkudW5iaW5kKCk7DQoNCgkJJCh3aW5kb3cpLnVuYmluZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpOw0KCQkkKGRvY3VtZW50KS51bmJpbmQoJ2tleWRvd24uZmInKTsNCg0KCQljb250ZW50LmZpbmQoJ2lmcmFtZScpLmF0dHIoJ3NyYycsIGlzSUU2ICYmIC9eaHR0cHMvaS50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmIHx8ICcnKSA/ICdqYXZhc2NyaXB0OnZvaWQoZmFsc2UpJyA6ICdhYm91dDpibGFuaycpOw0KDQoJCWlmIChjdXJyZW50T3B0cy50aXRsZVBvc2l0aW9uICE9PSAnaW5zaWRlJykgew0KCQkJdGl0bGUuZW1wdHkoKTsNCgkJfQ0KDQoJCXdyYXAuc3RvcCgpOw0KDQoJCWZ1bmN0aW9uIF9jbGVhbnVwKCkgew0KCQkJb3ZlcmxheS5mYWRlT3V0KCdmYXN0Jyk7DQoNCgkJCXRpdGxlLmVtcHR5KCkuaGlkZSgpOw0KCQkJd3JhcC5oaWRlKCk7DQoNCgkJCSQuZXZlbnQudHJpZ2dlcignZmFuY3lib3gtY2xlYW51cCcpOw0KDQoJCQljb250ZW50LmVtcHR5KCk7DQoNCgkJCWN1cnJlbnRPcHRzLm9uQ2xvc2VkKGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cyk7DQoNCgkJCWN1cnJlbnRBcnJheSA9IHNlbGVjdGVkT3B0cwk9IFtdOw0KCQkJY3VycmVudEluZGV4ID0gc2VsZWN0ZWRJbmRleCA9IDA7DQoJCQljdXJyZW50T3B0cyA9IHNlbGVjdGVkT3B0cwk9IHt9Ow0KDQoJCQlidXN5ID0gZmFsc2U7DQoJCX0NCg0KCQlpZiAoY3VycmVudE9wdHMudHJhbnNpdGlvbk91dCA9PSAnZWxhc3RpYycpIHsNCgkJCXN0YXJ0X3BvcyA9IF9nZXRfem9vbV9mcm9tKCk7DQoNCgkJCXZhciBwb3MgPSB3cmFwLnBvc2l0aW9uKCk7DQoNCgkJCWZpbmFsX3BvcyA9IHsNCgkJCQl0b3AJIDogcG9zLnRvcCAsDQoJCQkJbGVmdCA6IHBvcy5sZWZ0LA0KCQkJCXdpZHRoIDoJd3JhcC53aWR0aCgpLA0KCQkJCWhlaWdodCA6IHdyYXAuaGVpZ2h0KCkNCgkJCX07DQoNCgkJCWlmIChjdXJyZW50T3B0cy5vcGFjaXR5KSB7DQoJCQkJZmluYWxfcG9zLm9wYWNpdHkgPSAxOw0KCQkJfQ0KDQoJCQl0aXRsZS5lbXB0eSgpLmhpZGUoKTsNCg0KCQkJZngucHJvcCA9IDE7DQoNCgkJCSQoZngpLmFuaW1hdGUoeyBwcm9wOiAwIH0sIHsNCgkJCQkgZHVyYXRpb24gOiBjdXJyZW50T3B0cy5zcGVlZE91dCwNCgkJCQkgZWFzaW5nIDogY3VycmVudE9wdHMuZWFzaW5nT3V0LA0KCQkJCSBzdGVwIDogX2RyYXcsDQoJCQkJIGNvbXBsZXRlIDogX2NsZWFudXANCgkJCX0pOw0KDQoJCX0gZWxzZSB7DQoJCQl3cmFwLmZhZGVPdXQoIGN1cnJlbnRPcHRzLnRyYW5zaXRpb25PdXQgPT0gJ25vbmUnID8gMCA6IGN1cnJlbnRPcHRzLnNwZWVkT3V0LCBfY2xlYW51cCk7DQoJCX0NCgl9Ow0KDQoJJC5mYW5jeWJveC5yZXNpemUgPSBmdW5jdGlvbigpIHsNCgkJaWYgKG92ZXJsYXkuaXMoJzp2aXNpYmxlJykpIHsNCgkJCW92ZXJsYXkuY3NzKCdoZWlnaHQnLCAkKGRvY3VtZW50KS5oZWlnaHQoKSk7DQoJCX0NCg0KCQkkLmZhbmN5Ym94LmNlbnRlcih0cnVlKTsNCgl9Ow0KDQoJJC5mYW5jeWJveC5jZW50ZXIgPSBmdW5jdGlvbigpIHsNCgkJdmFyIHZpZXcsIGFsaWduOw0KDQoJCWlmIChidXN5KSB7DQoJCQlyZXR1cm47CQ0KCQl9DQoNCgkJYWxpZ24gPSBhcmd1bWVudHNbMF0gPT09IHRydWUgPyAxIDogMDsNCgkJdmlldyA9IF9nZXRfdmlld3BvcnQoKTsNCg0KCQlpZiAoIWFsaWduICYmICh3cmFwLndpZHRoKCkgPiB2aWV3WzBdIHx8IHdyYXAuaGVpZ2h0KCkgPiB2aWV3WzFdKSkgew0KCQkJcmV0dXJuOwkNCgkJfQ0KDQoJCXdyYXANCgkJCS5zdG9wKCkNCgkJCS5hbmltYXRlKHsNCgkJCQkndG9wJyA6IHBhcnNlSW50KE1hdGgubWF4KHZpZXdbM10gLSAyMCwgdmlld1szXSArICgodmlld1sxXSAtIGNvbnRlbnQuaGVpZ2h0KCkgLSA0MCkgKiAwLjUpIC0gY3VycmVudE9wdHMucGFkZGluZykpLA0KCQkJCSdsZWZ0JyA6IHBhcnNlSW50KE1hdGgubWF4KHZpZXdbMl0gLSAyMCwgdmlld1syXSArICgodmlld1swXSAtIGNvbnRlbnQud2lkdGgoKSAtIDQwKSAqIDAuNSkgLSBjdXJyZW50T3B0cy5wYWRkaW5nKSkNCgkJCX0sIHR5cGVvZiBhcmd1bWVudHNbMF0gPT0gJ251bWJlcicgPyBhcmd1bWVudHNbMF0gOiAyMDApOw0KCX07DQoNCgkkLmZhbmN5Ym94LmluaXQgPSBmdW5jdGlvbigpIHsNCgkJaWYgKCQoIiNmYW5jeWJveC13cmFwIikubGVuZ3RoKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkkKCdib2R5JykuYXBwZW5kKA0KCQkJdG1wCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtdG1wIj48L2Rpdj4nKSwNCgkJCWxvYWRpbmcJPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC1sb2FkaW5nIj48ZGl2PjwvZGl2PjwvZGl2PicpLA0KCQkJb3ZlcmxheQk9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLA0KCQkJd3JhcCA9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LXdyYXAiPjwvZGl2PicpDQoJCSk7DQoNCgkJb3V0ZXIgPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC1vdXRlciI+PC9kaXY+JykNCgkJCS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctbiI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1uZSI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeWJveC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXNlIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeWJveC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXMiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctc3ciPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1udyI+PC9kaXY+JykNCgkJCS5hcHBlbmRUbyggd3JhcCApOw0KDQoJCW91dGVyLmFwcGVuZCgNCgkJCWNvbnRlbnQgPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC1jb250ZW50Ij48L2Rpdj4nKSwNCgkJCWNsb3NlID0gJCgnPGEgaWQ9ImZhbmN5Ym94LWNsb3NlIj48L2E+JyksDQoJCQl0aXRsZSA9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LXRpdGxlIj48L2Rpdj4nKSwNCg0KCQkJbmF2X2xlZnQgPSAkKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1sZWZ0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtbGVmdC1pY28iPjwvc3Bhbj48L2E+JyksDQoJCQluYXZfcmlnaHQgPSAkKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1yaWdodCI+PHNwYW4gY2xhc3M9ImZhbmN5LWljbyIgaWQ9ImZhbmN5Ym94LXJpZ2h0LWljbyI+PC9zcGFuPjwvYT4nKQ0KCQkpOw0KDQoJCWNsb3NlLmNsaWNrKCQuZmFuY3lib3guY2xvc2UpOw0KCQlsb2FkaW5nLmNsaWNrKCQuZmFuY3lib3guY2FuY2VsKTsNCg0KCQluYXZfbGVmdC5jbGljayhmdW5jdGlvbihlKSB7DQoJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkkLmZhbmN5Ym94LnByZXYoKTsNCgkJfSk7DQoNCgkJbmF2X3JpZ2h0LmNsaWNrKGZ1bmN0aW9uKGUpIHsNCgkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCSQuZmFuY3lib3gubmV4dCgpOw0KCQl9KTsNCg0KCQlpZiAoJC5mbi5tb3VzZXdoZWVsKSB7DQoJCQl3cmFwLmJpbmQoJ21vdXNld2hlZWwuZmInLCBmdW5jdGlvbihlLCBkZWx0YSkgew0KCQkJCWlmIChidXN5KSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCX0gZWxzZSBpZiAoJChlLnRhcmdldCkuZ2V0KDApLmNsaWVudEhlaWdodCA9PSAwIHx8ICQoZS50YXJnZXQpLmdldCgwKS5zY3JvbGxIZWlnaHQgPT09ICQoZS50YXJnZXQpLmdldCgwKS5jbGllbnRIZWlnaHQpIHsNCgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkkLmZhbmN5Ym94WyBkZWx0YSA+IDAgPyAncHJldicgOiAnbmV4dCddKCk7DQoJCQkJfQ0KCQkJfSk7DQoJCX0NCg0KCQlpZiAoISQuc3VwcG9ydC5vcGFjaXR5KSB7DQoJCQl3cmFwLmFkZENsYXNzKCdmYW5jeWJveC1pZScpOw0KCQl9DQoNCgkJaWYgKGlzSUU2KSB7DQoJCQlsb2FkaW5nLmFkZENsYXNzKCdmYW5jeWJveC1pZTYnKTsNCgkJCXdyYXAuYWRkQ2xhc3MoJ2ZhbmN5Ym94LWllNicpOw0KDQoJCQkkKCc8aWZyYW1lIGlkPSJmYW5jeWJveC1oaWRlLXNlbC1mcmFtZSIgc3JjPSInICsgKC9eaHR0cHMvaS50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmIHx8ICcnKSA/ICdqYXZhc2NyaXB0OnZvaWQoZmFsc2UpJyA6ICdhYm91dDpibGFuaycgKSArICciIHNjcm9sbGluZz0ibm8iIGJvcmRlcj0iMCIgZnJhbWVib3JkZXI9IjAiIHRhYmluZGV4PSItMSI+PC9pZnJhbWU+JykucHJlcGVuZFRvKG91dGVyKTsNCgkJfQ0KCX07DQoNCgkkLmZuLmZhbmN5Ym94LmRlZmF1bHRzID0gew0KCQlwYWRkaW5nIDogMTAsDQoJCW1hcmdpbiA6IDQwLA0KCQlvcGFjaXR5IDogZmFsc2UsDQoJCW1vZGFsIDogZmFsc2UsDQoJCWN5Y2xpYyA6IGZhbHNlLA0KCQlzY3JvbGxpbmcgOiAnYXV0bycsCS8vICdhdXRvJywgJ3llcycgb3IgJ25vJw0KDQoJCXdpZHRoIDogNTYwLA0KCQloZWlnaHQgOiAzNDAsDQoNCgkJYXV0b1NjYWxlIDogdHJ1ZSwNCgkJYXV0b0RpbWVuc2lvbnMgOiB0cnVlLA0KCQljZW50ZXJPblNjcm9sbCA6IGZhbHNlLA0KDQoJCWFqYXggOiB7fSwNCgkJc3dmIDogeyB3bW9kZTogJ3RyYW5zcGFyZW50JyB9LA0KDQoJCWhpZGVPbk92ZXJsYXlDbGljayA6IHRydWUsDQoJCWhpZGVPbkNvbnRlbnRDbGljayA6IGZhbHNlLA0KDQoJCW92ZXJsYXlTaG93IDogdHJ1ZSwNCgkJb3ZlcmxheU9wYWNpdHkgOiAwLjcsDQoJCW92ZXJsYXlDb2xvciA6ICcjNzc3JywNCg0KCQl0aXRsZVNob3cgOiB0cnVlLA0KCQl0aXRsZVBvc2l0aW9uIDogJ2Zsb2F0JywgLy8gJ2Zsb2F0JywgJ291dHNpZGUnLCAnaW5zaWRlJyBvciAnb3ZlcicNCgkJdGl0bGVGb3JtYXQgOiBudWxsLA0KCQl0aXRsZUZyb21BbHQgOiBmYWxzZSwNCg0KCQl0cmFuc2l0aW9uSW4gOiAnZmFkZScsIC8vICdlbGFzdGljJywgJ2ZhZGUnIG9yICdub25lJw0KCQl0cmFuc2l0aW9uT3V0IDogJ2ZhZGUnLCAvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCg0KCQlzcGVlZEluIDogMzAwLA0KCQlzcGVlZE91dCA6IDMwMCwNCg0KCQljaGFuZ2VTcGVlZCA6IDMwMCwNCgkJY2hhbmdlRmFkZSA6ICdmYXN0JywNCg0KCQllYXNpbmdJbiA6ICdzd2luZycsDQoJCWVhc2luZ091dCA6ICdzd2luZycsDQoNCgkJc2hvd0Nsb3NlQnV0dG9uCSA6IHRydWUsDQoJCXNob3dOYXZBcnJvd3MgOiB0cnVlLA0KCQllbmFibGVFc2NhcGVCdXR0b24gOiB0cnVlLA0KCQllbmFibGVLZXlib2FyZE5hdiA6IHRydWUsDQoNCgkJb25TdGFydCA6IGZ1bmN0aW9uKCl7fSwNCgkJb25DYW5jZWwgOiBmdW5jdGlvbigpe30sDQoJCW9uQ29tcGxldGUgOiBmdW5jdGlvbigpe30sDQoJCW9uQ2xlYW51cCA6IGZ1bmN0aW9uKCl7fSwNCgkJb25DbG9zZWQgOiBmdW5jdGlvbigpe30sDQoJCW9uRXJyb3IgOiBmdW5jdGlvbigpe30NCgl9Ow0KDQoJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoJCSQuZmFuY3lib3guaW5pdCgpOw0KCX0pOw0KDQp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.4.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogRmFuY3lCb3ggLSBqUXVlcnkgUGx1Z2luCiAqIFNpbXBsZSBhbmQgZmFuY3kgbGlnaHRib3ggYWx0ZXJuYXRpdmUKICoKICogRXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXQ6IGh0dHA6Ly9mYW5jeWJveC5uZXQKICogCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzCiAqIFRoYXQgc2FpZCwgaXQgaXMgaGFyZGx5IGEgb25lLXBlcnNvbiBwcm9qZWN0LiBNYW55IHBlb3BsZSBoYXZlIHN1Ym1pdHRlZCBidWdzLCBjb2RlLCBhbmQgb2ZmZXJlZCB0aGVpciBhZHZpY2UgZnJlZWx5LiBUaGVpciBzdXBwb3J0IGlzIGdyZWF0bHkgYXBwcmVjaWF0ZWQuCiAqIAogKiBWZXJzaW9uOiAxLjMuNCAoMTEvMTEvMjAxMCkKICogUmVxdWlyZXM6IGpRdWVyeSB2MS4zKwogKgogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlczoKICogICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAogKi8KCjsoZnVuY3Rpb24oYil7dmFyIG0sdCx1LGYsRCxqLEUsbix6LEEscT0wLGU9e30sbz1bXSxwPTAsZD17fSxsPVtdLEc9bnVsbCx2PW5ldyBJbWFnZSxKPS9cLihqcGd8Z2lmfHBuZ3xibXB8anBlZykoLiopPyQvaSxXPS9bXlwuXVwuKHN3ZilccyokL2ksSyxMPTEseT0wLHM9IiIscixpLGg9ZmFsc2UsQj1iLmV4dGVuZChiKCI8ZGl2Lz4iKVswXSx7cHJvcDowfSksTT1iLmJyb3dzZXIubXNpZSYmYi5icm93c2VyLnZlcnNpb248NyYmIXdpbmRvdy5YTUxIdHRwUmVxdWVzdCxOPWZ1bmN0aW9uKCl7dC5oaWRlKCk7di5vbmVycm9yPXYub25sb2FkPW51bGw7RyYmRy5hYm9ydCgpO20uZW1wdHkoKX0sTz1mdW5jdGlvbigpe2lmKGZhbHNlPT09ZS5vbkVycm9yKG8scSxlKSl7dC5oaWRlKCk7aD1mYWxzZX1lbHNle2UudGl0bGVTaG93PWZhbHNlO2Uud2lkdGg9ImF1dG8iO2UuaGVpZ2h0PSJhdXRvIjttLmh0bWwoJzxwIGlkPSJmYW5jeWJveC1lcnJvciI+VGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyIC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L3A+Jyk7CkYoKX19LEk9ZnVuY3Rpb24oKXt2YXIgYT1vW3FdLGMsZyxrLEMsUCx3O04oKTtlPWIuZXh0ZW5kKHt9LGIuZm4uZmFuY3lib3guZGVmYXVsdHMsdHlwZW9mIGIoYSkuZGF0YSgiZmFuY3lib3giKT09InVuZGVmaW5lZCI/ZTpiKGEpLmRhdGEoImZhbmN5Ym94IikpO3c9ZS5vblN0YXJ0KG8scSxlKTtpZih3PT09ZmFsc2UpaD1mYWxzZTtlbHNle2lmKHR5cGVvZiB3PT0ib2JqZWN0IillPWIuZXh0ZW5kKGUsdyk7az1lLnRpdGxlfHwoYS5ub2RlTmFtZT9iKGEpLmF0dHIoInRpdGxlIik6YS50aXRsZSl8fCIiO2lmKGEubm9kZU5hbWUmJiFlLm9yaWcpZS5vcmlnPWIoYSkuY2hpbGRyZW4oImltZzpmaXJzdCIpLmxlbmd0aD9iKGEpLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKTpiKGEpO2lmKGs9PT0iIiYmZS5vcmlnJiZlLnRpdGxlRnJvbUFsdClrPWUub3JpZy5hdHRyKCJhbHQiKTtjPWUuaHJlZnx8KGEubm9kZU5hbWU/YihhKS5hdHRyKCJocmVmIik6YS5ocmVmKXx8bnVsbDtpZigvXig/OmphdmFzY3JpcHQpL2kudGVzdChjKXx8CmM9PSIjIiljPW51bGw7aWYoZS50eXBlKXtnPWUudHlwZTtpZighYyljPWUuY29udGVudH1lbHNlIGlmKGUuY29udGVudClnPSJodG1sIjtlbHNlIGlmKGMpZz1jLm1hdGNoKEopPyJpbWFnZSI6Yy5tYXRjaChXKT8ic3dmIjpiKGEpLmhhc0NsYXNzKCJpZnJhbWUiKT8iaWZyYW1lIjpjLmluZGV4T2YoIiMiKT09PTA/ImlubGluZSI6ImFqYXgiO2lmKGcpe2lmKGc9PSJpbmxpbmUiKXthPWMuc3Vic3RyKGMuaW5kZXhPZigiIyIpKTtnPWIoYSkubGVuZ3RoPjA/ImlubGluZSI6ImFqYXgifWUudHlwZT1nO2UuaHJlZj1jO2UudGl0bGU9aztpZihlLmF1dG9EaW1lbnNpb25zKWlmKGUudHlwZT09Imh0bWwifHxlLnR5cGU9PSJpbmxpbmUifHxlLnR5cGU9PSJhamF4Iil7ZS53aWR0aD0iYXV0byI7ZS5oZWlnaHQ9ImF1dG8ifWVsc2UgZS5hdXRvRGltZW5zaW9ucz1mYWxzZTtpZihlLm1vZGFsKXtlLm92ZXJsYXlTaG93PXRydWU7ZS5oaWRlT25PdmVybGF5Q2xpY2s9ZmFsc2U7ZS5oaWRlT25Db250ZW50Q2xpY2s9CmZhbHNlO2UuZW5hYmxlRXNjYXBlQnV0dG9uPWZhbHNlO2Uuc2hvd0Nsb3NlQnV0dG9uPWZhbHNlfWUucGFkZGluZz1wYXJzZUludChlLnBhZGRpbmcsMTApO2UubWFyZ2luPXBhcnNlSW50KGUubWFyZ2luLDEwKTttLmNzcygicGFkZGluZyIsZS5wYWRkaW5nK2UubWFyZ2luKTtiKCIuZmFuY3lib3gtaW5saW5lLXRtcCIpLnVuYmluZCgiZmFuY3lib3gtY2FuY2VsIikuYmluZCgiZmFuY3lib3gtY2hhbmdlIixmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgoai5jaGlsZHJlbigpKX0pO3N3aXRjaChnKXtjYXNlICJodG1sIjptLmh0bWwoZS5jb250ZW50KTtGKCk7YnJlYWs7Y2FzZSAiaW5saW5lIjppZihiKGEpLnBhcmVudCgpLmlzKCIjZmFuY3lib3gtY29udGVudCIpPT09dHJ1ZSl7aD1mYWxzZTticmVha31iKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbmxpbmUtdG1wIiAvPicpLmhpZGUoKS5pbnNlcnRCZWZvcmUoYihhKSkuYmluZCgiZmFuY3lib3gtY2xlYW51cCIsZnVuY3Rpb24oKXtiKHRoaXMpLnJlcGxhY2VXaXRoKGouY2hpbGRyZW4oKSl9KS5iaW5kKCJmYW5jeWJveC1jYW5jZWwiLApmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgobS5jaGlsZHJlbigpKX0pO2IoYSkuYXBwZW5kVG8obSk7RigpO2JyZWFrO2Nhc2UgImltYWdlIjpoPWZhbHNlO2IuZmFuY3lib3guc2hvd0FjdGl2aXR5KCk7dj1uZXcgSW1hZ2U7di5vbmVycm9yPWZ1bmN0aW9uKCl7TygpfTt2Lm9ubG9hZD1mdW5jdGlvbigpe2g9dHJ1ZTt2Lm9uZXJyb3I9di5vbmxvYWQ9bnVsbDtlLndpZHRoPXYud2lkdGg7ZS5oZWlnaHQ9di5oZWlnaHQ7YigiPGltZyAvPiIpLmF0dHIoe2lkOiJmYW5jeWJveC1pbWciLHNyYzp2LnNyYyxhbHQ6ZS50aXRsZX0pLmFwcGVuZFRvKG0pO1EoKX07di5zcmM9YzticmVhaztjYXNlICJzd2YiOmUuc2Nyb2xsaW5nPSJubyI7Qz0nPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSInK2Uud2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrYysKJyI+PC9wYXJhbT4nO1A9IiI7Yi5lYWNoKGUuc3dmLGZ1bmN0aW9uKHgsSCl7Qys9JzxwYXJhbSBuYW1lPSInK3grJyIgdmFsdWU9IicrSCsnIj48L3BhcmFtPic7UCs9IiAiK3grJz0iJytIKyciJ30pO0MrPSc8ZW1iZWQgc3JjPSInK2MrJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSInK2Uud2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciJytQKyI+PC9lbWJlZD48L29iamVjdD4iO20uaHRtbChDKTtGKCk7YnJlYWs7Y2FzZSAiYWpheCI6aD1mYWxzZTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpO2UuYWpheC53aW49ZS5hamF4LnN1Y2Nlc3M7Rz1iLmFqYXgoYi5leHRlbmQoe30sZS5hamF4LHt1cmw6YyxkYXRhOmUuYWpheC5kYXRhfHx7fSxlcnJvcjpmdW5jdGlvbih4KXt4LnN0YXR1cz4wJiZPKCl9LHN1Y2Nlc3M6ZnVuY3Rpb24oeCxILFIpe2lmKCh0eXBlb2YgUj09Im9iamVjdCI/UjpHKS5zdGF0dXM9PTIwMCl7aWYodHlwZW9mIGUuYWpheC53aW49PQoiZnVuY3Rpb24iKXt3PWUuYWpheC53aW4oYyx4LEgsUik7aWYodz09PWZhbHNlKXt0LmhpZGUoKTtyZXR1cm59ZWxzZSBpZih0eXBlb2Ygdz09InN0cmluZyJ8fHR5cGVvZiB3PT0ib2JqZWN0Iil4PXd9bS5odG1sKHgpO0YoKX19fSkpO2JyZWFrO2Nhc2UgImlmcmFtZSI6USgpfX1lbHNlIE8oKX19LEY9ZnVuY3Rpb24oKXt2YXIgYT1lLndpZHRoLGM9ZS5oZWlnaHQ7YT1hLnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xP3BhcnNlSW50KChiKHdpbmRvdykud2lkdGgoKS1lLm1hcmdpbioyKSpwYXJzZUZsb2F0KGEpLzEwMCwxMCkrInB4IjphPT0iYXV0byI/ImF1dG8iOmErInB4IjtjPWMudG9TdHJpbmcoKS5pbmRleE9mKCIlIik+LTE/cGFyc2VJbnQoKGIod2luZG93KS5oZWlnaHQoKS1lLm1hcmdpbioyKSpwYXJzZUZsb2F0KGMpLzEwMCwxMCkrInB4IjpjPT0iYXV0byI/ImF1dG8iOmMrInB4IjttLndyYXBJbm5lcignPGRpdiBzdHlsZT0id2lkdGg6JythKyI7aGVpZ2h0OiIrYysKIjtvdmVyZmxvdzogIisoZS5zY3JvbGxpbmc9PSJhdXRvIj8iYXV0byI6ZS5zY3JvbGxpbmc9PSJ5ZXMiPyJzY3JvbGwiOiJoaWRkZW4iKSsnO3Bvc2l0aW9uOnJlbGF0aXZlOyI+PC9kaXY+Jyk7ZS53aWR0aD1tLndpZHRoKCk7ZS5oZWlnaHQ9bS5oZWlnaHQoKTtRKCl9LFE9ZnVuY3Rpb24oKXt2YXIgYSxjO3QuaGlkZSgpO2lmKGYuaXMoIjp2aXNpYmxlIikmJmZhbHNlPT09ZC5vbkNsZWFudXAobCxwLGQpKXtiLmV2ZW50LnRyaWdnZXIoImZhbmN5Ym94LWNhbmNlbCIpO2g9ZmFsc2V9ZWxzZXtoPXRydWU7YihqLmFkZCh1KSkudW5iaW5kKCk7Yih3aW5kb3cpLnVuYmluZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpO2IoZG9jdW1lbnQpLnVuYmluZCgia2V5ZG93bi5mYiIpO2YuaXMoIjp2aXNpYmxlIikmJmQudGl0bGVQb3NpdGlvbiE9PSJvdXRzaWRlIiYmZi5jc3MoImhlaWdodCIsZi5oZWlnaHQoKSk7bD1vO3A9cTtkPWU7aWYoZC5vdmVybGF5U2hvdyl7dS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkLm92ZXJsYXlDb2xvciwKb3BhY2l0eTpkLm92ZXJsYXlPcGFjaXR5LGN1cnNvcjpkLmhpZGVPbk92ZXJsYXlDbGljaz8icG9pbnRlciI6ImF1dG8iLGhlaWdodDpiKGRvY3VtZW50KS5oZWlnaHQoKX0pO2lmKCF1LmlzKCI6dmlzaWJsZSIpKXtNJiZiKCJzZWxlY3Q6bm90KCNmYW5jeWJveC10bXAgc2VsZWN0KSIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0eWxlLnZpc2liaWxpdHkhPT0iaGlkZGVuIn0pLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIn0pLm9uZSgiZmFuY3lib3gtY2xlYW51cCIsZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnZpc2liaWxpdHk9ImluaGVyaXQifSk7dS5zaG93KCl9fWVsc2UgdS5oaWRlKCk7aT1YKCk7cz1kLnRpdGxlfHwiIjt5PTA7bi5lbXB0eSgpLnJlbW92ZUF0dHIoInN0eWxlIikucmVtb3ZlQ2xhc3MoKTtpZihkLnRpdGxlU2hvdyE9PWZhbHNlKXtpZihiLmlzRnVuY3Rpb24oZC50aXRsZUZvcm1hdCkpYT1kLnRpdGxlRm9ybWF0KHMsbCxwLGQpO2Vsc2UgYT1zJiZzLmxlbmd0aD8KZC50aXRsZVBvc2l0aW9uPT0iZmxvYXQiPyc8dGFibGUgaWQ9ImZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZCBpZD0iZmFuY3lib3gtdGl0bGUtZmxvYXQtbGVmdCI+PC90ZD48dGQgaWQ9ImZhbmN5Ym94LXRpdGxlLWZsb2F0LW1haW4iPicrcysnPC90ZD48dGQgaWQ9ImZhbmN5Ym94LXRpdGxlLWZsb2F0LXJpZ2h0Ij48L3RkPjwvdHI+PC90YWJsZT4nOic8ZGl2IGlkPSJmYW5jeWJveC10aXRsZS0nK2QudGl0bGVQb3NpdGlvbisnIj4nK3MrIjwvZGl2PiI6ZmFsc2U7cz1hO2lmKCEoIXN8fHM9PT0iIikpe24uYWRkQ2xhc3MoImZhbmN5Ym94LXRpdGxlLSIrZC50aXRsZVBvc2l0aW9uKS5odG1sKHMpLmFwcGVuZFRvKCJib2R5Iikuc2hvdygpO3N3aXRjaChkLnRpdGxlUG9zaXRpb24pe2Nhc2UgImluc2lkZSI6bi5jc3Moe3dpZHRoOmkud2lkdGgtZC5wYWRkaW5nKjIsbWFyZ2luTGVmdDpkLnBhZGRpbmcsbWFyZ2luUmlnaHQ6ZC5wYWRkaW5nfSk7Cnk9bi5vdXRlckhlaWdodCh0cnVlKTtuLmFwcGVuZFRvKEQpO2kuaGVpZ2h0Kz15O2JyZWFrO2Nhc2UgIm92ZXIiOm4uY3NzKHttYXJnaW5MZWZ0OmQucGFkZGluZyx3aWR0aDppLndpZHRoLWQucGFkZGluZyoyLGJvdHRvbTpkLnBhZGRpbmd9KS5hcHBlbmRUbyhEKTticmVhaztjYXNlICJmbG9hdCI6bi5jc3MoImxlZnQiLHBhcnNlSW50KChuLndpZHRoKCktaS53aWR0aC00MCkvMiwxMCkqLTEpLmFwcGVuZFRvKGYpO2JyZWFrO2RlZmF1bHQ6bi5jc3Moe3dpZHRoOmkud2lkdGgtZC5wYWRkaW5nKjIscGFkZGluZ0xlZnQ6ZC5wYWRkaW5nLHBhZGRpbmdSaWdodDpkLnBhZGRpbmd9KS5hcHBlbmRUbyhmKX19fW4uaGlkZSgpO2lmKGYuaXMoIjp2aXNpYmxlIikpe2IoRS5hZGQoeikuYWRkKEEpKS5oaWRlKCk7YT1mLnBvc2l0aW9uKCk7cj17dG9wOmEudG9wLGxlZnQ6YS5sZWZ0LHdpZHRoOmYud2lkdGgoKSxoZWlnaHQ6Zi5oZWlnaHQoKX07Yz1yLndpZHRoPT1pLndpZHRoJiZyLmhlaWdodD09CmkuaGVpZ2h0O2ouZmFkZVRvKGQuY2hhbmdlRmFkZSwwLjMsZnVuY3Rpb24oKXt2YXIgZz1mdW5jdGlvbigpe2ouaHRtbChtLmNvbnRlbnRzKCkpLmZhZGVUbyhkLmNoYW5nZUZhZGUsMSxTKX07Yi5ldmVudC50cmlnZ2VyKCJmYW5jeWJveC1jaGFuZ2UiKTtqLmVtcHR5KCkucmVtb3ZlQXR0cigiZmlsdGVyIikuY3NzKHsiYm9yZGVyLXdpZHRoIjpkLnBhZGRpbmcsd2lkdGg6aS53aWR0aC1kLnBhZGRpbmcqMixoZWlnaHQ6ZS5hdXRvRGltZW5zaW9ucz8iYXV0byI6aS5oZWlnaHQteS1kLnBhZGRpbmcqMn0pO2lmKGMpZygpO2Vsc2V7Qi5wcm9wPTA7YihCKS5hbmltYXRlKHtwcm9wOjF9LHtkdXJhdGlvbjpkLmNoYW5nZVNwZWVkLGVhc2luZzpkLmVhc2luZ0NoYW5nZSxzdGVwOlQsY29tcGxldGU6Z30pfX0pfWVsc2V7Zi5yZW1vdmVBdHRyKCJzdHlsZSIpO2ouY3NzKCJib3JkZXItd2lkdGgiLGQucGFkZGluZyk7aWYoZC50cmFuc2l0aW9uSW49PSJlbGFzdGljIil7cj1WKCk7ai5odG1sKG0uY29udGVudHMoKSk7CmYuc2hvdygpO2lmKGQub3BhY2l0eSlpLm9wYWNpdHk9MDtCLnByb3A9MDtiKEIpLmFuaW1hdGUoe3Byb3A6MX0se2R1cmF0aW9uOmQuc3BlZWRJbixlYXNpbmc6ZC5lYXNpbmdJbixzdGVwOlQsY29tcGxldGU6U30pfWVsc2V7ZC50aXRsZVBvc2l0aW9uPT0iaW5zaWRlIiYmeT4wJiZuLnNob3coKTtqLmNzcyh7d2lkdGg6aS53aWR0aC1kLnBhZGRpbmcqMixoZWlnaHQ6ZS5hdXRvRGltZW5zaW9ucz8iYXV0byI6aS5oZWlnaHQteS1kLnBhZGRpbmcqMn0pLmh0bWwobS5jb250ZW50cygpKTtmLmNzcyhpKS5mYWRlSW4oZC50cmFuc2l0aW9uSW49PSJub25lIj8wOmQuc3BlZWRJbixTKX19fX0sWT1mdW5jdGlvbigpe2lmKGQuZW5hYmxlRXNjYXBlQnV0dG9ufHxkLmVuYWJsZUtleWJvYXJkTmF2KWIoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZmIiLGZ1bmN0aW9uKGEpe2lmKGEua2V5Q29kZT09MjcmJmQuZW5hYmxlRXNjYXBlQnV0dG9uKXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5jbG9zZSgpfWVsc2UgaWYoKGEua2V5Q29kZT09CjM3fHxhLmtleUNvZGU9PTM5KSYmZC5lbmFibGVLZXlib2FyZE5hdiYmYS50YXJnZXQudGFnTmFtZSE9PSJJTlBVVCImJmEudGFyZ2V0LnRhZ05hbWUhPT0iVEVYVEFSRUEiJiZhLnRhcmdldC50YWdOYW1lIT09IlNFTEVDVCIpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94W2Eua2V5Q29kZT09Mzc/InByZXYiOiJuZXh0Il0oKX19KTtpZihkLnNob3dOYXZBcnJvd3Mpe2lmKGQuY3ljbGljJiZsLmxlbmd0aD4xfHxwIT09MCl6LnNob3coKTtpZihkLmN5Y2xpYyYmbC5sZW5ndGg+MXx8cCE9bC5sZW5ndGgtMSlBLnNob3coKX1lbHNle3ouaGlkZSgpO0EuaGlkZSgpfX0sUz1mdW5jdGlvbigpe2lmKCFiLnN1cHBvcnQub3BhY2l0eSl7ai5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtmLmdldCgwKS5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfWUuYXV0b0RpbWVuc2lvbnMmJmouY3NzKCJoZWlnaHQiLCJhdXRvIik7Zi5jc3MoImhlaWdodCIsImF1dG8iKTsKcyYmcy5sZW5ndGgmJm4uc2hvdygpO2Quc2hvd0Nsb3NlQnV0dG9uJiZFLnNob3coKTtZKCk7ZC5oaWRlT25Db250ZW50Q2xpY2smJmouYmluZCgiY2xpY2siLGIuZmFuY3lib3guY2xvc2UpO2QuaGlkZU9uT3ZlcmxheUNsaWNrJiZ1LmJpbmQoImNsaWNrIixiLmZhbmN5Ym94LmNsb3NlKTtiKHdpbmRvdykuYmluZCgicmVzaXplLmZiIixiLmZhbmN5Ym94LnJlc2l6ZSk7ZC5jZW50ZXJPblNjcm9sbCYmYih3aW5kb3cpLmJpbmQoInNjcm9sbC5mYiIsYi5mYW5jeWJveC5jZW50ZXIpO2lmKGQudHlwZT09ImlmcmFtZSIpYignPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWUiIG5hbWU9ImZhbmN5Ym94LWZyYW1lJysobmV3IERhdGUpLmdldFRpbWUoKSsnIiBmcmFtZWJvcmRlcj0iMCIgaHNwYWNlPSIwIiAnKyhiLmJyb3dzZXIubXNpZT8nYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIic6IiIpKycgc2Nyb2xsaW5nPSInK2Uuc2Nyb2xsaW5nKyciIHNyYz0iJytkLmhyZWYrJyI+PC9pZnJhbWU+JykuYXBwZW5kVG8oaik7CmYuc2hvdygpO2g9ZmFsc2U7Yi5mYW5jeWJveC5jZW50ZXIoKTtkLm9uQ29tcGxldGUobCxwLGQpO3ZhciBhLGM7aWYobC5sZW5ndGgtMT5wKXthPWxbcCsxXS5ocmVmO2lmKHR5cGVvZiBhIT09InVuZGVmaW5lZCImJmEubWF0Y2goSikpe2M9bmV3IEltYWdlO2Muc3JjPWF9fWlmKHA+MCl7YT1sW3AtMV0uaHJlZjtpZih0eXBlb2YgYSE9PSJ1bmRlZmluZWQiJiZhLm1hdGNoKEopKXtjPW5ldyBJbWFnZTtjLnNyYz1hfX19LFQ9ZnVuY3Rpb24oYSl7dmFyIGM9e3dpZHRoOnBhcnNlSW50KHIud2lkdGgrKGkud2lkdGgtci53aWR0aCkqYSwxMCksaGVpZ2h0OnBhcnNlSW50KHIuaGVpZ2h0KyhpLmhlaWdodC1yLmhlaWdodCkqYSwxMCksdG9wOnBhcnNlSW50KHIudG9wKyhpLnRvcC1yLnRvcCkqYSwxMCksbGVmdDpwYXJzZUludChyLmxlZnQrKGkubGVmdC1yLmxlZnQpKmEsMTApfTtpZih0eXBlb2YgaS5vcGFjaXR5IT09InVuZGVmaW5lZCIpYy5vcGFjaXR5PWE8MC41PzAuNTphO2YuY3NzKGMpOwpqLmNzcyh7d2lkdGg6Yy53aWR0aC1kLnBhZGRpbmcqMixoZWlnaHQ6Yy5oZWlnaHQteSphLWQucGFkZGluZyoyfSl9LFU9ZnVuY3Rpb24oKXtyZXR1cm5bYih3aW5kb3cpLndpZHRoKCktZC5tYXJnaW4qMixiKHdpbmRvdykuaGVpZ2h0KCktZC5tYXJnaW4qMixiKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkrZC5tYXJnaW4sYihkb2N1bWVudCkuc2Nyb2xsVG9wKCkrZC5tYXJnaW5dfSxYPWZ1bmN0aW9uKCl7dmFyIGE9VSgpLGM9e30sZz1kLmF1dG9TY2FsZSxrPWQucGFkZGluZyoyO2Mud2lkdGg9ZC53aWR0aC50b1N0cmluZygpLmluZGV4T2YoIiUiKT4tMT9wYXJzZUludChhWzBdKnBhcnNlRmxvYXQoZC53aWR0aCkvMTAwLDEwKTpkLndpZHRoK2s7Yy5oZWlnaHQ9ZC5oZWlnaHQudG9TdHJpbmcoKS5pbmRleE9mKCIlIik+LTE/cGFyc2VJbnQoYVsxXSpwYXJzZUZsb2F0KGQuaGVpZ2h0KS8xMDAsMTApOmQuaGVpZ2h0K2s7aWYoZyYmKGMud2lkdGg+YVswXXx8Yy5oZWlnaHQ+YVsxXSkpaWYoZS50eXBlPT0KImltYWdlInx8ZS50eXBlPT0ic3dmIil7Zz1kLndpZHRoL2QuaGVpZ2h0O2lmKGMud2lkdGg+YVswXSl7Yy53aWR0aD1hWzBdO2MuaGVpZ2h0PXBhcnNlSW50KChjLndpZHRoLWspL2craywxMCl9aWYoYy5oZWlnaHQ+YVsxXSl7Yy5oZWlnaHQ9YVsxXTtjLndpZHRoPXBhcnNlSW50KChjLmhlaWdodC1rKSpnK2ssMTApfX1lbHNle2Mud2lkdGg9TWF0aC5taW4oYy53aWR0aCxhWzBdKTtjLmhlaWdodD1NYXRoLm1pbihjLmhlaWdodCxhWzFdKX1jLnRvcD1wYXJzZUludChNYXRoLm1heChhWzNdLTIwLGFbM10rKGFbMV0tYy5oZWlnaHQtNDApKjAuNSksMTApO2MubGVmdD1wYXJzZUludChNYXRoLm1heChhWzJdLTIwLGFbMl0rKGFbMF0tYy53aWR0aC00MCkqMC41KSwxMCk7cmV0dXJuIGN9LFY9ZnVuY3Rpb24oKXt2YXIgYT1lLm9yaWc/YihlLm9yaWcpOmZhbHNlLGM9e307aWYoYSYmYS5sZW5ndGgpe2M9YS5vZmZzZXQoKTtjLnRvcCs9cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdUb3AiKSwKMTApfHwwO2MubGVmdCs9cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwO2MudG9wKz1wYXJzZUludChhLmNzcygiYm9yZGVyLXRvcC13aWR0aCIpLDEwKXx8MDtjLmxlZnQrPXBhcnNlSW50KGEuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpLDEwKXx8MDtjLndpZHRoPWEud2lkdGgoKTtjLmhlaWdodD1hLmhlaWdodCgpO2M9e3dpZHRoOmMud2lkdGgrZC5wYWRkaW5nKjIsaGVpZ2h0OmMuaGVpZ2h0K2QucGFkZGluZyoyLHRvcDpjLnRvcC1kLnBhZGRpbmctMjAsbGVmdDpjLmxlZnQtZC5wYWRkaW5nLTIwfX1lbHNle2E9VSgpO2M9e3dpZHRoOmQucGFkZGluZyoyLGhlaWdodDpkLnBhZGRpbmcqMix0b3A6cGFyc2VJbnQoYVszXSthWzFdKjAuNSwxMCksbGVmdDpwYXJzZUludChhWzJdK2FbMF0qMC41LDEwKX19cmV0dXJuIGN9LFo9ZnVuY3Rpb24oKXtpZih0LmlzKCI6dmlzaWJsZSIpKXtiKCJkaXYiLHQpLmNzcygidG9wIixMKi00MCsicHgiKTtMPShMKzEpJTEyfWVsc2UgY2xlYXJJbnRlcnZhbChLKX07CmIuZm4uZmFuY3lib3g9ZnVuY3Rpb24oYSl7aWYoIWIodGhpcykubGVuZ3RoKXJldHVybiB0aGlzO2IodGhpcykuZGF0YSgiZmFuY3lib3giLGIuZXh0ZW5kKHt9LGEsYi5tZXRhZGF0YT9iKHRoaXMpLm1ldGFkYXRhKCk6e30pKS51bmJpbmQoImNsaWNrLmZiIikuYmluZCgiY2xpY2suZmIiLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKTtpZighaCl7aD10cnVlO2IodGhpcykuYmx1cigpO289W107cT0wO2M9Yih0aGlzKS5hdHRyKCJyZWwiKXx8IiI7aWYoIWN8fGM9PSIifHxjPT09Im5vZm9sbG93IilvLnB1c2godGhpcyk7ZWxzZXtvPWIoImFbcmVsPSIrYysiXSwgYXJlYVtyZWw9IitjKyJdIik7cT1vLmluZGV4KHRoaXMpfUkoKX19KTtyZXR1cm4gdGhpc307Yi5mYW5jeWJveD1mdW5jdGlvbihhLGMpe3ZhciBnO2lmKCFoKXtoPXRydWU7Zz10eXBlb2YgYyE9PSJ1bmRlZmluZWQiP2M6e307bz1bXTtxPXBhcnNlSW50KGcuaW5kZXgsMTApfHwwO2lmKGIuaXNBcnJheShhKSl7Zm9yKHZhciBrPQowLEM9YS5sZW5ndGg7azxDO2srKylpZih0eXBlb2YgYVtrXT09Im9iamVjdCIpYihhW2tdKS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe30sZyxhW2tdKSk7ZWxzZSBhW2tdPWIoe30pLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7Y29udGVudDphW2tdfSxnKSk7bz1qUXVlcnkubWVyZ2UobyxhKX1lbHNle2lmKHR5cGVvZiBhPT0ib2JqZWN0IiliKGEpLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7fSxnLGEpKTtlbHNlIGE9Yih7fSkuZGF0YSgiZmFuY3lib3giLGIuZXh0ZW5kKHtjb250ZW50OmF9LGcpKTtvLnB1c2goYSl9aWYocT5vLmxlbmd0aHx8cTwwKXE9MDtJKCl9fTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eT1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoSyk7dC5zaG93KCk7Sz1zZXRJbnRlcnZhbChaLDY2KX07Yi5mYW5jeWJveC5oaWRlQWN0aXZpdHk9ZnVuY3Rpb24oKXt0LmhpZGUoKX07Yi5mYW5jeWJveC5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIGIuZmFuY3lib3gucG9zKHArCjEpfTtiLmZhbmN5Ym94LnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gYi5mYW5jeWJveC5wb3MocC0xKX07Yi5mYW5jeWJveC5wb3M9ZnVuY3Rpb24oYSl7aWYoIWgpe2E9cGFyc2VJbnQoYSk7bz1sO2lmKGE+LTEmJmE8bC5sZW5ndGgpe3E9YTtJKCl9ZWxzZSBpZihkLmN5Y2xpYyYmbC5sZW5ndGg+MSl7cT1hPj1sLmxlbmd0aD8wOmwubGVuZ3RoLTE7SSgpfX19O2IuZmFuY3lib3guY2FuY2VsPWZ1bmN0aW9uKCl7aWYoIWgpe2g9dHJ1ZTtiLmV2ZW50LnRyaWdnZXIoImZhbmN5Ym94LWNhbmNlbCIpO04oKTtlLm9uQ2FuY2VsKG8scSxlKTtoPWZhbHNlfX07Yi5mYW5jeWJveC5jbG9zZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt1LmZhZGVPdXQoImZhc3QiKTtuLmVtcHR5KCkuaGlkZSgpO2YuaGlkZSgpO2IuZXZlbnQudHJpZ2dlcigiZmFuY3lib3gtY2xlYW51cCIpO2ouZW1wdHkoKTtkLm9uQ2xvc2VkKGwscCxkKTtsPWU9W107cD1xPTA7ZD1lPXt9O2g9ZmFsc2V9aWYoIShofHxmLmlzKCI6aGlkZGVuIikpKXtoPQp0cnVlO2lmKGQmJmZhbHNlPT09ZC5vbkNsZWFudXAobCxwLGQpKWg9ZmFsc2U7ZWxzZXtOKCk7YihFLmFkZCh6KS5hZGQoQSkpLmhpZGUoKTtiKGouYWRkKHUpKS51bmJpbmQoKTtiKHdpbmRvdykudW5iaW5kKCJyZXNpemUuZmIgc2Nyb2xsLmZiIik7Yihkb2N1bWVudCkudW5iaW5kKCJrZXlkb3duLmZiIik7ai5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiLE0mJi9eaHR0cHMvaS50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwiIik/ImphdmFzY3JpcHQ6dm9pZChmYWxzZSkiOiJhYm91dDpibGFuayIpO2QudGl0bGVQb3NpdGlvbiE9PSJpbnNpZGUiJiZuLmVtcHR5KCk7Zi5zdG9wKCk7aWYoZC50cmFuc2l0aW9uT3V0PT0iZWxhc3RpYyIpe3I9VigpO3ZhciBjPWYucG9zaXRpb24oKTtpPXt0b3A6Yy50b3AsbGVmdDpjLmxlZnQsd2lkdGg6Zi53aWR0aCgpLGhlaWdodDpmLmhlaWdodCgpfTtpZihkLm9wYWNpdHkpaS5vcGFjaXR5PTE7bi5lbXB0eSgpLmhpZGUoKTtCLnByb3A9MTsKYihCKS5hbmltYXRlKHtwcm9wOjB9LHtkdXJhdGlvbjpkLnNwZWVkT3V0LGVhc2luZzpkLmVhc2luZ091dCxzdGVwOlQsY29tcGxldGU6YX0pfWVsc2UgZi5mYWRlT3V0KGQudHJhbnNpdGlvbk91dD09Im5vbmUiPzA6ZC5zcGVlZE91dCxhKX19fTtiLmZhbmN5Ym94LnJlc2l6ZT1mdW5jdGlvbigpe3UuaXMoIjp2aXNpYmxlIikmJnUuY3NzKCJoZWlnaHQiLGIoZG9jdW1lbnQpLmhlaWdodCgpKTtiLmZhbmN5Ym94LmNlbnRlcih0cnVlKX07Yi5mYW5jeWJveC5jZW50ZXI9ZnVuY3Rpb24oYSl7dmFyIGMsZztpZighaCl7Zz1hPT09dHJ1ZT8xOjA7Yz1VKCk7IWcmJihmLndpZHRoKCk+Y1swXXx8Zi5oZWlnaHQoKT5jWzFdKXx8Zi5zdG9wKCkuYW5pbWF0ZSh7dG9wOnBhcnNlSW50KE1hdGgubWF4KGNbM10tMjAsY1szXSsoY1sxXS1qLmhlaWdodCgpLTQwKSowLjUtZC5wYWRkaW5nKSksbGVmdDpwYXJzZUludChNYXRoLm1heChjWzJdLTIwLGNbMl0rKGNbMF0tai53aWR0aCgpLTQwKSowLjUtCmQucGFkZGluZykpfSx0eXBlb2YgYT09Im51bWJlciI/YToyMDApfX07Yi5mYW5jeWJveC5pbml0PWZ1bmN0aW9uKCl7aWYoIWIoIiNmYW5jeWJveC13cmFwIikubGVuZ3RoKXtiKCJib2R5IikuYXBwZW5kKG09YignPGRpdiBpZD0iZmFuY3lib3gtdG1wIj48L2Rpdj4nKSx0PWIoJzxkaXYgaWQ9ImZhbmN5Ym94LWxvYWRpbmciPjxkaXY+PC9kaXY+PC9kaXY+JyksdT1iKCc8ZGl2IGlkPSJmYW5jeWJveC1vdmVybGF5Ij48L2Rpdj4nKSxmPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LXdyYXAiPjwvZGl2PicpKTtEPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LW91dGVyIj48L2Rpdj4nKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctbiI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1uZSI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeWJveC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXNlIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeWJveC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXMiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctc3ciPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1udyI+PC9kaXY+JykuYXBwZW5kVG8oZik7CkQuYXBwZW5kKGo9YignPGRpdiBpZD0iZmFuY3lib3gtY29udGVudCI+PC9kaXY+JyksRT1iKCc8YSBpZD0iZmFuY3lib3gtY2xvc2UiPjwvYT4nKSxuPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LXRpdGxlIj48L2Rpdj4nKSx6PWIoJzxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImZhbmN5Ym94LWxlZnQiPjxzcGFuIGNsYXNzPSJmYW5jeS1pY28iIGlkPSJmYW5jeWJveC1sZWZ0LWljbyI+PC9zcGFuPjwvYT4nKSxBPWIoJzxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImZhbmN5Ym94LXJpZ2h0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtcmlnaHQtaWNvIj48L3NwYW4+PC9hPicpKTtFLmNsaWNrKGIuZmFuY3lib3guY2xvc2UpO3QuY2xpY2soYi5mYW5jeWJveC5jYW5jZWwpO3ouY2xpY2soZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2IuZmFuY3lib3gucHJldigpfSk7QS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5uZXh0KCl9KTsKYi5mbi5tb3VzZXdoZWVsJiZmLmJpbmQoIm1vdXNld2hlZWwuZmIiLGZ1bmN0aW9uKGEsYyl7aWYoaClhLnByZXZlbnREZWZhdWx0KCk7ZWxzZSBpZihiKGEudGFyZ2V0KS5nZXQoMCkuY2xpZW50SGVpZ2h0PT0wfHxiKGEudGFyZ2V0KS5nZXQoMCkuc2Nyb2xsSGVpZ2h0PT09YihhLnRhcmdldCkuZ2V0KDApLmNsaWVudEhlaWdodCl7YS5wcmV2ZW50RGVmYXVsdCgpO2IuZmFuY3lib3hbYz4wPyJwcmV2IjoibmV4dCJdKCl9fSk7Yi5zdXBwb3J0Lm9wYWNpdHl8fGYuYWRkQ2xhc3MoImZhbmN5Ym94LWllIik7aWYoTSl7dC5hZGRDbGFzcygiZmFuY3lib3gtaWU2Iik7Zi5hZGRDbGFzcygiZmFuY3lib3gtaWU2Iik7YignPGlmcmFtZSBpZD0iZmFuY3lib3gtaGlkZS1zZWwtZnJhbWUiIHNyYz0iJysoL15odHRwcy9pLnRlc3Qod2luZG93LmxvY2F0aW9uLmhyZWZ8fCIiKT8iamF2YXNjcmlwdDp2b2lkKGZhbHNlKSI6ImFib3V0OmJsYW5rIikrJyIgc2Nyb2xsaW5nPSJubyIgYm9yZGVyPSIwIiBmcmFtZWJvcmRlcj0iMCIgdGFiaW5kZXg9Ii0xIj48L2lmcmFtZT4nKS5wcmVwZW5kVG8oRCl9fX07CmIuZm4uZmFuY3lib3guZGVmYXVsdHM9e3BhZGRpbmc6MTAsbWFyZ2luOjQwLG9wYWNpdHk6ZmFsc2UsbW9kYWw6ZmFsc2UsY3ljbGljOmZhbHNlLHNjcm9sbGluZzoiYXV0byIsd2lkdGg6NTYwLGhlaWdodDozNDAsYXV0b1NjYWxlOnRydWUsYXV0b0RpbWVuc2lvbnM6dHJ1ZSxjZW50ZXJPblNjcm9sbDpmYWxzZSxhamF4Ont9LHN3Zjp7d21vZGU6InRyYW5zcGFyZW50In0saGlkZU9uT3ZlcmxheUNsaWNrOnRydWUsaGlkZU9uQ29udGVudENsaWNrOmZhbHNlLG92ZXJsYXlTaG93OnRydWUsb3ZlcmxheU9wYWNpdHk6MC43LG92ZXJsYXlDb2xvcjoiIzc3NyIsdGl0bGVTaG93OnRydWUsdGl0bGVQb3NpdGlvbjoiZmxvYXQiLHRpdGxlRm9ybWF0Om51bGwsdGl0bGVGcm9tQWx0OmZhbHNlLHRyYW5zaXRpb25JbjoiZmFkZSIsdHJhbnNpdGlvbk91dDoiZmFkZSIsc3BlZWRJbjozMDAsc3BlZWRPdXQ6MzAwLGNoYW5nZVNwZWVkOjMwMCxjaGFuZ2VGYWRlOiJmYXN0IixlYXNpbmdJbjoic3dpbmciLAplYXNpbmdPdXQ6InN3aW5nIixzaG93Q2xvc2VCdXR0b246dHJ1ZSxzaG93TmF2QXJyb3dzOnRydWUsZW5hYmxlRXNjYXBlQnV0dG9uOnRydWUsZW5hYmxlS2V5Ym9hcmROYXY6dHJ1ZSxvblN0YXJ0OmZ1bmN0aW9uKCl7fSxvbkNhbmNlbDpmdW5jdGlvbigpe30sb25Db21wbGV0ZTpmdW5jdGlvbigpe30sb25DbGVhbnVwOmZ1bmN0aW9uKCl7fSxvbkNsb3NlZDpmdW5jdGlvbigpe30sb25FcnJvcjpmdW5jdGlvbigpe319O2IoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Yi5mYW5jeWJveC5pbml0KCl9KX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.mousewheel-3.0.2.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAwOSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCkKICogYW5kIEdQTCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHApIGxpY2Vuc2VzLgogKiBUaGFua3MgdG86IGh0dHA6Ly9hZG9tYXMub3JnL2phdmFzY3JpcHQtbW91c2Utd2hlZWwvIGZvciBzb21lIHBvaW50ZXJzLgogKiBUaGFua3MgdG86IE1hdGhpYXMgQmFuayhodHRwOi8vd3d3Lm1hdGhpYXMtYmFuay5kZSkgZm9yIGEgc2NvcGUgYnVnIGZpeC4KICoKICogVmVyc2lvbjogMy4wLjIKICogCiAqIFJlcXVpcmVzOiAxLjIuMisKICovCgooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChhKXt2YXIgZj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPTA7YT1iLmV2ZW50LmZpeChhfHx3aW5kb3cuZXZlbnQpO2EudHlwZT0ibW91c2V3aGVlbCI7aWYoYS53aGVlbERlbHRhKWU9YS53aGVlbERlbHRhLzEyMDtpZihhLmRldGFpbCllPS1hLmRldGFpbC8zO2YudW5zaGlmdChhLGUpO3JldHVybiBiLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGYpfXZhciBjPVsiRE9NTW91c2VTY3JvbGwiLCJtb3VzZXdoZWVsIl07Yi5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZH0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sCmQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9bnVsbH19O2IuZm4uZXh0ZW5kKHttb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiBhP3RoaXMuYmluZCgibW91c2V3aGVlbCIsYSk6dGhpcy50cmlnZ2VyKCJtb3VzZXdoZWVsIil9LHVubW91c2V3aGVlbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bmJpbmQoIm1vdXNld2hlZWwiLGEpfX0pfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.mousewheel-3.0.4.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAxMCBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKExJQ0VOU0UudHh0KS4KKgoqIFRoYW5rcyB0bzogaHR0cDovL2Fkb21hcy5vcmcvamF2YXNjcmlwdC1tb3VzZS13aGVlbC8gZm9yIHNvbWUgcG9pbnRlcnMuCiogVGhhbmtzIHRvOiBNYXRoaWFzIEJhbmsoaHR0cDovL3d3dy5tYXRoaWFzLWJhbmsuZGUpIGZvciBhIHNjb3BlIGJ1ZyBmaXguCiogVGhhbmtzIHRvOiBTZWFtdXMgTGVhaHkgZm9yIGFkZGluZyBkZWx0YVggYW5kIGRlbHRhWQoqCiogVmVyc2lvbjogMy4wLjQKKgoqIFJlcXVpcmVzOiAxLjIuMisKKi8KCihmdW5jdGlvbihkKXtmdW5jdGlvbiBnKGEpe3ZhciBiPWF8fHdpbmRvdy5ldmVudCxpPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGM9MCxoPTAsZT0wO2E9ZC5ldmVudC5maXgoYik7YS50eXBlPSJtb3VzZXdoZWVsIjtpZihhLndoZWVsRGVsdGEpYz1hLndoZWVsRGVsdGEvMTIwO2lmKGEuZGV0YWlsKWM9LWEuZGV0YWlsLzM7ZT1jO2lmKGIuYXhpcyE9PXVuZGVmaW5lZCYmYi5heGlzPT09Yi5IT1JJWk9OVEFMX0FYSVMpe2U9MDtoPS0xKmN9aWYoYi53aGVlbERlbHRhWSE9PXVuZGVmaW5lZCllPWIud2hlZWxEZWx0YVkvMTIwO2lmKGIud2hlZWxEZWx0YVghPT11bmRlZmluZWQpaD0tMSpiLndoZWVsRGVsdGFYLzEyMDtpLnVuc2hpZnQoYSxjLGgsZSk7cmV0dXJuIGQuZXZlbnQuaGFuZGxlLmFwcGx5KHRoaXMsaSl9dmFyIGY9WyJET01Nb3VzZVNjcm9sbCIsIm1vdXNld2hlZWwiXTtkLmV2ZW50LnNwZWNpYWwubW91c2V3aGVlbD17c2V0dXA6ZnVuY3Rpb24oKXtpZih0aGlzLmFkZEV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPQpmLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZlstLWFdLGcsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9Z30sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWYubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihmWy0tYV0sZyxmYWxzZSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1udWxsfX07ZC5mbi5leHRlbmQoe21vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/dGhpcy5iaW5kKCJtb3VzZXdoZWVsIixhKTp0aGlzLnRyaWdnZXIoIm1vdXNld2hlZWwiKX0sdW5tb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVuYmluZCgibW91c2V3aGVlbCIsYSl9fSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/transparent.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.form.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpRdWVyeSBGb3JtIFBsdWdpbg0KICogdmVyc2lvbjogMi4xOCAoMDYtSkFOLTIwMDkpDQogKiBAcmVxdWlyZXMgalF1ZXJ5IHYxLjIuMiBvciBsYXRlcg0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8NCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOg0KICogICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocA0KICogICBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwNCiAqDQogKiBSZXZpc2lvbjogJElkJA0KICovDQo7KGZ1bmN0aW9uKCQpIHsNCg0KLyoNCiAgICBVc2FnZSBOb3RlOiAgDQogICAgLS0tLS0tLS0tLS0NCiAgICBEbyBub3QgdXNlIGJvdGggYWpheFN1Ym1pdCBhbmQgYWpheEZvcm0gb24gdGhlIHNhbWUgZm9ybS4gIFRoZXNlDQogICAgZnVuY3Rpb25zIGFyZSBpbnRlbmRlZCB0byBiZSBleGNsdXNpdmUuICBVc2UgYWpheFN1Ym1pdCBpZiB5b3Ugd2FudA0KICAgIHRvIGJpbmQgeW91ciBvd24gc3VibWl0IGhhbmRsZXIgdG8gdGhlIGZvcm0uICBGb3IgZXhhbXBsZSwNCg0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCcjbXlGb3JtJykuYmluZCgnc3VibWl0JywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkKHRoaXMpLmFqYXhTdWJtaXQoew0KICAgICAgICAgICAgICAgIHRhcmdldDogJyNvdXRwdXQnDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gPC0tIGltcG9ydGFudCENCiAgICAgICAgfSk7DQogICAgfSk7DQoNCiAgICBVc2UgYWpheEZvcm0gd2hlbiB5b3Ugd2FudCB0aGUgcGx1Z2luIHRvIG1hbmFnZSBhbGwgdGhlIGV2ZW50IGJpbmRpbmcNCiAgICBmb3IgeW91LiAgRm9yIGV4YW1wbGUsDQoNCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCiAgICAgICAgJCgnI215Rm9ybScpLmFqYXhGb3JtKHsNCiAgICAgICAgICAgIHRhcmdldDogJyNvdXRwdXQnDQogICAgICAgIH0pOw0KICAgIH0pOw0KICAgICAgICANCiAgICBXaGVuIHVzaW5nIGFqYXhGb3JtLCB0aGUgYWpheFN1Ym1pdCBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgZm9yIHlvdQ0KICAgIGF0IHRoZSBhcHByb3ByaWF0ZSB0aW1lLiAgDQoqLw0KDQovKioNCiAqIGFqYXhTdWJtaXQoKSBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgaW1tZWRpYXRlbHkgc3VibWl0dGluZyANCiAqIGFuIEhUTUwgZm9ybSB1c2luZyBBSkFYLg0KICovDQokLmZuLmFqYXhTdWJtaXQgPSBmdW5jdGlvbihvcHRpb25zKSB7DQogICAgLy8gZmFzdCBmYWlsIGlmIG5vdGhpbmcgc2VsZWN0ZWQgKGh0dHA6Ly9kZXYuanF1ZXJ5LmNvbS90aWNrZXQvMjc1MikNCiAgICBpZiAoIXRoaXMubGVuZ3RoKSB7DQogICAgICAgIGxvZygnYWpheFN1Ym1pdDogc2tpcHBpbmcgc3VibWl0IHByb2Nlc3MgLSBubyBlbGVtZW50IHNlbGVjdGVkJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0NCg0KICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PSAnZnVuY3Rpb24nKQ0KICAgICAgICBvcHRpb25zID0geyBzdWNjZXNzOiBvcHRpb25zIH07DQoNCiAgICBvcHRpb25zID0gJC5leHRlbmQoew0KICAgICAgICB1cmw6ICB0aGlzLmF0dHIoJ2FjdGlvbicpIHx8IHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpLA0KICAgICAgICB0eXBlOiB0aGlzLmF0dHIoJ21ldGhvZCcpIHx8ICdHRVQnDQogICAgfSwgb3B0aW9ucyB8fCB7fSk7DQoNCiAgICAvLyBob29rIGZvciBtYW5pcHVsYXRpbmcgdGhlIGZvcm0gZGF0YSBiZWZvcmUgaXQgaXMgZXh0cmFjdGVkOw0KICAgIC8vIGNvbnZlbmllbnQgZm9yIHVzZSB3aXRoIHJpY2ggZWRpdG9ycyBsaWtlIHRpbnlNQ0Ugb3IgRkNLRWRpdG9yDQogICAgdmFyIHZldG8gPSB7fTsNCiAgICB0aGlzLnRyaWdnZXIoJ2Zvcm0tcHJlLXNlcmlhbGl6ZScsIFt0aGlzLCBvcHRpb25zLCB2ZXRvXSk7DQogICAgaWYgKHZldG8udmV0bykgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCB2ZXRvZWQgdmlhIGZvcm0tcHJlLXNlcmlhbGl6ZSB0cmlnZ2VyJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0NCg0KICAgIC8vIHByb3ZpZGUgb3Bwb3J0dW5pdHkgdG8gYWx0ZXIgZm9ybSBkYXRhIGJlZm9yZSBpdCBpcyBzZXJpYWxpemVkDQogICAgaWYgKG9wdGlvbnMuYmVmb3JlU2VyaWFsaXplICYmIG9wdGlvbnMuYmVmb3JlU2VyaWFsaXplKHRoaXMsIG9wdGlvbnMpID09PSBmYWxzZSkgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCBhYm9ydGVkIHZpYSBiZWZvcmVTZXJpYWxpemUgY2FsbGJhY2snKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSAgICANCiAgIA0KICAgIHZhciBhID0gdGhpcy5mb3JtVG9BcnJheShvcHRpb25zLnNlbWFudGljKTsNCiAgICBpZiAob3B0aW9ucy5kYXRhKSB7DQogICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhID0gb3B0aW9ucy5kYXRhOw0KICAgICAgICBmb3IgKHZhciBuIGluIG9wdGlvbnMuZGF0YSkgew0KICAgICAgICAgIGlmKG9wdGlvbnMuZGF0YVtuXSBpbnN0YW5jZW9mIEFycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBrIGluIG9wdGlvbnMuZGF0YVtuXSkNCiAgICAgICAgICAgICAgYS5wdXNoKCB7IG5hbWU6IG4sIHZhbHVlOiBvcHRpb25zLmRhdGFbbl1ba10gfSApDQogICAgICAgICAgfSAgDQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgIGEucHVzaCggeyBuYW1lOiBuLCB2YWx1ZTogb3B0aW9ucy5kYXRhW25dIH0gKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIGdpdmUgcHJlLXN1Ym1pdCBjYWxsYmFjayBhbiBvcHBvcnR1bml0eSB0byBhYm9ydCB0aGUgc3VibWl0DQogICAgaWYgKG9wdGlvbnMuYmVmb3JlU3VibWl0ICYmIG9wdGlvbnMuYmVmb3JlU3VibWl0KGEsIHRoaXMsIG9wdGlvbnMpID09PSBmYWxzZSkgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCBhYm9ydGVkIHZpYSBiZWZvcmVTdWJtaXQgY2FsbGJhY2snKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSAgICANCg0KICAgIC8vIGZpcmUgdmV0b2FibGUgJ3ZhbGlkYXRlJyBldmVudA0KICAgIHRoaXMudHJpZ2dlcignZm9ybS1zdWJtaXQtdmFsaWRhdGUnLCBbYSwgdGhpcywgb3B0aW9ucywgdmV0b10pOw0KICAgIGlmICh2ZXRvLnZldG8pIHsNCiAgICAgICAgbG9nKCdhamF4U3VibWl0OiBzdWJtaXQgdmV0b2VkIHZpYSBmb3JtLXN1Ym1pdC12YWxpZGF0ZSB0cmlnZ2VyJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0gICAgDQoNCiAgICB2YXIgcSA9ICQucGFyYW0oYSk7DQoNCiAgICBpZiAob3B0aW9ucy50eXBlLnRvVXBwZXJDYXNlKCkgPT0gJ0dFVCcpIHsNCiAgICAgICAgb3B0aW9ucy51cmwgKz0gKG9wdGlvbnMudXJsLmluZGV4T2YoJz8nKSA+PSAwID8gJyYnIDogJz8nKSArIHE7DQogICAgICAgIG9wdGlvbnMuZGF0YSA9IG51bGw7ICAvLyBkYXRhIGlzIG51bGwgZm9yICdnZXQnDQogICAgfQ0KICAgIGVsc2UNCiAgICAgICAgb3B0aW9ucy5kYXRhID0gcTsgLy8gZGF0YSBpcyB0aGUgcXVlcnkgc3RyaW5nIGZvciAncG9zdCcNCg0KICAgIHZhciAkZm9ybSA9IHRoaXMsIGNhbGxiYWNrcyA9IFtdOw0KICAgIGlmIChvcHRpb25zLnJlc2V0Rm9ybSkgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oKSB7ICRmb3JtLnJlc2V0Rm9ybSgpOyB9KTsNCiAgICBpZiAob3B0aW9ucy5jbGVhckZvcm0pIGNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKCkgeyAkZm9ybS5jbGVhckZvcm0oKTsgfSk7DQoNCiAgICAvLyBwZXJmb3JtIGEgbG9hZCBvbiB0aGUgdGFyZ2V0IG9ubHkgaWYgZGF0YVR5cGUgaXMgbm90IHByb3ZpZGVkDQogICAgaWYgKCFvcHRpb25zLmRhdGFUeXBlICYmIG9wdGlvbnMudGFyZ2V0KSB7DQogICAgICAgIHZhciBvbGRTdWNjZXNzID0gb3B0aW9ucy5zdWNjZXNzIHx8IGZ1bmN0aW9uKCl7fTsNCiAgICAgICAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oZGF0YSkgew0KICAgICAgICAgICAgJChvcHRpb25zLnRhcmdldCkuaHRtbChkYXRhKS5lYWNoKG9sZFN1Y2Nlc3MsIGFyZ3VtZW50cyk7DQogICAgICAgIH0pOw0KICAgIH0NCiAgICBlbHNlIGlmIChvcHRpb25zLnN1Y2Nlc3MpDQogICAgICAgIGNhbGxiYWNrcy5wdXNoKG9wdGlvbnMuc3VjY2Vzcyk7DQoNCiAgICBvcHRpb25zLnN1Y2Nlc3MgPSBmdW5jdGlvbihkYXRhLCBzdGF0dXMpIHsNCiAgICAgICAgZm9yICh2YXIgaT0wLCBtYXg9Y2FsbGJhY2tzLmxlbmd0aDsgaSA8IG1heDsgaSsrKQ0KICAgICAgICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KG9wdGlvbnMsIFtkYXRhLCBzdGF0dXMsICRmb3JtXSk7DQogICAgfTsNCg0KICAgIC8vIGFyZSB0aGVyZSBmaWxlcyB0byB1cGxvYWQ/DQogICAgdmFyIGZpbGVzID0gJCgnaW5wdXQ6ZmlsZScsIHRoaXMpLmZpZWxkVmFsdWUoKTsNCiAgICB2YXIgZm91bmQgPSBmYWxzZTsNCiAgICBmb3IgKHZhciBqPTA7IGogPCBmaWxlcy5sZW5ndGg7IGorKykNCiAgICAgICAgaWYgKGZpbGVzW2pdKQ0KICAgICAgICAgICAgZm91bmQgPSB0cnVlOw0KDQogICAgLy8gb3B0aW9ucy5pZnJhbWUgYWxsb3dzIHVzZXIgdG8gZm9yY2UgaWZyYW1lIG1vZGUNCiAgIGlmIChvcHRpb25zLmlmcmFtZSB8fCBmb3VuZCkgeyANCiAgICAgICAvLyBoYWNrIHRvIGZpeCBTYWZhcmkgaGFuZyAodGhhbmtzIHRvIFRpbSBNb2xlbmRpamsgZm9yIHRoaXMpDQogICAgICAgLy8gc2VlOiAgaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2pxdWVyeS1kZXYvYnJvd3NlX3RocmVhZC90aHJlYWQvMzYzOTViN2FiNTEwZGQ1ZA0KICAgICAgIGlmICgkLmJyb3dzZXIuc2FmYXJpICYmIG9wdGlvbnMuY2xvc2VLZWVwQWxpdmUpDQogICAgICAgICAgICQuZ2V0KG9wdGlvbnMuY2xvc2VLZWVwQWxpdmUsIGZpbGVVcGxvYWQpOw0KICAgICAgIGVsc2UNCiAgICAgICAgICAgZmlsZVVwbG9hZCgpOw0KICAgICAgIH0NCiAgIGVsc2UNCiAgICAgICAkLmFqYXgob3B0aW9ucyk7DQoNCiAgICAvLyBmaXJlICdub3RpZnknIGV2ZW50DQogICAgdGhpcy50cmlnZ2VyKCdmb3JtLXN1Ym1pdC1ub3RpZnknLCBbdGhpcywgb3B0aW9uc10pOw0KICAgIHJldHVybiB0aGlzOw0KDQoNCiAgICAvLyBwcml2YXRlIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBmaWxlIHVwbG9hZHMgKGhhdCB0aXAgdG8gWUFIT08hKQ0KICAgIGZ1bmN0aW9uIGZpbGVVcGxvYWQoKSB7DQogICAgICAgIHZhciBmb3JtID0gJGZvcm1bMF07DQogICAgICAgIA0KICAgICAgICBpZiAoJCgnOmlucHV0W25hbWU9c3VibWl0XScsIGZvcm0pLmxlbmd0aCkgew0KICAgICAgICAgICAgYWxlcnQoJ0Vycm9yOiBGb3JtIGVsZW1lbnRzIG11c3Qgbm90IGJlIG5hbWVkICJzdWJtaXQiLicpOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKHt9LCAkLmFqYXhTZXR0aW5ncywgb3B0aW9ucyk7DQoJCXZhciBzID0galF1ZXJ5LmV4dGVuZCh0cnVlLCB7fSwgJC5leHRlbmQodHJ1ZSwge30sICQuYWpheFNldHRpbmdzKSwgb3B0cyk7DQoNCiAgICAgICAgdmFyIGlkID0gJ2pxRm9ybUlPJyArIChuZXcgRGF0ZSgpLmdldFRpbWUoKSk7DQogICAgICAgIHZhciAkaW8gPSAkKCc8aWZyYW1lIGlkPSInICsgaWQgKyAnIiBuYW1lPSInICsgaWQgKyAnIiAvPicpOw0KICAgICAgICB2YXIgaW8gPSAkaW9bMF07DQoNCiAgICAgICAgaWYgKCQuYnJvd3Nlci5tc2llIHx8ICQuYnJvd3Nlci5vcGVyYSkgDQogICAgICAgICAgICBpby5zcmMgPSAnamF2YXNjcmlwdDpmYWxzZTtkb2N1bWVudC53cml0ZSgiIik7JzsNCiAgICAgICAgJGlvLmNzcyh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICctMTAwMHB4JywgbGVmdDogJy0xMDAwcHgnIH0pOw0KDQogICAgICAgIHZhciB4aHIgPSB7IC8vIG1vY2sgb2JqZWN0DQogICAgICAgICAgICBhYm9ydGVkOiAwLA0KICAgICAgICAgICAgcmVzcG9uc2VUZXh0OiBudWxsLA0KICAgICAgICAgICAgcmVzcG9uc2VYTUw6IG51bGwsDQogICAgICAgICAgICBzdGF0dXM6IDAsDQogICAgICAgICAgICBzdGF0dXNUZXh0OiAnbi9hJywNCiAgICAgICAgICAgIGdldEFsbFJlc3BvbnNlSGVhZGVyczogZnVuY3Rpb24oKSB7fSwNCiAgICAgICAgICAgIGdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbigpIHt9LA0KICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oKSB7fSwNCiAgICAgICAgICAgIGFib3J0OiBmdW5jdGlvbigpIHsgDQogICAgICAgICAgICAgICAgdGhpcy5hYm9ydGVkID0gMTsgDQogICAgICAgICAgICAgICAgJGlvLmF0dHIoJ3NyYycsJ2Fib3V0OmJsYW5rJyk7IC8vIGFib3J0IG9wIGluIHByb2dyZXNzDQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGcgPSBvcHRzLmdsb2JhbDsNCiAgICAgICAgLy8gdHJpZ2dlciBhamF4IGdsb2JhbCBldmVudHMgc28gdGhhdCBhY3Rpdml0eS9ibG9jayBpbmRpY2F0b3JzIHdvcmsgbGlrZSBub3JtYWwNCiAgICAgICAgaWYgKGcgJiYgISAkLmFjdGl2ZSsrKSAkLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpOw0KICAgICAgICBpZiAoZykgJC5ldmVudC50cmlnZ2VyKCJhamF4U2VuZCIsIFt4aHIsIG9wdHNdKTsNCg0KCQlpZiAocy5iZWZvcmVTZW5kICYmIHMuYmVmb3JlU2VuZCh4aHIsIHMpID09PSBmYWxzZSkgew0KCQkJcy5nbG9iYWwgJiYgalF1ZXJ5LmFjdGl2ZS0tOw0KCQkJcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGlmICh4aHIuYWJvcnRlZCkNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgDQogICAgICAgIHZhciBjYkludm9rZWQgPSAwOw0KICAgICAgICB2YXIgdGltZWRPdXQgPSAwOw0KDQogICAgICAgIC8vIGFkZCBzdWJtaXR0aW5nIGVsZW1lbnQgdG8gZGF0YSBpZiB3ZSBrbm93IGl0DQogICAgICAgIHZhciBzdWIgPSBmb3JtLmNsazsNCiAgICAgICAgaWYgKHN1Yikgew0KICAgICAgICAgICAgdmFyIG4gPSBzdWIubmFtZTsNCiAgICAgICAgICAgIGlmIChuICYmICFzdWIuZGlzYWJsZWQpIHsNCiAgICAgICAgICAgICAgICBvcHRpb25zLmV4dHJhRGF0YSA9IG9wdGlvbnMuZXh0cmFEYXRhIHx8IHt9Ow0KICAgICAgICAgICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhW25dID0gc3ViLnZhbHVlOw0KICAgICAgICAgICAgICAgIGlmIChzdWIudHlwZSA9PSAiaW1hZ2UiKSB7DQogICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhW25hbWUrJy54J10gPSBmb3JtLmNsa194Ow0KICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmV4dHJhRGF0YVtuYW1lKycueSddID0gZm9ybS5jbGtfeTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAvLyB0YWtlIGEgYnJlYXRoIHNvIHRoYXQgcGVuZGluZyByZXBhaW50cyBnZXQgc29tZSBjcHUgdGltZSBiZWZvcmUgdGhlIHVwbG9hZCBzdGFydHMNCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBmb3JtIGF0dHJzIGFyZSBzZXQNCiAgICAgICAgICAgIHZhciB0ID0gJGZvcm0uYXR0cigndGFyZ2V0JyksIGEgPSAkZm9ybS5hdHRyKCdhY3Rpb24nKTsNCiAgICAgICAgICAgICRmb3JtLmF0dHIoew0KICAgICAgICAgICAgICAgIHRhcmdldDogICBpZCwNCiAgICAgICAgICAgICAgICBtZXRob2Q6ICAgJ1BPU1QnLA0KICAgICAgICAgICAgICAgIGFjdGlvbjogICBvcHRzLnVybA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vIGllIGJvcmtzIGluIHNvbWUgY2FzZXMgd2hlbiBzZXR0aW5nIGVuY29kaW5nDQogICAgICAgICAgICBpZiAoISBvcHRpb25zLnNraXBFbmNvZGluZ092ZXJyaWRlKSB7DQogICAgICAgICAgICAgICAgJGZvcm0uYXR0cih7DQogICAgICAgICAgICAgICAgICAgIGVuY29kaW5nOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsDQogICAgICAgICAgICAgICAgICAgIGVuY3R5cGU6ICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gc3VwcG9ydCB0aW1vdXQNCiAgICAgICAgICAgIGlmIChvcHRzLnRpbWVvdXQpDQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGltZWRPdXQgPSB0cnVlOyBjYigpOyB9LCBvcHRzLnRpbWVvdXQpOw0KDQogICAgICAgICAgICAvLyBhZGQgImV4dHJhIiBkYXRhIHRvIGZvcm0gaWYgcHJvdmlkZWQgaW4gb3B0aW9ucw0KICAgICAgICAgICAgdmFyIGV4dHJhSW5wdXRzID0gW107DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmV4dHJhRGF0YSkNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbiBpbiBvcHRpb25zLmV4dHJhRGF0YSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhSW5wdXRzLnB1c2goDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJytuKyciIHZhbHVlPSInK29wdGlvbnMuZXh0cmFEYXRhW25dKyciIC8+JykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKGZvcm0pWzBdKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIC8vIGFkZCBpZnJhbWUgdG8gZG9jIGFuZCBzdWJtaXQgdGhlIGZvcm0NCiAgICAgICAgICAgICAgICAkaW8uYXBwZW5kVG8oJ2JvZHknKTsNCiAgICAgICAgICAgICAgICBpby5hdHRhY2hFdmVudCA/IGlvLmF0dGFjaEV2ZW50KCdvbmxvYWQnLCBjYikgOiBpby5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgY2IsIGZhbHNlKTsNCiAgICAgICAgICAgICAgICBmb3JtLnN1Ym1pdCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICAgICAgLy8gcmVzZXQgYXR0cnMgYW5kIHJlbW92ZSAiZXh0cmEiIGlucHV0IGVsZW1lbnRzDQogICAgICAgICAgICAgICAgJGZvcm0uYXR0cignYWN0aW9uJywgYSk7DQogICAgICAgICAgICAgICAgdCA/ICRmb3JtLmF0dHIoJ3RhcmdldCcsIHQpIDogJGZvcm0ucmVtb3ZlQXR0cigndGFyZ2V0Jyk7DQogICAgICAgICAgICAgICAgJChleHRyYUlucHV0cykucmVtb3ZlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIDEwKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYigpIHsNCiAgICAgICAgICAgIGlmIChjYkludm9rZWQrKykgcmV0dXJuOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpby5kZXRhY2hFdmVudCA/IGlvLmRldGFjaEV2ZW50KCdvbmxvYWQnLCBjYikgOiBpby5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgY2IsIGZhbHNlKTsNCg0KICAgICAgICAgICAgdmFyIG9wZXJhSGFjayA9IDA7DQogICAgICAgICAgICB2YXIgb2sgPSB0cnVlOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAodGltZWRPdXQpIHRocm93ICd0aW1lb3V0JzsNCiAgICAgICAgICAgICAgICAvLyBleHRyYWN0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgZnJvbSB0aGUgaWZyYW1lDQogICAgICAgICAgICAgICAgdmFyIGRhdGEsIGRvYzsNCg0KICAgICAgICAgICAgICAgIGRvYyA9IGlvLmNvbnRlbnRXaW5kb3cgPyBpby5jb250ZW50V2luZG93LmRvY3VtZW50IDogaW8uY29udGVudERvY3VtZW50ID8gaW8uY29udGVudERvY3VtZW50IDogaW8uZG9jdW1lbnQ7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYgKGRvYy5ib2R5ID09IG51bGwgJiYgIW9wZXJhSGFjayAmJiAkLmJyb3dzZXIub3BlcmEpIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gSW4gT3BlcmEgOS4yLnggdGhlIGlmcmFtZSBET00gaXMgbm90IGFsd2F5cyB0cmF2ZXJzYWJsZSB3aGVuDQogICAgICAgICAgICAgICAgICAgIC8vIHRoZSBvbmxvYWQgY2FsbGJhY2sgZmlyZXMgc28gd2UgZ2l2ZSBPcGVyYSAxMDBtcyB0byByaWdodCBpdHNlbGYNCiAgICAgICAgICAgICAgICAgICAgb3BlcmFIYWNrID0gMTsNCiAgICAgICAgICAgICAgICAgICAgY2JJbnZva2VkLS07DQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIDEwMCk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgeGhyLnJlc3BvbnNlVGV4dCA9IGRvYy5ib2R5ID8gZG9jLmJvZHkuaW5uZXJIVE1MIDogbnVsbDsNCiAgICAgICAgICAgICAgICB4aHIucmVzcG9uc2VYTUwgPSBkb2MuWE1MRG9jdW1lbnQgPyBkb2MuWE1MRG9jdW1lbnQgOiBkb2M7DQogICAgICAgICAgICAgICAgeGhyLmdldFJlc3BvbnNlSGVhZGVyID0gZnVuY3Rpb24oaGVhZGVyKXsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSB7J2NvbnRlbnQtdHlwZSc6IG9wdHMuZGF0YVR5cGV9Ow0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGVyc1toZWFkZXJdOw0KICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICBpZiAob3B0cy5kYXRhVHlwZSA9PSAnanNvbicgfHwgb3B0cy5kYXRhVHlwZSA9PSAnc2NyaXB0Jykgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdGEgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRhcmVhJylbMF07DQogICAgICAgICAgICAgICAgICAgIHhoci5yZXNwb25zZVRleHQgPSB0YSA/IHRhLnZhbHVlIDogeGhyLnJlc3BvbnNlVGV4dDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0cy5kYXRhVHlwZSA9PSAneG1sJyAmJiAheGhyLnJlc3BvbnNlWE1MICYmIHhoci5yZXNwb25zZVRleHQgIT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICB4aHIucmVzcG9uc2VYTUwgPSB0b1htbCh4aHIucmVzcG9uc2VUZXh0KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZGF0YSA9ICQuaHR0cERhdGEoeGhyLCBvcHRzLmRhdGFUeXBlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhdGNoKGUpew0KICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7DQogICAgICAgICAgICAgICAgJC5oYW5kbGVFcnJvcihvcHRzLCB4aHIsICdlcnJvcicsIGUpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBvcmRlcmluZyBvZiB0aGVzZSBjYWxsYmFja3MvdHJpZ2dlcnMgaXMgb2RkLCBidXQgdGhhdCdzIGhvdyAkLmFqYXggZG9lcyBpdA0KICAgICAgICAgICAgaWYgKG9rKSB7DQogICAgICAgICAgICAgICAgb3B0cy5zdWNjZXNzKGRhdGEsICdzdWNjZXNzJyk7DQogICAgICAgICAgICAgICAgaWYgKGcpICQuZXZlbnQudHJpZ2dlcigiYWpheFN1Y2Nlc3MiLCBbeGhyLCBvcHRzXSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoZykgJC5ldmVudC50cmlnZ2VyKCJhamF4Q29tcGxldGUiLCBbeGhyLCBvcHRzXSk7DQogICAgICAgICAgICBpZiAoZyAmJiAhIC0tJC5hY3RpdmUpICQuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKTsNCiAgICAgICAgICAgIGlmIChvcHRzLmNvbXBsZXRlKSBvcHRzLmNvbXBsZXRlKHhociwgb2sgPyAnc3VjY2VzcycgOiAnZXJyb3InKTsNCg0KICAgICAgICAgICAgLy8gY2xlYW4gdXANCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJGlvLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgIHhoci5yZXNwb25zZVhNTCA9IG51bGw7DQogICAgICAgICAgICB9LCAxMDApOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHRvWG1sKHMsIGRvYykgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5BY3RpdmVYT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgZG9jID0gbmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxET00nKTsNCiAgICAgICAgICAgICAgICBkb2MuYXN5bmMgPSAnZmFsc2UnOw0KICAgICAgICAgICAgICAgIGRvYy5sb2FkWE1MKHMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIGRvYyA9IChuZXcgRE9NUGFyc2VyKCkpLnBhcnNlRnJvbVN0cmluZyhzLCAndGV4dC94bWwnKTsNCiAgICAgICAgICAgIHJldHVybiAoZG9jICYmIGRvYy5kb2N1bWVudEVsZW1lbnQgJiYgZG9jLmRvY3VtZW50RWxlbWVudC50YWdOYW1lICE9ICdwYXJzZXJlcnJvcicpID8gZG9jIDogbnVsbDsNCiAgICAgICAgfTsNCiAgICB9Ow0KfTsNCg0KLyoqDQogKiBhamF4Rm9ybSgpIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmdWxseSBhdXRvbWF0aW5nIGZvcm0gc3VibWlzc2lvbi4NCiAqDQogKiBUaGUgYWR2YW50YWdlcyBvZiB1c2luZyB0aGlzIG1ldGhvZCBpbnN0ZWFkIG9mIGFqYXhTdWJtaXQoKSBhcmU6DQogKg0KICogMTogVGhpcyBtZXRob2Qgd2lsbCBpbmNsdWRlIGNvb3JkaW5hdGVzIGZvciA8aW5wdXQgdHlwZT0iaW1hZ2UiIC8+IGVsZW1lbnRzIChpZiB0aGUgZWxlbWVudA0KICogICAgaXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0pLg0KICogMi4gVGhpcyBtZXRob2Qgd2lsbCBpbmNsdWRlIHRoZSBzdWJtaXQgZWxlbWVudCdzIG5hbWUvdmFsdWUgZGF0YSAoZm9yIHRoZSBlbGVtZW50IHRoYXQgd2FzDQogKiAgICB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybSkuDQogKiAzLiBUaGlzIG1ldGhvZCBiaW5kcyB0aGUgc3VibWl0KCkgbWV0aG9kIHRvIHRoZSBmb3JtIGZvciB5b3UuDQogKg0KICogVGhlIG9wdGlvbnMgYXJndW1lbnQgZm9yIGFqYXhGb3JtIHdvcmtzIGV4YWN0bHkgYXMgaXQgZG9lcyBmb3IgYWpheFN1Ym1pdC4gIGFqYXhGb3JtIG1lcmVseQ0KICogcGFzc2VzIHRoZSBvcHRpb25zIGFyZ3VtZW50IGFsb25nIGFmdGVyIHByb3Blcmx5IGJpbmRpbmcgZXZlbnRzIGZvciBzdWJtaXQgZWxlbWVudHMgYW5kDQogKiB0aGUgZm9ybSBpdHNlbGYuDQogKi8gDQokLmZuLmFqYXhGb3JtID0gZnVuY3Rpb24ob3B0aW9ucykgew0KICAgIHJldHVybiB0aGlzLmFqYXhGb3JtVW5iaW5kKCkuYmluZCgnc3VibWl0LmZvcm0tcGx1Z2luJyxmdW5jdGlvbigpIHsNCiAgICAgICAgJCh0aGlzKS5hamF4U3VibWl0KG9wdGlvbnMpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfSkuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgLy8gc3RvcmUgb3B0aW9ucyBpbiBoYXNoDQogICAgICAgICQoIjpzdWJtaXQsaW5wdXQ6aW1hZ2UiLCB0aGlzKS5iaW5kKCdjbGljay5mb3JtLXBsdWdpbicsZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIGZvcm0gPSB0aGlzLmZvcm07DQogICAgICAgICAgICBmb3JtLmNsayA9IHRoaXM7DQogICAgICAgICAgICBpZiAodGhpcy50eXBlID09ICdpbWFnZScpIHsNCiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYICE9IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa194ID0gZS5vZmZzZXRYOw0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa195ID0gZS5vZmZzZXRZOw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mICQuZm4ub2Zmc2V0ID09ICdmdW5jdGlvbicpIHsgLy8gdHJ5IHRvIHVzZSBkaW1lbnNpb25zIHBsdWdpbg0KICAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gJCh0aGlzKS5vZmZzZXQoKTsNCiAgICAgICAgICAgICAgICAgICAgZm9ybS5jbGtfeCA9IGUucGFnZVggLSBvZmZzZXQubGVmdDsNCiAgICAgICAgICAgICAgICAgICAgZm9ybS5jbGtfeSA9IGUucGFnZVkgLSBvZmZzZXQudG9wOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGZvcm0uY2xrX3ggPSBlLnBhZ2VYIC0gdGhpcy5vZmZzZXRMZWZ0Ow0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa195ID0gZS5wYWdlWSAtIHRoaXMub2Zmc2V0VG9wOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIGNsZWFyIGZvcm0gdmFycw0KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgZm9ybS5jbGsgPSBmb3JtLmNsa194ID0gZm9ybS5jbGtfeSA9IG51bGw7IH0sIDEwKTsNCiAgICAgICAgfSk7DQogICAgfSk7DQp9Ow0KDQovLyBhamF4Rm9ybVVuYmluZCB1bmJpbmRzIHRoZSBldmVudCBoYW5kbGVycyB0aGF0IHdlcmUgYm91bmQgYnkgYWpheEZvcm0NCiQuZm4uYWpheEZvcm1VbmJpbmQgPSBmdW5jdGlvbigpIHsNCiAgICB0aGlzLnVuYmluZCgnc3VibWl0LmZvcm0tcGx1Z2luJyk7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgJCgiOnN1Ym1pdCxpbnB1dDppbWFnZSIsIHRoaXMpLnVuYmluZCgnY2xpY2suZm9ybS1wbHVnaW4nKTsNCiAgICB9KTsNCg0KfTsNCg0KLyoqDQogKiBmb3JtVG9BcnJheSgpIGdhdGhlcnMgZm9ybSBlbGVtZW50IGRhdGEgaW50byBhbiBhcnJheSBvZiBvYmplY3RzIHRoYXQgY2FuDQogKiBiZSBwYXNzZWQgdG8gYW55IG9mIHRoZSBmb2xsb3dpbmcgYWpheCBmdW5jdGlvbnM6ICQuZ2V0LCAkLnBvc3QsIG9yIGxvYWQuDQogKiBFYWNoIG9iamVjdCBpbiB0aGUgYXJyYXkgaGFzIGJvdGggYSAnbmFtZScgYW5kICd2YWx1ZScgcHJvcGVydHkuICBBbiBleGFtcGxlIG9mDQogKiBhbiBhcnJheSBmb3IgYSBzaW1wbGUgbG9naW4gZm9ybSBtaWdodCBiZToNCiAqDQogKiBbIHsgbmFtZTogJ3VzZXJuYW1lJywgdmFsdWU6ICdqcmVzaWcnIH0sIHsgbmFtZTogJ3Bhc3N3b3JkJywgdmFsdWU6ICdzZWNyZXQnIH0gXQ0KICoNCiAqIEl0IGlzIHRoaXMgYXJyYXkgdGhhdCBpcyBwYXNzZWQgdG8gcHJlLXN1Ym1pdCBjYWxsYmFjayBmdW5jdGlvbnMgcHJvdmlkZWQgdG8gdGhlDQogKiBhamF4U3VibWl0KCkgYW5kIGFqYXhGb3JtKCkgbWV0aG9kcy4NCiAqLw0KJC5mbi5mb3JtVG9BcnJheSA9IGZ1bmN0aW9uKHNlbWFudGljKSB7DQogICAgdmFyIGEgPSBbXTsNCiAgICBpZiAodGhpcy5sZW5ndGggPT0gMCkgcmV0dXJuIGE7DQoNCiAgICB2YXIgZm9ybSA9IHRoaXNbMF07DQogICAgdmFyIGVscyA9IHNlbWFudGljID8gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpIDogZm9ybS5lbGVtZW50czsNCiAgICBpZiAoIWVscykgcmV0dXJuIGE7DQogICAgZm9yKHZhciBpPTAsIG1heD1lbHMubGVuZ3RoOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgdmFyIGVsID0gZWxzW2ldOw0KICAgICAgICB2YXIgbiA9IGVsLm5hbWU7DQogICAgICAgIGlmICghbikgY29udGludWU7DQoNCiAgICAgICAgaWYgKHNlbWFudGljICYmIGZvcm0uY2xrICYmIGVsLnR5cGUgPT0gImltYWdlIikgew0KICAgICAgICAgICAgLy8gaGFuZGxlIGltYWdlIGlucHV0cyBvbiB0aGUgZmx5IHdoZW4gc2VtYW50aWMgPT0gdHJ1ZQ0KICAgICAgICAgICAgaWYoIWVsLmRpc2FibGVkICYmIGZvcm0uY2xrID09IGVsKQ0KICAgICAgICAgICAgICAgIGEucHVzaCh7bmFtZTogbisnLngnLCB2YWx1ZTogZm9ybS5jbGtfeH0sIHtuYW1lOiBuKycueScsIHZhbHVlOiBmb3JtLmNsa195fSk7DQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ID0gJC5maWVsZFZhbHVlKGVsLCB0cnVlKTsNCiAgICAgICAgaWYgKHYgJiYgdi5jb25zdHJ1Y3RvciA9PSBBcnJheSkgew0KICAgICAgICAgICAgZm9yKHZhciBqPTAsIGptYXg9di5sZW5ndGg7IGogPCBqbWF4OyBqKyspDQogICAgICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiBuLCB2YWx1ZTogdltqXX0pOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYgKHYgIT09IG51bGwgJiYgdHlwZW9mIHYgIT0gJ3VuZGVmaW5lZCcpDQogICAgICAgICAgICBhLnB1c2goe25hbWU6IG4sIHZhbHVlOiB2fSk7DQogICAgfQ0KDQogICAgaWYgKCFzZW1hbnRpYyAmJiBmb3JtLmNsaykgew0KICAgICAgICAvLyBpbnB1dCB0eXBlPT0naW1hZ2UnIGFyZSBub3QgZm91bmQgaW4gZWxlbWVudHMgYXJyYXkhIGhhbmRsZSB0aGVtIGhlcmUNCiAgICAgICAgdmFyIGlucHV0cyA9IGZvcm0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7DQogICAgICAgIGZvcih2YXIgaT0wLCBtYXg9aW5wdXRzLmxlbmd0aDsgaSA8IG1heDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07DQogICAgICAgICAgICB2YXIgbiA9IGlucHV0Lm5hbWU7DQogICAgICAgICAgICBpZihuICYmICFpbnB1dC5kaXNhYmxlZCAmJiBpbnB1dC50eXBlID09ICJpbWFnZSIgJiYgZm9ybS5jbGsgPT0gaW5wdXQpDQogICAgICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiBuKycueCcsIHZhbHVlOiBmb3JtLmNsa194fSwge25hbWU6IG4rJy55JywgdmFsdWU6IGZvcm0uY2xrX3l9KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gYTsNCn07DQoNCi8qKg0KICogU2VyaWFsaXplcyBmb3JtIGRhdGEgaW50byBhICdzdWJtaXR0YWJsZScgc3RyaW5nLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhIHN0cmluZw0KICogaW4gdGhlIGZvcm1hdDogbmFtZTE9dmFsdWUxJmFtcDtuYW1lMj12YWx1ZTINCiAqLw0KJC5mbi5mb3JtU2VyaWFsaXplID0gZnVuY3Rpb24oc2VtYW50aWMpIHsNCiAgICAvL2hhbmQgb2ZmIHRvIGpRdWVyeS5wYXJhbSBmb3IgcHJvcGVyIGVuY29kaW5nDQogICAgcmV0dXJuICQucGFyYW0odGhpcy5mb3JtVG9BcnJheShzZW1hbnRpYykpOw0KfTsNCg0KLyoqDQogKiBTZXJpYWxpemVzIGFsbCBmaWVsZCBlbGVtZW50cyBpbiB0aGUgalF1ZXJ5IG9iamVjdCBpbnRvIGEgcXVlcnkgc3RyaW5nLg0KICogVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYSBzdHJpbmcgaW4gdGhlIGZvcm1hdDogbmFtZTE9dmFsdWUxJmFtcDtuYW1lMj12YWx1ZTINCiAqLw0KJC5mbi5maWVsZFNlcmlhbGl6ZSA9IGZ1bmN0aW9uKHN1Y2Nlc3NmdWwpIHsNCiAgICB2YXIgYSA9IFtdOw0KICAgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIG4gPSB0aGlzLm5hbWU7DQogICAgICAgIGlmICghbikgcmV0dXJuOw0KICAgICAgICB2YXIgdiA9ICQuZmllbGRWYWx1ZSh0aGlzLCBzdWNjZXNzZnVsKTsNCiAgICAgICAgaWYgKHYgJiYgdi5jb25zdHJ1Y3RvciA9PSBBcnJheSkgew0KICAgICAgICAgICAgZm9yICh2YXIgaT0wLG1heD12Lmxlbmd0aDsgaSA8IG1heDsgaSsrKQ0KICAgICAgICAgICAgICAgIGEucHVzaCh7bmFtZTogbiwgdmFsdWU6IHZbaV19KTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmICh2ICE9PSBudWxsICYmIHR5cGVvZiB2ICE9ICd1bmRlZmluZWQnKQ0KICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlOiB2fSk7DQogICAgfSk7DQogICAgLy9oYW5kIG9mZiB0byBqUXVlcnkucGFyYW0gZm9yIHByb3BlciBlbmNvZGluZw0KICAgIHJldHVybiAkLnBhcmFtKGEpOw0KfTsNCg0KLyoqDQogKiBSZXR1cm5zIHRoZSB2YWx1ZShzKSBvZiB0aGUgZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBzZXQuICBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBmb3JtOg0KICoNCiAqICA8Zm9ybT48ZmllbGRzZXQ+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJBIiB0eXBlPSJ0ZXh0IiAvPg0KICogICAgICA8aW5wdXQgbmFtZT0iQSIgdHlwZT0idGV4dCIgLz4NCiAqICAgICAgPGlucHV0IG5hbWU9IkIiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iQjEiIC8+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJCIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkIyIi8+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJDIiB0eXBlPSJyYWRpbyIgdmFsdWU9IkMxIiAvPg0KICogICAgICA8aW5wdXQgbmFtZT0iQyIgdHlwZT0icmFkaW8iIHZhbHVlPSJDMiIgLz4NCiAqICA8L2ZpZWxkc2V0PjwvZm9ybT4NCiAqDQogKiAgdmFyIHYgPSAkKCc6dGV4dCcpLmZpZWxkVmFsdWUoKTsNCiAqICAvLyBpZiBubyB2YWx1ZXMgYXJlIGVudGVyZWQgaW50byB0aGUgdGV4dCBpbnB1dHMNCiAqICB2ID09IFsnJywnJ10NCiAqICAvLyBpZiB2YWx1ZXMgZW50ZXJlZCBpbnRvIHRoZSB0ZXh0IGlucHV0cyBhcmUgJ2ZvbycgYW5kICdiYXInDQogKiAgdiA9PSBbJ2ZvbycsJ2JhciddDQogKg0KICogIHZhciB2ID0gJCgnOmNoZWNrYm94JykuZmllbGRWYWx1ZSgpOw0KICogIC8vIGlmIG5laXRoZXIgY2hlY2tib3ggaXMgY2hlY2tlZA0KICogIHYgPT09IHVuZGVmaW5lZA0KICogIC8vIGlmIGJvdGggY2hlY2tib3hlcyBhcmUgY2hlY2tlZA0KICogIHYgPT0gWydCMScsICdCMiddDQogKg0KICogIHZhciB2ID0gJCgnOnJhZGlvJykuZmllbGRWYWx1ZSgpOw0KICogIC8vIGlmIG5laXRoZXIgcmFkaW8gaXMgY2hlY2tlZA0KICogIHYgPT09IHVuZGVmaW5lZA0KICogIC8vIGlmIGZpcnN0IHJhZGlvIGlzIGNoZWNrZWQNCiAqICB2ID09IFsnQzEnXQ0KICoNCiAqIFRoZSBzdWNjZXNzZnVsIGFyZ3VtZW50IGNvbnRyb2xzIHdoZXRoZXIgb3Igbm90IHRoZSBmaWVsZCBlbGVtZW50IG11c3QgYmUgJ3N1Y2Nlc3NmdWwnDQogKiAocGVyIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2ludGVyYWN0L2Zvcm1zLmh0bWwjc3VjY2Vzc2Z1bC1jb250cm9scykuDQogKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgc3VjY2Vzc2Z1bCBhcmd1bWVudCBpcyB0cnVlLiAgSWYgdGhpcyB2YWx1ZSBpcyBmYWxzZSB0aGUgdmFsdWUocykNCiAqIGZvciBlYWNoIGVsZW1lbnQgaXMgcmV0dXJuZWQuDQogKg0KICogTm90ZTogVGhpcyBtZXRob2QgKmFsd2F5cyogcmV0dXJucyBhbiBhcnJheS4gIElmIG5vIHZhbGlkIHZhbHVlIGNhbiBiZSBkZXRlcm1pbmVkIHRoZQ0KICogICAgICAgYXJyYXkgd2lsbCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGl0IHdpbGwgY29udGFpbiBvbmUgb3IgbW9yZSB2YWx1ZXMuDQogKi8NCiQuZm4uZmllbGRWYWx1ZSA9IGZ1bmN0aW9uKHN1Y2Nlc3NmdWwpIHsNCiAgICBmb3IgKHZhciB2YWw9W10sIGk9MCwgbWF4PXRoaXMubGVuZ3RoOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgdmFyIGVsID0gdGhpc1tpXTsNCiAgICAgICAgdmFyIHYgPSAkLmZpZWxkVmFsdWUoZWwsIHN1Y2Nlc3NmdWwpOw0KICAgICAgICBpZiAodiA9PT0gbnVsbCB8fCB0eXBlb2YgdiA9PSAndW5kZWZpbmVkJyB8fCAodi5jb25zdHJ1Y3RvciA9PSBBcnJheSAmJiAhdi5sZW5ndGgpKQ0KICAgICAgICAgICAgY29udGludWU7DQogICAgICAgIHYuY29uc3RydWN0b3IgPT0gQXJyYXkgPyAkLm1lcmdlKHZhbCwgdikgOiB2YWwucHVzaCh2KTsNCiAgICB9DQogICAgcmV0dXJuIHZhbDsNCn07DQoNCi8qKg0KICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGZpZWxkIGVsZW1lbnQuDQogKi8NCiQuZmllbGRWYWx1ZSA9IGZ1bmN0aW9uKGVsLCBzdWNjZXNzZnVsKSB7DQogICAgdmFyIG4gPSBlbC5uYW1lLCB0ID0gZWwudHlwZSwgdGFnID0gZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgIGlmICh0eXBlb2Ygc3VjY2Vzc2Z1bCA9PSAndW5kZWZpbmVkJykgc3VjY2Vzc2Z1bCA9IHRydWU7DQoNCiAgICBpZiAoc3VjY2Vzc2Z1bCAmJiAoIW4gfHwgZWwuZGlzYWJsZWQgfHwgdCA9PSAncmVzZXQnIHx8IHQgPT0gJ2J1dHRvbicgfHwNCiAgICAgICAgKHQgPT0gJ2NoZWNrYm94JyB8fCB0ID09ICdyYWRpbycpICYmICFlbC5jaGVja2VkIHx8DQogICAgICAgICh0ID09ICdzdWJtaXQnIHx8IHQgPT0gJ2ltYWdlJykgJiYgZWwuZm9ybSAmJiBlbC5mb3JtLmNsayAhPSBlbCB8fA0KICAgICAgICB0YWcgPT0gJ3NlbGVjdCcgJiYgZWwuc2VsZWN0ZWRJbmRleCA9PSAtMSkpDQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCg0KICAgIGlmICh0YWcgPT0gJ3NlbGVjdCcpIHsNCiAgICAgICAgdmFyIGluZGV4ID0gZWwuc2VsZWN0ZWRJbmRleDsNCiAgICAgICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIG51bGw7DQogICAgICAgIHZhciBhID0gW10sIG9wcyA9IGVsLm9wdGlvbnM7DQogICAgICAgIHZhciBvbmUgPSAodCA9PSAnc2VsZWN0LW9uZScpOw0KICAgICAgICB2YXIgbWF4ID0gKG9uZSA/IGluZGV4KzEgOiBvcHMubGVuZ3RoKTsNCiAgICAgICAgZm9yKHZhciBpPShvbmUgPyBpbmRleCA6IDApOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgICAgIHZhciBvcCA9IG9wc1tpXTsNCiAgICAgICAgICAgIGlmIChvcC5zZWxlY3RlZCkgew0KICAgICAgICAgICAgICAgIC8vIGV4dHJhIHBhaW4gZm9yIElFLi4uDQogICAgICAgICAgICAgICAgdmFyIHYgPSAkLmJyb3dzZXIubXNpZSAmJiAhKG9wLmF0dHJpYnV0ZXNbJ3ZhbHVlJ10uc3BlY2lmaWVkKSA/IG9wLnRleHQgOiBvcC52YWx1ZTsNCiAgICAgICAgICAgICAgICBpZiAob25lKSByZXR1cm4gdjsNCiAgICAgICAgICAgICAgICBhLnB1c2godik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGE7DQogICAgfQ0KICAgIHJldHVybiBlbC52YWx1ZTsNCn07DQoNCi8qKg0KICogQ2xlYXJzIHRoZSBmb3JtIGRhdGEuICBUYWtlcyB0aGUgZm9sbG93aW5nIGFjdGlvbnMgb24gdGhlIGZvcm0ncyBpbnB1dCBmaWVsZHM6DQogKiAgLSBpbnB1dCB0ZXh0IGZpZWxkcyB3aWxsIGhhdmUgdGhlaXIgJ3ZhbHVlJyBwcm9wZXJ0eSBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZw0KICogIC0gc2VsZWN0IGVsZW1lbnRzIHdpbGwgaGF2ZSB0aGVpciAnc2VsZWN0ZWRJbmRleCcgcHJvcGVydHkgc2V0IHRvIC0xDQogKiAgLSBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzIHdpbGwgaGF2ZSB0aGVpciAnY2hlY2tlZCcgcHJvcGVydHkgc2V0IHRvIGZhbHNlDQogKiAgLSBpbnB1dHMgb2YgdHlwZSBzdWJtaXQsIGJ1dHRvbiwgcmVzZXQsIGFuZCBoaWRkZW4gd2lsbCAqbm90KiBiZSBlZmZlY3RlZA0KICogIC0gYnV0dG9uIGVsZW1lbnRzIHdpbGwgKm5vdCogYmUgZWZmZWN0ZWQNCiAqLw0KJC5mbi5jbGVhckZvcm0gPSBmdW5jdGlvbigpIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCdpbnB1dCxzZWxlY3QsdGV4dGFyZWEnLCB0aGlzKS5jbGVhckZpZWxkcygpOw0KICAgIH0pOw0KfTsNCg0KLyoqDQogKiBDbGVhcnMgdGhlIHNlbGVjdGVkIGZvcm0gZWxlbWVudHMuDQogKi8NCiQuZm4uY2xlYXJGaWVsZHMgPSAkLmZuLmNsZWFySW5wdXRzID0gZnVuY3Rpb24oKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIHQgPSB0aGlzLnR5cGUsIHRhZyA9IHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgICBpZiAodCA9PSAndGV4dCcgfHwgdCA9PSAncGFzc3dvcmQnIHx8IHRhZyA9PSAndGV4dGFyZWEnKQ0KICAgICAgICAgICAgdGhpcy52YWx1ZSA9ICcnOw0KICAgICAgICBlbHNlIGlmICh0ID09ICdjaGVja2JveCcgfHwgdCA9PSAncmFkaW8nKQ0KICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gZmFsc2U7DQogICAgICAgIGVsc2UgaWYgKHRhZyA9PSAnc2VsZWN0JykNCiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IC0xOw0KICAgIH0pOw0KfTsNCg0KLyoqDQogKiBSZXNldHMgdGhlIGZvcm0gZGF0YS4gIENhdXNlcyBhbGwgZm9ybSBlbGVtZW50cyB0byBiZSByZXNldCB0byB0aGVpciBvcmlnaW5hbCB2YWx1ZS4NCiAqLw0KJC5mbi5yZXNldEZvcm0gPSBmdW5jdGlvbigpIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAvLyBndWFyZCBhZ2FpbnN0IGFuIGlucHV0IHdpdGggdGhlIG5hbWUgb2YgJ3Jlc2V0Jw0KICAgICAgICAvLyBub3RlIHRoYXQgSUUgcmVwb3J0cyB0aGUgcmVzZXQgZnVuY3Rpb24gYXMgYW4gJ29iamVjdCcNCiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlc2V0ID09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiB0aGlzLnJlc2V0ID09ICdvYmplY3QnICYmICF0aGlzLnJlc2V0Lm5vZGVUeXBlKSkNCiAgICAgICAgICAgIHRoaXMucmVzZXQoKTsNCiAgICB9KTsNCn07DQoNCi8qKg0KICogRW5hYmxlcyBvciBkaXNhYmxlcyBhbnkgbWF0Y2hpbmcgZWxlbWVudHMuDQogKi8NCiQuZm4uZW5hYmxlID0gZnVuY3Rpb24oYikgeyANCiAgICBpZiAoYiA9PSB1bmRlZmluZWQpIGIgPSB0cnVlOw0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7IA0KICAgICAgICB0aGlzLmRpc2FibGVkID0gIWIgDQogICAgfSk7DQp9Ow0KDQovKioNCiAqIENoZWNrcy91bmNoZWNrcyBhbnkgbWF0Y2hpbmcgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zIGFuZA0KICogc2VsZWN0cy9kZXNlbGVjdHMgYW5kIG1hdGNoaW5nIG9wdGlvbiBlbGVtZW50cy4NCiAqLw0KJC5mbi5zZWxlY3RlZCA9IGZ1bmN0aW9uKHNlbGVjdCkgew0KICAgIGlmIChzZWxlY3QgPT0gdW5kZWZpbmVkKSBzZWxlY3QgPSB0cnVlOw0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7IA0KICAgICAgICB2YXIgdCA9IHRoaXMudHlwZTsNCiAgICAgICAgaWYgKHQgPT0gJ2NoZWNrYm94JyB8fCB0ID09ICdyYWRpbycpDQogICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBzZWxlY3Q7DQogICAgICAgIGVsc2UgaWYgKHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09ICdvcHRpb24nKSB7DQogICAgICAgICAgICB2YXIgJHNlbCA9ICQodGhpcykucGFyZW50KCdzZWxlY3QnKTsNCiAgICAgICAgICAgIGlmIChzZWxlY3QgJiYgJHNlbFswXSAmJiAkc2VsWzBdLnR5cGUgPT0gJ3NlbGVjdC1vbmUnKSB7DQogICAgICAgICAgICAgICAgLy8gZGVzZWxlY3QgYWxsIG90aGVyIG9wdGlvbnMNCiAgICAgICAgICAgICAgICAkc2VsLmZpbmQoJ29wdGlvbicpLnNlbGVjdGVkKGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3Q7DQogICAgICAgIH0NCiAgICB9KTsNCn07DQoNCi8vIGhlbHBlciBmbiBmb3IgY29uc29sZSBsb2dnaW5nDQovLyBzZXQgJC5mbi5hamF4U3VibWl0LmRlYnVnIHRvIHRydWUgdG8gZW5hYmxlIGRlYnVnIGxvZ2dpbmcNCmZ1bmN0aW9uIGxvZygpIHsNCiAgICBpZiAoJC5mbi5hamF4U3VibWl0LmRlYnVnICYmIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykNCiAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKCdbanF1ZXJ5LmZvcm1dICcgKyBBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGFyZ3VtZW50cywnJykpOw0KfTsNCg0KfSkoalF1ZXJ5KTsNCg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.hoverIntent.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LyoqCiogaG92ZXJJbnRlbnQgaXMgc2ltaWxhciB0byBqUXVlcnkncyBidWlsdC1pbiAiaG92ZXIiIGZ1bmN0aW9uIGV4Y2VwdCB0aGF0CiogaW5zdGVhZCBvZiBmaXJpbmcgdGhlIG9uTW91c2VPdmVyIGV2ZW50IGltbWVkaWF0ZWx5LCBob3ZlckludGVudCBjaGVja3MKKiB0byBzZWUgaWYgdGhlIHVzZXIncyBtb3VzZSBoYXMgc2xvd2VkIGRvd24gKGJlbmVhdGggdGhlIHNlbnNpdGl2aXR5CiogdGhyZXNob2xkKSBiZWZvcmUgZmlyaW5nIHRoZSBvbk1vdXNlT3ZlciBldmVudC4KKiAKKiBob3ZlckludGVudCByNSAvLyAyMDA3LjAzLjI3IC8vIGpRdWVyeSAxLjEuMgoqIDxodHRwOi8vY2hlcm5lLm5ldC9icmlhbi9yZXNvdXJjZXMvanF1ZXJ5LmhvdmVySW50ZW50Lmh0bWw+CiogCiogaG92ZXJJbnRlbnQgaXMgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdXNlIGluIGFsbCBwZXJzb25hbCBvciBjb21tZXJjaWFsIAoqIHByb2plY3RzIHVuZGVyIGJvdGggTUlUIGFuZCBHUEwgbGljZW5zZXMuIFRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGNob29zZSAKKiB0aGUgbGljZW5zZSB0aGF0IGJlc3Qgc3VpdHMgeW91ciBwcm9qZWN0LCBhbmQgdXNlIGl0IGFjY29yZGluZ2x5LgoqIAoqIC8vIGJhc2ljIHVzYWdlIChqdXN0IGxpa2UgLmhvdmVyKSByZWNlaXZlcyBvbk1vdXNlT3ZlciBhbmQgb25Nb3VzZU91dCBmdW5jdGlvbnMKKiAkKCJ1bCBsaSIpLmhvdmVySW50ZW50KCBzaG93TmF2ICwgaGlkZU5hdiApOwoqIAoqIC8vIGFkdmFuY2VkIHVzYWdlIHJlY2VpdmVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9ubHkKKiAkKCJ1bCBsaSIpLmhvdmVySW50ZW50KHsKKglzZW5zaXRpdml0eTogMiwgLy8gbnVtYmVyID0gc2Vuc2l0aXZpdHkgdGhyZXNob2xkIChtdXN0IGJlIDEgb3IgaGlnaGVyKQoqCWludGVydmFsOiA1MCwgICAvLyBudW1iZXIgPSBtaWxsaXNlY29uZHMgb2YgcG9sbGluZyBpbnRlcnZhbAoqCW92ZXI6IHNob3dOYXYsICAvLyBmdW5jdGlvbiA9IG9uTW91c2VPdmVyIGNhbGxiYWNrIChyZXF1aXJlZCkKKgl0aW1lb3V0OiAxMDAsICAgLy8gbnVtYmVyID0gbWlsbGlzZWNvbmRzIGRlbGF5IGJlZm9yZSBvbk1vdXNlT3V0IGZ1bmN0aW9uIGNhbGwKKglvdXQ6IGhpZGVOYXYgICAgLy8gZnVuY3Rpb24gPSBvbk1vdXNlT3V0IGNhbGxiYWNrIChyZXF1aXJlZCkKKiB9KTsKKiAKKiBAcGFyYW0gIGYgIG9uTW91c2VPdmVyIGZ1bmN0aW9uIHx8IEFuIG9iamVjdCB3aXRoIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwoqIEBwYXJhbSAgZyAgb25Nb3VzZU91dCBmdW5jdGlvbiAgfHwgTm90aGluZyAodXNlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBvYmplY3QpCiogQHJldHVybiAgICBUaGUgb2JqZWN0IChha2EgInRoaXMiKSB0aGF0IGNhbGxlZCBob3ZlckludGVudCwgYW5kIHRoZSBldmVudCBvYmplY3QKKiBAYXV0aG9yICAgIEJyaWFuIENoZXJuZSA8YnJpYW5AY2hlcm5lLm5ldD4KKi8KKGZ1bmN0aW9uKCQpIHsKCSQuZm4uaG92ZXJJbnRlbnQgPSBmdW5jdGlvbihmLGcpIHsKCQkvLyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucwoJCXZhciBjZmcgPSB7CgkJCXNlbnNpdGl2aXR5OiA3LAoJCQlpbnRlcnZhbDogMTAwLAoJCQl0aW1lb3V0OiAwCgkJfTsKCQkvLyBvdmVycmlkZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aCB1c2VyIHN1cHBsaWVkIG9iamVjdAoJCWNmZyA9ICQuZXh0ZW5kKGNmZywgZyA/IHsgb3ZlcjogZiwgb3V0OiBnIH0gOiBmICk7CgoJCS8vIGluc3RhbnRpYXRlIHZhcmlhYmxlcwoJCS8vIGNYLCBjWSA9IGN1cnJlbnQgWCBhbmQgWSBwb3NpdGlvbiBvZiBtb3VzZSwgdXBkYXRlZCBieSBtb3VzZW1vdmUgZXZlbnQKCQkvLyBwWCwgcFkgPSBwcmV2aW91cyBYIGFuZCBZIHBvc2l0aW9uIG9mIG1vdXNlLCBzZXQgYnkgbW91c2VvdmVyIGFuZCBwb2xsaW5nIGludGVydmFsCgkJdmFyIGNYLCBjWSwgcFgsIHBZOwoKCQkvLyBBIHByaXZhdGUgZnVuY3Rpb24gZm9yIGdldHRpbmcgbW91c2UgcG9zaXRpb24KCQl2YXIgdHJhY2sgPSBmdW5jdGlvbihldikgewoJCQljWCA9IGV2LnBhZ2VYOwoJCQljWSA9IGV2LnBhZ2VZOwoJCX07CgoJCS8vIEEgcHJpdmF0ZSBmdW5jdGlvbiBmb3IgY29tcGFyaW5nIGN1cnJlbnQgYW5kIHByZXZpb3VzIG1vdXNlIHBvc2l0aW9uCgkJdmFyIGNvbXBhcmUgPSBmdW5jdGlvbihldixvYikgewoJCQlvYi5ob3ZlckludGVudF90ID0gY2xlYXJUaW1lb3V0KG9iLmhvdmVySW50ZW50X3QpOwoJCQkvLyBjb21wYXJlIG1vdXNlIHBvc2l0aW9ucyB0byBzZWUgaWYgdGhleSd2ZSBjcm9zc2VkIHRoZSB0aHJlc2hvbGQKCQkJaWYgKCAoIE1hdGguYWJzKHBYLWNYKSArIE1hdGguYWJzKHBZLWNZKSApIDwgY2ZnLnNlbnNpdGl2aXR5ICkgewoJCQkJJChvYikudW5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIHNldCBob3ZlckludGVudCBzdGF0ZSB0byB0cnVlIChzbyBtb3VzZU91dCBjYW4gYmUgY2FsbGVkKQoJCQkJb2IuaG92ZXJJbnRlbnRfcyA9IDE7CgkJCQlyZXR1cm4gY2ZnLm92ZXIuYXBwbHkob2IsW2V2XSk7CgkJCX0gZWxzZSB7CgkJCQkvLyBzZXQgcHJldmlvdXMgY29vcmRpbmF0ZXMgZm9yIG5leHQgdGltZQoJCQkJcFggPSBjWDsgcFkgPSBjWTsKCQkJCS8vIHVzZSBzZWxmLWNhbGxpbmcgdGltZW91dCwgZ3VhcmFudGVlcyBpbnRlcnZhbHMgYXJlIHNwYWNlZCBvdXQgcHJvcGVybHkgKGF2b2lkcyBKYXZhU2NyaXB0IHRpbWVyIGJ1Z3MpCgkJCQlvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtjb21wYXJlKGV2LCBvYik7fSAsIGNmZy5pbnRlcnZhbCApOwoJCQl9CgkJfTsKCgkJLy8gQSBwcml2YXRlIGZ1bmN0aW9uIGZvciBkZWxheWluZyB0aGUgbW91c2VPdXQgZnVuY3Rpb24KCQl2YXIgZGVsYXkgPSBmdW5jdGlvbihldixvYikgewoJCQlvYi5ob3ZlckludGVudF90ID0gY2xlYXJUaW1lb3V0KG9iLmhvdmVySW50ZW50X3QpOwoJCQlvYi5ob3ZlckludGVudF9zID0gMDsKCQkJcmV0dXJuIGNmZy5vdXQuYXBwbHkob2IsW2V2XSk7CgkJfTsKCgkJLy8gQSBwcml2YXRlIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBtb3VzZSAnaG92ZXJpbmcnCgkJdmFyIGhhbmRsZUhvdmVyID0gZnVuY3Rpb24oZSkgewoJCQkvLyBuZXh0IHRocmVlIGxpbmVzIGNvcGllZCBmcm9tIGpRdWVyeS5ob3ZlciwgaWdub3JlIGNoaWxkcmVuIG9uTW91c2VPdmVyL29uTW91c2VPdXQKCQkJdmFyIHAgPSAoZS50eXBlID09ICJtb3VzZW92ZXIiID8gZS5mcm9tRWxlbWVudCA6IGUudG9FbGVtZW50KSB8fCBlLnJlbGF0ZWRUYXJnZXQ7CgkJCXdoaWxlICggcCAmJiBwICE9IHRoaXMgKSB7IHRyeSB7IHAgPSBwLnBhcmVudE5vZGU7IH0gY2F0Y2goZSkgeyBwID0gdGhpczsgfSB9CgkJCWlmICggcCA9PSB0aGlzICkgeyByZXR1cm4gZmFsc2U7IH0KCgkJCS8vIGNvcHkgb2JqZWN0cyB0byBiZSBwYXNzZWQgaW50byB0IChyZXF1aXJlZCBmb3IgZXZlbnQgb2JqZWN0IHRvIGJlIHBhc3NlZCBpbiBJRSkKCQkJdmFyIGV2ID0galF1ZXJ5LmV4dGVuZCh7fSxlKTsKCQkJdmFyIG9iID0gdGhpczsKCgkJCS8vIGNhbmNlbCBob3ZlckludGVudCB0aW1lciBpZiBpdCBleGlzdHMKCQkJaWYgKG9iLmhvdmVySW50ZW50X3QpIHsgb2IuaG92ZXJJbnRlbnRfdCA9IGNsZWFyVGltZW91dChvYi5ob3ZlckludGVudF90KTsgfQoKCQkJLy8gZWxzZSBlLnR5cGUgPT0gIm9ubW91c2VvdmVyIgoJCQlpZiAoZS50eXBlID09ICJtb3VzZW92ZXIiKSB7CgkJCQkvLyBzZXQgInByZXZpb3VzIiBYIGFuZCBZIHBvc2l0aW9uIGJhc2VkIG9uIGluaXRpYWwgZW50cnkgcG9pbnQKCQkJCXBYID0gZXYucGFnZVg7IHBZID0gZXYucGFnZVk7CgkJCQkvLyB1cGRhdGUgImN1cnJlbnQiIFggYW5kIFkgcG9zaXRpb24gYmFzZWQgb24gbW91c2Vtb3ZlCgkJCQkkKG9iKS5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIHN0YXJ0IHBvbGxpbmcgaW50ZXJ2YWwgKHNlbGYtY2FsbGluZyB0aW1lb3V0KSB0byBjb21wYXJlIG1vdXNlIGNvb3JkaW5hdGVzIG92ZXIgdGltZQoJCQkJaWYgKG9iLmhvdmVySW50ZW50X3MgIT0gMSkgeyBvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtjb21wYXJlKGV2LG9iKTt9ICwgY2ZnLmludGVydmFsICk7fQoKCQkJLy8gZWxzZSBlLnR5cGUgPT0gIm9ubW91c2VvdXQiCgkJCX0gZWxzZSB7CgkJCQkvLyB1bmJpbmQgZXhwZW5zaXZlIG1vdXNlbW92ZSBldmVudAoJCQkJJChvYikudW5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIGlmIGhvdmVySW50ZW50IHN0YXRlIGlzIHRydWUsIHRoZW4gY2FsbCB0aGUgbW91c2VPdXQgZnVuY3Rpb24gYWZ0ZXIgdGhlIHNwZWNpZmllZCBkZWxheQoJCQkJaWYgKG9iLmhvdmVySW50ZW50X3MgPT0gMSkgeyBvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtkZWxheShldixvYik7fSAsIGNmZy50aW1lb3V0ICk7fQoJCQl9CgkJfTsKCgkJLy8gYmluZCB0aGUgZnVuY3Rpb24gdG8gdGhlIHR3byBldmVudCBsaXN0ZW5lcnMKCQlyZXR1cm4gdGhpcy5tb3VzZW92ZXIoaGFuZGxlSG92ZXIpLm1vdXNlb3V0KGhhbmRsZUhvdmVyKTsKCX07Cn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.json-1.3.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CihmdW5jdGlvbigkKXtmdW5jdGlvbiB0b0ludGVnZXJzQXRMZWFzZShuKQp7cmV0dXJuIG48MTA/JzAnK246bjt9CkRhdGUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbihkYXRlKQp7cmV0dXJuIHRoaXMuZ2V0VVRDRnVsbFllYXIoKSsnLScrCnRvSW50ZWdlcnNBdExlYXNlKHRoaXMuZ2V0VVRDTW9udGgoKSkrJy0nKwp0b0ludGVnZXJzQXRMZWFzZSh0aGlzLmdldFVUQ0RhdGUoKSk7fTt2YXIgZXNjYXBlYWJsZT0vWyJcXFx4MDAtXHgxZlx4N2YtXHg5Zl0vZzt2YXIgbWV0YT17J1xiJzonXFxiJywnXHQnOidcXHQnLCdcbic6J1xcbicsJ1xmJzonXFxmJywnXHInOidcXHInLCciJzonXFwiJywnXFwnOidcXFxcJ307JC5xdW90ZVN0cmluZz1mdW5jdGlvbihzdHJpbmcpCntpZihlc2NhcGVhYmxlLnRlc3Qoc3RyaW5nKSkKe3JldHVybiciJytzdHJpbmcucmVwbGFjZShlc2NhcGVhYmxlLGZ1bmN0aW9uKGEpCnt2YXIgYz1tZXRhW2FdO2lmKHR5cGVvZiBjPT09J3N0cmluZycpe3JldHVybiBjO30KYz1hLmNoYXJDb2RlQXQoKTtyZXR1cm4nXFx1MDAnK01hdGguZmxvb3IoYy8xNikudG9TdHJpbmcoMTYpKyhjJTE2KS50b1N0cmluZygxNik7fSkrJyInO30KcmV0dXJuJyInK3N0cmluZysnIic7fTskLnRvSlNPTj1mdW5jdGlvbihvLGNvbXBhY3QpCnt2YXIgdHlwZT10eXBlb2Yobyk7aWYodHlwZT09InVuZGVmaW5lZCIpCnJldHVybiJ1bmRlZmluZWQiO2Vsc2UgaWYodHlwZT09Im51bWJlciJ8fHR5cGU9PSJib29sZWFuIikKcmV0dXJuIG8rIiI7ZWxzZSBpZihvPT09bnVsbCkKcmV0dXJuIm51bGwiO2lmKHR5cGU9PSJzdHJpbmciKQp7cmV0dXJuICQucXVvdGVTdHJpbmcobyk7fQppZih0eXBlPT0ib2JqZWN0IiYmdHlwZW9mIG8udG9KU09OPT0iZnVuY3Rpb24iKQpyZXR1cm4gby50b0pTT04oY29tcGFjdCk7aWYodHlwZSE9ImZ1bmN0aW9uIiYmdHlwZW9mKG8ubGVuZ3RoKT09Im51bWJlciIpCnt2YXIgcmV0PVtdO2Zvcih2YXIgaT0wO2k8by5sZW5ndGg7aSsrKXtyZXQucHVzaCgkLnRvSlNPTihvW2ldLGNvbXBhY3QpKTt9CmlmKGNvbXBhY3QpCnJldHVybiJbIityZXQuam9pbigiLCIpKyJdIjtlbHNlCnJldHVybiJbIityZXQuam9pbigiLCAiKSsiXSI7fQppZih0eXBlPT0iZnVuY3Rpb24iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCBvYmplY3Qgb2YgdHlwZSAnZnVuY3Rpb24nIHRvIGpzb24uIik7fQp2YXIgcmV0PVtdO2Zvcih2YXIgayBpbiBvKXt2YXIgbmFtZTt0eXBlPXR5cGVvZihrKTtpZih0eXBlPT0ibnVtYmVyIikKbmFtZT0nIicraysnIic7ZWxzZSBpZih0eXBlPT0ic3RyaW5nIikKbmFtZT0kLnF1b3RlU3RyaW5nKGspO2Vsc2UKY29udGludWU7dmFyIHZhbD0kLnRvSlNPTihvW2tdLGNvbXBhY3QpO2lmKHR5cGVvZih2YWwpIT0ic3RyaW5nIil7Y29udGludWU7fQppZihjb21wYWN0KQpyZXQucHVzaChuYW1lKyI6Iit2YWwpO2Vsc2UKcmV0LnB1c2gobmFtZSsiOiAiK3ZhbCk7fQpyZXR1cm4ieyIrcmV0LmpvaW4oIiwgIikrIn0iO307JC5jb21wYWN0SlNPTj1mdW5jdGlvbihvKQp7cmV0dXJuICQudG9KU09OKG8sdHJ1ZSk7fTskLmV2YWxKU09OPWZ1bmN0aW9uKHNyYykKe3JldHVybiBldmFsKCIoIitzcmMrIikiKTt9OyQuc2VjdXJlRXZhbEpTT049ZnVuY3Rpb24oc3JjKQp7dmFyIGZpbHRlcmVkPXNyYztmaWx0ZXJlZD1maWx0ZXJlZC5yZXBsYWNlKC9cXFsiXFxcL2JmbnJ0dV0vZywnQCcpO2ZpbHRlcmVkPWZpbHRlcmVkLnJlcGxhY2UoLyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLCddJyk7ZmlsdGVyZWQ9ZmlsdGVyZWQucmVwbGFjZSgvKD86Xnw6fCwpKD86XHMqXFspKy9nLCcnKTtpZigvXltcXSw6e31cc10qJC8udGVzdChmaWx0ZXJlZCkpCnJldHVybiBldmFsKCIoIitzcmMrIikiKTtlbHNlCnRocm93IG5ldyBTeW50YXhFcnJvcigiRXJyb3IgcGFyc2luZyBKU09OLCBzb3VyY2UgaXMgbm90IHZhbGlkLiIpO307fSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.lightbox-0.5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmpzDQogKiBAYXV0aG9yIExlYW5kcm8gVmllaXJhIFBpbmhvIC0gaHR0cDovL2xlYW5kcm92aWVpcmEuY29tDQogKiBAdmVyc2lvbiAwLjUNCiAqIEBkYXRlIEFwcmlsIDExLCAyMDA4DQogKiBAY2F0ZWdvcnkgalF1ZXJ5IHBsdWdpbg0KICogQGNvcHlyaWdodCAoYykgMjAwOCBMZWFuZHJvIFZpZWlyYSBQaW5obyAobGVhbmRyb3ZpZWlyYS5jb20pDQogKiBAbGljZW5zZSBDQyBBdHRyaWJ1dGlvbi1ObyBEZXJpdmF0aXZlIFdvcmtzIDIuNSBCcmF6aWwgLSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8yLjUvYnIvZGVlZC5lbl9VUw0KICogQGV4YW1wbGUgVmlzaXQgaHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC8gZm9yIG1vcmUgaW5mb3JtYXRpb25zIGFib3V0IHRoaXMgalF1ZXJ5IHBsdWdpbg0KICovDQoNCi8vIE9mZmVyaW5nIGEgQ3VzdG9tIEFsaWFzIHN1cG9ydCAtIE1vcmUgaW5mbzogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9QbHVnaW5zL0F1dGhvcmluZyNDdXN0b21fQWxpYXMNCihmdW5jdGlvbigkKSB7DQoJLyoqDQoJICogJCBpcyBhbiBhbGlhcyB0byBqUXVlcnkgb2JqZWN0DQoJICoNCgkgKi8NCgkkLmZuLmxpZ2h0Qm94ID0gZnVuY3Rpb24oc2V0dGluZ3MpIHsNCgkJLy8gU2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luIGhvdyB5b3UgbGlrZQ0KCQlzZXR0aW5ncyA9IGpRdWVyeS5leHRlbmQoew0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIG92ZXJsYXkNCgkJCW92ZXJsYXlCZ0NvbG9yOiAJCScjMDAwJywJCS8vIChzdHJpbmcpIEJhY2tncm91bmQgY29sb3IgdG8gb3ZlcmxheTsgaW5mb3JtIGEgaGV4YWRlY2ltYWwgdmFsdWUgbGlrZTogI1JSR0dCQi4gV2hlcmUgUlIsIEdHLCBhbmQgQkIgYXJlIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZXMgZm9yIHRoZSByZWQsIGdyZWVuLCBhbmQgYmx1ZSB2YWx1ZXMgb2YgdGhlIGNvbG9yLg0KCQkJb3ZlcmxheU9wYWNpdHk6CQkJMC44LAkJLy8gKGludGVnZXIpIE9wYWNpdHkgdmFsdWUgdG8gb3ZlcmxheTsgaW5mb3JtOiAwLlguIFdoZXJlIFggYXJlIG51bWJlciBmcm9tIDAgdG8gOQ0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIG5hdmlnYXRpb24NCgkJCWZpeGVkTmF2aWdhdGlvbjoJCWZhbHNlLAkJLy8gKGJvb2xlYW4pIEJvb2xlYW4gdGhhdCBpbmZvcm1zIGlmIHRoZSBuYXZpZ2F0aW9uIChuZXh0IGFuZCBwcmV2IGJ1dHRvbikgd2lsbCBiZSBmaXhlZCBvciBub3QgaW4gdGhlIGludGVyZmFjZS4NCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBpbWFnZXMNCgkJCWltYWdlTG9hZGluZzoJCQknbW9kdWxlcy9KUXVlcnlUb29scy9saWIvaW1ncy9saWdodGJveC1pY28tbG9hZGluZy5naWYnLAkJLy8gKHN0cmluZykgUGF0aCBhbmQgdGhlIG5hbWUgb2YgdGhlIGxvYWRpbmcgaWNvbg0KCQkJaW1hZ2VCdG5QcmV2OgkJCSdtb2R1bGVzL0pRdWVyeVRvb2xzL2xpYi9pbWdzL2xpZ2h0Ym94LWJ0bi1wcmV2LmdpZicsCQkJLy8gKHN0cmluZykgUGF0aCBhbmQgdGhlIG5hbWUgb2YgdGhlIHByZXYgYnV0dG9uIGltYWdlDQoJCQlpbWFnZUJ0bk5leHQ6CQkJJ21vZHVsZXMvSlF1ZXJ5VG9vbHMvbGliL2ltZ3MvbGlnaHRib3gtYnRuLW5leHQuZ2lmJywJCQkvLyAoc3RyaW5nKSBQYXRoIGFuZCB0aGUgbmFtZSBvZiB0aGUgbmV4dCBidXR0b24gaW1hZ2UNCgkJCWltYWdlQnRuQ2xvc2U6CQkJJ21vZHVsZXMvSlF1ZXJ5VG9vbHMvbGliL2ltZ3MvbGlnaHRib3gtYnRuLWNsb3NlLmdpZicsCQkvLyAoc3RyaW5nKSBQYXRoIGFuZCB0aGUgbmFtZSBvZiB0aGUgY2xvc2UgYnRuDQoJCQlpbWFnZUJsYW5rOgkJCQknbW9kdWxlcy9KUXVlcnlUb29scy9saWIvaW1ncy9saWdodGJveC1ibGFuay5naWYnLAkJCS8vIChzdHJpbmcpIFBhdGggYW5kIHRoZSBuYW1lIG9mIGEgYmxhbmsgaW1hZ2UgKG9uZSBwaXhlbCkNCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBjb250YWluZXIgaW1hZ2UgYm94DQoJCQljb250YWluZXJCb3JkZXJTaXplOgkxMCwJCQkvLyAoaW50ZWdlcikgSWYgeW91IGFkanVzdCB0aGUgcGFkZGluZyBpbiB0aGUgQ1NTIGZvciB0aGUgY29udGFpbmVyLCAjbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCwgeW91IHdpbGwgbmVlZCB0byB1cGRhdGUgdGhpcyB2YWx1ZQ0KCQkJY29udGFpbmVyUmVzaXplU3BlZWQ6CTQwMCwJCS8vIChpbnRlZ2VyKSBTcGVjaWZ5IHRoZSByZXNpemUgZHVyYXRpb24gb2YgY29udGFpbmVyIGltYWdlLiBUaGVzZSBudW1iZXIgYXJlIG1pbGlzZWNvbmRzLiA0MDAgaXMgZGVmYXVsdC4NCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byB0ZXh0cyBpbiBjYXB0aW9uLiBGb3IgZXhhbXBsZTogSW1hZ2UgMiBvZiA4LiBZb3UgY2FuIGFsdGVyIGVpdGhlciAiSW1hZ2UiIGFuZCAib2YiIHRleHRzLg0KCQkJdHh0SW1hZ2U6CQkJCSdJbWFnZScsCS8vIChzdHJpbmcpIFNwZWNpZnkgdGV4dCAiSW1hZ2UiDQoJCQl0eHRPZjoJCQkJCSdvZicsCQkvLyAoc3RyaW5nKSBTcGVjaWZ5IHRleHQgIm9mIg0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJCWtleVRvQ2xvc2U6CQkJCSdjJywJCS8vIChzdHJpbmcpIChjID0gY2xvc2UpIExldHRlciB0byBjbG9zZSB0aGUgalF1ZXJ5IGxpZ2h0Qm94IGludGVyZmFjZS4gQmV5b25kIHRoaXMgbGV0dGVyLCB0aGUgbGV0dGVyIFggYW5kIHRoZSBTQ0FQRSBrZXkgaXMgdXNlZCB0by4NCgkJCWtleVRvUHJldjoJCQkJJ3AnLAkJLy8gKHN0cmluZykgKHAgPSBwcmV2aW91cykgTGV0dGVyIHRvIHNob3cgdGhlIHByZXZpb3VzIGltYWdlDQoJCQlrZXlUb05leHQ6CQkJCSduJywJCS8vIChzdHJpbmcpIChuID0gbmV4dCkgTGV0dGVyIHRvIHNob3cgdGhlIG5leHQgaW1hZ2UuDQoJCQkvLyBEb260dCBhbHRlciB0aGVzZSB2YXJpYWJsZXMgaW4gYW55IHdheQ0KCQkJaW1hZ2VBcnJheToJCQkJW10sDQoJCQlhY3RpdmVJbWFnZToJCQkwDQoJCX0sc2V0dGluZ3MpOw0KCQkvLyBDYWNoaW5nIHRoZSBqUXVlcnkgb2JqZWN0IHdpdGggYWxsIGVsZW1lbnRzIG1hdGNoZWQNCgkJdmFyIGpRdWVyeU1hdGNoZWRPYmogPSB0aGlzOyAvLyBUaGlzLCBpbiB0aGlzIGNvbnRleHQsIHJlZmVyIHRvIGpRdWVyeSBvYmplY3QNCgkJLyoqDQoJCSAqIEluaXRpYWxpemluZyB0aGUgcGx1Z2luIGNhbGxpbmcgdGhlIHN0YXJ0IGZ1bmN0aW9uDQoJCSAqDQoJCSAqIEByZXR1cm4gYm9vbGVhbiBmYWxzZQ0KCQkgKi8NCgkJZnVuY3Rpb24gX2luaXRpYWxpemUoKSB7DQoJCQlfc3RhcnQodGhpcyxqUXVlcnlNYXRjaGVkT2JqKTsgLy8gVGhpcywgaW4gdGhpcyBjb250ZXh0LCByZWZlciB0byBvYmplY3QgKGxpbmspIHdoaWNoIHRoZSB1c2VyIGhhdmUgY2xpY2tlZA0KCQkJcmV0dXJuIGZhbHNlOyAvLyBBdm9pZCB0aGUgYnJvd3NlciBmb2xsb3dpbmcgdGhlIGxpbmsNCgkJfQ0KCQkvKioNCgkJICogU3RhcnQgdGhlIGpRdWVyeSBsaWdodEJveCBwbHVnaW4NCgkJICoNCgkJICogQHBhcmFtIG9iamVjdCBvYmpDbGlja2VkIFRoZSBvYmplY3QgKGxpbmspIHdoaWNrIHRoZSB1c2VyIGhhdmUgY2xpY2tlZA0KCQkgKiBAcGFyYW0gb2JqZWN0IGpRdWVyeU1hdGNoZWRPYmogVGhlIGpRdWVyeSBvYmplY3Qgd2l0aCBhbGwgZWxlbWVudHMgbWF0Y2hlZA0KCQkgKi8NCgkJZnVuY3Rpb24gX3N0YXJ0KG9iakNsaWNrZWQsalF1ZXJ5TWF0Y2hlZE9iaikgew0KCQkJLy8gSGltZSBzb21lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggb3ZlcmxheSBpbiBJRS4gVGhlc2UgZWxlbWVudHMgYXBwZWFyIGFib3ZlIHRoZSBvdmVybGF5Lg0KCQkJJCgnZW1iZWQsIG9iamVjdCwgc2VsZWN0JykuY3NzKHsgJ3Zpc2liaWxpdHknIDogJ2hpZGRlbicgfSk7DQoJCQkvLyBDYWxsIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIG1hcmt1cCBzdHJ1Y3R1cmU7IHN0eWxlIHNvbWUgZWxlbWVudHM7IGFzc2lnbiBldmVudHMgaW4gc29tZSBlbGVtZW50cy4NCgkJCV9zZXRfaW50ZXJmYWNlKCk7DQoJCQkvLyBVbnNldCB0b3RhbCBpbWFnZXMgaW4gaW1hZ2VBcnJheQ0KCQkJc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggPSAwOw0KCQkJLy8gVW5zZXQgaW1hZ2UgYWN0aXZlIGluZm9ybWF0aW9uDQoJCQlzZXR0aW5ncy5hY3RpdmVJbWFnZSA9IDA7DQoJCQkvLyBXZSBoYXZlIGFuIGltYWdlIHNldD8gT3IganVzdCBhbiBpbWFnZT8gTGV0tHMgc2VlIGl0Lg0KCQkJaWYgKCBqUXVlcnlNYXRjaGVkT2JqLmxlbmd0aCA9PSAxICkgew0KCQkJCXNldHRpbmdzLmltYWdlQXJyYXkucHVzaChuZXcgQXJyYXkob2JqQ2xpY2tlZC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSxvYmpDbGlja2VkLmdldEF0dHJpYnV0ZSgndGl0bGUnKSkpOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBBZGQgYW4gQXJyYXkgKGFzIG1hbnkgYXMgd2UgaGF2ZSksIHdpdGggaHJlZiBhbmQgdGl0bGUgYXRyaWJ1dGVzLCBpbnNpZGUgdGhlIEFycmF5IHRoYXQgc3RvcmFnZSB0aGUgaW1hZ2VzIHJlZmVyZW5jZXMJCQ0KCQkJCWZvciAoIHZhciBpID0gMDsgaSA8IGpRdWVyeU1hdGNoZWRPYmoubGVuZ3RoOyBpKysgKSB7DQoJCQkJCXNldHRpbmdzLmltYWdlQXJyYXkucHVzaChuZXcgQXJyYXkoalF1ZXJ5TWF0Y2hlZE9ialtpXS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSxqUXVlcnlNYXRjaGVkT2JqW2ldLmdldEF0dHJpYnV0ZSgndGl0bGUnKSkpOw0KCQkJCX0NCgkJCX0NCgkJCXdoaWxlICggc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMF0gIT0gb2JqQ2xpY2tlZC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSApIHsNCgkJCQlzZXR0aW5ncy5hY3RpdmVJbWFnZSsrOw0KCQkJfQ0KCQkJLy8gQ2FsbCB0aGUgZnVuY3Rpb24gdGhhdCBwcmVwYXJlcyBpbWFnZSBleGliaXRpb24NCgkJCV9zZXRfaW1hZ2VfdG9fdmlldygpOw0KCQl9DQoJCS8qKg0KCQkgKiBDcmVhdGUgdGhlIGpRdWVyeSBsaWdodEJveCBwbHVnaW4gaW50ZXJmYWNlDQoJCSAqDQoJCSAqIFRoZSBIVE1MIG1hcmt1cCB3aWxsIGJlIGxpa2UgdGhhdDoNCgkJCTxkaXYgaWQ9ImpxdWVyeS1vdmVybGF5Ij48L2Rpdj4NCgkJCTxkaXYgaWQ9ImpxdWVyeS1saWdodGJveCI+DQoJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCI+DQoJCQkJCTxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSI+DQoJCQkJCQk8aW1nIHNyYz0iLi4vZm90b3MvWFguanBnIiBpZD0ibGlnaHRib3gtaW1hZ2UiPg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtbmF2Ij4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtbmF2LWJ0blByZXYiPjwvYT4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtbmF2LWJ0bk5leHQiPjwvYT4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtbG9hZGluZyI+DQoJCQkJCQkJPGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LWxvYWRpbmctbGluayI+DQoJCQkJCQkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvbGlnaHRib3gtaWNvLWxvYWRpbmcuZ2lmIj4NCgkJCQkJCQk8L2E+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94Ij4NCgkJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEiPg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtaW1hZ2UtZGV0YWlscyI+DQoJCQkJCQkJPHNwYW4gaWQ9ImxpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiI+PC9zcGFuPg0KCQkJCQkJCTxzcGFuIGlkPSJsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXIiPjwvc3Bhbj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtc2VjTmF2Ij4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtc2VjTmF2LWJ0bkNsb3NlIj4NCgkJCQkJCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9saWdodGJveC1idG4tY2xvc2UuZ2lmIj4NCgkJCQkJCQk8L2E+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfaW50ZXJmYWNlKCkgew0KCQkJLy8gQXBwbHkgdGhlIEhUTUwgbWFya3VwIGludG8gYm9keSB0YWcNCgkJCSQoJ2JvZHknKS5hcHBlbmQoJzxkaXYgaWQ9ImpxdWVyeS1vdmVybGF5Ij48L2Rpdj48ZGl2IGlkPSJqcXVlcnktbGlnaHRib3giPjxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3giPjxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSI+PGltZyBpZD0ibGlnaHRib3gtaW1hZ2UiPjxkaXYgc3R5bGU9IiIgaWQ9ImxpZ2h0Ym94LW5hdiI+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LW5hdi1idG5QcmV2Ij48L2E+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LW5hdi1idG5OZXh0Ij48L2E+PC9kaXY+PGRpdiBpZD0ibGlnaHRib3gtbG9hZGluZyI+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LWxvYWRpbmctbGluayI+PGltZyBzcmM9IicgKyBzZXR0aW5ncy5pbWFnZUxvYWRpbmcgKyAnIj48L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94Ij48ZGl2IGlkPSJsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YSI+PGRpdiBpZD0ibGlnaHRib3gtaW1hZ2UtZGV0YWlscyI+PHNwYW4gaWQ9ImxpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiI+PC9zcGFuPjxzcGFuIGlkPSJsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJsaWdodGJveC1zZWNOYXYiPjxhIGhyZWY9IiMiIGlkPSJsaWdodGJveC1zZWNOYXYtYnRuQ2xvc2UiPjxpbWcgc3JjPSInICsgc2V0dGluZ3MuaW1hZ2VCdG5DbG9zZSArICciPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nKTsJDQoJCQkvLyBHZXQgcGFnZSBzaXplcw0KCQkJdmFyIGFyclBhZ2VTaXplcyA9IF9fX2dldFBhZ2VTaXplKCk7DQoJCQkvLyBTdHlsZSBvdmVybGF5IGFuZCBzaG93IGl0DQoJCQkkKCcjanF1ZXJ5LW92ZXJsYXknKS5jc3Moew0KCQkJCWJhY2tncm91bmRDb2xvcjoJc2V0dGluZ3Mub3ZlcmxheUJnQ29sb3IsDQoJCQkJb3BhY2l0eToJCQlzZXR0aW5ncy5vdmVybGF5T3BhY2l0eSwNCgkJCQl3aWR0aDoJCQkJYXJyUGFnZVNpemVzWzBdLA0KCQkJCWhlaWdodDoJCQkJYXJyUGFnZVNpemVzWzFdDQoJCQl9KS5mYWRlSW4oKTsNCgkJCS8vIEdldCBwYWdlIHNjcm9sbA0KCQkJdmFyIGFyclBhZ2VTY3JvbGwgPSBfX19nZXRQYWdlU2Nyb2xsKCk7DQoJCQkvLyBDYWxjdWxhdGUgdG9wIGFuZCBsZWZ0IG9mZnNldCBmb3IgdGhlIGpxdWVyeS1saWdodGJveCBkaXYgb2JqZWN0IGFuZCBzaG93IGl0DQoJCQkkKCcjanF1ZXJ5LWxpZ2h0Ym94JykuY3NzKHsNCgkJCQl0b3A6CWFyclBhZ2VTY3JvbGxbMV0gKyAoYXJyUGFnZVNpemVzWzNdIC8gMTApLA0KCQkJCWxlZnQ6CWFyclBhZ2VTY3JvbGxbMF0NCgkJCX0pLnNob3coKTsNCgkJCS8vIEFzc2lnbmluZyBjbGljayBldmVudHMgaW4gZWxlbWVudHMgdG8gY2xvc2Ugb3ZlcmxheQ0KCQkJJCgnI2pxdWVyeS1vdmVybGF5LCNqcXVlcnktbGlnaHRib3gnKS5jbGljayhmdW5jdGlvbigpIHsNCgkJCQlfZmluaXNoKCk7CQkJCQkJCQkJDQoJCQl9KTsNCgkJCS8vIEFzc2lnbiB0aGUgX2ZpbmlzaCBmdW5jdGlvbiB0byBsaWdodGJveC1sb2FkaW5nLWxpbmsgYW5kIGxpZ2h0Ym94LXNlY05hdi1idG5DbG9zZSBvYmplY3RzDQoJCQkkKCcjbGlnaHRib3gtbG9hZGluZy1saW5rLCNsaWdodGJveC1zZWNOYXYtYnRuQ2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsNCgkJCQlfZmluaXNoKCk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSk7DQoJCQkvLyBJZiB3aW5kb3cgd2FzIHJlc2l6ZWQsIGNhbGN1bGF0ZSB0aGUgbmV3IG92ZXJsYXkgZGltZW5zaW9ucw0KCQkJJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpIHsNCgkJCQkvLyBHZXQgcGFnZSBzaXplcw0KCQkJCXZhciBhcnJQYWdlU2l6ZXMgPSBfX19nZXRQYWdlU2l6ZSgpOw0KCQkJCS8vIFN0eWxlIG92ZXJsYXkgYW5kIHNob3cgaXQNCgkJCQkkKCcjanF1ZXJ5LW92ZXJsYXknKS5jc3Moew0KCQkJCQl3aWR0aDoJCWFyclBhZ2VTaXplc1swXSwNCgkJCQkJaGVpZ2h0OgkJYXJyUGFnZVNpemVzWzFdDQoJCQkJfSk7DQoJCQkJLy8gR2V0IHBhZ2Ugc2Nyb2xsDQoJCQkJdmFyIGFyclBhZ2VTY3JvbGwgPSBfX19nZXRQYWdlU2Nyb2xsKCk7DQoJCQkJLy8gQ2FsY3VsYXRlIHRvcCBhbmQgbGVmdCBvZmZzZXQgZm9yIHRoZSBqcXVlcnktbGlnaHRib3ggZGl2IG9iamVjdCBhbmQgc2hvdyBpdA0KCQkJCSQoJyNqcXVlcnktbGlnaHRib3gnKS5jc3Moew0KCQkJCQl0b3A6CWFyclBhZ2VTY3JvbGxbMV0gKyAoYXJyUGFnZVNpemVzWzNdIC8gMTApLA0KCQkJCQlsZWZ0OglhcnJQYWdlU2Nyb2xsWzBdDQoJCQkJfSk7DQoJCQl9KTsNCgkJfQ0KCQkvKioNCgkJICogUHJlcGFyZXMgaW1hZ2UgZXhpYml0aW9uOyBkb2luZyBhIGltYWdltHMgcHJlbG9hZGVyIHRvIGNhbGN1bGF0ZSBpdLRzIHNpemUNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfaW1hZ2VfdG9fdmlldygpIHsgLy8gc2hvdyB0aGUgbG9hZGluZw0KCQkJLy8gU2hvdyB0aGUgbG9hZGluZw0KCQkJJCgnI2xpZ2h0Ym94LWxvYWRpbmcnKS5zaG93KCk7DQoJCQlpZiAoIHNldHRpbmdzLmZpeGVkTmF2aWdhdGlvbiApIHsNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UsI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCwjbGlnaHRib3gtaW1hZ2UtZGV0YWlscy1jdXJyZW50TnVtYmVyJykuaGlkZSgpOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBIaWRlIHNvbWUgZWxlbWVudHMNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UsI2xpZ2h0Ym94LW5hdiwjbGlnaHRib3gtbmF2LWJ0blByZXYsI2xpZ2h0Ym94LW5hdi1idG5OZXh0LCNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YS1ib3gsI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY3VycmVudE51bWJlcicpLmhpZGUoKTsNCgkJCX0NCgkJCS8vIEltYWdlIHByZWxvYWQgcHJvY2Vzcw0KCQkJdmFyIG9iakltYWdlUHJlbG9hZGVyID0gbmV3IEltYWdlKCk7DQoJCQlvYmpJbWFnZVByZWxvYWRlci5vbmxvYWQgPSBmdW5jdGlvbigpIHsNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UnKS5hdHRyKCdzcmMnLHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2VdWzBdKTsNCgkJCQkvLyBQZXJmb21hbmNlIGFuIGVmZmVjdCBpbiB0aGUgaW1hZ2UgY29udGFpbmVyIHJlc2l6aW5nIGl0DQoJCQkJX3Jlc2l6ZV9jb250YWluZXJfaW1hZ2VfYm94KG9iakltYWdlUHJlbG9hZGVyLndpZHRoLG9iakltYWdlUHJlbG9hZGVyLmhlaWdodCk7DQoJCQkJLy8JY2xlYXIgb25Mb2FkLCBJRSBiZWhhdmVzIGlycmF0aWNhbGx5IHdpdGggYW5pbWF0ZWQgZ2lmcyBvdGhlcndpc2UNCgkJCQlvYmpJbWFnZVByZWxvYWRlci5vbmxvYWQ9ZnVuY3Rpb24oKXt9Ow0KCQkJfTsNCgkJCW9iakltYWdlUHJlbG9hZGVyLnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2VdWzBdOw0KCQl9Ow0KCQkvKioNCgkJICogUGVyZm9tYW5jZSBhbiBlZmZlY3QgaW4gdGhlIGltYWdlIGNvbnRhaW5lciByZXNpemluZyBpdA0KCQkgKg0KCQkgKiBAcGFyYW0gaW50ZWdlciBpbnRJbWFnZVdpZHRoIFRoZSBpbWFnZbRzIHdpZHRoIHRoYXQgd2lsbCBiZSBzaG93ZWQNCgkJICogQHBhcmFtIGludGVnZXIgaW50SW1hZ2VIZWlnaHQgVGhlIGltYWdltHMgaGVpZ2h0IHRoYXQgd2lsbCBiZSBzaG93ZWQNCgkJICovDQoJCWZ1bmN0aW9uIF9yZXNpemVfY29udGFpbmVyX2ltYWdlX2JveChpbnRJbWFnZVdpZHRoLGludEltYWdlSGVpZ2h0KSB7DQoJCQkvLyBHZXQgY3VycmVudCB3aWR0aCBhbmQgaGVpZ2h0DQoJCQl2YXIgaW50Q3VycmVudFdpZHRoID0gJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3gnKS53aWR0aCgpOw0KCQkJdmFyIGludEN1cnJlbnRIZWlnaHQgPSAkKCcjbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCcpLmhlaWdodCgpOw0KCQkJLy8gR2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBzZWxlY3RlZCBpbWFnZSBwbHVzIHRoZSBwYWRkaW5nDQoJCQl2YXIgaW50V2lkdGggPSAoaW50SW1hZ2VXaWR0aCArIChzZXR0aW5ncy5jb250YWluZXJCb3JkZXJTaXplICogMikpOyAvLyBQbHVzIHRoZSBpbWFnZbRzIHdpZHRoIGFuZCB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyB2YWx1ZQ0KCQkJdmFyIGludEhlaWdodCA9IChpbnRJbWFnZUhlaWdodCArIChzZXR0aW5ncy5jb250YWluZXJCb3JkZXJTaXplICogMikpOyAvLyBQbHVzIHRoZSBpbWFnZbRzIGhlaWdodCBhbmQgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgdmFsdWUNCgkJCS8vIERpZmVyZW5jZXMNCgkJCXZhciBpbnREaWZmVyA9IGludEN1cnJlbnRXaWR0aCAtIGludFdpZHRoOw0KCQkJdmFyIGludERpZmZIID0gaW50Q3VycmVudEhlaWdodCAtIGludEhlaWdodDsNCgkJCS8vIFBlcmZvbWFuY2UgdGhlIGVmZmVjdA0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3gnKS5hbmltYXRlKHsgd2lkdGg6IGludFdpZHRoLCBoZWlnaHQ6IGludEhlaWdodCB9LHNldHRpbmdzLmNvbnRhaW5lclJlc2l6ZVNwZWVkLGZ1bmN0aW9uKCkgeyBfc2hvd19pbWFnZSgpOyB9KTsNCgkJCWlmICggKCBpbnREaWZmVyA9PSAwICkgJiYgKCBpbnREaWZmSCA9PSAwICkgKSB7DQoJCQkJaWYgKCAkLmJyb3dzZXIubXNpZSApIHsNCgkJCQkJX19fcGF1c2UoMjUwKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlfX19wYXVzZSgxMDApOwkNCgkJCQl9DQoJCQl9IA0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCcpLmNzcyh7IHdpZHRoOiBpbnRJbWFnZVdpZHRoIH0pOw0KCQkJJCgnI2xpZ2h0Ym94LW5hdi1idG5QcmV2LCNsaWdodGJveC1uYXYtYnRuTmV4dCcpLmNzcyh7IGhlaWdodDogaW50SW1hZ2VIZWlnaHQgKyAoc2V0dGluZ3MuY29udGFpbmVyQm9yZGVyU2l6ZSAqIDIpIH0pOw0KCQl9Ow0KCQkvKioNCgkJICogU2hvdyB0aGUgcHJlcGFyZWQgaW1hZ2UNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zaG93X2ltYWdlKCkgew0KCQkJJCgnI2xpZ2h0Ym94LWxvYWRpbmcnKS5oaWRlKCk7DQoJCQkkKCcjbGlnaHRib3gtaW1hZ2UnKS5mYWRlSW4oZnVuY3Rpb24oKSB7DQoJCQkJX3Nob3dfaW1hZ2VfZGF0YSgpOw0KCQkJCV9zZXRfbmF2aWdhdGlvbigpOw0KCQkJfSk7DQoJCQlfcHJlbG9hZF9uZWlnaGJvcl9pbWFnZXMoKTsNCgkJfTsNCgkJLyoqDQoJCSAqIFNob3cgdGhlIGltYWdlIGluZm9ybWF0aW9uDQoJCSAqDQoJCSAqLw0KCQlmdW5jdGlvbiBfc2hvd19pbWFnZV9kYXRhKCkgew0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCcpLnNsaWRlRG93bignZmFzdCcpOw0KCQkJJCgnI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbicpLmhpZGUoKTsNCgkJCWlmICggc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMV0gKSB7DQoJCQkJJCgnI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbicpLmh0bWwoc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMV0pLnNob3coKTsNCgkJCX0NCgkJCS8vIElmIHdlIGhhdmUgYSBpbWFnZSBzZXQsIGRpc3BsYXkgJ0ltYWdlIFggb2YgWCcNCgkJCWlmICggc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggPiAxICkgew0KCQkJCSQoJyNsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXInKS5odG1sKHNldHRpbmdzLnR4dEltYWdlICsgJyAnICsgKCBzZXR0aW5ncy5hY3RpdmVJbWFnZSArIDEgKSArICcgJyArIHNldHRpbmdzLnR4dE9mICsgJyAnICsgc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGgpLnNob3coKTsNCgkJCX0JCQ0KCQl9DQoJCS8qKg0KCQkgKiBEaXNwbGF5IHRoZSBidXR0b24gbmF2aWdhdGlvbnMNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfbmF2aWdhdGlvbigpIHsNCgkJCSQoJyNsaWdodGJveC1uYXYnKS5zaG93KCk7DQoNCgkJCS8vIEluc3RlYWQgdG8gZGVmaW5lIHRoaXMgY29uZmlndXJhdGlvbiBpbiBDU1MgZmlsZSwgd2UgZGVmaW5lIGhlcmUuIEFuZCBpdLRzIG5lZWQgdG8gSUUuIEp1c3QuDQoJCQkkKCcjbGlnaHRib3gtbmF2LWJ0blByZXYsI2xpZ2h0Ym94LW5hdi1idG5OZXh0JykuY3NzKHsgJ2JhY2tncm91bmQnIDogJ3RyYW5zcGFyZW50IHVybCgnICsgc2V0dGluZ3MuaW1hZ2VCbGFuayArICcpIG5vLXJlcGVhdCcgfSk7DQoJCQkNCgkJCS8vIFNob3cgdGhlIHByZXYgYnV0dG9uLCBpZiBub3QgdGhlIGZpcnN0IGltYWdlIGluIHNldA0KCQkJaWYgKCBzZXR0aW5ncy5hY3RpdmVJbWFnZSAhPSAwICkgew0KCQkJCWlmICggc2V0dGluZ3MuZml4ZWROYXZpZ2F0aW9uICkgew0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0blByZXYnKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0blByZXYgKyAnKSBsZWZ0IDE1JSBuby1yZXBlYXQnIH0pDQoJCQkJCQkudW5iaW5kKCkNCgkJCQkJCS5iaW5kKCdjbGljaycsZnVuY3Rpb24oKSB7DQoJCQkJCQkJc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPSBzZXR0aW5ncy5hY3RpdmVJbWFnZSAtIDE7DQoJCQkJCQkJX3NldF9pbWFnZV90b192aWV3KCk7DQoJCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQkJfSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJLy8gU2hvdyB0aGUgaW1hZ2VzIGJ1dHRvbiBmb3IgTmV4dCBidXR0b25zDQoJCQkJCSQoJyNsaWdodGJveC1uYXYtYnRuUHJldicpLnVuYmluZCgpLmhvdmVyKGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0blByZXYgKyAnKSBsZWZ0IDE1JSBuby1yZXBlYXQnIH0pOw0KCQkJCQl9LGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndHJhbnNwYXJlbnQgdXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJsYW5rICsgJykgbm8tcmVwZWF0JyB9KTsNCgkJCQkJfSkuc2hvdygpLmJpbmQoJ2NsaWNrJyxmdW5jdGlvbigpIHsNCgkJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLSAxOw0KCQkJCQkJX3NldF9pbWFnZV90b192aWV3KCk7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0NCgkJCQ0KCQkJLy8gU2hvdyB0aGUgbmV4dCBidXR0b24sIGlmIG5vdCB0aGUgbGFzdCBpbWFnZSBpbiBzZXQNCgkJCWlmICggc2V0dGluZ3MuYWN0aXZlSW1hZ2UgIT0gKCBzZXR0aW5ncy5pbWFnZUFycmF5Lmxlbmd0aCAtMSApICkgew0KCQkJCWlmICggc2V0dGluZ3MuZml4ZWROYXZpZ2F0aW9uICkgew0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0bk5leHQnKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0bk5leHQgKyAnKSByaWdodCAxNSUgbm8tcmVwZWF0JyB9KQ0KCQkJCQkJLnVuYmluZCgpDQoJCQkJCQkuYmluZCgnY2xpY2snLGZ1bmN0aW9uKCkgew0KCQkJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxOw0KCQkJCQkJCV9zZXRfaW1hZ2VfdG9fdmlldygpOw0KCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCX0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCS8vIFNob3cgdGhlIGltYWdlcyBidXR0b24gZm9yIE5leHQgYnV0dG9ucw0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0bk5leHQnKS51bmJpbmQoKS5ob3ZlcihmdW5jdGlvbigpIHsNCgkJCQkJCSQodGhpcykuY3NzKHsgJ2JhY2tncm91bmQnIDogJ3VybCgnICsgc2V0dGluZ3MuaW1hZ2VCdG5OZXh0ICsgJykgcmlnaHQgMTUlIG5vLXJlcGVhdCcgfSk7DQoJCQkJCX0sZnVuY3Rpb24oKSB7DQoJCQkJCQkkKHRoaXMpLmNzcyh7ICdiYWNrZ3JvdW5kJyA6ICd0cmFuc3BhcmVudCB1cmwoJyArIHNldHRpbmdzLmltYWdlQmxhbmsgKyAnKSBuby1yZXBlYXQnIH0pOw0KCQkJCQl9KS5zaG93KCkuYmluZCgnY2xpY2snLGZ1bmN0aW9uKCkgew0KCQkJCQkJc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPSBzZXR0aW5ncy5hY3RpdmVJbWFnZSArIDE7DQoJCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJfQ0KCQkJLy8gRW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJCV9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQl9DQoJCS8qKg0KCQkgKiBFbmFibGUgYSBzdXBwb3J0IHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpIHsNCgkJCSQoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24ob2JqRXZlbnQpIHsNCgkJCQlfa2V5Ym9hcmRfYWN0aW9uKG9iakV2ZW50KTsNCgkJCX0pOw0KCQl9DQoJCS8qKg0KCQkgKiBEaXNhYmxlIHRoZSBzdXBwb3J0IHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9kaXNhYmxlX2tleWJvYXJkX25hdmlnYXRpb24oKSB7DQoJCQkkKGRvY3VtZW50KS51bmJpbmQoKTsNCgkJfQ0KCQkvKioNCgkJICogUGVyZm9ybSB0aGUga2V5Ym9hcmQgYWN0aW9ucw0KCQkgKg0KCQkgKi8NCgkJZnVuY3Rpb24gX2tleWJvYXJkX2FjdGlvbihvYmpFdmVudCkgew0KCQkJLy8gVG8gaWUNCgkJCWlmICggb2JqRXZlbnQgPT0gbnVsbCApIHsNCgkJCQlrZXljb2RlID0gZXZlbnQua2V5Q29kZTsNCgkJCQllc2NhcGVLZXkgPSAyNzsNCgkJCS8vIFRvIE1vemlsbGENCgkJCX0gZWxzZSB7DQoJCQkJa2V5Y29kZSA9IG9iakV2ZW50LmtleUNvZGU7DQoJCQkJZXNjYXBlS2V5ID0gb2JqRXZlbnQuRE9NX1ZLX0VTQ0FQRTsNCgkJCX0NCgkJCS8vIEdldCB0aGUga2V5IGluIGxvd2VyIGNhc2UgZm9ybQ0KCQkJa2V5ID0gU3RyaW5nLmZyb21DaGFyQ29kZShrZXljb2RlKS50b0xvd2VyQ2FzZSgpOw0KCQkJLy8gVmVyaWZ5IHRoZSBrZXlzIHRvIGNsb3NlIHRoZSBsaWd0aEJveA0KCQkJaWYgKCAoIGtleSA9PSBzZXR0aW5ncy5rZXlUb0Nsb3NlICkgfHwgKCBrZXkgPT0gJ3gnICkgfHwgKCBrZXljb2RlID09IGVzY2FwZUtleSApICkgew0KCQkJCV9maW5pc2goKTsNCgkJCX0NCgkJCS8vIFZlcmlmeSB0aGUga2V5IHRvIHNob3cgdGhlIHByZXZpb3VzIGltYWdlDQoJCQlpZiAoICgga2V5ID09IHNldHRpbmdzLmtleVRvUHJldiApIHx8ICgga2V5Y29kZSA9PSAzNyApICkgew0KCQkJCS8vIElmIHdltHJlIG5vdCBzaG93aW5nIHRoZSBmaXJzdCBpbWFnZSwgY2FsbCB0aGUgcHJldmlvdXMNCgkJCQlpZiAoIHNldHRpbmdzLmFjdGl2ZUltYWdlICE9IDAgKSB7DQoJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLSAxOw0KCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJX2Rpc2FibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQkJCX0NCgkJCX0NCgkJCS8vIFZlcmlmeSB0aGUga2V5IHRvIHNob3cgdGhlIG5leHQgaW1hZ2UNCgkJCWlmICggKCBrZXkgPT0gc2V0dGluZ3Mua2V5VG9OZXh0ICkgfHwgKCBrZXljb2RlID09IDM5ICkgKSB7DQoJCQkJLy8gSWYgd2W0cmUgbm90IHNob3dpbmcgdGhlIGxhc3QgaW1hZ2UsIGNhbGwgdGhlIG5leHQNCgkJCQlpZiAoIHNldHRpbmdzLmFjdGl2ZUltYWdlICE9ICggc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggLSAxICkgKSB7DQoJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxOw0KCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJX2Rpc2FibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkvKioNCgkJICogUHJlbG9hZCBwcmV2IGFuZCBuZXh0IGltYWdlcyBiZWluZyBzaG93ZWQNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9wcmVsb2FkX25laWdoYm9yX2ltYWdlcygpIHsNCgkJCWlmICggKHNldHRpbmdzLmltYWdlQXJyYXkubGVuZ3RoIC0xKSA+IHNldHRpbmdzLmFjdGl2ZUltYWdlICkgew0KCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQlvYmpOZXh0LnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxXVswXTsNCgkJCX0NCgkJCWlmICggc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPiAwICkgew0KCQkJCW9ialByZXYgPSBuZXcgSW1hZ2UoKTsNCgkJCQlvYmpQcmV2LnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLTFdWzBdOw0KCQkJfQ0KCQl9DQoJCS8qKg0KCQkgKiBSZW1vdmUgalF1ZXJ5IGxpZ2h0Qm94IHBsdWdpbiBIVE1MIG1hcmt1cA0KCQkgKg0KCQkgKi8NCgkJZnVuY3Rpb24gX2ZpbmlzaCgpIHsNCgkJCSQoJyNqcXVlcnktbGlnaHRib3gnKS5yZW1vdmUoKTsNCgkJCSQoJyNqcXVlcnktb3ZlcmxheScpLmZhZGVPdXQoZnVuY3Rpb24oKSB7ICQoJyNqcXVlcnktb3ZlcmxheScpLnJlbW92ZSgpOyB9KTsNCgkJCS8vIFNob3cgc29tZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIG92ZXJsYXkgaW4gSUUuIFRoZXNlIGVsZW1lbnRzIGFwcGVhciBhYm92ZSB0aGUgb3ZlcmxheS4NCgkJCSQoJ2VtYmVkLCBvYmplY3QsIHNlbGVjdCcpLmNzcyh7ICd2aXNpYmlsaXR5JyA6ICd2aXNpYmxlJyB9KTsNCgkJfQ0KCQkvKioNCgkJIC8gVEhJUkQgRlVOQ1RJT04NCgkJICogZ2V0UGFnZVNpemUoKSBieSBxdWlya3Ntb2RlLmNvbQ0KCQkgKg0KCQkgKiBAcmV0dXJuIEFycmF5IFJldHVybiBhbiBhcnJheSB3aXRoIHBhZ2Ugd2lkdGgsIGhlaWdodCBhbmQgd2luZG93IHdpZHRoLCBoZWlnaHQNCgkJICovDQoJCWZ1bmN0aW9uIF9fX2dldFBhZ2VTaXplKCkgew0KCQkJdmFyIHhTY3JvbGwsIHlTY3JvbGw7DQoJCQlpZiAod2luZG93LmlubmVySGVpZ2h0ICYmIHdpbmRvdy5zY3JvbGxNYXhZKSB7CQ0KCQkJCXhTY3JvbGwgPSB3aW5kb3cuaW5uZXJXaWR0aCArIHdpbmRvdy5zY3JvbGxNYXhYOw0KCQkJCXlTY3JvbGwgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsTWF4WTsNCgkJCX0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgPiBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl7IC8vIGFsbCBidXQgRXhwbG9yZXIgTWFjDQoJCQkJeFNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGg7DQoJCQkJeVNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0Ow0KCQkJfSBlbHNlIHsgLy8gRXhwbG9yZXIgTWFjLi4ud291bGQgYWxzbyB3b3JrIGluIEV4cGxvcmVyIDYgU3RyaWN0LCBNb3ppbGxhIGFuZCBTYWZhcmkNCgkJCQl4U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsNCgkJCQl5U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7DQoJCQl9DQoJCQl2YXIgd2luZG93V2lkdGgsIHdpbmRvd0hlaWdodDsNCgkJCWlmIChzZWxmLmlubmVySGVpZ2h0KSB7CS8vIGFsbCBleGNlcHQgRXhwbG9yZXINCgkJCQlpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpew0KCQkJCQl3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsgDQoJCQkJfSBlbHNlIHsNCgkJCQkJd2luZG93V2lkdGggPSBzZWxmLmlubmVyV2lkdGg7DQoJCQkJfQ0KCQkJCXdpbmRvd0hlaWdodCA9IHNlbGYuaW5uZXJIZWlnaHQ7DQoJCQl9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7IC8vIEV4cGxvcmVyIDYgU3RyaWN0IE1vZGUNCgkJCQl3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsNCgkJCQl3aW5kb3dIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Ow0KCQkJfSBlbHNlIGlmIChkb2N1bWVudC5ib2R5KSB7IC8vIG90aGVyIEV4cGxvcmVycw0KCQkJCXdpbmRvd1dpZHRoID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsNCgkJCQl3aW5kb3dIZWlnaHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsNCgkJCX0JDQoJCQkvLyBmb3Igc21hbGwgcGFnZXMgd2l0aCB0b3RhbCBoZWlnaHQgbGVzcyB0aGVuIGhlaWdodCBvZiB0aGUgdmlld3BvcnQNCgkJCWlmKHlTY3JvbGwgPCB3aW5kb3dIZWlnaHQpew0KCQkJCXBhZ2VIZWlnaHQgPSB3aW5kb3dIZWlnaHQ7DQoJCQl9IGVsc2UgeyANCgkJCQlwYWdlSGVpZ2h0ID0geVNjcm9sbDsNCgkJCX0NCgkJCS8vIGZvciBzbWFsbCBwYWdlcyB3aXRoIHRvdGFsIHdpZHRoIGxlc3MgdGhlbiB3aWR0aCBvZiB0aGUgdmlld3BvcnQNCgkJCWlmKHhTY3JvbGwgPCB3aW5kb3dXaWR0aCl7CQ0KCQkJCXBhZ2VXaWR0aCA9IHhTY3JvbGw7CQkNCgkJCX0gZWxzZSB7DQoJCQkJcGFnZVdpZHRoID0gd2luZG93V2lkdGg7DQoJCQl9DQoJCQlhcnJheVBhZ2VTaXplID0gbmV3IEFycmF5KHBhZ2VXaWR0aCxwYWdlSGVpZ2h0LHdpbmRvd1dpZHRoLHdpbmRvd0hlaWdodCk7DQoJCQlyZXR1cm4gYXJyYXlQYWdlU2l6ZTsNCgkJfTsNCgkJLyoqDQoJCSAvIFRISVJEIEZVTkNUSU9ODQoJCSAqIGdldFBhZ2VTY3JvbGwoKSBieSBxdWlya3Ntb2RlLmNvbQ0KCQkgKg0KCQkgKiBAcmV0dXJuIEFycmF5IFJldHVybiBhbiBhcnJheSB3aXRoIHgseSBwYWdlIHNjcm9sbCB2YWx1ZXMuDQoJCSAqLw0KCQlmdW5jdGlvbiBfX19nZXRQYWdlU2Nyb2xsKCkgew0KCQkJdmFyIHhTY3JvbGwsIHlTY3JvbGw7DQoJCQlpZiAoc2VsZi5wYWdlWU9mZnNldCkgew0KCQkJCXlTY3JvbGwgPSBzZWxmLnBhZ2VZT2Zmc2V0Ow0KCQkJCXhTY3JvbGwgPSBzZWxmLnBhZ2VYT2Zmc2V0Ow0KCQkJfSBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCkgewkgLy8gRXhwbG9yZXIgNiBTdHJpY3QNCgkJCQl5U2Nyb2xsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsNCgkJCQl4U2Nyb2xsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7DQoJCQl9IGVsc2UgaWYgKGRvY3VtZW50LmJvZHkpIHsvLyBhbGwgb3RoZXIgRXhwbG9yZXJzDQoJCQkJeVNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOw0KCQkJCXhTY3JvbGwgPSBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7CQ0KCQkJfQ0KCQkJYXJyYXlQYWdlU2Nyb2xsID0gbmV3IEFycmF5KHhTY3JvbGwseVNjcm9sbCk7DQoJCQlyZXR1cm4gYXJyYXlQYWdlU2Nyb2xsOw0KCQl9Ow0KCQkgLyoqDQoJCSAgKiBTdG9wIHRoZSBjb2RlIGV4ZWN1dGlvbiBmcm9tIGEgZXNjaWZpZWQgdGltZSBpbiBtaWxpc2Vjb25kDQoJCSAgKg0KCQkgICovDQoJCSBmdW5jdGlvbiBfX19wYXVzZShtcykgew0KCQkJdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyANCgkJCWN1ckRhdGUgPSBudWxsOw0KCQkJZG8geyB2YXIgY3VyRGF0ZSA9IG5ldyBEYXRlKCk7IH0NCgkJCXdoaWxlICggY3VyRGF0ZSAtIGRhdGUgPCBtcyk7DQoJCSB9Ow0KCQkvLyBSZXR1cm4gdGhlIGpRdWVyeSBvYmplY3QgZm9yIGNoYWluaW5nLiBUaGUgdW5iaW5kIG1ldGhvZCBpcyB1c2VkIHRvIGF2b2lkIGNsaWNrIGNvbmZsaWN0IHdoZW4gdGhlIHBsdWdpbiBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UNCgkJcmV0dXJuIHRoaXMudW5iaW5kKCdjbGljaycpLmNsaWNrKF9pbml0aWFsaXplKTsNCgl9Ow0KfSkoalF1ZXJ5KTsgLy8gQ2FsbCBhbmQgZXhlY3V0ZSB0aGUgZnVuY3Rpb24gaW1tZWRpYXRlbHkgcGFzc2luZyB0aGUgalF1ZXJ5IG9iamVjdA0K]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.metadata.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogTWV0YWRhdGEgLSBqUXVlcnkgcGx1Z2luIGZvciBwYXJzaW5nIG1ldGFkYXRhIGZyb20gZWxlbWVudHMKICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEpvaG4gUmVzaWcsIFllaHVkYSBLYXR6LCBK77+9w7ZybiBaYWVmZmVyZXIsIFBhdWwgTWNMYW5haGFuCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqCiAqIFJldmlzaW9uOiAkSWQkCiAqCiAqLwoKLyoqCiAqIFNldHMgdGhlIHR5cGUgb2YgbWV0YWRhdGEgdG8gdXNlLiBNZXRhZGF0YSBpcyBlbmNvZGVkIGluIEpTT04sIGFuZCBlYWNoIHByb3BlcnR5CiAqIGluIHRoZSBKU09OIHdpbGwgYmVjb21lIGEgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgaXRzZWxmLgogKgogKiBUaGVyZSBhcmUgdGhyZWUgc3VwcG9ydGVkIHR5cGVzIG9mIG1ldGFkYXRhIHN0b3JhZ2U6CiAqCiAqICAgYXR0cjogIEluc2lkZSBhbiBhdHRyaWJ1dGUuIFRoZSBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBhdHRyaWJ1dGUuCiAqICAgICAgICAgIAogKiAgIGNsYXNzOiBJbnNpZGUgdGhlIGNsYXNzIGF0dHJpYnV0ZSwgd3JhcHBlZCBpbiBjdXJseSBicmFjZXM6IHsgfQogKiAgIAogKiAgIGVsZW06ICBJbnNpZGUgYSBjaGlsZCBlbGVtZW50IChlLmcuIGEgc2NyaXB0IHRhZykuIFRoZQogKiAgICAgICAgICBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBlbGVtZW50LgogKiAgICAgICAgICAKICogVGhlIG1ldGFkYXRhIGZvciBhbiBlbGVtZW50IGlzIGxvYWRlZCB0aGUgZmlyc3QgdGltZSB0aGUgZWxlbWVudCBpcyBhY2Nlc3NlZCB2aWEgalF1ZXJ5LgogKgogKiBBcyBhIHJlc3VsdCwgeW91IGNhbiBkZWZpbmUgdGhlIG1ldGFkYXRhIHR5cGUsIHVzZSAkKGV4cHIpIHRvIGxvYWQgdGhlIG1ldGFkYXRhIGludG8gdGhlIGVsZW1lbnRzCiAqIG1hdGNoZWQgYnkgZXhwciwgdGhlbiByZWRlZmluZSB0aGUgbWV0YWRhdGEgdHlwZSBhbmQgcnVuIGFub3RoZXIgJChleHByKSBmb3Igb3RoZXIgZWxlbWVudHMuCiAqIAogKiBAbmFtZSAkLm1ldGFkYXRhLnNldFR5cGUKICoKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3Mge2l0ZW1faWQ6IDEsIGl0ZW1fbGFiZWw6ICdMYWJlbCd9Ij5UaGlzIGlzIGEgcDwvcD4KICogQGJlZm9yZSAkLm1ldGFkYXRhLnNldFR5cGUoImNsYXNzIikKICogQGFmdGVyICQoIiNvbmUiKS5tZXRhZGF0YSgpLml0ZW1faWQgPT0gMTsgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9sYWJlbCA9PSAiTGFiZWwiCiAqIEBkZXNjIFJlYWRzIG1ldGFkYXRhIGZyb20gdGhlIGNsYXNzIGF0dHJpYnV0ZQogKiAKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3MiIGRhdGE9IntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfSI+VGhpcyBpcyBhIHA8L3A+CiAqIEBiZWZvcmUgJC5tZXRhZGF0YS5zZXRUeXBlKCJhdHRyIiwgImRhdGEiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhICJkYXRhIiBhdHRyaWJ1dGUKICogCiAqIEBleGFtcGxlIDxwIGlkPSJvbmUiIGNsYXNzPSJzb21lX2NsYXNzIj48c2NyaXB0PntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfTwvc2NyaXB0PlRoaXMgaXMgYSBwPC9wPgogKiBAYmVmb3JlICQubWV0YWRhdGEuc2V0VHlwZSgiZWxlbSIsICJzY3JpcHQiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhIG5lc3RlZCBzY3JpcHQgZWxlbWVudAogKiAKICogQHBhcmFtIFN0cmluZyB0eXBlIFRoZSBlbmNvZGluZyB0eXBlCiAqIEBwYXJhbSBTdHJpbmcgbmFtZSBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIGJlIHVzZWQgdG8gZ2V0IG1ldGFkYXRhIChvcHRpb25hbCkKICogQGNhdCBQbHVnaW5zL01ldGFkYXRhCiAqIEBkZXNjciBTZXRzIHRoZSB0eXBlIG9mIGVuY29kaW5nIHRvIGJlIHVzZWQgd2hlbiBsb2FkaW5nIG1ldGFkYXRhIGZvciB0aGUgZmlyc3QgdGltZQogKiBAdHlwZSB1bmRlZmluZWQKICogQHNlZSBtZXRhZGF0YSgpCiAqLwoKKGZ1bmN0aW9uKCQpIHsKCiQuZXh0ZW5kKHsKCW1ldGFkYXRhIDogewoJCWRlZmF1bHRzIDogewoJCQl0eXBlOiAnY2xhc3MnLAoJCQluYW1lOiAnbWV0YWRhdGEnLAoJCQljcmU6IC8oey4qfSkvLAoJCQlzaW5nbGU6ICdtZXRhZGF0YScKCQl9LAoJCXNldFR5cGU6IGZ1bmN0aW9uKCB0eXBlLCBuYW1lICl7CgkJCXRoaXMuZGVmYXVsdHMudHlwZSA9IHR5cGU7CgkJCXRoaXMuZGVmYXVsdHMubmFtZSA9IG5hbWU7CgkJfSwKCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBvcHRzICl7CgkJCXZhciBzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsb3B0cyk7CgkJCS8vIGNoZWNrIGZvciBlbXB0eSBzdHJpbmcgaW4gc2luZ2xlIHByb3BlcnR5CgkJCWlmICggIXNldHRpbmdzLnNpbmdsZS5sZW5ndGggKSBzZXR0aW5ncy5zaW5nbGUgPSAnbWV0YWRhdGEnOwoJCQkKCQkJdmFyIGRhdGEgPSAkLmRhdGEoZWxlbSwgc2V0dGluZ3Muc2luZ2xlKTsKCQkJLy8gcmV0dXJuZWQgY2FjaGVkIGRhdGEgaWYgaXQgYWxyZWFkeSBleGlzdHMKCQkJaWYgKCBkYXRhICkgcmV0dXJuIGRhdGE7CgkJCQoJCQlkYXRhID0gInt9IjsKCQkJCgkJCWlmICggc2V0dGluZ3MudHlwZSA9PSAiY2xhc3MiICkgewoJCQkJdmFyIG0gPSBzZXR0aW5ncy5jcmUuZXhlYyggZWxlbS5jbGFzc05hbWUgKTsKCQkJCWlmICggbSApCgkJCQkJZGF0YSA9IG1bMV07CgkJCX0gZWxzZSBpZiAoIHNldHRpbmdzLnR5cGUgPT0gImVsZW0iICkgewoJCQkJaWYoICFlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lICkKCQkJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCQkJdmFyIGUgPSBlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lKHNldHRpbmdzLm5hbWUpOwoJCQkJaWYgKCBlLmxlbmd0aCApCgkJCQkJZGF0YSA9ICQudHJpbShlWzBdLmlubmVySFRNTCk7CgkJCX0gZWxzZSBpZiAoIGVsZW0uZ2V0QXR0cmlidXRlICE9IHVuZGVmaW5lZCApIHsKCQkJCXZhciBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoIHNldHRpbmdzLm5hbWUgKTsKCQkJCWlmICggYXR0ciApCgkJCQkJZGF0YSA9IGF0dHI7CgkJCX0KCQkJCgkJCWlmICggZGF0YS5pbmRleE9mKCAneycgKSA8MCApCgkJCWRhdGEgPSAieyIgKyBkYXRhICsgIn0iOwoJCQkKCQkJZGF0YSA9IGV2YWwoIigiICsgZGF0YSArICIpIik7CgkJCQoJCQkkLmRhdGEoIGVsZW0sIHNldHRpbmdzLnNpbmdsZSwgZGF0YSApOwoJCQlyZXR1cm4gZGF0YTsKCQl9Cgl9Cn0pOwoKLyoqCiAqIFJldHVybnMgdGhlIG1ldGFkYXRhIG9iamVjdCBmb3IgdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgalF1ZXJ5IG9iamVjdC4KICoKICogQG5hbWUgbWV0YWRhdGEKICogQGRlc2NyIFJldHVybnMgZWxlbWVudCdzIG1ldGFkYXRhIG9iamVjdAogKiBAcGFyYW0gT2JqZWN0IG9wdHMgQW4gb2JqZWN0IGNvbnRpYW5pbmcgc2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzCiAqIEB0eXBlIGpRdWVyeQogKiBAY2F0IFBsdWdpbnMvTWV0YWRhdGEKICovCiQuZm4ubWV0YWRhdGEgPSBmdW5jdGlvbiggb3B0cyApewoJcmV0dXJuICQubWV0YWRhdGEuZ2V0KCB0aGlzWzBdLCBvcHRzICk7Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.tablesorter.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogCiAqIFRhYmxlU29ydGVyIDIuMCAtIENsaWVudC1zaWRlIHRhYmxlIHNvcnRpbmcgd2l0aCBlYXNlIQogKiBWZXJzaW9uIDIuMC4zCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuMi4zCiAqIAogKiBDb3B5cmlnaHQgKGMpIDIwMDcgQ2hyaXN0aWFuIEJhY2gKICogRXhhbXBsZXMgYW5kIGRvY3MgYXQ6IGh0dHA6Ly90YWJsZXNvcnRlci5jb20KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6CiAqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAogKiAKICovCi8qKgogKgogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgc29ydGFibGUgdGFibGUgd2l0aCBtdWx0aS1jb2x1bW4gc29ydGluZyBjYXBhYmlsaXR5cwogKiAKICogQGV4YW1wbGUgJCgndGFibGUnKS50YWJsZXNvcnRlcigpOwogKiBAZGVzYyBDcmVhdGUgYSBzaW1wbGUgdGFibGVzb3J0ZXIgaW50ZXJmYWNlLgogKgogKiBAZXhhbXBsZSAkKCd0YWJsZScpLnRhYmxlc29ydGVyKHsgc29ydExpc3Q6W1swLDBdLFsxLDBdXSB9KTsKICogQGRlc2MgQ3JlYXRlIGEgdGFibGVzb3J0ZXIgaW50ZXJmYWNlIGFuZCBzb3J0IG9uIHRoZSBmaXJzdCBhbmQgc2Vjb3VuZCBjb2x1bW4gaW4gYXNjZW5kaW5nIG9yZGVyLgogKiAKICogQGV4YW1wbGUgJCgndGFibGUnKS50YWJsZXNvcnRlcih7IGhlYWRlcnM6IHsgMDogeyBzb3J0ZXI6IGZhbHNlfSwgMToge3NvcnRlcjogZmFsc2V9IH0gfSk7CiAqIEBkZXNjIENyZWF0ZSBhIHRhYmxlc29ydGVyIGludGVyZmFjZSBhbmQgZGlzYWJsZWluZyB0aGUgZmlyc3QgYW5kIHNlY291bmQgY29sdW1uIGhlYWRlcnMuCiAqIAogKiBAZXhhbXBsZSAkKCd0YWJsZScpLnRhYmxlc29ydGVyKHsgMDoge3NvcnRlcjoiaW50ZWdlciJ9LCAxOiB7c29ydGVyOiJjdXJyZW5jeSJ9IH0pOwogKiBAZGVzYyBDcmVhdGUgYSB0YWJsZXNvcnRlciBpbnRlcmZhY2UgYW5kIHNldCBhIGNvbHVtbiBwYXJzZXIgZm9yIHRoZSBmaXJzdCBhbmQgc2Vjb3VuZCBjb2x1bW4uCiAqIAogKiAKICogQHBhcmFtIE9iamVjdCBzZXR0aW5ncyBBbiBvYmplY3QgbGl0ZXJhbCBjb250YWluaW5nIGtleS92YWx1ZSBwYWlycyB0byBwcm92aWRlIG9wdGlvbmFsIHNldHRpbmdzLgogKiAKICogQG9wdGlvbiBTdHJpbmcgY3NzSGVhZGVyIChvcHRpb25hbCkgCQkJQSBzdHJpbmcgb2YgdGhlIGNsYXNzIG5hbWUgdG8gYmUgYXBwZW5kZWQgdG8gc29ydGFibGUgdHIgZWxlbWVudHMgaW4gdGhlIHRoZWFkIG9mIHRoZSB0YWJsZS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJoZWFkZXIiCiAqIAogKiBAb3B0aW9uIFN0cmluZyBjc3NBc2MgKG9wdGlvbmFsKSAJCQlBIHN0cmluZyBvZiB0aGUgY2xhc3MgbmFtZSB0byBiZSBhcHBlbmRlZCB0byBzb3J0YWJsZSB0ciBlbGVtZW50cyBpbiB0aGUgdGhlYWQgb24gYSBhc2NlbmRpbmcgc29ydC4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJoZWFkZXJTb3J0VXAiCiAqIAogKiBAb3B0aW9uIFN0cmluZyBjc3NEZXNjIChvcHRpb25hbCkgCQkJQSBzdHJpbmcgb2YgdGhlIGNsYXNzIG5hbWUgdG8gYmUgYXBwZW5kZWQgdG8gc29ydGFibGUgdHIgZWxlbWVudHMgaW4gdGhlIHRoZWFkIG9uIGEgZGVzY2VuZGluZyBzb3J0LiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogImhlYWRlclNvcnREb3duIgogKiAKICogQG9wdGlvbiBTdHJpbmcgc29ydEluaXRpYWxPcmRlciAob3B0aW9uYWwpIAlBIHN0cmluZyBvZiB0aGUgaW5pdGFsIHNvcnRpbmcgb3JkZXIgY2FuIGJlIGFzYyBvciBkZXNjLiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogImFzYyIKICogCiAqIEBvcHRpb24gU3RyaW5nIHNvcnRNdWx0aXNvcnRLZXkgKG9wdGlvbmFsKSAJQSBzdHJpbmcgb2YgdGhlIG11bHRpLWNvbHVtbiBzb3J0IGtleS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJzaGlmdEtleSIKICogCiAqIEBvcHRpb24gU3RyaW5nIHRleHRFeHRyYWN0aW9uIChvcHRpb25hbCkgCUEgc3RyaW5nIG9mIHRoZSB0ZXh0LWV4dHJhY3Rpb24gbWV0aG9kIHRvIHVzZS4gCiAqIAkJCQkJCQkJCQkJCUZvciBjb21wbGV4IGh0bWwgc3RydWN0dXJlcyBpbnNpZGUgdGQgY2VsbCBzZXQgdGhpcyBvcHRpb24gdG8gImNvbXBsZXgiLCAKICogCQkJCQkJCQkJCQkJb24gbGFyZ2UgdGFibGVzIHRoZSBjb21wbGV4IG9wdGlvbiBjYW4gYmUgc2xvdy4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJzaW1wbGUiCiAqIAogKiBAb3B0aW9uIE9iamVjdCBoZWFkZXJzIChvcHRpb25hbCkgCQkJQW4gYXJyYXkgY29udGFpbmluZyB0aGUgZm9yY2VzIHNvcnRpbmcgcnVsZXMuIAogKiAJCQkJCQkJCQkJCQlUaGlzIG9wdGlvbiBsZXQncyB5b3Ugc3BlY2lmeSBhIGRlZmF1bHQgc29ydGluZyBydWxlLiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogbnVsbAogKiAKICogQG9wdGlvbiBBcnJheSBzb3J0TGlzdCAob3B0aW9uYWwpIAkJCUFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGZvcmNlcyBzb3J0aW5nIHJ1bGVzLiAKICogCQkJCQkJCQkJCQkJVGhpcyBvcHRpb24gbGV0J3MgeW91IHNwZWNpZnkgYSBkZWZhdWx0IHNvcnRpbmcgcnVsZS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6IG51bGwKICogCiAqIEBvcHRpb24gQXJyYXkgc29ydEZvcmNlIChvcHRpb25hbCkgCQkJQW4gYXJyYXkgY29udGFpbmluZyBmb3JjZWQgc29ydGluZyBydWxlcy4gCiAqIAkJCQkJCQkJCQkJCVRoaXMgb3B0aW9uIGxldCdzIHlvdSBzcGVjaWZ5IGEgZGVmYXVsdCBzb3J0aW5nIHJ1bGUsIHdoaWNoIGlzIHByZXBlbmRlZCB0byB1c2VyLXNlbGVjdGVkIHJ1bGVzLgogKiAJCQkJCQkJCQkJCQlEZWZhdWx0IHZhbHVlOiBudWxsCiAqICAKICAqIEBvcHRpb24gQXJyYXkgc29ydEFwcGVuZCAob3B0aW9uYWwpIAkJCUFuIGFycmF5IGNvbnRhaW5pbmcgZm9yY2VkIHNvcnRpbmcgcnVsZXMuIAogKiAJCQkJCQkJCQkJCQlUaGlzIG9wdGlvbiBsZXQncyB5b3Ugc3BlY2lmeSBhIGRlZmF1bHQgc29ydGluZyBydWxlLCB3aGljaCBpcyBhcHBlbmRlZCB0byB1c2VyLXNlbGVjdGVkIHJ1bGVzLgogKiAJCQkJCQkJCQkJCQlEZWZhdWx0IHZhbHVlOiBudWxsCiAqIAogKiBAb3B0aW9uIEJvb2xlYW4gd2lkdGhGaXhlZCAob3B0aW9uYWwpIAkJQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgaWYgdGFibGVzb3J0ZXIgc2hvdWxkIGFwcGx5IGZpeGVkIHdpZHRocyB0byB0aGUgdGFibGUgY29sdW1ucy4KICogCQkJCQkJCQkJCQkJVGhpcyBpcyB1c2VmdWxsIHdoZW4gdXNpbmcgdGhlIHBhZ2VyIGNvbXBhbmlvbiBwbHVnaW4uCiAqIAkJCQkJCQkJCQkJCVRoaXMgb3B0aW9ucyByZXF1aXJlcyB0aGUgZGltZW5zaW9uIGpxdWVyeSBwbHVnaW4uCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6IGZhbHNlCiAqCiAqIEBvcHRpb24gQm9vbGVhbiBjYW5jZWxTZWxlY3Rpb24gKG9wdGlvbmFsKSAJQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgaWYgdGFibGVzb3J0ZXIgc2hvdWxkIGNhbmNlbCBzZWxlY3Rpb24gb2YgdGhlIHRhYmxlIGhlYWRlcnMgdGV4dC4KICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogdHJ1ZQogKgogKiBAb3B0aW9uIEJvb2xlYW4gZGVidWcgKG9wdGlvbmFsKSAJCQlCb29sZWFuIGZsYWcgaW5kaWNhdGluZyBpZiB0YWJsZXNvcnRlciBzaG91bGQgZGlzcGxheSBkZWJ1Z2luZyBpbmZvcm1hdGlvbiB1c2VmdWxsIGZvciBkZXZlbG9wbWVudC4KICoKICogQHR5cGUgalF1ZXJ5CiAqCiAqIEBuYW1lIHRhYmxlc29ydGVyCiAqIAogKiBAY2F0IFBsdWdpbnMvVGFibGVzb3J0ZXIKICogCiAqIEBhdXRob3IgQ2hyaXN0aWFuIEJhY2gvY2hyaXN0aWFuLmJhY2hAcG9seWVzdGVyLnNlCiAqLwoKKGZ1bmN0aW9uKCQpIHsKCSQuZXh0ZW5kKHsKCQl0YWJsZXNvcnRlcjogbmV3IGZ1bmN0aW9uKCkgewoJCQkKCQkJdmFyIHBhcnNlcnMgPSBbXSwgd2lkZ2V0cyA9IFtdOwoJCQkKCQkJdGhpcy5kZWZhdWx0cyA9IHsKCQkJCWNzc0hlYWRlcjogImhlYWRlciIsCgkJCQljc3NBc2M6ICJoZWFkZXJTb3J0VXAiLAoJCQkJY3NzRGVzYzogImhlYWRlclNvcnREb3duIiwKCQkJCXNvcnRJbml0aWFsT3JkZXI6ICJhc2MiLAoJCQkJc29ydE11bHRpU29ydEtleTogInNoaWZ0S2V5IiwKCQkJCXNvcnRGb3JjZTogbnVsbCwKCQkJCXNvcnRBcHBlbmQ6IG51bGwsCgkJCQl0ZXh0RXh0cmFjdGlvbjogInNpbXBsZSIsCgkJCQlwYXJzZXJzOiB7fSwgCgkJCQl3aWRnZXRzOiBbXSwJCQoJCQkJd2lkZ2V0WmVicmE6IHtjc3M6IFsiZXZlbiIsIm9kZCJdfSwKCQkJCWhlYWRlcnM6IHt9LAoJCQkJd2lkdGhGaXhlZDogZmFsc2UsCgkJCQljYW5jZWxTZWxlY3Rpb246IHRydWUsCgkJCQlzb3J0TGlzdDogW10sCgkJCQloZWFkZXJMaXN0OiBbXSwKCQkJCWRhdGVGb3JtYXQ6ICJ1cyIsCgkJCQlkZWNpbWFsOiAnLicsCgkJCQlkZWJ1ZzogZmFsc2UKCQkJfTsKCQkJCgkJCS8qIGRlYnVnaW5nIHV0aWxzICovCgkJCWZ1bmN0aW9uIGJlbmNobWFyayhzLGQpIHsKCQkJCWxvZyhzICsgIiwiICsgKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gZC5nZXRUaW1lKCkpICsgIm1zIik7CgkJCX0KCQkJCgkJCXRoaXMuYmVuY2htYXJrID0gYmVuY2htYXJrOwoJCQkKCQkJZnVuY3Rpb24gbG9nKHMpIHsKCQkJCWlmICh0eXBlb2YgY29uc29sZSAhPSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgY29uc29sZS5kZWJ1ZyAhPSAidW5kZWZpbmVkIikgewoJCQkJCWNvbnNvbGUubG9nKHMpOwoJCQkJfSBlbHNlIHsKCQkJCQlhbGVydChzKTsKCQkJCX0KCQkJfQoJCQkJCQkKCQkJLyogcGFyc2VycyB1dGlscyAqLwoJCQlmdW5jdGlvbiBidWlsZFBhcnNlckNhY2hlKHRhYmxlLCRoZWFkZXJzKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgcGFyc2Vyc0RlYnVnID0gIiI7IH0KCQkJCQoJCQkJdmFyIHJvd3MgPSB0YWJsZS50Qm9kaWVzWzBdLnJvd3M7CgkJCQkKCQkJCWlmKHRhYmxlLnRCb2RpZXNbMF0ucm93c1swXSkgewoKCQkJCQl2YXIgbGlzdCA9IFtdLCBjZWxscyA9IHJvd3NbMF0uY2VsbHMsIGwgPSBjZWxscy5sZW5ndGg7CgkJCQkJCgkJCQkJZm9yICh2YXIgaT0wO2kgPCBsOyBpKyspIHsKCQkJCQkJdmFyIHAgPSBmYWxzZTsKCQkJCQkJCgkJCQkJCWlmKCQubWV0YWRhdGEgJiYgKCQoJGhlYWRlcnNbaV0pLm1ldGFkYXRhKCkgJiYgJCgkaGVhZGVyc1tpXSkubWV0YWRhdGEoKS5zb3J0ZXIpICApIHsKCQkJCQkJCgkJCQkJCQlwID0gZ2V0UGFyc2VyQnlJZCgkKCRoZWFkZXJzW2ldKS5tZXRhZGF0YSgpLnNvcnRlcik7CQoJCQkJCQkKCQkJCQkJfSBlbHNlIGlmKCh0YWJsZS5jb25maWcuaGVhZGVyc1tpXSAmJiB0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5zb3J0ZXIpKSB7CgkKCQkJCQkJCXAgPSBnZXRQYXJzZXJCeUlkKHRhYmxlLmNvbmZpZy5oZWFkZXJzW2ldLnNvcnRlcik7CgkJCQkJCX0KCQkJCQkJaWYoIXApIHsKCQkJCQkJCXAgPSBkZXRlY3RQYXJzZXJGb3JDb2x1bW4odGFibGUsY2VsbHNbaV0pOwoJCQkJCQl9CgkKCQkJCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7IHBhcnNlcnNEZWJ1ZyArPSAiY29sdW1uOiIgKyBpICsgIiBwYXJzZXI6IiArcC5pZCArICJcbiI7IH0KCQoJCQkJCQlsaXN0LnB1c2gocCk7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHsgbG9nKHBhcnNlcnNEZWJ1Zyk7IH0KCgkJCQlyZXR1cm4gbGlzdDsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIGRldGVjdFBhcnNlckZvckNvbHVtbih0YWJsZSxub2RlKSB7CgkJCQl2YXIgbCA9IHBhcnNlcnMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTE7IGkgPCBsOyBpKyspIHsKCQkJCQlpZihwYXJzZXJzW2ldLmlzKCQudHJpbShnZXRFbGVtZW50VGV4dCh0YWJsZS5jb25maWcsbm9kZSkpLHRhYmxlLG5vZGUpKSB7CgkJCQkJCXJldHVybiBwYXJzZXJzW2ldOwoJCQkJCX0KCQkJCX0KCQkJCS8vIDAgaXMgYWx3YXlzIHRoZSBnZW5lcmljIHBhcnNlciAodGV4dCkKCQkJCXJldHVybiBwYXJzZXJzWzBdOwoJCQl9CgkJCQoJCQlmdW5jdGlvbiBnZXRQYXJzZXJCeUlkKG5hbWUpIHsKCQkJCXZhciBsID0gcGFyc2Vycy5sZW5ndGg7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWlmKHBhcnNlcnNbaV0uaWQudG9Mb3dlckNhc2UoKSA9PSBuYW1lLnRvTG93ZXJDYXNlKCkpIHsJCgkJCQkJCXJldHVybiBwYXJzZXJzW2ldOwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJLyogdXRpbHMgKi8KCQkJZnVuY3Rpb24gYnVpbGRDYWNoZSh0YWJsZSkgewoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHsgdmFyIGNhY2hlVGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJCQoJCQkJCgkJCQl2YXIgdG90YWxSb3dzID0gKHRhYmxlLnRCb2RpZXNbMF0gJiYgdGFibGUudEJvZGllc1swXS5yb3dzLmxlbmd0aCkgfHwgMCwKCQkJCQl0b3RhbENlbGxzID0gKHRhYmxlLnRCb2RpZXNbMF0ucm93c1swXSAmJiB0YWJsZS50Qm9kaWVzWzBdLnJvd3NbMF0uY2VsbHMubGVuZ3RoKSB8fCAwLAoJCQkJCXBhcnNlcnMgPSB0YWJsZS5jb25maWcucGFyc2VycywgCgkJCQkJY2FjaGUgPSB7cm93OiBbXSwgbm9ybWFsaXplZDogW119OwoJCQkJCgkJCQkJZm9yICh2YXIgaT0wO2kgPCB0b3RhbFJvd3M7ICsraSkgewoJCQkJCQoJCQkJCQkvKiogQWRkIHRoZSB0YWJsZSBkYXRhIHRvIG1haW4gZGF0YSBhcnJheSAqLwoJCQkJCQl2YXIgYyA9IHRhYmxlLnRCb2RpZXNbMF0ucm93c1tpXSwgY29scyA9IFtdOwoJCQkJCQoJCQkJCQljYWNoZS5yb3cucHVzaCgkKGMpKTsKCQkJCQkJCgkJCQkJCWZvcih2YXIgaj0wOyBqIDwgdG90YWxDZWxsczsgKytqKSB7CgkJCQkJCQljb2xzLnB1c2gocGFyc2Vyc1tqXS5mb3JtYXQoZ2V0RWxlbWVudFRleHQodGFibGUuY29uZmlnLGMuY2VsbHNbal0pLHRhYmxlLGMuY2VsbHNbal0pKTsJCgkJCQkJCX0KCQkJCQkJCQkJCQkJCgkJCQkJCWNvbHMucHVzaChpKTsgLy8gYWRkIHBvc2l0aW9uIGZvciByb3dDYWNoZQoJCQkJCQljYWNoZS5ub3JtYWxpemVkLnB1c2goY29scyk7CgkJCQkJCWNvbHMgPSBudWxsOwoJCQkJCX07CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIkJ1aWxkaW5nIGNhY2hlIGZvciAiICsgdG90YWxSb3dzICsgIiByb3dzOiIsIGNhY2hlVGltZSk7IH0KCQkJCQoJCQkJcmV0dXJuIGNhY2hlOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gZ2V0RWxlbWVudFRleHQoY29uZmlnLG5vZGUpIHsKCQkJCQoJCQkJaWYoIW5vZGUpIHJldHVybiAiIjsKCQkJCQkJCQkKCQkJCXZhciB0ID0gIiI7CgkJCQkKCQkJCWlmKGNvbmZpZy50ZXh0RXh0cmFjdGlvbiA9PSAic2ltcGxlIikgewoJCQkJCWlmKG5vZGUuY2hpbGROb2Rlc1swXSAmJiBub2RlLmNoaWxkTm9kZXNbMF0uaGFzQ2hpbGROb2RlcygpKSB7CgkJCQkJCXQgPSBub2RlLmNoaWxkTm9kZXNbMF0uaW5uZXJIVE1MOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXQgPSBub2RlLmlubmVySFRNTDsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWlmKHR5cGVvZihjb25maWcudGV4dEV4dHJhY3Rpb24pID09ICJmdW5jdGlvbiIpIHsKCQkJCQkJdCA9IGNvbmZpZy50ZXh0RXh0cmFjdGlvbihub2RlKTsKCQkJCQl9IGVsc2UgeyAKCQkJCQkJdCA9ICQobm9kZSkudGV4dCgpOwoJCQkJCX0JCgkJCQl9CgkJCQlyZXR1cm4gdDsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gYXBwZW5kVG9UYWJsZSh0YWJsZSxjYWNoZSkgewoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHt2YXIgYXBwZW5kVGltZSA9IG5ldyBEYXRlKCl9CgkJCQkKCQkJCXZhciBjID0gY2FjaGUsIAoJCQkJCXIgPSBjLnJvdywgCgkJCQkJbj0gYy5ub3JtYWxpemVkLCAKCQkJCQl0b3RhbFJvd3MgPSBuLmxlbmd0aCwgCgkJCQkJY2hlY2tDZWxsID0gKG5bMF0ubGVuZ3RoLTEpLCAKCQkJCQl0YWJsZUJvZHkgPSAkKHRhYmxlLnRCb2RpZXNbMF0pLAoJCQkJCXJvd3MgPSBbXTsKCQkJCQoJCQkJZm9yICh2YXIgaT0wO2kgPCB0b3RhbFJvd3M7IGkrKykgewoJCQkJCXJvd3MucHVzaChyW25baV1bY2hlY2tDZWxsXV0pOwkKCQkJCQlpZighdGFibGUuY29uZmlnLmFwcGVuZGVyKSB7CgkJCQkJCQoJCQkJCQl2YXIgbyA9IHJbbltpXVtjaGVja0NlbGxdXTsKCQkJCQkJdmFyIGwgPSBvLmxlbmd0aDsKCQkJCQkJZm9yKHZhciBqPTA7IGogPCBsOyBqKyspIHsKCQkJCQkJCQoJCQkJCQkJdGFibGVCb2R5WzBdLmFwcGVuZENoaWxkKG9bal0pOwoJCQkJCQkKCQkJCQkJfQoJCQkJCQkKCQkJCQkJLy90YWJsZUJvZHkuYXBwZW5kKHJbbltpXVtjaGVja0NlbGxdXSk7CgkJCQkJfQoJCQkJfQkKCQkJCQoJCQkJaWYodGFibGUuY29uZmlnLmFwcGVuZGVyKSB7CgkJCQkKCQkJCQl0YWJsZS5jb25maWcuYXBwZW5kZXIodGFibGUscm93cyk7CQoJCQkJfQoJCQkJCgkJCQlyb3dzID0gbnVsbDsKCQkJCQoJCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7IGJlbmNobWFyaygiUmVidWlsdCB0YWJsZToiLCBhcHBlbmRUaW1lKTsgfQoJCQkJCQkJCQoJCQkJLy9hcHBseSB0YWJsZSB3aWRnZXRzCgkJCQlhcHBseVdpZGdldCh0YWJsZSk7CgkJCQkKCQkJCS8vIHRyaWdnZXIgc29ydGVuZAoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkkKHRhYmxlKS50cmlnZ2VyKCJzb3J0RW5kIik7CQoJCQkJfSwwKTsKCQkJCQoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gYnVpbGRIZWFkZXJzKHRhYmxlKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgdGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJCQoJCQkJdmFyIG1ldGEgPSAoJC5tZXRhZGF0YSkgPyB0cnVlIDogZmFsc2UsIHRhYmxlSGVhZGVyc1Jvd3MgPSBbXTsKCQkJCgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgdGFibGUudEhlYWQucm93cy5sZW5ndGg7IGkrKykgeyB0YWJsZUhlYWRlcnNSb3dzW2ldPTA7IH07CgkJCQkKCQkJCSR0YWJsZUhlYWRlcnMgPSAkKCJ0aGVhZCB0aCIsdGFibGUpOwoJCQoJCQkJJHRhYmxlSGVhZGVycy5lYWNoKGZ1bmN0aW9uKGluZGV4KSB7CgkJCQkJCQkKCQkJCQl0aGlzLmNvdW50ID0gMDsKCQkJCQl0aGlzLmNvbHVtbiA9IGluZGV4OwoJCQkJCXRoaXMub3JkZXIgPSBmb3JtYXRTb3J0aW5nT3JkZXIodGFibGUuY29uZmlnLnNvcnRJbml0aWFsT3JkZXIpOwoJCQkJCQoJCQkJCWlmKGNoZWNrSGVhZGVyTWV0YWRhdGEodGhpcykgfHwgY2hlY2tIZWFkZXJPcHRpb25zKHRhYmxlLGluZGV4KSkgdGhpcy5zb3J0RGlzYWJsZWQgPSB0cnVlOwoJCQkJCQoJCQkJCWlmKCF0aGlzLnNvcnREaXNhYmxlZCkgewoJCQkJCQkkKHRoaXMpLmFkZENsYXNzKHRhYmxlLmNvbmZpZy5jc3NIZWFkZXIpOwoJCQkJCX0KCQkJCQkKCQkJCQkvLyBhZGQgY2VsbCB0byBoZWFkZXJMaXN0CgkJCQkJdGFibGUuY29uZmlnLmhlYWRlckxpc3RbaW5kZXhdPSB0aGlzOwoJCQkJfSk7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIkJ1aWx0IGhlYWRlcnM6IiwgdGltZSk7IGxvZygkdGFibGVIZWFkZXJzKTsgfQoJCQkJCgkJCQlyZXR1cm4gJHRhYmxlSGVhZGVyczsKCQkJCQoJCQl9OwoJCQkJCQkKCQkgICAJZnVuY3Rpb24gY2hlY2tDZWxsQ29sU3Bhbih0YWJsZSwgcm93cywgcm93KSB7CiAgICAgICAgICAgICAgICB2YXIgYXJyID0gW10sIHIgPSB0YWJsZS50SGVhZC5yb3dzLCBjID0gcltyb3ddLmNlbGxzOwoJCQkJCgkJCQlmb3IodmFyIGk9MDsgaSA8IGMubGVuZ3RoOyBpKyspIHsKCQkJCQl2YXIgY2VsbCA9IGNbaV07CgkJCQkJCgkJCQkJaWYgKCBjZWxsLmNvbFNwYW4gPiAxKSB7IAoJCQkJCQlhcnIgPSBhcnIuY29uY2F0KGNoZWNrQ2VsbENvbFNwYW4odGFibGUsIGhlYWRlckFycixyb3crKykpOwoJCQkJCX0gZWxzZSAgewoJCQkJCQlpZih0YWJsZS50SGVhZC5sZW5ndGggPT0gMSB8fCAoY2VsbC5yb3dTcGFuID4gMSB8fCAhcltyb3crMV0pKSB7CgkJCQkJCQlhcnIucHVzaChjZWxsKTsKCQkJCQkJfQoJCQkJCQkvL2hlYWRlckFycltyb3ddID0gKGkrcm93KTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gYXJyOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gY2hlY2tIZWFkZXJNZXRhZGF0YShjZWxsKSB7CgkJCQlpZigoJC5tZXRhZGF0YSkgJiYgKCQoY2VsbCkubWV0YWRhdGEoKS5zb3J0ZXIgPT09IGZhbHNlKSkgeyByZXR1cm4gdHJ1ZTsgfTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gY2hlY2tIZWFkZXJPcHRpb25zKHRhYmxlLGkpIHsJCgkJCQlpZigodGFibGUuY29uZmlnLmhlYWRlcnNbaV0pICYmICh0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5zb3J0ZXIgPT09IGZhbHNlKSkgeyByZXR1cm4gdHJ1ZTsgfTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gYXBwbHlXaWRnZXQodGFibGUpIHsKCQkJCXZhciBjID0gdGFibGUuY29uZmlnLndpZGdldHM7CgkJCQl2YXIgbCA9IGMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTA7IGkgPCBsOyBpKyspIHsKCQkJCQkKCQkJCQlnZXRXaWRnZXRCeUlkKGNbaV0pLmZvcm1hdCh0YWJsZSk7CgkJCQl9CgkJCQkKCQkJfQoJCQkKCQkJZnVuY3Rpb24gZ2V0V2lkZ2V0QnlJZChuYW1lKSB7CgkJCQl2YXIgbCA9IHdpZGdldHMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTA7IGkgPCBsOyBpKyspIHsKCQkJCQlpZih3aWRnZXRzW2ldLmlkLnRvTG93ZXJDYXNlKCkgPT0gbmFtZS50b0xvd2VyQ2FzZSgpICkgewoJCQkJCQlyZXR1cm4gd2lkZ2V0c1tpXTsgCgkJCQkJfQoJCQkJfQoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gZm9ybWF0U29ydGluZ09yZGVyKHYpIHsKCQkJCQoJCQkJaWYodHlwZW9mKHYpICE9ICJOdW1iZXIiKSB7CgkJCQkJaSA9ICh2LnRvTG93ZXJDYXNlKCkgPT0gImRlc2MiKSA/IDEgOiAwOwoJCQkJfSBlbHNlIHsKCQkJCQlpID0gKHYgPT0gKDAgfHwgMSkpID8gdiA6IDA7CgkJCQl9CgkJCQlyZXR1cm4gaTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gaXNWYWx1ZUluQXJyYXkodiwgYSkgewoJCQkJdmFyIGwgPSBhLmxlbmd0aDsKCQkJCWZvcih2YXIgaT0wOyBpIDwgbDsgaSsrKSB7CgkJCQkJaWYoYVtpXVswXSA9PSB2KSB7CgkJCQkJCXJldHVybiB0cnVlOwkKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJCQoJCQlmdW5jdGlvbiBzZXRIZWFkZXJzQ3NzKHRhYmxlLCRoZWFkZXJzLCBsaXN0LCBjc3MpIHsKCQkJCS8vIHJlbW92ZSBhbGwgaGVhZGVyIGluZm9ybWF0aW9uCgkJCQkkaGVhZGVycy5yZW1vdmVDbGFzcyhjc3NbMF0pLnJlbW92ZUNsYXNzKGNzc1sxXSk7CgkJCQkKCQkJCXZhciBoID0gW107CgkJCQkkaGVhZGVycy5lYWNoKGZ1bmN0aW9uKG9mZnNldCkgewoJCQkJCQlpZighdGhpcy5zb3J0RGlzYWJsZWQpIHsKCQkJCQkJCWhbdGhpcy5jb2x1bW5dID0gJCh0aGlzKTsJCQkJCQoJCQkJCQl9CgkJCQl9KTsKCQkJCQoJCQkJdmFyIGwgPSBsaXN0Lmxlbmd0aDsgCgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWhbbGlzdFtpXVswXV0uYWRkQ2xhc3MoY3NzW2xpc3RbaV1bMV1dKTsKCQkJCX0KCQkJfQoJCQkKCQkJZnVuY3Rpb24gZml4Q29sdW1uV2lkdGgodGFibGUsJGhlYWRlcnMpIHsKCQkJCXZhciBjID0gdGFibGUuY29uZmlnOwoJCQkJaWYoYy53aWR0aEZpeGVkKSB7CgkJCQkJdmFyIGNvbGdyb3VwID0gJCgnPGNvbGdyb3VwPicpOwoJCQkJCSQoInRyOmZpcnN0IHRkIix0YWJsZS50Qm9kaWVzWzBdKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCQljb2xncm91cC5hcHBlbmQoJCgnPGNvbD4nKS5jc3MoJ3dpZHRoJywkKHRoaXMpLndpZHRoKCkpKTsKCQkJCQl9KTsKCQkJCQkkKHRhYmxlKS5wcmVwZW5kKGNvbGdyb3VwKTsKCQkJCX07CgkJCX0KCQkJCgkJCWZ1bmN0aW9uIHVwZGF0ZUhlYWRlclNvcnRDb3VudCh0YWJsZSxzb3J0TGlzdCkgewoJCQkJdmFyIGMgPSB0YWJsZS5jb25maWcsIGwgPSBzb3J0TGlzdC5sZW5ndGg7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCXZhciBzID0gc29ydExpc3RbaV0sIG8gPSBjLmhlYWRlckxpc3Rbc1swXV07CgkJCQkJby5jb3VudCA9IHNbMV07CgkJCQkJby5jb3VudCsrOwoJCQkJfQoJCQl9CgkJCQoJCQkvKiBzb3J0aW5nIG1ldGhvZHMgKi8KCQkJZnVuY3Rpb24gbXVsdGlzb3J0KHRhYmxlLHNvcnRMaXN0LGNhY2hlKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgc29ydFRpbWUgPSBuZXcgRGF0ZSgpOyB9CgkJCQkKCQkJCXZhciBkeW5hbWljRXhwID0gInZhciBzb3J0V3JhcHBlciA9IGZ1bmN0aW9uKGEsYikgeyIsIGwgPSBzb3J0TGlzdC5sZW5ndGg7CgkJCQkJCgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCQoJCQkJCXZhciBjID0gc29ydExpc3RbaV1bMF07CgkJCQkJdmFyIG9yZGVyID0gc29ydExpc3RbaV1bMV07CgkJCQkJdmFyIHMgPSAoZ2V0Q2FjaGVkU29ydFR5cGUodGFibGUuY29uZmlnLnBhcnNlcnMsYykgPT0gInRleHQiKSA/ICgob3JkZXIgPT0gMCkgPyAic29ydFRleHQiIDogInNvcnRUZXh0RGVzYyIpIDogKChvcmRlciA9PSAwKSA/ICJzb3J0TnVtZXJpYyIgOiAic29ydE51bWVyaWNEZXNjIik7CgkJCQkJCgkJCQkJdmFyIGUgPSAiZSIgKyBpOwoJCQkJCQoJCQkJCWR5bmFtaWNFeHAgKz0gInZhciAiICsgZSArICIgPSAiICsgcyArICIoYVsiICsgYyArICJdLGJbIiArIGMgKyAiXSk7ICI7CgkJCQkJZHluYW1pY0V4cCArPSAiaWYoIiArIGUgKyAiKSB7IHJldHVybiAiICsgZSArICI7IH0gIjsKCQkJCQlkeW5hbWljRXhwICs9ICJlbHNlIHsgIjsKCQkJCX0KCQkJCQoJCQkJLy8gaWYgdmFsdWUgaXMgdGhlIHNhbWUga2VlcCBvcmlnbmFsIG9yZGVyCQoJCQkJdmFyIG9yZ09yZGVyQ29sID0gY2FjaGUubm9ybWFsaXplZFswXS5sZW5ndGggLSAxOwoJCQkJZHluYW1pY0V4cCArPSAicmV0dXJuIGFbIiArIG9yZ09yZGVyQ29sICsgIl0tYlsiICsgb3JnT3JkZXJDb2wgKyAiXTsiOwoJCQkJCQkKCQkJCWZvcih2YXIgaT0wOyBpIDwgbDsgaSsrKSB7CgkJCQkJZHluYW1pY0V4cCArPSAifTsgIjsKCQkJCX0KCQkJCQoJCQkJZHluYW1pY0V4cCArPSAicmV0dXJuIDA7ICI7CQoJCQkJZHluYW1pY0V4cCArPSAifTsgIjsJCgkJCQkKCQkJCWV2YWwoZHluYW1pY0V4cCk7CgkJCQkKCQkJCWNhY2hlLm5vcm1hbGl6ZWQuc29ydChzb3J0V3JhcHBlcik7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIlNvcnRpbmcgb24gIiArIHNvcnRMaXN0LnRvU3RyaW5nKCkgKyAiIGFuZCBkaXIgIiArIG9yZGVyKyAiIHRpbWU6Iiwgc29ydFRpbWUpOyB9CgkJCQkKCQkJCXJldHVybiBjYWNoZTsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIHNvcnRUZXh0KGEsYikgewoJCQkJcmV0dXJuICgoYSA8IGIpID8gLTEgOiAoKGEgPiBiKSA/IDEgOiAwKSk7CgkJCX07CgkJCQoJCQlmdW5jdGlvbiBzb3J0VGV4dERlc2MoYSxiKSB7CgkJCQlyZXR1cm4gKChiIDwgYSkgPyAtMSA6ICgoYiA+IGEpID8gMSA6IDApKTsKCQkJfTsJCgkJCQoJIAkJZnVuY3Rpb24gc29ydE51bWVyaWMoYSxiKSB7CgkJCQlyZXR1cm4gYS1iOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gc29ydE51bWVyaWNEZXNjKGEsYikgewoJCQkJcmV0dXJuIGItYTsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIGdldENhY2hlZFNvcnRUeXBlKHBhcnNlcnMsaSkgewoJCQkJcmV0dXJuIHBhcnNlcnNbaV0udHlwZTsKCQkJfTsKCQkJCgkJCS8qIHB1YmxpYyBtZXRob2RzICovCgkJCXRoaXMuY29uc3RydWN0ID0gZnVuY3Rpb24oc2V0dGluZ3MpIHsKCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCQoJCQkJCWlmKCF0aGlzLnRIZWFkIHx8ICF0aGlzLnRCb2RpZXMpIHJldHVybjsKCQkJCQkKCQkJCQl2YXIgJHRoaXMsICRkb2N1bWVudCwkaGVhZGVycywgY2FjaGUsIGNvbmZpZywgc2hpZnREb3duID0gMCwgc29ydE9yZGVyOwoJCQkJCQoJCQkJCXRoaXMuY29uZmlnID0ge307CgkJCQkJCgkJCQkJY29uZmlnID0gJC5leHRlbmQodGhpcy5jb25maWcsICQudGFibGVzb3J0ZXIuZGVmYXVsdHMsIHNldHRpbmdzKTsKCQkJCQkKCQkJCQkvLyBzdG9yZSBjb21tb24gZXhwcmVzc2lvbiBmb3Igc3BlZWQJCQkJCQoJCQkJCSR0aGlzID0gJCh0aGlzKTsKCQkJCQkKCQkJCQkvLyBidWlsZCBoZWFkZXJzCgkJCQkJJGhlYWRlcnMgPSBidWlsZEhlYWRlcnModGhpcyk7CgkJCQkJCgkJCQkJLy8gdHJ5IHRvIGF1dG8gZGV0ZWN0IGNvbHVtbiB0eXBlLCBhbmQgc3RvcmUgaW4gdGFibGVzIGNvbmZpZwoJCQkJCXRoaXMuY29uZmlnLnBhcnNlcnMgPSBidWlsZFBhcnNlckNhY2hlKHRoaXMsJGhlYWRlcnMpOwoJCQkJCQoJCQkJCQoJCQkJCS8vIGJ1aWxkIHRoZSBjYWNoZSBmb3IgdGhlIHRib2R5IGNlbGxzCgkJCQkJY2FjaGUgPSBidWlsZENhY2hlKHRoaXMpOwoJCQkJCQoJCQkJCS8vIGdldCB0aGUgY3NzIGNsYXNzIG5hbWVzLCBjb3VsZCBiZSBkb25lIGVsc2Ugd2hlcmUuCgkJCQkJdmFyIHNvcnRDU1MgPSBbY29uZmlnLmNzc0Rlc2MsY29uZmlnLmNzc0FzY107CgkJCQkJCgkJCQkJLy8gZml4YXRlIGNvbHVtbnMgaWYgdGhlIHVzZXJzIHN1cHBsaWVzIHRoZSBmaXhlZFdpZHRoIG9wdGlvbgoJCQkJCWZpeENvbHVtbldpZHRoKHRoaXMpOwoJCQkJCQoJCQkJCS8vIGFwcGx5IGV2ZW50IGhhbmRsaW5nIHRvIGhlYWRlcnMKCQkJCQkvLyB0aGlzIGlzIHRvIGJpZywgcGVyaGFwcyBicmVhayBpdCBvdXQ/CgkJCQkJJGhlYWRlcnMuY2xpY2soZnVuY3Rpb24oZSkgewoJCQkJCQkKCQkJCQkJJHRoaXMudHJpZ2dlcigic29ydFN0YXJ0Iik7CgkJCQkJCQoJCQkJCQl2YXIgdG90YWxSb3dzID0gKCR0aGlzWzBdLnRCb2RpZXNbMF0gJiYgJHRoaXNbMF0udEJvZGllc1swXS5yb3dzLmxlbmd0aCkgfHwgMDsKCQkJCQkJCgkJCQkJCWlmKCF0aGlzLnNvcnREaXNhYmxlZCAmJiB0b3RhbFJvd3MgPiAwKSB7CgkJCQkJCQkKCQkJCQkJCQoJCQkJCQkJLy8gc3RvcmUgZXhwLCBmb3Igc3BlZWQKCQkJCQkJCXZhciAkY2VsbCA9ICQodGhpcyk7CgkKCQkJCQkJCS8vIGdldCBjdXJyZW50IGNvbHVtbiBpbmRleAoJCQkJCQkJdmFyIGkgPSB0aGlzLmNvbHVtbjsKCQkJCQkJCQoJCQkJCQkJLy8gZ2V0IGN1cnJlbnQgY29sdW1uIHNvcnQgb3JkZXIKCQkJCQkJCXRoaXMub3JkZXIgPSB0aGlzLmNvdW50KysgJSAyOwoJCQkJCQkJCgkJCQkJCQkvLyB1c2VyIG9ubHkgd2hhbnRzIHRvIHNvcnQgb24gb25lIGNvbHVtbgoJCQkJCQkJaWYoIWVbY29uZmlnLnNvcnRNdWx0aVNvcnRLZXldKSB7CgkJCQkJCQkJCgkJCQkJCQkJLy8gZmx1c2ggdGhlIHNvcnQgbGlzdAoJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdCA9IFtdOwoJCQkJCQkJCQoJCQkJCQkJCWlmKGNvbmZpZy5zb3J0Rm9yY2UgIT0gbnVsbCkgewoJCQkJCQkJCQl2YXIgYSA9IGNvbmZpZy5zb3J0Rm9yY2U7IAoJCQkJCQkJCQlmb3IodmFyIGo9MDsgaiA8IGEubGVuZ3RoOyBqKyspIHsKCQkJCQkJCQkJCWlmKGFbal1bMF0gIT0gaSkgewoJCQkJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdC5wdXNoKGFbal0pOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJCQoJCQkJCQkJCS8vIGFkZCBjb2x1bW4gdG8gc29ydCBsaXN0CgkJCQkJCQkJY29uZmlnLnNvcnRMaXN0LnB1c2goW2ksdGhpcy5vcmRlcl0pOwoJCQkJCQkJCgkJCQkJCQkvLyBtdWx0aSBjb2x1bW4gc29ydGluZwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkvLyB0aGUgdXNlciBoYXMgY2xpY2tlZCBvbiBhbiBhbGwgcmVhZHkgc29ydGV0IGNvbHVtbi4KCQkJCQkJCQlpZihpc1ZhbHVlSW5BcnJheShpLGNvbmZpZy5zb3J0TGlzdCkpIHsJIAoJCQkJCQkJCQkKCQkJCQkJCQkJLy8gcmV2ZXJzIHRoZSBzb3J0aW5nIGRpcmVjdGlvbiBmb3IgYWxsIHRhYmxlcy4KCQkJCQkJCQkJZm9yKHZhciBqPTA7IGogPCBjb25maWcuc29ydExpc3QubGVuZ3RoOyBqKyspIHsKCQkJCQkJCQkJCXZhciBzID0gY29uZmlnLnNvcnRMaXN0W2pdLCBvID0gY29uZmlnLmhlYWRlckxpc3Rbc1swXV07CgkJCQkJCQkJCQlpZihzWzBdID09IGkpIHsKCQkJCQkJCQkJCQlvLmNvdW50ID0gc1sxXTsKCQkJCQkJCQkJCQlvLmNvdW50Kys7CgkJCQkJCQkJCQkJc1sxXSA9IG8uY291bnQgJSAyOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQl9CQoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCS8vIGFkZCBjb2x1bW4gdG8gc29ydCBsaXN0IGFycmF5CgkJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdC5wdXNoKFtpLHRoaXMub3JkZXJdKTsKCQkJCQkJCQl9CgkJCQkJCQl9OwoJCQkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJCQkvL3NldCBjc3MgZm9yIGhlYWRlcnMKCQkJCQkJCQlzZXRIZWFkZXJzQ3NzKCR0aGlzWzBdLCRoZWFkZXJzLGNvbmZpZy5zb3J0TGlzdCxzb3J0Q1NTKTsKCQkJCQkJCQlhcHBlbmRUb1RhYmxlKCR0aGlzWzBdLG11bHRpc29ydCgkdGhpc1swXSxjb25maWcuc29ydExpc3QsY2FjaGUpKTsKCQkJCQkJCX0sMSk7CgkJCQkJCQkvLyBzdG9wIG5vcm1hbCBldmVudCBieSByZXR1cm5pbmcgZmFsc2UKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCS8vIGNhbmNlbCBzZWxlY3Rpb24JCgkJCQkJfSkubW91c2Vkb3duKGZ1bmN0aW9uKCkgewoJCQkJCQlpZihjb25maWcuY2FuY2VsU2VsZWN0aW9uKSB7CgkJCQkJCQl0aGlzLm9uc2VsZWN0c3RhcnQgPSBmdW5jdGlvbigpIHtyZXR1cm4gZmFsc2V9OwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJCgkJCQkJLy8gYXBwbHkgZWFzeSBtZXRob2RzIHRoYXQgdHJpZ2dlciBiaW5kZWQgZXZlbnRzCgkJCQkJJHRoaXMuYmluZCgidXBkYXRlIixmdW5jdGlvbigpIHsKCQkJCQkJCgkJCQkJCS8vIHJlYnVpbGQgcGFyc2Vycy4KCQkJCQkJdGhpcy5jb25maWcucGFyc2VycyA9IGJ1aWxkUGFyc2VyQ2FjaGUodGhpcywkaGVhZGVycyk7CgkJCQkJCQoJCQkJCQkvLyByZWJ1aWxkIHRoZSBjYWNoZSBtYXAKCQkJCQkJY2FjaGUgPSBidWlsZENhY2hlKHRoaXMpOwoJCQkJCQkKCQkJCQl9KS5iaW5kKCJzb3J0b24iLGZ1bmN0aW9uKGUsbGlzdCkgewoJCQkJCQkKCQkJCQkJJCh0aGlzKS50cmlnZ2VyKCJzb3J0U3RhcnQiKTsKCQkJCQkJCgkJCQkJCWNvbmZpZy5zb3J0TGlzdCA9IGxpc3Q7CgkJCQkJCQoJCQkJCQkvLyB1cGRhdGUgYW5kIHN0b3JlIHRoZSBzb3J0bGlzdAoJCQkJCQl2YXIgc29ydExpc3QgPSBjb25maWcuc29ydExpc3Q7CgkJCQkJCQoJCQkJCQkvLyB1cGRhdGUgaGVhZGVyIGNvdW50IGluZGV4CgkJCQkJCXVwZGF0ZUhlYWRlclNvcnRDb3VudCh0aGlzLHNvcnRMaXN0KTsKCQkJCQkJCgkJCQkJCS8vc2V0IGNzcyBmb3IgaGVhZGVycwoJCQkJCQlzZXRIZWFkZXJzQ3NzKHRoaXMsJGhlYWRlcnMsc29ydExpc3Qsc29ydENTUyk7CgkJCQkJCQoJCQkJCQkKCQkJCQkJLy8gc29ydCB0aGUgdGFibGUgYW5kIGFwcGVuZCBpdCB0byB0aGUgZG9tCgkJCQkJCWFwcGVuZFRvVGFibGUodGhpcyxtdWx0aXNvcnQodGhpcyxzb3J0TGlzdCxjYWNoZSkpOwoKCQkJCQl9KS5iaW5kKCJhcHBlbmRDYWNoZSIsZnVuY3Rpb24oKSB7CgkJCQkJCQoJCQkJCQlhcHBlbmRUb1RhYmxlKHRoaXMsY2FjaGUpOwoJCQkJCQoJCQkJCX0pLmJpbmQoImFwcGx5V2lkZ2V0SWQiLGZ1bmN0aW9uKGUsaWQpIHsKCQkJCQkJCgkJCQkJCWdldFdpZGdldEJ5SWQoaWQpLmZvcm1hdCh0aGlzKTsKCQkJCQkJCgkJCQkJfSkuYmluZCgiYXBwbHlXaWRnZXRzIixmdW5jdGlvbigpIHsKCQkJCQkJLy8gYXBwbHkgd2lkZ2V0cwoJCQkJCQlhcHBseVdpZGdldCh0aGlzKTsKCQkJCQl9KTsKCQkJCQkKCQkJCQlpZigkLm1ldGFkYXRhICYmICgkKHRoaXMpLm1ldGFkYXRhKCkgJiYgJCh0aGlzKS5tZXRhZGF0YSgpLnNvcnRsaXN0KSkgewoJCQkJCQljb25maWcuc29ydExpc3QgPSAkKHRoaXMpLm1ldGFkYXRhKCkuc29ydGxpc3Q7CgkJCQkJfQoJCQkJCS8vIGlmIHVzZXIgaGFzIHN1cHBsaWVkIGEgc29ydCBsaXN0IHRvIGNvbnN0cnVjdG9yLgoJCQkJCWlmKGNvbmZpZy5zb3J0TGlzdC5sZW5ndGggPiAwKSB7CgkJCQkJCSR0aGlzLnRyaWdnZXIoInNvcnRvbiIsW2NvbmZpZy5zb3J0TGlzdF0pOwkKCQkJCQl9CgkJCQkJCgkJCQkJLy8gYXBwbHkgd2lkZ2V0cwoJCQkJCWFwcGx5V2lkZ2V0KHRoaXMpOwoJCQkJfSk7CgkJCX07CgkJCQoJCQl0aGlzLmFkZFBhcnNlciA9IGZ1bmN0aW9uKHBhcnNlcikgewoJCQkJdmFyIGwgPSBwYXJzZXJzLmxlbmd0aCwgYSA9IHRydWU7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWlmKHBhcnNlcnNbaV0uaWQudG9Mb3dlckNhc2UoKSA9PSBwYXJzZXIuaWQudG9Mb3dlckNhc2UoKSkgewoJCQkJCQlhID0gZmFsc2U7CgkJCQkJfQoJCQkJfQoJCQkJaWYoYSkgeyBwYXJzZXJzLnB1c2gocGFyc2VyKTsgfTsKCQkJfTsKCQkJCgkJCXRoaXMuYWRkV2lkZ2V0ID0gZnVuY3Rpb24od2lkZ2V0KSB7CgkJCQl3aWRnZXRzLnB1c2god2lkZ2V0KTsKCQkJfTsKCQkJCgkJCXRoaXMuZm9ybWF0RmxvYXQgPSBmdW5jdGlvbihzKSB7CgkJCQl2YXIgaSA9IHBhcnNlRmxvYXQocyk7CgkJCQlyZXR1cm4gKGlzTmFOKGkpKSA/IDAgOiBpOwoJCQl9OwoJCQl0aGlzLmZvcm1hdEludCA9IGZ1bmN0aW9uKHMpIHsKCQkJCXZhciBpID0gcGFyc2VJbnQocyk7CgkJCQlyZXR1cm4gKGlzTmFOKGkpKSA/IDAgOiBpOwoJCQl9OwoJCQkKCQkJdGhpcy5pc0RpZ2l0ID0gZnVuY3Rpb24ocyxjb25maWcpIHsKCQkJCXZhciBERUNJTUFMID0gJ1xcJyArIGNvbmZpZy5kZWNpbWFsOwoJCQkJdmFyIGV4cCA9ICcvKF5bK10/MCgnICsgREVDSU1BTCArJzArKT8kKXwoXihbLStdP1sxLTldWzAtOV0qKSQpfCheKFstK10/KCgwP3xbMS05XVswLTldKiknICsgREVDSU1BTCArJygwKlsxLTldWzAtOV0qKSkpJCl8KF5bLStdP1sxLTldK1swLTldKicgKyBERUNJTUFMICsnMCskKS8nOwoJCQkJcmV0dXJuIFJlZ0V4cChleHApLnRlc3QoJC50cmltKHMpKTsKCQkJfTsKCQkJCgkJCXRoaXMuY2xlYXJUYWJsZUJvZHkgPSBmdW5jdGlvbih0YWJsZSkgewoJCQkJaWYoJC5icm93c2VyLm1zaWUpIHsKCQkJCQlmdW5jdGlvbiBlbXB0eSgpIHsKCQkJCQkJd2hpbGUgKCB0aGlzLmZpcnN0Q2hpbGQgKSB0aGlzLnJlbW92ZUNoaWxkKCB0aGlzLmZpcnN0Q2hpbGQgKTsKCQkJCQl9CgkJCQkJZW1wdHkuYXBwbHkodGFibGUudEJvZGllc1swXSk7CgkJCQl9IGVsc2UgewoJCQkJCXRhYmxlLnRCb2RpZXNbMF0uaW5uZXJIVE1MID0gIiI7CgkJCQl9CgkJCX07CgkJfQoJfSk7CgkKCS8vIGV4dGVuZCBwbHVnaW4gc2NvcGUKCSQuZm4uZXh0ZW5kKHsKICAgICAgICB0YWJsZXNvcnRlcjogJC50YWJsZXNvcnRlci5jb25zdHJ1Y3QKCX0pOwoJCgl2YXIgdHMgPSAkLnRhYmxlc29ydGVyOwoJCgkvLyBhZGQgZGVmYXVsdCBwYXJzZXJzCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAidGV4dCIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIHRydWU7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuICQudHJpbShzLnRvTG93ZXJDYXNlKCkpOwoJCX0sCgkJdHlwZTogInRleHQiCgl9KTsKCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogImRpZ2l0IiwKCQlpczogZnVuY3Rpb24ocyx0YWJsZSkgewoJCQl2YXIgYyA9IHRhYmxlLmNvbmZpZzsKCQkJcmV0dXJuICQudGFibGVzb3J0ZXIuaXNEaWdpdChzLGMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMpOwoJCX0sCgkJdHlwZTogIm51bWVyaWMiCgl9KTsKCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogImN1cnJlbmN5IiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gL15bwqMk4oKsPy5dLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMucmVwbGFjZShuZXcgUmVnRXhwKC9bXjAtOS5dL2cpLCIiKSk7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoJCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAiaXBBZGRyZXNzIiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gL15cZHsyLDN9W1wuXVxkezIsM31bXC5dXGR7MiwzfVtcLl1cZHsyLDN9JC8udGVzdChzKTsKCQl9LAoJCWZvcm1hdDogZnVuY3Rpb24ocykgewoJCQl2YXIgYSA9IHMuc3BsaXQoIi4iKSwgciA9ICIiLCBsID0gYS5sZW5ndGg7CgkJCWZvcih2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHsKCQkJCXZhciBpdGVtID0gYVtpXTsKCQkJICAgCWlmKGl0ZW0ubGVuZ3RoID09IDIpIHsKCQkJCQlyICs9ICIwIiArIGl0ZW07CgkJCSAgIAl9IGVsc2UgewoJCQkJCXIgKz0gaXRlbTsKCQkJICAgCX0KCQkJfQoJCQlyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChyKTsKCQl9LAoJCXR5cGU6ICJudW1lcmljIgoJfSk7CgkKCXRzLmFkZFBhcnNlcih7CgkJaWQ6ICJ1cmwiLAoJCWlzOiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAvXihodHRwcz98ZnRwfGZpbGUpOlwvXC8kLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiBqUXVlcnkudHJpbShzLnJlcGxhY2UobmV3IFJlZ0V4cCgvKGh0dHBzP3xmdHB8ZmlsZSk6XC9cLy8pLCcnKSk7CgkJfSwKCQl0eXBlOiAidGV4dCIKCX0pOwoJCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAiaXNvRGF0ZSIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIC9eXGR7NH1bXC8tXVxkezEsMn1bXC8tXVxkezEsMn0kLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KChzICE9ICIiKSA/IG5ldyBEYXRlKHMucmVwbGFjZShuZXcgUmVnRXhwKC8tL2cpLCIvIikpLmdldFRpbWUoKSA6ICIwIik7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoJCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogInBlcmNlbnQiLAoJCWlzOiBmdW5jdGlvbihzKSB7IAoJCQlyZXR1cm4gL1wlJC8udGVzdCgkLnRyaW0ocykpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMucmVwbGFjZShuZXcgUmVnRXhwKC8lL2cpLCIiKSk7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoKCXRzLmFkZFBhcnNlcih7CgkJaWQ6ICJ1c0xvbmdEYXRlIiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gcy5tYXRjaChuZXcgUmVnRXhwKC9eW0EtWmEtel17MywxMH1cLj8gWzAtOV17MSwyfSwgKFswLTldezR9fCc/WzAtOV17Mn0pICgoWzAtMl0/WzAtOV06WzAtNV1bMC05XSl8KFswLTFdP1swLTldOlswLTVdWzAtOV1ccyhBTXxQTSkpKSQvKSk7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuICQudGFibGVzb3J0ZXIuZm9ybWF0RmxvYXQobmV3IERhdGUocykuZ2V0VGltZSgpKTsKCQl9LAoJCXR5cGU6ICJudW1lcmljIgoJfSk7CgoJdHMuYWRkUGFyc2VyKHsKCQlpZDogInNob3J0RGF0ZSIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIC9cZHsxLDJ9W1wvXC1dXGR7MSwyfVtcL1wtXVxkezIsNH0vLnRlc3Qocyk7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMsdGFibGUpIHsKCQkJdmFyIGMgPSB0YWJsZS5jb25maWc7CgkJCXMgPSBzLnJlcGxhY2UoL1wtL2csIi8iKTsKCQkJaWYoYy5kYXRlRm9ybWF0ID09ICJ1cyIpIHsKCQkJCS8vIHJlZm9ybWF0IHRoZSBzdHJpbmcgaW4gSVNPIGZvcm1hdAoJCQkJcyA9IHMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezR9KS8sICIkMy8kMS8kMiIpOwoJCQl9IGVsc2UgaWYoYy5kYXRlRm9ybWF0ID09ICJ1ayIpIHsKCQkJCS8vcmVmb3JtYXQgdGhlIHN0cmluZyBpbiBJU08gZm9ybWF0CgkJCQlzID0gcy5yZXBsYWNlKC8oXGR7MSwyfSlbXC9cLV0oXGR7MSwyfSlbXC9cLV0oXGR7NH0pLywgIiQzLyQyLyQxIik7CgkJCX0gZWxzZSBpZihjLmRhdGVGb3JtYXQgPT0gImRkL21tL3l5IiB8fCBjLmRhdGVGb3JtYXQgPT0gImRkLW1tLXl5IikgewoJCQkJcyA9IHMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezJ9KS8sICIkMS8kMi8kMyIpOwkKCQkJfQoJCQlyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChuZXcgRGF0ZShzKS5nZXRUaW1lKCkpOwoJCX0sCgkJdHlwZTogIm51bWVyaWMiCgl9KTsKCgl0cy5hZGRQYXJzZXIoewoJICAgIGlkOiAidGltZSIsCgkgICAgaXM6IGZ1bmN0aW9uKHMpIHsKCSAgICAgICAgcmV0dXJuIC9eKChbMC0yXT9bMC05XTpbMC01XVswLTldKXwoWzAtMV0/WzAtOV06WzAtNV1bMC05XVxzKGFtfHBtKSkpJC8udGVzdChzKTsKCSAgICB9LAoJICAgIGZvcm1hdDogZnVuY3Rpb24ocykgewoJICAgICAgICByZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChuZXcgRGF0ZSgiMjAwMC8wMS8wMSAiICsgcykuZ2V0VGltZSgpKTsKCSAgICB9LAoJICB0eXBlOiAibnVtZXJpYyIKCX0pOwoJCgkKCXRzLmFkZFBhcnNlcih7CgkgICAgaWQ6ICJtZXRhZGF0YSIsCgkgICAgaXM6IGZ1bmN0aW9uKHMpIHsKCSAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgIH0sCgkgICAgZm9ybWF0OiBmdW5jdGlvbihzLHRhYmxlLGNlbGwpIHsKCQkJdmFyIGMgPSB0YWJsZS5jb25maWcsIHAgPSAoIWMucGFyc2VyTWV0YWRhdGFOYW1lKSA/ICdzb3J0VmFsdWUnIDogYy5wYXJzZXJNZXRhZGF0YU5hbWU7CgkgICAgICAgIHJldHVybiAkKGNlbGwpLm1ldGFkYXRhKClbcF07CgkgICAgfSwKCSAgdHlwZTogIm51bWVyaWMiCgl9KTsKCQoJLy8gYWRkIGRlZmF1bHQgd2lkZ2V0cwoJdHMuYWRkV2lkZ2V0KHsKCQlpZDogInplYnJhIiwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHRhYmxlKSB7CgkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgdGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJJCgidHI6dmlzaWJsZSIsdGFibGUudEJvZGllc1swXSkKCSAgICAgICAgLmZpbHRlcignOmV2ZW4nKQoJICAgICAgICAucmVtb3ZlQ2xhc3ModGFibGUuY29uZmlnLndpZGdldFplYnJhLmNzc1sxXSkuYWRkQ2xhc3ModGFibGUuY29uZmlnLndpZGdldFplYnJhLmNzc1swXSkKCSAgICAgICAgLmVuZCgpLmZpbHRlcignOm9kZCcpCgkgICAgICAgIC5yZW1vdmVDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzWzBdKS5hZGRDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzWzFdKTsKCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7ICQudGFibGVzb3J0ZXIuYmVuY2htYXJrKCJBcHBseWluZyBaZWJyYSB3aWRnZXQiLCB0aW1lKTsgfQoJCX0KCX0pOwkKfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/incjs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjwhLS0gSlF1ZXJ5VG9vbHMgLS0+CntpZiBpc3NldCgkbGlicyl9Cntmb3JlYWNoIGZyb209JGxpYnMgaXRlbT0nb25lJ30KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRiYXNlX3VybH17JG9uZX0iPjwvc2NyaXB0Pgp7L2ZvcmVhY2h9CnsvaWZ9Cgp7aWYgaXNzZXQoJGNzcyl9Cntmb3JlYWNoIGZyb209JGNzcyBpdGVtPSdvbmUnfQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJ7JGJhc2VfdXJsfWNzcy97JG9uZX0iIG1lZGlhPSJzY3JlZW4iIC8+CnsvZm9yZWFjaH0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/ready.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaGVyZSB3ZSBzZXQgZGVmYXVsdCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBsaWJzIHRoYXQgYXJlIGxvYWRlZC4gKn0NCntsaXRlcmFsfQ0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKQ0KICAgIHsNCgl7L2xpdGVyYWx9e2lmIGlzc2V0KCRqcXVlcnlfbGlicy50YWJsZXNvcnRlcil9e2xpdGVyYWx9DQogICAgICAgIGpRdWVyeSgiLmNtc19zb3J0YWJsZSIpDQogICAgICAgICAgICAgICAgLnRhYmxlc29ydGVyKHt3aWR0aEZpeGVkOiB0cnVlLCB3aWRnZXRzOiBbJ3plYnJhJ119KQ0KICAgICAgICB7L2xpdGVyYWx9ey9pZn17bGl0ZXJhbH0NCgkJDQoJCXsvbGl0ZXJhbH17aWYgaXNzZXQoJGpxdWVyeV9saWJzLmxpZ2h0Ym94KX17bGl0ZXJhbH0NCgkJalF1ZXJ5KCdhW0ByZWwqPWxpZ2h0Ym94XScpLmxpZ2h0Qm94KCk7DQoJey9saXRlcmFsfXsvaWZ9e2xpdGVyYWx9DQoJDQoJey9saXRlcmFsfXtpZiBpc3NldCgkanF1ZXJ5X2xpYnMuY2x1ZXRpcCl9e2xpdGVyYWx9DQogICAgICAgIGpRdWVyeSgiYS50b29sdGlwIikuY2x1ZXRpcCh7bG9jYWw6dHJ1ZSwgY3Vyc29yOiAncG9pbnRlcid9KTsNCgl7L2xpdGVyYWx9ey9pZn17bGl0ZXJhbH0NCgkNCn0pOyAgLy9lbmQNCjwvc2NyaXB0Pg0Key9saXRlcmFsfQ0K]]></data>
	</file>
</module>
