<?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>HostedVideoAlbums</name>
	<version>1.1.1</version>
  <mincmsversion>1.6.7</mincmsversion>
	<help><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDM+UXVlIGZhaXQgY2UgbW9kdWxlPzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGRlIGcmZWFjdXRlO3JlciAgZGVzIGNhdGFsb2d1ZXMgZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvIHF1aSBzb250IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2VzIHN1ciBkZXMgc2l0ZXMgdGVscyBxdWUgWW91dHViZSwgRGFpbHltb3Rpb24sIEdvb2dsZSBWaWRlb3MsIFlhaG9vICAgVmlkZW9zIG91IFZlb2guIDwvcD4NCgk8cD5JbCBnJmVncmF2ZTtyZSAzIG5pdmVhdXg6IGxhIGNhdCZlYWN1dGU7Z29yaWUsIGwnYWxidW0gdmlkZW8gZXQgbGEgdmlkJmVhY3V0ZTtvIGVsbGUtbSZlY2lyYzttZSBldCBwZXJtZXQgZCdpbnQmZWFjdXRlO2dyZXIgbGVzIHZpZCZlYWN1dGU7b3MgdW5lIHBhciB1bmUgb3UgZGFucyBkZXMgbGlzdGVzIHN1ciB1bmUgcGFnZS4gPC9wPg0KCTxwPjxzdHJvbmc+Tk9VVkVBVSEgTk9VVkVBVSEgTk9VVkVBVSE8L3N0cm9uZz4gRGVwdWlzIGxhIHZlcnNpb24gMS4xLCBpbCBlc3QgbWFpbnRlbmFudCAmZWFjdXRlO2dhbGVtZW50IHBvc3NpYmxlIGRlIGcmZWFjdXRlO3JlciBkZXMgdmlkJmVhY3V0ZTtvcyBsb2NhbGVtZW50IChmb3JtYXRzIG1rdiwgZGl2eCwgYXZpLCBtcDQpIGVuIHV0aWxpc2FudCBsZSBwbHVnaW4gZGl2eCB3ZWIgcGxheWVyITwvcD4NCjxoMz5Db21tZW50IGwndXRpbGlzZXI/PC9oMz4NCgk8aDQ+UGVybWlzc2lvbnM8L2g0Pg0KCTxwPkF2YW50IGRlIGQmZWFjdXRlO2J1dGVyLCBhc3N1cmV6LXZvdXMgcXVlIGxlcyB1dGlsaXNhdGV1cnMgb250IGxlcyBwZXJtaXNzaW9ucyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQlTaSB2b3VzIG4ndXRpbGlzZXogcGFzIGwnb3B0aW9uIGRlIHBlcnNvbm5hbGlzYXRpb24gZGVzIHJlc3RyaWN0aW9ucyBkJ2FjYyZlZ3JhdmU7cyAodm9pciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyksIA0KCQkJbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTm9ybWFsIHVzZXImcXVvdDsgIHNlcmEgc3VmZmlzYW50ZSBwb3VyIGxlIG1vZHVsZS4gDQoJCQlEYW5zIGwnb25nbGV0IGRlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLCB2b3VzIHBvdXZleiBjaG9pc2lyIHF1ZWxzIG9uZ2xldHMNCgkJCXNlcm9udCBtb250ciZlYWN1dGU7cyBhdXggdXRpbGlzYXRldXJzIG5vcm1hdXguIFNldWwgbCdhZG1pbmlzdHJhdGV1ciBldCBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGxhIHBlcm1pc3Npb24gJnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXM6IEFkdmFuY2VkJnF1b3Q7IA0KCQkJYXVyb250IGFjYyZlYWN1dGU7cyAmYWdyYXZlOyBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcy48YnIvPg0KCQlTaSB2b3VzIGQmZWFjdXRlO3NpcmV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBwZXJtaXNzaW9ucyBzcCZlYWN1dGU7Y2lmaXF1ZXMgcGFyIG5pdmVhdSwgYWN0aXZleiBsJ29wdGlvbiBkZSByZXN0cmljdGlvbiBkJ2FjYyZlYWN1dGU7c24gDQoJCQlkYW5zICBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBldCBkb25uZXogbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIG5hbWVfb2ZfbGV2ZWwmcXVvdDsgYXV4IHV0aWxpc2F0ZXVycyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQk8YnI+DQoJPGg0PkFqb3V0IGRlIGNhdCZlYWN1dGU7Z29yaWVzLCBkJmFwb3M7YWxidW1zIHZpZCZlYWN1dGU7b3MgZXQgZGUgdmlkJmVhY3V0ZTtvczwvaDQ+DQoJPHA+UG91ciB1dGlsaXNlciBjZSBtb2R1bGUsIHZvdXMgYWxsZXogZGV2b2lyIGNyJmVhY3V0ZTtlciBsZXMgMyBuaXZlYXV4IChjJ2VzdCAmYWdyYXZlOyBkaXJlIGNhdCZlYWN1dGU7Z29yaWUsIGFsYnVtIGV0IHZpZCZlYWN1dGU7bykuIEQnYWJvcmQsIHZvdXMgYWxsZXIgY3ImZWFjdXRlO2VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcyBkYW5zIGwnaW9uZ2xldCAmcXVvdDtDYXQmZWFjdXRlO2dvcmllcyZxdW90OywgcHVpcyBjciZlYWN1dGU7ZXIgbGVzIGFsYnVtcyBkYW5zIGwnb25nbGV0ICZxdW90O0FsYnVtcyBWaWQmZWFjdXRlO29zJnF1b3Q7IGV0IGVuZmluLCBjciZlYWN1dGU7ZXIgbGVzIHZpZCZlYWN1dGU7b3MgZWxsZXMtbSZlY2lyYzttZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtWaWQmZWFjdXRlO29zJnF1b3Q7LjwvcD4NCgk8cD5Qb3VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcywgaWwgc3VmZml0IGRlIGZvdXJuaXIgbGUgbm9tIGQnYWZmaWNoYWdlLCBldCBvcHRpb25lbGxlbWVudCBzb24gYWxpYXMgKHV0aWxpcyZlYWN1dGU7IGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDthbGlhcyZxdW90OyBwbHVzIGxvaW4pIGV0IHNhIGRlc2NyaXB0aW9uLjxiciAvPg0KCVBvdXIgbGVzIGFsYnVtcywgdm91cyBkb25uZXJleiAmZWFjdXRlO2dhbGVtZW50IHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbGEgY2F0JmVhY3V0ZTtnb3JpZSAmYWdyYXZlOyBsYXF1ZWxsZSBsJ2FsYnVtIHNlIHJhdHRhY2hlLCB1bmUgZGVzY3JpcHRpb24gKG9wdGlvbmVsbGUpLCB1bmUgbGFuZ3VlIChzb3VzIGxhIGZvcm1lIGZyIG91IGVuLVVTKSwgZXQgbGVzIGxhcmdldXIgZXQgaGF1dGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW1zICh1dGlsaXMmZWFjdXRlO2VzIGxvcnNxdWUgbGEgbGFyZ2V1ciBvdSBsYSBoYXV0ZXVyIGQndW5lIHZpZCZlYWN1dGU7byBuZSBzb250IHBhcyBmb3VybmllcykuPC9wPg0KCTxwPlBvdXIgbGVzIHZpZCZlYWN1dGU7b3Msdm91cyBkZXZleiBkb25uZXIgdW4gbm9tLCB1bmFsaWFzIChvcHRpb25lbCksIGwnYWxidW0gYXVxdWVsIGxhIHZpZCZlYWN1dGU7byBlc3QgYXR0YWNoJmVhY3V0ZTssIHVuZSBkZXNjcmlwdGlvbiAob3B0aW9uZWxsZSksIGxlIHNpdGUgc3VyIGxhPWVxdWVsIGxhIHZpZCZlYWN1dGU7byBlc3QgaCZlYWN1dGU7YmVyZyZlYWN1dGU7ZSwgbCdpZGVudGlmaWFudCBkZSBsYSB2aWQmZWFjdXRlO28gKHZvaXIgcGx1cyBsb2luKSBldCBvcHRpb25lbGxlbWVudCwgbGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlIGxhIHZpZCZlYWN1dGU7byAoc2lub24sIGMnZXN0IGxhIHZhbGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZSBsJ2FsYnVtIHF1aSBlc3QgdXRpbGlzJmVhY3V0ZTtlKTwvcD4NCgk8aDQ+TyZ1Z3JhdmU7IHB1aXMgamUgdHJvdXZlciBsZXMgaWRlbnRpZmlhbnRzLCBsZXMgbGFyZ2V1cnMgZXQgaGF1dGV1cnMgZGVzIHZpZCZlYWN1dGU7b3M/PC9oND4NCgk8cD5Qb3VyIDxzdHJvbmc+WW91dHViZTwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7dj0mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03U1p0R3ZYa0VJdyZxdW90OywgYydlc3QgJnF1b3Q7N1NadEd2WGtFSXcmcXVvdDsuPGJyIC8+DQoJUG91ciA8c3Ryb25nPkRhaWx5bW90aW9uPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7b2VzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsIGFwciZlZ3JhdmU7cyBsZSBkZXJuaWVyICZxdW90Oy8mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cuZGFpbHltb3Rpb24uY29tL3ZpZGVvL3hjcWEwZ19jb3JuZXJzaG9wLXdoby1maW5nZXJlZC1yb2NrLW4tcm9sbF9tdXNpYyZxdW90OywgYydlc3QgJnF1b3Q7eGNxYTBnX2Nvcm5lcnNob3Atd2hvLWZpbmdlcmVkLXJvY2stbi1yb2xsX211c2ljJnF1b3Q7LjxiciAvPg0KCSAgUG91ciA8c3Ryb25nPllhaG9vIHZpZGVvczwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgbGUgZGVybmllciAmcXVvdDsvJnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8ueWFob28uY29tL3dhdGNoLzcwOTU2ODcvMTg0NjU4NzgmcXVvdDssIGMnZXN0ICZxdW90OzE4NDY1ODc4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+R29vZ2xlIHZpZGVvczwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7ZG9jaWQ9JnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8uZ29vZ2xlLmNvbS92aWRlb3BsYXk/ZG9jaWQ9NzUyMTQyMzM4ODYzNzU0MjY1NyMmcXVvdDssIGMnZXN0ICZxdW90Ozc1MjE0MjMzODg2Mzc1NDI2NTcjJnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+VmVvaDwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO28gZXN0IGxhIGRlcm5pJmVncmF2ZTtyZSBwYXJ0aWUgZGUgbCd1cmwgYXByJmVncmF2ZTtzIGxlIGRlcm5pZXIgJnF1b3Q7LyZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy52ZW9oLmNvbS9icm93c2UvdmlkZW9zL2NhdGVnb3J5L211c2ljL3dhdGNoL3Y1NTU2NThzZXRrUDNEOCZxdW90OywgYydlc3QgJnF1b3Q7djU1NTY1OHNldGtQM0Q4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+aW5zJmVhY3V0ZTtyZXIgdW5lIHZpZCZlYWN1dGU7byBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtlIHN1ciB2b3RyZSBzaXRlPC9zdHJvbmc+LCBsJ2lkIGRlIGxhIHZpZCZlYWN1dGU7byBlc3QgbGUgbm9tIGNvbXBsZXQgZHUgZmljaGllciBkZXB1aXMgbGEgcmFjaW5lIGR1IHNpdGUgY21zbXMgKHBhciBleGVtcGxlLCBzaSBsZSBmaWxtIGVzdCBkYW5zIGxlIGRvc3NpZXIgIk1lc0ZpbG1zIiAmYWdyYXZlOyBsYSByYWNpbmUgZHUgc2l0ZSBjbXNtcyBldCBzJ2FwcGVsbGUgIk1vbkZpbG0uYXZpIiwgbCdpZCBzZXJhICIvTWVzRmlsbXMvTW9uRmlsbS5hdmkiLg0KICA8L3A+DQoJPHA+TGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlcyB2aWQmZWFjdXRlO29zIHBldXZlbnQgZyZlYWN1dGU7biZlYWN1dGU7cmFsZW1lbnQgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7cyBkYW5zIGxlIGNvZGUgZCdpbnQmZWFjdXRlO2dyYXRpb24gKCZxdW90O2VtYmVkJnF1b3Q7KSAgZGVzICAgc2l0ZXMgdmlkJmVhY3V0ZTtvLiBQb3VyIGNoYWN1biBkZSBjZXMgc2l0ZXMsICAgc29pdCBkaXJlY3RlbWVudCBkYW5zIGxhIHBhZ2Ugb3UgZW4gY2xpcXVhbnQgc3VyIHVuIGxpZW4gZGFucyBsYSBwYWdlICAgKFlvdXR1YmUgJmFtcDsgR29vZ2xlIFZpZGVvcyApIG91IGVuIGNsaXF1YW50IHN1ciBsZSBib3V0b24gRXhwb3J0ZXIgICBkYW5zIGxhIHZpZCZlYWN1dGU7byAoRGFpbHltb3Rpb24pLCB1biBib3V0IGRlIGNvZGUgSFRNTCBjb250ZW5hbnQgdW5lIGxhcmdldXIgZXQgdW5lIGhhdXRldXIgdm91cyBzZXJhIGZvdXJuaS48L3A+DQoJPGg0PkFwcGVsIGR1IG1vZHVsZSBkYW5zIHVuZSBwYWdlPC9oND4NCgk8cD5Qb3VyIGFwcGVsZXIgbGUgbW9kdWxlLCBpbCBzdWZmaXQgZCd1dGlsaXNlciBsYSBiYWxpc2Ugc3VpdmFudGU6IHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90OyZsdDtsZXZlbCZndDsmcXVvdDt9PC9wPg0KCTxwPlNpIHZvdXMgb21ldHRleiBjZSBwYXJhbSZlZ3JhdmU7dHJlLCA8c3Ryb25nPnRvdXRlPC9zdHJvbmc+IGxhIGxpc3RlIGRlcyB2aWQmZWFjdXRlO29zIHNlcmEgYWZmaWNoJmVhY3V0ZTtlLiBDZWxhICZlYWN1dGU7cXVpdmF1dCAmYWdyYXZlOzo8YnIgLz4NCgkgIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8cD4ge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7Y2F0ZWdvcnkmcXVvdDt9IGFmZmljaGVyYSBsYSBsaXN0ZSBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMuPC9wPg0KCTxwPntjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSBhZmZpY2hlcmEgbGEgbGlzdGUgZGVzIGFsYnVtcywgcXVlbHF1ZSBzb2l0IGxldXIgY2F0JmVhY3V0ZTtnb3JpZS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogYXVzc2kgZGVtYW5kZXIgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcXVpIGFwcGFydGllbm5lbnQgJmFncmF2ZTsgdW4gcGFyZW50IHNwJmVhY3V0ZTtjaWZpcXVlOjxiciAvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBwYXJlbnQ9JnF1b3Q7YWxpYXNfZHVfcGFyZW50JnF1b3Q7fTxiciAvPg0KCUwnYWxpYXMgcGV1dCAmZWNpcmM7dHJlIHVuZSBjYXQmZWFjdXRlO2dvcmllIG91IGwnYWxpYXMgZCd1biBhbGJ1bS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogZmluYWxlbWVudCBkZW1hbmRlciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc3AmZWFjdXRlO2NpZmlxdWUgYXZlYzo8YnIgLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWxpYXM9JnF1b3Q7YWxpYXNfZGVfbF9lbGVtZW50JnF1b3Q7fTwvcD4NCgk8aDQ+UXVlIGZhaXJlIHNpIGplIG4nYWkgcGFzIGJlc29pbiBjYXQmZWFjdXRlO2dvcmllcyBvdSBkZXMgbml2ZWF1eCAgIGFsYnVtcz88L2g0Pg0KCTxwPlZvdXMgICBkZXZleiBjciZlYWN1dGU7ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgdG91dGUgZmEmY2NlZGlsO29uLiBOb21tZXogbGEgcGFyIGV4ZW1wbGUgJmxhcXVvO3BhciBkJmVhY3V0ZTtmYXV0JnJhcXVvOyBwdWlzIGNyJmVhY3V0ZTtleiB0b3VzICAgdm9zIGFsYnVtcyBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgZXQgdXRpbGlzZXo8YnIgLz4NCiAgICAoY21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDt3aGF0PSZxdW90O2FsYnVtJnF1b3Q7KSAgIHBvdXIgYWZmaWNoZXIgdG91cyBsZXMgYWxidW1zLjxiciAvPg0KICAgIERlIG0mZWNpcmM7bWUsIHNpIHZvdXMgbidhdmV6IHBhcyBiZXNvaW4gZGVzIGFsYnVtcyB2aWQmZWFjdXRlO28sIGNyJmVhY3V0ZTtleiB1biAgIGFsYnVtIHBhciBkJmVhY3V0ZTtmYXV0IGRhbnMgbGEgY2F0JmVhY3V0ZTtnb3JpZSBwYXIgZCZlYWN1dGU7ZmF1dCBldCBjciZlYWN1dGU7ZXogdG91dGVzIHZvcyAgIHZpZCZlYWN1dGU7b3MgZGFucyBjZXQgYWxidW0uIEVuc3VpdGUsIGlucyZlYWN1dGU7cmV6IGxlcyAgIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbCdhaWRlPGJyIC8+DQogICAgZGUge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9ICZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8aDM+UyZlYWN1dGU7cGFyYXRpb24gZW4gcGFnZXM8L2gzPg0KPHA+Vm91cyBwb3V2ZXogbGltaXRlciBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRldmFudCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7cyBzdXIgdW5lIG0mZWNpcmM7bWUgcGFnZTo8YnIvPg0KeyZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IG5icGVycGFnZT0mcXVvdDs1JnF1b3Q7fTxici8+DQoJCURhbnMgbGUgZ2FiYXJpdCwgdm91cyBwb3V2ZXogY29uc3RydWlyZSBsZSBtZW51IGRlcyBwYWdlcyAmYWdyYXZlOyBsJ2FpZGUgZGVzIGJhbGlzZXMgc3VpdmFudGVzICh2b2lyIGxlcyBnYWJhcml0cyBMaXN0TGlua3Mgb3UgTGlzdFZpZGVvcyk6PGJyLz4NCgkJeyRwYWdlX3Nob3dpbmd9LCB7JHBhZ2VfdG90YWxpdGVtc30sIHskcGFnZV9wYWdlbnVtYmVyc30sIHskcGFnZV9uZXh0fSwgeyRwYWdlX3ByZXZpb3VzfTwvcD4NCgk8cD5EZXMgY2xhc3NlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlcyBhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkdSBtZW51IGRlIHBhZ2UgcG91ciBxdWUgdm91cyBwdWlzc2V6IGxlIHBlcnNvbm5hbGlzZXIuPC9wPg0KCTxici8+DQoJPGgzPlVzYWdlIGRlcyByZXF1JmVjaXJjO3RlczwvaDM+DQo8cD5Qb3VyIG9idGVuaXIgdW5lIGxpc3RlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyByZW5jb250cmFudCBkZXMgY3JpdCZlZ3JhdmU7cmVzIHNwJmVhY3V0ZTtjaWZpcXVlcywgdm91cyBwb3V2ZXogY3ImZWFjdXRlO2VyIGRlcyByZXF1JmVjaXJjO3RlcyAmYWdyYXZlOyANCgkJCWwnYWlkZSBkZSBsJ29uZ2xldCBSZXF1JmVjaXJjO3RlcyBkZSBsJ2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZS4gVm91cyBwb3VycmV6IGVuc3VpdGUgYXBwZWxlciBjZXR0ZSByZXF1JmVjaXJjO3RlIGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtxdWVyeSZxdW90Ozo8YnIvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHF1ZXJ5PSZxdW90OzEmcXVvdDt9PC9wPg0KCTxwPjxpPlNpIGwnb3B0aW9uIHBlcm1ldHRhbnQgbGVzIHJlcXUmZWNpcmM7dGVzIHNxbCBtYW51ZWxsZXMgZXN0IGFjdGl2JmVhY3V0ZTtlPC9pPiAodm9pciBsJ29uZ2xldCAmcXVvdDtQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJnF1b3Q7KSwgdm91cyBwb3V2ZXogYXVzc2kgZm91cm5pciANCgkJCWxhIHJlcXUmZWNpcmM7dGUgc3FsIG1hbnVlbGxlbWVudCBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7cXVlcnkmcXVvdDsuIFBhciBleGVtcGxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7IHF1ZXJ5PSZxdW90O0EuZGF0ZV9tb2RpZmllZCA+ICcyMDA5LTAzLTE1JyBBTkQgQS5hY3RpdmUgPSAxJnF1b3Q7fTxici8+DQoJCUxhIHJlcXUmZWNpcmM7dGUgbmUgcGV1dCBjb250ZW5pciBxdWUgbGEgY2xhdXNlIFdIRVJFIGV0IG5lIGRldnJhaXQgcGFzIGNvbnRlbmlyIGxhIGNvbW1hbmRlIFdIRVJFIGVsbGUtbSZlY2lyYzttZS4gUG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBwcm9ibCZlZ3JhdmU7bWVzLCANCgkJCWxlIHByJmVhY3V0ZTtmaXhlICZxdW90O0EuJnF1b3Q7IGRldnJhaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBkZXZhbnQgbGVzIG5vbXMgZGUgY2hhbXBzICgmcXVvdDtCLiZxdW90OyBwZXJtZXQgZCdhY2MmZWFjdXRlO2RlciBhdXggY2hhbXBzIGR1IHBhcmVudCwgbG9yc3F1ZSANCjxici8+DQoJCUdhcmRleiBlbiB0JmVjaXJjO3RlIHF1J2FjdGl2ZXIgY2V0dGUgZm9uY3Rpb24gaW1wbGlxdWUgZGUgZG9ubmVyIHVuIGFjYyZlZ3JhdmU7cyBzcWwgYXV4IHV0aWxpc2F0ZXVycyBwb3V2YW50IGFjYyZlYWN1dGU7ZGVyIGF1eCBnYWJhcml0cyBldCBzb3lleiBwcnVkZW50cyE8L3A+DQoJPGgzPkdhYmFyaXRzPC9oMz4NCgk8cD5Wb3VzIHBvdXZleiBjaG9pc2lyIHBvdXIgICBjaGFxdWUgbml2ZWF1LCBsZSBnYWJhcml0ICAgcXVpIHBlcm1ldCBkJ2FmZmljaGVyIGNlIG5pdmVhdS48L3A+DQoJPHA+UGFyIGQmZWFjdXRlO2ZhdXQsIHBvdXIgbGUgICBuaXZlYXUgIGNhdCZlYWN1dGU7Z29yaWUsIHVuIHNldWwgZ2FiYXJpdCBlc3QgZm91cm5pOiBMaXN0TGlua3MuIENlIGdhYmFyaXQgYWZmaWNoZSBkYW5zICAgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSBjYXQmZWFjdXRlO2dvcmllLCBsZSBub20gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSBldCBzYSAgIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXMgbGVzIGFsYnVtcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllLjxiciAvPg0KCUF1IG5pdmVhdSBkZSBsJ2FsYnVtLCAgIHZvdXMgdXRpbGlzZXogJmVhY3V0ZTtnYWxlbWVudCBMaXN0TGlua3MgcXVpIGFmZmljaGVyYSBkYW5zIHVuZSBsaXN0ZSAmYWdyYXZlOyBwdWNlcywgcG91ciBjaGFxdWUgYWxidW0gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSwgbGUgbm9tIGRlIGwnYWxidW0gZXQgc2EgICBkZXNjcmlwdGlvbi4gTGUgbm9tIGVzdCB1biBsaWVuICAgaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXRlcyBsZXMgdmlkJmVhY3V0ZTtvcyBkZSBsJ2FsYnVtLiA8YnIgLz4NCiAgICBBdSBuaXZlYXUgdmlkJmVhY3V0ZTtvLCB2b3VzICAgcG91dmV6IGNob2lzaXIgZW50cmUgTGlzdExpbmtzIGV0IExpc3RWaWRlb3M6PC9wPg0KCTx1bD4NCgkgIDxsaT5MaXN0TGlua3MgYWZmaWNoZXJhLCAgIGNvbW1lIGQnaGFiaXR1ZGUsIGRhbnMgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSB2aWQmZWFjdXRlO28gZGUgbCdhbGJ1bSwgICBsZSBub20gZGUgbGEgdmlkJmVhY3V0ZTtvIGV0IHNhIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gICBoeXBlcnRleHRlIHZlcnMgbGEgcGFnZSBhZmZpY2hhbnQgbGEgdmlkJmVhY3V0ZTtvIHF1aSBlc3QgYWZmaWNoJmVhY3V0ZTtlIGVuIHV0aWxpc2FudCAgIGxlICZsYXF1bztnYWJhcml0IGRlIGQmZWFjdXRlO3RhaWwmcmFxdW87IHF1aSBlc3QgcGFyIGQmZWFjdXRlO2ZhdXQgRGlzcGxheVZpZGVvLjwvbGk+DQogICAgICA8bGk+TGlzdFZpZGVvcyBhZmZpY2hlcmEgZGlyZWN0bWVudCAgZGFucyBsYSBwYWdlIGRlIGwnYWxidW0sIHBvdXIgY2hhcXVlIHZpZCZlYWN1dGU7byBkZSBsJ2FsYnVtLCAgIGxlIG5vbSBkZSBsYSB2aWQmZWFjdXRlO28sIHNhIGRlc2NyaXB0aW9uIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUuIDwvbGk+DQo8L3VsPg0KPGgzPkFqb3V0IGQndW4gbm91dmVhdSBzaXRlICAgZCdoJmVhY3V0ZTtiZXJnZW1lbnQgPC9oMz4NCjxwPklsIGVzdCB0ciZlZ3JhdmU7cyBzaW1wbGUgICBkJ2Fqb3V0ZXIgdW4gbm91dmVhdSBzaXRlIGQnaCZlYWN1dGU7YmVyZ2VtZW50ITwvcD4NCjxwPjxzcGFuPlRvdXQgZCdhYm9yZCwgdm91cyBkZXZleiAgIGpldGVyIHVuIG9laWwgc3VyIGxlIGNvZGUgJmxhcXVvO2QnaW5jcnVzdGF0aW9uJnJhcXVvOyBkZSBjZSBzaXRlIGV0IGVzc2F5ZXIgZGUgcmVwJmVhY3V0ZTtyZXIgIGxhIGZvcm1lIGRlIGwnSUQgZGUgdmlkJmVhY3V0ZTtvIGV0IG8mdWdyYXZlOyBpbCBkb2l0ICZlY2lyYzt0cmUgaW5zJmVhY3V0ZTtyJmVhY3V0ZTsgZGFucyBsZSAgIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7bW92aWUmcXVvdDsgKHVybCBkdSBjb2RlIGQnZW1iZWRkaW5nKS4gPHNwYW4gdGl0bGU9IlRoZW4ganVzdCBhZGQgdGhlICAgbmV3IHNpdGUgbmFtZSBpbiB0aGUgJ1NpdGVzJyB0YWIgdGhlbiBlZGl0IHRoZSBFbWJlZFZpZGVvICAgdGVtcGxhdGUgYW5kIGFkZCBqdXN0IGJlZm9yZSB0aGUgey9pZn0gbGluZSBhIHNldCBvZiBsaW5lcyBpbiB0aGUgZm9ybToiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRDb2xvcj0nI2ViZWZmOSciIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZENvbG9yPScjZmZmJyI+RW5zdWl0ZSwgaWwgc3VmZml0ICAgZCdham91dGVyIGxlIG5vbSBkdSBub3V2ZWF1IHNpdGUgZGFucyBsJ29uZ2xldCAmcXVvdDtzaXRlcyZxdW90OywgcHVpcyBkZSBtb2RpZmllciAgIGxlIGdhYmFyaXQgRW1iZWRWaWRlbyBwb3VyIHkgYWpvdXRlciBqdXN0ZSBhdmFudCBsYSBsaWduZSBkdSB7L2lmfSwgcXVlbHF1ZXMgbGlnbmVzIGRlIGxhIGZvcm1lOiA8YnIgLz48L3NwYW4+PC9zcGFuPjwvcD4NCjxwcmUgY2xhc3M9InN0eWxlMSI+e2Vsc2VpZiAkaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU9PSZxdW90OyZsdDtsZSBub20gZHUgbm91dmVhdSBzaXRlJmd0OyZxdW90O30NCiAge2Fzc2lnbiB2YXI9JnF1b3Q7bW92aWUmcXVvdDsgDQogIHZhbHVlPSZxdW90OyZsdDtkJmVhY3V0ZTtidXQgZGUgbCZhcG9zO3VybCZndDtgJGl0ZW0tJmd0O3ZpZGVvaWRgJmx0O2ZpbiBkZSBsJmFwb3M7dXJsJmd0OyZxdW90O308L3ByZT4NCjxwPkluc3BpcmV6IHZvdXMgZGVzIGF1dHJlcyBjYXMuLi48L3A+DQo8aDM+QWN0aW9uczwvaDM+DQo8cD5DZSBzb250IGRlcyBhY3Rpb25zICAgc3AmZWFjdXRlO2NpYWxlcywgcXVlIHZvdXMgcG91dmV6IHV0aWxpc2VyIGRhbnMgbGEgZCZlYWN1dGU7Y2xhcmF0aW9uIGRlIG1vZHVsZSBwb3VyIGNyJmVhY3V0ZTtlciAgIGRlcyBzaXRlbWFwLCBkZXMgYnJlYWRjcnVtYnMgZXQgYWluc2kgZGUgc3VpdGUgLi4uPC9wPg0KPGg0PkwnYWN0aW9uIGVtYmVkdmlkZW88L2g0Pg0KPHA+UG91ciBpbWJyaXF1ZXIgdW5lIHZpZCZlYWN1dGU7byAmYWdyYXZlOyBsJ2ludCZlYWN1dGU7cmlldXIgZCd1biBnYWJhcml0IEhWQSwgdm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gPGI+JnF1b3Q7ZW1iZWR2aWRlbyZxdW90OzwvYj46PGJyLz4NCgkJe2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IGFjdGlvbj0mcXVvdDtlbWJlZHZpZGVvJnF1b3Q7IGl0ZW09JGl0ZW19PGJyLz4NCkxlIHBhcmFtJmVncmF2ZTt0cmUgICZxdW90O2l0ZW09JGl0ZW0mcXVvdDsgZXN0IG9ibGlnYXRvaXJlLg0KPGg0PkwnYWN0aW9uICZxdW90O2xpbmsmcXVvdDs8L2g0Pg0KPHA+PHNwYW4+PHNwYW4gdGl0bGU9IllvdSBtYXkgdXNlIHRoZSAgIGFjdGlvbiAnbGluaycgdG8gY3JlYXRlIGEgbGluayB0byB0aGUgZGVmYXVsdCBhY3Rpb24sIHVzaW5nICAgdGhlIHNhbWUgcGFyYW1ldGVyczoiPlZvdXMgcG91dmV6IHV0aWxpc2VyIGwnYWN0aW9uICZxdW90O2xpbmsmcXVvdDsgcG91ciBjciZlYWN1dGU7ZXIgdW4gICBsaWVuIHZlcnMgbCdhY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGF2ZWMgbGVzIG0mZWNpcmM7bWVzIHBhcmFtJmVncmF2ZTt0cmVzOjxiciAvPg0KICA8L3NwYW4+PHNwYW4gdGl0bGU9IntjbXNfbW9kdWxlICAgbW9kdWxlPSdIb3N0ZWRWaWRlb0FsYnVtcycgYWN0aW9uPSdsaW5rJyAgIHdoYXQ9J3ZpZGVvJyByYW5kb209JzEnfSI+e2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IGFjdGlvbj0mcXVvdDtsaW5rJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDsgcmFuZG9tPSZxdW90OzEmcXVvdDt9PGJyIC8+DQogIDwvc3Bhbj5jciZlYWN1dGU7ZXJhaXQgdW4gbGllbiB2ZXJzIHVuICAgJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGFsJmVhY3V0ZTthdG9pcmUgZGUgY2Ugbml2ZWF1Ljwvc3Bhbj48YnIvPg0KPGg0PkwnYWN0aW9uIHNpdGVtYXANCjwvaDQ+DQo8cD5Wb3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiA8Yj4mcXVvdDtzaXRlbWFwJnF1b3Q7PC9iPiBwb3VyIGNyJmVhY3V0ZTtlciB1biBzaXRlbWFwIGR1IG1vZHVsZTo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O3NpdGVtYXAmcXVvdDt9PGJyLz4NCgkJVm91cyBwb3V2ZXogcyZlYWN1dGU7bGVjdGlvbm5lciBsZXMgbml2ZWF1eCAmYWdyYXZlOyBsJ2FpZGUgZHUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDt3aGF0JnF1b3Q7LCBldCBwb3V2ZXogY2hvaXNpciBwbHVzIGQndW4gbml2ZWF1IGF2ZWMgbGEgZm9ybWUgDQoJCQl3aGF0PSZxdW90O2xldmVsMXxsZXZlbDImcXVvdDsuPGJyLz4NCkxlcyBhdXRyZXMgcGFyYW0mZWdyYXZlO3RyZXMgZGlzcG9uaWJsZXMgc29udCAmcXVvdDtkZXRhaWxwYWdlJnF1b3Q7IGV0ICZxdW90O2lubGluZSZxdW90Oy48YnIvPjwvcD4NCg0KCTxoNT5Db21tZW50IGFqb3V0ZXIgbWVzIGFsYnVtcyB2aWQmZWFjdXRlO29zICZhZ3JhdmU7IG1vbiBnb29nbGUgc2l0ZW1hcD88L2g1Pg0KCTxwPkNlbGEgdmEgdm91cyBhaWRlciAmYWdyYXZlOyBpbmNsdXJlIHZvcyBhbGJ1bXMgdmlkJmVhY3V0ZTtvcyAmYWdyYXZlOyB1biBnb29nbGUgc2l0ZW1hcCwgPHU+dW5pcXVlbWVudCBzaSBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBzb250IGFmZmljaCZlYWN1dGU7cyBzdXIgbGEgbSZlY2lyYzttZSBwYWdlPC91Pi48YnIvPg0KCTxwPjxzdHJvbmc+KioqIFNpIHZvdXMgdXRpbGlzZXogbGUgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ3NnZW5lcmF0b3IiPmcmZWFjdXRlO24mZWFjdXRlO3JhdGV1ciBnb29nbGUgc2l0ZW1hcDwvYT4gKioqPGJyLz4NCgkgIDwvc3Ryb25nPk91dnJleiB2b3RyZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXRldXIgZGUgc2l0ZW1hcCAoZ3NpdGVtYXAucGhwKSwgZXQganVzdGUgYXZhbnQgbGEgZmVybWV0dXJlIGRlIGwndXJsc2V0ICg8Y29kZT5lY2hvICcgIDw8Lz4vdXJsc2V0PicuICZxdW90O1xcbiZxdW90Ozs8L2NvZGU+KSwgYWpvdXRleiBsZSBjb2RlIHN1aXZhbnQ6PC9wPg0KPHByZSBjbGFzcz0iY29kZSI+DQoJJG1vZHVsZW5hbWUgPSAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OzsNCglpZiggIGlzc2V0KCRnQ21zLT5tb2R1bGVzWyRtb2R1bGVuYW1lXSkgJiYgJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyZxdW90O2FjdGl2ZSZxdW90O10gJiYgJHRoZW1vZHVsZSA9ICRnQ21zLT5tb2R1bGVzWyRtb2R1bGVuYW1lXVsmcXVvdDtvYmplY3QmcXVvdDtdKXsNCgkJLy8gSUNJIFZPVVMgREVWRVogTUVUVFJFIEwnSUQgT1UgTCdBTElBUyBERSBMQSBQQUdFIFVUSUxTRUUgUE9VUiBBRkZJQ0hFUiBMRVMgRUxFTUVOVFM6DQoJCSRkZXRhaWxwYWdlID0gJnF1b3Q7TUFQQUdFJnF1b3Q7Ow0KCQkkcGFyYW1zID0gYXJyYXkoJnF1b3Q7bW9kZSZxdW90Oz0+JnF1b3Q7Z29vZ2xlJnF1b3Q7LCAmcXVvdDtkZXRhaWxwYWdlJnF1b3Q7PT4kZGV0YWlscGFnZSk7DQoJCSR0aGVtb2R1bGUtPkRvQWN0aW9uKCZxdW90O3NpdGVtYXAmcXVvdDssICZxdW90OyZxdW90OywgJHBhcmFtcyk7DQoJfQ0KCTwvcHJlPg0KCTxwPkJpZW4gc3VyLCBlbnRyZXogdW4gZGV0YWlscGFnZSBxdWUgY2Ugc29pdCB1biBpZCBvdSB1biBhbGlhcy48L3A+DQoJPHA+Tm90ZXogcXVlIHZvdXMgcG91dmV6IGF1c3NpIHV0aWxpc2VyIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7d2hhdCZxdW90OyBwb3VyIHNwJmVhY3V0ZTtjaWZpZXIgcXVlbChzKSBuaXZlYXUoeCkgdm91cyB2b3VsZXogdm9pciBhZmZpY2gmZWFjdXRlOyhzKSAodm91cyBwb3V2ZXogc3AmZWFjdXRlO2NpZmllciBwbHVzaWV1cnMgbml2ZWF1eCBhdmVjICZxdW90O25pdmVhdTF8bml2ZWF1MiZxdW90OyBldGMpLjwvcD4NCgk8cD48c3Ryb25nPioqKiBTaSB2b3VzIHV0aWxpc2V6IGxlIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NpdGVtYXBtcyI+U2l0ZU1hcCBNYWRlIFNpbXBsZTwvYT4gKioqIDwvc3Ryb25nPjwvcD4NCjxwPk1ldHRleiBzaW1wbGVtZW50IGxlIGNvZGUgY2kgZGVzc3VzIGRhbnMgdW4gVURUICh1c2VyLWRlZmluZWQtdGFnKSwgZXQgYXBwZWxleiBjZXQgVURUICZhZ3JhdmU7IGxhIGZpbiBkZSB2b3RyZSBnYWJhcml0IGRlIHNpdGVtYXAsIGp1c3RlIGF2YW50IDxjb2RlPjw8Lz4vdXJsc2V0PjwvY29kZT4uPC9wPg0KCQ0KCTxoND5MJ2FjdGlvbiBzZWFyY2g8L2g0Pg0KPHA+Vm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gJnF1b3Q7PHN0cm9uZz5zZWFyY2g8L3N0cm9uZz4mcXVvdDsgcG91ciBhZmZpY2hlciB1biBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZTo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O3NlYXJjaCZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTxici8+DQoJCVV0aWxpc2V6IGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7c2VhcmNobW9kZSZxdW90OyBwb3VyIGNob2lzaXIgbGEgcmVjaGVyY2hlIHNpbXBsZSBvdSBhdmFuYyZlYWN1dGU7ZSAocGFyIGQmZWFjdXRlO2ZhdXQpLiBOb3RleiBxdWUgdm91cyBuZSBwb3V2ZXogcGFzIA0KCQkJZmFpcmUgdW5lIHJlY2hlcmNoZSBlbiBtb2RlIGF2YW5jJmVhY3V0ZTsgZGFucyB0b3VzIGxlcyBuaXZlYXV4IGVuIG0mZWNpcmM7bWUgdGVtcHMuPGJyLz4NCgkJTGVzIHBhcmFtJmVncmF2ZTt0cmVzIHN1aXZhbnRzIHBldXZlbnQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlO3MgYXZlYyBsJ2FjdGlvbiAmcXVvdDtzZWFyY2gmcXVvdDs6IHdoYXQsIGxpbWl0LCBuYnBlcnBhZ2UsIG9yZGVyYnksIGRldGFpbHBhZ2UsIGxpc3R0ZW1wbGF0ZSw8L3A+DQpWb2lyIEhvc3RlZFZpZGVvQWxidW1zL3RlbXBsYXRlcy9zZWFyY2gudHBsIHBvdXIgbW9kaWZpZXIgbGUgZm9ybXVsYWlyZSBkZSByZWNoZXJjaGVzLjwvcD48YnIvPg0KDQoJPGJyLz48aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPg0KCQk8cD5DZSBtb2R1bGUgYSAmZWFjdXRlO3QmZWFjdXRlOyBkJ2Fib3JkIGNyJmVhY3V0ZTsmZWFjdXRlOyBhdmVjIENUTE1vZHVsZU1ha2VyIHB1aXMgbW9kaWZpJmVhY3V0ZTsgbWFudWVsbGVtZW50LiBJbCBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwuPC9wPjxici8+PGJyLz4NCjxoMz5QYXJhbSZlZ3JhdmU7dHJlczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtJmVncmF2ZTt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBzcCZlYWN1dGU7Y2lmaWVyIGRhbnMgcXVlbGxlIGxhbmd1ZSBhZmZpY2hlciBsZSBtb2R1bGUgZGFucyBsYSBwYXJ0aWUgcHVibGlxdWUuIENlIHBhcmFtJmVncmF2ZTt0cmUgbiYjMDM5O2VzdCBwYXMgc3VwcG9ydCZlYWN1dGU7IG91IHV0aWxlIHBvdXIgdG91cyBsZXMgbW9kdWxlcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iZGVmYXVsdCIgLSBTb2l0ICJsaW5rIiwgInNlYXJjaCIsICJicmVhZGNydW1icyIgb3UgImRlZmF1bHQiIChldCBwb3NzaWJsZW1lbnQgInNpdGVtYXAiIGV0ICJmcm9udGVuZF9lZGl0IikuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB3aGF0PSIiIC0gUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgbml2ZWF1LiBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCA6IDxpPmNhdGVnb3J5LCBhbGJ1bSwgdmlkZW88L2k+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhbGlhcz0iIiAtIEFsaWFzIGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHF1ZSB2b3VzIHZvdWxleiBhZmZpY2hlci48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dkZWZhdWx0PSIiIC0gTWV0dHJlICJ0cnVlIiBzaSB2b3VzIHZvdWxleiBhZmZpY2hlciBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBwYXIgZCZlYWN1dGU7ZmF1dC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhcmVudD0iIiAtIFNpIHZvdXMgdm91bGV6IGxpbWl0ZXIgbGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWZmaWNoJmVhY3V0ZTtzICZhZ3JhdmU7IGNldXggYXBwYXJ0ZW5hbnQgJmFncmF2ZTsgdW4gcGFyZW50IHBhcnRpY3VsaWVyLCBlbnRyZXogaWNpIGwnYWxpYXMgZHUgcGFyZW50LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGltaXQ9IjAiIC0gTGltaXRlIGxlIG5vbWJyZSBkJ2l0ZW0gcmV0b3VybiZlYWN1dGU7cyBwYXIgbGEgcmVxdSZlY2lyYzt0ZSAoMCA9IHBhcyBkZSBsaW1pdGUpPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBuYnBlcnBhZ2U9IjAiIC0gTGltaXRlIGxlIG5vbWJyZSBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWZmaWNoJmVhY3V0ZTtzIHBhciBwYWdlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb3JkZXJieT0iMCIgLSBWYWxldXJzIHBvc3NpYmxlcyA6ICJtb2RpZmllZCIsICJjcmVhdGVkIiBvdSBsZSBub20gZCd1biBjaGFtcC4gVG91dGUgYXV0cmUgdmFsZXVyIG9yZG9ubmVyYSBlbiBmb25jdGlvbiBkZSBsJ29yZHJlIG5vcm1hbCBkZXMgaXRlbXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWxwYWdlPSIiIC0gU3AmZWFjdXRlO2NpZmllIGwnYWxpYXMgZGUgbGEgcGFnZSB2ZXJzIGxhcXVlbGxlIHBvaW50ZXJvbnQgbGVzIGxpZW5zIChzaSByaWVuIG4nZXN0IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTssIGxhIHBhZ2UgYWN0dWVsbGUgZXN0IHV0aWxpcyZlYWN1dGU7ZSk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJhbmRvbT0iMCIgLSBFbnRyZXogdW4gbm9tYnJlIHBvdXIgYWZmaWNoZXIgY2Ugbm9tYnJlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBhbCZlYWN1dGU7YXRvaXJlcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxpc3R0ZW1wbGF0ZT0iIiAtIFBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBsJ2FmZmljaGFnZSBkZSBsaXN0ZSBkJmVhY3V0ZTt0YWlsbCZlYWN1dGU7IGR1IG5pdmVhdSBmaW5hbC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbmFsdGVtcGxhdGU9IiIgLSBQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgZCd1bmUgdmlkw6lvIGhvcnMgbGlzdGUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBlbWJlZHRlbXBsYXRlPSIiIC0gUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGltYnJpcXVlciB1bmUgdmlkZW8gKGVtYmVkZGluZykuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JjZWxpc3Q9IjAiIC0gTWV0dHJlICZhZ3JhdmU7IDEgc2kgdm91cyB2b3VsZXogYWZmaWNoZXIgZW4gZm9ybWF0IGxpc3QgbSZlY2lyYzttZSBsb3JzcXUnaWwgbid5IGEgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IChhZmZlY3RlIGxlIG5pdmVhdSBmaW5hbCBzZXVsZW1lbnQpLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5saW5lPSIwIiAtIE1ldCBsZXMgbGllbnMgImlubGluZSIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZWFyY2htb2RlPSJhZHZhbmNlZCIgLSBVdGlsaXNlciBhdmVjIGwnYWN0aW9uICJzZWFyY2giLiBNZXR0cmUgInNpbXBsZSIgcG91ciBjaGVyY2hlciBkYW5zIHRvdXMgbGVzIGNoYW1wcywgZXQgImFkdmFuY2VkIiBwb3VyIGNoZXJjaGVyIGRhbnMgZGVzIGNoYW1wcyBzcCZlYWN1dGU7Y2lmaXF1ZXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBxdWVyeT0iMCIgLSBVdGlsaXNlciBhdmVjIGwnYWN0aW9uICJkZWZhdWx0Ii4gSW5kaXF1ZSBsJ2lkIGRlIGxhIHJlcXUmZWNpcmM7dGUgJmFncmF2ZTsgZXgmZWFjdXRlO2N1dGVyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdG9hY3Rpb249IiIgLSBVdGlsaXNlciBhdmVjIGwnYWN0aW9uICJsaW5rIi4gSW5kaXF1ZSB2ZXJzIHF1ZWxsZSBhY3Rpb24gbGUgbGllbiBkZXZyYSBkaXJpZ2VyLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0ZXVyJm5ic3A7OiBPbGl2aWVyIExFVklMTEFJTiBvbiBhIGJhc2lzIGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zICZsdDtvbGl2aWVyLmxldmlsbGFpbkBmcmVlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb24gOiAxLjEuMTxiciAvPg==]]></about>
	<description><![CDATA[Gestion d'albums vid&eacute;os heberg&eacute;es ou locales]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQppZighaXNzZXQoJF9GSUxFUykgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWydwcmVmaXgnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJHBhcmFtc1sncHJlZml4J10uJ2lkJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0YWJsZW5hbWUnXSkpew0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCkpOw0KfQ0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCg0KJHJlc2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3NpemUnXSk/JHBhcmFtc1snc2l6ZSddOmZhbHNlOw0KJHRodW1ic2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pPyRwYXJhbXNbJ3RodW1iJ106ZmFsc2U7DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTsNCg0KJGN1cmRpciA9IChpc3NldCgkcGFyYW1zWydjdXJkaXInXSkgPyAkcGFyYW1zWydjdXJkaXInXS4nLycgOiAnJyk7DQokc3RhcnRkaXIgPSAoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkgPyAkcGFyYW1zWydzdGFydGRpciddLicvJyA6ICcnKTsNCiRkZXN0aW5hdGlvbiA9IHN0cl9yZXBsYWNlKCcvLycsJy8nLCRzdGFydGRpci4kY3VyZGlyKTsNCg0KJGFsbG93ZWRleHQgPSBmYWxzZTsNCmlmKGlzc2V0KCRwYXJhbXNbJ2V4dGVuc2lvbnMnXSkgJiYgJHBhcmFtc1snZXh0ZW5zaW9ucyddICYmICRwYXJhbXNbJ2V4dGVuc2lvbnMnXSAhPSAiIikJJGFsbG93ZWRleHQgPSBleHBsb2RlKCIsIiwkcGFyYW1zWydleHRlbnNpb25zJ10pOw0KDQokZXJyb3JzID0gIiI7DQokemlwZmllbGQgPSAkaWQuJ3VwbG9hZHppcGZpbGUnOw0KDQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXR6aXBmaWxlIl0pKXsNCgkNCgkkZGlyID0gJGdDbXMtPmNvbmZpZ1sidXBsb2Fkc19wYXRoIl0uc3RyX3JlcGxhY2UoIi8vIiwiLyIsIi8iLiRkZXN0aW5hdGlvbi4iLyIpOw0KCWlmKCRyZXNpemUgJiYgIWlzX2FycmF5KCRyZXNpemUpKQkkcmVzaXplID0gZXhwbG9kZSgieCIsJHJlc2l6ZSk7DQoJDQoJaWYoaXNzZXQoJF9GSUxFU1skemlwZmllbGRdKSAmJiBpc3NldCgkX0ZJTEVTWyR6aXBmaWVsZF1bJ25hbWUnXSkgJiYgJF9GSUxFU1skemlwZmllbGRdWyduYW1lJ10gIT0gIiIpew0KCQkkZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdHJyY2hyKCRfRklMRVNbJHppcGZpZWxkXVsnbmFtZSddLCAiLiIpKTsNCgkJJHphID0gbmV3IFppcEFyY2hpdmUoKTsNCgkJaWYoc3RydG9sb3dlcigkZXh0ZW5zaW9uKSA9PSAnLnppcCcgJiYgJHphLT5vcGVuKCRfRklMRVNbJHppcGZpZWxkXVsndG1wX25hbWUnXSkpIHsNCgkJCSRpID0gMDsNCgkJCXdoaWxlKCRpIDwgJHphLT5udW1GaWxlcykgew0KCQkJCSRmaWxlc3RhdHMgPSAkemEtPnN0YXRJbmRleCgkaSk7DQoJCQkJJGZpbGVuYW1lID0gJGZpbGVzdGF0c1snbmFtZSddOw0KCQkJCSRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgIi4iKSwxKSk7DQoJCQkJaWYoICRleHRlbnNpb24gIT0gIiIgJiYgKCAhJGFsbG93ZWRleHQgfHwgaW5fYXJyYXkoJGV4dGVuc2lvbiwgJGFsbG93ZWRleHQpICkgKXsNCgkJCQkJJGZpbGVuYW1lID0gJHRoaXMtPnVwbG9hZF9jaGVja2ZpbGVuYW1lKCRmaWxlbmFtZSwkZGlyKTsNCgkJCQkJJGZwID0gZm9wZW4oJGRpci4kZmlsZW5hbWUsICJ3Iik7DQoJCQkJCWlmKGZ3cml0ZSgkZnAsJHphLT5nZXRGcm9tSW5kZXgoJGkpKSl7DQoJCQkJCQlmY2xvc2UoJGZwKTsNCgkJCQkJCWNobW9kKCRkaXIuJGZpbGVuYW1lLCAwNzc3KTsNCgkJCQkJCWlmKCRyZXNpemUgJiYgY291bnQoJHJlc2l6ZSkgPT0gMikgJHRoaXMtPnBsUmVzaXplKCRkaXIuJGZpbGVuYW1lLCAnJywgJHJlc2l6ZVswXSwgJHJlc2l6ZVsxXSx0cnVlLGlzc2V0KCRwYXJhbXNbJ2Nyb3AnXSkpOw0KCQkJCQkJJHRoaXMtPnBsQXNzaWduRmlsZShzdHJfcmVwbGFjZSgiLy8iLCIvIiwiLyIuJGRlc3RpbmF0aW9uLiIvIi4kZmlsZW5hbWUpLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQlmY2xvc2UoJGZwKTsNCgkJCQkJCSRlcnJvcnMgPSAnPGxpPicuJGZpbGVuYW1lLic6ICcubGFuZygnZmlsZW5vdHVwbG9hZGVkJykuJzwvbGk+JzsNCgkJCQkJfQ0KCQkJCX1lbHNlew0KCQkJCQkkZXJyb3JzID0gJzxsaT4nLiRmaWxlbmFtZS4nOiAnLiR0aGlzLT5MYW5nKCdlcnJvcl93cm9uZ2ZpbGV0eXBlJykuJzwvbGk+JzsNCgkJCQl9DQoJCQkJJGkrKzsNCgkJCX0NCgkJfWVsc2V7DQoJCQkkZXJyb3JzID0gJzxsaT4nLiRfRklMRVNbJHppcGZpZWxkXVsnbmFtZSddLic6ICcuJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRhcmNoaXZlJykuJzwvbGk+JzsNCgkJfQ0KCX0NCgkNCn1lbHNlew0KCQ0KCWZvcmVhY2goJF9GSUxFUyBhcyAkZmllbGRuYW1lPT4kZmlsZSl7DQoJCWlmKCRmaWVsZG5hbWUgIT0gJHppcGZpZWxkICYmIGlzc2V0KCRmaWxlWyduYW1lJ10pICYmICRmaWxlWyduYW1lJ10gIT0gIiIpew0KCQkJJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVbJ25hbWUnXSwgIi4iKSwxKSk7DQoJCQlpZiggISRhbGxvd2VkZXh0IHx8IGluX2FycmF5KCRleHRlbnNpb24sICRhbGxvd2VkZXh0KSApew0KCQkJCWlmKCAkZmlsZXBhdGggPSAkdGhpcy0+cGxVcGxvYWRGaWxlKCRmaWxlLCAkZGVzdGluYXRpb24sICRyZXNpemUsIGlzc2V0KCRwYXJhbXNbJ2Nyb3AnXSkpICl7DQoJCQkJCSR0aGlzLT5wbEFzc2lnbkZpbGUoJGZpbGVwYXRoLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCgkJCQl9ZWxzZXsNCgkJCQkJJGVycm9ycyAuPSAiPGxpPiIuJGZpbGVbJ25hbWUnXS4nOiAnLmxhbmcoJ2ZpbGVub3R1cGxvYWRlZCcpLiI8L2xpPiI7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJJGVycm9ycyA9ICc8bGk+Jy4kZmlsZVsnbmFtZSddLic6ICcuJHRoaXMtPkxhbmcoJ2Vycm9yX3dyb25nZmlsZXR5cGUnKS4nPC9saT4nOw0KCQkJfQ0KCQl9DQoJfQ0KCQ0KfQ0KDQokbmV3cGFyYW1zID0gYXJyYXkoICRwYXJhbXNbJ3ByZWZpeCddLidpZCcgPT4gJGl0ZW1pZCApOw0KaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgJG5ld3BhcmFtc1snYWN0aXZlX3RhYiddID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOw0KaWYoJGVycm9ycyAhPSAiIikJJG5ld3BhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICc8dWw+Jy4kZXJyb3JzLic8L3VsPic7DQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdCcuJHBhcmFtc1sncHJlZml4J10sICRyZXR1cm5pZCwgJG5ld3BhcmFtcyApOwkJDQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.adminquery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCmVjaG8gIjxoMj4iLiR0aGlzLT5MYW5nKCJjcmVhdGVxdWVyeSIpLiI8L2gyPjxici8+IjsNCg0KaWYoIWlzc2V0KCRwYXJhbXNbIndoYXQiXSkpew0KCQ0KCSRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJJGxldmVsb3B0aW9ucyA9IGFycmF5KCk7DQoJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkb25lKQkkbGV2ZWxvcHRpb25zWyRvbmVdID0gJG9uZTsNCgllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJwcm9tcHRfcXVlcnkiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiYWRtaW5xdWVyeSIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsIndoYXQiLCRsZXZlbG9wdGlvbnMpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQ0KfWVsc2VpZihpc3NldCgkcGFyYW1zWyJzdWJtaXRxdWVyeSJdKSl7DQoJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCSRtdWx0aXBsZWxpc3RmaWVsZHMgPSBhcnJheSgpOw0KDQoNCgkvLyB3ZSBwYXJzZSB0aGUga2V5d29yZHMNCgkkd2hlcmUgPSAkdGhpcy0+Z2V0V2hlcmVGcm9tUGFyYW1zKCRwYXJhbXMpOw0KCQ0KCWxpc3QoJHdoZXJlY2xhdXNlLCAkd2hlcmV2YWx1ZXMpID0gJHRoaXMtPmJ1aWxkV2hlcmUoJHdoZXJlLCAkd2hhdCk7DQoJJGN1c3RvbW9yZGVyID0gKGlzc2V0KCRwYXJhbXNbIm9yZGVyIl0pICYmICRwYXJhbXNbIm9yZGVyIl0gIT0gIiIpPyRwYXJhbXNbIm9yZGVyIl0uIiAiLiRwYXJhbXNbIm9yZGVyX3R5cGUiXToiIjsNCgkNCgkkdG1waWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQXNhdmVkX3F1ZXJpZXNfc2VxIik7DQoJJG5hbWUgPSBpc3NldCgkcGFyYW1zWyJxdWVyeW5hbWUiXSk/YWRkc2xhc2hlcygkcGFyYW1zWyJxdWVyeW5hbWUiXSk6IiI7DQoJDQoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3NhdmVkX3F1ZXJpZXMgU0VUIGlkPT8sIG5hbWU9Pywgd2hhdD0/LCB3aGVyZWNsYXVzZT0/LCB3aGVyZXZhbHVlcz0/LCBxdWVyeW9yZGVyPT8iOw0KCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0bXBpZCwgJG5hbWUsICR3aGF0LCAkd2hlcmVjbGF1c2UsIHNlcmlhbGl6ZSgkd2hlcmV2YWx1ZXMpLCAkY3VzdG9tb3JkZXIpKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJxdWVyaWVzIiwibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoNCn1lbHNlew0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJhZG1pbnF1ZXJ5IiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ3aGF0IiwgJHdoYXQpOw0KCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoInF1ZXJ5bmFtZSIpLiI6ICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInF1ZXJ5bmFtZSIsIiIsMzApLiI8L3A+IjsNCgkkdGhpcy0+Y3JlYXRlRmllbGRGb3JtKCR3aGF0LCAkaWQsIGZhbHNlKTsNCgllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXRxdWVyeSIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQkJDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.assignfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCmlmKCFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sncHJlZml4J10pIHx8ICFpc3NldCgkcGFyYW1zWyRwYXJhbXNbJ3ByZWZpeCddLidpZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJGZpbGVwYXRoID0gaXNzZXQoJHBhcmFtc1snZmlsZXBhdGgnXSk/JHBhcmFtc1snZmlsZXBhdGgnXTonJzsNCmlmKCRmaWxlcGF0aCAhPSAnJyAmJiBpc3NldCgkcGFyYW1zWydzdGFydGRpciddKSAmJiAkcGFyYW1zWydzdGFydGRpciddICE9ICcvJykJJGZpbGVwYXRoID0gJHBhcmFtc1snc3RhcnRkaXInXS4nLycuJGZpbGVwYXRoOw0KJGZpbGVwYXRoID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJGZpbGVwYXRoKTsNCiRpdGVtaWQgPSAkcGFyYW1zWyRwYXJhbXNbJ3ByZWZpeCddLidpZCddOw0KJHRodW1ic2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pPyRwYXJhbXNbJ3RodW1iJ106ZmFsc2U7DQoNCiR0aGlzLT5wbEFzc2lnbkZpbGUoJGZpbGVwYXRoLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCg0KJG5ld3BhcmFtcyA9IGFycmF5KCAkcGFyYW1zWydwcmVmaXgnXS4naWQnID0+ICRpdGVtaWQgKTsNCmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpICRuZXdwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0Jy4kcGFyYW1zWydwcmVmaXgnXSwgJHJldHVybmlkLCAkbmV3cGFyYW1zICk7CQkNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.browsefiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMjIGFjdGlvbi5Ccm93c2VmaWxlcy5waHANCiMjIEJ5OiBQaWVycmUtTHVjIEdlcm1haW4NCiMjIFBBUkFNUzoNCiMjICRwYXJhbXNbJ21vZGUnXSA6IGltYWdlcyB8fCBmaWxlcw0KIyMgJHBhcmFtc1snZXh0ZW5zaW9ucyddIDogYXJyYXkgb2Ygc2hvd24gZmlsZSBleHRlbnNpb25zDQojIyAkcGFyYW1zWydzdGFydGRpciddIDogdGhlIGZvbGRlciB0byBzdGFydCBhdCAoIHVwbG9hZHMvIFtzdGFydGRpcl0gLyApDQojIyAkcGFyYW1zWyd0YWJsZW5hbWUnXSA6IHRoZSBuYW1lIG9mIHRoZSBkYiB0YWJsZQ0KIyMgJHBhcmFtc1sncHJlZml4J10gOiB0aGUgdmFyaWFibGUgcHJlZml4DQojIyAkcGFyYW1zW3ByZWZpeC4naWQnXSA6IHRoZSBpZCBvZiB0aGUgaXRlbSB0byB3aGljaCB0aGUgaW1hZ2Ugd2lsbCBiZSBhc3NpZ25lZCAodmFsdWUgaXMgbm90IHVzZWQsIGJ1dCByZXR1cm5lZCBhdCB0aGUgZW5kKQ0KIyMgJHBhcmFtc1snZmllbGQnXSA6IG9ubHkgYSBwYXNzLXRocm91Z2ggdG8gdGhlIGFzc2lnbiBhY3Rpb24NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgUEFSQU1TIEFORCBDT05GSUdTLi4uDQojDQppZiAoIWlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWydwcmVmaXgnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0YWJsZW5hbWUnXSkgKSBleGl0Ow0KDQokaGlkZXRodW1icyA9IHRydWU7IC8vIHdpbGwgaGlkZSBJbWFnZSBNYW5hZ2VyIHRodW1ibmFpbHMsIGJ1dCBhbHNvIGhpZGUgYWxsIGZpbGVzIHRoYXQgc3RhcnQgd2l0aCAidGh1bWJfIi4uLg0KJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoNCiMjIGRlZmluaW5nIHRoZSBhbGxvd2VkIGV4dGVuc2lvbnM6DQokbWVkaWFleHQgPSBhcnJheSgnc3dmJywnZmx2JywnanBlZycsJ2pwZycsJ3BuZycsJ2dpZicpOw0KJGRvY2V4dCA9IGFycmF5KCdkb2MnLCdkb2N4JywneGxzJywneGxzeCcsJ3J0ZicsJ3R4dCcsJ3BkZicpOw0KDQppZigkcGFyYW1zWydtb2RlJ10gPT0gJ2ltYWdlcycgfHwgJHBhcmFtc1snbW9kZSddID09ICdpbWFnZScpIHsNCgkkbW9kZSA9ICdpbWFnZSc7DQoJJGFsbG93ZWRleHQgPSAkbWVkaWFleHQ7DQp9ZWxzZXsNCgkkbW9kZSA9ICdvdGhlcic7DQoJJGFsbG93ZWRleHQgPSBhcnJheV9tZXJnZSgkbWVkaWFleHQsJGRvY2V4dCk7DQp9DQppZihpc3NldCgkcGFyYW1zWydleHRlbnNpb25zJ10pICYmICRwYXJhbXNbJ2V4dGVuc2lvbnMnXSAmJiAkcGFyYW1zWydleHRlbnNpb25zJ10gIT0gIiIpCSRhbGxvd2VkZXh0ID0gZXhwbG9kZSgiLCIsJHBhcmFtc1snZXh0ZW5zaW9ucyddKTsNCmlmKCRtb2RlID09ICdpbWFnZScgJiYgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzaG93dGh1bWJuYWlscyIsdHJ1ZSkpCSRtb2RlID0gJ290aGVyJzsNCg0KJGFkZGZpbGVzID0gKCBpc3NldCgkcGFyYW1zWydhZGRmaWxlcyddKSAmJiAkcGFyYW1zWydhZGRmaWxlcyddICk7DQoNCg0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgU09NRSBGVU5DVElPTlMuLi4NCiMNCg0KZnVuY3Rpb24gc3RybGltaXQoJHN0cmluZyl7DQoJLy8gZnVuY3Rpb24gdG8gbGltaXQgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZW5hbWVzDQoJaWYgKHN1YnN0cigkc3RyaW5nLDAsMjEpID09ICRzdHJpbmcpew0KCQlyZXR1cm4gJHN0cmluZzsNCgl9ZWxzZXsNCgkJcmV0dXJuIHN1YnN0cigkc3RyaW5nLDAsMTkpLicuLi4nOw0KCX0NCn0NCmZ1bmN0aW9uIGdldF90aHVtYm5haWwoJGJhc2V1cmwsICRmaWxlbmFtZSwgJGRpciwgJHJldHVybmFycmF5PWZhbHNlKXsNCgkkdGh1bWJwYXRoID0gJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZTsNCgkkdGh1bWJuYW1lID0gJGZpbGVuYW1lOw0KCWlmIChmaWxlX2V4aXN0cygkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RodW1iXycuJGZpbGVuYW1lKSkgew0KCQkkdGh1bWJuYW1lID0gJ3RodW1iXycuJGZpbGVuYW1lOw0KCX1lbHNlaWYoZmlsZV9leGlzdHMoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLidwbHRodW1iXycuJGZpbGVuYW1lKSl7DQoJCSR0aHVtYm5hbWUgPSAncGx0aHVtYl8nLiRmaWxlbmFtZTsNCgl9DQoJJGltZ2luZiA9IGdldGltYWdlc2l6ZSgkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRodW1ibmFtZSk7DQoJaWYoISRpbWdpbmYgfHwgIWlzc2V0KCRpbWdpbmZbMV0pKQlyZXR1cm4gZmFsc2U7DQoJbGlzdCgkd2lkdGgsICRoZWlnaHQpID0gJGltZ2luZjsNCgkkdGh1bWJuYWlscmF0aW8gPSBtYXgoJHdpZHRoIC8gMTA2LCRoZWlnaHQgLyAxMDYpOw0KCWlmICgkdGh1bWJuYWlscmF0aW8gPCAxKSAkdGh1bWJuYWlscmF0aW8gPSAxOw0KCSR0aGVpZ2h0ID0gZmxvb3IoJGhlaWdodCAvICR0aHVtYm5haWxyYXRpbyk7DQoJJHR3aWR0aCA9IGZsb29yKCR3aWR0aCAvICR0aHVtYm5haWxyYXRpbyk7DQoJaWYoJHJldHVybmFycmF5KXsNCgkJcmV0dXJuIGFycmF5KCRiYXNldXJsLicvJy4kdGh1bWJuYW1lLCAkdHdpZHRoLCAkdGhlaWdodCk7DQoJfWVsc2V7DQoJCXJldHVybiAnPGltZyBib3JkZXI9MCBzcmM9IicuJGJhc2V1cmwuJy8nLiR0aHVtYm5hbWUuJyIgd2lkdGg9IicuJHR3aWR0aC4nIiBoZWlnaHQ9IicuJHRoZWlnaHQuJyIgLz4nOw0KCX0NCn0NCmZ1bmN0aW9uIGltYWdlbW9kZV9idWlsZGxpbmtjb250ZW50KCRiYXNldXJsLCAkZmlsZW5hbWUsICRkaXI9Jycpew0KCS8vIGNyZWF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGxpbmsgaW4gaW1hZ2UgbW9kZQ0KCSRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgIi4iKSwgMSkpOw0KCWlmKGluX2FycmF5KCRleHRlbnNpb24sIGFycmF5KCdqcGVnJywnanBnJywncG5nJywnZ2lmJykpKXsNCgkJJHRoZXRodW1iID0gZ2V0X3RodW1ibmFpbCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkZGlyKTsNCgkJcmV0dXJuICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4nLiR0aGV0aHVtYi4nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOw0KCX0NCglnbG9iYWwgJGdDbXM7DQoJJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2ZsdicsJ3N3ZicsJ3dtdicsJ21vdicpKSl7DQoJCSRwaWMgPSAkdGhlYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9maWxldHlwZXMvZm1lZGlhLmdpZiIpOw0KCX1lbHNlaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2pwZWcnLCdqcGcnLCdwbmcnLCdnaWYnKSkpew0KCQkkcGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzL2ZwYWludC5naWYiKTsNCgl9ZWxzZXsNCgkJJHBpYyA9ICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL2ZpbGV0eXBlcy9mZG9jLmdpZiIpOw0KCX0NCglyZXR1cm4gJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPicuJHBpYy4nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOw0KfQ0KDQpmdW5jdGlvbiBtYWtlRGlyT2JqKCRmaWxlbmFtZSwkZGlyLCRtb2R1bGUsJHBhcmFtcywkY3VyZGlyLCRwYXJlbnRkaXIsJGlkLCRyZXR1cm5pZCl7DQoJZ2xvYmFsICRnQ21zOw0KCSR0aGVhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCSRwYXJlbnQgPSAoJGZpbGVuYW1lID09ICcuLicpOw0KCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkkb2JqLT5mb2xkZXIgPSB0cnVlOw0KCSRlbXB0eSA9IGFycmF5KCJleHQiLCJzaXplIiwiaW1hZ2VzaXplIiwiZGVsZXRlbGluayIsIm1vZGlmaWVkIiwib3duZXIiLCJwZXJtaXNzaW9ucyIpOw0KCWZvcmVhY2goJGVtcHR5IGFzICRmaWVsZCkJJG9iai0+JGZpZWxkID0gJyc7DQoJJG9iai0+ZmlsZW5hbWUgPSAkZmlsZW5hbWU7DQoJJG9iai0+cGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzLyIuKCRwYXJlbnQ/InVwIjoiIikuImZvbGRlci5naWYiKTsNCglpZigkcGFyZW50KXsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdjdXJkaXInID0+ICRwYXJlbnRkaXIpKTsNCgkJJG9iai0+dGhlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICcuLicsICRuZXdwYXJhbXMpOw0KCX1lbHNlew0KCQkkbmV3cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2N1cmRpcicgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lLCAncGFyZW50ZGlyJyA9PiAkY3VyZGlyKSk7DQoJCSRvYmotPnRoZWxpbmsgPSAnPGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPi4nLiRmaWxlbmFtZS4nPC9hPicuJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdicm93c2VmaWxlcycsICRyZXR1cm5pZCwgJGZpbGVuYW1lLCAkbmV3cGFyYW1zKTsNCgl9DQoJcmV0dXJuICRvYmo7DQp9DQpmdW5jdGlvbiBtYWtlRmlsZU9iaigkZmlsZW5hbWUsJGRpciwkbW9kdWxlLCRwYXJhbXMsJGN1cmRpciwkaWQsJHJldHVybmlkLCRiYXNldXJsKXsNCglnbG9iYWwgJGdDbXM7DQoJJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJJGluZm8gPSAkbW9kdWxlLT5wbEdldEZpbGVJbmZvKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWUpOw0KCSRleHRlbnNpb24gPSAkaW5mb1snZXh0J107DQoJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCSRvYmotPmZvbGRlciA9IGZhbHNlOw0KCSRvYmotPmZpbGVuYW1lID0gJGZpbGVuYW1lOw0KCSRvYmotPmV4dCA9ICRleHRlbnNpb247DQoJJG9iai0+c2l6ZSA9ICc8YSBzdHlsZT0iZGlzcGxheTpub25lOyI+Jy4kaW5mb1sic2l6ZSJdLic8L2E+Jy4kaW5mb1sic2l6ZV93Zm9ybWF0Il07DQoJJG9iai0+cGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgkaW5mb1siZmlsZWljb24iXSk7DQoJJG9iai0+aW1hZ2VzaXplID0gJyc7DQoJJG9iai0+dmlld2xpbmsgPSAnJzsNCglpZigkaW5mb1siaW1hZ2VzaXplIl0pew0KCQkkb2JqLT5pbWFnZXNpemUgPSAnPGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPicuJGluZm9bIndpZHRoIl0uJzwvYT4nLiRpbmZvWyJpbWFnZXNpemUiXTsNCgkJJHRoZXRodW1iID0gZ2V0X3RodW1ibmFpbCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkZGlyLCB0cnVlKTsNCgkJaWYoJHRoZXRodW1iKQkkb2JqLT52aWV3bGluayA9ICcgPGEgaHJlZj0iJy4kdGhldGh1bWJbMF0uJyIgdGl0bGU9IicuJG1vZHVsZS0+TGFuZygiaW5zdGFudHByZXZpZXciKS4nIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0icmV0dXJuIGRpc3BsYXl0aHVtYih0aGlzLFwnJy4kdGhldGh1bWJbMF0uJ1wnLCcuJHRoZXRodW1iWzFdLicsJy4kdGhldGh1bWJbMl0uJyk7Ij4nLiR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS92aWV3LmdpZiIpLic8L2E+JzsNCgl9DQoJJG9iai0+ZGVsZXRlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIiksYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2RlbGV0ZWZpbGUnPT4kZmlsZW5hbWUpKSkuJG9iai0+dmlld2xpbms7DQoJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdmaWxlbmFtZSc9PiRmaWxlbmFtZSwgJ2ZpbGVwYXRoJyA9PiAkY3VyZGlyLicvJy4kZmlsZW5hbWUpKTsNCgkkb2JqLT50aGVsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdhc3NpZ25maWxlJywgJHJldHVybmlkLCAkZmlsZW5hbWUsICRuZXdwYXJhbXMpOw0KCSRvYmotPm1vZGlmaWVkID0gJzxhIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4nLiRpbmZvWyJmaWxlbXRpbWUiXS4nPC9hPicuJGluZm9bIm1vZGlmaWVkIl07DQoJJG9iai0+b3duZXIgPSAkaW5mb1sib3duZXIiXTsNCgkkb2JqLT5wZXJtaXNzaW9ucyA9ICRpbmZvWyJwZXJtaXNzaW9ucyJdOw0KCXJldHVybiAkb2JqOw0KfQ0KDQoNCg0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgQ1VSUkVOVCBQQVRILi4uDQojDQoNCiRzdGFydGRpciA9IGlzc2V0KCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pPyRwYXJhbXNbJ3N0YXJ0ZGlyJ106Jyc7DQppZigkc3RhcnRkaXIgIT0gJycgJiYgc3Vic3RyKCRzdGFydGRpciwwLDEpICE9ICcvJyAmJiBzdWJzdHIoJHN0YXJ0ZGlyLDAsMSkgIT0gJ1xcJykgJHN0YXJ0ZGlyID0gRElSRUNUT1JZX1NFUEFSQVRPUi4kc3RhcnRkaXI7DQppZighZmlsZV9leGlzdHMoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uJHN0YXJ0ZGlyKSkgQG1rZGlyKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLiRzdGFydGRpcik7DQoNCiRwYXJlbnRkaXIgPSAoaXNzZXQoJHBhcmFtc1sncGFyZW50ZGlyJ10pID8gJHBhcmFtc1sncGFyZW50ZGlyJ10gOiAnJyk7DQokY3VyZGlyID0gKGlzc2V0KCRwYXJhbXNbJ2N1cmRpciddKSA/ICRwYXJhbXNbJ2N1cmRpciddIDogJycpOw0KJGRpciA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLiRzdGFydGRpci4kY3VyZGlyOw0KaWYoIWlzX2RpcigkZGlyKSl7DQoJJGRpciA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdOw0KCSRjdXJkaXIgPSAnJzsNCgkkcGFyZW50ZGlyID0gJyc7DQp9DQokYmFzZXVybCA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfdXJsJ10uJHN0YXJ0ZGlyLiRjdXJkaXI7DQoNCmlmIChpc3NldCgkcGFyYW1zWydkZWxldGVmaWxlJ10pKXsNCgkvLyBXZSdyZSBkZWxldGluZyBhIGZpbGUNCglpZihmaWxlX2V4aXN0cygkZGlyLicvJy4kcGFyYW1zWydkZWxldGVmaWxlJ10pICYmIHVubGluaygkZGlyLicvJy4kcGFyYW1zWydkZWxldGVmaWxlJ10pKXsNCgkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfZGVsZXRlZCIpKTsNCgl9DQp9DQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFBSRVBBUklORyBISURERU4gRklFTERTIEZPUiBVUExPQUQNCiMNCg0KJGhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1cmRpcicsJGN1cmRpcikuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZmllbGQnLCRwYXJhbXNbJ2ZpZWxkJ10pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYmxlbmFtZScsJHBhcmFtc1sndGFibGVuYW1lJ10pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ21vZGUnLCRwYXJhbXNbJ21vZGUnXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwncHJlZml4JywkcGFyYW1zWydwcmVmaXgnXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwkcGFyYW1zWydwcmVmaXgnXS4naWQnLCRwYXJhbXNbJHBhcmFtc1sncHJlZml4J10uJ2lkJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snZXh0ZW5zaW9ucyddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdleHRlbnNpb25zJywkcGFyYW1zWydleHRlbnNpb25zJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnc3RhcnRkaXInLCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snc2l6ZSddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdzaXplJywkcGFyYW1zWydzaXplJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1sndGh1bWInXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGh1bWInLCRwYXJhbXNbJ3RodW1iJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snY3JvcCddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdjcm9wJywkcGFyYW1zWydjcm9wJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKSAkaGlkZGVuIC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2Nyb3B0aHVtYicsJHBhcmFtc1snY3JvcHRodW1iJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snYWRkZmlsZXMnXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnYWRkZmlsZXMnLCRwYXJhbXNbJ2FkZGZpbGVzJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdhY3RpdmVfdGFiJywkcGFyYW1zWydhY3RpdmVfdGFiJ10pOw0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgRklMRVMgJiBGT0xERVJTDQojDQoNCiRkaCAgPSBvcGVuZGlyKCRkaXIpOw0KJGZvbGRlcnMgPSBhcnJheSgpOw0KJGZpbGVzID0gYXJyYXkoKTsNCiR1cGZvbGRlciA9IGZhbHNlOw0Kd2hpbGUgKCRmaWxlbmFtZSA9IHJlYWRkaXIoJGRoKSl7DQoJaWYoaXNfZGlyKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWUpICYmICRmaWxlbmFtZSE9Jy4nKXsNCgkJCWlmICgkZmlsZW5hbWU9PScuLicpIHsNCgkJCQlpZiAoJGN1cmRpciAhPSAnJykJCSR1cGZvbGRlciA9IHRydWU7DQoJCQl9ZWxzZXsNCgkJCQkkZm9sZGVyc1tdID0gJGZpbGVuYW1lOw0KCQkJfQ0KCX1lbHNlew0KCQkkZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdWJzdHIoc3RycmNocigkZmlsZW5hbWUsICIuIiksIDEpKTsNCgkJaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgJGFsbG93ZWRleHQpICYmICghJGhpZGV0aHVtYnMgfHwgc3Vic3RyKCRmaWxlbmFtZSwwLDYpICE9ICd0aHVtYl8nKSAmJiBzdWJzdHIoJGZpbGVuYW1lLDAsOCkgIT0gJ3BsdGh1bWJfJyl7DQoJCQkkZmlsZXNbXSA9ICRmaWxlbmFtZTsNCgkJfQ0KCX0NCn0NCmlmIChpc3NldCgkZGgpKQljbG9zZWRpcigkZGgpOw0Kc29ydCgkZm9sZGVycyk7DQpzb3J0KCRmaWxlcyk7DQoNCg0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBESVNQTEFZSU5HLi4uDQojDQoNCmVjaG8gJzxkaXYgaWQ9ImN0bG1tX3N1Ym1pdG1lc3NhZ2UiIGNsYXNzPSJwYWdlbWNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4nLiR0aGlzLT5MYW5nKCJzdWJtaXR0aW5nX2ZpbGUiKS4nPC9kaXY+JzsNCg0KaWYoJG1vZGUgPT0gJ2ltYWdlJyl7DQoJLy8gaW1hZ2UgbW9kZSAod2l0aCB0aHVtYm5haWxzKSAtIG5vIHRlbXBsYXRlDQoJZWNobyAnPGgyPicuJHRoaXMtPkxhbmcoJ2Jyb3dzZWZpbGVzdGl0bGUnKS4nPC9oMj4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ3Nob3dpbmdkaXInKS4nIDogJy4kZGlyLic8L3A+JzsNCgllY2hvICc8ZGl2IGlkPSJmaWxlc2VsZWN0IiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0icGFkZGluZzogNHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2OyBiYWNrZ3JvdW5kOiAjRkZGRkZGOyBvdmVyZmxvdzogYXV0bzsiPjxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+JzsNCgkkZGl2b3B0aW9uID0gJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNjVweDsgaGVpZ2h0OiAxODBweDsiPjxici8+JzsNCgkkY2xvc2VkaXYgPSAnPC9kaXY+DQonOw0KCWlmKCR1cGZvbGRlcil7DQoJCWVjaG8gJGRpdm9wdGlvbjsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdjdXJkaXInID0+ICRwYXJlbnRkaXIpKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdicm93c2VmaWxlcycsICRyZXR1cm5pZCwgJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzL3VwZm9sZGVyLmdpZiIpLic8YnIvPicuJHRoaXMtPkxhbmcoJ3BhcmVudGRpcicpLCAkbmV3cGFyYW1zKTsNCgkJZWNobyAkY2xvc2VkaXY7DQoJfQ0KCWZvcmVhY2goJGZvbGRlcnMgYXMgJGZpbGVuYW1lKXsNCgkJZWNobyAkZGl2b3B0aW9uOw0KCQkkbmV3cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2N1cmRpcicgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lLCAncGFyZW50ZGlyJyA9PiAkY3VyZGlyKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aW1nIGJvcmRlcj0wIHNyYz0iLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9pbWcvZm9sZGVyLmdpZiIgLz48L2Rpdj4nLiRmaWxlbmFtZSwgJG5ld3BhcmFtcyk7DQoJCWVjaG8gJGNsb3NlZGl2Ow0KCX0NCglmb3JlYWNoKCRmaWxlcyBhcyAkZmlsZW5hbWUpew0KCQllY2hvICRkaXZvcHRpb247DQoJCSRuZXdwYXJhbXMgPSBhcnJheV9tZXJnZSgkcGFyYW1zLCBhcnJheSgnZmlsZW5hbWUnPT4kZmlsZW5hbWUsICdmaWxlcGF0aCcgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYXNzaWduZmlsZScsICRyZXR1cm5pZCwgaW1hZ2Vtb2RlX2J1aWxkbGlua2NvbnRlbnQoJGJhc2V1cmwsICRmaWxlbmFtZSwgJGRpciksICRuZXdwYXJhbXMpLic8YnIvPic7DQoJCSRpbWdpbmYgPSBnZXRpbWFnZXNpemUoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZSk7DQoJCWlmKCRpbWdpbmYgJiYgaXNzZXQoJGltZ2luZlsxXSkpCWVjaG8gJygnLiRpbWdpbmZbMF0uJ3gnLiRpbWdpbmZbMV0uJykgJzsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdkZWxldGVmaWxlJz0+JGZpbGVuYW1lKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIiksJG5ld3BhcmFtcyk7DQoJCWVjaG8gJGNsb3NlZGl2Ow0KCX0NCgllY2hvICc8L2Rpdj48L2Rpdj4nOw0KCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRmaWxlcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOw0KCWVjaG8gJzxoMz4nLmxhbmcoJ3VwbG9hZGZpbGUnKS4nOjwvaDM+PGRpdj4nOw0KCWlmKCRhZGRmaWxlcyl7DQoJCWVjaG8gJzxmaWVsZHNldCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+PGxlZ2VuZD48Yj4nLiR0aGlzLT5MYW5nKCJ1cGxvYWR6aXBmaWxlIikuJzwvYj48L2xlZ2VuZD4nOw0KCQllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCJ6aXBmaWxlbm90aWNlIikuJzwvcD4nOw0KCQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd1cGxvYWR6aXBmaWxlJykuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdHppcGZpbGUnLGxhbmcoJ3NlbmQnKSkuJzwvcD48L2ZpZWxkc2V0Pic7DQoJfQ0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ3Bvc3RtYXhzaXplJykuaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpLic8L3A+JzsNCglpZihpc3NldCgkcGFyYW1zWyJzaXplIl0pKQllY2hvICc8cD4oJy4kdGhpcy0+TGFuZygnYnJvd3NlZmlsZXNyZXNpemUnKS4nKTwvcD4nOw0KCWVjaG8gJzxkaXYgaWQ9ImZpbGVpbnB1dHMiPjxwPicuJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ3VwbG9hZGZpbGUnKS4nPC9wPjwvZGl2Pic7DQoJaWYoJGFkZGZpbGVzKQllY2hvICc8cD48YSBocmVmPSJqYXZhc2NyaXB0OmFkZGZpbGVpbnB1dChcJ2ZpbGVpbnB1dHNcJyx0aGlzKTsiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7Ij4nLiR0aGlzLT5MYW5nKCJhZGRmaWxlaW5wdXQiKS4nPC9hPjwvcD4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JyxsYW5nKCdzZW5kJykpLic8L3A+JzsNCgllY2hvICRoaWRkZW47DQoJZWNobyAnPC9kaXY+JzsJCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCn1lbHNlew0KCS8vIGxpc3QgbW9kZSAobm8gdGh1bWJuYWlscykgLSB1c2VzIGEgdGVtcGxhdGUNCgkNCgkkaW5zdGFudHNlYXJjaCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLGZhbHNlKTsNCgkkaW5zdGFudHNvcnQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGlzcGxheV9pbnN0YW50c29ydCIsZmFsc2UpOw0KCQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYnJvd3NldGl0bGUiLCR0aGlzLT5MYW5nKCdicm93c2VmaWxlc3RpdGxlJykpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigidXBsb2FkdGl0bGUiLGxhbmcoJ3VwbG9hZGZpbGUnKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzaG93aW5nZGlyIiwkdGhpcy0+TGFuZygnc2hvd2luZ2RpcicpLicgOiAnLiRkaXIpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZm9ybXN0YXJ0IiwkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGZpbGVzJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZm9ybWVuZCIsJGhpZGRlbi4kdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInJlc2l6ZW5vdGljZSIsaXNzZXQoJHBhcmFtc1sic2l6ZSJdKT8kdGhpcy0+TGFuZygnYnJvd3NlZmlsZXNyZXNpemUnKTpmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwb3N0bWF4c2l6ZSIsJHRoaXMtPkxhbmcoJ3Bvc3RtYXhzaXplJykuaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JyxsYW5nKCdzZW5kJykpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImluc3RhbnRzZWFyY2giLCAkaW5zdGFudHNlYXJjaD8kdGhpcy0+TGFuZygic2VhcmNodGhpc3RhYmxlIikuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAic2VhcmNoZmlsZXRhYmxlIiwgIiIsIDEwLCA2NCwgJyBvbmtleXVwPSJjdGxtbV9zZWFyY2godGhpcy52YWx1ZSxcJ2ZpbGVsaXN0X3RhYmxlXCcpOyInKTpmYWxzZSk7DQoNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInppcHRpdGxlIiwgJHRoaXMtPkxhbmcoInVwbG9hZHppcGZpbGUiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ6aXBub3RpY2UiLCAkdGhpcy0+TGFuZygiemlwZmlsZW5vdGljZSIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInppcGlucHV0IiwgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ3VwbG9hZHppcGZpbGUnKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ6aXBzdWJtaXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXR6aXBmaWxlJyxsYW5nKCdzZW5kJykpKTsNCg0KCWlmKCRhZGRmaWxlcyl7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlsZWlucHV0IiwnPGRpdiBpZD0iZmlsZWlucHV0cyI+PHA+Jy4kdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwndXBsb2FkZmlsZScpLic8L3A+PC9kaXY+Jyk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkZmlsZWlucHV0IiwnPGEgaHJlZj0iamF2YXNjcmlwdDphZGRmaWxlaW5wdXQoXCdmaWxlaW5wdXRzXCcsdGhpcyk7IiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+Jy4kdGhpcy0+TGFuZygiYWRkZmlsZWlucHV0IikuJzwvYT4nKTsNCgl9ZWxzZXsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaWxlaW5wdXQiLCc8cD4nLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd1cGxvYWRmaWxlJykuJzwvcD4nKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRmaWxlaW5wdXQiLGZhbHNlKTsNCgl9DQoJDQoJJHNvcnRsaW5rcyA9IGFycmF5KCk7DQoJJG51bWVyaWNfc29ydGxpbmtzID0gYXJyYXkoKTsNCgkkaSA9IDA7DQoJd2hpbGUoJGkgPCAxMCl7DQoJCWlmKCRpbnN0YW50c29ydCl7DQoJCQkkc29ydGxpbmtzWyRpXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF91cC5naWYiIGFsdD0iXiIvPjwvYT48YnIvPjxhIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9zb3J0Um93cyhcJ2ZpbGVsaXN0X3RhYmxlXCcsJy4kaS4nLHRydWUpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF9kb3duLmdpZiIgYWx0PSJ2Ii8+PC9hPjwvZGl2PiAmbmJzcDsnOw0KCQkJJG51bWVyaWNfc29ydGxpbmtzWyRpXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicsZmFsc2UsdHJ1ZSk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X3VwLmdpZiIgYWx0PSJeIi8+PC9hPjxici8+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicsdHJ1ZSx0cnVlKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfZG93bi5naWYiIGFsdD0idiIvPjwvYT48L2Rpdj4gJm5ic3A7JzsNCgkJfWVsc2V7DQoJCQkkc29ydGxpbmtzWyRpXSA9ICcnOw0KCQkJJG51bWVyaWNfc29ydGxpbmtzWyRpXSA9ICcnOw0KCQl9DQoJCSRpKys7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigic29ydGxpbmtzIiwkc29ydGxpbmtzKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIm51bWVyaWNfc29ydGxpbmtzIiwkbnVtZXJpY19zb3J0bGlua3MpOw0KCQ0KCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkkb2JqLT5mb2xkZXIgPSAiIjsNCgkkb2JqLT5maWxlbmFtZSA9ICR0aGlzLT5MYW5nKCJmaWxlbmFtZSIpOw0KCSRvYmotPmV4dCA9ICR0aGlzLT5MYW5nKCJmaWxlZXh0Iik7DQoJJG9iai0+c2l6ZSA9ICR0aGlzLT5MYW5nKCJmaWxlc2l6ZSIpOw0KCSRvYmotPnBpYyA9ICIiOw0KCSRvYmotPmltYWdlc2l6ZSA9ICR0aGlzLT5MYW5nKCJpbWFnZXNpemUiKTsNCgkkb2JqLT5kZWxldGVsaW5rID0gJHRoaXMtPkxhbmcoIkFjdGlvbnMiKTsNCgkkb2JqLT5tb2RpZmllZCA9ICR0aGlzLT5MYW5nKCJsYXN0bW9kIik7DQoJJG9iai0+b3duZXIgPSAkdGhpcy0+TGFuZygiZmlsZW93bmVyIik7DQoJJG9iai0+cGVybWlzc2lvbnMgPSAkdGhpcy0+TGFuZygiZmlsZXBlcm1zIik7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWFkZXJzIiwkb2JqKTsNCgkNCgkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCWlmKCR1cGZvbGRlcikJJGl0ZW1saXN0W10gPSBtYWtlRGlyT2JqKCIuLiIsJGRpciwkdGhpcywkcGFyYW1zLCRjdXJkaXIsJHBhcmVudGRpciwkaWQsJHJldHVybmlkKTsNCglmb3JlYWNoKCRmb2xkZXJzIGFzICRmb2xkZXIpCSRpdGVtbGlzdFtdID0gbWFrZURpck9iaigkZm9sZGVyLCRkaXIsJHRoaXMsJHBhcmFtcywkY3VyZGlyLCRwYXJlbnRkaXIsJGlkLCRyZXR1cm5pZCk7DQoJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGVuYW1lKQkkaXRlbWxpc3RbXSA9IG1ha2VGaWxlT2JqKCRmaWxlbmFtZSwkZGlyLCR0aGlzLCRwYXJhbXMsJGN1cmRpciwkaWQsJHJldHVybmlkLCRiYXNldXJsKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwkaXRlbWxpc3QpOw0KCQ0KCWVjaG8gJw0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCic7DQoJaWYoJGluc3RhbnRzZWFyY2gpCWVjaG8gJHRoaXMtPmdldEZpbGVDb250ZW50KCJpbnN0YW50c2VhcmNoLmpzIik7DQoJaWYoJGluc3RhbnRzb3J0KQllY2hvICR0aGlzLT5nZXRGaWxlQ29udGVudCgiaW5zdGFudHNvcnQuanMiKTsNCgllY2hvICcNCgk8L3NjcmlwdD4NCic7DQoNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImJyb3dzZWZpbGVzLnRwbCIpOw0KfQ0KDQplY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgY3RsbW1fZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInLiRpZC4nbW9kdWxlZm9ybV8xIik7DQppZihjdGxtbV9mb3JtKQljdGxtbV9mb3JtLm9uc3VibWl0ID0gZnVuY3Rpb24oKSB7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN0bG1tX3N1Ym1pdG1lc3NhZ2UiKS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCn0NCmZ1bmN0aW9uIGRpc3BsYXl0aHVtYihlbGUsdGh1bWJwYXRoLHdpZHRoLGhlaWdodCl7DQoJZWxlLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQoJdmFyIHRoZWltZyA9IG5ldyBJbWFnZSgpOw0KCXRoZWltZy53aWR0aCA9IHdpZHRoOw0KCXRoZWltZy5oZWlnaHQgPSBoZWlnaHQ7DQoJdGhlaW1nLnNyYyA9IHRodW1icGF0aDsNCgl0aGVpbWcuc3R5bGUuY3Vyc29yID0gInBvaW50ZXIiOw0KCXRoZWltZy5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IGhpZGV0aHVtYih0aGlzKTsgfTsNCgllbGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0aGVpbWcpOw0KCXJldHVybiBmYWxzZTsNCn0NCmZ1bmN0aW9uIGhpZGV0aHVtYihlbGUsdGh1bWJwYXRoLHdpZHRoLGhlaWdodCl7DQoJdmFyIHBhcmVudCA9IGVsZS5wYXJlbnROb2RlOw0KCXBhcmVudC5yZW1vdmVDaGlsZChlbGUpOw0KCXZhciB0aGVhcyA9IHBhcmVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOw0KCXRoZWFzW3RoZWFzLmxlbmd0aC0xXS5zdHlsZS5kaXNwbGF5ID0gImlubGluZSI7DQp9DQoNCnZhciBuYmZpbGVpbnB1dCA9IDE7DQoNCmZ1bmN0aW9uIGFkZGZpbGVpbnB1dChjb250YWluZXJpZCwgYnRuKXsNCgl2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVyaWQpOw0KCWlmKCFjb250YWluZXIpIHJldHVybiBmYWxzZTsNCgluYmZpbGVpbnB1dCsrOw0KCXZhciB0bXBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7DQoJdG1waW5wdXQudHlwZSA9ICJmaWxlIjsNCgl0bXBpbnB1dC5uYW1lID0gIicuJGlkLid1cGxvYWRmaWxlIituYmZpbGVpbnB1dDsNCgl2YXIgdGhlcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsNCgl0aGVwLmFwcGVuZENoaWxkKHRtcGlucHV0KTsNCgljb250YWluZXIuYXBwZW5kQ2hpbGQodGhlcCk7DQoJaWYobmJmaWxlaW5wdXQgPT0gMTIpCWJ0bi5zdHlsZS5kaXNwbGF5ID0gZmFsc2U7DQp9DQo8L3NjcmlwdD4nOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIHdlIG5lZWQgdG8ga25vdyB3aGljaCBsZXZlbCBpcyB0aGUgZmluYWwgbGV2ZWwNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokZmluYWxsZXZlbCA9ICJ2aWRlbyI7DQoNCi8vIHdlIGNoZWNrIHdoYXQgbGV2ZWwgd2UncmUgd2F0Y2hpbmcuLi4gaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHdlIHVzZSB0aGUgZmluYWwgbGV2ZWwNCiR3aGF0ID0gKGlzc2V0KCRwYXJhbXNbIndoYXQiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCRsZXZlbGFycmF5KSk/JHBhcmFtc1sid2hhdCJdOiRmaW5hbGxldmVsOw0KLy8gd2UgZ2l2ZSBpdCBiYWNrIHRvIHRoZSBwYXJhbXMgZm9yIHByZXR0eSB1cmxzIGFuZCBwYWdlIHZpZXcNCmlmKCFpc3NldCgkcGFyYW1zWyJ3aGF0Il0pIHx8ICRwYXJhbXNbIndoYXQiXSA9PSAiIikJJHBhcmFtc1sid2hhdCJdID0gJHdoYXQ7DQokcGFyZW50bGV2ZWwgPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkd2hhdCwgZmFsc2UpOw0KDQovLyB3ZSByZXRyaWV2ZSBzb21lIG90aGVyIHBhcmFtZXRlcnMNCmlmKCR3aGF0ICE9ICRmaW5hbGxldmVsKXsNCgkkZm9yY2VsaXN0ID0gdHJ1ZTsJCS8vIEFsd2F5cyBkaXNwbGF5IGFzIGxpc3Qgd2hlbiB3ZSdyZSBub3Qgb24gdGhlIGZpbmFsIGxldmVsDQp9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pKXsNCgkkZm9yY2VsaXN0ID0gZmFsc2U7CQkvLyBuZXZlciBkaXNwbGF5IGEgbGlzdCB3aGVuIHRoZSBhbGlhcyBpcyBzcGVjaWZpZWQNCn1lbHNlew0KCS8vIGRlZmF1bHQgdmFsdWUNCgkkZm9yY2VsaXN0ID0gaXNzZXQoJHBhcmFtc1siZm9yY2VsaXN0Il0pPyRwYXJhbXNbImZvcmNlbGlzdCJdOiR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmb3JjZV9saXN0IixmYWxzZSk7DQp9DQokb3JkZXJieSA9IGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSk/JHBhcmFtc1sib3JkZXJieSJdOmZhbHNlOw0KJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQokbGltaXQgPSBpc3NldCgkcGFyYW1zWyJsaW1pdCJdKT8kcGFyYW1zWyJsaW1pdCJdOjA7DQokbGltaXQgPSAoaW50KSAkbGltaXQ7DQppZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgJHBhcmFtc1sibmJwZXJwYWdlIl0gPiAkbGltaXQpew0KCSRuYnBlcnBhZ2UgPSAoaW50KSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCn1lbHNlew0KCS8vIGRlZmF1bHQgcGFnaW5hdGlvbg0KCSRkZWZhdWx0X25icGVycGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR3aGF0LiJfcGFnaW5hdGlvbiIsMCk7DQoJJG5icGVycGFnZSA9ICgkZGVmYXVsdF9uYnBlcnBhZ2UgPiAkbGltaXQpPyRkZWZhdWx0X25icGVycGFnZTpmYWxzZTsNCgkkcGFyYW1zWyJuYnBlcnBhZ2UiXSA9ICRuYnBlcnBhZ2U7CS8vIGdpdmUgaXQgYmFjayBmb3IgbGlua3MNCn0NCmlmKCRuYnBlcnBhZ2UpCSRsaW1pdCA9ICgoKGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKT8kcGFyYW1zWyJwYWdlaW5kZXgiXToxKS0xKSAqICRuYnBlcnBhZ2UpLiIsIi4kbmJwZXJwYWdlOw0KDQovLyB3ZSBidWlsZCB0aGUgcXVlcnkuIEZpcnN0LCB3ZSBjaGVjayBpZiB3ZSdyZSB1c2luZyBhIHNhdmVkIHF1ZXJ5IDoNCmlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5Il0pKXsNCgkkcXVlcnlpZCA9IChpbnQpICRwYXJhbXNbInF1ZXJ5Il07DQoJaWYoJHF1ZXJ5ID0gJHRoaXMtPmdldF9xdWVyaWVzKGFycmF5KCJpZCI9PiRxdWVyeWlkKSkpew0KCQkvLyB3ZSByZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCB3aWxsIGRvIHRoZSBxdWVyeQ0KCQkkcXVlcnkgPSAkcXVlcnlbMF07DQoJCSR3aGF0ID0gJHF1ZXJ5LT53aGF0Ow0KCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJHdoYXQ7DQoJCSRwYXJlbnRsZXZlbCA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0LCBmYWxzZSk7DQoJCSR3aGVyZWNsYXVzZSA9ICRxdWVyeS0+d2hlcmVjbGF1c2U7DQoJCSR3aGVyZXZhbHVlcyA9ICRxdWVyeS0+d2hlcmV2YWx1ZXM7DQoJCSRjdXN0b21vcmRlciA9ICgkcXVlcnktPnF1ZXJ5b3JkZXIgPT0gIiI/ZmFsc2U6JHF1ZXJ5LT5xdWVyeW9yZGVyKTsNCgl9ZWxzZWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhbGxvd19zcWwiLGZhbHNlKSl7DQoJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kd2hhdDsNCgkJJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQsIGZhbHNlKTsNCgkJJHdoZXJlY2xhdXNlID0gJHBhcmFtc1sicXVlcnkiXTsgLy8gcXVlcnkgc2hvdWxkIGJlIHNhbml0aXplZC4uLg0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkkY3VzdG9tb3JkZXIgPSBmYWxzZTsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCAkb3JkZXJieSwgJGxpbWl0LCAkcXVlcnkpOw0KCX1lbHNlew0KCQkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCJlcnJvcl93cm9uZ3F1ZXJ5Iik7DQoJCWlmKCRxdWVyeWlkICE9ICRxdWVyeSAmJiAkbXNnID0gbXlzcWxfZXJyb3IoKSkJCSRtZXNzYWdlIC49ICI8YnIvPiIuJHRoaXMtPkxhbmcoImdpdmVuZXJyb3IiKS4kbXNnOw0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRtZXNzYWdlKTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCglpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgJG5icGVycGFnZSl7DQoJCS8vIHdlIG5lZWQgcGFnaW5hdGlvbiAtIHNvIHdlIGZpcnN0IHJldHJpZXZlIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZml0dGluZyB0aGUgcXVlcnkNCgkJJHRvdGFsID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsYXJyYXkoKSwkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcywgJHBhcmVudGxldmVsKTsNCgl9DQoJaWYoaXNzZXQoJHRvdGFsKSAmJiAkdG90YWwgPT0gMCl7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7CS8vIHdlIGFscmVhZHkga25vdyB0aGVyZSdzIG5vdGhpbmcgdG8gcXVlcnkNCgl9ZWxzZXsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCAkb3JkZXJieSwgJGxpbWl0LCAkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcywgJGN1c3RvbW9yZGVyKTsNCgl9DQp9ZWxzZXsNCgkvLyB3ZSdyZSBub3QgdXNpbmcgYSBzYXZlZCBxdWVyeSwgc28gd2UgcGFyc2UgdGhlIHBhcmFtZXRlcnMNCgkvLyB3ZSByZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCB3aWxsIGRvIHRoZSBxdWVyeQ0KCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kd2hhdDsNCgkvLyBUaGUgJHdoZXJlIGhvbGRzIGVsZW1lbnRzIG9mIHRoZSBXSEVSRSBjbGF1c2Ugb2YgdGhlIHF1ZXJ5LCBpbiB0aGUgZm9ybSBmaWVsZF9uYW1lPT5maWVsZF92YWx1ZQ0KCWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pICYmICRwYXJhbXNbImFsaWFzIl0gIT0gIiIpIHsNCgkJJHdoZXJlID0gYXJyYXkoImFsaWFzIj0+JHBhcmFtc1siYWxpYXMiXSk7DQoJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJzaG93ZGVmYXVsdCJdKSAmJiAkcGFyYW1zWyJzaG93ZGVmYXVsdCJdKSB7DQoJCSR3aGVyZSA9IGFycmF5KCJpc2RlZmF1bHQiPT4xKTsNCgl9ZWxzZXsNCgkJJHdoZXJlID0gYXJyYXkoKTsNCgl9DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmICRwYXJhbXNbInBhcmVudCJdICE9ICIiKSAkd2hlcmVbInBhcmVudCJdID0gJHBhcmFtc1sicGFyZW50Il07DQoNCgkkd2hlcmVbImFjdGl2ZSJdID0gMTsNCglpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgJG5icGVycGFnZSl7DQoJCS8vIHdlIG5lZWQgcGFnaW5hdGlvbiAtIHNvIHdlIGZpcnN0IHJldHJpZXZlIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZml0dGluZyB0aGUgcXVlcnkNCgkJJHRvdGFsID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsJHdoZXJlLGZhbHNlLGFycmF5KCksJHBhcmVudGxldmVsKTsNCgl9DQoJaWYoaXNzZXQoJHRvdGFsKSAmJiAkdG90YWwgPT0gMCl7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7CS8vIHdlIGFscmVhZHkga25vdyB0aGVyZSdzIG5vdGhpbmcgdG8gcXVlcnkNCgl9ZWxzZXsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbigkd2hlcmUsIGZhbHNlLCAiIiwgIiIsICRvcmRlcmJ5LCAkbGltaXQpOw0KCX0NCn0NCg0KLy8gIFNUQVJUIFBST0NFU1NJTkcNCg0KaWYoY291bnQoJGl0ZW1saXN0KSA9PSAxICYmICEkZm9yY2VsaXN0KXsNCgkNCgkvLyAjIyMjIyMjIyMjIyMjIyMjIyBXRSBBUkUgRElTUExBWUlORyBBTiBJVEVNIElOIERFVEFJTCBWSUVXDQoJDQoJJGl0ZW09JGl0ZW1saXN0WzBdOw0KDQoJLy8gaWYgYSB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHdlIHRyeSB0byByZXRyaWV2ZSBpdAkNCgkkdGVtcGxhdGUgPSBmYWxzZTsNCglpZihpc3NldCgkcGFyYW1zWyJmaW5hbHRlbXBsYXRlIl0pICYmICRwYXJhbXNbImZpbmFsdGVtcGxhdGUiXSAhPSAiIil7DQoJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJmaW5hbHRlbXBsYXRlIl0pOw0KCX0NCg0KCS8vIGlmIG5vIHRlbXBsYXRlIGhhcyBiZWVuIHNwZWNpZmllZCwgd2UgcmV0cmlldmUgdGhlIGRlZmF1bHQgZmluYWwgdGVtcGxhdGUNCglpZighJHRlbXBsYXRlIHx8ICR0ZW1wbGF0ZSA9PSAiIil7DQoJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIpOw0KCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJfQ0KCS8vIHdlIHJldHJpZXZlIHRoZSBwYXJlbnQgdHJlZToNCgkkcGFyZW50dHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSggJGl0ZW0tPnBhcmVudF9pZCwgJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQsIGZhbHNlKSApOw0KCSRpdGVtLT5wYXJlbnRfb2JqZWN0ID0gJHBhcmVudHRyZWU7DQoNCgkNCgkvLyBpZiB0aGUgaXRlbSBoYXMgcGFyZW50cywgd2UgYXNzaWduIGxpbmtzIHRvIHRoYXQgcGFyZW50DQoJaWYoaXNzZXQoJGl0ZW0tPnBhcmVudF9hbGlhcykpew0KCQkkcHJldHR5dXJsID0gJHRoaXMtPkJ1aWxkUHJldHR5VXJscyhhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcywgIndoYXQiPT4kd2hhdCksICRyZXR1cm5pZCk7DQoJCSRpdGVtLT5wYXJlbnRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgJGl0ZW0tPnBhcmVudF9uYW1lLCBhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcyksICIiLCBmYWxzZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKTsNCgkJJGl0ZW0tPnBhcmVudHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICIiLCBhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcyksICIiLCB0cnVlLCAkaW5saW5lLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpOw0KCX0NCgkNCgkvLyB3ZSByZXRyaWV2ZSBhIGxhYmVsIGZvciBlYWNoIG9mIHRoZSBpdGVtJ3MgZmllbGQgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCgkkbGFiZWxzID0gbmV3IFN0ZENsYXNzKCk7DQoJZm9yZWFjaCgkaXRlbSBhcyAka2V5PT4kdmFsdWUpew0KCQkkbGFiZWxzLT4ka2V5ID0gJHRoaXMtPkxhbmcoJHdoYXQuIl8iLiRrZXkpOwkJDQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGFiZWxzIiwgJGxhYmVscyk7DQoJDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCg0KCWlmKCFpc3NldCgkcGFyYW1zWyJxdWVyeSJdKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uZXh0cHJldmlvdXMiLGZhbHNlKSl7DQoJCS8vIHdlIGxvYWQgbGlua3MgdG8gbmV4dCBhbmQgcHJldmlvdXMgaXRlbXMNCgkJLy8gYXMgdGhpcyBpbXBsaWVzIHR3byBtb3JlIHF1ZXJpZXMsIGl0IG11c3QgYmUgYWN0aXZhdGVkIGluIHRoZSBzZXR0aW5ncyB0YWJzDQoJCSRuZXd3aGVyZSA9IGFycmF5KCJhY3RpdmUiPT4xKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pKXsNCgkJCSRuZXd3aGVyZVsicGFyZW50Il0gPSAkcGFyYW1zWyJwYXJlbnQiXTsJDQoJCX1lbHNlaWYoaXNzZXQoJGl0ZW0tPnBhcmVudF9hbGlhcykgJiYgJHRoaXMtPmdldE9yZGVyVHlwZSgkd2hhdCkpew0KCQkJJG5ld3doZXJlWyJwYXJlbnQiXSA9ICRpdGVtLT5wYXJlbnRfYWxpYXM7DQoJCX0NCgkJJG5leHRpdGVtID0gZmFsc2U7DQoJCSRuZXd3aGVyZVsiaXRlbV9vcmRlciJdID0gJGl0ZW0tPml0ZW1fb3JkZXIgKyAxOw0KCQkkbmV3cGFybXMgPSAkcGFyYW1zOw0KCQkkdG1waXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oJG5ld3doZXJlKTsNCgkJaWYoaXNzZXQoJHRtcGl0ZW1bMF0pKXsNCgkJCSRuZXdwYXJtc1siYWxpYXMiXSA9ICR0bXBpdGVtWzBdLT5hbGlhczsNCgkJCSRuZXh0aXRlbSA9ICR0aGlzLT5hZGRmcm9udGVuZHVybHMoJHRtcGl0ZW1bMF0sJG5ld3Bhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQl9DQoJCSRwcmV2aXRlbSA9IGZhbHNlOw0KCQlpZigkaXRlbS0+aXRlbV9vcmRlciA+IDEpew0KCQkJJG5ld3doZXJlWyJpdGVtX29yZGVyIl0gPSAkaXRlbS0+aXRlbV9vcmRlciAtIDE7DQoJCQkkdG1waXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oJG5ld3doZXJlKTsNCgkJCWlmKGlzc2V0KCR0bXBpdGVtWzBdKSl7DQoJCQkJJG5ld3Bhcm1zWyJhbGlhcyJdID0gJHRtcGl0ZW1bMF0tPmFsaWFzOw0KCQkJCSRwcmV2aXRlbSA9ICR0aGlzLT5hZGRmcm9udGVuZHVybHMoJHRtcGl0ZW1bMF0sJG5ld3Bhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmV4dF9pdGVtIiwkbmV4dGl0ZW0pOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInByZXZpb3VzX2l0ZW0iLCRwcmV2aXRlbSk7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbSIsJGl0ZW0pOw0KCQ0KCS8vIHdlIHByb2Nlc3MgdGhlIHRlbXBsYXRlDQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkNCn1lbHNlaWYoY291bnQoJGl0ZW1saXN0KSA+IDApew0KCQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIFdFIEFSRSBESVNQTEFZSU5HIEEgTElTVCBWSUVXDQoJJHBhcmVudG9iaiA9IGZhbHNlOw0KCS8vIGlmIHdlIGFyZSB3YXRjaGluZyBpdGVtcyBmcm9tIGEgc3BlY2lmaWMgcGFyZW50cywgd2Ugd2FudCB0byBoYXZlIHRoZSBpbmZvcm1hdGlvbnMgb2YgdGhpcyBwYXJlbnQgYXZhaWxhYmxlDQoJLy8gaW4gdGhlIHRlbXBsYXRlIChmb3IgZXhhbXBsZSwgaWYgd2Ugd2FudCB0byBkaXNwbGF5IGEgY2F0ZWdvcnkgcGFnZSwgd2UgbWlnaHQgd2FudCB0byBzaG93IHRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbikNCgkvLyBpZiBpdCBpcyB0aGUgY2FzZSwgd2UgcmV0cmlldmUgdGhlIHBhcmVudCBhbmQgZ2l2ZSBpdCB0byBzbWFydHkNCglpZihpc3NldCgkcGFyYW1zWyJwYXJlbnQiXSkgJiYgJHBhcmFtc1sicGFyZW50Il0gIT0gIiIpew0KCQkkcGFyZW50b2JqID0gJHRoaXMtPmdldF9vYmp0cmVlKCRwYXJhbXNbInBhcmVudCJdLCAkdGhpcy0+Z2V0X25leHRsZXZlbCgkd2hhdCxmYWxzZSksICJhbGlhcyIpOw0KCX0NCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudG9iaiIsJHBhcmVudG9iaik7DQoJDQoJJHNlbGVjdGVkYWxpYXMgPSBmYWxzZTsNCgkvLyB3ZSBjaGVjayBpZiB0aGUgY3VycmVudCBwYWdlIGhhcyBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIG1vZHVsZSB3aGljaCBhcmUgaW4gYWN0aW9uDQoJJGdsb2IgPSAkdGhpcy0+Z2V0X21vZHVsZUdldFZhcnMoKTsNCglpZigkd2hhdCA9PSAkZmluYWxsZXZlbCAmJiBpc3NldCgkZ2xvYlsiYWxpYXMiXSkpew0KCQkkc2VsZWN0ZWRhbGlhcyA9ICRnbG9iWyJhbGlhcyJdOw0KCX1lbHNlaWYoaXNzZXQoJGdsb2JbInBhcmVudCJdKSAmJiBpc3NldCgkZ2xvYlsid2hhdCJdKSAmJiAkZ2xvYlsid2hhdCJdID09ICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0KSl7DQoJCSRzZWxlY3RlZGFsaWFzID0gJGdsb2JbInBhcmVudCJdOw0KCX0NCglpZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgaXNzZXQoJGdsb2JbInBhZ2VpbmRleCJdKSAmJiAhaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pKSAkcGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRnbG9iWyJwYWdlaW5kZXgiXTsNCglpZighaXNzZXQoJHRoaXMtPnBsY3VycmVudFskd2hhdF0pKQkkdGhpcy0+YnVpbGRHbG9iYWxUcmVlKCk7DQoJaWYoaXNzZXQoJHRoaXMtPnBsY3VycmVudFskd2hhdF0pKQkkc2VsZWN0ZWRhbGlhcyA9ICR0aGlzLT5wbGN1cnJlbnRbJHdoYXRdOw0KCWlmKGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSAmJiAhaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pKSAkcGFyYW1zWyJwYWdlaW5kZXgiXSA9ICR0aGlzLT5jdXJyZW50cGFnZWluZGV4Ow0KCSRsaW5rcmV0dXJuaWQgPSAoaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSk/JHRoaXMtPmdldF9wYWdlaWQoJHBhcmFtc1siZGV0YWlscGFnZSJdKTokcmV0dXJuaWQ7DQoNCgkvLyB3ZSByZXRyaWV2ZSB0aGUgdGVtcGxhdGUNCglpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkgJiYgJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0gIT0gIiIgJiYgJGN1c3RvbXRwbCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSwgJHRoaXMtPkdldE5hbWUoKSkpew0KCQkkdGVtcGxhdGUgPSAkY3VzdG9tdHBsOw0KCX1lbHNlew0KCQkkdGVtcGxhdGVuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV8iLiR3aGF0KTsNCgkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCX0NCg0KCS8vIGlmIFJBTkRPTSBvcHRpb24gaXMgc2V0LCB3ZSByYW5kb21seSBzZWxlY3RlZCBvbmx5IGEgbnVtYmVyIG9mIHRoZSBpdGVtcyByZXRyaWV2ZWQNCglpZiggaXNzZXQoJHBhcmFtc1sicmFuZG9tIl0pICYmICRwYXJhbXNbInJhbmRvbSJdID4gMCAmJiAkcGFyYW1zWyJyYW5kb20iXSA8IGNvdW50KCRpdGVtbGlzdCkgKXsNCgkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkkaSA9IDE7DQoJCSRzZWxlY3RlZCA9IGFycmF5KCk7DQoJCSRjdXJyYW5kID0gcmFuZCgwLChjb3VudCgkaXRlbWxpc3QpLTEpKTsNCgkJd2hpbGUoJGkgPD0gJHBhcmFtc1sicmFuZG9tIl0pew0KCQkJd2hpbGUoaW5fYXJyYXkoJGN1cnJhbmQsICRzZWxlY3RlZCkgJiYgY291bnQoJHNlbGVjdGVkKSA8IGNvdW50KCRpdGVtbGlzdCkpCSRjdXJyYW5kID0gcmFuZCgwLChjb3VudCgkaXRlbWxpc3QpLTEpKTsNCgkJCSRuZXdsaXN0W10gPSAkaXRlbWxpc3RbJGN1cnJhbmRdOw0KCQkJJHNlbGVjdGVkW10gPSAkY3VycmFuZDsNCgkJCSRpKys7DQoJCX0NCgkJJGl0ZW1saXN0ID0gJG5ld2xpc3Q7DQoJfQ0KCQkNCgkvLyBmaW5hbCBwcm9jZXNzaW5nIC0gd2UgY3JlYXRlIHRoZSBkZXRhaWxsaW5rcyBmb3IgZWFjaCBpdGVtDQoJJG5ld2xpc3QgPSBhcnJheSgpOw0KCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJJGl0ZW0gPSAkdGhpcy0+YWRkZnJvbnRlbmR1cmxzKCRpdGVtLCRwYXJhbXMsJGlkLCRsaW5rcmV0dXJuaWQpOw0KCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSAoJGl0ZW0tPmFsaWFzID09ICRzZWxlY3RlZGFsaWFzKT90cnVlOmZhbHNlOw0KCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJfQ0KCSRpdGVtbGlzdCA9ICRuZXdsaXN0Ow0KCQ0KCSR0aGlzLT5wYWdpbmF0ZSgkd2hhdCwkdG90YWwsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKTsNCgkNCgkvLyB3ZSBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5IGFuZCBwcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRpdGVtbGlzdCk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1jb3VudCIsY291bnQoJGl0ZW1saXN0KSk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkNCn1lbHNlew0KCQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIFdFIEFSRU4nVCBESVNQTEFZSU5HIEFOWVRISU5HIEFUIEFMTA0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZXJyb3JfbXNnIiwoaXNzZXQoJHBhcmFtc1siYWxpYXMiXSk/JHRoaXMtPkxhbmcoImVycm9yX25vdGZvdW5kIik6JHRoaXMtPkxhbmcoImVycm9yX25vaXRlbWZvdW5kIikpKTsNCgkkcGFyZW50b2JqID0gZmFsc2U7DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmICRwYXJlbnRsZXZlbCl7DQoJCSR0bXBmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kcGFyZW50bGV2ZWw7DQoJCSRwYXJlbnRvYmogPSAkdGhpcy0+JHRtcGZ1bmN0aW9uKGFycmF5KCJhbGlhcyI9PiRwYXJhbXNbInBhcmVudCJdKSk7DQoJCSRwYXJlbnRvYmogPSBpc3NldCgkcGFyZW50b2JqWzBdKT8kcGFyZW50b2JqWzBdOmZhbHNlOw0KCX0NCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudG9iaiIsJHBhcmVudG9iaik7DQoJDQoJJHRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImVtcHR5dGVtcGxhdGUiLCIqKiIpOw0KCWlmKCR0ZW1wbGF0ZSA9PSAiKioiKXsNCgkJLy8gd2UgdXNlIHRoZSBsaXN0IHRlbXBsYXRlDQoJCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSAmJiAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSAhPSAiIiAmJiAkY3VzdG9tdHBsID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdLCAkdGhpcy0+R2V0TmFtZSgpKSl7DQoJCQkkdGVtcGxhdGUgPSAkY3VzdG9tdHBsOw0KCQl9ZWxzZXsNCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlXyIuJHdoYXQpOw0KCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRpdGVtbGlzdCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoJHdoYXQuIl9wbHVyYWwiKSk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWNvdW50IiwwKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJwYWdlX3Nob3dpbmciPT5mYWxzZSwicGFnZV90b3RhbGl0ZW1zIj0+ZmFsc2UsInBhZ2VfcGFnZW51bWJlcnMiPT5mYWxzZSwicGFnZV9uZXh0Ij0+ZmFsc2UsInBhZ2VfcHJldmlvdXMiPT5mYWxzZSkpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCX1lbHNlew0KCQkvLyB3ZSB1c2UgdGhlIG5vcmVzdWx0IHRlbXBsYXRlDQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOw0KCX0NCg0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQokYWN0aXZlX3RhYiA9IGlzc2V0KCRwYXJhbXNbImFjdGl2ZV90YWIiXSk/JHBhcmFtc1siYWN0aXZlX3RhYiJdOiJjYXRlZ29yeSI7DQoNCiRoYXNfYWR2YW5jZWRfcGVybSA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpOw0KDQokZmlsdGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRpc3BsYXlfZmlsdGVyIixmYWxzZSk7DQokaW5zdGFudHNlYXJjaCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLGZhbHNlKTsNCiRpbnN0YW50c29ydCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzb3J0IixmYWxzZSk7DQokYWRtaW5wYWdlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhZG1pbnBhZ2VzIiwwKTsNCiR1c2VfaGllcmFyY2h5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoInVzZV9oaWVyYXJjaHkiLGZhbHNlKTsNCiR1c2Vfc2Vzc2lvbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2Vfc2Vzc2lvbiIsdHJ1ZSk7DQoNCmlmKCRpbnN0YW50c29ydCB8fCAkaW5zdGFudHNlYXJjaCl7DQoJZWNobyAnDQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KJzsNCglpZigkaW5zdGFudHNlYXJjaCkJZWNobyAkdGhpcy0+Z2V0RmlsZUNvbnRlbnQoImluc3RhbnRzZWFyY2guanMiKTsNCglpZigkaW5zdGFudHNvcnQpCWVjaG8gJHRoaXMtPmdldEZpbGVDb250ZW50KCJpbnN0YW50c29ydC5qcyIpOw0KCWVjaG8gIg0KCTwvc2NyaXB0Pg0KIjsNCn0NCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQoJaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9jYXRlZ29yeSIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfY2F0ZWdvcnkiKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJjYXRlZ29yeSIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeV9wbHVyYWwiKSwgImNhdGVnb3J5IiA9PSAkYWN0aXZlX3RhYiA/IHRydWUgOiBmYWxzZSk7DQoJfQ0KCWlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfYWxidW0iLGZhbHNlKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2FsYnVtIikgKSB7DQoJCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiYWxidW0iLCAkdGhpcy0+TGFuZygiYWxidW1fcGx1cmFsIiksICJhbGJ1bSIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOw0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X3ZpZGVvIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInZpZGVvIiwgJHRoaXMtPkxhbmcoInZpZGVvX3BsdXJhbCIpLCAidmlkZW8iID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgl9DQoJaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9maWVsZG9wdGlvbnMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJmaWVsZG9wdGlvbnMiLCAkdGhpcy0+TGFuZygiZmllbGRvcHRpb25zIiksICJmaWVsZG9wdGlvbnMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV90ZW1wbGF0ZXMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCAkdGhpcy0+TGFuZygidGVtcGxhdGVzIiksICJ0ZW1wbGF0ZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X3F1ZXJpZXMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJxdWVyaWVzIiwgJHRoaXMtPkxhbmcoInF1ZXJpZXMiKSwgInF1ZXJpZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInByZWZlcmVuY2VzIiwgJHRoaXMtPkxhbmcoInByZWZlcmVuY2VzIiksICJwcmVmZXJlbmNlcyIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOwkJDQoJfQ0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQoNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoNCg0KaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9jYXRlZ29yeSIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfY2F0ZWdvcnkiKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigiY2F0ZWdvcnkiKTsNCg0KCQkkd2hlcmVjbGF1c2UgPSBhcnJheSgpOw0KCQkkZmlsdGVyb3V0cHV0ID0gZmFsc2U7DQoNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaWx0ZXIiLCAkZmlsdGVyb3V0cHV0KTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpbnN0YW50c2VhcmNoIiwgJGluc3RhbnRzZWFyY2g/JHRoaXMtPkxhbmcoInNlYXJjaHRoaXN0YWJsZSIpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgInNlYXJjaHRhYmxlX2NhdGVnb3J5IiwgIiIsIDEwLCA2NCwgJyBvbmtleXVwPSJjdGxtbV9zZWFyY2godGhpcy52YWx1ZSxcJ2NhdGVnb3J5X3RhYmxlXCcpOyInKTpmYWxzZSk7DQoJCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0Y2F0XyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX2NhdGVnb3J5IikpKTsNCgkJJHJlb3JkZXJfYnRuID0gZmFsc2U7aWYoJGhhc19hZHZhbmNlZF9wZXJtIHx8ICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLGZhbHNlKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2NhdGVnb3J5IikpCSRyZW9yZGVyX2J0biA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInJlb3JkZXIiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9yZW9yZGVyLmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJyZW9yZGVyIikpOw0KCQkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicmVvcmRlciIsICRyZW9yZGVyX2J0bik7DQoJCSRsaW1pdCA9IGZhbHNlOw0KCQlpZigkYWRtaW5wYWdlcyl7DQoJCQkkbGltaXQgPSAoKGlzc2V0KCRwYXJhbXNbImNhdGVnb3J5X3BhZ2UiXSk/JHBhcmFtc1siY2F0ZWdvcnlfcGFnZSJdOjApICogJGFkbWlucGFnZXMpLiIsIi4kYWRtaW5wYWdlczsNCgkJfQ0KCQkNCgkJCSRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfbGV2ZWxfY2F0ZWdvcnkoaXNzZXQoJHdoZXJlY2xhdXNlKT8kd2hlcmVjbGF1c2U6YXJyYXkoKSx0cnVlLCAkaWQsICRyZXR1cm5pZCwgZmFsc2UsICRsaW1pdCk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRhYmxlaWQiLCAiY2F0ZWdvcnlfdGFibGUiKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KCQkJJGFkbWluc2hvdyA9IGFycmF5KA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksImVkaXRsaW5rIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImNhdGVnb3J5X2Rlc2NyaXB0aW9uIiksImRlc2NyaXB0aW9uIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0Iix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoInJlb3JkZXIiKSwibW92ZWxpbmtzIix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCJkZWxldGVsaW5rIix0cnVlKQkJDQoJCQkJKTsNCgkJCWlmKCRpbnN0YW50c29ydCAmJiBjb3VudCgkaXRlbWxpc3QpPjEpew0KCQkJCSRpID0gMDsNCgkJCQl3aGlsZSgkaTxjb3VudCgkYWRtaW5zaG93KSl7DQoJCQkJCWlmKCEkYWRtaW5zaG93WyRpXVsyXSkJJGFkbWluc2hvd1skaV1bMF0gPSAnPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPjxhIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9zb3J0Um93cyhcJ2NhdGVnb3J5X3RhYmxlXCcsJy4kaS4nKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfdXAuZ2lmIiBhbHQ9Il4iLz48L2E+PGJyLz48YSBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fc29ydFJvd3MoXCdjYXRlZ29yeV90YWJsZVwnLCcuJGkuJyx0cnVlKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfZG93bi5naWYiIGFsdD0idiIvPjwvYT48L2Rpdj48ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDogMjRweDsiPiAmbmJzcDsnLiRhZG1pbnNob3dbJGldWzBdLiI8L2Rpdj4iOw0KCQkJCQkkaSsrOw0KCQkJCX0NCgkJCX0NCgkJCWxpc3QoJHBhZ2VpbmZvLCAkbmV4dHBhZ2UsICRwcmV2aW91c3BhZ2UsICRwYWdlcykgPSAkdGhpcy0+YWRtaW5fcGFnaW5hdGUoImNhdGVnb3J5IiwkYWRtaW5wYWdlcywkaWQsJHJldHVybmlkLCRwYXJhbXMpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuZXh0cGFnZSIsICRuZXh0cGFnZSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInByZXZpb3VzcGFnZSIsICRwcmV2aW91c3BhZ2UpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlaW5mbyIsICRwYWdlaW5mbyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VzIiwgJHBhZ2VzKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KfQ0KDQppZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X2FsYnVtIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9hbGJ1bSIpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJhbGJ1bSIpOw0KDQoJaWYoJHRoaXMtPmNvdW50c29tZXRoaW5nKCJjYXRlZ29yeSIpID4gMCl7DQoNCgkJJHdoZXJlY2xhdXNlID0gYXJyYXkoKTsNCgkJJGZpbHRlcm91dHB1dCA9IGZhbHNlOw0KDQoJCQlpZigkZmlsdGVyKXsNCgkJCQkkY3VyX2ZpbHRlciA9IGZhbHNlOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImFsYnVtX3Nob3dvbmx5Il0pKXsNCgkJCQkJJGN1cl9maWx0ZXIgPSAkcGFyYW1zWyJhbGJ1bV9zaG93b25seSJdOw0KCQkJCQlpZigkdXNlX3Nlc3NvaW4pCSRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX2FsYnVtIl0gPSAkcGFyYW1zWyJhbGJ1bV9zaG93b25seSJdOw0KCQkJCX1lbHNlaWYoJHVzZV9zZXNzaW9uICYmIGlzc2V0KCRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX2FsYnVtIl0pICYmICRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX2FsYnVtIl0pew0KCQkJCQkkY3VyX2ZpbHRlciA9ICRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX2FsYnVtIl07DQoJCQkJfQ0KCQkJCWlmKCRjdXJfZmlsdGVyICYmICRjdXJfZmlsdGVyICE9ICIiKXsNCgkJCQkJJGZpbHRlcm9wdGlvbnMgPSBhcnJheV9mbGlwKCR0aGlzLT5nZXRfb3B0aW9ucygiY2F0ZWdvcnkiKSk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgPSBpc3NldCgkZmlsdGVyb3B0aW9uc1skcGFyYW1zWyJhbGJ1bV9zaG93b25seSJdXSk/JHRoaXMtPkxhbmcoInNob3dpbmdvbmx5IikuJGZpbHRlcm9wdGlvbnNbJHBhcmFtc1siYWxidW1fc2hvd29ubHkiXV0uIiAiOiIiOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoInNob3dhbGwiKSwgYXJyYXkoImFjdGl2ZV90YWIiID0+ICJhbGJ1bSIsICJhbGJ1bV9zaG93b25seSI9PmZhbHNlKSk7DQoJCQkJCSR3aGVyZWNsYXVzZSA9IGFycmF5KCJwYXJlbnRfaWQiPT4kcGFyYW1zWyJhbGJ1bV9zaG93b25seSJdKTsNCgkJCQl9ZWxzZXsJCQkJCQ0KCQkJCQlpZigkdXNlX2hpZXJhcmNoeSl7DQoJCQkJCQkkZmlsdGVyb3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygiYWxidW0iLHRydWUpOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCSRmaWx0ZXJvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJjYXRlZ29yeSIpOw0KCQkJCQl9DQoJCQkJCSRmaWx0ZXJvdXRwdXQgPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkxhbmcoImZpbHRlcmJ5X2NhdGVnb3J5IikuIiA6ICI7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAiYWxidW1fc2hvd29ubHkiLCAkZmlsdGVyb3B0aW9ucywgLTEpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJhY3RpdmVfdGFiIiwgImFsYnVtIik7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkJCQl9DQoJCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlsdGVyIiwgJGZpbHRlcm91dHB1dCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaW5zdGFudHNlYXJjaCIsICRpbnN0YW50c2VhcmNoPyR0aGlzLT5MYW5nKCJzZWFyY2h0aGlzdGFibGUiKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJzZWFyY2h0YWJsZV9hbGJ1bSIsICIiLCAxMCwgNjQsICcgb25rZXl1cD0iY3RsbW1fc2VhcmNoKHRoaXMudmFsdWUsXCdhbGJ1bV90YWJsZVwnKTsiJyk6ZmFsc2UpOw0KCQkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGFsYl8iLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZF9hbGJ1bSIpKSk7DQoJCSRyZW9yZGVyX2J0biA9IGZhbHNlO2lmKCRoYXNfYWR2YW5jZWRfcGVybSB8fCAhJHRoaXMtPkdldFByZWZlcmVuY2UoInJlc3RyaWN0X3Blcm1pc3Npb25zIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9hbGJ1bSIpKQkkcmVvcmRlcl9idG4gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJyZW9yZGVyIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygicmVvcmRlciIpKTsNCgkJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInJlb3JkZXIiLCAkcmVvcmRlcl9idG4pOw0KCQkkbGltaXQgPSBmYWxzZTsNCgkJaWYoJGFkbWlucGFnZXMpew0KCQkJJGxpbWl0ID0gKChpc3NldCgkcGFyYW1zWyJhbGJ1bV9wYWdlIl0pPyRwYXJhbXNbImFsYnVtX3BhZ2UiXTowKSAqICRhZG1pbnBhZ2VzKS4iLCIuJGFkbWlucGFnZXM7DQoJCX0NCgkJDQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX2FsYnVtKGlzc2V0KCR3aGVyZWNsYXVzZSk/JHdoZXJlY2xhdXNlOmFycmF5KCksdHJ1ZSwgJGlkLCAkcmV0dXJuaWQsIGZhbHNlLCAkbGltaXQpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0YWJsZWlkIiwgImFsYnVtX3RhYmxlIik7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwgJGl0ZW1saXN0KTsNCgkJCSRhZG1pbnNob3cgPSBhcnJheSgNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCJlZGl0bGluayIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJhY3RpdmUiKSwidG9nZ2xlYWN0aXZlIix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpLCJkZXNjcmlwdGlvbiIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJpc2RlZmF1bHQiKSwidG9nZ2xlZGVmYXVsdCIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFsYnVtX2xhbmciKSwibGFuZyIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X3dpZHRoIiksImRlZmF1bHRfd2lkdGgiLGZhbHNlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWxidW1fZGVmYXVsdF9oZWlnaHQiKSwiZGVmYXVsdF9oZWlnaHQiLGZhbHNlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCJkZWxldGVsaW5rIix0cnVlKQkJDQoJCQkJKTsNCgkJCWlmKCRpbnN0YW50c29ydCAmJiBjb3VudCgkaXRlbWxpc3QpPjEpew0KCQkJCSRpID0gMDsNCgkJCQl3aGlsZSgkaTxjb3VudCgkYWRtaW5zaG93KSl7DQoJCQkJCWlmKCEkYWRtaW5zaG93WyRpXVsyXSkJJGFkbWluc2hvd1skaV1bMF0gPSAnPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPjxhIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9zb3J0Um93cyhcJ2FsYnVtX3RhYmxlXCcsJy4kaS4nKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfdXAuZ2lmIiBhbHQ9Il4iLz48L2E+PGJyLz48YSBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fc29ydFJvd3MoXCdhbGJ1bV90YWJsZVwnLCcuJGkuJyx0cnVlKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfZG93bi5naWYiIGFsdD0idiIvPjwvYT48L2Rpdj48ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDogMjRweDsiPiAmbmJzcDsnLiRhZG1pbnNob3dbJGldWzBdLiI8L2Rpdj4iOw0KCQkJCQkkaSsrOw0KCQkJCX0NCgkJCX0NCgkJCWxpc3QoJHBhZ2VpbmZvLCAkbmV4dHBhZ2UsICRwcmV2aW91c3BhZ2UsICRwYWdlcykgPSAkdGhpcy0+YWRtaW5fcGFnaW5hdGUoImFsYnVtIiwkYWRtaW5wYWdlcywkaWQsJHJldHVybmlkLCRwYXJhbXMpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuZXh0cGFnZSIsICRuZXh0cGFnZSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInByZXZpb3VzcGFnZSIsICRwcmV2aW91c3BhZ2UpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlaW5mbyIsICRwYWdlaW5mbyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VzIiwgJHBhZ2VzKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoNCgl9ZWxzZXsNCgkJZWNobyAiPHA+Ii4kdGhpcy0+TGFuZygiZXJyb3Jfbm9wYXJlbnQiKS4iPC9wPiI7DQoJfQ0KDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCn0NCg0KaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV92aWRlbyIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfdmlkZW8iKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigidmlkZW8iKTsNCg0KCWlmKCR0aGlzLT5jb3VudHNvbWV0aGluZygiYWxidW0iKSA+IDApew0KDQoJCSR3aGVyZWNsYXVzZSA9IGFycmF5KCk7DQoJCSRmaWx0ZXJvdXRwdXQgPSBmYWxzZTsNCg0KCQkJaWYoJGZpbHRlcil7DQoJCQkJJGN1cl9maWx0ZXIgPSBmYWxzZTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJ2aWRlb19zaG93b25seSJdKSl7DQoJCQkJCSRjdXJfZmlsdGVyID0gJHBhcmFtc1sidmlkZW9fc2hvd29ubHkiXTsNCgkJCQkJaWYoJHVzZV9zZXNzb2luKQkkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl92aWRlbyJdID0gJHBhcmFtc1sidmlkZW9fc2hvd29ubHkiXTsNCgkJCQl9ZWxzZWlmKCR1c2Vfc2Vzc2lvbiAmJiBpc3NldCgkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl92aWRlbyJdKSAmJiAkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl92aWRlbyJdKXsNCgkJCQkJJGN1cl9maWx0ZXIgPSAkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl92aWRlbyJdOw0KCQkJCX0NCgkJCQlpZigkY3VyX2ZpbHRlciAmJiAkY3VyX2ZpbHRlciAhPSAiIil7DQoJCQkJCSRmaWx0ZXJvcHRpb25zID0gYXJyYXlfZmxpcCgkdGhpcy0+Z2V0X29wdGlvbnMoImFsYnVtIikpOw0KCQkJCQkkZmlsdGVyb3V0cHV0ID0gaXNzZXQoJGZpbHRlcm9wdGlvbnNbJHBhcmFtc1sidmlkZW9fc2hvd29ubHkiXV0pPyR0aGlzLT5MYW5nKCJzaG93aW5nb25seSIpLiRmaWx0ZXJvcHRpb25zWyRwYXJhbXNbInZpZGVvX3Nob3dvbmx5Il1dLiIgIjoiIjsNCgkJCQkJJGZpbHRlcm91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJzaG93YWxsIiksIGFycmF5KCJhY3RpdmVfdGFiIiA9PiAidmlkZW8iLCAidmlkZW9fc2hvd29ubHkiPT5mYWxzZSkpOw0KCQkJCQkkd2hlcmVjbGF1c2UgPSBhcnJheSgicGFyZW50X2lkIj0+JHBhcmFtc1sidmlkZW9fc2hvd29ubHkiXSk7DQoJCQkJfWVsc2V7CQkJCQkNCgkJCQkJaWYoJHVzZV9oaWVyYXJjaHkpew0KCQkJCQkJJGZpbHRlcm9wdGlvbnMgPSAkdGhpcy0+Z2V0X2FkbWluX2hpZXJhcmNoeW9wdGlvbnMoInZpZGVvIix0cnVlKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQkkZmlsdGVyb3B0aW9ucyA9ICR0aGlzLT5nZXRfb3B0aW9ucygiYWxidW0iKTsNCgkJCQkJfQ0KCQkJCQkkZmlsdGVyb3V0cHV0ID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5MYW5nKCJmaWx0ZXJieV9hbGJ1bSIpLiIgOiAiOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgInZpZGVvX3Nob3dvbmx5IiwgJGZpbHRlcm9wdGlvbnMsIC0xKTsNCgkJCQkJJGZpbHRlcm91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWN0aXZlX3RhYiIsICJ2aWRlbyIpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJCQkJfQ0KCQkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImZpbHRlciIsICRmaWx0ZXJvdXRwdXQpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImluc3RhbnRzZWFyY2giLCAkaW5zdGFudHNlYXJjaD8kdGhpcy0+TGFuZygic2VhcmNodGhpc3RhYmxlIikuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAic2VhcmNodGFibGVfdmlkZW8iLCAiIiwgMTAsIDY0LCAnIG9ua2V5dXA9ImN0bG1tX3NlYXJjaCh0aGlzLnZhbHVlLFwndmlkZW9fdGFibGVcJyk7IicpOmZhbHNlKTsNCgkJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkZG5ldyIsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXR2aWRfIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfdmlkZW8iKSkpOw0KCQkkcmVvcmRlcl9idG4gPSBmYWxzZTtpZigkaGFzX2FkdmFuY2VkX3Blcm0gfHwgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfdmlkZW8iKSkJJHJlb3JkZXJfYnRuID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAicmVvcmRlciIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3Jlb3JkZXIuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoInJlb3JkZXIiKSk7DQoJCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJyZW9yZGVyIiwgJHJlb3JkZXJfYnRuKTsNCgkJJGxpbWl0ID0gZmFsc2U7DQoJCWlmKCRhZG1pbnBhZ2VzKXsNCgkJCSRsaW1pdCA9ICgoaXNzZXQoJHBhcmFtc1sidmlkZW9fcGFnZSJdKT8kcGFyYW1zWyJ2aWRlb19wYWdlIl06MCkgKiAkYWRtaW5wYWdlcykuIiwiLiRhZG1pbnBhZ2VzOw0KCQl9DQoJCQ0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF92aWRlbyhpc3NldCgkd2hlcmVjbGF1c2UpPyR3aGVyZWNsYXVzZTphcnJheSgpLHRydWUsICRpZCwgJHJldHVybmlkLCBmYWxzZSwgJGxpbWl0KTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidGFibGVpZCIsICJ2aWRlb190YWJsZSIpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJCQkkYWRtaW5zaG93ID0gYXJyYXkoDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwiZWRpdGxpbmsiLGZhbHNlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0Iix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19zaXRlIiksInNpdGVfbmFtZXZhbHVlIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoInZpZGVvX3ZpZGVvaWQiKSwidmlkZW9pZCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19kZXNjcmlwdGlvbiIpLCJkZXNjcmlwdGlvbiIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb193aWR0aCIpLCJ3aWR0aCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19oZWlnaHQiKSwiaGVpZ2h0IixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIkFjdGlvbnMiKSwiZGVsZXRlbGluayIsdHJ1ZSkJCQ0KCQkJCSk7DQoJCQlpZigkaW5zdGFudHNvcnQgJiYgY291bnQoJGl0ZW1saXN0KT4xKXsNCgkJCQkkaSA9IDA7DQoJCQkJd2hpbGUoJGk8Y291bnQoJGFkbWluc2hvdykpew0KCQkJCQlpZighJGFkbWluc2hvd1skaV1bMl0pCSRhZG1pbnNob3dbJGldWzBdID0gJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij48YSBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fc29ydFJvd3MoXCd2aWRlb190YWJsZVwnLCcuJGkuJyk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X3VwLmdpZiIgYWx0PSJeIi8+PC9hPjxici8+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwndmlkZW9fdGFibGVcJywnLiRpLicsdHJ1ZSk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X2Rvd24uZ2lmIiBhbHQ9InYiLz48L2E+PC9kaXY+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDI0cHg7Ij4gJm5ic3A7Jy4kYWRtaW5zaG93WyRpXVswXS4iPC9kaXY+IjsNCgkJCQkJJGkrKzsNCgkJCQl9DQoJCQl9DQoJCQlsaXN0KCRwYWdlaW5mbywgJG5leHRwYWdlLCAkcHJldmlvdXNwYWdlLCAkcGFnZXMpID0gJHRoaXMtPmFkbWluX3BhZ2luYXRlKCJ2aWRlbyIsJGFkbWlucGFnZXMsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmV4dHBhZ2UiLCAkbmV4dHBhZ2UpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwcmV2aW91c3BhZ2UiLCAkcHJldmlvdXNwYWdlKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZWluZm8iLCAkcGFnZWluZm8pOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlcyIsICRwYWdlcyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOw0KDQoJfWVsc2V7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoImVycm9yX25vcGFyZW50IikuIjwvcD4iOw0KCX0NCg0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQp9DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJuZXh0cGFnZSI9PmZhbHNlLCJwcmV2aW91c3BhZ2UiPT5mYWxzZSwicGFnZWluZm8iPT5mYWxzZSwicGFnZXMiPT5mYWxzZSkpOw0KDQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiTW9kaWZ5IFRlbXBsYXRlcyIpIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X2ZpZWxkb3B0aW9ucyIsZmFsc2UpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJmaWVsZG9wdGlvbnMiKTsNCg0KCWVjaG8gIjxmaWVsZHNldCBzdHlsZT1cIndpZHRoOiA2MDBweDtcIj48bGVnZW5kPjxiPih2aWRlbykgc2l0ZSA6PC9iPjwvbGVnZW5kPjx1bD4iOw0KCSRvcHRpb25zID0gJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiLHRydWUpOw0KCWVjaG8gJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPic7DQoJJHJvd2NsYXNzID0gMTsNCglmb3JlYWNoKCRvcHRpb25zIGFzICRvcHRpb24pew0KCQkkbmV3cGFyYW1zID0gYXJyYXkoImZpZWxkIj0+InZpZGVvX3NpdGUiLCAib3B0aW9uaWQiPT4kb3B0aW9uLT5pZCwgImN1cnJlbnRvcmRlciI9PiRvcHRpb24tPml0ZW1fb3JkZXIpOw0KCQllY2hvICINCgkJPHRyIGNsYXNzPVwicm93Ii4kcm93Y2xhc3MuIlwiPjx0ZD4iLiRvcHRpb24tPm5hbWUuIjwvdGQ+PHRkIHdpZHRoPVwiMTIwXCI+IjsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJyZW5hbWVfb3B0aW9udmFsdWUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9lZGl0LmdpZiIsIGxhbmcoImVkaXQiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZSgkbmV3cGFyYW1zLCBhcnJheSgib3B0aW9ubmFtZSI9PiRvcHRpb24tPm5hbWUpKSkuIiAiOw0KCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlbGV0ZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLGxhbmcoImRlbGV0ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksICRuZXdwYXJhbXMsICR0aGlzLT5MYW5nKCJwcm9tcHRfZGVsZXRlb3B0aW9uIikpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVfb3B0aW9udmFsdWUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy11LmdpZiIsbGFuZygidXAiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZSgkbmV3cGFyYW1zLCBhcnJheSgibW92ZSI9PiJ1cCIpKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmIixsYW5nKCJkb3duIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoJG5ld3BhcmFtcywgYXJyYXkoIm1vdmUiPT4iZG93biIpKSk7DQoJCWVjaG8gIjwvdGQ+PC90cj4iOw0KCQkkcm93Y2xhc3MgPSAkcm93Y2xhc3MgPT0gMT8yOjE7DQoJfQ0KCWVjaG8gIjwvdGFibGU+IjsNCgllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiYWRkX29wdGlvbnZhbHVlIik7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoImFkZG9wdGlvbiIpLiI6ICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJvcHRpb25uYW1lIiwgIiIsIDIwLCA2NCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImZpZWxkIiwgInZpZGVvX3NpdGUiKTsNCgkJZWNobyAiICIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCWVjaG8gIjwvcD48L2ZpZWxkc2V0Pjxici8+PGJyLz4iOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJmaWx0ZXIiPT5mYWxzZSwicmVvcmRlciI9PmZhbHNlLCJpbnN0YW50c2VhcmNoIj0+ZmFsc2UsInRhYmxlaWQiPT5mYWxzZSkpOw0KDQppZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV90ZW1wbGF0ZXMiLGZhbHNlKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGVzIik7DQoJDQogICAgZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygiZGVmYXVsdHRlbXBsYXRlcyIpLiI8L2I+PC9sZWdlbmQ+IjsNCiAgICBlY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiY2hhbmdlZGVmdGVtcGxhdGVzIiwgJHJldHVybmlkKTsNCiAgICAkdGVtcGxhdGVsaXN0ID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSk7DQogICAgJGRlZnRwbHMgPSAkdGhpcy0+Z2V0RGVmYXVsdFRlbXBsYXRlcygpOw0KICAgICR0cGxvcHRpb25zID0gYXJyYXkoKTsNCiAgICAkaXRlbWxpc3QgPSBhcnJheSgpOw0KICAgIGZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkb25ldHBsKXsNCgkgICAkdHBsb3B0aW9uc1skb25ldHBsXSA9ICRvbmV0cGw7DQoJICAgJHRwbCA9IG5ldyBzdGRDbGFzcygpOw0KCSAgICR0cGwtPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCwgJG9uZXRwbCwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCSAgICR0cGwtPmRlbGV0ZWxpbmsgPSBpbl9hcnJheSgkb25ldHBsLCAkZGVmdHBscyk/IiI6JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImRlbGV0ZXRwbCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLCAkdGhpcy0+TGFuZygiZGVsZXRlIiksICIiLCAiIiwgInN5c3RlbWljb24iKSwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCSAgIGFycmF5X3B1c2goJGl0ZW1saXN0LCAkdHBsKTsNCiAgICB9DQoNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJjYXRlZ29yeVwiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfY2F0ZWdvcnkiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfY2F0ZWdvcnkiKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJhbGJ1bVwiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfYWxidW0iLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfYWxidW0iKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJ2aWRlb1wiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfdmlkZW8iLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfdmlkZW8iKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCiAgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZkZXRhaWx0ZW1wbGF0ZSIpLiI6PC9wPg0KCQkJIDxwIGNsYXNzPVwicGFnZWlucHV0XCI+Ii4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImZpbmFsdGVtcGxhdGUiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmaW5hbHRlbXBsYXRlIikpLiI8L3A+DQoJCTwvZGl2Pg0KCSI7DQogICAgZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmZW1iZWR0ZW1wbGF0ZSIpLiI6PC9wPg0KCQkJIDxwIGNsYXNzPVwicGFnZWlucHV0XCI+Ii4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImVtYmVkdGVtcGxhdGUiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbWJlZHRlbXBsYXRlIikpLiI8L3A+DQoJCTwvZGl2Pg0KCSI7DQoJJHRwbG9wdGlvbnNbJHRoaXMtPkxhbmcoInVzZWxldmVsbGlzdHRwbCIpXSA9ICIqKiI7DQoJZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmc2VhcmNocmVzdWx0c3RlbXBsYXRlIikuIjo8L3A+DQoJCQkgPHAgY2xhc3M9XCJwYWdlaW5wdXRcIj4iLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwiKioiKSkuIjwvcD4NCgkJPC9kaXY+DQoJIjsNCgllY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZlbXB0eXRlbXBsYXRlIikuIjo8L3A+DQoJCQkgPHAgY2xhc3M9XCJwYWdlaW5wdXRcIj4iLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZW1wdHl0ZW1wbGF0ZSIsJHRwbG9wdGlvbnMsLTEsJHRoaXMtPkdldFByZWZlcmVuY2UoImVtcHR5dGVtcGxhdGUiLCIqKiIpKS4iPC9wPg0KCQk8L2Rpdj4NCiAgICA8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuIjwvcD4iOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KICAgIGVjaG8gIjwvZmllbGRzZXQ+PGJyLz48YnIvPiI7DQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZHRlbXBsYXRlIikpKTsNCiAgICAkYWRtaW5zaG93ID0gYXJyYXkoCWFycmF5KCR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZSIpLCAiZWRpdGxpbmsiLCBmYWxzZSksIGFycmF5KCR0aGlzLT5MYW5nKCJBY3Rpb25zIiksICJkZWxldGVsaW5rIiwgZmFsc2UpCSk7DQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfcXVlcmllcyIsZmFsc2UpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJxdWVyaWVzIik7DQoNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9xdWVyaWVzKCR3aGVyZT1hcnJheSgpLCB0cnVlLCAkaWQsICRyZXR1cm5pZCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3Q/JGl0ZW1saXN0OmFycmF5KCkpOw0KCQkkYWRtaW5zaG93ID0gYXJyYXkoIGFycmF5KCJpZCIsImlkIiksDQoJCQkJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwgIm5hbWUiKSwNCgkJCQkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCAiYWN0aW9ucyIpDQoJCQkJCQkJKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJhZG1pbnF1ZXJ5IiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJjcmVhdGVxdWVyeSIpKSk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCgkJDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gKSB7DQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoInByZWZlcmVuY2VzIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImNoYW5nZXByZWZlcmVuY2VzIiwgJHJldHVybmlkKTsNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNDY1cHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJwcmVmX3RhYmRpc3BsYXkiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCgkkdGFiZGlzcGxheSA9IGFycmF5KCJjYXRlZ29yeSIsImFsYnVtIiwidmlkZW8iLCJmaWVsZG9wdGlvbnMiLCJ0ZW1wbGF0ZXMiLCJxdWVyaWVzIik7DQoJZm9yZWFjaCgkdGFiZGlzcGxheSBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxsaT4iLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgInRhYmRpc3BsYXlfIi4kb25lcHJlZiwgdHJ1ZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfIi4kb25lcHJlZixmYWxzZSkpLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iPC9saT4NCgkiOw0KCX0NCgllY2hvICI8L3VsPjxici8+PHA+Ii4kdGhpcy0+TGFuZygiaGVscF90YWJkaXNwbGF5IikuIjwvcD4NCjwvZmllbGRzZXQ+PGJyLz4NCiI7DQoJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDQ2NXB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygicHJlZl9zZWFyY2htb2R1bGVfaW5kZXgiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCglmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRvbmVwcmVmKXsNCgkJZWNobyAiPGxpPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAic2VhcmNobW9kdWxlX2luZGV4XyIuJG9uZXByZWYsIHRydWUsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfIi4kb25lcHJlZixmYWxzZSkpLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iPC9saT4NCgkiOw0KCX0NCgllY2hvICI8L3VsPjxici8+PHA+Ii4kdGhpcy0+TGFuZygiaGVscF9zZWFyY2htb2R1bGVfaW5kZXgiKS4iPC9wPg0KPC9maWVsZHNldD48YnIvPg0KIjsNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNDY1cHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJwcmVmX25ld2l0ZW1zZmlyc3QiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCglmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRvbmVwcmVmKXsNCgkJZWNobyAiPGxpPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAibmV3aXRlbXNmaXJzdF8iLiRvbmVwcmVmLCB0cnVlLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF8iLiRvbmVwcmVmLGZhbHNlKSkuJHRoaXMtPkxhbmcoJG9uZXByZWYpLiI8L2xpPg0KCSI7DQoJfQ0KCWVjaG8gIjwvdWw+PGJyLz48cD4iLiR0aGlzLT5MYW5nKCJoZWxwX25ld2l0ZW1zZmlyc3QiKS4iPC9wPg0KPC9maWVsZHNldD48YnIvPg0KIjsNCg0KCWVjaG8gIjxmaWVsZHNldCBzdHlsZT1cIndpZHRoOiA0NjVweDtcIj48bGVnZW5kPjxiPiIuJHRoaXMtPkxhbmcoInByZWZfbGV2ZWxwYWdpbmF0aW9uIikuIjo8L2I+PC9sZWdlbmQ+PHVsPg0KCSI7DQoJZm9yZWFjaCgkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxsaT4iLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iOiAiOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkb25lcHJlZi4iX3BhZ2luYXRpb24iLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkb25lcHJlZi4iX3BhZ2luYXRpb24iLDApLCAxMiwgMykuIjwvbGk+DQoJIjsNCgl9DQoJZWNobyAiPC91bD48YnIvPjxwPiIuJHRoaXMtPkxhbmcoImhlbHBfbGV2ZWxwYWdpbmF0aW9uIikuIjwvcD4NCjwvZmllbGRzZXQ+PGJyLz4NCiI7DQoNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNjAwcHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJwcmVmZXJlbmNlcyIpLiI6PC9iPjwvbGVnZW5kPg0KCSI7DQoJJGNoZWNrYm94cHJlZnMgPSBhcnJheSgibG9hZF9uYmNoaWxkcmVuIiwibG9hZF9uZXh0cHJldmlvdXMiLCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsInVzZV9oaWVyYXJjaHkiLCJvcmRlcmJ5bmFtZSIsImRpc3BsYXlfZmlsdGVyIiwiZGlzcGxheV9pbnN0YW50c2VhcmNoIiwiZGlzcGxheV9pbnN0YW50c29ydCIsImVkaXRhYmxlX2FsaWFzZXMiLCJhdXRvaW5jcmVtZW50X2FsaWFzIiwiYWxsb3dfc3FsIiwiZm9yY2VfbGlzdCIsInNob3d0aHVtYm5haWxzIiwiZGVsZXRlX2ZpbGVzIiwiYWxsb3dfY29tcGxleF9vcmRlciIsInVzZV9zZXNzaW9uIik7DQoJZm9yZWFjaCgkY2hlY2tib3hwcmVmcyBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkb25lcHJlZiwgdHJ1ZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJG9uZXByZWYsZmFsc2UpKS4iICIuJHRoaXMtPkxhbmcoInByZWZfIi4kb25lcHJlZikuIjwvcD4NCgkiOw0KCX0NCgllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJwcmVmX2FkbWlucGFnZXMiKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgImFkbWlucGFnZXMiLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYWRtaW5wYWdlcyIsMCksIDEyLCAzKS4iPC9wPg0KCSI7DQoJZWNobyAiPHA+Ii4kdGhpcy0+TGFuZygicHJlZl9tYXhzaG93bnBhZ2VzIikuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJtYXhzaG93bnBhZ2VzIiwgJHRoaXMtPkdldFByZWZlcmVuY2UoIm1heHNob3ducGFnZXMiLDcpLCAxMiwgMikuIjwvcD4NCgkiOw0KCWVjaG8gIjwvZmllbGRzZXQ+PGJyLz48cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuIjwvcD4iOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgllY2hvICI8YnIvPjxwPiIuJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ltcG9ydC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIjsNCgllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImV4cG9ydCIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoImV4cG9ydF90aXRsZSIpKS4iIHwgIi4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJpbXBvcnQiLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJpbXBvcnRfdGl0bGUiKSkuIjwvcD4iOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KDQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editalb_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9hbGJ1bSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImFsYnVtIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygiYWxidW0iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJjYXRlZ29yeSIpOw0KfQ0KDQppZihpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bShhcnJheSgiaWQiPT4kcGFyYW1zWyJhbGJfaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1siYWxiX2Rlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5sYW5nID0gJHBhcmFtc1siYWxiX2xhbmciXTsNCgkJJGl0ZW0tPmRlZmF1bHRfd2lkdGggPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF93aWR0aCJdOw0KCQkkaXRlbS0+ZGVmYXVsdF9oZWlnaHQgPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXTsNCgkJJGl0ZW0tPnBhcmVudCA9ICRwYXJhbXNbImFsYl9wYXJlbnQiXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJhbGJfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siYWxiX2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siYWxiX2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJhbGJfbGFuZyJdKSB8fCAkcGFyYW1zWyJhbGJfbGFuZyJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSkgfHwgJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9kZWZhdWx0X2hlaWdodCJdKSB8fCAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9uYW1lIl0pIHx8ICRwYXJhbXNbImFsYl9uYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKCEkYXV0b2luY3JlbWVudGFsaWFzICYmIGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2FsYnVtIiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSk/JHBhcmFtc1siYWxiX2lkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQlpZigkYXV0b2luY3JlbWVudGFsaWFzKXsNCgkJCSRiYXNlYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkdG1wYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkaSA9IDE7DQoJCQl3aGlsZSghJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfYWxidW0iLCAkdG1wYWxpYXMsIGlzc2V0KCRwYXJhbXNbImFsYl9pZCJdKT8kcGFyYW1zWyJhbGJfaWQiXTpmYWxzZSkpew0KCQkJCSR0bXBhbGlhcyA9ICRiYXNlYWxpYXMuIl8iLiRpOw0KCQkJCSRpKys7DQoJCQl9DQoJCQkkaXRlbS0+YWxpYXMgPSAkdG1wYWxpYXM7DQoJCX0NCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCANCgkJCWRlc2NyaXB0aW9uPT8sDQoJCQlsYW5nPT8sDQoJCQlkZWZhdWx0X3dpZHRoPT8sDQoJCQlkZWZhdWx0X2hlaWdodD0/LA0KCQkJcGFyZW50PT8sDQoJCQluYW1lPT8sDQoJCWFsaWFzPT8sDQoJCWRhdGVfbW9kaWZpZWQ9PywNCgkJYWN0aXZlPSIuKGlzc2V0KCRpdGVtLT5hY3RpdmUpPyRpdGVtLT5hY3RpdmU6MSkuIiwNCgkJaXNkZWZhdWx0PSIuKGlzc2V0KCRpdGVtLT5pc2RlZmF1bHQpPyRpdGVtLT5pc2RlZmF1bHQ6MCkuIiI7DQoJCQkNCgkJLy8gVkFMVUVTDQoJCSR2YWx1ZXMgPSBhcnJheShhZGRzbGFzaGVzKCRpdGVtLT5kZXNjcmlwdGlvbiksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5sYW5nKSwNCgkJCSRpdGVtLT5kZWZhdWx0X3dpZHRoLA0KCQkJJGl0ZW0tPmRlZmF1bHRfaGVpZ2h0LA0KCQkJJGl0ZW0tPnBhcmVudCwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLCRpdGVtLT5hbGlhcyxzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkZXZlbnQgPSAiSFZBX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkcXVlcnkgLj0gIiwgZGF0ZV9jcmVhdGVkPT8iOw0KCQkJJHZhbHVlc1tdID0gc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSk7DQoJCQkkZXZlbnQgPSAiSFZBX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW1fc2VxIik7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF9hbGJ1bSIsZmFsc2UpKXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3AgLSBzbyB3ZSBtdXN0IHB1dCBhbGwgb3RoZXIgaXRlbXMgZG93biBmcm9tIG9uZSBzdGVwLCBhbmQgdGhlbiBzZXQgdGhpcyBpdGVtJ3Mgb3JkZXIgdG8gMQ0KCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9MSwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9ZWxzZXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSBib3R0b20gLSBzbyB3ZSBtdXN0IHNldCB0aGUgaXRlbV9vcmRlciB0byB0aGUgbnVtYmVyIG9mIGl0ZW1zICsgMQ0KCQkJCSRpdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJhbGJ1bSIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPSIuJGl0ZW1fb3JkZXIuIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9DQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCglpZihpc3NldCgkcGFyYW1zWyJvbGRwYXJlbnQiXSkgJiYgJHBhcmFtc1sib2xkcGFyZW50Il0gIT0gJGl0ZW0tPnBhcmVudCl7DQoJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJDQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2FsYnVtIixmYWxzZSkpew0KCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgdG9wDQoJCQkNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiYWxidW0iLCJpZCIsYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnQpKSArIDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoNCgkJfWVsc2V7DQoNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gVVBEQVRFIE5FVyBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9IDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCQ0KCQl9DQoJfQ0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2FsYnVtIixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJhbGJ1bSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiYWxidW0iLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJhbGJ1bSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYW5nX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2xhbmciKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2xhbmciLGlzc2V0KCRpdGVtKT8kaXRlbS0+bGFuZzoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X3dpZHRoX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2RlZmF1bHRfd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlZmF1bHRfd2lkdGhfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfd2lkdGgiLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVmYXVsdF93aWR0aDoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X2hlaWdodF9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X2hlaWdodCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVmYXVsdF9oZWlnaHRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfaGVpZ2h0Iixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlZmF1bHRfaGVpZ2h0OiIiLDMwLDEwKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJhbGJfbmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudF9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJhbGJfcGFyZW50IiwkcGFyZW50b3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnBhcmVudDowKSk7aWYoaXNzZXQoJGl0ZW0pKSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsaWFzIikpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2FsaWFzIixpc3NldCgkaXRlbSk/JGl0ZW0tPmFsaWFzOiIiLDUwLDY0KSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtYWxpYXMiLGZhbHNlKTsNCn1lbHNlew0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixpc3NldCgkaXRlbS0+YWxpYXMpPyIoYWxpYXMgOiAiLiRpdGVtLT5hbGlhcy4iKSI6ZmFsc2UpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCBmYWxzZSk7DQp9DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJHRoaXMtPkxhbmcoImVkaXRfYWxidW0iKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImNhbmNlbCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkpOw0KDQoNCi8vIERJU1BMQVlJTkcNCmlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKXsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRhbGJfIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0YWxiXy50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWxiX2lkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWxiX2l0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRhbGJfIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRhbGJfLnRwbCIpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editcat_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImNhdGVnb3J5Iik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQoNCmlmKGlzc2V0KCRwYXJhbXNbImNhdF9pZCJdKSkgew0KCS8vIGlmIHdlIGFyZSB3b3JraW5nIG9uIGFuIGl0ZW0gdGhhdCBleGlzdHMsIHdlIGxvYWQgaXQuIFdlIG11c3QgZG8gdGhpcyBldmVuIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkLCBvdGhlcndpc2Ugd2Ugd29uJ3QgaGF2ZSB0aGUgZmlsZSBmaWVsZHMNCgkkaXRlbXMgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KGFycmF5KCJpZCI9PiRwYXJhbXNbImNhdF9pZCJdKSk7DQoJJGl0ZW0gPSAkaXRlbXNbMF07DQp9DQoNCi8vIENIRUNLIElGIFRIRSBGT1JNIElTIEJFSU5HIFNVQk1JVFRFRCA6DQovLyAod2UgbXVzdCBkZXRlY3QgYWxsIGtpbmRzIG9mIHN1Ym1pdCBidXR0b25zLCBpbmNsdWRpbmcgZmlsZXMsIHNpbmNlIGluZm9ybWF0aW9uIG11c3QgYmUgc2F2ZWQgYmVmb3JlIHdlIGdvIHRvIGZpbGUgc3VibWlzc2lvbikNCmlmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgDQoJaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkgDQoJKQ0Kew0KCWRlYnVnX2J1ZmZlcigiRWRpdCBGb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCIuX19MSU5FX18pOw0KDQoJLy8gUkVUUklFVklORyBUSEUgRk9STSBWQUxVRVMgKGFuZCBlc2NhcGluZyBpdCwgaWYgbmVlZGVkKQ0KCWlmKCFpc3NldCgkaXRlbSkpICRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXSkpICRpdGVtLT5pdGVtX29yZGVyID0gJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXTsNCgkkaXRlbS0+ZGVzY3JpcHRpb24gPSAkcGFyYW1zWyJjYXRfZGVzY3JpcHRpb24iXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJjYXRfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siY2F0X2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJjYXRfbmFtZSJdKSB8fCAkcGFyYW1zWyJjYXRfbmFtZSJdID09ICIiDQoJCSApDQoJew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJlcnJvcl9taXNzZ2ludmFsdWUiKSk7DQoJfWVsc2VpZighJGF1dG9pbmNyZW1lbnRhbGlhcyAmJiBmYWxzZSA9PSAkdGhpcy0+Y2hlY2thbGlhcygibW9kdWxlX0hWQV9jYXRlZ29yeSIsICRpdGVtLT5hbGlhcywgaXNzZXQoJHBhcmFtc1siY2F0X2lkIl0pPyRwYXJhbXNbImNhdF9pZCJdOmZhbHNlKSl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX2FscmVhZHlleGlzdHMiKSk7DQoJfWVsc2V7DQoJCSMjIyMjIyMjIyMjIyBET0lORyBUSEUgVVBEQVRFDQoNCgkJaWYoJGF1dG9pbmNyZW1lbnRhbGlhcyl7DQoJCQkkYmFzZWFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJHRtcGFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJGkgPSAxOw0KCQkJd2hpbGUoISR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2NhdGVnb3J5IiwgJHRtcGFsaWFzLCBpc3NldCgkcGFyYW1zWyJjYXRfaWQiXSk/JHBhcmFtc1siY2F0X2lkIl06ZmFsc2UpKXsNCgkJCQkkdG1wYWxpYXMgPSAkYmFzZWFsaWFzLiJfIi4kaTsNCgkJCQkkaSsrOw0KCQkJfQ0KCQkJJGl0ZW0tPmFsaWFzID0gJHRtcGFsaWFzOw0KCQl9DQoNCgkJLy8gRklFTERTIFRPIFVQREFURQ0KCQkkcXVlcnkgPSAoaXNzZXQoJGl0ZW0tPmlkKT8iVVBEQVRFICI6IklOU0VSVCBJTlRPICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSBTRVQgDQoJCQlkZXNjcmlwdGlvbj0/LA0KCQkJbmFtZT0/LA0KCQlhbGlhcz0/LA0KCQlkYXRlX21vZGlmaWVkPT8sDQoJCWFjdGl2ZT0iLihpc3NldCgkaXRlbS0+YWN0aXZlKT8kaXRlbS0+YWN0aXZlOjEpLiIsDQoJCWlzZGVmYXVsdD0iLihpc3NldCgkaXRlbS0+aXNkZWZhdWx0KT8kaXRlbS0+aXNkZWZhdWx0OjApLiIiOw0KCQkJDQoJCS8vIFZBTFVFUw0KCQkkdmFsdWVzID0gYXJyYXkoYWRkc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+bmFtZSksJGl0ZW0tPmFsaWFzLHN0cl9yZXBsYWNlKCInIiwiIiwkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRldmVudCA9ICJIVkFfbW9kaWZpZWQiOw0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgaWQ9PzsiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRpdGVtLT5pZCk7DQoJCX1lbHNlew0KCQkJLy8gTkVXIElURU0NCgkJCSRxdWVyeSAuPSAiLCBkYXRlX2NyZWF0ZWQ9PyI7DQoJCQkkdmFsdWVzW10gPSBzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKTsNCgkJCSRldmVudCA9ICJIVkFfYWRkZWQiOw0KCQkJLy8gZ2V0IGEgbmV3IGlkIGZyb20gdGhlIHNlcXVlbmNlIHRhYmxlDQoJCQkkaXRlbS0+aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeV9zZXEiKTsNCgkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIHRvcCAtIHNvIHdlIG11c3QgcHV0IGFsbCBvdGhlciBpdGVtcyBkb3duIGZyb20gb25lIHN0ZXAsIGFuZCB0aGVuIHNldCB0aGlzIGl0ZW0ncyBvcmRlciB0byAxDQoJCQkJJHF1ZXJ5MiA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnkgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkiOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkyKTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPTEsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfWVsc2V7DQoJCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgYm90dG9tIC0gc28gd2UgbXVzdCBzZXQgdGhlIGl0ZW1fb3JkZXIgdG8gdGhlIG51bWJlciBvZiBpdGVtcyArIDENCgkJCQkkaXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiY2F0ZWdvcnkiKSArIDE7DQoJCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0iLiRpdGVtX29yZGVyLiIsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfQ0KCQl9DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOw0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJjYXRlZ29yeSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiY2F0ZWdvcnkiLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJjYXRlZ29yeSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2xhYmVsIiwgJHRoaXMtPkxhbmcoIm5hbWUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X25hbWUiLGlzc2V0KCRpdGVtKT8kaXRlbS0+bmFtZToiIiw1MCw2NCkpOw0KaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoImVkaXRhYmxlX2FsaWFzZXMiLGZhbHNlKSl7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGlhcyIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImNhdF9hbGlhcyIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5hbGlhczoiIiw1MCw2NCkpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixmYWxzZSk7DQp9ZWxzZXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOmZhbHNlKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgZmFsc2UpOw0KfQ0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImVkaXR0aXRsZSIsICR0aGlzLT5MYW5nKCJlZGl0X2NhdGVnb3J5IikpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0Y2F0XyIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdGNhdF8udHBsIik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImNhdF9pZCIsICRpdGVtLT5pZCk7DQoJCWlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+cGFyZW50KSkgZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImNhdF9pdGVtX29yZGVyIiwgJGl0ZW0tPml0ZW1fb3JkZXIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJDQoNCn1lbHNlew0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0Y2F0XyIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0Y2F0Xy50cGwiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsNCg0KJHRwbGNvbnRlbnQgPSAnJzsNCmlmKCAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApICYmIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsNCglpZigkcGFyYW1zWyd0cGxuYW1lJ10gIT0gJycpew0KCQlpZihpc3NldCgkcGFyYW1zWydpc25ldyddKSkJJHBhcmFtc1sndHBsbmFtZSddID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWyd0cGxuYW1lJ10sIGZhbHNlKTsNCgkJJHRwbGNvbnRlbnQgPSAkcGFyYW1zWyd0cGxjb250ZW50J107DQoJCWlmKCR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0cGxuYW1lJ10sJHBhcmFtc1sndHBsY29udGVudCddLCR0aGlzLT5HZXROYW1lKCkpKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKXsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCJtb2R1bGVfbWVzc2FnZSIgPT4gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSwgJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsNCgkJfWVsc2V7DQoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJfQ0KCX1lbHNlew0KCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPicuJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NnaW52YWx1ZScpLic8L2Rpdj4nOw0KCX0NCn1lbHNlaWYoIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsNCgkkdHBsY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHBhcmFtc1sndHBsbmFtZSddLCAkdGhpcy0+R2V0TmFtZSgpICk7DQp9DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigidGVtcGxhdGUiLCAkdGhpcy0+TGFuZygidGVtcGxhdGUiKSwgdHJ1ZSk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJoZWxwdGFiIiwgJHRoaXMtPkxhbmcoInRlbXBsYXRldmFycyIpLCBmYWxzZSk7CQkNCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGUiKTsNCgkJZWNobyAnPGgxPicuJHRoaXMtPkxhbmcoImVkaXR0ZW1wbGF0ZSIpLic8L2gxPic7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQpOw0KCQkvL2VjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkuJzwvcD48YnIvPjxici8+JzsNCgkJZWNobyAnCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCduYW1lJykuJyA6PC9wPg0KCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPic7DQoJCWlmKGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgJiYgJHBhcmFtc1sndHBsbmFtZSddICE9ICcnKXsNCgkJICAgIGVjaG8gJHBhcmFtc1sndHBsbmFtZSddLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ0cGxuYW1lIiwgJHBhcmFtc1sndHBsbmFtZSddKTsNCgkJfWVsc2V7DQoJCSAgICBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCd0cGxuYW1lJywnJywzMCw2NCk7DQoJCX0NCgkJZWNobyAnPC9wPg0KCQkgICAgPC9kaXY+DQoJCSc7DQoJCWVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygndGVtcGxhdGUnKS4nIDo8L3A+DQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCR0cGxjb250ZW50LCd0cGxjb250ZW50JykuJzwvcD4NCgkJICAgIDwvZGl2Pg0KCQknOw0KCQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLic8L3A+JzsNCgkJaWYoIWlzc2V0KCRwYXJhbXNbInRwbG5hbWUiXSkgfHwgJHBhcmFtc1sidHBsbmFtZSJdID09ICcnKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc25ldyIsICJ5ZXMiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoImhlbHB0YWIiKTsNCgkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygidGVtcGxhdGVoZWxwZmlsZSIpOw0KCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCSR0ZW1wbGF0ZWhlbHAgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgl9IGVsc2Ugew0KCQllY2hvICI8cD5maWxlICIuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygidGVtcGxhdGVoZWxwZmlsZSIpLiIgbm90IGZvdW5kPC9wPiI7DQoJCS8vIHRyeSB3aXRoIGVuZ2xpc2ggaGVscCAtIGhhcmRjb2RlZA0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4idGhlbHBfZW5fVVMuaHRtbCI7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQkkdGVtcGxhdGVoZWxwID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCX0gZWxzZSB7DQoJCQkkdGVtcGxhdGVoZWxwID0gImhlbHAgbm90IGZvdW5kIjsNCgkJfQ0KCX0NCgllY2hvICc8ZGl2IGlkPSJ0ZW1wbGF0ZWhlbHAiPicuJHRlbXBsYXRlaGVscC4nPC9kaXY+JzsNCgkJZWNobyAnDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJZnVuY3Rpb24gY3RsbW1fZGlzcGxheXRvZ2dsZShlbGUpew0KCQlpZighZWxlIHx8ICFlbGUucGFyZW50Tm9kZSkJcmV0dXJuIGZhbHNlOw0KCQl2YXIgdGhlZGl2ID0gZWxlLnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpWzBdOw0KCQlpZighdGhlZGl2KQlyZXR1cm4gZmFsc2U7DQoJCWlmKHRoZWRpdi5zdHlsZS5kaXNwbGF5ID09ICJub25lIil7DQoJCQl0aGVkaXYuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQoJCQllbGUuaW5uZXJIVE1MID0gIlYiICsgZWxlLmlubmVySFRNTC5zdWJzdHIoNCk7DQoJCX1lbHNlew0KCQkJdGhlZGl2LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQoJCQllbGUuaW5uZXJIVE1MID0gIiZndDsiICsgZWxlLmlubmVySFRNTC5zdWJzdHIoMSk7DQoJCX0NCgl9DQoJdmFyIHRoZWRpdnMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVoZWxwIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOw0KCWZvcihpPTA7aTx0aGVkaXZzLmxlbmd0aDtpKyspew0KCQlpZih0aGVkaXZzW2ldLmNsYXNzTmFtZSA9PSAidHBsdmFyc19oaWRlIikJdGhlZGl2c1tpXS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KCX0NCjwvc2NyaXB0Pg0KJzsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.editvid_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gInZpZGVvIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygidmlkZW8iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJhbGJ1bSIpOw0KfQ0KJHNpdGVvcHRpb25zID0gJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiKTsNCg0KDQppZihpc3NldCgkcGFyYW1zWyJ2aWRfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF92aWRlbyhhcnJheSgiaWQiPT4kcGFyYW1zWyJ2aWRfaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbInZpZF9pdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbInZpZF9pdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1sidmlkX2Rlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5zaXRlID0gJHBhcmFtc1sidmlkX3NpdGUiXTsNCgkJJGl0ZW0tPnZpZGVvaWQgPSAkcGFyYW1zWyJ2aWRfdmlkZW9pZCJdOw0KCQkkaXRlbS0+d2lkdGggPSAkcGFyYW1zWyJ2aWRfd2lkdGgiXTsNCgkJJGl0ZW0tPmhlaWdodCA9ICRwYXJhbXNbInZpZF9oZWlnaHQiXTsNCgkJJGl0ZW0tPnBhcmVudCA9ICRwYXJhbXNbInZpZF9wYXJlbnQiXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJ2aWRfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1sidmlkX2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1sidmlkX2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJ2aWRfc2l0ZSJdKSB8fCAkcGFyYW1zWyJ2aWRfc2l0ZSJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1sidmlkX3ZpZGVvaWQiXSkgfHwgJHBhcmFtc1sidmlkX3ZpZGVvaWQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbInZpZF9uYW1lIl0pIHx8ICRwYXJhbXNbInZpZF9uYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKCEkYXV0b2luY3JlbWVudGFsaWFzICYmIGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX3ZpZGVvIiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJ2aWRfaWQiXSk/JHBhcmFtc1sidmlkX2lkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQlpZigkYXV0b2luY3JlbWVudGFsaWFzKXsNCgkJCSRiYXNlYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkdG1wYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkaSA9IDE7DQoJCQl3aGlsZSghJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfdmlkZW8iLCAkdG1wYWxpYXMsIGlzc2V0KCRwYXJhbXNbInZpZF9pZCJdKT8kcGFyYW1zWyJ2aWRfaWQiXTpmYWxzZSkpew0KCQkJCSR0bXBhbGlhcyA9ICRiYXNlYWxpYXMuIl8iLiRpOw0KCQkJCSRpKys7DQoJCQl9DQoJCQkkaXRlbS0+YWxpYXMgPSAkdG1wYWxpYXM7DQoJCX0NCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCANCgkJCWRlc2NyaXB0aW9uPT8sDQoJCQlzaXRlPT8sDQoJCQl2aWRlb2lkPT8sDQoJCQl3aWR0aD0/LA0KCQkJaGVpZ2h0PT8sDQoJCQlwYXJlbnQ9PywNCgkJCW5hbWU9PywNCgkJYWxpYXM9PywNCgkJZGF0ZV9tb2RpZmllZD0/LA0KCQlhY3RpdmU9Ii4oaXNzZXQoJGl0ZW0tPmFjdGl2ZSk/JGl0ZW0tPmFjdGl2ZToxKS4iLA0KCQlpc2RlZmF1bHQ9Ii4oaXNzZXQoJGl0ZW0tPmlzZGVmYXVsdCk/JGl0ZW0tPmlzZGVmYXVsdDowKS4iIjsNCgkJCQ0KCQkvLyBWQUxVRVMNCgkJJHZhbHVlcyA9IGFycmF5KGFkZHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKSwNCgkJCSRpdGVtLT5zaXRlLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+dmlkZW9pZCksDQoJCQkkaXRlbS0+d2lkdGgsDQoJCQkkaXRlbS0+aGVpZ2h0LA0KCQkJJGl0ZW0tPnBhcmVudCwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLCRpdGVtLT5hbGlhcyxzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkZXZlbnQgPSAiSFZBX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkcXVlcnkgLj0gIiwgZGF0ZV9jcmVhdGVkPT8iOw0KCQkJJHZhbHVlc1tdID0gc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSk7DQoJCQkkZXZlbnQgPSAiSFZBX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW9fc2VxIik7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF92aWRlbyIsZmFsc2UpKXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3AgLSBzbyB3ZSBtdXN0IHB1dCBhbGwgb3RoZXIgaXRlbXMgZG93biBmcm9tIG9uZSBzdGVwLCBhbmQgdGhlbiBzZXQgdGhpcyBpdGVtJ3Mgb3JkZXIgdG8gMQ0KCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9MSwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9ZWxzZXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSBib3R0b20gLSBzbyB3ZSBtdXN0IHNldCB0aGUgaXRlbV9vcmRlciB0byB0aGUgbnVtYmVyIG9mIGl0ZW1zICsgMQ0KCQkJCSRpdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJ2aWRlbyIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPSIuJGl0ZW1fb3JkZXIuIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9DQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCglpZihpc3NldCgkcGFyYW1zWyJvbGRwYXJlbnQiXSkgJiYgJHBhcmFtc1sib2xkcGFyZW50Il0gIT0gJGl0ZW0tPnBhcmVudCl7DQoJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJDQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X3ZpZGVvIixmYWxzZSkpew0KCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgdG9wDQoJCQkNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygidmlkZW8iLCJpZCIsYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnQpKSArIDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoNCgkJfWVsc2V7DQoNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gVVBEQVRFIE5FVyBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9IDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCQ0KCQl9DQoJfQ0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X3ZpZGVvIixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJ2aWRlbyIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5zaXRlICRpdGVtLT52aWRlb2lkICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAidmlkZW8iLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJ2aWRlbyIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb19kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzaXRlX2xhYmVsIiwgJHRoaXMtPkxhbmcoInZpZGVvX3NpdGUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInNpdGVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsInZpZF9zaXRlIiwkc2l0ZW9wdGlvbnMsLTEsaXNzZXQoJGl0ZW0pPyRpdGVtLT5zaXRlOjApKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigidmlkZW9pZF9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb192aWRlb2lkIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ2aWRlb2lkX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF92aWRlb2lkIixpc3NldCgkaXRlbSk/JGl0ZW0tPnZpZGVvaWQ6IiIsNTAsNjQpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigid2lkdGhfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9fd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIndpZHRoX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF93aWR0aCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT53aWR0aDoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWlnaHRfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9faGVpZ2h0IikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWlnaHRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX2hlaWdodCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5oZWlnaHQ6IiIsMzAsMTApKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJuYW1lIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF9uYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm5hbWU6IiIsNTAsNjQpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYXJlbnRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsInZpZF9wYXJlbnQiLCRwYXJlbnRvcHRpb25zLC0xLGlzc2V0KCRpdGVtKT8kaXRlbS0+cGFyZW50OjApKTtpZihpc3NldCgkaXRlbSkpICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCmlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlZGl0YWJsZV9hbGlhc2VzIixmYWxzZSkpew0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfbGFiZWwiLCAkdGhpcy0+TGFuZygiYWxpYXMiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJ2aWRfYWxpYXMiLGlzc2V0KCRpdGVtKT8kaXRlbS0+YWxpYXM6IiIsNTAsNjQpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsZmFsc2UpOw0KfWVsc2V7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtYWxpYXMiLGlzc2V0KCRpdGVtLT5hbGlhcyk/IihhbGlhcyA6ICIuJGl0ZW0tPmFsaWFzLiIpIjpmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19pbnB1dCIsIGZhbHNlKTsNCn0NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJlZGl0dGl0bGUiLCAkdGhpcy0+TGFuZygiZWRpdF92aWRlbyIpKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzdWJtaXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiYXBwbHkiLCAoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5pZCkpPyR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpOiIiKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiY2FuY2VsIiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKSk7DQoNCg0KLy8gRElTUExBWUlORw0KaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5pZCkpew0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdHZpZF8iLCAkcmV0dXJuaWQpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXR2aWRfLnRwbCIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ2aWRfaWQiLCAkaXRlbS0+aWQpOw0KCQlpZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPnBhcmVudCkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9sZHBhcmVudCIsICRpdGVtLT5wYXJlbnQpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ2aWRfaXRlbV9vcmRlciIsICRpdGVtLT5pdGVtX29yZGVyKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQ0KDQp9ZWxzZXsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdHZpZF8iLCAkcmV0dXJuaWQpOw0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdHZpZF8udHBsIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.export.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpCWV4aXQ7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ2RvZXhwb3J0J10pKXsNCgkNCgkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJDQoJJG91dHB1dCA9ICcnOw0KCWZvcmVhY2goJHBhcmFtc1snc2VsZWN0ZWRsZXZlbHMnXSBhcyAkbGV2ZWwpew0KCQkkb3V0cHV0IC49ICcNCjx0YWJsZSBuYW1lPSInLiRsZXZlbC4nIj4NCgknOw0KCQkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWw7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQl3aGlsZSAoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgew0KCQkJJG91dHB1dCAuPSAiPGl0ZW0+DQoJCSI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGZpZWxkPT4kdmFsdWUpew0KCQkJCSRvdXRwdXQgLj0gJzwnLiRmaWVsZC4nPjwhW0NEQVRBWycuc3RyaXBzbGFzaGVzKCR2YWx1ZSkuJ11dPjwvJy4kZmllbGQuJz4NCgkJJzsNCgkJCX0NCgkJCSRvdXRwdXQgLj0gIg0KCTwvaXRlbT4NCgkiOw0KCQl9DQoJCSRvdXRwdXQgLj0gIg0KPC90YWJsZT4NCg0KIjsNCgl9DQoNCg0KDQoJLy8gZXhwb3J0aW5nIG11bHRpcGxlIGZpbGUgZmllbGRzIChpZiBhbnkpDQoJCSR0bXBvdXRwdXQgPSAnJzsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfbXVsdGlwbGVmaWxlc2ZpZWxkcyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQl3aGlsZSAoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgew0KCQkJJHRtcG91dHB1dCAuPSAnPGl0ZW0+DQoJCSc7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGZpZWxkPT4kdmFsdWUpew0KCQkJCSR0bXBvdXRwdXQgLj0gJzwnLiRmaWVsZC4nPjwhW0NEQVRBWycuc3RyaXBzbGFzaGVzKCR2YWx1ZSkuJ11dPjwvJy4kZmllbGQuJz4NCgkJJzsNCgkJCX0NCgkJCSR0bXBvdXRwdXQgLj0gJw0KCTwvaXRlbT4NCgknOw0KCQl9DQoJCQ0KCQlpZigkdG1wb3V0cHV0ICE9ICcnKQkkb3V0cHV0IC49ICcNCjx0YWJsZSBuYW1lPSJtdWx0aXBsZWZpbGVzZmllbGRzIj4NCgknLiR0bXBvdXRwdXQuJw0KPC90YWJsZT4NCg0KJzsNCg0KDQoNCgkvLyBleHBvcnRpbmcgbGlzdG9wdGlvbnMgKGlmIGFueSkNCgkJJHRtcG91dHB1dCA9ICcnOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJd2hpbGUgKCAkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsNCgkJCSR0bXBvdXRwdXQgLj0gJzxpdGVtPg0KCQknOw0KCQkJZm9yZWFjaCgkcm93IGFzICRmaWVsZD0+JHZhbHVlKXsNCgkJCQkkdG1wb3V0cHV0IC49ICc8Jy4kZmllbGQuJz48IVtDREFUQVsnLnN0cmlwc2xhc2hlcygkdmFsdWUpLiddXT48LycuJGZpZWxkLic+DQoJCSc7DQoJCQl9DQoJCQkkdG1wb3V0cHV0IC49ICcNCgk8L2l0ZW0+DQoJJzsNCgkJfQ0KCQkNCgkJaWYoJHRtcG91dHB1dCAhPSAnJykJJG91dHB1dCAuPSAnDQo8dGFibGUgbmFtZT0iZmllbGRvcHRpb25zIj4NCgknLiR0bXBvdXRwdXQuJw0KPC90YWJsZT4NCg0KJzsNCg0KDQoNCgkNCglpZihpc3NldCgkcGFyYW1zWydleHBvcnRfdGVtcGxhdGVzJ10pICYmICRwYXJhbXNbJ2V4cG9ydF90ZW1wbGF0ZXMnXSl7DQoJCWZvcmVhY2goJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKSBhcyAkdHBsbmFtZSl7DQoJCQkkb3V0cHV0IC49ICcNCjx0ZW1wbGF0ZSBuYW1lPSInLiR0cGxuYW1lLiciPjwhW0NEQVRBWycuJHRoaXMtPkdldFRlbXBsYXRlKCR0cGxuYW1lKS4nXV0+PC90ZW1wbGF0ZT4NCic7DQoJCX0NCgl9DQoJDQoJaWYoJG91dHB1dCA9PSAnJyl7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdleHBvcnQnLCAkcmV0dXJuaWQpOw0KCX1lbHNlew0KCQkkb3V0cHV0ID0gIjxyb290PiIuJG91dHB1dC4iPC9yb290PiI7DQoJCQ0KCQkkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IA0KCQlmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQkJDQoNCgkJaGVhZGVyKCdQcmFnbWE6IHB1YmxpYycpOw0KCQloZWFkZXIoJ0V4cGlyZXM6IDAnKTsNCgkJaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAnKTsNCgkJaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwcml2YXRlJyxmYWxzZSk7DQoJCWhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRmlsZSBUcmFuc2ZlcicpOw0KCQloZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1sJyk7DQoJCWhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9IicuJHRoaXMtPkdldE5hbWUoKS4nLnhtbCInICk7DQoJCWhlYWRlcignQ29udGVudC1MZW5ndGg6ICcgLiBzdHJsZW4oJG91dHB1dCkpOw0KCQ0KCQlwcmludCgkb3V0cHV0KTsNCgkNCgkJQGZsdXNoKCk7IEBvYl9mbHVzaCgpOyBAb2JfZmx1c2goKTsNCgl9CQ0KDQp9ZWxzZXsNCgkNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZXhwb3J0IiwgJHJldHVybmlkKTsNCgllY2hvICc8aDM+Jy4kdGhpcy0+TGFuZygnZXhwb3J0X3RpdGxlJykuJzwvaDM+JzsNCgllY2hvICc8ZmllbGRzZXQ+PGxlZ2VuZD48Yj4nLiR0aGlzLT5MYW5nKCdleHBvcnR3aGljaGxldmVscycpLic8L2I+PC9sZWdlbmQ+JzsNCgkkY2hvaWNlcyA9IGFycmF5KCk7DQoJZm9yZWFjaCgkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSBhcyAkbGV2ZWwpCSRjaG9pY2VzWyRsZXZlbF0gPSAkbGV2ZWw7DQoJZWNobyAkdGhpcy0+RG9DaGVja2JveGVzKCRpZCwgJ3NlbGVjdGVkbGV2ZWxzJywgJGNob2ljZXMsICRjaG9pY2VzKS4nPC9maWVsZHNldD48YnIvPic7DQoJZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsImV4cG9ydF90ZW1wbGF0ZXMiLDEsMCkuJyAnLiR0aGlzLT5MYW5nKCdleHBvcnRfdGVtcGxhdGVzJykuJzwvcD4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImRvZXhwb3J0IiwgbGFuZygic3VibWl0IikpLic8L3A+JzsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CQ0KCQ0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/action.import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpCWV4aXQ7DQoNCmVjaG8gJzxoMz4nLiR0aGlzLT5MYW5nKCdpbXBvcnRfdGl0bGUnKS4nPC9oMz4nOw0KDQppZihpc3NldCgkX0ZJTEVTKSAmJiBpc3NldCgkX0ZJTEVTWyRpZC4neG1sZmlsZSddKSAmJiBpc3NldCgkX0ZJTEVTWyRpZC4neG1sZmlsZSddWyduYW1lJ10pICYmICRfRklMRVNbJGlkLid4bWxmaWxlJ11bJ25hbWUnXSAhPSAnJykgew0KCQ0KCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cyggJF9GSUxFU1skaWQuJ3htbGZpbGUnXVsndG1wX25hbWUnXSApOw0KCSRwYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgnJyk7DQoJeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCRwYXJzZXIsIFhNTF9PUFRJT05fVEFSR0VUX0VOQ09ESU5HLCAnVVRGLTgnKTsNCgl4bWxfcGFyc2VyX3NldF9vcHRpb24oJHBhcnNlciwgWE1MX09QVElPTl9DQVNFX0ZPTERJTkcsIDApOw0KCXhtbF9wYXJzZXJfc2V0X29wdGlvbigkcGFyc2VyLCBYTUxfT1BUSU9OX1NLSVBfV0hJVEUsIDEpOw0KDQoJJHhtbGRhdGEgPSBhcnJheSgpOw0KCXhtbF9wYXJzZV9pbnRvX3N0cnVjdCgkcGFyc2VyLCB0cmltKCR4bWwpLCAkeG1sZGF0YSk7DQoJeG1sX3BhcnNlcl9mcmVlKCRwYXJzZXIpOw0KCWlmICghJHhtbGRhdGEpCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdpbXBvcnQnLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkeG1sJykpICk7DQoNCgkkdGFibGVzID0gYXJyYXkoKTsNCgkkdGVtcGxhdGVzID0gYXJyYXkoKTsNCgkkZW50cmllcyA9IDA7DQoJJGN1cnJlbnR0YWJsZSA9IGZhbHNlOw0KCSRjdXJyZW50aXRlbSA9IGZhbHNlOw0KDQoJJGV4aXN0aW5nX3RhYmxlcyA9IGFycmF5X21lcmdlKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpLCBhcnJheSgnZmllbGRvcHRpb25zJywgJ211bHRpcGxlZmlsZXNmaWVsZHMnKSk7DQoJDQoJDQoJZm9yZWFjaCAoJHhtbGRhdGEgYXMgJGRhdGEpIHsNCgkJc3dpdGNoKCRkYXRhWyd0eXBlJ10pIHsNCgkJCWNhc2UgJ29wZW4nOg0KCQkJCWlmKCRkYXRhWydsZXZlbCddID09IDIgJiYgJGRhdGFbJ3RhZyddID09ICd0YWJsZScgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXSkgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddKSApew0KCQkJCQkkdGFibGVuYW1lID0gJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddOw0KCQkJCQlpZihpbl9hcnJheSgkdGFibGVuYW1lLCAkZXhpc3RpbmdfdGFibGVzKSl7DQoJCQkJCQkkdGFibGVzWyR0YWJsZW5hbWVdID0gYXJyYXkoKTsNCgkJCQkJCSRjdXJyZW50dGFibGUgPSAkdGFibGVuYW1lOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCSRjdXJyZW50dGFibGUgPSBmYWxzZTsNCgkJCQkJfQ0KCQkJCX1lbHNlaWYoJGRhdGFbJ2xldmVsJ10gPT0gMyAmJiAkZGF0YVsndGFnJ10gPT0gJ2l0ZW0nKXsNCgkJCQkJJGN1cnJlbnRpdGVtID0gYXJyYXkoKTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNlICdjbG9zZSc6DQoJCQkJaWYoJGN1cnJlbnR0YWJsZSAmJiAkY3VycmVudGl0ZW0gIT0gZmFsc2UgJiYgJGRhdGFbJ2xldmVsJ10gPT0gMyAmJiAkZGF0YVsndGFnJ10gPT0gJ2l0ZW0nKXsNCgkJCQkJaWYoY291bnQoJGN1cnJlbnRpdGVtKSA+IDApew0KCQkJCQkJYXJyYXlfcHVzaCgkdGFibGVzWyRjdXJyZW50dGFibGVdLCAkY3VycmVudGl0ZW0pOw0KCQkJCQkJJGVudHJpZXMrKzsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJ2NvbXBsZXRlJzoNCgkJCQlpZigkZGF0YVsnbGV2ZWwnXSA9PSA0KXsNCgkJCQkJJGN1cnJlbnRpdGVtWyRkYXRhWyd0YWcnXV0gPSAkZGF0YVsndmFsdWUnXTsNCgkJCQl9ZWxzZWlmKCRkYXRhWydsZXZlbCddID09IDEgJiYgJGRhdGFbJ3RhZyddID09ICd0ZW1wbGF0ZScgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXSkgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddKSApew0KCQkJCQkkdGVtcGxhdGVzWyRkYXRhWydhdHRyaWJ1dGVzJ11bJ25hbWUnXV0gPSAkZGF0YVsndmFsdWUnXTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCX0NCgl9DQoNCglpZihjb3VudCgkdGFibGVzKSA9PSAwKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnaW1wb3J0JywgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHhtbCcpKSApOw0KCQ0KCSRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J10gPSBhcnJheSgpOw0KCSRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RhYmxlcyddID0gJHRhYmxlczsNCgkkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0ZW1wbGF0ZXMnXSA9ICR0ZW1wbGF0ZXM7DQoJDQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImltcG9ydCIsICRyZXR1cm5pZCk7DQoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygnaW1wb3J0X2VudHJpZXMnLCRlbnRyaWVzKS4nPC9wPic7DQoJZWNobyAnPGZpZWxkc2V0PjxsZWdlbmQ+PGI+Jy4kdGhpcy0+TGFuZygnaW1wb3J0d2hpY2hsZXZlbHMnKS4nPC9iPjwvbGVnZW5kPic7DQoJJGNob2ljZXMgPSBhcnJheSgpOw0KCWZvcmVhY2goJHRhYmxlcyBhcyAka2V5PT4kdmFsdWUpew0KCQlpZihjb3VudCgkdmFsdWUpID4wKQkkY2hvaWNlc1ska2V5LicgKCcuY291bnQoJHZhbHVlKS4nKSddID0gJGtleTsNCgl9DQoJZWNobyAkdGhpcy0+RG9DaGVja2JveGVzKCRpZCwgJ3NlbGVjdGVkbGV2ZWxzJywgJGNob2ljZXMsICRjaG9pY2VzKS4nPC9maWVsZHNldD48YnIvPic7DQoJaWYoY291bnQoJHRlbXBsYXRlcykgPiAwKQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwiaW1wb3J0X3RlbXBsYXRlcyIsMSwwKS4nICcuJHRoaXMtPkxhbmcoJ2ltcG9ydF90ZW1wbGF0ZXMnKS4nPC9wPic7DQoJZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsImltcG9ydF9kZWxldGUiLDEsMCkuJyAnLiR0aGlzLT5MYW5nKCdpbXBvcnRfZGVsZXRlJykuJzwvcD4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImRvaW1wb3J0IiwgbGFuZygic3VibWl0IikpLic8L3A+JzsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoNCn1lbHNlaWYoaXNzZXQoJHBhcmFtc1snZG9pbXBvcnQnXSkgJiYgaXNzZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXSkgJiYgaXNzZXQoJHBhcmFtc1snc2VsZWN0ZWRsZXZlbHMnXSkpew0KDQoJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCSR0YWJsZXByZWZpeCA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iOw0KCSRlcnJvcnMgPSAnJzsNCgkkYWRkZWQgPSAwOw0KCQ0KCWlmKGlzc2V0KCRwYXJhbXNbJ2ltcG9ydF90ZW1wbGF0ZXMnXSkgJiYgJHBhcmFtc1snaW1wb3J0X3RlbXBsYXRlcyddICYmIGlzc2V0KCRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RlbXBsYXRlcyddKSApew0KCQlmb3JlYWNoKCRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RlbXBsYXRlcyddIGFzICR0cGxuYW1lPT4kdGVtcGxhdGUpew0KCQkJJHRoaXMtPlNldFRlbXBsYXRlKCR0cGxuYW1lLCAkdGVtcGxhdGUpOw0KCQl9DQoJfQ0KCQ0KCSRkZWxldGUgPSAoaXNzZXQoJHBhcmFtc1snaW1wb3J0X2RlbGV0ZSddKSAmJiAkcGFyYW1zWydpbXBvcnRfZGVsZXRlJ10gKTsNCgkNCglmb3JlYWNoKCRwYXJhbXNbJ3NlbGVjdGVkbGV2ZWxzJ10gYXMgJHRhYmxlbmFtZSl7DQoJCQ0KCQlpZihpc19jYWxsYWJsZShhcnJheSgkZGIsJ01ldGFDb2x1bW5OYW1lcycpKSl7DQoJCQkkZXhpc3RpbmdfZmllbGRzID0gYXJyYXkoKTsNCgkJCSRjb2x1bW5zID0gJGRiLT5NZXRhQ29sdW1uTmFtZXMoJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUpOw0KCQkJZm9yZWFjaCgkY29sdW1ucyBhcyAkY29sKQlhcnJheV9wdXNoKCRleGlzdGluZ19maWVsZHMsc3RydG9sb3dlcigkY29sKSk7DQoJCX1lbHNlew0KCQkJJGNvbHVtbnMgPSBmYWxzZTsNCgkJfQ0KCQkNCgkJJHByb2NlZWQgPSB0cnVlOw0KCQkkaGlnaGVzdGlkID0gMDsNCgkJaWYoaXNzZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXVsndGFibGVzJ11bJHRhYmxlbmFtZV0pKXsNCgkJCWlmKCRkZWxldGUpCSRkYi0+RXhlY3V0ZSgiVFJVTkNBVEUgVEFCTEUgIi4kdGFibGVwcmVmaXguJHRhYmxlbmFtZSk7DQoJCQkkdGFibGUgPSAkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVskdGFibGVuYW1lXTsNCgkJCSRpID0gMDsNCgkJCXdoaWxlKCRwcm9jZWVkICYmICRpIDwgY291bnQoJHRhYmxlKSl7DQoJCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkJJHF1ZXJ5ID0gJyc7DQoJCQkJZm9yZWFjaCgkdGFibGVbJGldIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJCWlmKCAhJGNvbHVtbnMgfHwgaW5fYXJyYXkoJGtleSwkZXhpc3RpbmdfZmllbGRzKSApew0KCQkJCQkJJHF1ZXJ5IC49ICgkcXVlcnk9PScnPycnOicsICcpLiJgIi4ka2V5LiJgPT8iOw0KCQkJCQkJJHZhbHVlc1tdID0gKCR2YWx1ZT09PU5VTEw/Jyc6JHZhbHVlKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGVwcmVmaXguJHRhYmxlbmFtZS4iIFNFVCAiLiRxdWVyeTsNCgkJCQlpZigkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpKXsNCgkJCQkJaWYoaXNzZXQoJHRhYmxlWyRpXVsnaWQnXSkgJiYgJHRhYmxlWyRpXVsnaWQnXSA+ICRoaWdoZXN0aWQpCSRoaWdoZXN0aWQgPSAkdGFibGVbJGldWydpZCddOw0KCQkJCQkkYWRkZWQrKzsNCgkJCQl9ZWxzZXsNCgkJCQkJJHByb2NlZWQgPSBmYWxzZTsNCgkJCQkJJGVycm9ycyAuPSAoJGVycm9ycz09Jyc/Jyc6JywgJykuJHRhYmxlbmFtZTsNCgkJCQl9CQ0KCQkJCSRpKys7DQoJCQl9DQoJCX0NCgkJJGN1cnJlbnRpZCA9IDA7DQoJCXdoaWxlKCRjdXJyZW50aWQgPCAkaGlnaGVzdGlkKXsNCgkJCSRjdXJyZW50aWQgPSAkZGItPkdlbklEKCR0YWJsZXByZWZpeC4kdGFibGVuYW1lLidfc2VxJyk7DQoJCX0NCgl9DQoJDQoJaWYoaXNzZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXVsndGFibGVzJ11bJ211bHRpcGxlZmlsZXNmaWVsZHMnXSkpew0KCQkkdGFibGVuYW1lID0gIm11bHRpcGxlZmlsZXNmaWVsZHMiOw0KCQkkcHJvY2VlZCA9IHRydWU7DQoJCSRoaWdoZXN0aWQgPSAwOw0KCQlpZigkZGVsZXRlKQkkZGItPkV4ZWN1dGUoIlRSVU5DQVRFIFRBQkxFICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUpOw0KCQkkdGFibGUgPSAkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVskdGFibGVuYW1lXTsNCgkJJGkgPSAwOw0KCQl3aGlsZSgkcHJvY2VlZCAmJiAkaSA8IGNvdW50KCR0YWJsZSkpew0KCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAnJzsNCgkJCWZvcmVhY2goJHRhYmxlWyRpXSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCAhJGNvbHVtbnMgfHwgaW5fYXJyYXkoJGtleSwkZXhpc3RpbmdfZmllbGRzKSApew0KCQkJCQkkcXVlcnkgLj0gKCRxdWVyeT09Jyc/Jyc6JywgJykuImAiLiRrZXkuImA9PyI7DQoJCQkJCSR2YWx1ZXNbXSA9ICgkdmFsdWU9PT1OVUxMPycnOiR2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUuIiBTRVQgIi4kcXVlcnk7DQoJCQlpZigkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpKXsNCgkJCQlpZihpc3NldCgkdGFibGVbJGldWydmaWxlaWQnXSkgJiYgJHRhYmxlWyRpXVsnZmlsZWlkJ10gPiAkaGlnaGVzdGlkKQkkaGlnaGVzdGlkID0gJHRhYmxlWyRpXVsnZmlsZWlkJ107DQoJCQkJJGFkZGVkKys7DQoJCQl9ZWxzZXsNCgkJCQkkcHJvY2VlZCA9IGZhbHNlOw0KCQkJCSRlcnJvcnMgLj0gKCRlcnJvcnM9PScnPycnOicsICcpLiR0YWJsZW5hbWU7DQoJCQl9CQ0KCQkJJGkrKzsNCgkJfQ0KCQkkY3VycmVudGlkID0gMDsNCgkJd2hpbGUoJGN1cnJlbnRpZCA8ICRoaWdoZXN0aWQpew0KCQkJJGN1cnJlbnRpZCA9ICRkYi0+R2VuSUQoJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUuJ19zZXEnKTsNCgkJfQkJDQoJCQ0KCX0NCgkNCglpZihpc3NldCgkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVsnZmllbGRvcHRpb25zJ10pKXsNCgkJJHRhYmxlbmFtZSA9ICJmaWVsZG9wdGlvbnMiOw0KCQkkcHJvY2VlZCA9IHRydWU7DQoJCSRoaWdoZXN0aWQgPSAwOw0KCQlpZigkZGVsZXRlKQkkZGItPkV4ZWN1dGUoIlRSVU5DQVRFIFRBQkxFICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUpOw0KCQkkdGFibGUgPSAkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVskdGFibGVuYW1lXTsNCgkJJGkgPSAwOw0KCQl3aGlsZSgkcHJvY2VlZCAmJiAkaSA8IGNvdW50KCR0YWJsZSkpew0KCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAnJzsNCgkJCWZvcmVhY2goJHRhYmxlWyRpXSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCAhJGNvbHVtbnMgfHwgaW5fYXJyYXkoJGtleSwkZXhpc3RpbmdfZmllbGRzKSApew0KCQkJCQkkcXVlcnkgLj0gKCRxdWVyeT09Jyc/Jyc6JywgJykuImAiLiRrZXkuImA9PyI7DQoJCQkJCSR2YWx1ZXNbXSA9ICgkdmFsdWU9PT1OVUxMPycnOiR2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUuIiBTRVQgIi4kcXVlcnk7DQoJCQlpZigkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpKXsNCgkJCQlpZihpc3NldCgkdGFibGVbJGldWydpZCddKSAmJiAkdGFibGVbJGldWydpZCddID4gJGhpZ2hlc3RpZCkJJGhpZ2hlc3RpZCA9ICR0YWJsZVskaV1bJ2lkJ107DQoJCQkJJGFkZGVkKys7DQoJCQl9ZWxzZXsNCgkJCQllY2hvIG15c3FsX2Vycm9yKCk7DQoJCQkJJHByb2NlZWQgPSBmYWxzZTsNCgkJCQkkZXJyb3JzIC49ICgkZXJyb3JzPT0nJz8nJzonLCAnKS4kdGFibGVuYW1lOw0KCQkJfQkNCgkJCSRpKys7DQoJCX0NCgkJJGN1cnJlbnRpZCA9IDA7DQoJCXdoaWxlKCRjdXJyZW50aWQgPCAkaGlnaGVzdGlkKXsNCgkJCSRjdXJyZW50aWQgPSAkZGItPkdlbklEKCR0YWJsZXByZWZpeC4kdGFibGVuYW1lLidfc2VxJyk7DQoJCX0JCQ0KCQkNCgl9DQoJDQoJdW5zZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXSk7DQoJDQoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnaW1wb3J0X2RvbmUnLCRhZGRlZCk7DQoJaWYoJGVycm9ycyAhPSAnJykgJG1lc3NhZ2UgLj0gJzxici8+Jy4kdGhpcy0+TGFuZygnY291bGRub3RpbXBvcnQnKS4kZXJyb3JzOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiRtZXNzYWdlKSApOw0KDQp9ZWxzZXsNCg0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ2ltcG9ydF9maWxlcHJvbXB0JykuJzwvcD4nOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdpbXBvcnQnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd4bWxmaWxlJykuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsbGFuZygnc2VuZCcpKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CQ0KCQ0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sidGFibGVuYW1lIl0pIHx8ICFpc3NldCgkcGFyYW1zWyJwcmVmaXgiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV8iLiRwYXJhbXNbInRhYmxlbmFtZSJdOw0KJG9yZGVyID0gJHBhcmFtc1siY3VycmVudG9yZGVyIl07DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWyJwcmVmaXgiXS4iaWQiXTsNCiR3cGFyZW50ID0gaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pPyIgQU5EIHBhcmVudD0nIi4kcGFyYW1zWyJwYXJlbnQiXS4iJyI6IiI7DQoNCnN3aXRjaCgkcGFyYW1zWyJtb3ZlIl0pew0KCQ0KCWNhc2UgImRlbGV0ZSI6DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlY2hpbGRyZW4iXSkgJiYgJHBhcmFtc1sic2hhcmVjaGlsZHJlbiJdKXsNCgkJCS8vIHRoaXMgbGV2ZWwgc2hhcmUgaXRzIGNoaWxkcmVuLi4uIHdlIGRlbGV0ZSB0aGUgaXRlbSdzIGxpbmtzIHRvIGNoaWxkcmVuDQoJCQlpZigkY2hpbGRsZXZlbCA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbImxldmVsbmFtZSJdKSl7DQoJCQkJJGxpbmt0YWJsZSA9ICRkYnRhYmxlLiJfaGFzXyIuJGNoaWxkbGV2ZWw7DQoJCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRsaW5rdGFibGUgV0hFUkUgIi4kcGFyYW1zWyJsZXZlbG5hbWUiXS4iX2lkPT8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJCX0NCgkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJjaGlsZCJdKSAmJiAkcGFyYW1zWyJjaGlsZCJdICE9ICIiKXsNCgkJCS8vIHRoaXMgbGV2ZWwgZG9lc24ndCBzaGFyZSBpdHMgY2hpbGRyZW4uLi4gd2UgZGVsZXRlIHRoZSBpdGVtJ3MgY2hpbGRyZW4NCgkJCSRjaGlsZHRhYmxlID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfIi4kcGFyYW1zWyJjaGlsZCJdOw0KCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRjaGlsZHRhYmxlIFdIRVJFIHBhcmVudCA9ID8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1pZCkpOw0KCQl9DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlZGJ5cGFyZW50cyJdKSAmJiAkcGFyYW1zWyJzaGFyZWRieXBhcmVudHMiXSl7DQoJCQkvLyB0aGlzIGl0ZW0gaXMgc2hhcmVkIGJ5IGl0cyBwYXJlbnRzLi4uIHdlIGRlbGV0ZSBsaW5rcyBmcm9tIHBhcmVudHMgdG8gdGhpcyBjaGlsZA0KCQkJaWYoJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHBhcmFtc1sibGV2ZWxuYW1lIl0sIGZhbHNlKSl7DQoJCQkJJGxpbmt0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRwYXJlbnRsZXZlbC4iX2hhc18iLiRwYXJhbXNbImxldmVsbmFtZSJdOw0KCQkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkbGlua3RhYmxlIFdIRVJFICIuJHBhcmFtc1sibGV2ZWxuYW1lIl0uIl9pZD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbWlkKSk7DQoJCQl9DQoJCX0NCgkJDQoJCWlmKGlzc2V0KCRwYXJhbXNbImZpbGVzIl0pICYmICRwYXJhbXNbImZpbGVzIl0gIT0gIiIgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoImRlbGV0ZV9maWxlcyIsZmFsc2UpICl7DQoJCQkkZmlsZWZpZWxkcyA9IGV4cGxvZGUoIiwiLCRwYXJhbXNbImZpbGVzIl0pOw0KCQkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gJGRidGFibGUgV0hFUkUgaWQgPSA/IjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJCWlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCQlmb3JlYWNoKCRmaWxlZmllbGRzIGFzICRmaWVsZCl7DQoJCQkJCWlmKCRyb3dbJGZpZWxkXSAhPSAiIiAmJiAkcm93WyRmaWVsZF0gIT0gIi8iKXsNCgkJCQkJCSRmaWxlcGF0aCA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdLihzdWJzdHIoJHJvd1siZmlsZXBhdGgiXSwwLDEpPT0iLyI/IiI6Ii8iKS4kcm93WyRmaWVsZF07DQoJCQkJCQkkdG1wZXhwID0gZXhwbG9kZSgiLyIsJHJvd1skZmllbGRdKTsNCgkJCQkJCSRmaWxlbmFtZSA9ICR0bXBleHBbY291bnQoJHRtcGV4cCkgLTFdOw0KCQkJCQkJJHRodW1icGF0aCA9IHN0cl9yZXBsYWNlKCRmaWxlbmFtZSwicGx0aHVtYl8iLiRmaWxlbmFtZSwkZmlsZXBhdGgpOw0KCQkJCQkJaWYoZmlsZV9leGlzdHMoJHRodW1icGF0aCkpCXVubGluaygkdGh1bWJwYXRoKTsNCgkJCQkJCWlmKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpCXVubGluaygkZmlsZXBhdGgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCS8vIGlmIHRoZSBsZXZlbCBoYXMgZmllbGRzIG9mIHRoZSB0eXBlICJVbmRlZmluZWQgYW1vdW50IG9mIGZpbGVzIiwgd2UgZGVsZXRlIHRoZSBmaWxlcw0KCQlpZihpc3NldCgkcGFyYW1zWyJhZGRmaWxlcyJdKSAmJiAkcGFyYW1zWyJhZGRmaWxlcyJdICE9ICIiKXsNCgkJCSRmaWVsZHMgPSBleHBsb2RlKCIsIiwkcGFyYW1zWyJhZGRmaWxlcyJdKTsNCgkJCWlmKGNvdW50KCRmaWVsZHMpID4gMCl7DQoJCQkJJHdoZXJlID0gIiI7DQoJCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkJZm9yZWFjaCgkZmllbGRzIGFzICRmaWVsZCl7DQoJCQkJCSR3aGVyZSAuPSAoJHdoZXJlID09ICIiPyIiOiIgT1IgIikuIiBmaWVsZG5hbWU9PyI7DQoJCQkJCSR2YWx1ZXNbXSA9ICRmaWVsZDsNCgkJCQl9DQoJCQkJJGFkZGZpbGVzdGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfbXVsdGlwbGVmaWxlc2ZpZWxkcyI7DQoNCgkJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVsZXRlX2ZpbGVzIixmYWxzZSkpew0KCQkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAkYWRkZmlsZXN0YWJsZSBXSEVSRSAoJHdoZXJlKSBBTkQgaXRlbWlkPSIuJGl0ZW1pZDsNCgkJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoJCQkJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCQkJCSRmaWxlcGF0aCA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdLihzdWJzdHIoJHJvd1siZmlsZXBhdGgiXSwwLDEpPT0iLyI/IiI6Ii8iKS4kcm93WyJmaWxlcGF0aCJdOw0KCQkJCQkJaWYoZmlsZV9leGlzdHMoJGZpbGVwYXRoKSkJdW5saW5rKCRmaWxlcGF0aCk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRhZGRmaWxlc3RhYmxlIFdIRVJFICgkd2hlcmUpIEFORCBpdGVtaWQ9Ii4kaXRlbWlkOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOw0KCQkJfQ0KCQl9DQoJCQkNCgkJDQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkZGJ0YWJsZSBXSEVSRSBpZCA9ID8gTElNSVQgMSI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCg0KCQkvLyBVUERBVEUgVEhFIE9SREVSIE9GIFRIRSBJVEVNUw0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/ICIuJHdwYXJlbnQ7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlcikpOw0KDQoJCWlmKGlzc2V0KCRwYXJhbXNbImxldmVsbmFtZSJdKSkJJHRoaXMtPlNlbmRFdmVudCgiSFZBX2RlbGV0ZWQiLCBhcnJheSgid2hhdCI9PiRwYXJhbXNbImxldmVsbmFtZSJdKSk7DQoJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+bGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCWJyZWFrOwkNCg0KCWNhc2UgInVwIjoNCgkJaWYgKCRvcmRlciAhPSAxKXsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgaXRlbV9vcmRlciA9ID8gJHdwYXJlbnQgTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9yZGVyLTEpKTsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaWQgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJfQ0KCQlicmVhazsNCgkJDQoJY2FzZSAiZG93biI6DQoJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA9ID8gJHdwYXJlbnQgTElNSVQgMTsiOw0KCQlpZiggJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9yZGVyKzEpKSApew0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBpZCA9ID8gTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1pZCkpOw0KCQl9DQoJCWJyZWFrOw0KfQ0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.reorder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRkYiA9ICR0aGlzLT5HZXREYigpOw0KJGxldmVsYXJyYXkgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCiRvcmRlcmVkYnlwYXJlbnQgPSBhcnJheSgiY2F0ZWdvcnkiLCJhbGJ1bSIsInZpZGVvIik7DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkpew0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsImRlZmF1bHRhZG1pbiIsJHJldHVybmlkKTsNCn1lbHNlaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0cmVvcmRlciJdKSl7DQoJZXhwbG9kZSgiLCIsJHBhcmFtc1sibmV3b3JkZXIiXSk7DQoJJG9yZGVyID0gYXJyYXkoKTsNCgkkbGFzdGlkID0gYXJyYXkoKTsNCglmb3JlYWNoKGV4cGxvZGUoIiwiLCRwYXJhbXNbIm5ld29yZGVyIl0pIGFzICRpdGVtKXsNCgkJbGlzdCgkbGV2ZWwsJGl0ZW1pZCkgPSBleHBsb2RlKCJfIiwkaXRlbSk7DQoJCSRsYXN0aWRbJGxldmVsXSA9ICRpdGVtaWQ7DQoJCWlmKCFpc3NldCgkb3JkZXJbJGxldmVsXSkpCSRvcmRlclskbGV2ZWxdPWFycmF5KCk7DQoJCWlmKCRsZXZlbD09MSl7DQoJCQkkb3JkZXJbMV1bXT0kaXRlbWlkOw0KCQl9ZWxzZXsNCgkJCWlmKCFpc3NldCgkb3JkZXJbJGxldmVsXVskbGFzdGlkWyRsZXZlbC0xXV0pKQkkb3JkZXJbJGxldmVsXVskbGFzdGlkWyRsZXZlbC0xXV09YXJyYXkoKTsNCgkJCSRvcmRlclskbGV2ZWxdWyRsYXN0aWRbJGxldmVsLTFdXVtdID0gJGl0ZW1pZDsNCgkJfQ0KCX0NCglmb3JlYWNoKCRvcmRlciBhcyAka2V5PT4kaXRlbXMpew0KCQkkbGV2ZWwgPSAkbGV2ZWxhcnJheVska2V5LTFdOw0KCQkkaXRlbV9vcmRlciA9IDE7DQoJCWlmKCRrZXk9PTEpew0KCQkJZm9yZWFjaCgkaXRlbXMgYXMgJGl0ZW0pew0KCQkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWwuIiBTRVQgaXRlbV9vcmRlcj0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaXRlbV9vcmRlciwkaXRlbSkpOw0KCQkJCSRpdGVtX29yZGVyKys7DQoJCQl9DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkaXRlbXMgYXMgJHBhcmVudD0+JGNoaWxkcmVuKXsNCgkJCQlpZihpbl9hcnJheSgkbGV2ZWwsICRvcmRlcmVkYnlwYXJlbnQpKQkkaXRlbV9vcmRlciA9IDE7DQoJCQkJZm9yZWFjaCgkY2hpbGRyZW4gYXMgJGNoaWxkKXsNCgkJCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyBMSU1JVCAxIjsNCgkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaXRlbV9vcmRlciwkY2hpbGQpKTsNCgkJCQkJJGl0ZW1fb3JkZXIrKzsNCgkJCQl9DQoJCQl9CQkJDQoJCQkJDQoJCX0NCgkJDQoJfQ0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsImRlZmF1bHRhZG1pbiIsJHJldHVybmlkLGFycmF5KCJtb2R1bGVfbWVzc2FnZSI9PiR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsNCn0NCg0KZWNobyAiPGgxPiIuJHRoaXMtPkxhbmcoInJlb3JkZXIiKS4iPC9oMT4iOw0KJGkgPSAwOw0KJHNlbGVjdCA9ICIiOw0KJHRhYmxlcyA9ICIiOw0KJG9yZGVyID0gIiI7DQp3aGlsZSgkaSA8IGNvdW50KCRsZXZlbGFycmF5KSl7DQoJJGxldmVsID0gJGxldmVsYXJyYXlbJGldOw0KCSRpKys7DQoJJHNlbGVjdCAuPSAoJHNlbGVjdD09IiI/IiI6IiwgIikuInRhYmxlIi4kaS4iLmlkIHRhYmxlIi4kaS4iX2lkLCB0YWJsZSIuJGkuIi5uYW1lIHRhYmxlIi4kaS4iX25hbWUiOw0KCWlmKCRpID09IDEpew0KCQkkdGFibGVzID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsLiIgdGFibGUiLiRpOw0KCX1lbHNlew0KCQkkdGFibGVzIC49ICIgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsLiIgdGFibGUiLiRpLiAiIE9OIHRhYmxlIi4oJGktMSkuIi5pZD10YWJsZSIuJGkuIi5wYXJlbnQiOw0KCX0NCgkkb3JkZXIgLj0gKCRvcmRlcj09IiI/IiI6IiwgIikuInRhYmxlIi4kaS4iLml0ZW1fb3JkZXIiOw0KfQ0KJHF1ZXJ5ID0gIlNFTEVDVCAkc2VsZWN0IEZST00gJHRhYmxlcyBPUkRFUiBCWSAkb3JkZXIiOw0KJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoNCiRsYXN0ID0gYXJyYXkoKTsNCiRsaXN0cyA9IGFycmF5KCk7DQokY29udGFpbm1lbnQgPSBhcnJheSgpOw0KJHBhcnNlbGV2ZWwgPSAxOw0KZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgInJlb3JkZXIiLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnJywgYXJyYXkoKSwgJyBvbnN1Ym1pdD0icmV0dXJuIGN0bG1tX3N1Ym1pdF9yZW9yZGVyKCk7IicpOw0Kd2hpbGUoJHBhcnNlbGV2ZWwgPD0gJGkpew0KCSRsYXN0WyRwYXJzZWxldmVsXSA9IGZhbHNlOw0KCSRsaXN0c1skcGFyc2VsZXZlbF0gPSBhcnJheSgpOw0KCSRjb250YWlubWVudFskcGFyc2VsZXZlbF0gPSAiIjsNCgkkcGFyc2VsZXZlbCsrOw0KfQ0KZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJzdWJtaXRyZW9yZGVyIixsYW5nKCJzdWJtaXQiKSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsInJlc2V0b3JkZXIiLCR0aGlzLT5MYW5nKCJyZXNldG9yZGVyIikpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJjYW5jZWwiLGxhbmcoImNhbmNlbCIpKS4iPC9wPiI7DQokY3VycmVudGxldmVsID0gMTsNCmVjaG8gJzx1bCBjbGFzcz0ic29ydGFibGVMaXN0IiBpZD0iY3RsbW1fYmlnc29ydGxpc3QiPic7DQp3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJJHBhcnNlbGV2ZWwgPSAxOw0KCXdoaWxlKCRwYXJzZWxldmVsIDw9ICRpKXsNCgkJaWYoJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXSAhPSAkbGFzdFskcGFyc2VsZXZlbF0pew0KCQkJaWYoJGN1cnJlbnRsZXZlbCA9PSAkcGFyc2VsZXZlbCl7DQoJCQkJaWYoJGxhc3RbJGN1cnJlbnRsZXZlbF0pCWVjaG8gIjwvbGk+IjsNCgkJCX1lbHNlaWYoJGN1cnJlbnRsZXZlbCA+ICRwYXJzZWxldmVsKXsNCgkJCQl3aGlsZSgkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQllY2hvICI8L2xpPjwvdWw+PC9saT4iOw0KCQkJCQkkY3VycmVudGxldmVsLS07DQoJCQkJfQ0KCQkJfWVsc2VpZigkY3VycmVudGxldmVsIDwgJHBhcnNlbGV2ZWwpew0KCQkJCSRsaXN0aWQgPSAibGlzdF8iLiRsZXZlbGFycmF5WyRwYXJzZWxldmVsXS4iXyIuJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXTsNCgkJCQkkY3VycmVudGxldmVsKys7DQoJCQkJZWNobyAnPHVsIGlkPSInLiRsaXN0aWQuJyIgY2xhc3M9InNvcnRhYmxlTGlzdCI+JzsNCgkJCQkkbGlzdHNbJHBhcnNlbGV2ZWxdW10gPSAkbGlzdGlkOw0KCQkJCSRjb250YWlubWVudFskcGFyc2VsZXZlbF0gLj0gKCRjb250YWlubWVudFskcGFyc2VsZXZlbF09PSIiPyIiOiIsIikuJyInLiRsaXN0aWQuJyInOw0KCQkJfQ0KCQkJZWNobyAnPGxpIGlkPSJjdGxtbWxldmVsJy4kcGFyc2VsZXZlbC4nXycuJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXS4nIj4nLiRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX25hbWUiXTsNCgkJCSRsYXN0WyRwYXJzZWxldmVsXSA9ICRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX2lkIl07DQoJCX0NCgkJJHBhcnNlbGV2ZWwrKzsNCgl9DQp9DQplY2hvICI8L2xpPiI7DQp3aGlsZSgkY3VycmVudGxldmVsID4gMSl7DQoJZWNobyAiPC91bD48L2xpPiI7DQoJJGN1cnJlbnRsZXZlbC0tOw0KfQ0KZWNobyAiPC91bD4iOw0KZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJzdWJtaXRyZW9yZGVyIixsYW5nKCJzdWJtaXQiKSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsInJlc2V0b3JkZXIiLCR0aGlzLT5MYW5nKCJyZXNldG9yZGVyIikpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJjYW5jZWwiLGxhbmcoImNhbmNlbCIpKS4iPC9wPiI7DQplY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsIm5ld29yZGVyIiwiIiwnIGlkPSJjdGxtbV9uZXdvcmRlciInKTsNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KJHJlc3RyaWN0ZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLGZhbHNlKTsNCmlmKCRyZXN0cmljdGVkICYmICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpKQkkcmVzdHJpY3RlZCA9IGZhbHNlOw0KDQplY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQonOw0KaWYoISRyZXN0cmljdGVkIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oInByb2RjYXRhbG9ndWVfbWFuYWdlXyIuJGxldmVsYXJyYXlbMF0pKQllY2hvICdTb3J0YWJsZS5jcmVhdGUoImN0bG1tX2JpZ3NvcnRsaXN0Iik7DQonOw0KDQpmb3JlYWNoKCRsaXN0cyBhcyAkbGV2ZWxudW1iZXI9PiRsZXZlbCl7DQoJaWYoISRyZXN0cmljdGVkIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfIi4kbGV2ZWxhcnJheVskbGV2ZWxudW1iZXItMV0pKXsNCgkJZm9yZWFjaCgkbGV2ZWwgYXMgJGxpc3Qpew0KCQkJLyoNCgkJCSAqIHdlIGRvbid0IHVzZSBjb250YWlubWVudCB5ZXQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGRlYWwgd2l0aCBjaGFuZ2luZyBwYXJlbnRzLi4uIHlldC4uLg0KCQkJICogZWNobyAnU29ydGFibGUuY3JlYXRlKCInLiRsaXN0LiciJy4oY291bnQoJGxldmVsKT4xPyIse2NvbnRhaW5tZW50OlsiLiRjb250YWlubWVudFskbGV2ZWxudW1iZXJdLiJdLCBkcm9wT25FbXB0eTpmYWxzZX0iOiIiKS4iKTsNCgkJCSAqICI7DQoJCQkgKi8NCgkJCWVjaG8gJ1NvcnRhYmxlLmNyZWF0ZSgiJy4kbGlzdC4nIik7DQoJJzsNCgkJfQ0KCX0NCn0NCmVjaG8gJw0KZnVuY3Rpb24gY3RsbW1fc3VibWl0X3Jlb3JkZXIoKXsNCgl2YXIgbmV3b3JkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3RsbW1fbmV3b3JkZXIiKTsNCgl2YXIgbGlzdG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN0bG1tX2JpZ3NvcnRsaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpIik7DQoJZm9yKGk9MDtpPGxpc3Rub2Rlcy5sZW5ndGg7aSsrKXsNCgkJaWYobmV3b3JkZXIudmFsdWUgIT0gIiIpIG5ld29yZGVyLnZhbHVlICs9ICIsIjsNCgkJbmV3b3JkZXIudmFsdWUgKz0gbGlzdG5vZGVzW2ldLmlkLnN1YnN0cigxMCk7DQoJfQ0KCXJldHVybiB0cnVlOwkNCn0NCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInLiRpZC4nbW9kdWxlZm9ybV8xIikub25zdWJtaXQgPSBmdW5jdGlvbigpew0KCXJldHVybiBjdGxtbV9zdWJtaXRfcmVvcmRlcigpOw0KfQ0KPC9zY3JpcHQ+JzsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokZmluYWxsZXZlbCA9ICJ2aWRlbyI7DQoNCiRzZWFyY2htb2RlID0gKGlzc2V0KCRwYXJhbXNbInNlYXJjaG1vZGUiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sic2VhcmNobW9kZSJdLCBhcnJheSgic2ltcGxlIiwiYWR2YW5jZWQiKSkpPyRwYXJhbXNbInNlYXJjaG1vZGUiXToiYWR2YW5jZWQiOw0KDQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXRzZWFyY2giXSkpew0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyAjIFNFQVJDSCBSRVNVTFRTDQoJJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQoJJGxpbmtyZXR1cm5pZCA9IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKT8kdGhpcy0+Z2V0X3BhZ2VpZCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOmZhbHNlOw0KCWlmKCEkbGlua3JldHVybmlkKQkkbGlua3JldHVybmlkID0gJHJldHVybmlkOw0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCSRsaW1pdCA9IGlzc2V0KCRwYXJhbXNbImxpbWl0Il0pPyRwYXJhbXNbImxpbWl0Il06MDsNCglpZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgJHBhcmFtc1sibmJwZXJwYWdlIl0gPiAwKXsNCgkJJG5icGVycGFnZSA9IChpbnQpICRwYXJhbXNbIm5icGVycGFnZSJdOw0KCQkkbGltaXQgPSAoKChpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSk/JHBhcmFtc1sicGFnZWluZGV4Il06MSktMSkgKiAkbmJwZXJwYWdlKS4iLCIuJG5icGVycGFnZTsNCgl9ZWxzZXsNCgkJJG5icGVycGFnZSA9IGZhbHNlOw0KCX0NCgkNCgkkZW1wdHl0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIiwiKioiKTsNCgkNCgkvLyB3ZSBwcmVwYXJlIHRoZSAiZG8gYW5vdGhlciBzZWFyY2giIGxpbmssIGtlZXBpbmcgdGhlIHNlYXJjaCBwYXJhbWV0ZXJzDQoJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JHdoYXQsICJzZWFyY2htb2RlIj0+JHNlYXJjaG1vZGUpOw0KCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSkJJG5ld3BhcmFtc1sibGlzdHRlbXBsYXRlIl0gPSAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXTsNCglpZihpc3NldCgkcGFyYW1zWyJsaW1pdCJdKSkJCQkkbmV3cGFyYW1zWyJsaW1pdCJdID0gJHBhcmFtc1sibGltaXQiXTsNCglpZihpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkpCQkkbmV3cGFyYW1zWyJpbmxpbmUiXSA9ICRwYXJhbXNbImlubGluZSJdOw0KCWlmKGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSkpCQkkbmV3cGFyYW1zWyJvcmRlcmJ5Il0gPSAkcGFyYW1zWyJvcmRlcmJ5Il07DQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkJJG5ld3BhcmFtc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCglpZihpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKQkkbmV3cGFyYW1zWyJkZXRhaWxwYWdlIl0gPSAkcGFyYW1zWyJkZXRhaWxwYWdlIl07DQoJJGJhY2tsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAic2VhcmNoIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygic2VhcmNoYWdhaW4iKSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsIGZhbHNlKTsJDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJiYWNrbGluayIsJGJhY2tsaW5rKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImJyZWFkY3J1bWJzIixmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYXJlbnRvYmoiLGZhbHNlKTsNCgkNCgkkbXVsdGlwbGVsaXN0ZmllbGRzID0gYXJyYXkoKTsNCgkNCglpZigkc2VhcmNobW9kZSA9PSAiYWR2YW5jZWQiKXsNCgkJLy8gQURWQU5DRUQgU0VBUkNIDQoJCQ0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJDQoJCS8vIHdlIHBhcnNlIHRoZSBrZXl3b3Jkcw0KCQkkd2hlcmUgPSAkdGhpcy0+Z2V0V2hlcmVGcm9tUGFyYW1zKCRwYXJhbXMsIHRydWUpOw0KCQlsaXN0KCR3aGVyZWNsYXVzZSwgJHdoZXJldmFsdWVzKSA9ICR0aGlzLT5idWlsZFdoZXJlKCR3aGVyZSwgJHdoYXQpOw0KCQkNCgkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiR3aGF0Ow0KCQkvLyB3ZSBkbyB0aGUgcXVlcnkNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCBpc3NldCgkcGFyYW1zWyJvcmRlcmJ5Il0pPyRwYXJhbXNbIm9yZGVyYnkiXTowLCAkbGltaXQsICR3aGVyZWNsYXVzZSwgJHdoZXJldmFsdWVzKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtY291bnQiLGNvdW50KCRpdGVtbGlzdCkpOw0KCQkNCgkJaWYoY291bnQoJGl0ZW1saXN0KSA+IDApew0KCQkNCgkJCSR0b3RhbCA9ICRuYnBlcnBhZ2U/JHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsYXJyYXkoKSwkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcyk6ZmFsc2U7DQoJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsJHRvdGFsLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkNCgkJCS8vIHdlIG11c3QgYnVpbGQgYSBkZXRhaWwgbGluayBmb3IgZWFjaCByZXN1bHQgZWxlbWVudA0KCQkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGZyb250ZW5kdXJscygkaXRlbSwkcGFyYW1zLCRpZCwkbGlua3JldHVybmlkKTsNCgkJCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJCQl9DQoNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRuZXdsaXN0KTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoJHdoYXQuIl9wbHVyYWwiKSk7DQoJCQkNCgkJfWVsc2V7DQoJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsMCwkaWQsJHJldHVybmlkLCRwYXJhbXMsInNlYXJjaCIpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJG5ld2xpc3QpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJlcnJvcl9tc2ciLCR0aGlzLT5MYW5nKCJlcnJvcl9ub2l0ZW1mb3VuZCIpKTsNCgkJfQ0KCQkNCgkJLy8gd2UgcmV0cmlldmUgdGhlIGRpc3BsYXkgdGVtcGxhdGUNCgkJaWYoY291bnQoJGl0ZW1saXN0KSA9PSAwICYmICRlbXB0eXRlbXBsYXRlICE9ICIqKiIpew0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRlbXB0eXRlbXBsYXRlKTsNCgkJfWVsc2V7DQoJCQlpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkpCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJaWYoIWlzc2V0KCR0ZW1wbGF0ZSkgfHwgISR0ZW1wbGF0ZSl7DQoJCQkJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2hyZXN1bHRzdGVtcGxhdGUiLCIqKiIpOw0KCQkJCWlmKCR0ZW1wbGF0ZW5hbWUgPT0gIioqIikJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfIi4kd2hhdCk7DQoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJfQkJDQoJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCQl9DQoJCQ0KCX1lbHNlew0KCQkvLyBTSU1QTEUgU0VBUkNIDQoJCQ0KCQkkdGVtcGxhdGUgPSBmYWxzZTsNCgkJJGxldmVscyA9ICgkd2hhdCA9PSAiLWFsbCIpPyRsZXZlbGFycmF5OmFycmF5KCR3aGF0KTsNCgkJDQoJCS8vIHdlIHJldHJpZXZlIHRoZSBkaXNwbGF5IHRlbXBsYXRlDQoJCS8vIGlmIHRoZSB1c2VyIGhhcyBhc2tlZCBmb3IgYSBzcGVjaWZpYyBkaXNwbGF5IHRlbXBsYXRlLCB3ZSB3aWxsIHVzZSBpdCBmb3IgZXZlcnkgY2F0ZWdvcnkgOg0KCQlpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkpCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpOw0KCQlpZighaXNzZXQoJHRlbXBsYXRlKSB8fCAhJHRlbXBsYXRlKXsNCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwiKioiKTsNCgkJCWlmKCR0ZW1wbGF0ZW5hbWUgPT0gIioqIil7DQoJCQkJaWYoY291bnQoJGxldmVscykgPT0gMSl7DQoJCQkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlXyIuJGxldmVsc1swXSk7DQoJCQkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsNCgkJCQl9ZWxzZXsNCgkJCQkJJHRlbXBsYXRlID0gZmFsc2U7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJfQ0KCQl9DQoNCgkJDQoJCWZvcmVhY2goJGxldmVscyBhcyAkbGV2ZWwpew0KCQkJJHdoZXJlY2xhdXNlID0gIiI7DQoJCQkkZmllbGRzID0gJHRoaXMtPmdldF9sZXZlbHNlYXJjaGZpZWxkcygkbGV2ZWwpOw0KCQkJJGtleXdvcmRzID0gJHRoaXMtPnBhcnNla2V5d29yZHMoaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbInNlYXJjaGZpZWxkIl0pKTsNCgkJCWZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpew0KCQkJCWZvcmVhY2goJGtleXdvcmRzIGFzICRrZXl3b3JkKXsNCgkJCQkJJHdoZXJlY2xhdXNlIC49ICgkd2hlcmVjbGF1c2UgPT0gIiI/IiI6IiBPUiAiKS4iQS4iLiRmaWVsZC4iIExJS0UgJyUiLmFkZHNsYXNoZXMoJGtleXdvcmQpLiIlJyI7DQoJCQkJfQ0KCQkJfQ0KCQkJJHdoZXJlY2xhdXNlID0gIkEuYWN0aXZlPTEiLigkd2hlcmVjbGF1c2UgPT0gIiI/IiI6IiBBTkQgKCIuJHdoZXJlY2xhdXNlLiIpIik7DQoJCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJGxldmVsOw0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCBpc3NldCgkcGFyYW1zWyJvcmRlcmJ5Il0pPyRwYXJhbXNbIm9yZGVyYnkiXTowLCAkbGltaXQsICR3aGVyZWNsYXVzZSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1jb3VudCIsY291bnQoJGl0ZW1saXN0KSk7DQoJCQkNCgkJCWlmKGNvdW50KCRpdGVtbGlzdCkgPiAwKXsNCg0KCQkJCSR0b3RhbCA9ICRuYnBlcnBhZ2U/JHRoaXMtPmNvdW50c29tZXRoaW5nKCRsZXZlbCwiaWQiLGFycmF5KCksJHdoZXJlY2xhdXNlLCBhcnJheSgpKTpmYWxzZTsNCgkJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsJHRvdGFsLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkJDQoJCQkJLy8gd2UgbXVzdCBidWlsZCBhIGRldGFpbCBsaW5rIGZvciBlYWNoIHJlc3VsdCBlbGVtZW50DQoJCQkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkJJGl0ZW0gPSAkdGhpcy0+YWRkZnJvbnRlbmR1cmxzKCRpdGVtLCRwYXJhbXMsJGlkLCRsaW5rcmV0dXJuaWQpOw0KCQkJCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOw0KCQkJCX0NCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwkbmV3bGlzdCk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkbGV2ZWwuIl9wbHVyYWwiKSk7DQoJCQkJCQkJDQoJCQkJaWYoJHRlbXBsYXRlID09IEZBTFNFKXsNCgkJCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJzZWFyY2hfZ2VuZXJhbHJlc3VsdHMudHBsIik7DQoJCQkJfWVsc2V7DQoJCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CQkJCQ0KCQkJCX0NCgkJCQkNCgkJCX1lbHNlew0KCQkJCSR0aGlzLT5wYWdpbmF0ZSgkd2hhdCwwLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJGl0ZW1saXN0KTsNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImVycm9yX21zZyIsJHRoaXMtPkxhbmcoImVycm9yX25vaXRlbWZvdW5kIikpOw0KCQkJfQ0KCQkJaWYoY291bnQoJGl0ZW1saXN0KSA9PSAwICYmICRlbXB0eXRlbXBsYXRlICE9ICIqKiIpew0KCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkZW1wdHl0ZW1wbGF0ZSk7CQkJCQ0KCQkJfWVsc2VpZigkdGVtcGxhdGUgPT0gRkFMU0Upew0KCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgic2VhcmNoX2dlbmVyYWxyZXN1bHRzLnRwbCIpOw0KCQkJfWVsc2V7DQoJCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkJCX0NCgkJfQ0KCQkNCgl9DQoJDQoJLy8gIyBFTkQgU0VBUkNIIFJFU1VMVFMNCgkvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCn1lbHNlew0KCQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyAjIFNFQVJDSCBGT1JNCQ0KCQ0KCSR3aGF0ID0gKGlzc2V0KCRwYXJhbXNbIndoYXQiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCRsZXZlbGFycmF5KSk/JHBhcmFtc1sid2hhdCJdOiItYWxsIjsNCglpZigkc2VhcmNobW9kZSA9PSAiYWR2YW5jZWQiICYmICR3aGF0ID09ICItYWxsIikJCSR3aGF0ID0gJGZpbmFsbGV2ZWw7DQoNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAic2VhcmNoIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ3aGF0IiwgJHdoYXQpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgInNlYXJjaG1vZGUiLCAkc2VhcmNobW9kZSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0pKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJsaXN0dGVtcGxhdGUiLCAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibGltaXQiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImxpbWl0IiwgJHBhcmFtc1sibGltaXQiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpbmxpbmUiLCAkcGFyYW1zWyJpbmxpbmUiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sib3JkZXJieSJdKSkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib3JkZXJieSIsICRwYXJhbXNbIm9yZGVyYnkiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAibmJwZXJwYWdlIiwgJHBhcmFtc1sibmJwZXJwYWdlIl0pOw0KCWlmKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImRldGFpbHBhZ2UiLCAkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigic2VhcmNodGl0bGUiLCAkdGhpcy0+TGFuZygic2VhcmNodGl0bGUiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ3aGF0IiwgKCR3aGF0ID09ICItYWxsIik/ZmFsc2U6JHRoaXMtPkxhbmcoJHdoYXQpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXRzZWFyY2giLCAkdGhpcy0+TGFuZygic2VhcmNoYnRuIikpKTsNCg0KCWlmKCRzZWFyY2htb2RlID09ICJzaW1wbGUiKXsNCgkJLy8gV0UgQVJFIERPSU5HIEEgU0lNUExFIFNFQVJDSA0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInNlYXJjaGZpZWxkIiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInNlYXJjaGZpZWxkIiwiIiw1MCkpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoInNlYXJjaC50cGwiKTsNCgkJDQoJfWVsc2V7DQoJCS8vIFdFIEFSRSBET0lORyBBTiBBRFZBTkNFRCBTRUFSQ0gNCg0KCQkkdGhpcy0+Y3JlYXRlRmllbGRGb3JtKCR3aGF0LCAkaWQsIHRydWUpOw0KDQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgic2VhcmNoXyIuJHdoYXQuIi50cGwiKTsNCgkJDQoJfQ0KCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCgkvLyAjIEVORCBTRUFSQ0ggRk9STQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMJDQoJDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sitemap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokbW9kZSA9IChpc3NldCgkcGFyYW1zWyJtb2RlIl0pICYmIGluX2FycmF5KCRwYXJhbXNbIm1vZGUiXSxhcnJheSgiZ29vZ2xlIiwidXJsbGlzdCIsImZyb250ZW5kIikpKT8kcGFyYW1zWyJtb2RlIl06ImZyb250ZW5kIjsNCiR3aGF0ID0gaXNzZXQoJHBhcmFtc1sid2hhdCJdKT9leHBsb2RlKCd8JywkcGFyYW1zWyJ3aGF0Il0pOiRsZXZlbGFycmF5Ow0KJGxpbmtyZXR1cm5pZCA9IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKT8kdGhpcy0+Z2V0X3BhZ2VpZCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOiRyZXR1cm5pZDsNCiRpbmxpbmUgPSAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pICYmICRwYXJhbXNbImlubGluZSJdKT90cnVlOmZhbHNlOw0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCiRpID0gMDsNCiRzZWxlY3QgPSAiIjsNCiR0YWJsZXMgPSAiIjsNCiRvcmRlciA9ICIiOw0Kd2hpbGUoJGkgPCBjb3VudCgkbGV2ZWxhcnJheSkpew0KCSRsZXZlbCA9ICRsZXZlbGFycmF5WyRpXTsNCgkkaSsrOw0KCSRzZWxlY3QgLj0gKCRzZWxlY3Q9PSIiPyIiOiIsICIpLiJ0YWJsZSIuJGkuIi5hbGlhcyB0YWJsZSIuJGkuIl9hbGlhcywgdGFibGUiLiRpLiIubmFtZSB0YWJsZSIuJGkuIl9uYW1lIjsNCglpZigkaSA9PSAxKXsNCgkJJHRhYmxlcyA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHRhYmxlIi4kaTsNCgl9ZWxzZXsNCgkJJHRhYmxlcyAuPSAiIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHRhYmxlIi4kaS4gIiBPTiB0YWJsZSIuKCRpLTEpLiIuaWQ9dGFibGUiLiRpLiIucGFyZW50IjsNCgl9DQoJJG9yZGVyIC49ICgkb3JkZXI9PSIiPyIiOiIsICIpLiJ0YWJsZSIuJGkuIi5pdGVtX29yZGVyIjsNCn0NCiRxdWVyeSA9ICJTRUxFQ1QgJHNlbGVjdCBGUk9NICR0YWJsZXMgT1JERVIgQlkgJG9yZGVyIjsNCiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQokbGFzdCA9IGFycmF5KCk7DQokY3VycmVudGxldmVsID0gMTsNCmlmKCRtb2RlID09ICdmcm9udGVuZCcpCWVjaG8gJzx1bCBpZD0iJy4kdGhpcy0+R2V0TmFtZSgpLidfbWFwIj4nOw0Kd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCSRwYXJzZWxldmVsID0gMTsNCgl3aGlsZSgkcGFyc2VsZXZlbCA8PSAkaSl7DQoJCWlmKGluX2FycmF5KCRsZXZlbGFycmF5WyRwYXJzZWxldmVsLTFdLCR3aGF0KSAmJiAoIWlzc2V0KCRsYXN0WyRwYXJzZWxldmVsXSkgfHwgJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfYWxpYXMiXSAhPSAkbGFzdFskcGFyc2VsZXZlbF0pICl7DQoJCQkkd2FudGVkd2hhdCA9ICgkcGFyc2VsZXZlbD09JGkpPyRsZXZlbGFycmF5WyRpLTFdOiRsZXZlbGFycmF5WyRwYXJzZWxldmVsXTsNCgkJCSR3YW50ZWRwYXJhbSA9ICgkcGFyc2VsZXZlbD09JGkpPyJhbGlhcyI6InBhcmVudCI7DQoJCQkkbmV3cGFyYW1zID0gYXJyYXkoIndoYXQiPT4kd2FudGVkd2hhdCwgJHdhbnRlZHBhcmFtPT4kcm93WyJ0YWJsZSIuJHBhcnNlbGV2ZWwuIl9hbGlhcyJdKTsNCgkJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRsaW5rcmV0dXJuaWQpOw0KCQkJaWYoJG1vZGUgPT0gJ2Zyb250ZW5kJyl7DQoJCQkJaWYoJGN1cnJlbnRsZXZlbCA9PSAkcGFyc2VsZXZlbCl7DQoJCQkJCWlmKCRsYXN0WyRjdXJyZW50bGV2ZWxdKQllY2hvICI8L2xpPiI7DQoJCQkJfWVsc2VpZigkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQl3aGlsZSgkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQkJZWNobyAiPC9saT48L3VsPjwvbGk+IjsNCgkJCQkJCSRjdXJyZW50bGV2ZWwtLTsNCgkJCQkJfQ0KCQkJCX1lbHNlaWYoJGN1cnJlbnRsZXZlbCA8ICRwYXJzZWxldmVsKXsNCgkJCQkJJGN1cnJlbnRsZXZlbCsrOw0KCQkJCQllY2hvICc8dWw+JzsNCgkJCQl9DQoJCQkJZWNobyAnPGxpPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRsaW5rcmV0dXJuaWQsICRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX25hbWUiXSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpOw0KCQkJfWVsc2VpZigkbW9kZSA9PSAndXJsbGlzdCcpew0KCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRsaW5rcmV0dXJuaWQsICIiLCAkbmV3cGFyYW1zLCAiIiwgdHJ1ZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKS4nDQonOw0KCQkJfWVsc2VpZigkbW9kZSA9PSAnZ29vZ2xlJyl7DQoJCQkJJHByaW9yaXR5ID0gOSAtICRwYXJzZWxldmVsOw0KCQkJCWlmKCRwcmlvcml0eSA8IDApCSRwcmlvcml0eSA9IDE7DQoJCQkJJHByaW9yaXR5ID0gIjAuIi4kcHJpb3JpdHk7DQoJCQkJZWNobyAnDQoJPHVybD4NCgkJPGxvYz4nLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkbGlua3JldHVybmlkLCAiIiwgJG5ld3BhcmFtcywgIiIsIHRydWUsICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCkuJzwvbG9jPg0KCQk8cHJpb3JpdHk+Jy4kcHJpb3JpdHkuJzwvcHJpb3JpdHk+DQoJPC91cmw+JzsNCgkJCX0NCgkJCQ0KCQkJJGxhc3RbJHBhcnNlbGV2ZWxdID0gJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfYWxpYXMiXTsNCgkJfQ0KCQkkcGFyc2VsZXZlbCsrOw0KCX0NCn0NCmlmKCRtb2RlID09ICdmcm9udGVuZCcpew0KCWVjaG8gIjwvbGk+IjsNCgl3aGlsZSgkY3VycmVudGxldmVsID4gMSl7DQoJCWVjaG8gIjwvdWw+PC9saT4iOw0KCQkkY3VycmVudGxldmVsLS07DQoJfQ0KCWVjaG8gIjwvdWw+IjsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/action.toggle.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qIFBBUkFNUyA6DQp3aGF0KiA6ICdhY3RpdmUnIHx8ICdkZWZhdWx0Jw0KdGFibGVuYW1lKg0KcHJlZml4DQpwcmVmaXguaWQNCm5ld3ZhbCA6IG5ldyB2YWx1ZSBmb3IgYWN0aXZlICggMCB8fCAxICkNCiovDQoNCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1snbGV2ZWxuYW1lJ10pP2FycmF5KCdhY3RpdmVfdGFiJz0+JHBhcmFtc1snbGV2ZWxuYW1lJ10pOmFycmF5KCk7DQoNCmlmKCAhaXNzZXQoJHBhcmFtc1snd2hhdCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoNCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCiRkYnRhYmxlID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kcGFyYW1zWyd0YWJsZW5hbWUnXTsNCiRmaWVsZCA9ICRwYXJhbXNbJ3doYXQnXTsNCiRpdGVtaWQgPSBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSk/JHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTpmYWxzZTsNCiR2YWx1ZSA9IGlzc2V0KCRwYXJhbXNbJ25ld3ZhbCddKT8kcGFyYW1zWyduZXd2YWwnXToxOw0KDQppZigkZmllbGQgPT0gJ2FjdGl2ZScpew0KCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGFjdGl2ZT0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdmFsdWUsICRpdGVtaWQpKTsNCn1lbHNlaWYoJGZpZWxkID09ICdkZWZhdWx0Jyl7DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmIGlzc2V0KCRwYXJhbXNbInBhcmVudGRlZmF1bHQiXSkgJiYgJHBhcmFtc1sicGFyZW50ZGVmYXVsdCJdKSB7DQoJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGlzZGVmYXVsdD0wIFdIRVJFIHBhcmVudD0/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyJwYXJlbnQiXSkpOw0KCX1lbHNlew0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpc2RlZmF1bHQ9MCI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCX0NCglpZigkaXRlbWlkKXsNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXNkZWZhdWx0PTEgV0hFUkUgaWQ9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGl0ZW1pZCkpOw0KCX0NCn0NCg0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/function.createFieldForm.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8P3BocA0KCQkkY29tcGFyZWNob2ljZXMgPSBhcnJheSgkdGhpcy0+TGFuZygiY29udGFpbnMiKSA9PjEsICR0aGlzLT5MYW5nKCJpc2V4YWN0bHkiKSA9PjAsICR0aGlzLT5MYW5nKCJpc25vdCIpID0+MiwgJHRoaXMtPkxhbmcoImlzaGlnaGVydGhhbiIpID0+MywgJHRoaXMtPkxhbmcoImlzbG93ZXJ0aGFuIikgPT40KTsNCgkJJGRhdGVjb21wYXJlY2hvaWNlcyA9IGFycmF5KCR0aGlzLT5MYW5nKCJxdWVyeXVzZSIpID0+ICJOQSIsICR0aGlzLT5MYW5nKCJpc2FmdGVyIikgPT4zLCAkdGhpcy0+TGFuZygiaXNiZWZvcmUiKSA9PjQsICR0aGlzLT5MYW5nKCJpc2JldHdlZW4iKSA9PjUpOw0KCQkkb3JkZXJjaG9pY2VzID0gYXJyYXkoIkFTQyI9PiJBU0MiLCJERVNDIj0+IkRFU0MiKTsNCg0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCg0KCQlzd2l0Y2goJHdoYXQpew0KCQkJY2FzZSAiY2F0ZWdvcnkiOg0KCQkJCSRvdXRwdXRbImRlc2NyaXB0aW9uIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiY2F0ZWdvcnlfZGVzY3JpcHRpb24iKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2Rlc2NyaXB0aW9uIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZXNjcmlwdGlvbiIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJuYW1lIl0gPSBhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfbmFtZSIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfbmFtZSIsIiIsMzApKTsNCgkJCQkNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRtcHRpbWUiLCB0aW1lKCkpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigic19hbmQiLCAkdGhpcy0+TGFuZygidGhpc2FuZHRoaXMiKSk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4IiwgJGlkLiJkYXRlX2RhdGVfbW9kaWZpZWRfIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4MiIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkX3BhcnQyXyIpOw0KCQkJCSR0bXB0ZW1wbGF0ZSA9ICd7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSB9PGRpdiBpZD0iJy4kaWQuJ2RhdGVfbW9kaWZpZWRfcGFydDIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+IHskc19hbmR9IHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wX3ByZWZpeDIgdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgfTwvZGl2Pic7DQoJCQkJJHRtcG91dCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kYXRlX21vZGlmaWVkIiwkZGF0ZWNvbXBhcmVjaG9pY2VzLC0xLCJOQSIsIiBvbmNoYW5nZT1cImRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKCciLiRpZC4iZGF0ZV9tb2RpZmllZCcsIHRoaXMudmFsdWUpO1wiIikuIiAiLiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wdGVtcGxhdGUpOw0KCQkJCSR0bXBvdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwiZmllbGRfZGF0ZV9tb2RpZmllZCIsICJfX2RhdGVfZmllbGQiKTsNCgkJCQkkb3V0cHV0WyJkYXRlX21vZGlmaWVkIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiZGF0ZV9tb2RpZmllZCIpLCAkdG1wb3V0KTsNCgkJCQkkb3JkZXJmaWVsZG9wdGlvbnMgPSBhcnJheSgiIj0+IiIsImRlc2NyaXB0aW9uIj0+ImRlc2NyaXB0aW9uIiwiaWQiPT4iaWQiLCJuYW1lIj0+Im5hbWUiLCJhbGlhcyI9PiJhbGlhcyIsIml0ZW1fb3JkZXIiPT4iaXRlbV9vcmRlciIsImRhdGVfbW9kaWZpZWQiPT4iZGF0ZV9tb2RpZmllZCIpOw0KCQkJCSRvdXRwdXRbIm9yZGVyYnkiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJvcmRlcmJ5ZmllbGQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJvcmRlciIsJG9yZGVyZmllbGRvcHRpb25zKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJvcmRlcl90eXBlIiwkb3JkZXJjaG9pY2VzKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJhbGJ1bSI6DQoJCQkJJG91dHB1dFsiZGVzY3JpcHRpb24iXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfZGVzY3JpcHRpb24iLCRjb21wYXJlY2hvaWNlcywtMSwxKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImZpZWxkX2Rlc2NyaXB0aW9uIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImxhbmciXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9sYW5nIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9sYW5nIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9sYW5nIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImRlZmF1bHRfd2lkdGgiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X3dpZHRoIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kZWZhdWx0X3dpZHRoIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZWZhdWx0X3dpZHRoIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImRlZmF1bHRfaGVpZ2h0Il0gPSBhcnJheSgkdGhpcy0+TGFuZygiYWxidW1fZGVmYXVsdF9oZWlnaHQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2RlZmF1bHRfaGVpZ2h0IiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZWZhdWx0X2hlaWdodCIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJwYXJlbnQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJwYXJlbnQiKSk7DQoJCQkJJHBhcmVudG9wdGlvbnMgPSAkdGhpcy0+Z2V0X2hpZXJhcmNoeW9wdGlvbnMoImFsYnVtIik7DQoJCQkJJG91dHB1dFsicGFyZW50Il1bXSA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZmllbGRfcGFyZW50IiwkcGFyZW50b3B0aW9ucyk7DQoJCQkJJG91dHB1dFsibmFtZSJdID0gYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX25hbWUiLCRjb21wYXJlY2hvaWNlcywtMSwxKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImZpZWxkX25hbWUiLCIiLDMwKSk7DQoJCQkJDQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXB0aW1lIiwgdGltZSgpKTsNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInNfYW5kIiwgJHRoaXMtPkxhbmcoInRoaXNhbmR0aGlzIikpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidG1wX3ByZWZpeCIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkXyIpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidG1wX3ByZWZpeDIiLCAkaWQuImRhdGVfZGF0ZV9tb2RpZmllZF9wYXJ0Ml8iKTsNCgkJCQkkdG1wdGVtcGxhdGUgPSAne2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSR0bXBfcHJlZml4IHRpbWU9JHRtcHRpbWUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEwIn0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXBfcHJlZml4IHRpbWU9JHRtcHRpbWUgfTxkaXYgaWQ9IicuJGlkLidkYXRlX21vZGlmaWVkX3BhcnQyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPiB7JHNfYW5kfSB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEwIn0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXBfcHJlZml4MiB0aW1lPSR0bXB0aW1lIH08L2Rpdj4nOw0KCQkJCSR0bXBvdXQgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfZGF0ZV9tb2RpZmllZCIsJGRhdGVjb21wYXJlY2hvaWNlcywtMSwiTkEiLCIgb25jaGFuZ2U9XCJkYXRlaW5wdXRfY2hhbmdlY29tcGFyZSgnIi4kaWQuImRhdGVfbW9kaWZpZWQnLCB0aGlzLnZhbHVlKTtcIiIpLiIgIi4kdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRtcHRlbXBsYXRlKTsNCgkJCQkkdG1wb3V0IC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsImZpZWxkX2RhdGVfbW9kaWZpZWQiLCAiX19kYXRlX2ZpZWxkIik7DQoJCQkJJG91dHB1dFsiZGF0ZV9tb2RpZmllZCJdID0gYXJyYXkoJHRoaXMtPkxhbmcoImRhdGVfbW9kaWZpZWQiKSwgJHRtcG91dCk7DQoJCQkJJG9yZGVyZmllbGRvcHRpb25zID0gYXJyYXkoIiI9PiIiLCJkZXNjcmlwdGlvbiI9PiJkZXNjcmlwdGlvbiIsImxhbmciPT4ibGFuZyIsImRlZmF1bHRfd2lkdGgiPT4iZGVmYXVsdF93aWR0aCIsImRlZmF1bHRfaGVpZ2h0Ij0+ImRlZmF1bHRfaGVpZ2h0IiwicGFyZW50Ij0+InBhcmVudCIsImlkIj0+ImlkIiwibmFtZSI9PiJuYW1lIiwiYWxpYXMiPT4iYWxpYXMiLCJpdGVtX29yZGVyIj0+Iml0ZW1fb3JkZXIiLCJkYXRlX21vZGlmaWVkIj0+ImRhdGVfbW9kaWZpZWQiKTsNCgkJCQkkb3V0cHV0WyJvcmRlcmJ5Il0gPSBhcnJheSgkdGhpcy0+TGFuZygib3JkZXJieWZpZWxkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXIiLCRvcmRlcmZpZWxkb3B0aW9ucykuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXJfdHlwZSIsJG9yZGVyY2hvaWNlcykpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmlkZW8iOg0KCQkJCSRvdXRwdXRbImRlc2NyaXB0aW9uIl0gPSBhcnJheSgkdGhpcy0+TGFuZygidmlkZW9fZGVzY3JpcHRpb24iKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2Rlc2NyaXB0aW9uIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZXNjcmlwdGlvbiIsIiIsMzApKTsNCgkJCQkkdG1wb3B0aW9ucyA9ICR0aGlzLT5nZXRfZmllbGRvcHRpb25zKCJ2aWRlb19zaXRlIik7DQoJCQkJJHRtcG9wdGlvbnNbIiJdID0gIiI7DQoJCQkJJG91dHB1dFsic2l0ZSJdID0gYXJyYXkoJHRoaXMtPkxhbmcoInZpZGVvX3NpdGUiKSwkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwiZmllbGRfc2l0ZVtdIiwkdG1wb3B0aW9ucykpOw0KCQkJCSRvdXRwdXRbInZpZGVvaWQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb192aWRlb2lkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV92aWRlb2lkIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF92aWRlb2lkIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbIndpZHRoIl0gPSBhcnJheSgkdGhpcy0+TGFuZygidmlkZW9fd2lkdGgiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX3dpZHRoIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF93aWR0aCIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJoZWlnaHQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19oZWlnaHQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2hlaWdodCIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfaGVpZ2h0IiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbInBhcmVudCJdID0gYXJyYXkoJHRoaXMtPkxhbmcoInBhcmVudCIpKTsNCgkJCQkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfaGllcmFyY2h5b3B0aW9ucygidmlkZW8iKTsNCgkJCQkkb3V0cHV0WyJwYXJlbnQiXVtdID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJmaWVsZF9wYXJlbnQiLCRwYXJlbnRvcHRpb25zKTsNCgkJCQkkb3V0cHV0WyJuYW1lIl0gPSBhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfbmFtZSIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfbmFtZSIsIiIsMzApKTsNCgkJCQkNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRtcHRpbWUiLCB0aW1lKCkpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigic19hbmQiLCAkdGhpcy0+TGFuZygidGhpc2FuZHRoaXMiKSk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4IiwgJGlkLiJkYXRlX2RhdGVfbW9kaWZpZWRfIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4MiIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkX3BhcnQyXyIpOw0KCQkJCSR0bXB0ZW1wbGF0ZSA9ICd7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSB9PGRpdiBpZD0iJy4kaWQuJ2RhdGVfbW9kaWZpZWRfcGFydDIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+IHskc19hbmR9IHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wX3ByZWZpeDIgdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgfTwvZGl2Pic7DQoJCQkJJHRtcG91dCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kYXRlX21vZGlmaWVkIiwkZGF0ZWNvbXBhcmVjaG9pY2VzLC0xLCJOQSIsIiBvbmNoYW5nZT1cImRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKCciLiRpZC4iZGF0ZV9tb2RpZmllZCcsIHRoaXMudmFsdWUpO1wiIikuIiAiLiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wdGVtcGxhdGUpOw0KCQkJCSR0bXBvdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwiZmllbGRfZGF0ZV9tb2RpZmllZCIsICJfX2RhdGVfZmllbGQiKTsNCgkJCQkkb3V0cHV0WyJkYXRlX21vZGlmaWVkIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiZGF0ZV9tb2RpZmllZCIpLCAkdG1wb3V0KTsNCgkJCQkkb3JkZXJmaWVsZG9wdGlvbnMgPSBhcnJheSgiIj0+IiIsImRlc2NyaXB0aW9uIj0+ImRlc2NyaXB0aW9uIiwic2l0ZSI9PiJzaXRlIiwidmlkZW9pZCI9PiJ2aWRlb2lkIiwid2lkdGgiPT4id2lkdGgiLCJoZWlnaHQiPT4iaGVpZ2h0IiwicGFyZW50Ij0+InBhcmVudCIsImlkIj0+ImlkIiwibmFtZSI9PiJuYW1lIiwiYWxpYXMiPT4iYWxpYXMiLCJpdGVtX29yZGVyIj0+Iml0ZW1fb3JkZXIiLCJkYXRlX21vZGlmaWVkIj0+ImRhdGVfbW9kaWZpZWQiKTsNCgkJCQkkb3V0cHV0WyJvcmRlcmJ5Il0gPSBhcnJheSgkdGhpcy0+TGFuZygib3JkZXJieWZpZWxkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXIiLCRvcmRlcmZpZWxkb3B0aW9ucykuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXJfdHlwZSIsJG9yZGVyY2hvaWNlcykpOw0KCQkJCWJyZWFrOw0KCQkJDQoJCX0NCgkJZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCWZ1bmN0aW9uIGRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKGZpZWxkbmFtZSwgbmV3dmFsdWUpew0KCQlpZihuZXd2YWx1ZSA9PSA1KXsNCgkJCXZhciBuZXdzdGF0ZSA9ICJpbmxpbmUiOw0KCQl9ZWxzZXsNCgkJCXZhciBuZXdzdGF0ZSA9ICJub25lIjsNCgkJfQ0KCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZG5hbWUrIl9wYXJ0MiIpKQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZG5hbWUrIl9wYXJ0MiIpLnN0eWxlLmRpc3BsYXkgPSBuZXdzdGF0ZTsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KPC9zY3JpcHQ+DQonOw0KCQlpZigkYXNzaWduKXsNCgkJCWZvcmVhY2goJG91dHB1dCBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigka2V5LiJfbGFiZWwiLCAkdmFsdWVbMF0pOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigka2V5LiJfaW5wdXQiLCAkdmFsdWVbMV0pOw0KCQkJfQ0KCQl9ZWxzZXsNCgkJCWVjaG8gIjx0YWJsZSBzdHlsZT1cImJvcmRlci1sZWZ0OiAxcHggc29saWQgTGlnaHRHcmF5OyBwYWRkaW5nLWxlZnQ6IDEwcHg7XCI+IjsNCgkJCWZvcmVhY2goJG91dHB1dCBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgIT0gIm9yZGVyYnkiKQllY2hvICINCgkJCQk8dHI+PHRkPiIuJHZhbHVlWzBdLiI8L3RkPjx0ZD4iLiR2YWx1ZVsxXS4iPC90ZD48L3RyPiI7DQoJCQl9DQoJCQkJZWNobyAiDQoJCQk8L3RhYmxlPjxici8+IjsNCgkJCWVjaG8gIjxwPiIuJG91dHB1dFsib3JkZXJieSJdWzBdLiI6ICIuJG91dHB1dFsib3JkZXJieSJdWzFdLiI8L3A+IjsNCgkJfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.plGetFileInfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCglpZighaXNzZXQoJGZpbGVwYXRoKSkJZXhpdDsNCgkNCgkkaW5mbyA9IGFycmF5KCk7DQoJDQoJJGluZm9bImZpbGVuYW1lIl0gPSBiYXNlbmFtZSgkZmlsZXBhdGgpOw0KCQ0KCSRzaXplID0gZmlsZXNpemUoJGZpbGVwYXRoKTsNCgkkaW5mb1sic2l6ZSJdID0gJHNpemU7DQoJaWYoJHNpemUgPiAxMDczNzQxODI0KXsNCgkJJHNpemUgPSByb3VuZCgoJHNpemUvMTA3Mzc0MTgyNCksMikuJyBHQic7DQoJfWVsc2VpZigkc2l6ZSA+IDEwNDg1NzYpew0KCQkkc2l6ZSA9IHJvdW5kKCgkc2l6ZS8xMDQ4NTc2KSwyKS4nIE1CJzsNCgl9ZWxzZWlmKCRzaXplID4gMTAyNCl7DQoJCSRzaXplID0gcm91bmQoKCRzaXplLzEwMjQpLDIpLicgS0InOw0KCX1lbHNlew0KCQkkc2l6ZSAuPSAnIGJ5dGVzJzsNCgl9DQoJJGluZm9bInNpemVfd2Zvcm1hdCJdID0gJHNpemU7DQoJDQoJJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVwYXRoLCAiLiIpLCAxKSk7DQoJJGluZm9bImV4dCJdID0gJGV4dGVuc2lvbjsNCglpZihpbl9hcnJheSgkZXh0ZW5zaW9uLCBhcnJheSgnZmx2Jywnc3dmJywnd212JywnbW92JykpKXsNCgkJJGluZm9bImZpbGVpY29uIl0gPSAiaWNvbnMvZmlsZXR5cGVzL2ZtZWRpYS5naWYiOw0KCX1lbHNlaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2pwZWcnLCdqcGcnLCdwbmcnLCdnaWYnKSkpew0KCQkkaW5mb1siZmlsZWljb24iXSA9ICJpY29ucy9maWxldHlwZXMvZnBhaW50LmdpZiI7DQoJfWVsc2V7DQoJCSRpbmZvWyJmaWxlaWNvbiJdID0gImljb25zL2ZpbGV0eXBlcy9mZG9jLmdpZiI7DQoJfQ0KCQ0KCSRpbmZvWyJpbWFnZXNpemUiXSA9IGZhbHNlOw0KCSRpbWdpbmYgPSBnZXRpbWFnZXNpemUoJGZpbGVwYXRoKTsNCglpZihpc3NldCgkaW1naW5mWzFdKSl7DQoJCSRpbmZvWyJ3aWR0aCJdID0gJGltZ2luZlswXTsNCgkJJGluZm9bImhlaWdodCJdID0gJGltZ2luZlsxXTsNCgkJJGluZm9bImltYWdlc2l6ZSJdID0gJGltZ2luZlswXS4neCcuJGltZ2luZlsxXTsNCgkJaWYoaXNzZXQoJGltZ2luZlsibWltZSJdKSkJJGluZm9bIm1pbWUiXSA9ICRpbWdpbmZbIm1pbWUiXTsNCgl9DQoJDQoJJGluZm9bIm93bmVyIl0gPSBmaWxlb3duZXIoJGZpbGVwYXRoKTsNCgkkaW5mb1sicGVybWlzc2lvbnMiXSA9IGZpbGVwZXJtcygkZmlsZXBhdGgpOw0KCQ0KCSRpbmZvWyJmaWxlbXRpbWUiXSA9IGZpbGVtdGltZSgkZmlsZXBhdGgpOw0KCSRpbmZvWyJtb2RpZmllZCJdID0gZGF0ZSgiWS1tLWQgRzppIiwgJGluZm9bImZpbGVtdGltZSJdKTsNCgkNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/function.plresize.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8vIGZ1bmN0aW9uIHBsUmVzaXplKCRmdWxscGF0aCwgJG5ld3BhdGgsICRuZXd3aWR0aCwgJG5ld2hlaWdodD1mYWxzZSwgJHRyYW5zcGFyZW5jeT1mYWxzZSwgJGNyb3A9ZmFsc2UpIHsNCgkkbmFtZSA9IHN0cl9yZXBsYWNlKCcvLycsJy8nLCRmdWxscGF0aCk7DQoJaWYoIWZpbGVfZXhpc3RzKCRuYW1lKSkJcmV0dXJuIGZhbHNlOw0KCSRpbWFnZV9pbmZvcyA9IGdldGltYWdlc2l6ZSgkbmFtZSk7DQoJDQoJJGRvcmVzaXplID0gdHJ1ZTsNCglpZiggJGltYWdlX2luZm9zWzBdIDw9ICRuZXd3aWR0aCAmJiAoJG5ld2hlaWdodCA9PSBmYWxzZSB8fCAkaW1hZ2VfaW5mb3NbMV0gPD0gJG5ld2hlaWdodCkgKXsNCgkJJHJldHVybiA9IGZhbHNlOw0KCX1lbHNlew0KCQkkbmV3bmFtZSA9ICgkbmV3cGF0aCA9PSAnJz8kZnVsbHBhdGg6JG5ld3BhdGgpOw0KCQkkYXJyID0gc3BsaXQoIlwuIiwkbmFtZSk7DQoJCSRleHQgPSBzdHJ0b2xvd2VyKCRhcnJbY291bnQoJGFyciktMV0pOw0KDQoJCWlmKCRleHQ9PSJqcGVnIiB8fCAkZXh0PT0ianBnIil7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbWpwZWcoJG5hbWUpOw0KCQl9IGVsc2VpZigkZXh0PT0icG5nIil7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbXBuZygkbmFtZSk7DQoJCX0gZWxzZWlmKCRleHQ9PSJnaWYiKSB7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbWdpZigkbmFtZSk7DQoJCX0NCgkJaWYoISRpbWcpICAgcmV0dXJuIGZhbHNlOw0KDQoJCSRvbGRfeCA9IGltYWdlU1goJGltZyk7DQoJCSRvbGRfeSA9IGltYWdlU1koJGltZyk7DQoNCgkJaWYoJG5ld2hlaWdodCAmJiAkY3JvcCl7DQoJCQkvLyBmaW5kIHRoZSB3YW50ZWQgcmF0aW8NCgkJCSR3YW50ZWRyYXRpbyA9ICRuZXd3aWR0aC8kbmV3aGVpZ2h0Ow0KCQkJJGN1cnJlbnRyYXRpbyA9ICRvbGRfeC8kb2xkX3k7DQoJCQlpZigkY3VycmVudHJhdGlvID4gJHdhbnRlZHJhdGlvKXsNCgkJCQkvLyB3aWR0aCBpcyB0b28gbGFyZ2UNCgkJCQkkY3JvcF94ID0gKGludCkgKCRvbGRfeSAqICR3YW50ZWRyYXRpbyk7DQoJCQkJJGNyb3BfeSA9ICRvbGRfeTsNCgkJCQkkaW50X3cgPSAoaW50KSAoKCRvbGRfeCAtICRjcm9wX3gpIC8gMik7DQoJCQkJJGludF9oID0gMDsNCgkJCX1lbHNlaWYoJGN1cnJlbnRyYXRpbyA8ICR3YW50ZWRyYXRpbyl7DQoJCQkJLy8gaGVpZ2h0IGlzIHRvbyBsYXJnZQ0KCQkJCSRjcm9wX3ggPSAkb2xkX3g7DQoJCQkJJGNyb3BfeSA9IChpbnQpICgkb2xkX3ggLyAkd2FudGVkcmF0aW8pOw0KCQkJCSRpbnRfaCA9IChpbnQpICgoJG9sZF95IC0gJGNyb3BfeSkgLyAyKTsNCgkJCQkkaW50X3cgPSAwOw0KCQkJfQ0KCQkJaWYoJGN1cnJlbnRyYXRpbyAhPSAkd2FudGVkcmF0aW8pew0KCQkJCS8vIHdlIGZpcnN0IGNyb3ANCgkJCQkkZGltZyA9IEltYWdlQ3JlYXRlVHJ1ZUNvbG9yKCRjcm9wX3gsICRjcm9wX3kpOw0KCQkJCWlmKGltYWdlY29weXJlc2FtcGxlZCgkZGltZywkaW1nLDAsMCwkaW50X3csJGludF9oLCRjcm9wX3gsJGNyb3BfeSwkY3JvcF94LCRjcm9wX3kpKXsNCgkJCQkJaW1hZ2VkZXN0cm95KCRpbWcpOw0KCQkJCQkkaW1nID0gJGRpbWc7DQoJCQkJfQ0KCQkJfQ0KCQkJJG9sZF94ID0gJGNyb3BfeDsNCgkJCSRvbGRfeSA9ICRjcm9wX3k7DQoJCQkkdGh1bWJfaCA9ICRuZXdoZWlnaHQ7DQoJCQkkdGh1bWJfdyA9ICRuZXd3aWR0aDsNCgkJfWVsc2V7DQoJCQkkcmF0aW8gPSAkbmV3aGVpZ2h0P21pbigkbmV3d2lkdGggLyAkaW1hZ2VfaW5mb3NbMF0sICRuZXdoZWlnaHQgLyAkaW1hZ2VfaW5mb3NbMV0pOigkbmV3d2lkdGggLyAkaW1hZ2VfaW5mb3NbMF0pOw0KCQkJJHRodW1iX2ggPSAkaW1hZ2VfaW5mb3NbMV0gKiAkcmF0aW87DQoJCQkkdGh1bWJfdyA9ICRpbWFnZV9pbmZvc1swXSAqICRyYXRpbzsNCgkJfQ0KDQoJCSRuZXdfaW1nID0gSW1hZ2VDcmVhdGVUcnVlQ29sb3IoJHRodW1iX3csICR0aHVtYl9oKTsNCgkgICANCgkJaWYoJHRyYW5zcGFyZW5jeSkgew0KCQkJaWYoJGV4dD09InBuZyIpIHsNCgkJCQlpbWFnZWFscGhhYmxlbmRpbmcoJG5ld19pbWcsIGZhbHNlKTsNCgkJCQkkY29sb3JUcmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRuZXdfaW1nLCAwLCAwLCAwLCAxMjcpOw0KCQkJCWltYWdlZmlsbCgkbmV3X2ltZywgMCwgMCwgJGNvbG9yVHJhbnNwYXJlbnQpOw0KCQkJCWltYWdlc2F2ZWFscGhhKCRuZXdfaW1nLCB0cnVlKTsNCgkJCX0gZWxzZWlmKCRleHQ9PSJnaWYiKSB7DQoJCQkJJHRybnBydF9pbmR4ID0gaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRpbWcpOw0KCQkJCWlmICgkdHJucHJ0X2luZHggPj0gMCkgew0KCQkJCQkvL2l0cyB0cmFuc3BhcmVudA0KCQkJCQkkdHJucHJ0X2NvbG9yID0gaW1hZ2Vjb2xvcnNmb3JpbmRleCgkaW1nLCAkdHJucHJ0X2luZHgpOw0KCQkJCQkkdHJucHJ0X2luZHggPSBpbWFnZWNvbG9yYWxsb2NhdGUoJG5ld19pbWcsICR0cm5wcnRfY29sb3JbJ3JlZCddLCAkdHJucHJ0X2NvbG9yWydncmVlbiddLCAkdHJucHJ0X2NvbG9yWydibHVlJ10pOw0KCQkJCQlpbWFnZWZpbGwoJG5ld19pbWcsIDAsIDAsICR0cm5wcnRfaW5keCk7DQoJCQkJCWltYWdlY29sb3J0cmFuc3BhcmVudCgkbmV3X2ltZywgJHRybnBydF9pbmR4KTsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlJbWFnZWZpbGwoJG5ld19pbWcsIDAsIDAsIGltYWdlY29sb3JhbGxvY2F0ZSgkbmV3X2ltZywgMjU1LCAyNTUsIDI1NSkpOw0KCQl9DQoJCWltYWdlY29weXJlc2FtcGxlZCgkbmV3X2ltZywgJGltZywgMCwwLDAsMCwgJHRodW1iX3csICR0aHVtYl9oLCAkb2xkX3gsICRvbGRfeSk7DQoNCgkJaWYoZmlsZV9leGlzdHMoJG5ld25hbWUpKQlAdW5saW5rKCRuZXduYW1lKTsNCg0KCQlpZigkZXh0PT0ianBlZyIgfHwgJGV4dD09ImpwZyIpew0KCQkJaW1hZ2VqcGVnKCRuZXdfaW1nLCAkbmV3bmFtZSk7DQoJCQkkcmV0dXJuID0gdHJ1ZTsNCgkJfSBlbHNlaWYoJGV4dD09InBuZyIpew0KCQkJaW1hZ2VwbmcoJG5ld19pbWcsICRuZXduYW1lKTsNCgkJCSRyZXR1cm4gPSB0cnVlOw0KCQl9IGVsc2VpZigkZXh0PT0iZ2lmIikgew0KCQkJaW1hZ2VnaWYoJG5ld19pbWcsICRuZXduYW1lKTsNCgkJCSRyZXR1cm4gPSB0cnVlOw0KCQl9DQoJCWltYWdlZGVzdHJveSgkbmV3X2ltZyk7DQoJCWltYWdlZGVzdHJveSgkaW1nKTsNCgkJaWYoJHJldHVybikgJHJldHVybiA9ICRuZXduYW1lOw0KCX0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/HostedVideoAlbums.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogSG9zdGVkVmlkZW9BbGJ1bXMNCiMgVmVyc2lvbjogMS4wLCANCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIFRoaXMgcHJvamVjdCJzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnDQojDQojIFRoaXMgbW9kdWxlIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zIGFuZCB0aGVuDQojIG1vZGlmaWVkIG1hbnVhbGx5DQojIENUTE1vZHVsZU1ha2VyIHdhcyBjcmVhdGVkIGJ5IFBpZXJyZS1MdWMgR2VybWFpbiBhbmQgaXMgcmVsZWFzZWQgdW5kZXIgR05VDQojIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3RsbW9kdWxlbWFrZXINCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIEhvc3RlZFZpZGVvQWxidW1zIGV4dGVuZHMgQ01TTW9kdWxlDQp7DQoJdmFyICRjdXJyZW50dHJlZSA9IGZhbHNlOw0KCXZhciAkY3VycmVudHBhZ2VpbmRleCA9IDE7DQoJdmFyICRwbGN1cnJlbnQgPSBhcnJheSgpOw0KDQoJZnVuY3Rpb24gR2V0TmFtZSgpDQoJew0KCQlyZXR1cm4gIkhvc3RlZFZpZGVvQWxidW1zIjsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEZyaWVuZGx5TmFtZSgpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBsb2NhbGl6ZWQgbmFtZQ0KCSAgIG9mIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIG5hbWUgdGhhdCJzIHNob3duIGluIHRoZQ0KCSAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbg0KCSAgIGNvbXBvbmVudCkuDQoJICAgDQoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIik7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0VmVyc2lvbigpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBudW1iZXIgb3INCgkgICBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBmb3IgZGVzaWduYXRpbmcgYSB2ZXJzaW9uLg0KCSAgIFRoZSBDTVMgd2lsbCB1c2UgdGhpcyB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdA0KCSAgIHRoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiB0aGUgbW9kdWxlIGlzIGN1cnJlbnQsIGFuZA0KCSAgIHRoZSBtb2R1bGUgd2lsbCB1c2UgaXQgdG8gZmlndXJlIG91dCBob3cgdG8gdXBncmFkZQ0KCSAgIGl0c2VsZiBpZiByZXF1ZXN0ZWQuCSAgIA0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkNCgl7DQoJCXJldHVybiAiMS4xLjEiOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXREZXBlbmRlbmNpZXMoKQ0KCSAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkDQoJICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4NCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kDQoJICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4NCgkgICANCgkgICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLg0KCSAgIHJldHVybiBhcnJheSgic29tZW1vZHVsZSI9PiIxLjAiLCAib3RoZXJtb2R1bGUiPT4iMS4xIik7DQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpDQoJew0KCQlyZXR1cm4gYXJyYXkoKTsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEhlbHAoKQ0KCSAgIFRoaXMgcmV0dXJucyBIVE1MIGluZm9ybWF0aW9uIG9uIHRoZSBtb2R1bGUuDQoJICAgVHlwaWNhbGx5LCB5b3UibGwgd2FudCB0byBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIGhvdyB0bw0KCSAgIHVzZSB0aGUgbW9kdWxlLg0KCSAgIA0KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEhlbHAoKQ0KCXsNCgkJJGZuPWRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xhbmcnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPkxhbmcoImhlbHBmaWxlIik7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQlyZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCX0NCgkJZWNobyAiPHA+ZmlsZSAiLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xhbmcnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPkxhbmcoImhlbHBmaWxlIikuIiBub3QgZm91bmQ8L3A+IjsNCgkJLy8gdHJ5IHdpdGggZW5nbGlzaCBoZWxwIC0gaGFyZGNvZGVkDQoJCSRmbj1kaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsYW5nJy5ESVJFQ1RPUllfU0VQQVJBVE9SLiJoZWxwX2VuX1VTLmh0bWwiOw0KCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQl9DQoJCXJldHVybiAiaGVscCBub3QgZm91bmQiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3IoKQ0KCXsNCgkJcmV0dXJuICJPbGl2aWVyIExFVklMTEFJTiBvbiBhIGJhc2lzIGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zIjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yRW1haWwoKQ0KCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlDQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuIEl0IGhlbHBzIHVzZXJzDQoJICAgb2YgeW91ciBtb2R1bGUgZ2V0IGluIHRvdWNoIHdpdGggeW91IHRvIHNlbmQgYnVnIHJlcG9ydHMsDQoJICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQ0KCXsNCgkJcmV0dXJuICJvbGl2aWVyLmxldmlsbGFpbkBmcmVlLmZyIjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSXNQbHVnaW5Nb2R1bGUoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlLCBkZXBlbmRpbmcgdXBvbg0KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3INCgkgICB0ZW1wbGF0ZSB1c2luZyBhIHNtYXJ0eSB0YWcgb2YgdGhlIGZvcm0NCgkgICB7Y21zX21vZHVsZSBtb2R1bGU9IlByb2QiIHBhcmFtMT12YWwgcGFyYW0yPXZhbC4uLn0NCgkgICANCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3INCgkgICB0ZW1wbGF0ZXMsIHJldHVybiAiZmFsc2UiIGhlcmUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkNCgl7DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBIYXNBZG1pbigpDQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uDQoJICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mDQoJICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSJsbCBiZSBjYWxsaW5nDQoJICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yDQoJICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBIYXNBZG1pbigpIHsJcmV0dXJuIHRydWU7CX0NCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7cmV0dXJuICJjb250ZW50Ijt9DQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHtyZXR1cm4gJHRoaXMtPkxhbmcoImFkbWluZGVzY3JpcHRpb24iKTt9DQoNCglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKXsNCgkJcmV0dXJuICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfbm9ybWFsdXNlciIpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpKTsNCgl9DQoJDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBNb2R1bGUgQ29uc3RydWN0b3IgDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBIb3N0ZWRWaWRlb0FsYnVtcygpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQogICAgCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOw0KCQkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigiSG9zdGVkVmlkZW9BbGJ1bXNfYnJlYWRjcnVtYnMiLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzIikpOw0KCQkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigiSG9zdGVkVmlkZW9BbGJ1bXNfZ2V0X2xldmVsaXRlbSIsIGFycmF5KCYkdGhpcywiZnVuY3Rpb25fZ2V0X2xldmVsaXRlbSIpKTsNCgkJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oIkhvc3RlZFZpZGVvQWxidW1zX2VtYmVkdmlkZW8iLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX2VtYmVkdmlkZW8iKSk7DQoJCXBhcmVudDo6Q01TTW9kdWxlKCk7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgU2V0UGFyYW1ldGVycygpDQoJICAgVGhpcyBmdW5jdGlvbiBlbmFibGVzIHlvdSB0byBjcmVhdGUgbWFwcGluZ3MgZm9yDQoJICAgeW91ciBtb2R1bGUgd2hlbiB1c2luZyAiUHJldHR5IFVybHMiLg0KCSAgIA0KCSAgIFR5cGljYWxseSwgbW9kdWxlcyBjcmVhdGUgaW50ZXJuYWwgbGlua3MgdGhhdCBoYXZlDQoJICAgYmlnIHVnbHkgc3RyaW5ncyBhbG9uZyB0aGUgbGluZXMgb2Y6DQoJICAgaW5kZXgucGhwP21hY3Q9TW9kTmFtZSxjbnRudDAxLGFjdGlvbk5hbWUsMCZjbnRudDAxcGFyYW0xPTEmY250bnQwMXBhcmFtMj0yJmNudG50MDFyZXR1cm5pZD0zDQoJICAgDQoJICAgWW91IG1pZ2h0IHByZWZlciB0aGVzZSB0byBsb29rIGxpa2U6DQoJICAgL01vZHVsZUZ1bmN0aW9uLzIvMw0KCSAgIA0KCSAgIFRvIGRvIHRoaXMsIHlvdSBoYXZlIHRvIHJlZ2lzdGVyIHJvdXRlcyBhbmQgbWFwDQoJICAgeW91ciBwYXJhbWV0ZXJzIGluIGEgd2F5IHRoYXQgdGhlIEFQSSB3aWxsIGJlIGFibGUNCgkgICB0byB1bmRlcnN0YW5kLg0KDQoJICAgQWxzbyBub3RlIHRoYXQgYW55IGNhbGxzIHRvIENyZWF0ZUxpbmsgd2lsbCBuZWVkIHRvDQoJICAgYmUgdXBkYXRlZCB0byBwYXNzIHRoZSBwcmV0dHkgdXJsIHBhcmFtZXRlci4NCgkgICANCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQ0KCXsNCg0KCQkvLyB0aGVzZSBhcmUgZm9yIGludGVybmFsIHByZXR0eSBVUkxTLg0KCQkvLyB5b3UgbWF5IGNoYW5nZSB0aGVzZSwgYnV0IHlvdSB3aWxsIGFsc28gbmVlZCB0byBjaGFuZ2UgdGhlIEJ1aWxkUHJldHR5VVJMcyBmdW5jdGlvbiBiZWxvdyBhY2NvcmRpbmdseQ0KCQkvLyBzZWUgRkFRIGZvciBtb3JlIGluZm8gb24gdGhpcw0KCQkkZGVmYWN0ID0gYXJyYXkoImFjdGlvbiI9PiJkZWZhdWx0Iik7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyhbUXFddWVyeSlcLyg/UDxxdWVyeT5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyhbUXFddWVyeSlcLyg/UDxxdWVyeT5bMC05XSspXC8oP1A8cGFnZWluZGV4PlswLTldKylcLyg/UDxuYnBlcnBhZ2U+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIsICRkZWZhY3QpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oW0RkXWV0YWlsKVwvKD9QPGFsaWFzPlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIsICRkZWZhY3QpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oP1A8d2hhdD5bXlwvXSspXC8oP1A8cGFyZW50PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHBhcmVudD5bXlwvXSspXC8oP1A8cGFnZWluZGV4PlswLTldKylcLyg/UDxuYnBlcnBhZ2U+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIsICRkZWZhY3QpOw0KCQ0KCQkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJhY3Rpb24iLCAiZGVmYXVsdCIsICR0aGlzLT5MYW5nKCJwaGVscF9hY3Rpb24iKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoIndoYXQiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3doYXQiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJ3aGF0IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJhbGlhcyIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfYWxpYXMiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJhbGlhcyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigic2hvd2RlZmF1bHQiLCBmYWxzZSwgJHRoaXMtPkxhbmcoInBoZWxwX3Nob3dkZWZhdWx0IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgic2hvd2RlZmF1bHQiLENMRUFOX0lOVCk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInBhcmVudCIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfcGFyZW50IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgicGFyZW50IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJsaW1pdCIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9saW1pdCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImxpbWl0IixDTEVBTl9JTlQpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJuYnBlcnBhZ2UiLCAwLCAkdGhpcy0+TGFuZygicGhlbHBfbmJwZXJwYWdlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibmJwZXJwYWdlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJvcmRlcmJ5IiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX29yZGVyYnkiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJvcmRlcmJ5IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJkZXRhaWxwYWdlIiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF9kZXRhaWxwYWdlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZGV0YWlscGFnZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigicmFuZG9tIiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX3JhbmRvbSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInJhbmRvbSIsQ0xFQU5fSU5UKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigibGlzdHRlbXBsYXRlIiwgIiIsICR0aGlzLT5sYW5nKCJwaGVscF9saXN0dGVtcGxhdGUiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJsaXN0dGVtcGxhdGUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImZpbmFsdGVtcGxhdGUiLCAiIiwgJHRoaXMtPmxhbmcoInBoZWxwX2ZpbmFsdGVtcGxhdGUiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJmaW5hbHRlbXBsYXRlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJlbWJlZHRlbXBsYXRlIiwgIiIsICR0aGlzLT5sYW5nKCJwaGVscF9lbWJlZHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZW1iZWR0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiZm9yY2VsaXN0IiwgIjAiLCAkdGhpcy0+bGFuZygicGhlbHBfZm9yY2VsaXN0IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZm9yY2VsaXN0IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJpbmxpbmUiLCAwLCAkdGhpcy0+bGFuZygicGhlbHBfaW5saW5lIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiaW5saW5lIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJzZWFyY2htb2RlIiwgImFkdmFuY2VkIiwgJHRoaXMtPmxhbmcoInBoZWxwX3NlYXJjaG1vZGUiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzZWFyY2htb2RlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJxdWVyeSIsIDAsICR0aGlzLT5sYW5nKCJwaGVscF9xdWVyeSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInF1ZXJ5IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ0b2FjdGlvbiIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfdG9hY3Rpb24iKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJ0b2FjdGlvbiIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInBhZ2VpbmRleCIsQ0xFQU5fSU5UKTsNCg0KCQkvLyBmb3IgdGhlIHNlYXJjaCBmb3JtICh0cmljayBmcm9tIGlrdWxpcykgOg0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuIi9kYXRlXy4qLyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLiIvZmllbGRfLiovIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuIi9jb21wYXJlXy4qLyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInN1Ym1pdHNlYXJjaCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInNlYXJjaGZpZWxkIixDTEVBTl9TVFJJTkcpOw0KCQkNCgl9DQoNCiAgICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCRldmVudG5hbWUpDQogICAgew0KCQkkZXZlbnRuYW1lID0gc3RyX3JlcGxhY2UoIkhvc3RlZFZpZGVvQWxidW1zIiwgIiIsICRldmVudG5hbWUpOw0KCQlyZXR1cm4gJHRoaXMtPmxhbmcoImV2ZW50ZGVzYyIuJGV2ZW50bmFtZSk7DQogICAgfQ0KICAgIA0KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicG9zdHVuaW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicmVhbGx5X3VuaW5zdGFsbCIpOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBJbnN0YWxsKCkNCgkgICBXaGVuIHlvdXIgbW9kdWxlIGlzIGluc3RhbGxlZCwgeW91IG1heSBuZWVkIHRvIGRvIHNvbWUNCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uDQoJICAgYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsDQoJICAgcGVybWlzc2lvbnMsIHByZWZlcmVuY2VzLCBldGMuDQoJICAgCSAgIA0KCSAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLA0KCSAgIGNoZWNrIG91dCB0aGUgQURPREIgRGF0YSBEaWN0aW9uYXJ5IHBhZ2UgYXQNCgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQ0KCSAgIA0KCSAgIFRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBhIHN0cmluZyBpbiBjYXNlIG9mIGFueSBlcnJvciwNCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLg0KCSAgIFN1Y2Nlc3NmdWwgaW5zdGFsbHMgc2hvdWxkIHJldHVybiBGQUxTRSBvciBub3RoaW5nIGF0IGFsbC4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC5pbnN0YWxsLnBocCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBVbmluc3RhbGwoKQ0KCSAgIFNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50DQoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQNCgkgICB3b3VsZCBiZSBiZXN0IHRvIGxheSBpbnRvIHRoZXNlIGlkaW90cyB3aXRoIGEgY2x1ZXN0aWNrLA0KCSAgIHdlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQ0KCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMNCgkgICB0aGF0IGFyZSBzcGVjaWZpYyB0byBpdC4NCgkgICBUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVW5pbnN0YWxsKCkNCgl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVuaW5zdGFsbC5waHAiOw0KCX0NCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCVVwZ3JhZGUoKQ0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVXBncmFkZSgkb2xkdmVyc2lvbiwgJG5ld3ZlcnNpb24pDQoJew0KCQkkY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVwZ3JhZGUucGhwIjsNCgl9DQoNCg0KICAgIGZ1bmN0aW9uIFNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsICRpdGVtaWQsICRsZXZlbCA9ICIiKQ0KICAgIHsNCgkJJHJlc3VsdCA9IGFycmF5KCk7DQoJCSR3YW50ZWRwYXJhbSA9IGZhbHNlOw0KCQkkbmV3cGFyYW1zID0gYXJyYXkoKTsNCgkJaWYoJGxldmVsID09ICJ2aWRlbyIpew0KCQkJLy8gd2Ugc2VlayBhbiBlbGVtZW50IG9mIHRoZSBsYXN0IGxldmVsLCBhbmQgd2lsbCBkaXNwbGF5IHRoZSBkZXRhaWwgdmlldw0KCQkJJHdhbnRlZHBhcmFtID0gImFsaWFzIjsNCgkJfWVsc2V7DQoJCQlpZigkbmV3cGFyYW1zWyJ3aGF0Il0gPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkbGV2ZWwpKXsNCgkJCS8vIHdlIHNlZWsgYW4gZWxlbWVudCBvZiBhbm90aGVyIGxldmVsLCBhbmQgd2lsbCBkaXNwbGF5IHRoZSBsaXN0IHZpZXcgb2YgaXRzIGNoaWxkcmVuDQoJCQkJJHdhbnRlZHBhcmFtID0gInBhcmVudCI7DQoJCQl9DQoJCX0NCgkJaWYgKCR3YW50ZWRwYXJhbSl7DQoJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsOw0KCQkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkJJHF1ZXJ5ID0gIlNFTEVDVCBuYW1lLCBhbGlhcyBGUk9NICR0YWJsZW5hbWUgV0hFUkUgaWQgPSA/IjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGl0ZW1pZCApICk7DQoJCQlpZiAoJGRicmVzdWx0KXsNCgkJCQkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOw0KCQkJCSRuZXdwYXJhbXNbJHdhbnRlZHBhcmFtXSA9ICRyb3dbImFsaWFzIl07DQoNCgkJCQkvLzAgcG9zaXRpb24gaXMgdGhlIHByZWZpeCBkaXNwbGF5ZWQgaW4gdGhlIGxpc3QgcmVzdWx0cy4NCgkJCQkkcmVzdWx0WzBdID0gJHRoaXMtPkdldEZyaWVuZGx5TmFtZSgpOw0KDQoJCQkJLy8xIHBvc2l0aW9uIGlzIHRoZSB0aXRsZQ0KCQkJCSRyZXN1bHRbMV0gPSAkcm93WyJuYW1lIl07DQoJCQ0KCQkJCS8vMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSB0aXRsZS4NCgkJCQkkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgIiIsICRuZXdwYXJhbXMsICIiLCB0cnVlLCBmYWxzZSwgIiIsIGZhbHNlLCAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCkpOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQ0KCQ0KCWZ1bmN0aW9uIFNlYXJjaFJlaW5kZXgoJiRtb2R1bGUpDQogICAgew0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfY2F0ZWdvcnkiLGZhbHNlKSl7DQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KCk7DQoJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSl7DQoJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbS0+aWQsICJjYXRlZ29yeSIsICR0ZXh0LCBOVUxMKTsNCgkJCX0NCgkJfQ0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2FsYnVtIixmYWxzZSkpew0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSR0ZXh0ID0gIiRpdGVtLT5kZXNjcmlwdGlvbiAkaXRlbS0+bmFtZSI7DQoJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiYWxidW0iLCAkdGV4dCwgTlVMTCk7DQoJCQl9DQoJCX0NCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoInNlYXJjaG1vZHVsZV9pbmRleF92aWRlbyIsZmFsc2UpKXsNCgkJCSRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfbGV2ZWxfdmlkZW8oKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkdGV4dCA9ICIkaXRlbS0+ZGVzY3JpcHRpb24gJGl0ZW0tPnNpdGUgJGl0ZW0tPnZpZGVvaWQgJGl0ZW0tPm5hbWUiOw0KCQkJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtLT5pZCwgInZpZGVvIiwgJHRleHQsIE5VTEwpOw0KCQkJfQ0KCQl9DQoJCQ0KICAgIH0JDQoNCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTk9UIFBBUlQgT0YgVEhFIE5PUk1BTCBNT0RVTEUgQVBJDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KICAgIGZ1bmN0aW9uIGdldERlZmF1bHRUZW1wbGF0ZXMoKXsNCiAgICAJLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgdGVtcGxhdGVzIHRoYXQgYXJlIHNlbGVjdGVkIGFzIGRlZmF1bHQgKGp1c3Qgc28gdGhhdCB3ZSBkb24ndCBkZWxldGUgdGhlbSkNCgkgICAkcmVzdWx0ID0gYXJyYXkoKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2hyZXN1bHRzdGVtcGxhdGUiKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5Iik7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV9hbGJ1bSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfdmlkZW8iKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1iZWR0ZW1wbGF0ZSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIik7DQoJICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KCQ0KICAgIGZ1bmN0aW9uIGdldE9yZGVyVHlwZSgkd2hhdCl7DQoJCS8vIHJldHVybnMgd2hldGhlciBhIGxldmVsIGlzIG9yZGVyZWQgYnkgcGFyZW50IG9yIG5vdA0KCQkkcmV0dXJuID0gYXJyYXkoImNhdGVnb3J5Ij0+dHJ1ZSwiYWxidW0iPT50cnVlLCJ2aWRlbyI9PnRydWUpOw0KCQlyZXR1cm4gKGlzc2V0KCRyZXR1cm5bJHdoYXRdKT8kcmV0dXJuWyR3aGF0XTpmYWxzZSk7DQogICAgfQ0KDQoJZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQlnbG9iYWwgJGdDbXM7DQoJCQ0KCQlzd2l0Y2goJGFjdGlvbil7DQoJCQljYXNlICJsaW5rIjoNCgkJCQkkdG9hY3Rpb24gPSBpc3NldCgkcGFyYW1zWyJ0b2FjdGlvbiJdKT8kcGFyYW1zWyJ0b2FjdGlvbiJdOiJkZWZhdWx0IjsNCgkJCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwkdG9hY3Rpb24sJHJldHVybmlkLCIiLCRwYXJhbXMsIiIsdHJ1ZSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJicmVhZGNydW1icyI6DQoJCQkJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7DQoJCQkJJHRoaXMtPmZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzKCRwYXJhbXMsICRzbWFydHkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZW1iZWR2aWRlbyI6DQoJCQkJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7DQoJCQkJJHRoaXMtPmZ1bmN0aW9uX2VtYmVkdmlkZW8oJHBhcmFtcywgJHNtYXJ0eSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJjaGFuZ2VwcmVmZXJlbmNlcyI6DQoJCQkJaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpKXsNCgkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoImVycm9yX2RlbmllZCIpKSk7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQkkcHJlZnMgPSBhcnJheSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLCJ1c2VfaGllcmFyY2h5Iiwib3JkZXJieW5hbWUiLCJkaXNwbGF5X2ZpbHRlciIsImRpc3BsYXlfaW5zdGFudHNlYXJjaCIsImRpc3BsYXlfaW5zdGFudHNvcnQiLCJlZGl0YWJsZV9hbGlhc2VzIiwiYXV0b2luY3JlbWVudF9hbGlhcyIsImFsbG93X3NxbCIsImZvcmNlX2xpc3QiLCJkZWxldGVfZmlsZXMiLCJ0YWJkaXNwbGF5X3RlbXBsYXRlcyIsInRhYmRpc3BsYXlfZmllbGRvcHRpb25zIiwidGFiZGlzcGxheV9xdWVyaWVzIiwic2hvd3RodW1ibmFpbHMiLCJmZV93eXNpd3lnIiwiZmVfZGVjb2RlZW50aXRpZXMiLCJmZV9hbGxvd2ZpbGVzIiwiZmVfYWxsb3duYW1lY2hhbmdlIiwiZmVfYWxsb3dhZGRuZXciLCJmZV91c2VjYXB0Y2hhIiwiYWxsb3dfY29tcGxleF9vcmRlciIsImxvYWRfbmV4dHByZXZpb3VzIiwibG9hZF9uYmNoaWxkcmVuIiwidXNlX3Nlc3Npb24iLCJyZXRyaWV2ZXRyZWUiKTsNCgkJCQlmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRsZXZlbCl7DQoJCQkJCSRwcmVmc1tdID0gIm5ld2l0ZW1zZmlyc3RfIi4kbGV2ZWw7DQoJCQkJCSRwcmVmc1tdID0gInNlYXJjaG1vZHVsZV9pbmRleF8iLiRsZXZlbDsNCgkJCQkJJHByZWZzW10gPSAidGFiZGlzcGxheV8iLiRsZXZlbDsNCgkJCQl9DQoJCQkJZm9yZWFjaCgkcHJlZnMgYXMgJHByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCBpc3NldCgkcGFyYW1zWyRwcmVmXSkpOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZlX2FmdGVyc3VibWl0Il0pKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZmVfYWZ0ZXJzdWJtaXQiLCAkcGFyYW1zWyJmZV9hZnRlcnN1Ym1pdCJdKTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJmZV9tYXhmaWxlc2l6ZSJdKSkJJHRoaXMtPlNldFByZWZlcmVuY2UoImZlX21heGZpbGVzaXplIiwgJHBhcmFtc1siZmVfbWF4ZmlsZXNpemUiXSk7DQoJCQkJJG1heHNob3ducGFnZXMgPSAoaW50KSRwYXJhbXNbIm1heHNob3ducGFnZXMiXTsNCgkJCQkkYWRtaW5wYWdlcyA9IChpbnQpJHBhcmFtc1siYWRtaW5wYWdlcyJdOw0KCQkJCWZvcmVhY2goJHRoaXMtPmdldF9sZXZlbGFycmF5KCkgYXMgJGxldmVsKXsNCgkJCQkJJG5icGVycGFnZSA9IChpbnQpIChpc3NldCgkcGFyYW1zWyRsZXZlbC4iX3BhZ2luYXRpb24iXSk/JHBhcmFtc1skbGV2ZWwuIl9wYWdpbmF0aW9uIl06MCk7DQoJCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRsZXZlbC4iX3BhZ2luYXRpb24iLCAkbmJwZXJwYWdlKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoIm1heHNob3ducGFnZXMiLCAkbWF4c2hvd25wYWdlcyk7DQoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImFkbWlucGFnZXMiLCAkYWRtaW5wYWdlcyk7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4icHJlZmVyZW5jZXMiLCAibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJjaGFuZ2VkZWZ0ZW1wbGF0ZXMiOg0KCQkJCWZvcmVhY2goJHBhcmFtcyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSAgICBpZigka2V5ICE9ICJzdWJtaXQiKQkgICAkdGhpcy0+c2V0UHJlZmVyZW5jZSgka2V5LCAkdmFsdWUpOw0KCQkJCX0NCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJ0ZW1wbGF0ZXMiLCAibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWxldGV0cGwiOg0KCQkJCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJ0ZW1wbGF0ZXMiKTsNCgkJCQkkZGVmdGVtcGxhdGVzID0gJHRoaXMtPmdldERlZmF1bHRUZW1wbGF0ZXMoKTsNCgkJCSAgICBpZihpc3NldCgkcGFyYW1zWyJ0cGxuYW1lIl0pICYmICFpbl9hcnJheSgkcGFyYW1zWyJ0cGxuYW1lIl0sICRkZWZ0ZW1wbGF0ZXMpKXsNCgkJCQkgICAgaWYoJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwYXJhbXNbInRwbG5hbWUiXSkpCSAgICRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlPiJdID0gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWxldGVxdWVyeSI6DQoJCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJhY3RpdmVfdGFiIj0+InF1ZXJpZXMiKTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJxdWVyeWlkIl0pKXsNCgkJCQkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkJCQlpZigkZGItPkV4ZWN1dGUoIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3NhdmVkX3F1ZXJpZXMgV0hFUkUgaWQ9PyBMSU1JVCAxIiwgYXJyYXkoJHBhcmFtc1sicXVlcnlpZCJdKSkpew0KCQkJCQkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJtZXNzYWdlX2RlbGV0ZWQiKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInRlc3RxdWVyeSI6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sicXVlcnlpZCJdKSAmJiAkcXVlcnkgPSAkdGhpcy0+Z2V0X3F1ZXJpZXMoYXJyYXkoImlkIj0+JHBhcmFtc1sicXVlcnlpZCJdKSkpew0KCQkJCQkkcXVlcnkgPSAkcXVlcnlbMF07DQoJCQkJCWVjaG8gIjxwPjxiPiIuJHRoaXMtPkxhbmcoInF1ZXJ5IikuIjo8L2I+ICIuJHF1ZXJ5LT5uYW1lOw0KCQkJCQlpZigkcXVlcnktPm9yZGVyICE9ICIiKQllY2hvICIgT1JERVIgQlkgIi4kcXVlcnktPm9yZGVyOw0KCQkJCQllY2hvICI8L3A+IjsNCgkJCQkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiRxdWVyeS0+d2hhdDsNCgkJCQkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCAwLCAwLCAkcXVlcnktPndoZXJlY2xhdXNlLCAkcXVlcnktPndoZXJldmFsdWVzLCAoJHF1ZXJ5LT5xdWVyeW9yZGVyID09ICIiP2ZhbHNlOiRxdWVyeS0+cXVlcnlvcmRlcikpOw0KCQkJCQllY2hvICI8cD48Yj4iLiR0aGlzLT5MYW5nKCJyZXN1bHRzIikuIiAoIi5jb3VudCgkaXRlbWxpc3QpLiIpIDo8L2I+PC9wPiI7DQoJCQkJCWVjaG8gIjx1bD4iOw0KCQkJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSkJZWNobyAiPGxpPiIuJGl0ZW0tPm5hbWUuIjwvbGk+IjsNCgkJCQkJZWNobyAiPC91bD4iOw0KCQkJCX0NCgkJCQllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgbGFuZygiYmFjayIpLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJxdWVyaWVzIikpLiI8L3A+IjsNCgkJCQlicmVhazsNCgkJCQkJDQoNCgkJCWNhc2UgImFkZF9vcHRpb252YWx1ZSI6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1siZmllbGQiXSkgJiYgaXNzZXQoJHBhcmFtc1sib3B0aW9ubmFtZSJdKSAmJiAkcGFyYW1zWyJvcHRpb25uYW1lIl0gIT0gIiIpew0KCQkJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyI7DQoJCQkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCQkJJGl0ZW1pZCA9ICRkYi0+R2VuSUQoJHRhYmxlbmFtZS4iX3NlcSIpOw0KCQkJCQkkaXRlbW9yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJmaWVsZG9wdGlvbnMiLCAiaWQiLCBhcnJheSgiZmllbGQiPT4kcGFyYW1zWyJmaWVsZCJdKSkgKyAxOw0KCQkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGVuYW1lLiIgU0VUIGlkPT8sIGZpZWxkPT8sIG5hbWU9PywgaXRlbV9vcmRlcj0/IjsNCgkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaXRlbWlkLCRwYXJhbXNbImZpZWxkIl0sJHBhcmFtc1sib3B0aW9ubmFtZSJdLCRpdGVtb3JkZXIpKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImRlbGV0ZV9vcHRpb252YWx1ZSI6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1siZmllbGQiXSkgJiYgaXNzZXQoJHBhcmFtc1sib3B0aW9uaWQiXSkgJiYgJHBhcmFtc1sib3B0aW9uaWQiXSA+IDApew0KCQkJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyI7DQoJCQkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICR0YWJsZW5hbWUgV0hFUkUgaWQ9PyBBTkQgZmllbGQ9PyBMSU1JVCAxIjsNCgkJCQkJaWYoJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyJvcHRpb25pZCJdLCAkcGFyYW1zWyJmaWVsZCJdKSkpew0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGZpZWxkPT8gQU5EIGl0ZW1fb3JkZXIgPiA/IjsNCgkJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImZpZWxkIl0sICRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgIm1vdmVfb3B0aW9udmFsdWUiOg0KCQkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyI7DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1siZmllbGQiXSkgJiYgaXNzZXQoJHBhcmFtc1sib3B0aW9uaWQiXSkgJiYgaXNzZXQoJHBhcmFtc1sibW92ZSJdKSAmJiBpc3NldCgkcGFyYW1zWyJjdXJyZW50b3JkZXIiXSkpew0KCQkJCQlpZigkcGFyYW1zWyJtb3ZlIl0gPT0gInVwIiAmJiAkcGFyYW1zWyJjdXJyZW50b3JkZXIiXSAhPSAxKXsNCgkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBmaWVsZD0/IEFORCBpdGVtX29yZGVyID0gPyBMSU1JVCAxOyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyJmaWVsZCJdLCAkcGFyYW1zWyJjdXJyZW50b3JkZXIiXSAtMSkpOw0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGZpZWxkPT8gQU5EIGlkID0gPyBMSU1JVCAxOyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyJmaWVsZCJdLCAkcGFyYW1zWyJvcHRpb25pZCJdKSk7DQoJCQkJCX1lbHNlaWYoJHBhcmFtc1sibW92ZSJdID09ICJkb3duIil7DQoJCQkJCQkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgZmllbGQ9PyBBTkQgaXRlbV9vcmRlciA9ID8gTElNSVQgMTsiOw0KCQkJCQkJaWYoJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1siY3VycmVudG9yZGVyIl0gKzEpKSl7DQoJCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGZpZWxkPT8gQU5EIGlkID0gPyBMSU1JVCAxOyI7DQoJCQkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1sib3B0aW9uaWQiXSkpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+ImZpZWxkb3B0aW9ucyIpICk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJyZW5hbWVfb3B0aW9udmFsdWUiOg0KCQkJCWlmKCFpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgJiYgaXNzZXQoJHBhcmFtc1sib3B0aW9uaWQiXSkgJiYgaXNzZXQoJHBhcmFtc1siZmllbGQiXSkgJiYgaXNzZXQoJHBhcmFtc1sib3B0aW9ubmFtZSJdKSApew0KCQkJCQlpZihpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgJiYgJHBhcmFtc1sib3B0aW9ubmFtZSJdICE9ICIiICl7DQoJCQkJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyI7DQoJCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJCQkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUIG5hbWU9PyBXSEVSRSBmaWVsZD0/IEFORCBpZD0/IjsNCgkJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sib3B0aW9ubmFtZSJdLCAkcGFyYW1zWyJmaWVsZCJdLCAkcGFyYW1zWyJvcHRpb25pZCJdKSk7DQoJCQkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJmaWVsZG9wdGlvbnMiKSApOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCWVjaG8gIjxoMj4iLiR0aGlzLT5MYW5nKCJtb2RpZnlhbm9wdGlvbiIpLiI8L2gyPiI7DQoJCQkJCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAicmVuYW1lX29wdGlvbnZhbHVlIiwgJHJldHVybmlkKTsNCgkJCQkJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsIm9wdGlvbm5hbWUiLCRwYXJhbXNbIm9wdGlvbm5hbWUiXSw0MCw2NCkuIjwvcD4iOw0KCQkJCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkuIjwvcD4iOw0KCQkJCQkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib3B0aW9uaWQiLCAkcGFyYW1zWyJvcHRpb25pZCJdKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZmllbGQiLCAkcGFyYW1zWyJmaWVsZCJdKTsNCgkJCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkJCQkJfQ0KCQkJCX1lbHNlew0KCQkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJmaWVsZG9wdGlvbnMiKSApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgImRlZmF1bHQiOg0KCQkJZGVmYXVsdDoNCgkJCQlwYXJlbnQ6OkRvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsNCgkJCQlicmVhazsNCgkJfQ0KDQoNCgl9DQoJZnVuY3Rpb24gcGxjcmVhdGVhbGlhcygkbmFtZSl7DQoJCS8vIHRyYW5zZm9ybXMgJG5hbWUgaW50byBhIHVybC1mcmllbmRseSBhbGlhcw0KCQkNCgkJLy8gYXMgYSBzdWdnZXN0aW9uIGZyb20gQU1ULCB0aGUgZmlyc3QgcGFydCBkZWFscyB3aXRoIHNtYXJ0IHF1b3Rlcw0KIAkJJHNlYXJjaCA9IGFycmF5KGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk4KSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTkpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5YyksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDlkKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTMpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5NCkpOw0KIAkJJG5hbWUgPSBzdHJfcmVwbGFjZSgkc2VhcmNoLCAiIiwgJG5hbWUpOw0KCQkNCiAJCS8vIHRoZSBzZWNvbmQgcGFydCB1c2VzIHRoZSBjbXMgdmVyc2lvbg0KIAkJJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbmFtZSwgZmFsc2UpOw0KIAkJcmV0dXJuICRhbGlhczsNCgl9DQoNCglmdW5jdGlvbiBjaGVja2FsaWFzKCRkYnRhYmxlLCAkYWxpYXMsICRpdGVtaWQ9ZmFsc2UsICRpZGZpZWxkPSJpZCIsICRhbGlhc2ZpZWxkPSJhbGlhcyIpew0KCQkvLyBjaGVja3MgaWYgdGhpcyBhbGlhcyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGV2ZWwNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAiLiRpZGZpZWxkLiIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4kZGJ0YWJsZS4iIFdIRVJFICIuJGFsaWFzZmllbGQuIiA9ID8iOw0KCQlpZigkaXRlbWlkKSAkcXVlcnkgLj0gIiBBTkQgIi4kaWRmaWVsZC4iIT0iLiRpdGVtaWQ7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRhbGlhcykpOw0KCQkkdGFyZ2V0aWQgPSAwOw0KCQlpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgJHRhcmdldGlkID0gJHJvd1siaWQiXTsNCgkJcmV0dXJuICgkdGFyZ2V0aWQgPT0gMCk7DQoJfQ0KCWZ1bmN0aW9uIEJ1aWxkUHJldHR5VXJscygkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQkvLyB0cmFuc2Zvcm1zIGdpdmVuIHBhcmFtcyBpbnRvIGEgcHJldHR5IHVybA0KCQkkcHJldHR5dXJsID0gJHRoaXMtPkdldE5hbWUoKS4iLyI7DQoJCWlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5Il0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gInF1ZXJ5LyIuJHBhcmFtc1sicXVlcnkiXTsJDQoJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkpew0KCQkJJHByZXR0eXVybCAuPSAiZGV0YWlsLyIuJHBhcmFtc1siYWxpYXMiXTsNCgkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJwYXJlbnQiXSkpew0KCQkJJHByZXR0eXVybCAuPSAkcGFyYW1zWyJ3aGF0Il0uIi8iLiRwYXJhbXNbInBhcmVudCJdOw0KCQl9ZWxzZXsNCgkJCSRwcmV0dHl1cmwgLj0gJHBhcmFtc1sid2hhdCJdOw0KCQl9DQoJCWlmKCFpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSAmJiBpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkgJiYgaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkkcHJldHR5dXJsIC49ICIvIi4kcGFyYW1zWyJwYWdlaW5kZXgiXS4iLyIuJHBhcmFtc1sibmJwZXJwYWdlIl07DQoJCSRwcmV0dHl1cmwgLj0gIi8iLiRyZXR1cm5pZDsNCgkJcmV0dXJuICRwcmV0dHl1cmw7DQoJfQ0KCWZ1bmN0aW9uIERvQ2hlY2tib3hlcygkaWQsICRuYW1lLCAkY2hvaWNlcywgJHNlbGVjdGVkPWFycmF5KCksICRkZWxpbWl0ZXI9Ijxici8+Iil7DQoJCS8vIHByZXR0eSBtdWNoIGxpa2UgQ3JlYXRlSW5wdXRSYWRpb0dyb3VwLCBidXQgdXNpbmcgY2hlY2tib3hlcw0KCQlpZighaXNfYXJyYXkoJHNlbGVjdGVkKSkJJHNlbGVjdGVkID0gYXJyYXkoKTsNCgkJJG91dHB1dCA9ICIiOw0KCQlmb3JlYWNoKCRjaG9pY2VzIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkkb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJG5hbWUuIltdIiwgJHZhbHVlLCAoaW5fYXJyYXkoJHZhbHVlLCAkc2VsZWN0ZWQpPyR2YWx1ZTowKSkuIiAiLiRrZXkuJGRlbGltaXRlcjsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoJZnVuY3Rpb24gcGFyc2VrZXl3b3Jkcygkc3RyaW5nKXsNCgkJLy8gY3V0cyB0aGUgc2VhcmNod29yZHMgb2YgdGhlIHNlYXJjaCBmb3JtIGludG8gcGllY2VzDQoJCS8vIGJhc2NpYWxseSwgdGhpcyBleHBsb2RlcyB0aGUgJHN0cmluZywgYnV0IHRha2VzIG5vdGljZSBvZiB0aGUgcXVvdGVzDQoJCQ0KCQkkaW5zaWRlID0gKHN1YnN0cigkc3RyaW5nLDAsMSkgPT0gJyInKTsNCgkJJHBhcnRzID0gZXhwbG9kZSgnIicsJHN0cmluZyk7DQoJDQoJCWlmKGNvdW50KCRwYXJ0cykgPCAyKXsNCgkJCWlmKCRpbnNpZGUpew0KCQkJCXJldHVybiBhcnJheShzdHJfcmVwbGFjZSgnIicsIiIsJHN0cmluZykpOw0KCQkJfWVsc2V7DQoJCQkJcmV0dXJuIGV4cGxvZGUoIiAiLCRzdHJpbmcpOw0KCQkJfQ0KCQl9DQoJDQoJCSRrZXl3b3JkcyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCWlmKCRwYXJ0ICE9ICIiKXsNCgkJCQlpZigkaW5zaWRlKXsNCgkJCQkJJGtleXdvcmRzW10gPSAkcGFydDsNCgkJCQl9ZWxzZXsNCgkJCQkJJHdvcmRzID0gZXhwbG9kZSgiICIsdHJpbSgkcGFydCkpOw0KCQkJCQlmb3JlYWNoKCR3b3JkcyBhcyAkd29yZCl7DQoJCQkJCQlpZih0cmltKCR3b3JkKSAhPSAiIikJJGtleXdvcmRzW10gPSAkd29yZDsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkaW5zaWRlID0gISRpbnNpZGU7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRrZXl3b3JkczsNCgl9DQoNCg0KCWZ1bmN0aW9uIGdldF9sZXZlbGFycmF5KCl7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIGxldmVscyAodG9wIHRvIGJvdHRvbSkNCgkJcmV0dXJuIGFycmF5KCJjYXRlZ29yeSIsImFsYnVtIiwidmlkZW8iKTsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbW9kdWxlaGllcmFyY2h5KCRsZXZlbD1mYWxzZSl7DQoJCSRoaWVyYXJjaHkgPSBhcnJheSgpOw0KCQkJJGhpZXJhcmNoeVsxXSA9ICJjYXRlZ29yeSI7DQoJCQkkaGllcmFyY2h5WzJdID0gImFsYnVtIjsNCgkJCSRoaWVyYXJjaHlbM10gPSAidmlkZW8iOw0KCQlyZXR1cm4gJGhpZXJhcmNoeTsNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0X2xldmVsc2VhcmNoZmllbGRzKCRsZXZlbCl7DQoJCS8vIHJldHVybnMgdGhlIGZpZWxkIG9mIGEgbGV2ZWwgd2hpY2ggYXJlIHNlYXJjaGFibGUgKGZvciB0aGUgc2ltcGxlIHNlYXJjaCBhY3Rpb24pDQoJCSRmaWVsZHMgPSBhcnJheSgpOw0KCQlzd2l0Y2goJGxldmVsKXsNCgkJCWNhc2UgImNhdGVnb3J5IjoNCgkJCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiYWxidW0iOg0KCQkJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJuYW1lIik7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ2aWRlbyI6DQoJCQkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsInZpZGVvaWQiLCJuYW1lIik7DQoJCQkJYnJlYWs7DQoJCQkJCQkNCgkJfQ0KCQlyZXR1cm4gJGZpZWxkczsNCgl9DQoJZnVuY3Rpb24gZ2V0X2hpZXJhcmNoeW9wdGlvbnMoJGVuZD1mYWxzZSwgJHdpdGhlbXB0eXJvdz10cnVlLCAkZGVwdGhzeW1ib2w9IiZuYnNwOy0mbmJzcDsiKXsNCgkJLy8gcmV0dXJucyBhbiBhcnJheSBvZiBwYXJlbnQgb3B0aW9ucyBmb3IgYSBsaW5rZWQgdG8gYSBzZWxlY3RlZCBsZXZlbA0KCQkvLyB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRyb3Bkb3duIGxpc3QgaW4gc2VhcmNoIGFjdGlvbg0KCQkkbGV2ZWxhcnJheSA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQkgaWYoIWluX2FycmF5KCRlbmQsICRsZXZlbGFycmF5KSkJJGVuZCA9ICRsZXZlbGFycmF5W2NvdW50KCRsZXZlbGFycmF5KS0xXTsNCgkJDQoJCS8vIGJ1aWxkaW5nIHRoZSBqb2luZWQgcXVlcnkNCgkJJHRhYmxlcyA9ICIiOw0KCQkkZmllbGRzID0gIiI7DQoJCSRvcmRlcmJ5ID0gIiI7DQoJCSR3aGVyZSA9ICIiOw0KCQkkZmluaXNoZWQgPSBmYWxzZTsNCgkJJGkgPSAxOw0KCQlmb3JlYWNoKCRsZXZlbGFycmF5IGFzICRsZXZlbCl7DQoJCQlpZigkbGV2ZWwgPT0gJGVuZCkJJGZpbmlzaGVkID0gdHJ1ZTsNCgkJCWlmKCEkZmluaXNoZWQpew0KCQkJCSR0YWJsZXMgLj0gKCR0YWJsZXMgPT0gIiI/IiI6IiwgIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsLiIgdCIuJGkuIiAiOw0KCQkJCSRmaWVsZHMgLj0gKCRmaWVsZHMgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIuaWQgaWQiLiRpLiIsIHQiLiRpLiIubmFtZSBuYW1lIi4kaTsNCgkJCQkkb3JkZXJieSAuPSAoJG9yZGVyYnkgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIuaXRlbV9vcmRlciBERVNDIjsNCgkJCQlpZigkaSA+IDEpICR3aGVyZSAuPSAiIEFORCB0Ii4oJGktMSkuIi5pZCA9IHQiLiRpLiIucGFyZW50ICI7DQoJCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBBTkQgIikuIiB0Ii4kaS4iLmFjdGl2ZT0xIjsNCgkJCQkkaSsrOw0KCQkJfQ0KCQl9DQoJCWlmKCRmaWVsZHMgPT0gIiIpCXJldHVybiBmYWxzZTsNCgkJDQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAiLiRmaWVsZHMuIiBGUk9NICIuJHRhYmxlcy4iIFdIRVJFICIuJHdoZXJlLiIgT1JERVIgQlkgIi4kb3JkZXJieTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoNCgkJLy8gcGFyc2luZyByZXN1bHRzDQoJCSRjdXJyZW50ID0gYXJyYXkoKTsNCgkJJHRtcGxhc3RsZXZlbCA9IGFycmF5KCk7DQoJCSRyZXN1bHRzID0gYXJyYXkoKTsNCgkJJGZpbmFsID0gJGkgLTE7DQoJCXdoaWxlKCRqIDwgJGZpbmFsICl7DQoJCQkkY3VycmVudFskal0gPSBhcnJheSgiaWQiPT5mYWxzZSwibmFtZSI9PiIiKTsNCgkJCSRqKys7DQoJCX0NCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJLy8gZWFjaCByb3cgaGFzIGEgZnVsbCBoaWVyYXJjaHksIGZyb20gdG9wIHBhcmVudCB0byBmaW5hbCBjaGlsZA0KCQkJJGogPSAkZmluYWw7DQoJCQl3aGlsZSgkaiA+IDAgKXsNCgkJCQlpZigkcm93WyJpZCIuJGpdICE9ICRjdXJyZW50WyRqXVsiaWQiXSl7DQoJCQkJCWlmKCRjdXJyZW50WyRqXVsiaWQiXSAmJiBjb3VudCgkY3VycmVudFskal1bInJlcyJdKSA+IDApew0KCQkJCQkJJGtleSA9IHN0cl9yZXBlYXQoJGRlcHRoc3ltYm9sLCAoJGogLTEpKS4kY3VycmVudFskal1bIm5hbWUiXTsNCgkJCQkJCSRyZXN1bHRzWyRrZXldID0gaW1wbG9kZSgiLCIsJGN1cnJlbnRbJGpdWyJyZXMiXSk7DQoJCQkJCX0NCgkJCQkJJGN1cnJlbnRbJGpdID0gYXJyYXkoImlkIj0+JHJvd1siaWQiLiRqXSwgIm5hbWUiPT4kcm93WyJuYW1lIi4kal0sICJyZXMiPT5hcnJheSgpKTsNCgkJCQl9DQoJCQkJJGN1cnJlbnRbJGpdWyJyZXMiXVtdID0gJHJvd1siaWQiLiRmaW5hbF07DQoJCQkJJGotLTsNCgkJCX0NCgkJCSRyZXN1bHRzW3N0cl9yZXBlYXQoJGRlcHRoc3ltYm9sLCAoJGZpbmFsIC0xKSkuJHJvd1sibmFtZSIuJGZpbmFsXV0gPSAkcm93WyJpZCIuJGZpbmFsXTsNCgkJfQ0KCQkvLyB3ZSBjbG9zZSB0aGUgcmVtYWluaW5nIHNldHMNCgkJJGogPSAkZmluYWwgLTE7DQoJCXdoaWxlKCRqID4gMCApew0KCQkJJGtleSA9IHN0cl9yZXBlYXQoJGRlcHRoc3ltYm9sLCAoJGogLTEpKS4kY3VycmVudFskal1bIm5hbWUiXTsNCgkJCSRyZXN1bHRzWyRrZXldID0gaW1wbG9kZSgiLCIsJGN1cnJlbnRbJGpdWyJyZXMiXSk7DQoJCQkkai0tOw0KCQl9DQoJCWlmKCR3aXRoZW1wdHlyb3cpCSRyZXN1bHRzWyIiXSA9ICIiOw0KCQlyZXR1cm4gYXJyYXlfcmV2ZXJzZSgkcmVzdWx0cyk7DQoJfQ0KCWZ1bmN0aW9uIGdldF9hZG1pbl9oaWVyYXJjaHlvcHRpb25zKCRlbmQ9ZmFsc2UsICR3aXRoZW1wdHlyb3c9dHJ1ZSwgJHNlcGFyYXRvcj0iICZndDsgIiwgJG9yZGVyYnluYW1lPWZhbHNlKXsNCgkJLy8gcmV0dXJucyBhbiBhcnJheSBvZiBwYXJlbnQgb3B0aW9ucyBsaW5rZWQgdG8gYSBzZWxlY3RlZCBsZXZlbA0KCQkvLyB1c2VkIGZvciB0aGUgcGFyZW50IGFuZCBmaWx0ZXIgZHJvcGRvd24gaW4gdGhlIGFkbWluDQoJCS8vIHNob3dzIGVtcHR5IHBhcmVudHMgdG9vDQoJCSRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCWlmKCFpbl9hcnJheSgkZW5kLCAkbGV2ZWxhcnJheSkpCSRlbmQgPSAiaXRlbSI7DQoJCQ0KCQkvLyBidWlsZGluZyB0aGUgam9pbmVkIHF1ZXJ5DQoJCSR0YWJsZXMgPSAiIjsNCgkJJGZpZWxkcyA9ICIiOw0KCQkkb3JkZXJieSA9ICIiOw0KCQkkZmluaXNoZWQgPSBmYWxzZTsNCgkJJGkgPSAxOw0KCQlmb3JlYWNoKCRsZXZlbGFycmF5IGFzICRsZXZlbCl7DQoJCQlpZigkbGV2ZWwgPT0gJGVuZCkJJGZpbmlzaGVkID0gdHJ1ZTsNCgkJCWlmKCEkZmluaXNoZWQpew0KCQkJCSR0YWJsZXMgLj0gKCRpPT0xPyIiOiIgTEVGVCBKT0lOICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHQiLiRpLiIgIjsNCgkJCQlpZigkaT4xKQkkdGFibGVzIC49ICJPTiB0Ii4oJGktMSkuIi5pZCA9IHQiLiRpLiIucGFyZW50ICI7DQoJCQkJJGZpZWxkcyAuPSAoJGZpZWxkcyA9PSAiIj8iIjoiLCAiKS4idCIuJGkuIi5pZCBpZCIuJGkuIiwgdCIuJGkuIi5uYW1lIG5hbWUiLiRpOw0KCQkJCWlmKCRvcmRlcmJ5bmFtZSl7DQoJCQkJCSRvcmRlcmJ5IC49ICgkb3JkZXJieSA9PSAiIj8iIjoiLCAiKS4idCIuJGkuIi5uYW1lIjsNCgkJCQl9ZWxzZXsNCgkJCQkJJG9yZGVyYnkgLj0gKCRvcmRlcmJ5ID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLml0ZW1fb3JkZXIsIHQiLiRpLiIubmFtZSI7DQoJCQkJfQ0KCQkJCSRpKys7DQoJCQl9DQoJCX0NCgkJaWYoJGZpZWxkcyA9PSAiIikJcmV0dXJuIGFycmF5KCk7DQoJCQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4kZmllbGRzLiIgRlJPTSAiLiR0YWJsZXMuIiBPUkRFUiBCWSAiLiRvcmRlcmJ5Ow0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkvLyBlYWNoIHJvdyBoYXMgYSBmdWxsIGhpZXJhcmNoeSwgZnJvbSB0b3AgcGFyZW50IHRvIGZpbmFsIGNoaWxkDQoJCQkkdmFsdWUgPSAkcm93WyJpZCIuKCRpLTEpXTsNCgkJCSRqID0gMTsNCgkJCSRvcHRpb25fbmFtZSA9ICIiOw0KCQkJd2hpbGUoJGogPCAkaSl7DQoJCQkJJG9wdGlvbl9uYW1lIC49ICgkaj09MT8iIjokc2VwYXJhdG9yKS4kcm93WyJuYW1lIi4kal07DQoJCQkJJGorKzsNCgkJCX0NCgkJCSRvcHRpb25zWyRvcHRpb25fbmFtZV0gPSAkdmFsdWU7DQoJCX0NCgkJaWYoJHdpdGhlbXB0eXJvdykJJG9wdGlvbnNbIiJdID0gIiI7DQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJZnVuY3Rpb24gZ2V0X21vZHVsZUdldFZhcnMoKXsNCgkJLy8gdW5vcnRob2RveCBoYWNrIHNvIHRoYXQgZGlmZmVyZW50IGNhbGxzIG9mIHRoZSBtb2R1bGUgc3BlYWsgd2l0aCBlYWNoIG90aGVyDQoJCS8vIGJhc2ljYWxseSwgd2UgcmV0cmlldmUgcGFyYW1ldGVycyBpbiB0aGUgdXJsIHRoYXQgd2VyZSBtZWFudCBmb3Igb3RoZXIgaW5zdGFuY2VzIG9mIHRoZSBtb2R1bGUNCgkJLy8gc2VlIEZBUSBmb3IgbW9yZSBpbmZvIG9uIHRoaXMNCgkJZ2xvYmFsICRfR0VUOw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRyZWRpcmVjdGlvbiA9IGZhbHNlOw0KCQlpZihpc3NldCgkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl0pKXsNCgkJCS8vIGNvcmUgMS42IG9yIG1vcmUNCgkJCSRyZWRpcmVjdGlvbiA9ICRnQ21zLT5jb25maWdbInVybF9yZXdyaXRpbmciXTsNCgkJfWVsc2V7DQoJCQkvLyBjb3JlIGJlbG93IDEuNg0KCQkJaWYoJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgaXNzZXQoJF9HRVRbInBhZ2UiXSkpew0KCQkJCSRyZWRpcmVjdGlvbiA9ICJtb2RfcmV3cml0ZSI7DQoJCQl9ZWxzZWlmKCEkZ0Ntcy0+Y29uZmlnWyJhc3N1bWVfbW9kX3Jld3JpdGUiXSAmJiAkZ0Ntcy0+Y29uZmlnWyJpbnRlcm5hbF9wcmV0dHlfdXJscyJdICYmIGlzc2V0KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSl7DQoJCQkJJHJlZGlyZWN0aW9uID0gImludGVybmFsIjsNCgkJCX0NCgkJfQ0KCQkkcGFyYW1zID0gYXJyYXkoKTsNCgkJJGdsb2JhbG1vZHVsZXZhcnMgPSBhcnJheSgpOw0KCQlpZihpc3NldCgkX0dFVFsibWFjdCJdKSl7DQoJCQkvLyBpZiB3ZSBhcmVuJ3QgdXNpbmcgcHJldHR5IHVybHMuLi4NCgkJCSRtb2RpbmZvID0gZXhwbG9kZSgiLCIsJF9HRVRbIm1hY3QiXSk7DQoJCQlpZihpc3NldCgkbW9kaW5mbykgJiYgJG1vZGluZm9bMF0gPT0gJHRoaXMtPkdldE5hbWUoKSl7DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uInBhcmVudCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhcmVudCJdPSRfR0VUWyRtb2RpbmZvWzFdLiJwYXJlbnQiXTsNCgkJCQlpZihpc3NldCgkX0dFVFskbW9kaW5mb1sxXS4id2hhdCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXT0kX0dFVFskbW9kaW5mb1sxXS4id2hhdCJdOw0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJhbGlhcyJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbImFsaWFzIl09JF9HRVRbJG1vZGluZm9bMV0uImFsaWFzIl07DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uInBhZ2VpbmRleCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdPSRfR0VUWyRtb2RpbmZvWzFdLiJwYWdlaW5kZXgiXTsNCgkJCX0NCgkJfWVsc2VpZigkcmVkaXJlY3Rpb24gPT0gIm1vZF9yZXdyaXRlIiB8fCAkcmVkaXJlY3Rpb24gPT0gImludGVybmFsIil7DQoJCQkkcGFyYW1zID0gYXJyYXkoKTsNCgkJCWlmKCRyZWRpcmVjdGlvbiA9PSAibW9kX3Jld3JpdGUiICYmIGlzc2V0KCRfR0VUWyJwYWdlIl0pKXsNCgkJCQkvLyBpZiB3ZSBhcmUgdXNpbmcgYW4gZXh0ZXJuYWwgbW9kX3Jld3JpdGUsIGFzc3VtaW5nIHlvdSBhcmUgdXNpbmcgdGhlIHZlcnkNCgkJCQkvLyBiYXNpYyByZXdyaXRlIHdoaWNoIHB1dHMgdGhlIG1vZHVsZSBpbmZvcm1hdGlvbnMgaW5zaWRlIHRoZSBwYWdlIHZhcmlhYmxlDQoJCQkJJHBhcnRzID0gZXhwbG9kZSgiLyIsJF9HRVRbInBhZ2UiXSk7DQoJCQkJZm9yZWFjaCgkcGFydHMgYXMgJHBhcnQpew0KCQkJCQlpZigkcGFydCAhPSAiIikJJHBhcmFtc1tdID0gJHBhcnQ7DQoJCQkJfQ0KCQkJfWVsc2VpZigkcmVkaXJlY3Rpb24gPT0gImludGVybmFsIil7DQoJCQkJLy8gaWYgd2UgYXJlIHVzaW5nIHRoZSBpbnRlcm5hbCBwcmV0dHkgdXJscw0KCQkJCSRwYXJ0cyA9IGV4cGxvZGUoIi8iLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTsNCgkJCQkkc3RhcnRlZCA9IGZhbHNlOw0KCQkJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCQkJaWYoJHN0YXJ0ZWQgJiYgJHBhcnQgIT0gIiIpCSRwYXJhbXNbXSA9ICRwYXJ0Ow0KCQkJCQlpZihzdHJ0b2xvd2VyKCRwYXJ0KSA9PSAiaW5kZXgucGhwIikJJHN0YXJ0ZWQgPSB0cnVlOw0KCQkJCX0NCgkJCX0NCgkJCWlmKGlzc2V0KCRwYXJhbXNbMF0pICYmIHN0cnRvbG93ZXIoJHBhcmFtc1swXSkgPT0gc3RydG9sb3dlcigkdGhpcy0+R2V0TmFtZSgpKSl7DQoJCQkJIC8vIHdlIGFyZSBpbiBhIG1vZHVsZSBhY3Rpb24NCgkJCQkgLy8gdGhpcyBwYXJ0IHNob3VsZCBiZSBjaGFuZ2VkIGlmIHlvdSBjaGFuZ2UgdGhlIHByZXR0eSB1cmxzIHN0cnVjdHVyZQ0KCQkJCWlmKCFpc3NldCgkcGFyYW1zWzFdKSB8fCBzdHJ0b2xvd2VyKCRwYXJhbXNbMV0pID09ICJxdWVyeSIpew0KDQoJCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWzFdKSAmJiBzdHJ0b2xvd2VyKCRwYXJhbXNbMV0pID09ICJkZXRhaWwiKXsNCgkJCQkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sid2hhdCJdID0gJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXTsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbImFsaWFzIl0gPSAkcGFyYW1zWzJdOw0KCQkJCX1lbHNlew0KCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sid2hhdCJdID0gJHBhcmFtc1sxXTsNCgkJCQkJc3dpdGNoKGNvdW50KCRwYXJhbXMpKXsNCgkJCQkJCWNhc2UgNjoNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sicGFnZWluZGV4Il0gPSAkcGFyYW1zWzNdOw0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJuYnBlcnBhZ2UiXSA9ICRwYXJhbXNbNF07DQoJCQkJCQljYXNlIDQ6DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhcmVudCJdID0gJHBhcmFtc1syXTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgNToNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sicGFnZWluZGV4Il0gPSAkcGFyYW1zWzJdOw0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJuYnBlcnBhZ2UiXSA9ICRwYXJhbXNbM107DQoJCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRnbG9iYWxtb2R1bGV2YXJzOw0KCX0NCglmdW5jdGlvbiBnZXRfb2JqdHJlZSgkY3VyaWQsICRjdXJsZXZlbD1mYWxzZSwgJGZpZWxkPSJpZCIpew0KCQkvLyB0aGlzIGJ1aWxkcyBhbiBvYmplY3QgdHJlZSAoJGl0ZW0tPnBhcmVudF9vYmplY3QtPnBhcmVudF9vYmplY3QuLi4pDQoJCS8vIHdlIGZpcnN0IHB1dCBhbGwgdGhlIHBhcmVudHMgaW4gYW4gYXJyYXkNCgkJJHBhcmVudHMgPSBhcnJheSgpOw0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCWlmKCEkY3VybGV2ZWwpCSRjdXJsZXZlbCA9ICRsZXZlbHNbY291bnQoJGxldmVscyktMV07DQoJCSRpID0gY291bnQoJGxldmVscyk7DQoJCSRzdGFydGVkID0gZmFsc2U7DQoJCXdoaWxlKCRjdXJpZCAmJiAkaSA+IDApew0KCQkJaWYoJGxldmVsc1skaSAtMV0gPT0gJGN1cmxldmVsKQkkc3RhcnRlZCA9IHRydWU7DQoJCQlpZigkc3RhcnRlZCl7DQoJCQkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiRsZXZlbHNbJGkgLTFdOw0KCQkJCSRpdGVtID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgkZmllbGQ9PiRjdXJpZCkpOw0KCQkJCSRpdGVtID0gaXNfYXJyYXkoJGl0ZW0pPyRpdGVtWzBdOiRpdGVtOw0KCQkJCSRpdGVtLT5fX3doYXQgPSAkbGV2ZWxzWyRpLTFdOw0KCQkJCSRwYXJlbnRzW10gPSAkaXRlbTsNCgkJCQkkZmllbGQgPSAiaWQiOw0KCQkJCSRjdXJpZCA9IGlzc2V0KCRpdGVtLT5wYXJlbnRfaWQpPyRpdGVtLT5wYXJlbnRfaWQ6ZmFsc2U7DQoJCQl9DQoJCQkkaS0tOw0KCQl9DQoJCQ0KCQkvLyBuZXh0LCB3ZSBwcm9jZXNzIHRoZSBhcnJheSBvZiBwYXJlbnRzIHRvIGJ1aWxkIHRoZSBwYXJlbnQgdHJlZQ0KCQkkcGFyZW50dHJlZSA9IGZhbHNlOw0KCQkkaSA9IGNvdW50KCRwYXJlbnRzKSAtIDE7DQoJCXdoaWxlKCRpID49IDApew0KCQkJaWYoJHBhcmVudHRyZWUpew0KCQkJCSRuZXd0cmVlID0gJHBhcmVudHNbJGldOw0KCQkJCSRuZXd0cmVlLT5wYXJlbnRfb2JqZWN0ID0gJHBhcmVudHRyZWU7DQoJCQkJJHBhcmVudHRyZWUgPSAkbmV3dHJlZTsNCgkJCX1lbHNlew0KCQkJCSRwYXJlbnR0cmVlID0gJHBhcmVudHNbJGldOw0KCQkJfQ0KCQkJJGktLTsNCgkJfQ0KCQkkdGhpcy0+Y3VycmVudHRyZWUgPSAkcGFyZW50dHJlZTsNCgkJcmV0dXJuICRwYXJlbnR0cmVlOw0KCX0NCglmdW5jdGlvbiBidWlsZEdsb2JhbFRyZWUoKXsNCgkJLy8gdGhpcyBzYXZlcyB0aGUgY3VycmVudCB0cmVlIGluIHRoZSBtb2R1bGUuLi4NCgkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQkkZ2xvYiA9ICR0aGlzLT5nZXRfbW9kdWxlR2V0VmFycygpOw0KCQlpZihpc3NldCgkZ2xvYlsicGFnZWluZGV4Il0pKQkkdGhpcy0+Y3VycmVudHBhZ2VpbmRleCA9ICRnbG9iWyJwYWdlaW5kZXgiXTsNCgkJaWYoaXNzZXQoJGdsb2JbImFsaWFzIl0pKXsNCgkJCSR0cmVlID0gJHRoaXMtPmdldF9vYmp0cmVlKCRnbG9iWyJhbGlhcyJdLCAkbGV2ZWxzW2NvdW50KCRsZXZlbHMpLTFdLCAiYWxpYXMiKTsNCgkJfWVsc2VpZihpc3NldCgkZ2xvYlsicGFyZW50Il0pICYmIGlzc2V0KCRnbG9iWyJ3aGF0Il0pKXsNCgkJCSR0cmVlID0gJHRoaXMtPmdldF9vYmp0cmVlKCRnbG9iWyJwYXJlbnQiXSwgJHRoaXMtPmdldF9uZXh0bGV2ZWwoJGdsb2JbIndoYXQiXSxmYWxzZSksICJhbGlhcyIpOw0KCQl9DQoJCQ0KCQlpZihpc3NldCgkdHJlZSkgJiYgJHRyZWUpew0KCQkJJHRoaXMtPmN1cnJlbnR0cmVlID0gJHRyZWU7DQoJCQkvLyB0aGlzIHNhdmVzIHRoZSBzZWxlY3RlZCBpdGVtIGZvciBlYWNoIGxldmVsDQoJCQkkdGhpcy0+cGxjdXJyZW50WyR0cmVlLT5fX3doYXRdID0gJHRyZWUtPmFsaWFzOw0KCQkJd2hpbGUoaXNzZXQoJHRyZWUtPnBhcmVudF9vYmplY3QpKXsNCgkJCQkkdHJlZSA9ICR0cmVlLT5wYXJlbnRfb2JqZWN0Ow0KCQkJCSR0aGlzLT5wbGN1cnJlbnRbJHRyZWUtPl9fd2hhdF0gPSAkdHJlZS0+YWxpYXM7DQoJCQl9DQoJCX0NCgl9DQoJZnVuY3Rpb24gZnVuY3Rpb25fbW9kYnJlYWRjcnVtYnMoJHBhcmFtcywgJiRzbWFydHkpew0KCQkvLyByZWdpc3RlcmVkIHNtYXJ0eSBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyBicmVhZGNydW1icw0KCQkvLyB1c2VzIHNpbWlsYXIgcGFyYW1ldGVycyB0byB0aGUgY29yZSBicmVhZGNydW1icyBmdW5jdGlvbg0KCQlpZighJHRoaXMtPmN1cnJlbnR0cmVlKQkJJHRoaXMtPmJ1aWxkR2xvYmFsVHJlZSgpOw0KCQkNCgkJaWYoJHRoaXMtPmN1cnJlbnR0cmVlKXsNCgkJCWdsb2JhbCAkZ0NtczsNCgkJCSRyZXR1cm5pZCA9ICRnQ21zLT52YXJpYWJsZXNbImNvbnRlbnRfaWQiXTsNCgkJCS8vIHdlIGNyZWF0ZSB0aGUgYnJlYWRjcnVtYnMNCgkJCSRjbGFzc2lkID0gaXNzZXQoJHBhcmFtc1siY2xhc3NpZCJdKT8iIGNsYXNzPVwiIi4kcGFyYW1zWyJjbGFzc2lkIl0uIlwiIjoiIjsNCgkJCSRjdXJyZW50Y2xhc3NpZCA9IGlzc2V0KCRwYXJhbXNbImN1cnJlbnRjbGFzc2lkIl0pPyIgY2xhc3M9XCIiLiRwYXJhbXNbImN1cnJlbnRjbGFzc2lkIl0uIlwiIjoiIGNsYXNzPVwibGFzdGl0ZW1cIiI7DQoJCQkkc3RhcnRsZXZlbCA9IGlzc2V0KCRwYXJhbXNbInN0YXJ0bGV2ZWwiXSk/JHRoaXMtPmdldF9uZXh0bGV2ZWwoJHBhcmFtc1sic3RhcnRsZXZlbCJdLCBmYWxzZSk6ZmFsc2U7DQoJCQkkZGVsaW1pdGVyID0gaXNzZXQoJHBhcmFtc1siZGVsaW1pdGVyIl0pPyRwYXJhbXNbImRlbGltaXRlciJdOiR0aGlzLT5MYW5nKCJicmVhZGNydW1ic19kZWxpbWl0ZXIiKTsNCgkJCSRpbml0aWFsID0gaXNzZXQoJHBhcmFtc1siaW5pdGlhbCJdKT8kcGFyYW1zWyJpbml0aWFsIl06JHRoaXMtPkxhbmcoInlvdWFyZWhlcmUiKTsNCg0KCQkJJG91dHB1dCA9ICIiOw0KCQkJJGN1cnJlbnQgPSAkdGhpcy0+Y3VycmVudHRyZWU7DQoJCQkkZ29pbmdvbiA9IGZhbHNlOw0KCQkJd2hpbGUoaXNzZXQoJGN1cnJlbnQtPnBhcmVudF9vYmplY3QpKXsNCgkJCQkkY3VycmVudCA9ICRjdXJyZW50LT5wYXJlbnRfb2JqZWN0Ow0KCQkJCWlmKCRjdXJyZW50LT5fX3doYXQgPT0gJHN0YXJ0bGV2ZWwpCSRlbmRlZCA9IHRydWU7DQoJCQkJaWYoISRlbmRlZCl7DQoJCQkJCSRwYXJhbXMgPSBhcnJheSgid2hhdCI9PiR0aGlzLT5nZXRfbmV4dGxldmVsKCRjdXJyZW50LT5fX3doYXQpLCAicGFyZW50Ij0+JGN1cnJlbnQtPmFsaWFzKTsNCgkJCQkJJHByZXR0eXVybCA9ICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJHBhcmFtcywgJHJldHVybmlkKTsNCgkJCQkJJG91dHB1dCA9ICI8c3BhbiIuJGNsYXNzaWQuIj4iLiR0aGlzLT5DcmVhdGVMaW5rKCIiLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgJGN1cnJlbnQtPm5hbWUsICRwYXJhbXMsICIiLCBmYWxzZSwgZmFsc2UsICIiLCBmYWxzZSwgJHByZXR0eXVybCkuIjwvc3Bhbj4iLiRkZWxpbWl0ZXIuJG91dHB1dDsNCgkJCQl9DQoJCQl9DQoJCQlpZigkb3V0cHV0ICE9ICIiKSAkb3V0cHV0ID0gJGluaXRpYWwuJG91dHB1dC4iPHNwYW4iLiRjdXJyZW50Y2xhc3NpZC4iPiIuJHRoaXMtPmN1cnJlbnR0cmVlLT5uYW1lLiI8L3NwYW4+IjsNCgkJCQ0KCQkJaWYoaXNzZXQoJHBhcmFtc1siYXNzaWduIl0pICYmICRwYXJhbXNbImFzc2lnbiJdICE9ICIiKXsNCgkJCQkkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1siYXNzaWduIl0sICRvdXRwdXQpOw0KCQkJfWVsc2V7DQoJCQkJZWNobyAkb3V0cHV0Ow0KCQkJfQ0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGZ1bmN0aW9uX2dldF9sZXZlbGl0ZW0oJHBhcmFtcywgJiRzbWFydHkpew0KCQkvLyByZWdpc3RlcmVkIHNtYXJ0eSBmdW5jdGlvbiB0aGF0IHJldHJpZXZlcyBhIGdpdmVuIGl0ZW0gKGFsaWFzKSBvZiBhIGdpdmVuIGxldmVsICh3aGF0KQ0KCQlpZigJIWlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSB8fCAkcGFyYW1zWyJhc3NpZ24iXSA9PSAiIiB8fCAhaXNzZXQoJHBhcmFtc1sid2hhdCJdKSB8fCAhaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgKQlyZXR1cm4gZmFsc2U7DQoJCWlmKCFpbl9hcnJheSgkcGFyYW1zWyJ3aGF0Il0sICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpKSkJcmV0dXJuIGZhbHNlOw0KCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJHBhcmFtc1sid2hhdCJdOw0KCQkkcmVzdWx0cyA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoImFsaWFzIj0+JHBhcmFtc1siYWxpYXMiXSkpOw0KCQkkaXRlbSA9IGlzc2V0KCRyZXN1bHRzWzBdKT8kcmVzdWx0c1swXTpmYWxzZTsNCgkJJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFzc2lnbiJdLCAkaXRlbSk7DQoJfQ0KCWZ1bmN0aW9uIGZ1bmN0aW9uX2VtYmVkdmlkZW8oJHBhcmFtcywgJiRzbWFydHkpew0KCQkvLyByZWdpc3RlcmVkIHNtYXJ0eSBmdW5jdGlvbiB0aGF0IHJldHJpZXZlcyBhIGdpdmVuIGl0ZW0gKGFsaWFzKSBvZiBhIGdpdmVuIGxldmVsICh3aGF0KQ0KCQlpZighaXNzZXQoJHBhcmFtc1siaXRlbSJdKSB8fCAkcGFyYW1zWyJpdGVtIl0gPT0gIiIgKSByZXR1cm4gZmFsc2U7DQoJCSRpdGVtPSRwYXJhbXNbIml0ZW0iXTsNCgkJLy8gaWYgYSB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHdlIHRyeSB0byByZXRyaWV2ZSBpdAkNCgkJJHRlbXBsYXRlID0gZmFsc2U7DQoJCWlmKGlzc2V0KCRwYXJhbXNbInRlbXBsYXRlIl0pICYmICRwYXJhbXNbInRlbXBsYXRlIl0gIT0gIiIpew0KCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbInRlbXBsYXRlIl0pOw0KCQl9DQoJCS8vIGlmIG5vIHRlbXBsYXRlIGhhcyBiZWVuIHNwZWNpZmllZCBvciBzcGVjaWRmaWVkIHRlbXBsYXRlIG5vdCBmb3VuZCBvciBlbXB0eSwgd2UgcmV0cmlldmUgdGhlIGRlZmF1bHQgZmluYWwgdGVtcGxhdGUNCgkJaWYoISR0ZW1wbGF0ZSB8fCAkdGVtcGxhdGUgPT0gIiIpew0KCQkJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbWJlZHRlbXBsYXRlIik7DQoJCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJCX0NCgkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoInZpZGVvX3BsdXJhbCIpKTsNCgkJDQoJCWlmICghaXNzZXQoJGl0ZW0tPnBhcmVudG9iaikpIHsNCgkJCSRwYXJlbnRzID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bSAoYXJyYXkoImlkIj0+JGl0ZW0tPnBhcmVudF9pZCkpOw0KCQkJJGl0ZW0tPnBhcmVudF9vYmplY3Q9JHBhcmVudHNbMF07DQoJCX0gDQoNCgkJaWYgKCRpdGVtLT5oZWlnaHQ9PSIiKSB7DQoJCQkkaXRlbS0+aGVpZ2h0PSRwYXJlbnRvYmotPmRlZmF1bHRfaGVpZ2h0Ow0KCQl9DQoJCWlmICgkaXRlbS0+d2lkdGg9PSIiKSB7DQoJCQkkaXRlbS0+d2lkdGg9JHBhcmVudG9iai0+ZGVmYXVsdF93aWR0aDsNCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW0iLCRpdGVtKTsNCg0KCQkvLyB3ZSByZXRyaWV2ZSBhIGxhYmVsIGZvciBlYWNoIG9mIHRoZSBpdGVtJ3MgZmllbGQgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCgkJJGxhYmVscyA9IG5ldyBTdGRDbGFzcygpOw0KCQlmb3JlYWNoKCRpdGVtIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkkbGFiZWxzLT4ka2V5ID0gJHRoaXMtPkxhbmcoInZpZGVvXyIuJGtleSk7CQkNCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhYmVscyIsICRsYWJlbHMpOw0KDQoJCS8vIHdlIHByb2Nlc3MgdGhlIHRlbXBsYXRlDQoJCSRyZXN1bHQgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkJaWYgKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSE9IiIpIHsNCgkJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwgJHJlc3VsdCk7DQoJCX0gZWxzZSB7DQoJCQllY2hvICRyZXN1bHQ7DQoJCX0NCgl9DQoJZnVuY3Rpb24gY291bnRzb21ldGhpbmcoJHRhYmxlbmFtZSwkd2hhdD0iaWQiLCR3aGVyZT1hcnJheSgpLCR3aGVyZXN0cmluZz1mYWxzZSwkd2hlcmV2YWx1ZXM9YXJyYXkoKSwkcGFyZW50PWZhbHNlKXsNCgkJLy8gcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgdGFibGUgY29ycmVzcG9uZGluZyB0byBjcml0ZXJpYXMNCgkJaWYoISRwYXJlbnQgJiYgaXNzZXQoJHdoZXJlWyJwYXJlbnQiXSkpCXVuc2V0KCR3aGVyZVsicGFyZW50Il0pOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCWlmKCR3aGVyZXN0cmluZyl7DQoJCQkkd2hlcmVzdHJpbmcgPSAiIFdIRVJFICIuJHdoZXJlc3RyaW5nOw0KCQl9ZWxzZXsNCgkJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJGtleSA9PSAicGFyZW50Iil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4iQS5wYXJlbnQ9Qi5pZCBBTkQgQi5hbGlhcz0/IjsNCgkJCQl9ZWxzZXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiJBLiIuJGtleS4iPT8iOw0KCQkJCX0NCgkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUIENPVU5UKEEuJHdoYXQpIG91cmNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kdGFibGVuYW1lLiIgQSI7DQoJCWlmKCRwYXJlbnQgJiYgaXNzZXQoJHdoYXRbInBhcmVudCJdKSkJJHF1ZXJ5IC49ICIsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHBhcmVudC4iIEIiOw0KCQkkcXVlcnkgLj0gJHdoZXJlc3RyaW5nOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlyZXR1cm4gJHJvd1sib3VyY291bnQiXTsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0NCgkNCgkNCglmdW5jdGlvbiBhZG1pbl9wYWdpbmF0ZSgkbGV2ZWwsJG5icGVycGFnZSwkaWQsJHJldHVybmlkLCRwYXJhbXMpew0KCQkvLyBzYW1lIGFzIHBhZ2luYXRlLCBidXQgZm9yIHRoZSBhZG1pbiBwYW5lbHMNCgkJJHdoZXJlY2xhdXNlID0gYXJyYXkoKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdKSAmJiAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gIT0gIiIpCSR3aGVyZWNsYXVzZVsicGFyZW50Il0gPSAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il07DQoJCSR0b3RhbCA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygkbGV2ZWwsImlkIiwkd2hlcmVjbGF1c2UpOw0KCQkkbmV4dHBhZ2UgPSBmYWxzZTsNCgkJJHByZXZpb3VzcGFnZSA9IGZhbHNlOw0KCQkkcGFnZWluZm8gPSBmYWxzZTsNCgkJJHBhZ2VzID0gZmFsc2U7DQoJCWlmKCRuYnBlcnBhZ2UgPiAwICYmICR0b3RhbCA+ICRuYnBlcnBhZ2Upew0KCQkJJGN1cnBhZ2UgPSBpc3NldCgkcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSk/JHBhcmFtc1skbGV2ZWwuIl9wYWdlIl06MDsNCgkJCSRuYnBhZ2VzID0gY2VpbCgkdG90YWwvJG5icGVycGFnZSk7DQoJCQkkcGFnZWluZm8gPSAoKCRjdXJwYWdlICogJG5icGVycGFnZSkgKyAxKTsNCgkJCSR0bXBlbmQgPSAkcGFnZWluZm8gKyAkbmJwZXJwYWdlIC0gMTsNCgkJCWlmKCR0bXBlbmQgPiAkdG90YWwpCSR0bXBlbmQgPSAkdG90YWw7DQoJCQlpZigkdG1wZW5kICE9ICRwYWdlaW5mbykJJHBhZ2VpbmZvIC49ICItIi4kdG1wZW5kOw0KCQkJJHBhZ2VpbmZvIC49ICIgLyAiLiR0b3RhbDsNCgkJCSRwYWdlcGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4kbGV2ZWwpOw0KCQkJaWYoaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdKSAmJiAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gIT0gIiIpew0KCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gPSAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il07DQoJCQl9DQoJCQlpZigkY3VycGFnZSA+IDApew0KCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSA9ICRjdXJwYWdlIC0gMTsNCgkJCQkkcHJldmlvdXNwYWdlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygicHJldmlvdXNwYWdlIiksICRwYWdlcGFyYW1zKTsNCgkJCX0NCgkJCWlmKCRjdXJwYWdlIDwgKCRuYnBhZ2VzLTEpKXsNCgkJCQkkcGFnZXBhcmFtc1skbGV2ZWwuIl9wYWdlIl0gPSAkY3VycGFnZSArIDE7DQoJCQkJJG5leHRwYWdlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygibmV4dHBhZ2UiKSwgJHBhZ2VwYXJhbXMpOw0KCQkJfQ0KCQkJJGkgPSAwOw0KCQkJJHBhZ2VzID0gJHRoaXMtPkxhbmcoInBhZ2VzIik7DQoJCQl3aGlsZSgkaSA8ICRuYnBhZ2VzKXsNCgkJCQlpZigkaSA+IDApCSRwYWdlcyAuPSAiJm5ic3A7ICI7DQoJCQkJaWYoJGkgPT0gJGN1cnBhZ2Upew0KCQkJCQkkcGFnZXMgLj0gJGk7DQoJCQkJfWVsc2V7DQoJCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSA9ICRpOw0KCQkJCQkkcGFnZXMgLj0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkaSwgJHBhZ2VwYXJhbXMpOw0KCQkJCX0NCgkJCQkkaSsrOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBhcnJheSgkcGFnZWluZm8sICRuZXh0cGFnZSwgJHByZXZpb3VzcGFnZSwgJHBhZ2VzKTsNCgl9DQoNCglmdW5jdGlvbiBwYWdpbmF0ZSgkd2hhdCwkdG90YWwsJGlkLCRyZXR1cm5pZCwkcGFyYW1zLCRhY3Rpb249ImRlZmF1bHQiKXsNCgkJLy8gZm9yIGZyb250ZW5kIHVzYWdlDQoJCS8vIHRoaXMgYXNzaWducyB0aGUgZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBwYWdlIG1lbnUNCgkJDQoJCSRuYnBlcnBhZ2UgPSBpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSk/JHBhcmFtc1sibmJwZXJwYWdlIl06MDsNCgkJJG5icGVycGFnZSA9IChpbnQpICRuYnBlcnBhZ2U7DQoJCWlmKCRuYnBlcnBhZ2UgPT0gMCB8fCAkbmJwZXJwYWdlID49ICR0b3RhbCl7DQoJCQkvLyB3ZSdyZSBub3QgdXNpbmcgcGFnaW5hdGlvbg0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJwYWdlX3Nob3dpbmciPT5mYWxzZSwicGFnZV90b3RhbGl0ZW1zIj0+ZmFsc2UsInBhZ2VfcGFnZW51bWJlcnMiPT5mYWxzZSwicGFnZV9uZXh0Ij0+ZmFsc2UsInBhZ2VfcHJldmlvdXMiPT5mYWxzZSkpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkvLyB3ZSdyZSB1c2luZyBwYWdpbmF0aW9uDQoJCSRjdXJwYWdlID0gaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pPyRwYXJhbXNbInBhZ2VpbmRleCJdOjE7DQoJCSRuYnBhZ2VzID0gY2VpbCgkdG90YWwvJG5icGVycGFnZSk7DQoJCSRzaG93aW5nID0gKCgoJGN1cnBhZ2UgLTEpICogJG5icGVycGFnZSkgKyAxKTsNCgkJJHRtcGVuZCA9ICRzaG93aW5nICsgJG5icGVycGFnZSAtIDE7DQoJCWlmKCR0bXBlbmQgPiAkdG90YWwpCSR0bXBlbmQgPSAkdG90YWw7DQoJCWlmKCR0bXBlbmQgIT0gJHNob3dpbmcpCSRzaG93aW5nIC49ICItIi4kdG1wZW5kOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2Vfc2hvd2luZyIsJHNob3dpbmcpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfdG90YWxpdGVtcyIsJHRvdGFsKTsNCg0KCQkkbmV3cGFyYW1zID0gJHBhcmFtczsNCgkJJHByZXZpb3VzbGluayA9IGZhbHNlOw0KCQkkbmV4dGxpbmsgPSBmYWxzZTsNCgkJaWYoJGN1cnBhZ2UgPiAxKXsNCgkJCS8vIHdlIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgcHJldmlvdXMgcGFnZQ0KCQkJJG5ld3BhcmFtc1sicGFnZWluZGV4Il0gPSAkY3VycGFnZSAtIDE7DQoJCQkkcHJldmlvdXNsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICImbHQ7IiwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCB0cnVlLCAiIGNsYXNzPVwicHJldmlvdXNsaW5rXCIiLCBmYWxzZSwgKCRhY3Rpb24gIT0gImRlZmF1bHQiKT8iIjokdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCkpOw0KCQl9DQoJCWlmKCRjdXJwYWdlIDwgJG5icGFnZXMpew0KCQkJLy8gd2UgY3JlYXRlIHRoZSBsaW5rIHRvIHRoZSBuZXh0IHBhZ2UNCgkJCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJGN1cnBhZ2UgKyAxOw0KCQkJJG5leHRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICImZ3Q7IiwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCB0cnVlLCAiIGNsYXNzPVwibmV4dGxpbmtcIiIsIGZhbHNlLCAoJGFjdGlvbiAhPSAiZGVmYXVsdCIpPyIiOiR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKSk7DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX25leHQiLCRuZXh0bGluayk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZV9wcmV2aW91cyIsJHByZXZpb3VzbGluayk7CQ0KCQkJCQ0KCQkvLyB3ZSBjcmVhdGUgbGlua3MgZm9yIGVhY2ggcGFnZSBudW1iZXINCgkJJGkgPSAxOw0KCQkkbGlua3MgPSBhcnJheSgpOw0KCQl3aGlsZSgkaSA8PSAkbmJwYWdlcyAmJiAkbmJwYWdlcyA+IDEpew0KCQkJJG5ld3BhcmFtc1sicGFnZWluZGV4Il0gPSAkaTsNCgkJCWlmKCRpID09ICRjdXJwYWdlKXsNCgkJCQkkbGlua3NbXSA9ICI8YSBjbGFzcz1cInBhZ2VudW1iZXIgY3VycmVudFwiPiIuJGkuIjwvYT4iOw0KCQkJfWVsc2V7DQoJCQkJJGxpbmtzW10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICRhY3Rpb24sICRyZXR1cm5pZCwgJGksICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cInBhZ2VudW1iZXJcIiIsIGZhbHNlLCAoJGFjdGlvbiAhPSAiZGVmYXVsdCIpPyIiOiR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKSk7DQoJCQl9DQoJCQkkaSsrOw0KCQl9DQoJCSRpID0gMDsNCgkJJHRtcGZsYWcgPSB0cnVlOw0KCQkkbWF4cGFnZXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibWF4c2hvd25wYWdlcyIsNyk7DQoJCSRtYXhwYWdlcyA9IChpbnQpICRtYXhwYWdlczsNCgkJJHBhZ2VtZW51ID0gIiI7DQoJCWlmKCRtYXhwYWdlcyA8IDEpCSRtYXhwYWdlcyA9IDk5OTsNCgkJd2hpbGUoJGkgPCBjb3VudCgkbGlua3MpKXsNCgkJCWlmKCRpIDwgKCRtYXhwYWdlcy0xKSB8fCAkbmJwYWdlcyA8PSAkbWF4cGFnZXMpew0KCQkJCSRwYWdlbWVudSAuPSAoJHBhZ2VtZW51ID09ICIiPyIiOiR0aGlzLT5MYW5nKCJwYWdlbWVudWRlbGltaXRlciIpKS4kbGlua3NbJGldOw0KCQkJfWVsc2VpZigkaSA9PSBjb3VudCgkbGlua3MpKXsNCgkJCQkkcGFnZW1lbnUgLj0gJGxpbmtzWyRpXTsNCgkJCX1lbHNlaWYoJHRtcGZsYWcpew0KCQkJCSR0bXBmbGFnID0gZmFsc2U7DQoJCQkJJHBhZ2VtZW51IC49ICI8c3BhbiBjbGFzcz1cInBhZ2VtZW51b3ZlcmZsb3dcIj4iLiR0aGlzLT5MYW5nKCJwYWdlbWVudW92ZXJmbG93IikuIjwvc3Bhbj4iOw0KCQkJfQ0KCQkJJGkrKzsNCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfcGFnZW51bWJlcnMiLCRwYWdlbWVudSk7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2Rpc3RhbmNldG9sZXZlbCgkcGFyZW50bmFtZSwkY2hpbGRuYW1lPWZhbHNlKXsNCgkJLy8gZ2V0IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBsZXZlbHMgKG1vc3QgbGlrZWx5IGJldHdlZW4gYSBsZXZlbCBhbmQgdGhlIGZpbmFsIGxldmVsKQ0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCWlmKCEkY2hpbGRuYW1lKQkkY2hpbGRuYW1lID0gJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXTsNCgkJJHBhcmVudHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjaGlsZHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjb3VudGVyID0gMDsNCgkJZm9yZWFjaCgkbGV2ZWxzIGFzICRsZXZlbCl7DQoJCQkkY291bnRlcisrOw0KCQkJaWYoJGxldmVsID09ICRwYXJlbnRuYW1lKSAkcGFyZW50cG9zaXRpb24gPSAkY291bnRlcjsNCgkJCWlmKCRsZXZlbCA9PSAkY2hpbGRuYW1lKSAkY2hpbGRwb3NpdGlvbiA9ICRjb3VudGVyOw0KCQl9DQoJCWlmKCRjaGlsZHBvc2l0aW9uICYmICRwYXJlbnRwb3NpdGlvbil7DQoJCQlyZXR1cm4gYWJzKCRwYXJlbnRwb3NpdGlvbiAtICRjaGlsZHBvc2l0aW9uKTsNCgkJfQ0KCX0NCglmdW5jdGlvbiBnZXRfbmV4dGxldmVsKCRjdXJsZXZlbCwkZmluZGNoaWxkPXRydWUpew0KCQkvLyByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGxldmVsIGJlbG93ICgkZmluZGNoaWxkPXRydWUpIG9yIGFib3ZlICgkZmluZGNoaWxkPWZhbHNlKQ0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCSRpID0gMDsNCgkJJHdhbnRlZGxldmVsID0gZmFsc2U7DQoJCXdoaWxlKCRpIDwgY291bnQoJGxldmVscykpew0KCQkJJG5leHQgPSAkZmluZGNoaWxkPyRpKzE6JGktMTsNCgkJCWlmKCRsZXZlbHNbJGldID09ICRjdXJsZXZlbCAmJiBpc3NldCgkbGV2ZWxzWyRuZXh0XSkpICR3YW50ZWRsZXZlbCA9ICRsZXZlbHNbJG5leHRdOw0KCQkJJGkrKzsNCgkJfQ0KCQlyZXR1cm4gJHdhbnRlZGxldmVsOw0KCX0NCglmdW5jdGlvbiBnZXRfcGFyZW50cygkcGFyZW50bmFtZSwkY2hpbGRuYW1lLCRjaGlsZGlkKXsNCgkJLy8gd2hlbiB1c2luZyB0aGUgc2hhcmVjaGlsZHJlbiBvcHRpb24sIHJldHJpZXZlcyB0aGUgcGFyZW50cyBvZiBhIGdpdmVuIGVsZW1lbnQNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJHBhcmVudG5hbWUuIl9pZCBwYXJlbnRpZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHBhcmVudG5hbWUuIl9oYXNfIi4kY2hpbGRuYW1lLiIgV0hFUkUgIi4kY2hpbGRuYW1lLiJfaWQ9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNoaWxkaWQpKTsNCgkJJHBhcmVudHMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJHBhcmVudHNbXSA9ICRyb3dbInBhcmVudGlkIl07DQoJCX0NCgkJcmV0dXJuICRwYXJlbnRzOw0KCX0NCglmdW5jdGlvbiBnZXRfb3B0aW9ucygkdGFibGVuYW1lLCRvbmx5YWN0aXZlPWZhbHNlLCRmdWxsb2JqZWN0PWZhbHNlKXsNCgkJLy8gcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYW55IHRhYmxlIGFzIG9wdGlvbnMgdG8gdXNlIGZvciBhIGRyb3Bkb3duIGxpc3QNCgkJLy8gcmV0dXJucyBhbiBhcnJheSBvZiAkbGFiZWw9PiR2YWx1ZQ0KCQkkb3JkZXJieW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgib3JkZXJieW5hbWUiLGZhbHNlKTsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuKCRmdWxsb2JqZWN0PyIqIjoiaWQsIG5hbWUiKS4iIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kdGFibGVuYW1lOw0KCQlpZigkb25seWFjdGl2ZSkJJHF1ZXJ5IC49ICIgV0hFUkUgYWN0aXZlPTEiOw0KCQkkcXVlcnkgLj0gIiBPUkRFUiBCWSAiLigkb3JkZXJieW5hbWU/Im5hbWUiOiJpdGVtX29yZGVyIik7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlpZigkZnVsbG9iamVjdCl7DQoJCQkJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCQkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpCSRvYmotPiRrZXkgPSAkdmFsdWU7DQoJCQkJJG9wdGlvbnNbXSA9ICRvYmo7DQoJCQl9ZWxzZXsNCgkJCQkkb3B0aW9uc1skcm93WyJuYW1lIl1dID0gJHJvd1siaWQiXTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCglmdW5jdGlvbiBnZXRfZmllbGRvcHRpb25zKCRmaWVsZCwkZnVsbG9iamVjdD1mYWxzZSl7DQoJCS8vIHJldHVybnMgZmllbGQgb3B0aW9ucyBhcyBvcHRpb25zIHRvIHVzZSBmb3IgYSBkcm9wZG93biBsaXN0DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCi8vCQllY2hvICgiZmllbGQ9JGZpZWxkIik7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyBXSEVSRSBmaWVsZD0/IE9SREVSIEJZIGl0ZW1fb3JkZXIiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRmaWVsZCkpOw0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlpZigkZnVsbG9iamVjdCl7DQoJCQkJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCQkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpCSRvYmotPiRrZXkgPSAkdmFsdWU7DQoJCQkJJG9wdGlvbnNbXSA9ICRvYmo7DQoJCQl9ZWxzZXsNCgkJCQkkb3B0aW9uc1skcm93WyJuYW1lIl1dID0gJHJvd1siaWQiXTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCglmdW5jdGlvbiBnZXRfcGFnZWlkKCRhbGlhcyl7DQoJCS8vIHJldHVybnMgdGhlIHBhZ2UgaWQgZnJvbSBhbiBhbGlhcw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQoJCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsNCgkJaWYgKGlzc2V0KCRub2RlKSkgew0KCQkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJDQoJCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQlyZXR1cm4gJGNvbnRlbnQtPklkKCk7DQoJCX1lbHNlew0KCQkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOw0KCQkJaWYgKGlzc2V0KCRub2RlKSkgcmV0dXJuICRhbGlhczsNCgkJfQ0KCX0NCglmdW5jdGlvbiBhZGRmcm9udGVuZHVybHMoJGl0ZW0sJHBhcmFtcywkaWQsJHJldHVybmlkKXsNCgkJLy8gYWRkcyAkaXRlbS0+ZGV0YWlsbGluayBhbmQgJGl0ZW0tPmRldGFpbHVybCB0byBhIGdpdmVuICRpdGVtDQoJCSRuZXh0bGV2ZWwgPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkaXRlbS0+X193aGF0KTsNCgkJaWYoISRuZXh0bGV2ZWwpew0KCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JGl0ZW0tPl9fd2hhdCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKTsNCgkJfWVsc2V7DQoJCQkkbmV3cGFyYW1zID0gYXJyYXkoIndoYXQiPT4kbmV4dGxldmVsLCAicGFyZW50Ij0+JGl0ZW0tPmFsaWFzKTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbImZvcmNlbGlzdCJdKSAmJiAkcGFyYW1zWyJmb3JjZWxpc3QiXSkJJG5ld3BhcmFtc1siZm9yY2VsaXN0Il0gPSB0cnVlOw0KCQkJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pICYmICRwYXJhbXNbIm5icGVycGFnZSJdID4gMCkJJG5ld3BhcmFtc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKSAmJiAkcGFyYW1zWyJwYWdlaW5kZXgiXSA+IDEpCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1sicGFnZWluZGV4Il07DQoJCX0NCgkJJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQoJCWlmKCRpbmxpbmUpCSRuZXdwYXJhbXNbImlubGluZSJdID0gdHJ1ZTsNCgkJJHByZXR0eXVybCA9ICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKTsNCgkJLy9lY2hvICJwcmV0dHkgdXJsPSRwcmV0dHl1cmwiOw0KCQkkaXRlbS0+ZGV0YWlsbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRpdGVtLT5uYW1lLCAkbmV3cGFyYW1zLCAiIiwgZmFsc2UsICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCk7DQoJCSRpdGVtLT5kZXRhaWx1cmwgPSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgIiIsICAgICAgICAgICRuZXdwYXJhbXMsICIiLCB0cnVlLCAgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKTsNCgkJcmV0dXJuICRpdGVtOw0KCX0NCgkNCglmdW5jdGlvbiBhZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJhbXMsJGlkLCRyZXR1cm5pZCl7DQoJCS8vIGFkZHMgdGhlIGFkbWluIGxpbmtzIHRvIHRoZSBsZXZlbCBpdGVtcy4uLg0KCQkvKiAkcGFyYW1zIDogdGhlIGJhc2UgcGFyYW1ldGVycyBmb3IgdGhlIGFkbWluIGxpbmtzDQoJCQkJcHJlZml4DQoJCQkJdGFibGVuYW1lDQoJCQkJY2hpbGQgKGlmIHRoZSBsZXZlbCBoYXMgYSBjaGlsZCBsZXZlbCwgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGxldmVsKQ0KCQkJCWxldmVsbmFtZQ0KCQkJCXBhcmVudGRlZmF1bHQgKGJvb2wuLi4gd2hldGhlciBvciBub3QgdGhlcmUgaXMgYSBkZWZhdWx0IGVsZW1lbnQgZm9yIGVhY2ggcGFyZW50KQ0KCQkJCW9yZGVyYnlwYXJlbnQgKGJvb2wpDQoJCQkJYWRkZmlsZXMNCgkJCQlzaGFyZWNoaWxkcmVuIChib29sKQ0KCQkJCXNoYXJlZGJ5cGFyZW50cyAoYm9vbCkNCgkJCQlmaWxlcyAoc3RyaW5nLGNzdikNCgkJKi8NCg0KCQlnbG9iYWwgJGdDbXM7DQoJCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQkNCgkJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV8iLiRwYXJhbXNbImxldmVsbmFtZSJdKSApew0KCQkJLy8gbm8gYWNjZXNzIC0gd2UgZG9uJ3QgY3JlYXRlIGxpbmtzDQoJCQkkaXRlbS0+ZWRpdGxpbmsgPSAkaXRlbS0+bmFtZTsNCgkJCSRpdGVtLT5kZWxldGVsaW5rID0gIiI7DQoJCQkkaXRlbS0+bW92ZWxpbmtzID0gIiI7DQoJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJGl0ZW0tPmFjdGl2ZT09MT8kYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik6JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsIiIsIiIsIiIsInN5c3RlbWljb24iKTsNCgkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJGl0ZW0tPmlzZGVmYXVsdD09MT8kYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik6JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsIiIsIiIsIiIsInN5c3RlbWljb24iKTsNCgkJCXJldHVybiAkaXRlbTsNCgkJfQ0KCQkNCgkJJHByZWZpeCA9ICRwYXJhbXNbInByZWZpeCJdOw0KCQkkbW92ZXBhcmFtcyA9ICRwYXJhbXM7DQoJCSRtb3ZlcGFyYW1zWyRwcmVmaXguImlkIl0gPSAkaXRlbS0+aWQ7DQoJCSRtb3ZlcGFyYW1zWyJjdXJyZW50b3JkZXIiXSA9ICRpdGVtLT5pdGVtX29yZGVyOw0KCQlpZihpc3NldCgkbW92ZXBhcmFtc1siZmlsZXMiXSkpCXVuc2V0KCRtb3ZlcGFyYW1zWyJmaWxlcyJdKTsNCgkJaWYoJG1vdmVwYXJhbXNbIm9yZGVyYnlwYXJlbnQiXSAmJiBpc3NldCgkaXRlbS0+cGFyZW50X2lkKSkgJG1vdmVwYXJhbXNbInBhcmVudCJdID0gJGl0ZW0tPnBhcmVudF9pZDsNCg0KCQkkaXRlbS0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0Ii4kcHJlZml4LCAkcmV0dXJuaWQsICRpdGVtLT5uYW1lLCBhcnJheSgkcHJlZml4LiJpZCI9PiRpdGVtLT5pZCkpOw0KCQkkaXRlbS0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIixsYW5nKCJkZWxldGUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJkZWxldGUiLCJmaWxlcyI9PiRwYXJhbXNbImZpbGVzIl0pLCRtb3ZlcGFyYW1zKSwkdGhpcy0+TGFuZygicHJvbXB0X2RlbGV0ZSIuJHBhcmFtc1sibGV2ZWxuYW1lIl0sIHN0cl9yZXBsYWNlKCInIiwiXCciLCRpdGVtLT5uYW1lKSkpOw0KCQkkaXRlbS0+bW92ZXVwbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy11LmdpZiIsbGFuZygidXAiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJ1cCIpLCRtb3ZlcGFyYW1zKSk7DQoJCSRpdGVtLT5tb3ZlZG93bmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYiLGxhbmcoImRvd24iKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJkb3duIiksJG1vdmVwYXJhbXMpKTsNCgkJJGl0ZW0tPm1vdmVsaW5rcyA9ICRpdGVtLT5tb3ZldXBsaW5rIC4iICIuICRpdGVtLT5tb3ZlZG93bmxpbms7DQoJCQ0KCQkvLyB3ZSByZWJ1aWxkIHRoZSBwYXJhbXMsIGJlY2F1c2Ugd2UgZG9uJ3QgbmVlZCBzbyBtYW55IGZvciB0aGUgdG9nZ2xlIGFjdGlvbg0KCQkkdG9nZ2xlcGFyYW1zID0gYXJyYXkoJHByZWZpeC4iaWQiPT4kaXRlbS0+aWQsICJwcmVmaXgiPT4kcHJlZml4LCAidGFibGVuYW1lIj0+JHBhcmFtc1sidGFibGVuYW1lIl0sICJsZXZlbG5hbWUiPT4kcGFyYW1zWyJsZXZlbG5hbWUiXSk7DQoJCWlmKCRwYXJhbXNbInBhcmVudGRlZmF1bHQiXSAmJiBpc3NldCgkaXRlbS0+cGFyZW50X2lkKSl7DQoJCQkkdG9nZ2xlcGFyYW1zWyJwYXJlbnQiXSA9ICRpdGVtLT5wYXJlbnRfaWQ7DQoJCQkkdG9nZ2xlcGFyYW1zWyJwYXJlbnRkZWZhdWx0Il0gPSAxOw0KCQl9DQoJCWlmICgkaXRlbS0+YWN0aXZlID09IDEpew0KCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIixsYW5nKCJzZXRmYWxzZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJ3aGF0Ij0+ImFjdGl2ZSIsIm5ld3ZhbCI9PjApLCR0b2dnbGVwYXJhbXMpKTsNCgkJfWVsc2V7DQoJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIixsYW5nKCJzZXR0cnVlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIndoYXQiPT4iYWN0aXZlIiwibmV3dmFsIj0+MSksJHRvZ2dsZXBhcmFtcykpOw0KCQl9DQoNCgkJaWYgKCRpdGVtLT5pc2RlZmF1bHQgPT0gMSl7DQoJCQkkaXRlbS0+dG9nZ2xlZGVmYXVsdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIixsYW5nKCJzZXRmYWxzZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJ3aGF0Ij0+ImRlZmF1bHQiLCJuZXd2YWwiPT4wKSwkdG9nZ2xlcGFyYW1zKSk7DQoJCX1lbHNlew0KCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLGxhbmcoInNldHRydWUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJkZWZhdWx0IiwibmV3dmFsIj0+MSksJHRvZ2dsZXBhcmFtcykpOw0KCQl9DQoJCXJldHVybiAkaXRlbTsNCgl9DQoJZnVuY3Rpb24gc3BsaXRfaW50b19wYWdlcygkaXRlbWxpc3QsICRpZCwgJHJldHVybmlkLCAkcGFyYW1zLCAkYWN0aW9uPSJkZWZhdWx0IiwgJHByZXR0eXVybHM9dHJ1ZSl7DQoJCS8vIGRlcHJlY2F0ZWQgLSBzaG91bGQgdXNlIGZ1bmN0aW9uIHBhZ2luYXRlIGluc3RlYWQNCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoJZnVuY3Rpb24gZ2V0X3F1ZXJpZXMoJHdoZXJlPWFycmF5KCksICRhZG1pbj1mYWxzZSwgJGlkPWZhbHNlLCAkcmV0dXJuaWQ9ZmFsc2Upew0KCQkvLyByZXRyaXZlcyBxdWVyaWVzIGZyb20gdGhlIGRhdGFiYXNlIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIG9iamVjdHMNCgkJZ2xvYmFsICRnQ21zOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3NhdmVkX3F1ZXJpZXMiOw0KCQkkd2hlcmVjbGF1c2UgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJaWYoY291bnQoJHdoZXJlKT4wKXsNCgkJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJHdoZXJlY2xhdXNlIC49ICgkd2hlcmVjbGF1c2UgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQkkcXVlcnkgLj0gJHdoZXJlY2xhdXNlOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+d2hlcmV2YWx1ZXMgPSB1bnNlcmlhbGl6ZSgkaXRlbS0+d2hlcmV2YWx1ZXMpOw0KCQkJaWYoIWlzX2FycmF5KCRpdGVtLT52YWx1ZXMpKQkkaXRlbS0+dmFsdWVzID0gYXJyYXkoKTsNCgkJCWlmKCRhZG1pbil7DQoJCQkJJGl0ZW0tPmFjdGlvbnMgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWxldGVxdWVyeSIsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIixsYW5nKCJkZWxldGUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgicXVlcnlpZCI9PiRpdGVtLT5pZCkpOw0KCQkJCSRpdGVtLT5hY3Rpb25zIC49ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRlc3RxdWVyeSIsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS92aWV3LmdpZiIsbGFuZygidmlldyIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJxdWVyeWlkIj0+JGl0ZW0tPmlkKSk7DQoJCQl9DQoJCQkkaXRlbWxpc3RbXSA9ICRpdGVtOw0KCQl9DQoJCXJldHVybiAoY291bnQoJGl0ZW1saXN0KT4wPyRpdGVtbGlzdDpmYWxzZSk7DQoJfQ0KDQoJZnVuY3Rpb24gY3JlYXRlRmllbGRGb3JtKCR3aGF0LCRpZCwkYXNzaWduPXRydWUpew0KCQlyZXF1aXJlICJmdW5jdGlvbi5jcmVhdGVGaWVsZEZvcm0ucGhwIjsNCgl9DQoJDQoNCglmdW5jdGlvbiBidWlsZFdoZXJlKCR3aGVyZT1hcnJheSgpLCR3aGF0PSIiKXsNCgkJJG11bHRpcGxlbGlzdGZpZWxkcyA9IGFycmF5KCk7DQoJCSR3aGVyZWNsYXVzZSA9ICJBLmFjdGl2ZT0xIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkd2hlcmUgYXMgJGNsYXVzZSl7DQoJCQlpZihpbl9hcnJheSgkd2hhdC4iXyIuJGNsYXVzZVswXSwgJG11bHRpcGxlbGlzdGZpZWxkcykpew0KCQkJCS8vIGxpc3Qgd2l0aCBtdWx0aXBsZSBzZWxlY3RlZCB2YWx1ZXMgYXJlIHNhdmVkIGluIGEgc2VyaWFsaXplZCBhcnJheSwgc28gd2UgaGF2ZSB0byB0d2VhayB0aGUgdmFsdWUNCgkJCQkkY2xhdXNlWzFdID0gJyInLiRjbGF1c2VbMV0uJyInOw0KCQkJCSRjbGF1c2VbMl0gPSAxOw0KCQkJfQ0KCQkJaWYoJGNsYXVzZVswXSA9PSAicGFyZW50Iil7DQoJCQkJCSRjcml0ZXJpYSA9IGV4cGxvZGUoIiwiLCRjbGF1c2VbMV0pOw0KCQkJCQlpZihjb3VudCgkY3JpdGVyaWEpID4gMSl7DQoJCQkJCQkkdG1wID0gIiI7DQoJCQkJCQlmb3JlYWNoKCRjcml0ZXJpYSBhcyAkY3JpdCl7DQoJCQkJCQkJJHRtcCA9ICgkdG1wPT0iIj8iIjoiIE9SICIpLiJBLnBhcmVudD0iLiRjcml0Ow0KCQkJCQkJfQ0KCQkJCQkJJHRtcCA9ICIgQU5EICgiLiR0bXAuIikiOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCSR0bXAgPSAiIEFORCBBLnBhcmVudD0/IjsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gJGNsYXVzZVsxXTsNCgkJCQkJfQ0KCQkJCQkkd2hlcmVjbGF1c2UgLj0gJHRtcDsNCgkJCQkNCgkJCX1lbHNlew0KCQkJCXN3aXRjaCgkY2xhdXNlWzJdKXsNCgkJCQkJY2FzZSAwOg0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIEEuIi4kY2xhdXNlWzBdLiI9PyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9IGFkZHNsYXNoZXMoJGNsYXVzZVsxXSk7CQkJCQkNCgkJCQkJCWJyZWFrOw0KCQkJCQkNCgkJCQkJY2FzZSAxOg0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIEEuIi4kY2xhdXNlWzBdLiIgTElLRSAnJSIuYWRkc2xhc2hlcygkY2xhdXNlWzFdKS4iJSciOw0KCQkJCQkJYnJlYWs7DQoJCQkJCQ0KCQkJCQljYXNlIDI6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiAhPSA/IjsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQkJDQoJCQkJCWNhc2UgMzoNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iID4gPyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9IGFkZHNsYXNoZXMoJGNsYXVzZVsxXSk7CQkJCQkNCgkJCQkJCWJyZWFrOw0KCQkJCQkJDQoJCQkJCWNhc2UgNDoNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iIDwgPyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9IGFkZHNsYXNoZXMoJGNsYXVzZVsxXSk7CQkJCQkNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlIDU6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgKEEuIi4kY2xhdXNlWzBdLiIgPiA/IEFORCBBLiIuJGNsYXVzZVswXS4iIDwgPykiOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV1bMF0pOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV1bMV0pOw0KCQkJCQkJYnJlYWs7CQkJCQkNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGFycmF5KCR3aGVyZWNsYXVzZSwgJHdoZXJldmFsdWVzKTsNCgl9DQoJZnVuY3Rpb24gZ2V0V2hlcmVGcm9tUGFyYW1zKCRwYXJhbXMsICRodG1sZW5jb2RlZD1mYWxzZSl7DQoJCS8vIHVzZWQgZm9yIHF1ZXJ5IGNyZWF0aW9uIGFuZCBmcm9udGVuZCBhZHZhbmNlZCBzZWFyY2ggYWN0aW9uDQoJCS8vIHRyYW5zZm9ybXMgcGFyYW1ldGVycyBpbnRvICR3aGVyZSAtIGFuIGFycmF5IG9mIGNyaXRlcmlhOg0KCQkvLyAkd2hlcmVbXSA9IGFycmF5KCRmaWVsZG5hbWUsICRzZWFyY2h2YWx1ZSwgJGNvbXBhcmlzb25fdHlwZSkNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkd2hlcmUgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsNCgkJCWlmKHN1YnN0cigka2V5LDAsNikgPT0gImZpZWxkXyIgJiYgdHJpbSgkdmFsdWUpICE9ICIiKXsNCgkJCQkka2V5ID0gc3Vic3RyKCRrZXksNik7DQoJCQkJaWYoaXNfYXJyYXkoJHZhbHVlKSAmJiBjb3VudCgkdmFsdWUpPT0xKQkkdmFsdWUgPSAkdmFsdWVbMF07DQoJCQkJJGNvbXBhcmUgPSBpc3NldCgkcGFyYW1zWyJjb21wYXJlXyIuJGtleV0pPyRwYXJhbXNbImNvbXBhcmVfIi4ka2V5XTowOw0KCQkJCWlmKCR2YWx1ZSA9PSAiX19kYXRlX2ZpZWxkIil7DQoJCQkJCWlmKCRjb21wYXJlICE9ICJOQSIpew0KCQkJCQkJLy8gVGhlIGNvZGUgaXMgc3VjaCB0aGF0IHJlbW92aW5nIGFueSBwYXJ0IG9mIHRoZSB0aW1lIGlucHV0IGZyb20gdGhlIGZvcm0gd2lsbCByZXN1bHQgaW4gdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWUNCgkJCQkJCSR0aW1laW5wdXRzID0gYXJyYXkoIkhvdXIiPT4iSCIsIk1pbnV0ZSI9PiJpIiwiU2Vjb25kIj0+InMiLCJNb250aCI9PiJuIiwiRGF5Ij0+ImoiLCJZZWFyIj0+IlkiKTsNCgkJCQkJCSRwYXJ0cyA9IGFycmF5KCk7DQoJCQkJCQlmb3JlYWNoKCR0aW1laW5wdXRzIGFzICRpbnB1dG5hbWU9PiRkYXRlcGFydCl7CQ0KCQkJCQkJCSRwYXJ0c1tdID0gKGlzc2V0KCRwYXJhbXNbImRhdGVfIi4ka2V5LiJfIi4kaW5wdXRuYW1lXSkpPyRwYXJhbXNbImRhdGVfIi4ka2V5LiJfIi4kaW5wdXRuYW1lXTpkYXRlKCRkYXRlcGFydCk7DQoJCQkJCQl9DQoJCQkJCQkkdmFsdWUgPSBta3RpbWUoJHBhcnRzWzBdLCRwYXJ0c1sxXSwkcGFydHNbMl0sJHBhcnRzWzNdLCRwYXJ0c1s0XSwkcGFydHNbNV0pOw0KCQkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlwnIiwiIiwkZGItPkRCVGltZVN0YW1wKCR2YWx1ZSkpOw0KCQkJCQkJDQoJCQkJCQlpZigkY29tcGFyZSA9PSA1KXsNCgkJCQkJCQkkcGFydHMgPSBhcnJheSgpOw0KCQkJCQkJCWZvcmVhY2goJHRpbWVpbnB1dHMgYXMgJGlucHV0bmFtZT0+JGRhdGVwYXJ0KXsJDQoJCQkJCQkJCSRwYXJ0c1tdID0gKGlzc2V0KCRwYXJhbXNbImRhdGVfIi4ka2V5LiJfcGFydDJfIi4kaW5wdXRuYW1lXSkpPyRwYXJhbXNbImRhdGVfIi4ka2V5LiJfcGFydDJfIi4kaW5wdXRuYW1lXTpkYXRlKCRkYXRlcGFydCk7DQoJCQkJCQkJfQ0KCQkJCQkJCSR2YWx1ZTIgPSBta3RpbWUoJHBhcnRzWzBdLCRwYXJ0c1sxXSwkcGFydHNbMl0sJHBhcnRzWzNdLCRwYXJ0c1s0XSwkcGFydHNbNV0pOw0KCQkJCQkJCSR2YWx1ZTIgPSBzdHJfcmVwbGFjZSgiXCciLCIiLCRkYi0+REJUaW1lU3RhbXAoJHZhbHVlMikpOw0KCQkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgYXJyYXkoJHZhbHVlLCR2YWx1ZTIpLCAkY29tcGFyZSk7DQoJCQkJCQl9ZWxzZXsJDQoJCQkJCQkJJHdoZXJlW10gPSBhcnJheSgka2V5LCAkdmFsdWUsICRjb21wYXJlKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX1lbHNlew0KCQkJCQlpZihpc19hcnJheSgkdmFsdWUpKXsNCgkJCQkJCWZvcmVhY2goJHZhbHVlIGFzICRvbmV2YWx1ZSkJJHdoZXJlW10gPSBhcnJheSgka2V5LCAkb25ldmFsdWUsIDEpOw0KCQkJCQl9ZWxzZWlmKCRjb21wYXJlID09IDEpew0KCQkJCQkJJGtleXdvcmRzID0gJHRoaXMtPnBhcnNla2V5d29yZHMoJHZhbHVlKTsNCgkJCQkJCWZvcmVhY2goJGtleXdvcmRzIGFzICR2YWx1ZSl7DQoJCQkJCQkJaWYoJGh0bWxlbmNvZGVkKQkkdmFsdWUgPSBodG1sX2VudGl0eV9kZWNvZGUoJHZhbHVlKTsNCgkJCQkJCQkkdmFsdWUgPSBhZGRzbGFzaGVzKCR2YWx1ZSk7CQkJCQkJCQ0KCQkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJHZhbHVlLCAkY29tcGFyZSk7DQoJCQkJCQl9DQoJCQkJCX1lbHNlew0KCQkJCQkJaWYoJGh0bWxlbmNvZGVkKQkkdmFsdWUgPSBodG1sX2VudGl0eV9kZWNvZGUoJHZhbHVlKTsNCgkJCQkJCSR2YWx1ZSA9IGFkZHNsYXNoZXMoJHZhbHVlKTsNCgkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJHZhbHVlLCAkY29tcGFyZSk7DQoJCQkJCX0NCgkJCQl9CQkJCQ0KCQkJfQ0KCQl9CQkNCgkJcmV0dXJuICR3aGVyZTsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbGV2ZWxfY2F0ZWdvcnkoJHdoZXJlPWFycmF5KCksJGFkbWluPWZhbHNlLCRpZD0iIiwkcmV0dXJuaWQ9IiIsJG9yZGVyPWZhbHNlLCRsaW1pdD0wLCRjdXN0b213aGVyZT1mYWxzZSwkY3VzdG9tdmFsdWVzPWFycmF5KCksJGN1c3RvbW9yZGVyPWZhbHNlKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkbG9hZF9uYmNoaWxkcmVuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxvYWRfbmJjaGlsZHJlbiIsdHJ1ZSk7DQoJCWlmKCRhZG1pbikJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJCWlmKCEkb3JkZXIpCSRvcmRlciA9ICIiOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJpZCIsIm5hbWUiLCJhbGlhcyIsIml0ZW1fb3JkZXIiLCJhY3RpdmUiLCJpc2RlZmF1bHQiKTsNCgkJDQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkNCg0KCQlpZigkY3VzdG9td2hlcmUpew0KCQkJJHdoZXJlc3RyaW5nID0gJGN1c3RvbXdoZXJlOw0KCQkJJHdoZXJldmFsdWVzID0gJGN1c3RvbXZhbHVlczsNCgkJfWVsc2V7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKGluX2FycmF5KHN0cnRvbG93ZXIoJGtleSksICRmaWVsZHMpKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuJGtleS4iPT8iOw0KCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnkgQSAiLigkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBXSEVSRSAiLiR3aGVyZXN0cmluZyk7DQoJCSRxdWVyeSAuPSAoJGN1c3RvbW9yZGVyPyIgT1JERVIgQlkgIi4kY3VzdG9tb3JkZXI6IiBPUkRFUiBCWSBpdGVtX29yZGVyIik7DQoNCgkJaWYoJGxpbWl0ICYmICRsaW1pdCAhPSAiMCIgJiYgJGxpbWl0ICE9ICIiKQkkcXVlcnkgLj0gIiBMSU1JVCAiLiRsaW1pdDsNCg0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7DQoJCSRpZGxpc3QgPSAiIjsNCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJCQkkaXRlbS0+X193aGF0ID0gImNhdGVnb3J5IjsNCgkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KCQkJJGl0ZW0tPmRlc2NyaXB0aW9uID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5kZXNjcmlwdGlvbik7DQoJCQkkaXRlbS0+bmFtZSA9IHN0cmlwc2xhc2hlcygkaXRlbS0+bmFtZSk7DQoJCQkkaXRlbS0+YWxpYXMgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmFsaWFzKTsNCg0KCQkJaWYoJGFkbWluID09IHRydWUpew0KCQkJCS8vICRwYXJtcyB3aWxsIGJlIHRoZSBiYXNlIGZvciBwYXJhbWV0ZXJzIG9mIHRoZSBhZG1pbiBsaW5rcw0KCQkJCSRwYXJtcyA9IGFycmF5KA0KCQkJCQkicHJlZml4Ij0+ImNhdF8iLA0KCQkJCQkidGFibGVuYW1lIj0+IkhWQV9jYXRlZ29yeSIsDQoJCQkJCSJsZXZlbG5hbWUiPT4iY2F0ZWdvcnkiLA0KCQkJCQkiY2hpbGQiPT4iSFZBX2FsYnVtIiwNCgkJCQkJInBhcmVudGRlZmF1bHQiPT5mYWxzZSwNCgkJCQkJIm9yZGVyYnlwYXJlbnQiPT50cnVlLA0KCQkJCQkiYWRkZmlsZXMiPT4iIiwNCgkJCQkJInNoYXJlY2hpbGRyZW4iPT5mYWxzZSwNCgkJCQkJInNoYXJlZGJ5cGFyZW50cyI9PmZhbHNlLA0KCQkJCQkiZmlsZXMiPT4iIg0KCQkJCQkpOw0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGFkbWlubGlua3MoJGl0ZW0sJHBhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQkJJGlkbGlzdCAuPSAoJGlkbGlzdD09IiI/IiI6IiBPUiAiKS4iIHBhcmVudD0nIi4kaXRlbS0+aWQuIiciOw0KCQkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsJGl0ZW0pOw0KCQl9DQoNCgkJaWYoJGFkbWluIHx8ICRsb2FkX25iY2hpbGRyZW4pew0KCQkJJG5iY2hpbGRyZW5zID0gYXJyYXkoKTsNCgkJCSRxdWVyeSA9ICJTRUxFQ1QgcGFyZW50LCBjb3VudChpZCkgbmJjaGlsZHJlbiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFdIRVJFICgiLiRpZGxpc3QuIikgIi4oJGFkbWluPyIiOiJBTkQgYWN0aXZlPTEgIikuIkdST1VQIEJZIHBhcmVudCI7DQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQkkbmJjaGlsZHJlbnNbJHJvd1sicGFyZW50Il1dID0gJHJvd1sibmJjaGlsZHJlbiJdOw0KCQkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSRpdGVtLT5uYmNoaWxkcmVuID0gaXNzZXQoJG5iY2hpbGRyZW5zWyRpdGVtLT5pZF0pPyRuYmNoaWxkcmVuc1skaXRlbS0+aWRdOmZhbHNlOw0KCQkJCWFycmF5X3B1c2goJG5ld2xpc3QsICRpdGVtKTsNCgkJCX0NCgkJCSRpdGVtbGlzdCA9ICRuZXdsaXN0Ow0KCQl9DQoJCXJldHVybiAkaXRlbWxpc3Q7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xldmVsX2FsYnVtKCR3aGVyZT1hcnJheSgpLCRhZG1pbj1mYWxzZSwkaWQ9IiIsJHJldHVybmlkPSIiLCRvcmRlcj1mYWxzZSwkbGltaXQ9MCwkY3VzdG9td2hlcmU9ZmFsc2UsJGN1c3RvbXZhbHVlcz1hcnJheSgpLCRjdXN0b21vcmRlcj1mYWxzZSl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGxvYWRfbmJjaGlsZHJlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsb2FkX25iY2hpbGRyZW4iLHRydWUpOw0KCQlpZigkYWRtaW4pCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQlpZighJG9yZGVyKQkkb3JkZXIgPSAiIjsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwibGFuZyIsImRlZmF1bHRfd2lkdGgiLCJkZWZhdWx0X2hlaWdodCIsInBhcmVudCIsImlkIiwibmFtZSIsImFsaWFzIiwiaXRlbV9vcmRlciIsImFjdGl2ZSIsImlzZGVmYXVsdCIpOw0KCQkNCgkJJHdoZXJlc3RyaW5nID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCQ0KDQoJCWlmKCRjdXN0b213aGVyZSl7DQoJCQkkd2hlcmVzdHJpbmcgPSAkY3VzdG9td2hlcmU7DQoJCQkkd2hlcmV2YWx1ZXMgPSAkY3VzdG9tdmFsdWVzOw0KCQl9ZWxzZXsNCgkJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJGtleSA9PSAicGFyZW50Iil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJCLmFsaWFzPT8iOw0KCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCQl9ZWxzZWlmKCRrZXkgPT0gInBhcmVudF9pZCIpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQi5pZD0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfWVsc2VpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRrZXkpLCAkZmllbGRzKSl7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJBLiIuJGtleS4iPT8iOw0KCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCSRxdWVyeSA9ICJTRUxFQ1QgQS4qLCBCLmlkIHBhcmVudF9pZCwgQi5uYW1lIHBhcmVudF9uYW1lLCBCLmFsaWFzIHBhcmVudF9hbGlhcyBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIEEsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2NhdGVnb3J5IEIgV0hFUkUgQS5wYXJlbnQgPSBCLmlkICIuKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4kd2hlcmVzdHJpbmc7DQoJCWlmKCRjdXN0b21vcmRlcil7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS4iLiRjdXN0b21vcmRlcjsNCgkJfWVsc2VpZigkb3JkZXIgPT0gIm1vZGlmaWVkIil7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS5kYXRlX21vZGlmaWVkIERFU0MiOw0KCQl9ZWxzZWlmKCRvcmRlciA9PSAiY3JlYXRlZCIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuaWQgREVTQyI7DQoJCX1lbHNlaWYoICRvcmRlciAhPSAiIiAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoImFsbG93X2NvbXBsZXhfb3JkZXIiLGZhbHNlKSB8fCBpbl9hcnJheShzdHJ0b2xvd2VyKCRvcmRlciksICRmaWVsZHMpKSApew0KCQkJJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS4iLiRvcmRlcjsNCgkJfWVsc2V7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQi5pdGVtX29yZGVyLCBBLml0ZW1fb3JkZXIiOw0KCQl9DQoJCWlmKCRsaW1pdCAmJiAkbGltaXQgIT0gIjAiICYmICRsaW1pdCAhPSAiIikJJHF1ZXJ5IC49ICIgTElNSVQgIi4kbGltaXQ7DQoNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQkkaWRsaXN0ID0gIiI7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJJGl0ZW0tPl9fd2hhdCA9ICJhbGJ1bSI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRpdGVtLT5kZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pOw0KCQkJJGl0ZW0tPmxhbmcgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmxhbmcpOw0KCQkJJGl0ZW0tPm5hbWUgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPm5hbWUpOw0KCQkJJGl0ZW0tPmFsaWFzID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5hbGlhcyk7DQoNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJhbGJfIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJIVkFfYWxidW0iLA0KCQkJCQkibGV2ZWxuYW1lIj0+ImFsYnVtIiwNCgkJCQkJImNoaWxkIj0+IkhWQV92aWRlbyIsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZSwNCgkJCQkJImZpbGVzIj0+IiINCgkJCQkJKTsNCgkJCQkkaXRlbSA9ICR0aGlzLT5hZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJtcywkaWQsJHJldHVybmlkKTsNCgkJCX0NCgkJCSRpZGxpc3QgLj0gKCRpZGxpc3Q9PSIiPyIiOiIgT1IgIikuIiBwYXJlbnQ9JyIuJGl0ZW0tPmlkLiInIjsNCgkJCWFycmF5X3B1c2goJGl0ZW1saXN0LCRpdGVtKTsNCgkJfQ0KDQoJCWlmKCRhZG1pbiB8fCAkbG9hZF9uYmNoaWxkcmVuKXsNCgkJCSRuYmNoaWxkcmVucyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAiU0VMRUNUIHBhcmVudCwgY291bnQoaWQpIG5iY2hpbGRyZW4gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyBXSEVSRSAoIi4kaWRsaXN0LiIpICIuKCRhZG1pbj8iIjoiQU5EIGFjdGl2ZT0xICIpLiJHUk9VUCBCWSBwYXJlbnQiOw0KCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkJJG5iY2hpbGRyZW5zWyRyb3dbInBhcmVudCJdXSA9ICRyb3dbIm5iY2hpbGRyZW4iXTsNCgkJCSRuZXdsaXN0ID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkaXRlbS0+bmJjaGlsZHJlbiA9IGlzc2V0KCRuYmNoaWxkcmVuc1skaXRlbS0+aWRdKT8kbmJjaGlsZHJlbnNbJGl0ZW0tPmlkXTpmYWxzZTsNCgkJCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJCQl9DQoJCQkkaXRlbWxpc3QgPSAkbmV3bGlzdDsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW1saXN0Ow0KCX0NCg0KCWZ1bmN0aW9uIGdldF9sZXZlbF92aWRlbygkd2hlcmU9YXJyYXkoKSwkYWRtaW49ZmFsc2UsJGlkPSIiLCRyZXR1cm5pZD0iIiwkb3JkZXI9ZmFsc2UsJGxpbWl0PTAsJGN1c3RvbXdoZXJlPWZhbHNlLCRjdXN0b212YWx1ZXM9YXJyYXkoKSwkY3VzdG9tb3JkZXI9ZmFsc2Upew0KCQlnbG9iYWwgJGdDbXM7DQoJCSRsb2FkX25iY2hpbGRyZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uYmNoaWxkcmVuIix0cnVlKTsNCgkJaWYoJGFkbWluKQkkYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCgkJaWYoISRvcmRlcikJJG9yZGVyID0gIiI7DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsInNpdGUiLCJ2aWRlb2lkIiwid2lkdGgiLCJoZWlnaHQiLCJwYXJlbnQiLCJpZCIsIm5hbWUiLCJhbGlhcyIsIml0ZW1fb3JkZXIiLCJhY3RpdmUiLCJpc2RlZmF1bHQiKTsNCgkJDQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkNCg0KCQlpZigkY3VzdG9td2hlcmUpew0KCQkJJHdoZXJlc3RyaW5nID0gJGN1c3RvbXdoZXJlOw0KCQkJJHdoZXJldmFsdWVzID0gJGN1c3RvbXZhbHVlczsNCgkJfWVsc2V7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgPT0gInBhcmVudCIpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQi5hbGlhcz0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfWVsc2VpZigka2V5ID09ICJwYXJlbnRfaWQiKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkIuaWQ9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX1lbHNlaWYoaW5fYXJyYXkoc3RydG9sb3dlcigka2V5KSwgJGZpZWxkcykpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIEEuKiwgQi5pZCBwYXJlbnRfaWQsIEIubmFtZSBwYXJlbnRfbmFtZSwgQi5hbGlhcyBwYXJlbnRfYWxpYXMgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyBBLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSBCIFdIRVJFIEEucGFyZW50ID0gQi5pZCAiLigkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuJHdoZXJlc3RyaW5nOw0KCQlpZigkY3VzdG9tb3JkZXIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kY3VzdG9tb3JkZXI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJtb2RpZmllZCIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuZGF0ZV9tb2RpZmllZCBERVNDIjsNCgkJfWVsc2VpZigkb3JkZXIgPT0gImNyZWF0ZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmlkIERFU0MiOw0KCQl9ZWxzZWlmKCAkb3JkZXIgIT0gIiIgJiYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhbGxvd19jb21wbGV4X29yZGVyIixmYWxzZSkgfHwgaW5fYXJyYXkoc3RydG9sb3dlcigkb3JkZXIpLCAkZmllbGRzKSkgKXsNCgkJCSRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kb3JkZXI7DQoJCX1lbHNlew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEIuaXRlbV9vcmRlciwgQS5pdGVtX29yZGVyIjsNCgkJfQ0KCQlpZigkbGltaXQgJiYgJGxpbWl0ICE9ICIwIiAmJiAkbGltaXQgIT0gIiIpCSRxdWVyeSAuPSAiIExJTUlUICIuJGxpbWl0Ow0KDQoJCQkkb3B0aW9uc19zaXRlID0gYXJyYXlfZmxpcCgkdGhpcy0+Z2V0X2ZpZWxkb3B0aW9ucygidmlkZW9fc2l0ZSIpKTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQkkaWRsaXN0ID0gIiI7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJJGl0ZW0tPl9fd2hhdCA9ICJ2aWRlbyI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRpdGVtLT5kZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pOw0KCQkJJGl0ZW0tPnNpdGUgPSAoaXNzZXQoJG9wdGlvbnNfc2l0ZVskaXRlbS0+c2l0ZV0pKT8kaXRlbS0+c2l0ZTpmYWxzZTsNCgkJCSRpdGVtLT5zaXRlX25hbWV2YWx1ZSA9IChpc3NldCgkb3B0aW9uc19zaXRlWyRpdGVtLT5zaXRlXSkpPyRvcHRpb25zX3NpdGVbJGl0ZW0tPnNpdGVdOiIiOw0KCQkJJGl0ZW0tPnZpZGVvaWQgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPnZpZGVvaWQpOw0KCQkJJGl0ZW0tPm5hbWUgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPm5hbWUpOw0KCQkJJGl0ZW0tPmFsaWFzID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5hbGlhcyk7DQoJCSRpdGVtLT5uYmNoaWxkcmVuID0gZmFsc2U7DQoJCQ0KCQkJaWYoJGFkbWluID09IHRydWUpew0KCQkJCS8vICRwYXJtcyB3aWxsIGJlIHRoZSBiYXNlIGZvciBwYXJhbWV0ZXJzIG9mIHRoZSBhZG1pbiBsaW5rcw0KCQkJCSRwYXJtcyA9IGFycmF5KA0KCQkJCQkicHJlZml4Ij0+InZpZF8iLA0KCQkJCQkidGFibGVuYW1lIj0+IkhWQV92aWRlbyIsDQoJCQkJCSJsZXZlbG5hbWUiPT4idmlkZW8iLA0KCQkJCQkiY2hpbGQiPT5mYWxzZSwNCgkJCQkJInBhcmVudGRlZmF1bHQiPT5mYWxzZSwNCgkJCQkJIm9yZGVyYnlwYXJlbnQiPT50cnVlLA0KCQkJCQkiYWRkZmlsZXMiPT4iIiwNCgkJCQkJInNoYXJlY2hpbGRyZW4iPT5mYWxzZSwNCgkJCQkJInNoYXJlZGJ5cGFyZW50cyI9PmZhbHNlLA0KCQkJCQkiZmlsZXMiPT4iIg0KCQkJCQkpOw0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGFkbWlubGlua3MoJGl0ZW0sJHBhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQkJJGlkbGlzdCAuPSAoJGlkbGlzdD09IiI/IiI6IiBPUiAiKS4iIHBhcmVudD0nIi4kaXRlbS0+aWQuIiciOw0KCQkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsJGl0ZW0pOw0KCQl9DQoNCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoJZnVuY3Rpb24gcGxSZXNpemUoJGZ1bGxwYXRoLCAkbmV3cGF0aCwgJG5ld3dpZHRoLCAkbmV3aGVpZ2h0PWZhbHNlLCAkdHJhbnNwYXJlbmN5PWZhbHNlLCAkY3JvcD1mYWxzZSkgew0KCQlyZXF1aXJlICJmdW5jdGlvbi5wbHJlc2l6ZS5waHAiOw0KCQlyZXR1cm4gJHJldHVybjsNCgl9DQoJDQoJZnVuY3Rpb24gcGxHZXRGaWxlSW5mbygkZmlsZXBhdGgpew0KCQlpZighZmlsZV9leGlzdHMoJGZpbGVwYXRoKSkJcmV0dXJuIGZhbHNlOw0KCQlyZXF1aXJlICJmdW5jdGlvbi5wbEdldEZpbGVJbmZvLnBocCI7DQoJCXJldHVybiAkaW5mbzsNCgl9DQoJDQoJZnVuY3Rpb24gdXBsb2FkX2NoZWNrZmlsZW5hbWUoJGZpbGVuYW1lLCAkZGlyKXsNCgkJLy8gaWYgYSBmaWxlIG9mIHRoYXQgbmFtZSBleGlzdHMsIGFwcGVuZHMgbnVtYmVyIHRvIHRoZSBmaWxlbmFtZQ0KCQkkdG1wZmlsZW5hbWUgPSBzdHJfcmVwbGFjZSgiICIsIl8iLCRmaWxlbmFtZSk7DQoJCSRleHRlbnNpb24gPSBzdHJyY2hyKCR0bXBmaWxlbmFtZSwgIi4iKTsNCgkJJGNsZWFuZmlsZW5hbWUgPSBzdHJfcmVwbGFjZSgkZXh0ZW5zaW9uLCAiIiwgJHRtcGZpbGVuYW1lKTsNCg0KCQkkZGVzdGRpciA9ICRkaXIuJHRtcGZpbGVuYW1lOw0KCQkkaSA9IDE7DQoJCXdoaWxlKGZpbGVfZXhpc3RzKCRkZXN0ZGlyKSl7DQoJCQkkdG1wZmlsZW5hbWUgPSAkY2xlYW5maWxlbmFtZS4iXyIuJGkuJGV4dGVuc2lvbjsNCgkJCSRkZXN0ZGlyID0gJGRpci4kdG1wZmlsZW5hbWU7DQoJCQkkaSsrOw0KCQl9DQoJCXJldHVybiAkdG1wZmlsZW5hbWU7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHBsVXBsb2FkRmlsZSgkZmlsZSwgJGRlc3RpbmF0aW9uPSIiLCAkcmVzaXplPWZhbHNlLCAkY3JvcD1mYWxzZSl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGRpciA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdLnN0cl9yZXBsYWNlKCIvLyIsIi8iLCIvIi4kZGVzdGluYXRpb24uIi8iKTsNCgkJDQoJCSRmaWxlbmFtZSA9ICR0aGlzLT51cGxvYWRfY2hlY2tmaWxlbmFtZSgkZmlsZVsibmFtZSJdLCRkaXIpOw0KCQkNCgkJaWYgKGNtc19tb3ZlX3VwbG9hZGVkX2ZpbGUoJGZpbGVbInRtcF9uYW1lIl0sICRkaXIuJGZpbGVuYW1lKSkgew0KCQkJaWYoJHJlc2l6ZSAmJiAhaXNfYXJyYXkoJHJlc2l6ZSkpCSRyZXNpemUgPSBleHBsb2RlKCJ4IiwkcmVzaXplKTsNCgkJCWlmKCRyZXNpemUgJiYgY291bnQoJHJlc2l6ZSkgPT0gMikgJHRoaXMtPnBsUmVzaXplKCRkaXIuJGZpbGVuYW1lLCAnJywgJHJlc2l6ZVswXSwgJHJlc2l6ZVsxXSx0cnVlLCRjcm9wKTsNCgkJCXJldHVybiBzdHJfcmVwbGFjZSgiLy8iLCIvIiwiLyIuJGRlc3RpbmF0aW9uLiIvIi4kZmlsZW5hbWUpOw0KCQl9ZWxzZXsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiBwbEFzc2lnbkZpbGUoJGZpbGVwYXRoLCAkdGFibGUsICRpdGVtaWQsICRmaWVsZCwgJHRodW1ic2l6ZT1mYWxzZSwgJGNyb3B0aHVtYj1mYWxzZSl7DQoJCSR0YWJsZW5hbWUgPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV8nLiR0YWJsZTsNCgkJJGZpbGVwYXRoID0gc3RyX3JlcGxhY2UoIi8vIiwiLyIsJGZpbGVwYXRoKTsNCg0KCQlpZigkdGh1bWJzaXplICYmICFpc19hcnJheSgkdGh1bWJzaXplKSkJJHRodW1ic2l6ZSA9IGV4cGxvZGUoIngiLCR0aHVtYnNpemUpOw0KCQlpZiggJGZpbGVwYXRoICE9ICIiICYmICR0aHVtYnNpemUgJiYgY291bnQoJHRodW1ic2l6ZSkgPT0yICkgew0KCQkJZ2xvYmFsICRnQ21zOw0KCQkJJGJhc2VwYXRoID0gJGdDbXMtPmNvbmZpZ1sidXBsb2Fkc19wYXRoIl07DQoJCQkkZXhwbG9kZWQgPSBleHBsb2RlKCIvIiwkZmlsZXBhdGgpOw0KCQkJJGV4cGxvZGVkW2NvdW50KCRleHBsb2RlZCktMV0gPSAicGx0aHVtYl8iLiRleHBsb2RlZFtjb3VudCgkZXhwbG9kZWQpLTFdOw0KCQkJJHRodW1icGF0aCA9IGltcGxvZGUoIi8iLCRleHBsb2RlZCk7DQoJCQkkdGhpcy0+cGxSZXNpemUoJGJhc2VwYXRoLiIvIi4kZmlsZXBhdGgsICRiYXNlcGF0aC4iLyIuJHRodW1icGF0aCwgJHRodW1ic2l6ZVswXSwgJHRodW1ic2l6ZVsxXSwgdHJ1ZSwgJGNyb3B0aHVtYik7DQoJCX0NCg0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCg0KCQlpZiggJHRhYmxlID09ICJIVkFfbXVsdGlwbGVmaWxlc2ZpZWxkcyIgKSB7DQoJCQkkbmV3aWQgPSAkZGItPkdlbklEKCR0YWJsZW5hbWUuIl9zZXEiKTsNCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFNFVCBmaWxlaWQ9PywgaXRlbWlkPT8sIGZpZWxkbmFtZT0/LCBmaWxlcGF0aD0/IjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSgkbmV3aWQsICRpdGVtaWQsICRmaWVsZCwgJGZpbGVwYXRoKSApOw0KCQl9ZWxzZXsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgJGZpZWxkPT8gV0hFUkUgaWQ9PyBMSU1JVCAxIjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGZpbGVwYXRoLCRpdGVtaWQpKTsNCgkJfQ0KCQkNCgkJcmV0dXJuICRkYnJlc3VsdDsNCgl9DQoJZnVuY3Rpb24gZ2V0RmlsZUNvbnRlbnQoJGZpbGVuYW1lKXsNCgkJLy8gcmV0dXJucyB0aGUgY29udGVudCBvZiBhIGZpbGUNCgkJJGZpbGVwYXRoID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWU7DQoJCWlmKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpew0KCQkJJGZoYW5kbGUgPSBmb3BlbigkZmlsZXBhdGgsICJyKyIpOw0KCQkJJGNvbnRlbnQgPSBmcmVhZCgkZmhhbmRsZSwgZmlsZXNpemUoJGZpbGVwYXRoKSk7DQoJCQlyZXR1cm4gJGNvbnRlbnQ7DQoJCX1lbHNlew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KDQp9DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/instantsearch.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gY3RsbW1fc2VhcmNoKHdoYXQsaW53aGF0KXsNCgl2YXIgZGVzdGluYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbndoYXQpOw0KCWlmKCFkZXN0aW5hdGlvbikgcmV0dXJuOw0KCXZhciBldmVuID0gZmFsc2U7DQoJdmFyIHRoZXJvd3MgPSBkZXN0aW5hdGlvbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IoaT0wO2k8dGhlcm93cy5sZW5ndGg7aSsrKXsNCgkJdmFyIHRoZWNsYXNzID0gKGV2ZW4/InJvdzIiOiJyb3cxIik7DQoJCXZhciBuZXdzdHlsZSA9ICJub25lIjsNCgkJdmFyIHRoZWNvbHVtbnMgPSB0aGVyb3dzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOw0KCQlmb3Ioaj0wO2o8dGhlY29sdW1ucy5sZW5ndGg7aisrKXsNCgkJCWlmKHRoZWNvbHVtbnNbal0uY2xhc3NOYW1lICE9ICJjdGxtbV9ub3NlYXJjaCIpew0KCQkJCXZhciB0bXBhID0gdGhlY29sdW1uc1tqXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdOw0KCQkJCWlmKHRtcGEgJiYgdG1wYS5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHdoYXQudG9Mb3dlckNhc2UoKSkgPj0gMCkJbmV3c3R5bGUgPSAidGFibGUtcm93IjsNCgkJCQlpZighdG1wYSAmJiB0aGVjb2x1bW5zW2pdLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yod2hhdC50b0xvd2VyQ2FzZSgpKSA+PSAwKQkJbmV3c3R5bGUgPSAidGFibGUtcm93IjsNCgkJCX0NCgkJfQ0KCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSBuZXdzdHlsZTsNCgkJaWYobmV3c3R5bGUgIT0gIm5vbmUiKXsNCgkJCXRoZXJvd3NbaV0uY2xhc3NOYW1lID0gdGhlY2xhc3M7DQoJCQl0aGVyb3dzW2ldLm9ubW91c2VvdmVyID0gZnVuY3Rpb24oKXsgdGhpcy5jbGFzc05hbWUgKz0gImhvdmVyIjsgfTsNCgkJCXRoZXJvd3NbaV0ub25tb3VzZW91dCA9IGZ1bmN0aW9uKCl7IHRoaXMuY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUuc3Vic3RyKDAsNCk7IH07DQoJCQlldmVuID0gIWV2ZW47DQoJCX0NCgl9DQp9DQo=]]></data>
	</file>
	<file>
	  <filename>/instantsort.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gY3RsbW1fc29ydFJvd3ModGFibGVpZCxjb2xpbmRleCxkZXNjLG51bWVyaWMpew0KCS8vIHRhYmxlaWQgaXMgdGhlIGlkIG9mIHRoZSB0YWJsZSB0byBzb3J0DQoJLy8gY29saW5kZXggaXMgYWdhaW5zdCB3aGljaCBjb2x1bW4gdG8gc29ydCAoMC0+IGZpcnN0LCAxLT4gc2Vjb25kLi4uKQ0KCS8vIGRlc2MgbWFrZXMgdGhlIHNvcnQgZGVzY2VuZGluZw0KCS8vIG51bWVyaWMgbWFrZXMgdGhlIHNvcnQgbnVtZXJpYw0KCWlmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJsZWlkKSkJcmV0dXJuIGZhbHNlOw0KCXZhciB0aGVyb3dzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFibGVpZCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIik7DQoJaWYoIXRoZXJvd3NbMF0gfHwgIXRoZXJvd3NbMF0uY2VsbHNbY29saW5kZXhdKQlyZXR1cm4gZmFsc2U7DQoJDQoJdmFyIHNvcnRlZCA9IG5ldyBBcnJheSgpOw0KCWZvcihpPTA7IGk8dGhlcm93cy5sZW5ndGg7IGkrKyl7DQoJCXZhciB0aGVhcyA9IHRoZXJvd3NbaV0uY2VsbHNbY29saW5kZXhdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7DQoJCWlmKHRoZWFzWzBdKXsNCgkJCXZhciBzb3J0ZGF0YSA9IHRoZWFzWzBdLmlubmVySFRNTDsNCgkJfWVsc2V7DQoJCQl2YXIgc29ydGRhdGEgPSB0aGVyb3dzW2ldLmNlbGxzW2NvbGluZGV4XS5pbm5lckhUTUw7DQoJCX0NCgkJc29ydGVkLnB1c2goW3NvcnRkYXRhLCB0aGVyb3dzW2ldXSk7DQoJCXRoZXJvd3NbaV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGVyb3dzW2ldKTsNCgkJaS0tOw0KCX0NCglpZihudW1lcmljKXsNCgkJaWYoZGVzYyl7DQoJCQlzb3J0ZWQuc29ydChmdW5jdGlvbihhLGIpeyByZXR1cm4gYlswXS1hWzBdOyB9KTsNCgkJfWVsc2V7DQoJCQlzb3J0ZWQuc29ydChmdW5jdGlvbihhLGIpeyByZXR1cm4gYVswXS1iWzBdOyB9KTsNCgkJfQ0KCX1lbHNlew0KCQlpZihkZXNjKXsNCgkJCXNvcnRlZC5zb3J0KGZ1bmN0aW9uKGEsYil7IHJldHVybiBhWzBdLnRvTG93ZXJDYXNlKCkgPCBiWzBdLnRvTG93ZXJDYXNlKCk7IH0pOw0KCQl9ZWxzZXsNCgkJCXNvcnRlZC5zb3J0KGZ1bmN0aW9uKGEsYil7IHJldHVybiBhWzBdLnRvTG93ZXJDYXNlKCkgPiBiWzBdLnRvTG93ZXJDYXNlKCk7IH0pOw0KCQl9DQoJfQ0KDQoJdmFyIHRhYmxlYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYmxlaWQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdOw0KCXZhciBldmVuID0gdHJ1ZTsNCglmb3IoaT0wOyBpPHNvcnRlZC5sZW5ndGg7IGkrKyl7DQoJCWV2ZW4gPSAhZXZlbjsNCgkJdmFyIHRoZWNsYXNzID0gKGV2ZW4/InJvdzIiOiJyb3cxIik7DQoJCXNvcnRlZFtpXVsxXS5jbGFzc05hbWUgPSB0aGVjbGFzczsNCgkJc29ydGVkW2ldWzFdLm9ubW91c2VvdmVyID0gZnVuY3Rpb24oKXsgdGhpcy5jbGFzc05hbWUgKz0gImhvdmVyIjsgfTsNCgkJc29ydGVkW2ldWzFdLm9ubW91c2VvdXQgPSBmdW5jdGlvbigpeyB0aGlzLmNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lLnN1YnN0cigwLDQpOyB9Ow0KCQl0YWJsZWJvZHkuYXBwZW5kQ2hpbGQoc29ydGVkW2ldWzFdKTsNCgl9DQp9DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiSG9zdGVkIFZpZGVvIEFsYnVtcyI7DQoJJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiVGhpcyBtb2R1bGUgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSBhbGJ1bXMgb2YgdmlkZW9zIGhvc3RlZCBvbiBZb3V0dWJlLCBHb29nbGUgVmlkZW9zIG9yIERhaWx5bW90aW9uIjsNCgkkbGFuZ1siZGVzY3JpcHRpb24iXSA9ICJUaGlzIG1vZHVsZSBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGFsYnVtcyBvZiB2aWRlb3MgaG9zdGVkIG9uIFlvdXR1YmUsIEdvb2dsZSBWaWRlb3Mgb3IgRGFpbHltb3Rpb24iOw0KCSRsYW5nWyJhZG1pbmRlc2NyaXB0aW9uIl0gPSAiTWFuYWdlbWVudCBvZiBsb2NhbCBvciBob3N0ZWQgdmlkZW9zIGFsYnVtcyI7DQoJJGxhbmdbJ2NoYW5nZWxvZyddID0gPDw8RU9GDQoJPHVsPg0KCTxsaT4xLjEgLS0gQWRkZWQgaGFuZGxpbmcgb2YgbG9jYWwgdmlkZW9zIGFuZCBlbmhhbmNlZCBkb2N1bWVudGF0aW9uLjwvbGk+DQoJPGxpPjEuMCAtLSBJbml0aWFsIFJlbGVhc2U8L2xpPg0KCTwvdWw+IA0KRU9GOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdGVnb3J5IjsNCgkkbGFuZ1siY2F0ZWdvcnlfcGx1cmFsIl0gPSAiQ2F0ZWdvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFkZCBjYXRlZ29yeSI7DQoJJGxhbmdbImVkaXRfY2F0ZWdvcnkiXSA9ICJFZGl0IGNhdGVnb3J5IjsNCgkkbGFuZ1siZmlsdGVyYnlfY2F0ZWdvcnkiXSA9ICJGaWx0ZXIgYnkgY2F0ZWdvcnkiOw0KCSRsYW5nWyJjYXRlZ29yeV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWNhdGVnb3J5Il0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBjYXRlZ29yeSAoJXMpPyBBbGwgY2hpbGRyZW4gd2lsbCBiZSBsb3N0LiBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCQ0KLy8gc3RyaW5ncyBmb3IgYWxidW0NCgkkbGFuZ1siYWxidW0iXSA9ICJWaWRlbyBBbGJ1bSI7DQoJJGxhbmdbImFsYnVtX3BsdXJhbCJdID0gIlZpZGVvIEFsYnVtcyI7DQoJJGxhbmdbImFkZF9hbGJ1bSJdID0gIkFkZCBWaWRlbyBBbGJ1bSI7DQoJJGxhbmdbImVkaXRfYWxidW0iXSA9ICJFZGl0IFZpZGVvIEFsYnVtIjsNCgkkbGFuZ1siZmlsdGVyYnlfYWxidW0iXSA9ICJGaWx0ZXIgYnkgVmlkZW8gQWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1siYWxidW1fbGFuZyJdID0gIkxhbmd1ZSBkZSBsJ2FsYnVtIjsNCgkkbGFuZ1siYWxidW1fZGVmYXVsdF93aWR0aCJdID0gIkRlZmF1bHQgd2lkdGggb2YgdmlkZW9zIGluIHRoaXMgYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X2hlaWdodCJdID0gIkRlZmF1bHQgaGVpZ2h0IG9mIHZpZGVvcyBpbiB0aGlzIGFsYnVtIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWFsYnVtIl0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBhbGJ1bSAoJXMpPyBBbGwgY2hpbGRyZW4gd2lsbCBiZSBsb3N0LiBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCQ0KLy8gc3RyaW5ncyBmb3IgdmlkZW8NCgkkbGFuZ1sidmlkZW8iXSA9ICJWaWRlbyI7DQoJJGxhbmdbInZpZGVvX3BsdXJhbCJdID0gIlZpZGVvcyI7DQoJJGxhbmdbImFkZF92aWRlbyJdID0gIkFkZCBWaWRlbyI7DQoJJGxhbmdbImVkaXRfdmlkZW8iXSA9ICJFZGl0IFZpZGVvIjsNCgkkbGFuZ1siZmlsdGVyYnlfdmlkZW8iXSA9ICJGaWx0ZXIgYnkgdmlkZW8iOw0KCSRsYW5nWyJ2aWRlb19kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sidmlkZW9fc2l0ZSJdID0gIlZpZGVvIFNpdGUiOw0KCSRsYW5nWyJ2aWRlb192aWRlb2lkIl0gPSAiSWQgb2YgdGhlIHZpZGVvIjsNCgkkbGFuZ1sidmlkZW9fd2lkdGgiXSA9ICJXaWR0aCBvZiB0aGUgdmlkZW8iOw0KCSRsYW5nWyJ2aWRlb19oZWlnaHQiXSA9ICJIZWlnaHQgb2YgdGhlIHZpZGVvIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZXZpZGVvIl0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyB2aWRlbyAoJXMpPyBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCSRsYW5nWyJ0ZW1wbGF0ZWhlbHBmaWxlIl0gPSAndGhlbHBfZW5fVVMuaHRtbCc7DQoNCi8vIEZvciBmaWxlIGZpZWxkcw0KJGxhbmdbIlJlbW92ZSJdID0gIlJlbW92ZSI7DQokbGFuZ1siZGVsZXRlIl0gPSAiRGVsZXRlIjsNCiRsYW5nWyJicm93c2VmaWxlc3RpdGxlIl0gPSAiVXBsb2FkIGEgbmV3IGZpbGUgb3Igc2VsZWN0IGEgZmlsZSBiZWxvdy4iOw0KJGxhbmdbInNob3dpbmdkaXIiXSA9ICJTaG93aW5nIGRpcmVjdG9yeSI7DQokbGFuZ1siYnJvd3NlZmlsZXNyZXNpemUiXSA9ICJUaGUgcGljdHVyZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVzaXplZCBmb3IgdGhlIG1vZHVsZS4iOw0KJGxhbmdbImJyb3dzZWZpbGVjdXJyZW50cGF0aCJdID0gIkN1cnJlbnRseSBzZWVpbmcgZmlsZXMgaW4gOiAiOw0KJGxhbmdbInBhcmVudGRpciJdID0gIlBhcmVudCBEaXJlY3RvcnkiOw0KJGxhbmdbImFkZGFmaWxlIl0gPSAiQWRkIGZpbGUocykiOw0KJGxhbmdbInN1Ym1pdHRpbmdfZmlsZSJdID0gIlBsZWFzZSB3YWl0IHdoaWxlIHRoZSBmaWxlIGlzIGJlaW5nIHVwbG9hZGVkLi4uIjsNCiRsYW5nWyJmaWxlbmFtZSJdID0gIkZpbGVuYW1lIjsNCiRsYW5nWyJpbWFnZXNpemUiXSA9ICJJbWFnZSBzaXplIjsNCiRsYW5nWyJmaWxlZXh0Il0gPSAiRXh0IjsNCiRsYW5nWyJmaWxlc2l6ZSJdID0gIkZpbGUgc2l6ZSI7DQokbGFuZ1sibGFzdG1vZCJdID0gIkxhc3QgbW9kaWZpZWQiOw0KJGxhbmdbImZpbGVvd25lciJdID0gIk93bmVyIjsNCiRsYW5nWyJmaWxlcGVybXMiXSA9ICJQZXJtaXNzaW9ucyI7DQokbGFuZ1sidmlld2FsbGltYWdlcyJdID0gIlZpZXcgYWxsIGltYWdlcyI7DQokbGFuZ1sicG9zdG1heHNpemUiXSA9ICJOb3RpY2U6IHRoZSBwb3N0IG1heCBzaXplIGlzICI7DQokbGFuZ1siYWRkZmlsZWlucHV0Il0gPSAiQWRkIGFub3RoZXIgZmlsZSI7DQokbGFuZ1siemlwZmlsZW5vdGljZSJdID0gIlRoZSBmaWxlcyBzaG91bGQgYmUgaW4gdGhlIHJvb3Qgb2YgdGhlIGFyY2hpdmUuIjsNCiRsYW5nWyJ1cGxvYWR6aXBmaWxlIl0gPSAiVXBsb2FkIHppcCBhcmNoaXZlIjsNCg0KLy8gc3RyaW5ncyBmb3IgZ2VuZXJhbCBmaWVsZHMNCiRsYW5nWyJpZCJdID0gImlkIjsNCiRsYW5nWyJuYW1lIl0gPSAiTmFtZSI7DQokbGFuZ1siYWxpYXMiXSA9ICJBbGlhcyI7DQokbGFuZ1siaXNkZWZhdWx0Il0gPSAiSXMgZGVmYXVsdD8iOw0KJGxhbmdbImFjdGl2ZSJdID0gIkFjdGl2ZSI7DQokbGFuZ1sicGFyZW50Il0gPSAiUGFyZW50IjsNCiRsYW5nWyJzdWJtaXQiXSA9ICJTdWJtaXQiOw0KJGxhbmdbImNhbmNlbCJdID0gIkNhbmNlbCI7DQokbGFuZ1sibmJjaGlsZHJlbiJdID0gIk5iIG9mIGl0ZW1zIjsNCiRsYW5nWyJkYXRlX21vZGlmaWVkIl0gPSAiTGFzdCBtb2RpZmljYXRpb24iOw0KJGxhbmdbImRhdGVfY3JlYXRlZCJdID0gIkNyZWF0aW9uIjsNCgkNCi8vIEdFTkVSQUwNCiRsYW5nWyJwYWdlcyJdID0gIlBhZ2VzOiAiOw0KJGxhbmdbIm5leHRwYWdlIl0gPSAiTmV4dCBwYWdlIjsNCiRsYW5nWyJwcmV2aW91c3BhZ2UiXSA9ICJQcmV2aW91cyBwYWdlIjsNCiRsYW5nWyJhY3RpdmF0ZSJdID0gIkFjdGl2YXRlIjsNCiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiVHVybiBvZmYiOw0KJGxhbmdbInNlYXJjaHRoaXN0YWJsZSJdID0gIlNlYXJjaCB0aGlzIHRhYmxlIGZvcjoiOw0KJGxhbmdbInJlc2V0b3JkZXIiXSA9ICJSZXNldCBvcmRlciI7DQokbGFuZ1siWWVzIl0gPSAiWWVzIjsNCiRsYW5nWyJObyJdID0gIk5vIjsNCiRsYW5nWyJBY3Rpb25zIl0gPSAiQWN0aW9ucyI7DQokbGFuZ1sicmVvcmRlciJdID0gIlJlb3JkZXIiOw0KJGxhbmdbImxpc3R0ZW1wbGF0ZSJdID0gIkxpc3QgdGVtcGxhdGUgZm9yIjsNCiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJUZW1wbGF0ZXMiOw0KJGxhbmdbInRlbXBsYXRlIl0gPSAiVGVtcGxhdGUiOw0KJGxhbmdbImRlZmF1bHR0ZW1wbGF0ZXMiXSA9ICJEZWZhdWx0IHRlbXBsYXRlcyI7DQokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVGVtcGxhdGUgdmFyaWFibGVzIjsNCiRsYW5nWyJlZGl0dGVtcGxhdGUiXSA9ICJFZGl0IHRlbXBsYXRlIjsNCiRsYW5nWyJkZWZ0ZW1wbGF0ZWZvciJdID0gIkRlZmF1bHQgbGlzdCB0ZW1wbGF0ZSBmb3IgbGV2ZWwgIjsNCiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIjsNCiRsYW5nWyJkZWZzZWFyY2hyZXN1bHRzdGVtcGxhdGUiXSA9ICJEZWZhdWx0IHRlbXBsYXRlIGZvciBzZWFyY2ggcmVzdWx0cyI7DQokbGFuZ1siZGVmZW1wdHl0ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIGZvciBlbXB0eSByZXN1bHQgc2V0cyI7DQokbGFuZ1sidXNlbGV2ZWxsaXN0dHBsIl0gPSAiVXNlIHRoZSBsaXN0IHRlbXBsYXRlIG9mIHRoZSBhcHByb3ByaWF0ZSBsZXZlbCI7DQokbGFuZ1siYWRkdGVtcGxhdGUiXSA9ICJBZGQgdGVtcGxhdGUiOw0KJGxhbmdbImZpbHRlcmJ5Il0gPSAiRmlsdGVyIGJ5IjsNCiRsYW5nWyJzaG93aW5nb25seSJdID0gIkZpbHRlcjogIjsNCiRsYW5nWyJzaG93YWxsIl0gPSAiU2hvdyBhbGwgKG5vIGZpbHRlcikiOw0KJGxhbmdbImZpZWxkb3B0aW9ucyJdID0gIlNpdGVzIjsNCiRsYW5nWyJhZGRvcHRpb24iXSA9ICJBZGQgYSBzaXRlIjsNCiRsYW5nWyJtb2RpZnlhbm9wdGlvbiJdID0gIk1vZGlmeSBhIHNpdGUiOw0KJGxhbmdbIm1lc3NhZ2VfZGVsZXRlZCJdID0gIkVsZW1lbnQgZGVsZXRlZCI7DQokbGFuZ1sibWVzc2FnZV9tb2RpZmllZCJdID0gIk1vZGlmaWNhdGlvbiBzYXZlZCI7DQokbGFuZ1sid2FybmluZ190YWIiXSA9ICJOb3RpY2U6IFNhdmUgY2hhbmdlcyBpbiBvdGhlciB0YWJzIGJlZm9yZSB3b3JraW5nIGluIHRoaXMgb25lLi4uIjsNCiRsYW5nWyJlcnJvcl9taXNzZ2ludmFsdWUiXSA9ICJPbmUgb3IgbW9yZSBuZWNlc3NhcnkgdmFsdWVzIGhhdmUgbm90IGJlZW4gZW50ZXJlZC4iOw0KJGxhbmdbImVycm9yX2FscmVhZHlleGlzdHMiXSA9ICJUaGVyZSBpcyBhbHJlYWR5IGFuIGVsZW1lbnQgYmVhcmluZyB0aGF0IG5hbWUuIjsNCiRsYW5nWyJlcnJvcl9kYXRlIl0gPSAiVGhlIGRhdGUgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiI7DQokbGFuZ1siZXJyb3Jfbm9wYXJlbnQiXSA9ICJObyBwYXJlbnQgaXMgZGVmaW5lZCEiOw0KJGxhbmdbImVycm9yX25vdGZvdW5kIl0gPSAiVGhlIGl0ZW0gY291bGQgbm90IGJlIGZvdW5kLiI7DQokbGFuZ1siZXJyb3Jfbm9pdGVtZm91bmQiXSA9ICJObyBpdGVtIGZvdW5kLiI7DQokbGFuZ1siZXJyb3JfZGVuaWVkIl0gPSAiUGVybWlzc2lvbiBkZW5pZWQiOw0KJGxhbmdbImVycm9yX3dyb25ncXVlcnkiXSA9ICJJbnZhbGlkIHF1ZXJ5LiI7DQokbGFuZ1siZXJyb3JfZmVhZGRkZW5pZWQiXSA9ICJZb3UgZG8gbm90IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gY29udGludWUuIjsNCiRsYW5nWyJlcnJvcl93cm9uZ2ZpbGV0eXBlIl0gPSAiVGhpcyB0eXBlIG9mIGZpbGUgaXMgbm90IGFsbG93ZWQgaGVyZS4iOw0KJGxhbmdbImVycm9yX2NhcHRjaGEiXSA9ICJUaGUgdGV4dCBnaXZlbiBkb2VzIG5vdCBtYXRjaCB0aGUgY2FwdGNoYSBpbWFnZS4iOw0KJGxhbmdbImVycm9yX2ZpbGV0b29iaWciXSA9ICJUaGUgZmlsZSBpcyB0byBiaWcgdG8gYmUgdXBsb2FkZWQgaGVyZS4iOw0KJGxhbmdbImdpdmVuZXJyb3IiXSA9ICJFcnJvcjogIjsNCiRsYW5nWyJmaW5hbHRlbXBsYXRlIl0gPSAiRGlzcGxheSB0ZW1wbGF0ZSB2aWRlb3MiOw0KJGxhbmdbImVtYmVkdGVtcGxhdGUiXSA9ICJUZW1wbGF0ZSBmb3Ige0hvc3RlZFZpZGVvQWxidW1zX2VtYmVkdmlkZW99IjsNCiRsYW5nWyJwcm9tcHRfZGVsZXRlb3B0aW9uIl0gPSAiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHNpdGU/IjsNCiRsYW5nWyJwcm9tcHRfZ2VuZXJhbGRlbGV0ZSJdID0gIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcz8iOw0KJGxhbmdbInByb21wdF9jYXB0Y2hhIl0gPSAiRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UuIjsNCiRsYW5nWyJxdWVyaWVzIl0gPSAiUXVlcmllcyI7DQokbGFuZ1sicXVlcnkiXSA9ICJRdWVyeSI7DQokbGFuZ1sicmVzdWx0cyJdID0gIlJlc3VsdHMiOw0KJGxhbmdbImNyZWF0ZXF1ZXJ5Il0gPSAiQ3JlYXRlIGEgbmV3IHF1ZXJ5IjsNCiRsYW5nWyJwcm9tcHRfcXVlcnkiXSA9ICJDcmVhdGUgYSBxdWVyeSBmb3Igd2hpY2ggbGV2ZWw/IjsNCiRsYW5nWyJvcmRlcmJ5ZmllbGQiXSA9ICJPcmRlciBieSI7DQokbGFuZ1siZGF0ZV9tb2RpZmllZCJdID0gIkRhdGUgbW9kaWZpZWQiOw0KJGxhbmdbImZyb250ZW5kX3N1Ym1pdCJdID0gIlN1Ym1pdCI7DQoNCg0KLy8gQlJFQURDUlVNQlMgOg0KJGxhbmdbInlvdWFyZWhlcmUiXSA9ICJZb3UgYXJlIGhlcmU6ICI7DQokbGFuZ1siYnJlYWRjcnVtYnNfZGVsaW1pdGVyIl0gPSAiICZndDsgIjsNCg0KLy8gU0VBUkNIIDoNCiRsYW5nWyJzZWFyY2h0aXRsZSJdID0gIlNlYXJjaCI7DQokbGFuZ1sic2VhcmNoYWdhaW4iXSA9ICJEbyBhbm90aGVyIHNlYXJjaCI7DQokbGFuZ1sic2VhcmNoYnRuIl0gPSAiU2VhcmNoISI7DQokbGFuZ1siY29udGFpbnMiXSA9ICJDb250YWlucyI7DQokbGFuZ1siaXNleGFjdGx5Il0gPSAiSXMgZXhhY3RseSI7DQokbGFuZ1siaXNub3QiXSA9ICJJcyBub3QiOw0KJGxhbmdbImlzaGlnaGVydGhhbiJdID0gIklzIGhpZ2hlciB0aGFuIjsNCiRsYW5nWyJpc2xvd2VydGhhbiJdID0gIklzIGxvd2VyIHRoYW4iOw0KJGxhbmdbImlzYWZ0ZXIiXSA9ICJJcyBhZnRlciI7DQokbGFuZ1siaXNiZWZvcmUiXSA9ICJJcyBiZWZvcmUiOw0KJGxhbmdbImlzYmV0d2VlbiJdID0gIklzIGJldHdlZW4iOw0KJGxhbmdbInRoaXNhbmR0aGlzIl0gPSAiYW5kIjsNCiRsYW5nWyJxdWVyeXVzZSJdID0gIk5vdCB1c2VkIjsNCiRsYW5nWyJxdWVyeW5hbWUiXSA9ICJRdWVyeSBuYW1lIjsNCg0KLy8gSU1QT1JUIC8gRVhQT1JUDQokbGFuZ1siZXhwb3J0X3RpdGxlIl0gPSAiRXhwb3J0IGl0ZW1zIHRvIHhtbCI7DQokbGFuZ1siZXhwb3J0d2hpY2hsZXZlbHMiXSA9ICJXaGljaCB0YWJsZXMgc2hvdWxkIGJlIGV4cG9ydGVkPyI7DQokbGFuZ1siZXhwb3J0X3RlbXBsYXRlcyJdID0gIkV4cG9ydCB0ZW1wbGF0ZXMgdG9vPyI7DQokbGFuZ1siaW1wb3J0X3RpdGxlIl0gPSAiSW1wb3J0IGZyb20geG1sIGZpbGUiOw0KJGxhbmdbImltcG9ydF9maWxlcHJvbXB0Il0gPSAiU2VsZWN0IHhtbCBmaWxlIGZyb20gd2hpY2ggdG8gaW1wb3J0LiI7DQokbGFuZ1siaW1wb3J0X2RvbmUiXSA9ICJJbXBvcnQgZG9uZS4gJXMgcmVjb3JkcyB3aGVyZSBpbXBvcnRlZC4iOw0KJGxhbmdbImltcG9ydF9lbnRyaWVzIl0gPSAiVGhlIGZpbGUgY29udGFpbnMgJXMgcmVjb3Jkcy4iOw0KJGxhbmdbImltcG9ydF9kZWxldGUiXSA9ICJEZWxldGUgdGFibGUgY29udGVudCBiZWZvcmUgaW1wb3J0aW5nPyI7DQokbGFuZ1siaW1wb3J0d2hpY2hsZXZlbHMiXSA9ICJXaGljaCB0YWJsZXMgc2hvdWxkIGJlIGltcG9ydGVkPyI7DQokbGFuZ1siaW1wb3J0X3RlbXBsYXRlcyJdID0gIkltcG9ydCB0ZW1wbGF0ZXMgdG9vPyI7DQokbGFuZ1siY291bGRub3RpbXBvcnQiXSA9ICJUaGVyZSB3YXMgYW4gZXJyb3IgaW1wb3J0aW5nIHJlY29yZHMgZm9yOiAiOw0KJGxhbmdbImVycm9yX2ludmFsaWR4bWwiXSA9ICJUaGUgZmlsZSB5b3UgcHJvdmlkZWQgaXMgbm90IGEgdmFsaWQgeG1sIGV4cG9ydCBmb3IgdGhpcyBtb2R1bGUuIjsNCg0KLy8gTU9EVUxFIElOVEVSQUNUSU9ODQokbGFuZ1sicG9zdGluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IGFkZGVkLjxici8+SWYgdGhpcyBtb2R1bGUgaGFzIGFueSBmaWxlIGZpZWxkcywgcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcmllcyBleGlzdCBpbiB0aGUgdXBsb2FkcyBmb2xkZXIuIERvbid0IGZvcmdldCB0byBnaXZlIHlvdXIgdXNlcnMgdGhlIHBlcm1pc3Npb24gdG8gdXNlIHRoaXMgbW9kdWxlISI7DQokbGFuZ1sicG9zdHVuaW5zdGFsbCJdID0gIk1vZHVsZSBzdWNjZXNzZnVsbHkgcmVtb3ZlZC4iOw0KJGxhbmdbInJlYWxseV91bmluc3RhbGwiXSA9ICJBbGwgb2YgdGhpcyBtb2R1bGUncyBjb250ZW50IHdpbGwgYmUgbG9zdC4gQ29udGludWU/IjsNCiRsYW5nWyJ1bmluc3RhbGxlZCJdID0gIk1vZHVsZSBVbmluc3RhbGxlZC4iOw0KJGxhbmdbImluc3RhbGxlZCJdID0gIk1vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4iOw0KJGxhbmdbInVwZ3JhZGVkIl0gPSAiTW9kdWxlIHZlcnNpb24gdXBncmFkZWQgdG8gJXMuIjsNCiRsYW5nWyJoZWxwZmlsZSJdID0gImhlbHBfZW5fVVMuaHRtbCI7DQoNCi8vRVZFTlRTDQokbGFuZ1siZXZlbnRkZXNjX21vZGlmaWVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gbW9kaWZpZWQuIFBhcmFtczogXCJ3aGF0XCI9PmxldmVsIG9mIHRoZSBlbGVtZW50LCBcIml0ZW1pZFwiPT5pZCBvZiB0aGUgZWxlbWVudCwgXCJhbGlhc1wiPT5hbGlhcyBvZiB0aGUgZWxlbWVudC4iOw0KJGxhbmdbImV2ZW50ZGVzY19kZWxldGVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGVsZXRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQuIjsNCiRsYW5nWyJldmVudGRlc2NfYWRkZWQiXSA9ICJDYWxsZWQgYWZ0ZXIgYW4gZWxlbWVudCBoYXMgYmVlbiBhZGRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQsIFwiaXRlbWlkXCI9PmlkIG9mIHRoZSBlbGVtZW50LCBcImFsaWFzXCI9PmFsaWFzIG9mIHRoZSBlbGVtZW50LiI7DQoNCi8vUFJFRkVSRU5DRVMNCiRsYW5nWyJwcmVmZXJlbmNlcyJdID0gIlNldHRpbmdzIjsNCiRsYW5nWyJwcmVmX3RhYmRpc3BsYXkiXSA9ICJBZG1pbiB0YWJzIHNob3duIHRvIHRoZSBub3JtYWwgdXNlciI7DQokbGFuZ1siaGVscF90YWJkaXNwbGF5Il0gPSAiKE5vcm1hbCB1c2VycyBhcmUgdGhvc2Ugd2hvIGhhdmUgYmVlbiBnaXZlbiB0aGUgXCJIb3N0ZWRWaWRlb0FsYnVtczogbm9ybWFsIHVzZXJcIiBwZXJtaXNzaW9uLiBUaGUgbGV2ZWwtc3BlY2lmaWMgbWFuYWdlIHBlcm1pc3Npb25zIG92ZXJyaWRlIHRoZSB2aXNpYmxlIHRhYnMgc2VsZWN0ZWQgaGVyZS4pIjsNCiRsYW5nWyJwcmVmX3NlYXJjaG1vZHVsZV9pbmRleCJdID0gIkluZGV4IHRoZSBmb2xsb3dpbmcgbGV2ZWxzIGZvciB0aGUgc2VhcmNoIG1vZHVsZSI7DQokbGFuZ1siaGVscF9zZWFyY2htb2R1bGVfaW5kZXgiXSA9ICIoVGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoaXMgbW9kdWxlIG93biBpbnRlcm5hbCBzZWFyY2ggYWN0aW9uLiBBbHNvIG5vdGUgdGhhdCBhZnRlciBjaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyB5b3UgbWlnaHQgaGF2ZSB0byByZWluZGV4IHRvIGdldCBvZiBwcmV2aW91c2x5IGluZGV4ZWQgZGF0YSwgd2hpY2ggeW91IG1heSBkbyBpbiBFeHRlbnNpb24tJmd0O1NlYXJjaC4pIjsNCiRsYW5nWyJwcmVmX25ld2l0ZW1zZmlyc3QiXSA9ICJOZXcgaXRlbXMgc2hvdWxkIGFwcGVhciBvbiB0b3AgZm9yIHRoZSBmb2xsb3dpbmcgbGV2ZWxzIjsNCiRsYW5nWyJoZWxwX25ld2l0ZW1zZmlyc3QiXSA9ICIoT2J2aW91c2x5LCBpZiB0aGUgbGV2ZWwgaXMgbm90IGNoZWNrZWQgaGVyZSwgbmV3IGl0ZW1zIHdpbGwgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3QpIjsNCiRsYW5nWyJwcmVmX3Jlc3RyaWN0X3Blcm1pc3Npb25zIl0gPSAiU2hvdWxkIHdlIDxiPnJlc3RyaWN0PC9iPiB0aGUgbWFuYWdlbWVudCBvZiBpdGVtcyB0byB0aGUgdXNlcnMgd2hvIGhhdmUgc3BlY2lmaWMgbWFuYWdlbWVudCBwZXJtaXNzaW9ucyBmb3IgdGhlIGxldmVsPyAoaWYgeW91IGRvIG5vdCB3aXNoIHRvIHNwZWNpZnkgZGlmZmVyZW50IHBlcm1pc3Npb25zIGZvciBkaWZmZXJlbnQgbGV2ZWxzLCB5b3UgY2FuIHVuY2hlY2sgdGhpcyBhbmQgc2ltcGx5IHVzZSB0aGUgXCJIb3N0ZWRWaWRlb0FsYnVtczogbm9ybWFsIHVzZXJcIiBwZXJtaXNzaW9uLikiOw0KJGxhbmdbInByZWZfZGlzcGxheV9maWx0ZXIiXSA9ICJEaXNwbGF5IDxiPmZpbHRlcjwvYj4gb24gdGhlIG1vZHVsZSBhZG1pbiBwYW5lbD8iOw0KJGxhbmdbInByZWZfZGlzcGxheV9pbnN0YW50c2VhcmNoIl0gPSAiRGlzcGxheSA8Yj5pbnN0YW50IHNlYXJjaDwvYj4gb24gdGhlIG1vZHVsZSBhZG1pbiBwYW5lbD8iOw0KJGxhbmdbInByZWZfZGlzcGxheV9pbnN0YW50c29ydCJdID0gIkRpc3BsYXkgPGI+aW5zdGFudCBzb3J0PC9iPiBieSBjb2x1bW4gbGlua3M/IjsNCiRsYW5nWyJwcmVmX2VkaXRhYmxlX2FsaWFzZXMiXSA9ICJTaG91bGQgdGhlIDxiPmFsaWFzPC9iPiBvZiBpdGVtcyBiZSBtYW51YWxseSBlZGl0YWJsZT8iOw0KJGxhbmdbInByZWZfZm9yY2VfbGlzdCJdID0gIlNob3VsZCB0aGUgPGI+Zm9yY2VsaXN0PC9iPiBwYXJhbWV0ZXIgYmUgZW5hYmxlZCBieSBkZWZhdWx0PyAobGlzdCB2aWV3IHdpbGwgYmUgc2hvd24gZXZlbiB3aGVuIHRoZXJlIGlzIG9ubHkgb25lIGl0ZW0pIjsNCiRsYW5nWyJwcmVmX2RlbGV0ZV9maWxlcyJdID0gIldoZW4gYW4gaXRlbSBpcyA8Yj5kZWxldGVkPC9iPiwgc2hvdWxkIHRoZSBhc3NvY2lhdGVkIGZpbGVzIGJlIGFsc28gZGVsZXRlZD8gKHByb3ZpZGVkIHRoZSBpdGVtIGhhcyBhbnkgZmlsZSBmaWVsZHMuLi4pIjsNCiRsYW5nWyJwcmVmX2FsbG93X3NxbCJdID0gIkFsbG93IG1hbnVhbCBTUUwgcXVlcmllcz8gKHdpdGggdGhlIFwicXVlcnlcIiBwYXJhbWV0ZXIpIjsNCiRsYW5nWyJwcmVmX3VzZV9oaWVyYXJjaHkiXSA9ICJEaXNwbGF5IGZ1bGwgaGllcmFyY2h5IGluIGZpbHRlciBhbmQgcGFyZW50IGRyb3Bkb3duPyAoYWRtaW4gcGFuZWwpIjsNCiRsYW5nWyJwcmVmX29yZGVyYnluYW1lIl0gPSAiT3JkZXIgcGFyZW50IGRyb3Bkb3ducyBieSBuYW1lPyI7DQokbGFuZ1sicHJlZl9zaG93dGh1bWJuYWlscyJdID0gIkRpc3BsYXkgYWxsIHRodW1ibmFpbHMgaW5zdGVhZCBvZiBhIHRhYmxlIHdoZW4gc2VsZWN0ZWQgaW1hZ2UgZmlsZXM/IjsNCiRsYW5nWyJwcmVmX21heHNob3ducGFnZXMiXSA9ICJNYXggbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBpbiB0aGUgcGFnZSBtZW51OiAiOw0KJGxhbmdbInByZWZfYXV0b2luY3JlbWVudF9hbGlhcyJdID0gIkF1dG8taW5jcmVtZW50IGFsaWFzZXMgaW4gY2FzZSBvZiBpZGVudGljYWwgbmFtZXM/IjsNCiRsYW5nWyJwcmVmX2RlY29kZWVudGl0aWVzIl0gPSAiRGVjb2RlIGh0bWwgZW50aXRpZXMgb24gZnJvbnRlbmQgZm9ybSBzdWJtaXNzaW9uLiI7DQokbGFuZ1sicHJlZl9mcm9udGVuZCJdID0gIkZyb250ZW5kIGVkaXQiOw0KJGxhbmdbImhlbHBfZnJvbnRlbmQiXSA9ICJGb3Igc2VjdXJpdHksIGZyb250ZW5kIGVkaXRpb24gc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgRnJvbnQgRW5kIFVzZXJzIG1vZHVsZS4gU2VlIDxhIGhyZWY9XCJtb2R1bGVzL0hvc3RlZFZpZGVvQWxidW1zL2RvYy9mYXEuaHRtbCNxMjBcIiB0YXJnZXQ9XCJfYmxhbmtcIj5GYXE8L2E+IGZvciBoZWxwIG9uIHBlcm1pc3Npb24gaW50ZWdyYXRpb24uIjsNCiRsYW5nWyJwcmVmX2ZlX3d5c2l3eWciXSA9ICJFbmFibGUgd3lzaXd5ZyBpbiB0aGUgZnJvbnRlbmQgKG11c3QgYmUgZW5hYmxlZCBpbiB0aGUgR2xvYmFsIFNldHRpbmdzIHRvbykiOw0KJGxhbmdbInByZWZfZmVfZGVjb2RlZW50aXRpZXMiXSA9ICJEZWNvZGUgaHRtbCBlbnRpdGllcyBmcm9tIGZyb250ZW5kIGZvcm1zLiBUaGlzIGlzIG5vdCByZWNvbW1hbmRlZC4iOw0KJGxhbmdbInByZWZfZmVfYWxsb3dmaWxlcyJdID0gIkFsbG93IGZpbGUgdXBsb2FkIGZyb20gdGhlIGZyb250ZW5kLiI7DQokbGFuZ1sicHJlZl9mZV9hbGxvd25hbWVjaGFuZ2UiXSA9ICJBbGxvdyBmcm9udGVuZCB1c2VycyB0byBjaGFuZ2UgdGhlIG5hbWUgKGFuZCB0aHJvdWdoIGl0IHRoZSBhbGlhcykgb2YgdGhlIGl0ZW0gdGhleSBhcmUgZWRpdGluZy4iOw0KJGxhbmdbInByZWZfZmVfYWxsb3dhZGRuZXciXSA9ICJBbGxvdyBmcm9udGVuZCB1c2VycyB0byBhZGQgbmV3IGVsZW1lbnRzLiI7DQokbGFuZ1sicHJlZl9mZV91c2VjYXB0Y2hhIl0gPSAiVXNlIGNhcHRjaGE/IChtb2R1bGUgQ2FwdGNoYSByZXF1aXJlZCkiOw0KJGxhbmdbInByZWZfZmVfYWZ0ZXJzdWJtaXQiXSA9ICJPbmNlIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgcmVkaXJlY3QgdG8gIjsNCiRsYW5nWyJwcmVmX2ZlX21heGZpbGVzaXplIl0gPSAiTWF4aW11bSBzaXplLCBpbiBieXRlcywgb2YgdGhlIGZpbGVzIHVwbG9hZGVkIHRocm91Z2ggdGhlIGZyb250ZW5kIChjYW5ub3QgYmUgb3ZlciBwaHAuaW5pIGxpbWl0KSI7DQokbGFuZ1sicHJlZl9hbGxvd19jb21wbGV4X29yZGVyIl0gPSAiQWxsb3cgY29tcGxleCBcIm9yZGVyYnlcIiBwYXJhbWV0ZXJzIChiZXRhKS4iOw0KJGxhbmdbInByZWZfYWRtaW5wYWdlcyJdID0gIk51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0aGUgYWRtaW4gcGFuZWwgKDAgPSBwYXMgZGUgcGFnaW5hdGlvbikuIjsNCiRsYW5nWyJwcmVmX2xvYWRfbmJjaGlsZHJlbiJdID0gIkxvYWQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiAoaXRlbS0mZ3Q7bmJjaGlsZHJlbikgZm9yIGFsbCBpdGVtcz8iOw0KJGxhbmdbInByZWZfbG9hZF9uZXh0cHJldmlvdXMiXSA9ICJMb2FkIG5leHQvcHJldmlvdXMgbGlua3M/IChkZXRhaWwgdmlldyBvbmx5KSI7DQokbGFuZ1sicHJlZl91c2Vfc2Vzc2lvbiJdID0gIlVzZSBzZXNzaW9uIHRvIHN0b3JlIGFkbWluIHBhbmVsIGZpbHRlcnMuIjsNCiRsYW5nWyJwcmVmX2xldmVscGFnaW5hdGlvbiJdID0gIkRlZmF1bHQgbnVtYmVyIG9mIGVsZW1lbnQgcGVyIHBhZ2UgZm9yIHRoZSBmcm9udGVuZCI7DQokbGFuZ1siaGVscF9sZXZlbHBhZ2luYXRpb24iXSA9ICIoRW1wdHkgb3IgMCBmb3Igd2lsbCBkaXNhYmxlIGRlZmF1bHQgcGFnaW5hdGlvbi4gVGhlIG5icGVycGFnZSBwYXJhbWV0ZXIgb3ZlcnJpZGVzIHRoZXNlIHNldHRpbmdzLikiOw0KDQovL1BBUkFNRVRFUlMNCiRsYW5nWyJwaGVscF9hY3Rpb24iXSA9ICJQb3NzaWJsZSBhY3Rpb25zOiBcImxpbmtcIiwgXCJzZWFyY2hcIiwgXCJicmVhZGNydW1ic1wiLCBcImRlZmF1bHRcIiwgXCJzaXRlbWFwXCIuIjsNCiRsYW5nWyJwaGVscF93aGF0Il0gPSAiQWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSBsZXZlbCB5b3Ugd2lzaCB0byBkaXNwbGF5LiBQb3NzaWJsZSB2YWx1ZXMgYXJlIDogPGk+Y2F0ZWdvcnksIGFsYnVtLCB2aWRlbzwvaT4iOw0KJGxhbmdbInBoZWxwX2FsaWFzIl0gPSAiQWxpYXMgb2YgdGhlIGl0ZW0geW91IHdpc2ggdG8gZGlzcGxheS4iOw0KJGxhbmdbInBoZWxwX3BhcmVudCJdID0gIklmIHlvdSB3aXNoIHRvIGxpbWl0IHRoZSBkaXNwbGF5ZWQgZWxlbWVudHMgdG8gdGhvc2Ugd2hvIGJlbG9uZyB0byBhIHNwZWNpZmljIHBhcmVudCwgZW50ZXIgdGhlIHBhcmVudCBhbGlhcyBoZXJlLiI7DQokbGFuZ1sicGhlbHBfbGltaXQiXSA9ICJMaW1pdCB0aGUgbnVtYmVyIG9mIGl0ZW0gcmV0dXJuZWQgYnkgdGhlIHF1ZXJ5ICgwID0gbm8gbGltaXQpIjsNCiRsYW5nWyJwaGVscF9uYnBlcnBhZ2UiXSA9ICJTZXQgdGhlIG51bWJlciBvZiBpdGVtcyBkaXNwbGF5ZWQgb24gZWFjaCBwYWdlLiI7DQokbGFuZ1sicGhlbHBfb3JkZXJieSJdID0gIllvdSBjYW4gc2V0IHRvIFwibW9kaWZpZWRcIiwgXCJjcmVhdGVkXCIgb3IgdGhlIG5hbWUgb2YgYSBmaWVsZCB0byBvcmRlciBpdGVtcyBpbiB0aGlzIHdheS4gQW55IG90aGVyIHZhbHVlIHdpbGwgb3JkZXIgd2l0aCB0aGUgaXRlbSBvcmRlci4iOw0KJGxhbmdbInBoZWxwX2RldGFpbHBhZ2UiXSA9ICJTcGVjaWZ5IHRoZSBhbGlhcyBvZiB0aGUgcGFnZSBpbiB3aGljaCBsaW5rcyB0byBjaGlsZCBlbGVtZW50cyBzaG91bGQgYmUgc2VudCAoaWYgbm9uZSBpcyBzcGVjaWZpZWQsIGN1cnJlbnQgcGFnZSBpcyB1c2VkKSI7DQokbGFuZ1sicGhlbHBfc2hvd2RlZmF1bHQiXSA9ICJTZXQgdG8gXCJ0cnVlXCIgaWYgeW91IHdpc2ggdG8gZGlzcGxheSB0aGUgZGVmYXVsdCBlbGVtZW50LiI7DQokbGFuZ1sicGhlbHBfcmFuZG9tIl0gPSAiU2V0IHRvIGEgbnVtYmVyIHRvIHNob3cgYSBudW1iZXIgb2YgcmFuZG9tIGVsZW1lbnRzIGZyb20geW91ciBxdWVyeS4iOw0KJGxhbmdbInBoZWxwX2ZpbmFsdGVtcGxhdGUiXSA9ICJTcGVjaWZ5IHRoZSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UgZm9yIHRoZSBkZXRhaWwgdmlldyBvZiBhIHZpZGVvLiI7DQokbGFuZ1sicGhlbHBfZW1iZWR0ZW1wbGF0ZSJdID0gIlNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgZW1iZWRkaW5nIGEgdmlkZW8uIjsNCiRsYW5nWyJwaGVscF9saXN0dGVtcGxhdGUiXSA9ICJTcGVjaWZ5IHRoZSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UgZm9yIHRoZSBsaXN0IHZpZXcuIjsNCiRsYW5nWyJwaGVscF9mb3JjZWxpc3QiXSA9ICJTZXQgdG8gMSBpZiB5b3Ugd2lzaCB0byBkaXNwbGF5IGEgbGlzdCB2aWV3IGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBlbGVtZW50LiI7DQokbGFuZ1sicGhlbHBfaW50ZXJuYWwiXSA9ICJGb3IgaW50ZXJuYWwgdXNlOyBzcGVjaWZ5IHRoZSBwYWdlICh3aGVuIHVzaW5nIG5icGVycGFnZSkuIjsNCiRsYW5nWyJwaGVscF9xdWVyeSJdID0gIkZvciBvcHRpb25hbCB1c2Ugd2l0aCB0aGUgXCJkZWZhdWx0XCIgYWN0aW9uLiBTcGVjaWZpZXMgdGhlIGlkIG9mIHRoZSBxdWVyeSB0byB1c2UuIjsNCiRsYW5nWyJwaGVscF9pbmxpbmUiXSA9ICJNYWtlcyB0aGUgbGlua3MgaW5saW5lLiI7DQokbGFuZ1sicGhlbHBfc2VhcmNobW9kZSJdID0gIkZvciB1c2Ugd2l0aCB0aGUgXCJzZWFyY2hcIiBhY3Rpb24uIFNldCB0byBcInNpbXBsZVwiIHRvIHNlYXJjaCBpbiBhbGwgdGV4dCBmaWVsZHMsIGFuZCBcImFkdmFuY2VkXCIgdG8gc2VhcmNoIGluIHNwZWNpZmljIGZpZWxkcy4iOw0KJGxhbmdbInBoZWxwX3RvYWN0aW9uIl0gPSAiRm9yIHVzZSB3aXRoIHRoZSBcImxpbmtcIiBhY3Rpb24uIFNldHMgdGhlIGFjdGlvbiB0byB3aGljaCB0aGUgbGluayBzaG91bGQgcmVkaXJlY3QuIjsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiQWxidW1zIFZpZCZlYWN1dGU7b3MgSCZlYWN1dGU7YmVyZyZlYWN1dGU7ZXMiOw0KCSRsYW5nWyJtb2RkZXNjcmlwdGlvbiJdID0gIkNlIG1vZHVsZSBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBhZmZpY2hlciBkZXMgYWxidW1zIHZpZCZlYWN1dGU7b3MgaCZlYWN1dGU7YmVyZyZlYWN1dGU7cyBzdXIgb24gWW91dHViZSwgR29vZ2xlIFZpZGVvcyBvdSBEYWlseW1vdGlvbiI7DQoJJGxhbmdbImRlc2NyaXB0aW9uIl0gPSAiQ2UgbW9kdWxlIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGFmZmljaGVyIGRlcyBhbGJ1bXMgdmlkJmVhY3V0ZTtvcyBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtzIHN1ciBvbiBZb3V0dWJlLCBHb29nbGUgVmlkZW9zIG91IERhaWx5bW90aW9uIjsNCgkkbGFuZ1siYWRtaW5kZXNjcmlwdGlvbiJdID0gIkdlc3Rpb24gZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvcyBoZWJlcmcmZWFjdXRlO2VzIG91IGxvY2FsZXMiOw0KCSRsYW5nWydjaGFuZ2Vsb2cnXSA9IDw8PEVPRg0KCTx1bD4NCgk8bGk+MS4xIC0tIEFqb3V0IGRlIGxhIGdlc3Rpb24gZGVzIHZpZGVvcyBsb2NhbGVzIGV0IGFtZWxpb3JhdGlvbiBkZSBsYSBkb2N1bWVuYXRpb24uPC9saT4NCgk8bGk+MS4wIC0tIFZlcnNpb24gSW5pdGlhbGU8L2xpPg0KCTwvdWw+IA0KRU9GOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJjYXRlZ29yeV9wbHVyYWwiXSA9ICJDYXQmZWFjdXRlO2dvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFqb3V0ZXIgdW5lIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJlZGl0X2NhdGVnb3J5Il0gPSAiTW9kaWZpZXIgdW5lIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJmaWx0ZXJieV9jYXRlZ29yeSJdID0gIkZpbHRyZXIgcGFyIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJjYXRlZ29yeV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWNhdGVnb3J5Il0gPSAiVm91cyAmZWNpcmM7dGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgY2V0dGUgY2F0JmVhY3V0ZTtnb3JpZSAoJXMpPyBUb3VzIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHJhdHRhY2gmZWFjdXRlO3Mgc2Vyb250IHBlcmR1cy4gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJDQovLyBzdHJpbmdzIGZvciBhbGJ1bQ0KCSRsYW5nWyJhbGJ1bSJdID0gIkFsYnVtIFZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImFsYnVtX3BsdXJhbCJdID0gIkFsYnVtcyBWaWQmZWFjdXRlO28iOw0KCSRsYW5nWyJhZGRfYWxidW0iXSA9ICJBam91dGVyIHVuIGFsYnVtIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImVkaXRfYWxidW0iXSA9ICJNb2RpZmllciB1biBhbGJ1bSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJmaWx0ZXJieV9hbGJ1bSJdID0gIkZpbHRyZXIgcGFyIGFsYnVtIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImFsYnVtX2Rlc2NyaXB0aW9uIl0gPSAiRGVzY3JpcHRpb24iOw0KCSRsYW5nWyJhbGJ1bV9sYW5nIl0gPSAiTGFuZ3VlIGRlIGwnYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X3dpZHRoIl0gPSAiTGFyZ2V1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X2hlaWdodCJdID0gIkhhdXRldXIgcGFyIGQmZWFjdXRlO2ZhdXQgZGVzIHZpZCZlYWN1dGU7b3MgZGUgY2V0IGFsYnVtIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWFsYnVtIl0gPSAiVm91cyAmZWNpcmM7dGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgY2V0IGFsYnVtIHZpZCZlYWN1dGU7byAoJXMpPyBUb3VzIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHJhdHRhY2gmZWFjdXRlO3Mgc2Vyb250IHBlcmR1cy4gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJDQovLyBzdHJpbmdzIGZvciB2aWRlbw0KCSRsYW5nWyJ2aWRlbyJdID0gIlZpZCZlYWN1dGU7byI7DQoJJGxhbmdbInZpZGVvX3BsdXJhbCJdID0gIlZpZCZlYWN1dGU7b3MiOw0KCSRsYW5nWyJhZGRfdmlkZW8iXSA9ICJBam91dGVyIHVuZSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJlZGl0X3ZpZGVvIl0gPSAiTW9kaWZpZXIgdW5lIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImZpbHRlcmJ5X3ZpZGVvIl0gPSAiRmlsdHJlciBwYXIgdmlkJmVhY3V0ZTtvIjsNCgkkbGFuZ1sidmlkZW9fZGVzY3JpcHRpb24iXSA9ICJEZXNjcmlwdGlvbiI7DQoJJGxhbmdbInZpZGVvX3NpdGUiXSA9ICJTaXRlIFZpZCZlYWN1dGU7byI7DQoJJGxhbmdbInZpZGVvX3ZpZGVvaWQiXSA9ICJJZCBkZSBsYSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJ2aWRlb193aWR0aCJdID0gIkxhcmdldXIgZGUgbGEgdmlkJmVhY3V0ZTtvIjsNCgkkbGFuZ1sidmlkZW9faGVpZ2h0Il0gPSAiSGF1dGV1ciBkZSBsYSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJwcm9tcHRfZGVsZXRldmlkZW8iXSA9ICJWb3VzICZlY2lyYzt0ZXMgc3VyIGxlIHBvaW50IGRlIHN1cHByaW1lciBjZXR0ZSB2aWQmZWFjdXRlO28gKCVzKT8gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJJGxhbmdbInRlbXBsYXRlaGVscGZpbGUiXSA9ICJleHQiLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRoZWxwX2ZyX0ZSLmh0bWwiOw0KDQovLyBGb3IgZmlsZSBmaWVsZHMNCiRsYW5nWyJSZW1vdmUiXSA9ICJFbmxldmVyIjsNCiRsYW5nWyJkZWxldGUiXSA9ICJTdXBwcmltZXIiOw0KJGxhbmdbImJyb3dzZWZpbGVzdGl0bGUiXSA9ICJVcGxvYWRleiB1biBub3V2ZWF1IGZpY2hpZXIgb3UgY2hvaXNpc3NleiB1biBmaWNoaWVyIHBsdXMgYmFzLiI7DQokbGFuZ1sic2hvd2luZ2RpciJdID0gIlImZWFjdXRlO3BlcnRvaXJlIjsNCiRsYW5nWyJicm93c2VmaWxlc3Jlc2l6ZSJdID0gIkwnaW1hZ2Ugc2VyYSBhdXRvbWF0aXF1ZW1lbnQgcmVkaW1lbnNpb25uJmVhY3V0ZTtlIHBvdXIgbGUgbW9kdWxlLiI7DQokbGFuZ1siYnJvd3NlZmlsZWN1cnJlbnRwYXRoIl0gPSAiUiZlYWN1dGU7cGVydG9pcmUgOiAiOw0KJGxhbmdbInBhcmVudGRpciJdID0gIlImZWFjdXRlO3BlcnRvaXJlIHBhcmVudCI7DQokbGFuZ1siYWRkYWZpbGUiXSA9ICJBam91dGVyIHVuL2RlcyBmaWNoaWVyKHMpIjsNCiRsYW5nWyJzdWJtaXR0aW5nX2ZpbGUiXSA9ICJMZSBmaWNoaWVyIGVzdCBlbiBjb3VycyBkZSB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50LiBWZXVpbGxleiBwYXRpZW50ZXIuLi4iOw0KJGxhbmdbImZpbGVuYW1lIl0gPSAiRmljaGllciI7DQokbGFuZ1siaW1hZ2VzaXplIl0gPSAiRGltZW5zaW9ucyI7DQokbGFuZ1siZmlsZWV4dCJdID0gImV4dC4iOw0KJGxhbmdbImZpbGVzaXplIl0gPSAiVGFpbGxlIjsNCiRsYW5nWyJsYXN0bW9kIl0gPSAiTW9kaWZpJmVhY3V0ZTsiOw0KJGxhbmdbImZpbGVvd25lciJdID0gIlByb3ByaSZlYWN1dGU7dGFpcmUiOw0KJGxhbmdbImZpbGVwZXJtcyJdID0gIlBlcm1pc3Npb25zIjsNCiRsYW5nWyJ2aWV3YWxsaW1hZ2VzIl0gPSAiVm9pciB0b3V0ZXMgbGVzIGltYWdlcyI7DQokbGFuZ1sicG9zdG1heHNpemUiXSA9ICJOb3RlOiBsJ2Vudm9pIChwb3N0IG1heCBzaXplKSBlc3QgbGltaXQmZWFjdXRlOyAmYWdyYXZlOyAiOw0KJGxhbmdbImFkZGZpbGVpbnB1dCJdID0gIkFqb3V0ZXIgdW4gYXV0cmUgZmljaGllciI7DQokbGFuZ1siemlwZmlsZW5vdGljZSJdID0gIkxlcyBmaWNoaWVycyBkZXZyYWllbnQgc2UgdHJvdXZlciBkYW5zIGxhIHJhY2luZSBkZSBsJ2FyY2hpdmUuIjsNCiRsYW5nWyJ1cGxvYWR6aXBmaWxlIl0gPSAiQXJjaGl2ZSBaaXAiOw0KDQovLyBzdHJpbmdzIGZvciBnZW5lcmFsIGZpZWxkcw0KJGxhbmdbImlkIl0gPSAiaWQiOw0KJGxhbmdbIm5hbWUiXSA9ICJOb20iOw0KJGxhbmdbImFsaWFzIl0gPSAiQWxpYXMiOw0KJGxhbmdbImlzZGVmYXVsdCJdID0gIlBhciBkJmVhY3V0ZTtmYXV0PyI7DQokbGFuZ1siYWN0aXZlIl0gPSAiQWN0aWYiOw0KJGxhbmdbInBhcmVudCJdID0gIlBhcmVudCI7DQokbGFuZ1sic3VibWl0Il0gPSAiRW5yZWdpc3RyZXIiOw0KJGxhbmdbImNhbmNlbCJdID0gIkFubnVsZXIiOw0KJGxhbmdbIm5iY2hpbGRyZW4iXSA9ICJOYiBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMiOw0KJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEZXJuaSZlZ3JhdmU7cmUgbW9kaWZpY2F0aW9uIjsNCiRsYW5nWyJkYXRlX2NyZWF0ZWQiXSA9ICJDciZlYWN1dGU7YXRpb24iOw0KCQ0KLy8gR0VORVJBTA0KJGxhbmdbInBhZ2VzIl0gPSAiUGFnZXM6ICI7DQokbGFuZ1sibmV4dHBhZ2UiXSA9ICJQYWdlIHN1aXZhbnRlIjsNCiRsYW5nWyJwcmV2aW91c3BhZ2UiXSA9ICJQYWdlIHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50ZSI7DQokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmVyIjsNCiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiRCZlYWN1dGU7c2FjdGl2ZXIiOw0KJGxhbmdbInNlYXJjaHRoaXN0YWJsZSJdID0gIkNoZXJjaGVyIGRhbnMgY2UgdGFibGVhdToiOw0KJGxhbmdbInJlc2V0b3JkZXIiXSA9ICJSZW1ldHRyZSAmYWdyYXZlOyB6JmVhY3V0ZTtybyI7DQokbGFuZ1siWWVzIl0gPSAiT3VpIjsNCiRsYW5nWyJObyJdID0gIk5vbiI7DQokbGFuZ1siQWN0aW9ucyJdID0gIkFjdGlvbnMiOw0KJGxhbmdbInJlb3JkZXIiXSA9ICJSJmVhY3V0ZTtvcmRvbm5lciI7DQokbGFuZ1sibGlzdHRlbXBsYXRlIl0gPSAiR2FiYXJpdCBkZSBsaXN0ZSBwb3VyIjsNCiRsYW5nWyJkZWZhdWx0dGVtcGxhdGVzIl0gPSAiR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQiOw0KJGxhbmdbInRlbXBsYXRlcyJdID0gIkdhYmFyaXRzIjsNCiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIkdhYmFyaXQiOw0KJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIk1vZGlmaWVyIGxlIGdhYmFyaXQiOw0KJGxhbmdbInRlbXBsYXRldmFycyJdID0gIlZhcmlhYmxlcyBkZSBnYWJhcml0IjsNCiRsYW5nWyJkZWZ0ZW1wbGF0ZWZvciJdID0gIkdhYmFyaXQgZGUgbGlzdGUgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciBsZSBuaXZlYXUgIjsNCiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBwYXIgZCZlYWN1dGU7ZmF1dCI7DQokbGFuZ1siZGVmc2VhcmNocmVzdWx0c3RlbXBsYXRlIl0gPSAiR2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGxlcyByJmVhY3V0ZTtzdWx0YXRzIGRlIHJlY2hlcmNoZSI7DQokbGFuZ1siZGVmZW1wdHl0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgbG9yc3F1J2lsIG4neSBhIHBhcyBkZSByJmVhY3V0ZTtzdWx0YXQiOw0KJGxhbmdbImRlZmVtYmVkdGVtcGxhdGUiXSA9ICJHYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgaW1icmlxdWVyIChlbWJlZCkgdW5lIHZpZGVvIjsNCiRsYW5nWyJ1c2VsZXZlbGxpc3R0cGwiXSA9ICJVdGlsaXNlciBsZSBnYWJhcml0IGRlIGxpc3RlIGR1IG5pdmVhdSBhcHByb3ByaSZlYWN1dGU7IjsNCiRsYW5nWyJhZGR0ZW1wbGF0ZSJdID0gIkFqb3V0ZXIgdW4gZ2FiYXJpdCI7DQokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0cmVyIHBhciI7DQokbGFuZ1sic2hvd2luZ29ubHkiXSA9ICJGaWx0cmU6ICI7DQokbGFuZ1sic2hvd2FsbCJdID0gIlRvdXQgdm9pciAoYXVjdW4gZmlsdHJlKSI7DQokbGFuZ1siZmllbGRvcHRpb25zIl0gPSAiU2l0ZXMiOw0KJGxhbmdbImFkZG9wdGlvbiJdID0gIkFqb3V0ZXIgdW4gc2l0ZSI7DQokbGFuZ1sibW9kaWZ5YW5vcHRpb24iXSA9ICJNb2RpZmllciB1biBzaXRlIjsNCiRsYW5nWyJtZXNzYWdlX2RlbGV0ZWQiXSA9ICImRWFjdXRlO2wmZWFjdXRlO21lbnQgc3VwcHJpbSZlYWN1dGU7LiI7DQokbGFuZ1sibWVzc2FnZV9tb2RpZmllZCJdID0gIk1vZGlmaWNhdGlvbiBzYXV2ZWdhcmQmZWFjdXRlO2UuIjsNCiRsYW5nWyJ3YXJuaW5nX3RhYiJdID0gIkF0dGVudGlvbjogU2F1dmVnYXJkZXogbGVzIGNoYW5nZW1lbnRzIGRhbnMgbGVzIGF1dHJlcyBvbmdsZXRzIGF2YW50IGRlIHRyYXZhaWxsZXIgZGFucyBjZWx1aS1jaS4uLiI7DQokbGFuZ1siZXJyb3JfbWlzc2dpbnZhbHVlIl0gPSAiVW5lIG91IHBsdXNpZXVycyB2YWxldXIgb2JsaWdhdG9pcmVzIG4nb250IHBhcyAmZWFjdXRlO3QmZWFjdXRlOyBlbnRyJmVhY3V0ZTtlcy4iOw0KJGxhbmdbImVycm9yX2FscmVhZHlleGlzdHMiXSA9ICJJbCB5IGEgZCZlYWN1dGU7aiZhZ3JhdmU7IHVuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBwb3J0YW50IGNlIG5vbS4iOw0KJGxhbmdbImVycm9yX2RhdGUiXSA9ICJMYSBkYXRlIHF1ZSB2b3VzIGF2ZXogZW50ciZlYWN1dGU7ZSBlc3QgaW52YWxpZGUuIjsNCiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIkF1Y3VuIHBhcmVudCBkJmVhY3V0ZTtmaW5pISI7DQokbGFuZ1siZXJyb3Jfbm90Zm91bmQiXSA9ICJMJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBuJ2EgcGFzIHB1ICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOy4iOw0KJGxhbmdbImVycm9yX25vaXRlbWZvdW5kIl0gPSAiQXVjdW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHRyb3V2JmVhY3V0ZTsuIjsNCiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIHJlZnVzw6llIjsNCiRsYW5nWyJlcnJvcl93cm9uZ3F1ZXJ5Il0gPSAiUmVxdSZlY2lyYzt0ZSBpbnZhbGlkZS4iOw0KJGxhbmdbImVycm9yX2ZlYWRkZGVuaWVkIl0gPSAiVm91cyBuJ2F2ZXogcGFzIGxlcyBwZXJtaXNzaW9ucyByZXF1aXNlcyBwb3VyIHBvdXJzdWl2cmUuIjsNCiRsYW5nWyJlcnJvcl93cm9uZ2ZpbGV0eXBlIl0gPSAiQ2UgdHlwZSBkZSBmaWNoaWVyIG4nZXN0IHBhcyBwZXJtaXMgaWNpLiI7DQokbGFuZ1siZXJyb3JfY2FwdGNoYSJdID0gIkxlIHRleHRlIGVudHImZWFjdXRlOyBuZSBjb3JyZXNwb25kIHBhcyAmYWdyYXZlOyBsJ2ltYWdlIGNhcHRjaGEuIjsNCiRsYW5nWyJlcnJvcl9maWxldG9vYmlnIl0gPSAiTGUgZmljaGllciBlbnZveSZlYWN1dGU7IGVzdCB0cm9wIHZvbHVtaW5ldXguIjsNCiRsYW5nWyJnaXZlbmVycm9yIl0gPSAiRXJyZXVyOiAiOw0KJGxhbmdbImZpbmFsdGVtcGxhdGUiXSA9ICJHYWJhcml0IHBvdXIgbGVzIHZpZMOpb3MiOw0KJGxhbmdbImVtYmVkdGVtcGxhdGUiXSA9ICJHYWJhcml0IHV0aWxpc8OpIHBhciB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlb30iOw0KJGxhbmdbInByb21wdF9kZWxldGVvcHRpb24iXSA9ICJWb3VsZXotdm91cyB2cmFpbWVudCBzdXBwcmltZXIgY2Ugc2l0ZT8iOw0KJGxhbmdbInByb21wdF9nZW5lcmFsZGVsZXRlIl0gPSAiVm91bGV6LXZvdXMgdnJhaW1lbnQgc3VwcHJpbWVyIGNldCAmZWFjdXRlO2wmZWFjdXRlO21lbnQ/IjsNCiRsYW5nWyJwcm9tcHRfY2FwdGNoYSJdID0gIkVudHJleiBsZSB0ZXh0ZSBmaWd1cmFudCBzdXIgbCdpbWFnZS4iOw0KJGxhbmdbInF1ZXJpZXMiXSA9ICJSZXF1JmVjaXJjO3RlcyI7DQokbGFuZ1sicXVlcnkiXSA9ICJSZXF1JmVjaXJjO3RlIjsNCiRsYW5nWyJyZXN1bHRzIl0gPSAiUiZlYWN1dGU7c3VsdGF0cyI7DQokbGFuZ1siY3JlYXRlcXVlcnkiXSA9ICJDciZlYWN1dGU7ZXIgdW5lIG5vdXZlbGxlIHJlcXUmZWNpcmM7dGUiOw0KJGxhbmdbInByb21wdF9xdWVyeSJdID0gIkNyJmVhY3V0ZTtlciB1bmUgcmVxdSZlY2lyYzt0ZSBwb3VyIHF1ZWwgbml2ZWF1PyI7DQokbGFuZ1sib3JkZXJieWZpZWxkIl0gPSAiT3Jkb25uZXIgc2Vsb24iOw0KJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEYXRlIG1vZGlmaSZlYWN1dGU7IjsNCiRsYW5nWyJmcm9udGVuZF9zdWJtaXQiXSA9ICJFbnZveWVyIjsNCg0KLy8gQlJFQURDUlVNQlMgOg0KJGxhbmdbInlvdWFyZWhlcmUiXSA9ICJWb3VzICZlY2lyYzt0ZXMgaWNpOiAiOw0KJGxhbmdbImJyZWFkY3J1bWJzX2RlbGltaXRlciJdID0gIiAmZ3Q7ICI7DQoNCi8vIFNFQVJDSCA6DQokbGFuZ1sic2VhcmNodGl0bGUiXSA9ICJSZWNoZXJjaGUiOw0KJGxhbmdbInNlYXJjaGFnYWluIl0gPSAiUmVjb21tZW5jZXIgbGEgcmVjaGVyY2hlIjsNCiRsYW5nWyJzZWFyY2hidG4iXSA9ICJDaGVyY2hlciEiOw0KJGxhbmdbImNvbnRhaW5zIl0gPSAiQ29udGllbnMiOw0KJGxhbmdbImlzZXhhY3RseSJdID0gIkVzdCBlZ2FsICZhZ3JhdmU7IjsNCiRsYW5nWyJpc25vdCJdID0gIk4nZXN0IHBhcyI7DQokbGFuZ1siaXNoaWdoZXJ0aGFuIl0gPSAiRXN0IHBsdXMgZ3JhbmQgcXVlIjsNCiRsYW5nWyJpc2xvd2VydGhhbiJdID0gIkVzdCBwbHVzIHBldGl0IHF1ZSI7DQokbGFuZ1siaXNhZnRlciJdID0gIkVzdCBhcHImZWdyYXZlO3MiOw0KJGxhbmdbImlzYmVmb3JlIl0gPSAiRXN0IGF2YW50IjsNCiRsYW5nWyJpc2JldHdlZW4iXSA9ICJFc3QgZW50cmUiOw0KJGxhbmdbInRoaXNhbmR0aGlzIl0gPSAiZXQiOw0KJGxhbmdbInF1ZXJ5dXNlIl0gPSAiUGFzIHV0aWxpcyZlYWN1dGU7IjsNCiRsYW5nWyJxdWVyeW5hbWUiXSA9ICJOb20gZGUgbGEgcmVxdSZlY2lyYzt0ZSI7DQoNCi8vIElNUE9SVCAvIEVYUE9SVA0KJGxhbmdbImV4cG9ydF90aXRsZSJdID0gIkV4cG9ydGVyIGxlcyBlbnJlZ2lzdHJlbWVudHMiOw0KJGxhbmdbImV4cG9ydHdoaWNobGV2ZWxzIl0gPSAiUXVlbHMgdGFibGVzIGV4cG9ydGVyPyI7DQokbGFuZ1siZXhwb3J0X3RlbXBsYXRlcyJdID0gIkV4cG9ydGVyIGxlcyBnYWJhcml0cz8iOw0KJGxhbmdbImltcG9ydF90aXRsZSJdID0gIkltcG9ydGVyIGQndW4gZmljaGllciB4bWwiOw0KJGxhbmdbImltcG9ydF9maWxlcHJvbXB0Il0gPSAiQ2hvaXNpc3NleiBsZSBmaWNoaWVyIHhtbCAmYWdyYXZlOyBpbXBvcnRlci4iOw0KJGxhbmdbImltcG9ydF9kb25lIl0gPSAiSW1wb3J0YXRpb24gdGVybWluJmVhY3V0ZTtlLiAlcyBlbnJlZ2lzdHJlbWVudHMgb250ICZlYWN1dGU7dCZlYWN1dGU7IGltcG9ydCZlYWN1dGU7cy4iOw0KJGxhbmdbImltcG9ydF9lbnRyaWVzIl0gPSAiTGUgZmljaGllciBjb250aWVudCAlcyBlbnJlZ2lzdHJlbWVudHMuIjsNCiRsYW5nWyJpbXBvcnRfZGVsZXRlIl0gPSAiRWZmYWNlciBsZSBjb250ZW51IGRlIGxhIHRhYmxlIGF2YW50IGwnaW1wb3J0YXRpb24/IjsNCiRsYW5nWyJpbXBvcnR3aGljaGxldmVscyJdID0gIkltcG9ydGVyIHF1ZWxzIHRhYmxlcz8iOw0KJGxhbmdbImltcG9ydF90ZW1wbGF0ZXMiXSA9ICJJbXBvcnQgbGVzIGdhYmFyaXRzPyI7DQokbGFuZ1siY291bGRub3RpbXBvcnQiXSA9ICJJbCB5IGEgZXUgdW5lIGVycmV1ciBkYW5zIGwnaW1wb3J0YXRpb24gZGU6ICI7DQokbGFuZ1siZXJyb3JfaW52YWxpZHhtbCJdID0gIkxlIGZpY2hpZXIgcXVlIHZvdXMgYXZleiBjaG9pc2kgbidlc3QgcGFzIHVuIHhtbCB2YWxpZGUgcG91ciBjZSBtb2R1bGUuIjsNCg0KLy8gTU9EVUxFIElOVEVSQUNUSU9ODQokbGFuZ1sicG9zdGluc3RhbGwiXSA9ICJNb2R1bGUgYWpvdXQmZWFjdXRlOy48YnIvPlNpIGNlIG1vZHVsZSBhIGRlcyBjaGFtcHMgZGUgZmljaGllciwgdmV1aWxsZXogdm91cyBhc3N1cmVyIHF1ZSBsZXMgciZlYWN1dGU7cGVydG9pcmUgYXBwcm9wcmkmZWFjdXRlO3MgZXhpc3RlbnQgYmllbiBkYW5zIGxlIGRvc3NpZXIgZCd1cGxvYWRzLiBOJ291YmxpZXogcGFzIGRlIGRvbm5lciAmYWdyYXZlOyB2b3MgdXRpbGlzYXRldXJzIGxhIHBlcm1pc3Npb24gZCd1dGlsaXNlciBjZSBtb2R1bGUhIjsNCiRsYW5nWyJwb3N0dW5pbnN0YWxsIl0gPSAiTW9kdWxlIGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsuIjsNCiRsYW5nWyJyZWFsbHlfdW5pbnN0YWxsIl0gPSAiVG91dCBsZSBjb250ZW51IGR1IG1vZHVsZSBzZXJhIHBlcmR1LiBQb3Vyc3VpdnJlPyI7DQokbGFuZ1sidW5pbnN0YWxsZWQiXSA9ICJNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4iOw0KJGxhbmdbImluc3RhbGxlZCJdID0gIk1vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGwmZWFjdXRlOy4iOw0KJGxhbmdbInVwZ3JhZGVkIl0gPSAiTW9kdWxlIG1pcyBhIGpvdXIgZW4gdmVyc2lvbiAlcy4iOw0KJGxhbmdbImhlbHBmaWxlIl0gPSAiZXh0Ii5ESVJFQ1RPUllfU0VQQVJBVE9SLiJoZWxwX2ZyX0ZSLmh0bWwiOw0KDQoNCi8vRVZFTlRTDQokbGFuZ1siZXZlbnRkZXNjX21vZGlmaWVkIl0gPSAiQXBwZWwmZWFjdXRlOyBhcHImZWdyYXZlO3MgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHNvaXQgbW9kaWZpJmVhY3V0ZTsuIjsNCiRsYW5nWyJldmVudGRlc2NfZGVsZXRlZCJdID0gIkFwcGVsJmVhY3V0ZTsgYXByJmVncmF2ZTtzIHF1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBzb2l0IHN1cHByaW0mZWFjdXRlOy4iOw0KJGxhbmdbImV2ZW50ZGVzY19hZGRlZCJdID0gIkFwcGVsJmVhY3V0ZTsgYXByJmVncmF2ZTtzIHF1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBzb2l0IGFqb3V0JmVhY3V0ZTsuIjsNCiRsYW5nWyJldmVudGhlbHBfbW9kaWZpZWQiXSA9ICJQYXJhbSZlZ3JhdmU7dHJlczogXCJ3aGF0XCI9Pm5pdmVhdSBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCwgXCJpdGVtaWRcIj0+aWQgZGUgIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LCBcImFsaWFzXCI9PmFsaWFzIGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LiI7DQokbGFuZ1siZXZlbnRoZWxwX2RlbGV0ZWQiXSA9ICJQYXJhbSZlZ3JhdmU7dHJlczogXCJ3aGF0XCI9Pm5pdmVhdSBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudC4iOw0KJGxhbmdbImV2ZW50aGVscF9hZGRlZCJdID0gIlBhcmFtJmVncmF2ZTt0cmVzOiBcIndoYXRcIj0+bml2ZWF1IGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LCBcIml0ZW1pZFwiPT5pZCBkZSAgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQsIFwiYWxpYXNcIj0+YWxpYXMgZGUgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQuIjsNCg0KDQovL1BSRUZFUkVOQ0VTDQokbGFuZ1sicHJlZmVyZW5jZXMiXSA9ICJQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIjsNCiRsYW5nWyJwcmVmX3RhYmRpc3BsYXkiXSA9ICJPbmdsZXRzIGR1IHBhbm5lYXUgZCdhZG1pbmlzdHJhdGlvbiB2aXNpYmxlcyBwb3VyIGwndXRpbGlzYXRldXIgbm9ybWFsIjsNCiRsYW5nWyJoZWxwX3RhYmRpc3BsYXkiXSA9ICIoTGVzIHV0aWxpc2F0ZXVycyBub3JtYXV4IHNvbnQgY2V1eCBhdXhxdWVscyBsYSBwZXJtaXNzaW9uIFwiSG9zdGVkVmlkZW9BbGJ1bXM6IG5vcm1hbCB1c2VyXCIgYSAmZWFjdXRlO3QmZWFjdXRlOyBhdHRyaWJ1JmVhY3V0ZTtlLiBVbmUgcGVybWlzc2lvbiBzcCZlYWN1dGU7Y2lmaXF1ZSAmYWdyYXZlOyB1biBuaXZlYXUgYSBwcmlvcml0JmVhY3V0ZTsgc3VyIGNlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLikiOw0KJGxhbmdbInByZWZfc2VhcmNobW9kdWxlX2luZGV4Il0gPSAiSW5kZXhlciBsZXMgbml2ZWF1eCBzdWl2YW50IHBvdXIgbGUgbW9kdWxlIGRlIHJlY2hlcmNoZSI7DQokbGFuZ1siaGVscF9zZWFyY2htb2R1bGVfaW5kZXgiXSA9ICIoU2FucyBlZmZldCBzdXIgbCdhY3Rpb24gXCJzZWFyY2hcIiBkZSBjZSBtb2R1bGUuIE5vdGV6IHF1J2FwciZlZ3JhdmU7cyBhdm9pciBjaGFuZyZlYWN1dGU7IGNlcyBwYXJhbSZlZ3JhdmU7dHJlcywgdm91cyBkZXZyZXogciZlYWN1dGU7aW5kZXhlciBwb3VyIHZvdXMgZCZlYWN1dGU7YmFycmFzc2VyIGRlcyBkb25uJmVhY3V0ZTtlcyBkJmVhY3V0ZTtqJmFncmF2ZTsgaW5kZXgmZWFjdXRlO2VzLiBQb3VyIGNlIGZhaXJlLCByZW5kZXotdm91cyBkYW5zIEV4dGVuc2lvbnMtJmd0O1JlY2hlcmNoZS4pIjsNCiRsYW5nWyJwcmVmX25ld2l0ZW1zZmlyc3QiXSA9ICJMZXMgbm91dmVhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkZXZyYWllbnQgYXBwcmEmaWNpcmM7dHJlIGVuIGhhdXQgZGUgbGEgbGlzdGUgcG91ciBsZXMgbml2ZWF1eCBzdWl2YW50cyI7DQokbGFuZ1siaGVscF9uZXdpdGVtc2ZpcnN0Il0gPSAiKEF1dHJlbWVudCwgaWxzIGFwcGFyYSZpY2lyYzt0cm9udCBiaWVuIHMmdWNpcmM7ciBhdSBiYXMgZGUgbGEgbGlzdGUpIjsNCiRsYW5nWyJwcmVmX3Jlc3RyaWN0X3Blcm1pc3Npb25zIl0gPSAiTGEgbWFuaXB1bGF0aW9uIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGRldnJhaXQtZWxsZSAmZWNpcmM7dHJlIHJlc3RyZWludGUgYXV4IHV0aWxpc2F0ZXVycyBwb3NzJmVhY3V0ZTtkYW50IGxlcyBwZXJtaXNzaW9ucyBzcCZlYWN1dGU7Y2lmaXF1ZXMgYXUgbml2ZWF1IGNvbmNlcm4mZWFjdXRlOz8iOw0KJGxhbmdbInByZWZfZGlzcGxheV9maWx0ZXIiXSA9ICJBZmZpY2hlciBsZSBmaWx0cmUgc3VyIGxlIHBhbm5lYXUgZCdhZG1pbmlzdHJhdGlvbj8iOw0KJGxhbmdbInByZWZfZGlzcGxheV9pbnN0YW50c2VhcmNoIl0gPSAiQWZmaWNoZXIgbGEgcmVjaGVyY2hlciBpbnN0YW50YW4mZWFjdXRlO2Ugc3VyIGxlIHBhbm5lYXUgZCdhZG1pbmlzdHJhdGlvbj8iOw0KJGxhbmdbInByZWZfZGlzcGxheV9pbnN0YW50c29ydCJdID0gIkFmZmljaGVyIGxlcyBsaWVucyBkZSBjbGFzc2VtZW50IGluc3RhbnRhbiZlYWN1dGU7IHBhciBjb2xvbm5lPyI7DQokbGFuZ1sicHJlZl9lZGl0YWJsZV9hbGlhc2VzIl0gPSAiTCdhbGlhcyBkZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkZXZyYWl0LWlsICZlY2lyYzt0cmUgbWFudWVsbGVtZW50ICZlYWN1dGU7ZGl0YWJsZT8iOw0KJGxhbmdbInByZWZfZm9yY2VfbGlzdCJdID0gIkxhIHBhcmFtJmVncmF2ZTt0cmUgXCJmb3JjZWxpc3RcIiBkZXZyYWl0LWlsICZlY2lyYzt0cmUgYWN0aXYmZWFjdXRlOyBwYXIgZCZlYWN1dGU7ZmF1dD8gKGwnYWZmaWNoYWdlIGRlIGxpc3RlIHNlcmEgdXRpbGlzJmVhY3V0ZTsgbSZlY2lyYzttZSBsb3JzcXUnaWwgbid5IGEgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50ICZhZ3JhdmU7IGFmZmljaGVyLikiOw0KJGxhbmdbInByZWZfZGVsZXRlX2ZpbGVzIl0gPSAiTG9yc3F1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBlc3Qgc3VwcHJpbSZlYWN1dGU7LCBsZXMgZmljaGllcnMgYXNzb2NpJmVhY3V0ZTtzIGRldnJhaWVudC1pbHMgJmVjaXJjO3RyZSBhdXNzaSBzdXBwcmltJmVhY3V0ZTtzPyI7DQokbGFuZ1sicHJlZl9hbGxvd19zcWwiXSA9ICJQZXJtZXR0cmUgZGVzIHJlcXUmZWNpcmM7dGVzIFNRTCBtYW51ZWxsZXM/IjsNCiRsYW5nWyJwcmVmX3VzZV9oaWVyYXJjaHkiXSA9ICJBZmZpY2hlciBsYSBoaSZlYWN1dGU7cmFyY2hpZSBjb21wbCZlZ3JhdmU7dGUgZGFucyBsZSBmaWx0cmUgZXQgbGUgY2hvaXggZHUgcGFyZW50PyAocGFubmVhdSBkJ2FkbWluaXN0cmF0aW9uKSI7DQokbGFuZ1sicHJlZl9vcmRlcmJ5bmFtZSJdID0gIk9yZG9ubmVyIGxlcyBkcm9wZG93bnMgZGUgcGFyZW50IHBhciBub20/IjsNCiRsYW5nWyJwcmVmX3Nob3d0aHVtYm5haWxzIl0gPSAiQWZmaWNoZXIgbGVzIGltYWdlcyBwbHV0Jm9jaXJjO3QgcXUndW4gdGFibGVhdSBsb3JzIGRlIGxhIHMmZWFjdXRlO2xlY3Rpb24gZCdpbWFnZXM/IjsNCiRsYW5nWyJwcmVmX21heHNob3ducGFnZXMiXSA9ICJOb21icmUgbWF4aW1hbCBkZSBwYWdlcyBhZmZpY2gmZWFjdXRlO2VzIGRhbnMgbGUgbWVudSBkZSBwYWdpbmF0aW9uOiAiOw0KJGxhbmdbInByZWZfYXV0b2luY3JlbWVudF9hbGlhcyJdID0gIkluY3ImZWFjdXRlO21lbnRlciBhdXRvbWF0aXF1ZW1lbnQgbGVzIGFsaWFzIGVuIGNhcyBkZSBub21zIGlkZW50aXF1ZXM/IjsNCiRsYW5nWyJwcmVmX2RlY29kZWVudGl0aWVzIl0gPSAiRCZlYWN1dGU7Y29kZXIgbGVzIGVudGl0JmVhY3V0ZTtzIGh0bWwgZGFucyBsb3JzIGQnZW52b2kgZGUgZm9ybXVsYWlyZXMgZnJvbnQtZW5kLiI7DQokbGFuZ1sicHJlZl9mcm9udGVuZCJdID0gIkZyb250ZW5kIEVkaXQiOw0KJGxhbmdbImhlbHBfZnJvbnRlbmQiXSA9ICJQb3VyIGRlcyByYWlzb25zIGRlIHMmZWFjdXRlO2N1cml0JmVhY3V0ZTssIGNldHRlIGZvbmN0aW9ubmFsaXQmZWFjdXRlOyBkZXZyYWl0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTtlIGNvbmpvaW50ZW1lbnQgYXZlYyBsZSBtb2R1bGUgRnJvbnQgRW5kIFVzZXJzLiBWb2lyIGxlIDxhIGhyZWY9XCJtb2R1bGVzL0hvc3RlZFZpZGVvQWxidW1zL2RvYy9mYXEuaHRtbFwiIHRhcmdldD1cIl9ibGFua1wiPkZhcTwvYT4gcG91ciBkZSBsJ2FpZGUgY29uY2VybmFudCBsZXMgcGVybWlzc2lvbnMuIjsNCiRsYW5nWyJwcmVmX2ZlX3d5c2l3eWciXSA9ICJBY3RpdmVyIGxlIHd5c2l3eWcgZGFucyBsZSBmcm9udGVuZCAoZG9pdCAmZWNpcmM7dHJlIGFjdGl2JmVhY3V0ZTsgZGFucyBsZXMgUGFyYW0mZWdyYXZlO3RyZXMgZyZlYWN1dGU7biZlYWN1dGU7cmF1eCBhdXNzaSkiOw0KJGxhbmdbInByZWZfZmVfZGVjb2RlZW50aXRpZXMiXSA9ICJEJmVhY3V0ZTtjb2RlciBsZXMgZW50aXQmZWFjdXRlO3MgaHRtbC4gQ2VjaSBuJ2VzdCBwYXMgcmVjb21tYW5kJmVhY3V0ZTsuIjsNCiRsYW5nWyJwcmVmX2ZlX2FsbG93ZmlsZXMiXSA9ICJQZXJtZXR0cmUgbCd1cGxvYWQgZGUgZmljaGllcnMuIjsNCiRsYW5nWyJwcmVmX2ZlX2FsbG93bmFtZWNoYW5nZSJdID0gIlBlcm1ldHRyZSBhdXggdXRpbGlzYXRldXJzIGZyb250ZW5kIGRlIGNoYW5nZSBsZSBub20gKGV0IGRvbmMgbCdhbGlhcykgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudCBxdSdpbHMgbW9kaWZpZW50LiI7DQokbGFuZ1sicHJlZl9mZV9hbGxvd2FkZG5ldyJdID0gIlBlcm1ldHRyZSBhdXggdXRpbGlzYXRldXJzIGZyb250ZW5kIGQnYWpvdXRlciBkZSBub3V2ZWF1eCAmZWFjdXRlO2wmZWFjdXRlO21lbnRzLiI7DQokbGFuZ1sicHJlZl9mZV91c2VjYXB0Y2hhIl0gPSAiVXRpbGlzZXIgbGUgY2FwdGNoYT8gKG1vZHVsZSBDYXB0Y2hhIHJlcXVpcykiOw0KJGxhbmdbInByZWZfZmVfYWZ0ZXJzdWJtaXQiXSA9ICJVbmUgZm9pcyBsZSBmb3JtdWxhaXJlIGVudm95ZXIsIHJlZGlyaWdlciB2ZXJzICI7DQokbGFuZ1sicHJlZl9mZV9tYXhmaWxlc2l6ZSJdID0gIlRhaWxsZSBtYXhpbWFsZSBkZXMgZmljaGllcnMgdXBsb2FkJmVhY3V0ZTtzICZhZ3JhdmU7IHRyYXZlcnMgbGUgZnJvbnRlbmQgKGVuIGJ5dGVzLCBuZSBwZXV0IGV4YyZlYWN1dGU7ZGVyIGxlcyBsaW1pdGVzIGR1IHBocC5pbmkpLiI7DQokbGFuZ1sicHJlZl9hbGxvd19jb21wbGV4X29yZGVyIl0gPSAiUGVybWV0dHJlIGxlcyBwYXJhbSZlZ3JhdmU7dHJlcyBcIm9yZGVyYnlcIiBjb21wbGV4ZXMgKGJldGEpLiI7DQokbGFuZ1sicHJlZl9hZG1pbnBhZ2VzIl0gPSAiTm9tYnJlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBwYXIgcGFnZSBkYW5zIGxlcyBwYW5uZWF1eCBkJ2FkbWluaXN0cmF0aW9uICgwID0gcGFzIGRlIHBhZ2luYXRpb24pLiI7DQokbGFuZ1sicHJlZl9sb2FkX25iY2hpbGRyZW4iXSA9ICJDaGFyZ2VyIGxlIG5vbWJyZSBkJ2VuZmFudHMgKGl0ZW0tJmd0O25iY2hpbGRyZW4pIHBvdXIgdG91cyBsZXMgaXRlbXMpPyI7DQokbGFuZ1sicHJlZl9sb2FkX25leHRwcmV2aW91cyJdID0gIkNoYXJnZXIgbGVzIGxpZW5zIHZlcnMgbGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcHImZWFjdXRlO2MmZWFjdXRlO2RhbnQgZXQgc3VpdmFudD8gKGQmZWFjdXRlO3RhaWwgc2V1bGVtZW50KSI7DQokbGFuZ1sicHJlZl91c2Vfc2Vzc2lvbiJdID0gIlV0aWxpc2VyIGxhIHNlc3Npb24gcG91ciBlbnJlZ2lzdHJlciBsZXMgZmlsdHJlcyBkYW5zIGxlIHBhbm5lYXUgZCdhZG1pbmlzdHJhdGlvbi4iOw0KJGxhbmdbInByZWZfbGV2ZWxwYWdpbmF0aW9uIl0gPSAiTm9tYnJlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHBhciBwYWdlIHBvdXIgbGUgZnJvbnRlbmQiOw0KJGxhbmdbImhlbHBfbGV2ZWxwYWdpbmF0aW9uIl0gPSAiKExhaXNzZXIgdmlkZSBvdSBtZXR0cmUgMCBwb3VyIGQmZWFjdXRlO3NhY3RpdmVyIGxhIHBhZ2luYXRpb24gcGFyIGQmZWFjdXRlO2ZhdXQuIExlIHBhcmFtJmVncmF2ZTt0cmUgbmJwZXJwYWdlIGEgcHImZWFjdXRlO3MmZWFjdXRlO2FuY2Ugc3VyIGNlcyBjb25maWd1cmF0aW9ucy4pIjsNCg0KLy9QQVJBTUVURVJTDQokbGFuZ1sicGhlbHBfYWN0aW9uIl0gPSAiQWN0aW9ucyBwb3NzaWJsZXM6IFwibGlua1wiLCBcInNlYXJjaFwiLCBcImJyZWFkY3J1bWJzXCIsIFwiZGVmYXVsdFwiLCBcInNpdGVtYXBcIi4iOw0KJGxhbmdbInBoZWxwX2FjdGlvbiJdID0gIlNvaXQgXCJsaW5rXCIsIFwic2VhcmNoXCIsIFwiYnJlYWRjcnVtYnNcIiBvdSBcImRlZmF1bHRcIiAoZXQgcG9zc2libGVtZW50IFwic2l0ZW1hcFwiIGV0IFwiZnJvbnRlbmRfZWRpdFwiKS4iOw0KJGxhbmdbInBoZWxwX3doYXQiXSA9ICJQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBuaXZlYXUuIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250IDogPGk+Y2F0ZWdvcnksIGFsYnVtLCB2aWRlbzwvaT4iOw0KJGxhbmdbInBoZWxwX2FsaWFzIl0gPSAiQWxpYXMgZGUgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQgcXVlIHZvdXMgdm91bGV6IGFmZmljaGVyLiI7DQokbGFuZ1sicGhlbHBfcGFyZW50Il0gPSAiU2kgdm91cyB2b3VsZXogbGltaXRlciBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBhZmZpY2gmZWFjdXRlO3MgJmFncmF2ZTsgY2V1eCBhcHBhcnRlbmFudCAmYWdyYXZlOyB1biBwYXJlbnQgcGFydGljdWxpZXIsIGVudHJleiBpY2kgbCdhbGlhcyBkdSBwYXJlbnQuIjsNCiRsYW5nWyJwaGVscF9saW1pdCJdID0gIkxpbWl0ZSBsZSBub21icmUgZCdpdGVtIHJldG91cm4mZWFjdXRlO3MgcGFyIGxhIHJlcXUmZWNpcmM7dGUgKDAgPSBwYXMgZGUgbGltaXRlKSI7DQokbGFuZ1sicGhlbHBfbmJwZXJwYWdlIl0gPSAiTGltaXRlIGxlIG5vbWJyZSBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWZmaWNoJmVhY3V0ZTtzIHBhciBwYWdlLiI7DQokbGFuZ1sicGhlbHBfb3JkZXJieSJdID0gIlZhbGV1cnMgcG9zc2libGVzIDogXCJtb2RpZmllZFwiLCBcImNyZWF0ZWRcIiBvdSBsZSBub20gZCd1biBjaGFtcC4gVG91dGUgYXV0cmUgdmFsZXVyIG9yZG9ubmVyYSBlbiBmb25jdGlvbiBkZSBsJ29yZHJlIG5vcm1hbCBkZXMgaXRlbXMuIjsNCiRsYW5nWyJwaGVscF9kZXRhaWxwYWdlIl0gPSAiU3AmZWFjdXRlO2NpZmllIGwnYWxpYXMgZGUgbGEgcGFnZSB2ZXJzIGxhcXVlbGxlIHBvaW50ZXJvbnQgbGVzIGxpZW5zIChzaSByaWVuIG4nZXN0IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTssIGxhIHBhZ2UgYWN0dWVsbGUgZXN0IHV0aWxpcyZlYWN1dGU7ZSkiOw0KJGxhbmdbInBoZWxwX3Nob3dkZWZhdWx0Il0gPSAiTWV0dHJlIFwidHJ1ZVwiIHNpIHZvdXMgdm91bGV6IGFmZmljaGVyIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHBhciBkJmVhY3V0ZTtmYXV0LiI7DQokbGFuZ1sicGhlbHBfcmFuZG9tIl0gPSAiRW50cmV6IHVuIG5vbWJyZSBwb3VyIGFmZmljaGVyIGNlIG5vbWJyZSBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWwmZWFjdXRlO2F0b2lyZXMuIjsNCiRsYW5nWyJwaGVscF9maW5hbHRlbXBsYXRlIl0gPSAiUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGwnYWZmaWNoYWdlIGQndW5lIHZpZMOpbyBob3JzIGxpc3RlLiI7DQokbGFuZ1sicGhlbHBfZW1iZWR0ZW1wbGF0ZSJdID0gIlBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBpbWJyaXF1ZXIgdW5lIHZpZGVvIChlbWJlZGRpbmcpLiI7DQokbGFuZ1sicGhlbHBfbGlzdHRlbXBsYXRlIl0gPSAiUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGwnYWZmaWNoYWdlIGRlIGxpc3RlIGQmZWFjdXRlO3RhaWxsJmVhY3V0ZTsgZHUgbml2ZWF1IGZpbmFsLiI7DQokbGFuZ1sicGhlbHBfZm9yY2VsaXN0Il0gPSAiTWV0dHJlICZhZ3JhdmU7IDEgc2kgdm91cyB2b3VsZXogYWZmaWNoZXIgZW4gZm9ybWF0IGxpc3QgbSZlY2lyYzttZSBsb3JzcXUnaWwgbid5IGEgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IChhZmZlY3RlIGxlIG5pdmVhdSBmaW5hbCBzZXVsZW1lbnQpLiI7DQokbGFuZ1sicGhlbHBfaW50ZXJuYWwiXSA9ICJQb3VyIHVzYWdlIGludGVybmU7IHNwJmVhY3V0ZTtjaWZpZSBsYSBwYWdlIChsb3JzcXVlIG5icGVycGFnZSBlc3QgdXRpbGlzJmVhY3V0ZTsuIjsNCiRsYW5nWyJwaGVscF9zZWFyY2htb2RlIl0gPSAiVXRpbGlzZXIgYXZlYyBsJ2FjdGlvbiBcInNlYXJjaFwiLiBNZXR0cmUgXCJzaW1wbGVcIiBwb3VyIGNoZXJjaGVyIGRhbnMgdG91cyBsZXMgY2hhbXBzLCBldCBcImFkdmFuY2VkXCIgcG91ciBjaGVyY2hlciBkYW5zIGRlcyBjaGFtcHMgc3AmZWFjdXRlO2NpZmlxdWVzLiI7DQokbGFuZ1sicGhlbHBfcXVlcnkiXSA9ICJVdGlsaXNlciBhdmVjIGwnYWN0aW9uIFwiZGVmYXVsdFwiLiBJbmRpcXVlIGwnaWQgZGUgbGEgcmVxdSZlY2lyYzt0ZSAmYWdyYXZlOyBleCZlYWN1dGU7Y3V0ZXIuIjsNCiRsYW5nWyJwaGVscF9pbmxpbmUiXSA9ICJNZXQgbGVzIGxpZW5zIFwiaW5saW5lXCIuIjsNCiRsYW5nWyJwaGVscF90b2FjdGlvbiJdID0gIlV0aWxpc2VyIGF2ZWMgbCdhY3Rpb24gXCJsaW5rXCIuIEluZGlxdWUgdmVycyBxdWVsbGUgYWN0aW9uIGxlIGxpZW4gZGV2cmEgZGlyaWdlci4iOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/help_fr_FR.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDM+UXVlIGZhaXQgY2UgbW9kdWxlPzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGRlIGcmZWFjdXRlO3JlciAgZGVzIGNhdGFsb2d1ZXMgZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvIHF1aSBzb250IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2VzIHN1ciBkZXMgc2l0ZXMgdGVscyBxdWUgWW91dHViZSwgRGFpbHltb3Rpb24sIEdvb2dsZSBWaWRlb3MsIFlhaG9vICAgVmlkZW9zIG91IFZlb2guIDwvcD4NCgk8cD5JbCBnJmVncmF2ZTtyZSAzIG5pdmVhdXg6IGxhIGNhdCZlYWN1dGU7Z29yaWUsIGwnYWxidW0gdmlkZW8gZXQgbGEgdmlkJmVhY3V0ZTtvIGVsbGUtbSZlY2lyYzttZSBldCBwZXJtZXQgZCdpbnQmZWFjdXRlO2dyZXIgbGVzIHZpZCZlYWN1dGU7b3MgdW5lIHBhciB1bmUgb3UgZGFucyBkZXMgbGlzdGVzIHN1ciB1bmUgcGFnZS4gPC9wPg0KCTxwPjxzdHJvbmc+Tk9VVkVBVSEgTk9VVkVBVSEgTk9VVkVBVSE8L3N0cm9uZz4gRGVwdWlzIGxhIHZlcnNpb24gMS4xLCBpbCBlc3QgbWFpbnRlbmFudCAmZWFjdXRlO2dhbGVtZW50IHBvc3NpYmxlIGRlIGcmZWFjdXRlO3JlciBkZXMgdmlkJmVhY3V0ZTtvcyBsb2NhbGVtZW50IChmb3JtYXRzIG1rdiwgZGl2eCwgYXZpLCBtcDQpIGVuIHV0aWxpc2FudCBsZSBwbHVnaW4gZGl2eCB3ZWIgcGxheWVyITwvcD4NCjxoMz5Db21tZW50IGwndXRpbGlzZXI/PC9oMz4NCgk8aDQ+UGVybWlzc2lvbnM8L2g0Pg0KCTxwPkF2YW50IGRlIGQmZWFjdXRlO2J1dGVyLCBhc3N1cmV6LXZvdXMgcXVlIGxlcyB1dGlsaXNhdGV1cnMgb250IGxlcyBwZXJtaXNzaW9ucyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQlTaSB2b3VzIG4ndXRpbGlzZXogcGFzIGwnb3B0aW9uIGRlIHBlcnNvbm5hbGlzYXRpb24gZGVzIHJlc3RyaWN0aW9ucyBkJ2FjYyZlZ3JhdmU7cyAodm9pciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyksIA0KCQkJbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTm9ybWFsIHVzZXImcXVvdDsgIHNlcmEgc3VmZmlzYW50ZSBwb3VyIGxlIG1vZHVsZS4gDQoJCQlEYW5zIGwnb25nbGV0IGRlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLCB2b3VzIHBvdXZleiBjaG9pc2lyIHF1ZWxzIG9uZ2xldHMNCgkJCXNlcm9udCBtb250ciZlYWN1dGU7cyBhdXggdXRpbGlzYXRldXJzIG5vcm1hdXguIFNldWwgbCdhZG1pbmlzdHJhdGV1ciBldCBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGxhIHBlcm1pc3Npb24gJnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXM6IEFkdmFuY2VkJnF1b3Q7IA0KCQkJYXVyb250IGFjYyZlYWN1dGU7cyAmYWdyYXZlOyBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcy48YnIvPg0KCQlTaSB2b3VzIGQmZWFjdXRlO3NpcmV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBwZXJtaXNzaW9ucyBzcCZlYWN1dGU7Y2lmaXF1ZXMgcGFyIG5pdmVhdSwgYWN0aXZleiBsJ29wdGlvbiBkZSByZXN0cmljdGlvbiBkJ2FjYyZlYWN1dGU7c24gDQoJCQlkYW5zICBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBldCBkb25uZXogbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIG5hbWVfb2ZfbGV2ZWwmcXVvdDsgYXV4IHV0aWxpc2F0ZXVycyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQk8YnI+DQoJPGg0PkFqb3V0IGRlIGNhdCZlYWN1dGU7Z29yaWVzLCBkJmFwb3M7YWxidW1zIHZpZCZlYWN1dGU7b3MgZXQgZGUgdmlkJmVhY3V0ZTtvczwvaDQ+DQoJPHA+UG91ciB1dGlsaXNlciBjZSBtb2R1bGUsIHZvdXMgYWxsZXogZGV2b2lyIGNyJmVhY3V0ZTtlciBsZXMgMyBuaXZlYXV4IChjJ2VzdCAmYWdyYXZlOyBkaXJlIGNhdCZlYWN1dGU7Z29yaWUsIGFsYnVtIGV0IHZpZCZlYWN1dGU7bykuIEQnYWJvcmQsIHZvdXMgYWxsZXIgY3ImZWFjdXRlO2VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcyBkYW5zIGwnaW9uZ2xldCAmcXVvdDtDYXQmZWFjdXRlO2dvcmllcyZxdW90OywgcHVpcyBjciZlYWN1dGU7ZXIgbGVzIGFsYnVtcyBkYW5zIGwnb25nbGV0ICZxdW90O0FsYnVtcyBWaWQmZWFjdXRlO29zJnF1b3Q7IGV0IGVuZmluLCBjciZlYWN1dGU7ZXIgbGVzIHZpZCZlYWN1dGU7b3MgZWxsZXMtbSZlY2lyYzttZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtWaWQmZWFjdXRlO29zJnF1b3Q7LjwvcD4NCgk8cD5Qb3VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcywgaWwgc3VmZml0IGRlIGZvdXJuaXIgbGUgbm9tIGQnYWZmaWNoYWdlLCBldCBvcHRpb25lbGxlbWVudCBzb24gYWxpYXMgKHV0aWxpcyZlYWN1dGU7IGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDthbGlhcyZxdW90OyBwbHVzIGxvaW4pIGV0IHNhIGRlc2NyaXB0aW9uLjxiciAvPg0KCVBvdXIgbGVzIGFsYnVtcywgdm91cyBkb25uZXJleiAmZWFjdXRlO2dhbGVtZW50IHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbGEgY2F0JmVhY3V0ZTtnb3JpZSAmYWdyYXZlOyBsYXF1ZWxsZSBsJ2FsYnVtIHNlIHJhdHRhY2hlLCB1bmUgZGVzY3JpcHRpb24gKG9wdGlvbmVsbGUpLCB1bmUgbGFuZ3VlIChzb3VzIGxhIGZvcm1lIGZyIG91IGVuLVVTKSwgZXQgbGVzIGxhcmdldXIgZXQgaGF1dGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW1zICh1dGlsaXMmZWFjdXRlO2VzIGxvcnNxdWUgbGEgbGFyZ2V1ciBvdSBsYSBoYXV0ZXVyIGQndW5lIHZpZCZlYWN1dGU7byBuZSBzb250IHBhcyBmb3VybmllcykuPC9wPg0KCTxwPlBvdXIgbGVzIHZpZCZlYWN1dGU7b3Msdm91cyBkZXZleiBkb25uZXIgdW4gbm9tLCB1bmFsaWFzIChvcHRpb25lbCksIGwnYWxidW0gYXVxdWVsIGxhIHZpZCZlYWN1dGU7byBlc3QgYXR0YWNoJmVhY3V0ZTssIHVuZSBkZXNjcmlwdGlvbiAob3B0aW9uZWxsZSksIGxlIHNpdGUgc3VyIGxhPWVxdWVsIGxhIHZpZCZlYWN1dGU7byBlc3QgaCZlYWN1dGU7YmVyZyZlYWN1dGU7ZSwgbCdpZGVudGlmaWFudCBkZSBsYSB2aWQmZWFjdXRlO28gKHZvaXIgcGx1cyBsb2luKSBldCBvcHRpb25lbGxlbWVudCwgbGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlIGxhIHZpZCZlYWN1dGU7byAoc2lub24sIGMnZXN0IGxhIHZhbGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZSBsJ2FsYnVtIHF1aSBlc3QgdXRpbGlzJmVhY3V0ZTtlKTwvcD4NCgk8aDQ+TyZ1Z3JhdmU7IHB1aXMgamUgdHJvdXZlciBsZXMgaWRlbnRpZmlhbnRzLCBsZXMgbGFyZ2V1cnMgZXQgaGF1dGV1cnMgZGVzIHZpZCZlYWN1dGU7b3M/PC9oND4NCgk8cD5Qb3VyIDxzdHJvbmc+WW91dHViZTwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7dj0mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03U1p0R3ZYa0VJdyZxdW90OywgYydlc3QgJnF1b3Q7N1NadEd2WGtFSXcmcXVvdDsuPGJyIC8+DQoJUG91ciA8c3Ryb25nPkRhaWx5bW90aW9uPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7b2VzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsIGFwciZlZ3JhdmU7cyBsZSBkZXJuaWVyICZxdW90Oy8mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cuZGFpbHltb3Rpb24uY29tL3ZpZGVvL3hjcWEwZ19jb3JuZXJzaG9wLXdoby1maW5nZXJlZC1yb2NrLW4tcm9sbF9tdXNpYyZxdW90OywgYydlc3QgJnF1b3Q7eGNxYTBnX2Nvcm5lcnNob3Atd2hvLWZpbmdlcmVkLXJvY2stbi1yb2xsX211c2ljJnF1b3Q7LjxiciAvPg0KCSAgUG91ciA8c3Ryb25nPllhaG9vIHZpZGVvczwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgbGUgZGVybmllciAmcXVvdDsvJnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8ueWFob28uY29tL3dhdGNoLzcwOTU2ODcvMTg0NjU4NzgmcXVvdDssIGMnZXN0ICZxdW90OzE4NDY1ODc4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+R29vZ2xlIHZpZGVvczwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO29lc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7ZG9jaWQ9JnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8uZ29vZ2xlLmNvbS92aWRlb3BsYXk/ZG9jaWQ9NzUyMTQyMzM4ODYzNzU0MjY1NyMmcXVvdDssIGMnZXN0ICZxdW90Ozc1MjE0MjMzODg2Mzc1NDI2NTcjJnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+VmVvaDwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO28gZXN0IGxhIGRlcm5pJmVncmF2ZTtyZSBwYXJ0aWUgZGUgbCd1cmwgYXByJmVncmF2ZTtzIGxlIGRlcm5pZXIgJnF1b3Q7LyZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy52ZW9oLmNvbS9icm93c2UvdmlkZW9zL2NhdGVnb3J5L211c2ljL3dhdGNoL3Y1NTU2NThzZXRrUDNEOCZxdW90OywgYydlc3QgJnF1b3Q7djU1NTY1OHNldGtQM0Q4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+aW5zJmVhY3V0ZTtyZXIgdW5lIHZpZCZlYWN1dGU7byBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtlIHN1ciB2b3RyZSBzaXRlPC9zdHJvbmc+LCBsJ2lkIGRlIGxhIHZpZCZlYWN1dGU7byBlc3QgbGUgbm9tIGNvbXBsZXQgZHUgZmljaGllciBkZXB1aXMgbGEgcmFjaW5lIGR1IHNpdGUgY21zbXMgKHBhciBleGVtcGxlLCBzaSBsZSBmaWxtIGVzdCBkYW5zIGxlIGRvc3NpZXIgIk1lc0ZpbG1zIiAmYWdyYXZlOyBsYSByYWNpbmUgZHUgc2l0ZSBjbXNtcyBldCBzJ2FwcGVsbGUgIk1vbkZpbG0uYXZpIiwgbCdpZCBzZXJhICIvTWVzRmlsbXMvTW9uRmlsbS5hdmkiLg0KICA8L3A+DQoJPHA+TGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlcyB2aWQmZWFjdXRlO29zIHBldXZlbnQgZyZlYWN1dGU7biZlYWN1dGU7cmFsZW1lbnQgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7cyBkYW5zIGxlIGNvZGUgZCdpbnQmZWFjdXRlO2dyYXRpb24gKCZxdW90O2VtYmVkJnF1b3Q7KSAgZGVzICAgc2l0ZXMgdmlkJmVhY3V0ZTtvLiBQb3VyIGNoYWN1biBkZSBjZXMgc2l0ZXMsICAgc29pdCBkaXJlY3RlbWVudCBkYW5zIGxhIHBhZ2Ugb3UgZW4gY2xpcXVhbnQgc3VyIHVuIGxpZW4gZGFucyBsYSBwYWdlICAgKFlvdXR1YmUgJmFtcDsgR29vZ2xlIFZpZGVvcyApIG91IGVuIGNsaXF1YW50IHN1ciBsZSBib3V0b24gRXhwb3J0ZXIgICBkYW5zIGxhIHZpZCZlYWN1dGU7byAoRGFpbHltb3Rpb24pLCB1biBib3V0IGRlIGNvZGUgSFRNTCBjb250ZW5hbnQgdW5lIGxhcmdldXIgZXQgdW5lIGhhdXRldXIgdm91cyBzZXJhIGZvdXJuaS48L3A+DQoJPGg0PkFwcGVsIGR1IG1vZHVsZSBkYW5zIHVuZSBwYWdlPC9oND4NCgk8cD5Qb3VyIGFwcGVsZXIgbGUgbW9kdWxlLCBpbCBzdWZmaXQgZCd1dGlsaXNlciBsYSBiYWxpc2Ugc3VpdmFudGU6IHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90OyZsdDtsZXZlbCZndDsmcXVvdDt9PC9wPg0KCTxwPlNpIHZvdXMgb21ldHRleiBjZSBwYXJhbSZlZ3JhdmU7dHJlLCA8c3Ryb25nPnRvdXRlPC9zdHJvbmc+IGxhIGxpc3RlIGRlcyB2aWQmZWFjdXRlO29zIHNlcmEgYWZmaWNoJmVhY3V0ZTtlLiBDZWxhICZlYWN1dGU7cXVpdmF1dCAmYWdyYXZlOzo8YnIgLz4NCgkgIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8cD4ge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7Y2F0ZWdvcnkmcXVvdDt9IGFmZmljaGVyYSBsYSBsaXN0ZSBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMuPC9wPg0KCTxwPntjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSBhZmZpY2hlcmEgbGEgbGlzdGUgZGVzIGFsYnVtcywgcXVlbHF1ZSBzb2l0IGxldXIgY2F0JmVhY3V0ZTtnb3JpZS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogYXVzc2kgZGVtYW5kZXIgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcXVpIGFwcGFydGllbm5lbnQgJmFncmF2ZTsgdW4gcGFyZW50IHNwJmVhY3V0ZTtjaWZpcXVlOjxiciAvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBwYXJlbnQ9JnF1b3Q7YWxpYXNfZHVfcGFyZW50JnF1b3Q7fTxiciAvPg0KCUwnYWxpYXMgcGV1dCAmZWNpcmM7dHJlIHVuZSBjYXQmZWFjdXRlO2dvcmllIG91IGwnYWxpYXMgZCd1biBhbGJ1bS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogZmluYWxlbWVudCBkZW1hbmRlciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc3AmZWFjdXRlO2NpZmlxdWUgYXZlYzo8YnIgLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWxpYXM9JnF1b3Q7YWxpYXNfZGVfbF9lbGVtZW50JnF1b3Q7fTwvcD4NCgk8aDQ+UXVlIGZhaXJlIHNpIGplIG4nYWkgcGFzIGJlc29pbiBjYXQmZWFjdXRlO2dvcmllcyBvdSBkZXMgbml2ZWF1eCAgIGFsYnVtcz88L2g0Pg0KCTxwPlZvdXMgICBkZXZleiBjciZlYWN1dGU7ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgdG91dGUgZmEmY2NlZGlsO29uLiBOb21tZXogbGEgcGFyIGV4ZW1wbGUgJmxhcXVvO3BhciBkJmVhY3V0ZTtmYXV0JnJhcXVvOyBwdWlzIGNyJmVhY3V0ZTtleiB0b3VzICAgdm9zIGFsYnVtcyBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgZXQgdXRpbGlzZXo8YnIgLz4NCiAgICAoY21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDt3aGF0PSZxdW90O2FsYnVtJnF1b3Q7KSAgIHBvdXIgYWZmaWNoZXIgdG91cyBsZXMgYWxidW1zLjxiciAvPg0KICAgIERlIG0mZWNpcmM7bWUsIHNpIHZvdXMgbidhdmV6IHBhcyBiZXNvaW4gZGVzIGFsYnVtcyB2aWQmZWFjdXRlO28sIGNyJmVhY3V0ZTtleiB1biAgIGFsYnVtIHBhciBkJmVhY3V0ZTtmYXV0IGRhbnMgbGEgY2F0JmVhY3V0ZTtnb3JpZSBwYXIgZCZlYWN1dGU7ZmF1dCBldCBjciZlYWN1dGU7ZXogdG91dGVzIHZvcyAgIHZpZCZlYWN1dGU7b3MgZGFucyBjZXQgYWxidW0uIEVuc3VpdGUsIGlucyZlYWN1dGU7cmV6IGxlcyAgIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbCdhaWRlPGJyIC8+DQogICAgZGUge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9ICZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8aDM+UyZlYWN1dGU7cGFyYXRpb24gZW4gcGFnZXM8L2gzPg0KPHA+Vm91cyBwb3V2ZXogbGltaXRlciBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRldmFudCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7cyBzdXIgdW5lIG0mZWNpcmM7bWUgcGFnZTo8YnIvPg0KeyZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IG5icGVycGFnZT0mcXVvdDs1JnF1b3Q7fTxici8+DQoJCURhbnMgbGUgZ2FiYXJpdCwgdm91cyBwb3V2ZXogY29uc3RydWlyZSBsZSBtZW51IGRlcyBwYWdlcyAmYWdyYXZlOyBsJ2FpZGUgZGVzIGJhbGlzZXMgc3VpdmFudGVzICh2b2lyIGxlcyBnYWJhcml0cyBMaXN0TGlua3Mgb3UgTGlzdFZpZGVvcyk6PGJyLz4NCgkJeyRwYWdlX3Nob3dpbmd9LCB7JHBhZ2VfdG90YWxpdGVtc30sIHskcGFnZV9wYWdlbnVtYmVyc30sIHskcGFnZV9uZXh0fSwgeyRwYWdlX3ByZXZpb3VzfTwvcD4NCgk8cD5EZXMgY2xhc3NlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlcyBhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkdSBtZW51IGRlIHBhZ2UgcG91ciBxdWUgdm91cyBwdWlzc2V6IGxlIHBlcnNvbm5hbGlzZXIuPC9wPg0KCTxici8+DQoJPGgzPlVzYWdlIGRlcyByZXF1JmVjaXJjO3RlczwvaDM+DQo8cD5Qb3VyIG9idGVuaXIgdW5lIGxpc3RlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyByZW5jb250cmFudCBkZXMgY3JpdCZlZ3JhdmU7cmVzIHNwJmVhY3V0ZTtjaWZpcXVlcywgdm91cyBwb3V2ZXogY3ImZWFjdXRlO2VyIGRlcyByZXF1JmVjaXJjO3RlcyAmYWdyYXZlOyANCgkJCWwnYWlkZSBkZSBsJ29uZ2xldCBSZXF1JmVjaXJjO3RlcyBkZSBsJ2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZS4gVm91cyBwb3VycmV6IGVuc3VpdGUgYXBwZWxlciBjZXR0ZSByZXF1JmVjaXJjO3RlIGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtxdWVyeSZxdW90Ozo8YnIvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHF1ZXJ5PSZxdW90OzEmcXVvdDt9PC9wPg0KCTxwPjxpPlNpIGwnb3B0aW9uIHBlcm1ldHRhbnQgbGVzIHJlcXUmZWNpcmM7dGVzIHNxbCBtYW51ZWxsZXMgZXN0IGFjdGl2JmVhY3V0ZTtlPC9pPiAodm9pciBsJ29uZ2xldCAmcXVvdDtQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJnF1b3Q7KSwgdm91cyBwb3V2ZXogYXVzc2kgZm91cm5pciANCgkJCWxhIHJlcXUmZWNpcmM7dGUgc3FsIG1hbnVlbGxlbWVudCBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7cXVlcnkmcXVvdDsuIFBhciBleGVtcGxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7IHF1ZXJ5PSZxdW90O0EuZGF0ZV9tb2RpZmllZCA+ICcyMDA5LTAzLTE1JyBBTkQgQS5hY3RpdmUgPSAxJnF1b3Q7fTxici8+DQoJCUxhIHJlcXUmZWNpcmM7dGUgbmUgcGV1dCBjb250ZW5pciBxdWUgbGEgY2xhdXNlIFdIRVJFIGV0IG5lIGRldnJhaXQgcGFzIGNvbnRlbmlyIGxhIGNvbW1hbmRlIFdIRVJFIGVsbGUtbSZlY2lyYzttZS4gUG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBwcm9ibCZlZ3JhdmU7bWVzLCANCgkJCWxlIHByJmVhY3V0ZTtmaXhlICZxdW90O0EuJnF1b3Q7IGRldnJhaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBkZXZhbnQgbGVzIG5vbXMgZGUgY2hhbXBzICgmcXVvdDtCLiZxdW90OyBwZXJtZXQgZCdhY2MmZWFjdXRlO2RlciBhdXggY2hhbXBzIGR1IHBhcmVudCwgbG9yc3F1ZSANCjxici8+DQoJCUdhcmRleiBlbiB0JmVjaXJjO3RlIHF1J2FjdGl2ZXIgY2V0dGUgZm9uY3Rpb24gaW1wbGlxdWUgZGUgZG9ubmVyIHVuIGFjYyZlZ3JhdmU7cyBzcWwgYXV4IHV0aWxpc2F0ZXVycyBwb3V2YW50IGFjYyZlYWN1dGU7ZGVyIGF1eCBnYWJhcml0cyBldCBzb3lleiBwcnVkZW50cyE8L3A+DQoJPGgzPkdhYmFyaXRzPC9oMz4NCgk8cD5Wb3VzIHBvdXZleiBjaG9pc2lyIHBvdXIgICBjaGFxdWUgbml2ZWF1LCBsZSBnYWJhcml0ICAgcXVpIHBlcm1ldCBkJ2FmZmljaGVyIGNlIG5pdmVhdS48L3A+DQoJPHA+UGFyIGQmZWFjdXRlO2ZhdXQsIHBvdXIgbGUgICBuaXZlYXUgIGNhdCZlYWN1dGU7Z29yaWUsIHVuIHNldWwgZ2FiYXJpdCBlc3QgZm91cm5pOiBMaXN0TGlua3MuIENlIGdhYmFyaXQgYWZmaWNoZSBkYW5zICAgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSBjYXQmZWFjdXRlO2dvcmllLCBsZSBub20gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSBldCBzYSAgIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXMgbGVzIGFsYnVtcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllLjxiciAvPg0KCUF1IG5pdmVhdSBkZSBsJ2FsYnVtLCAgIHZvdXMgdXRpbGlzZXogJmVhY3V0ZTtnYWxlbWVudCBMaXN0TGlua3MgcXVpIGFmZmljaGVyYSBkYW5zIHVuZSBsaXN0ZSAmYWdyYXZlOyBwdWNlcywgcG91ciBjaGFxdWUgYWxidW0gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSwgbGUgbm9tIGRlIGwnYWxidW0gZXQgc2EgICBkZXNjcmlwdGlvbi4gTGUgbm9tIGVzdCB1biBsaWVuICAgaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXRlcyBsZXMgdmlkJmVhY3V0ZTtvcyBkZSBsJ2FsYnVtLiA8YnIgLz4NCiAgICBBdSBuaXZlYXUgdmlkJmVhY3V0ZTtvLCB2b3VzICAgcG91dmV6IGNob2lzaXIgZW50cmUgTGlzdExpbmtzIGV0IExpc3RWaWRlb3M6PC9wPg0KCTx1bD4NCgkgIDxsaT5MaXN0TGlua3MgYWZmaWNoZXJhLCAgIGNvbW1lIGQnaGFiaXR1ZGUsIGRhbnMgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSB2aWQmZWFjdXRlO28gZGUgbCdhbGJ1bSwgICBsZSBub20gZGUgbGEgdmlkJmVhY3V0ZTtvIGV0IHNhIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gICBoeXBlcnRleHRlIHZlcnMgbGEgcGFnZSBhZmZpY2hhbnQgbGEgdmlkJmVhY3V0ZTtvIHF1aSBlc3QgYWZmaWNoJmVhY3V0ZTtlIGVuIHV0aWxpc2FudCAgIGxlICZsYXF1bztnYWJhcml0IGRlIGQmZWFjdXRlO3RhaWwmcmFxdW87IHF1aSBlc3QgcGFyIGQmZWFjdXRlO2ZhdXQgRGlzcGxheVZpZGVvLjwvbGk+DQogICAgICA8bGk+TGlzdFZpZGVvcyBhZmZpY2hlcmEgZGlyZWN0bWVudCAgZGFucyBsYSBwYWdlIGRlIGwnYWxidW0sIHBvdXIgY2hhcXVlIHZpZCZlYWN1dGU7byBkZSBsJ2FsYnVtLCAgIGxlIG5vbSBkZSBsYSB2aWQmZWFjdXRlO28sIHNhIGRlc2NyaXB0aW9uIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUuIDwvbGk+DQo8L3VsPg0KPGgzPkFqb3V0IGQndW4gbm91dmVhdSBzaXRlICAgZCdoJmVhY3V0ZTtiZXJnZW1lbnQgPC9oMz4NCjxwPklsIGVzdCB0ciZlZ3JhdmU7cyBzaW1wbGUgICBkJ2Fqb3V0ZXIgdW4gbm91dmVhdSBzaXRlIGQnaCZlYWN1dGU7YmVyZ2VtZW50ITwvcD4NCjxwPjxzcGFuPlRvdXQgZCdhYm9yZCwgdm91cyBkZXZleiAgIGpldGVyIHVuIG9laWwgc3VyIGxlIGNvZGUgJmxhcXVvO2QnaW5jcnVzdGF0aW9uJnJhcXVvOyBkZSBjZSBzaXRlIGV0IGVzc2F5ZXIgZGUgcmVwJmVhY3V0ZTtyZXIgIGxhIGZvcm1lIGRlIGwnSUQgZGUgdmlkJmVhY3V0ZTtvIGV0IG8mdWdyYXZlOyBpbCBkb2l0ICZlY2lyYzt0cmUgaW5zJmVhY3V0ZTtyJmVhY3V0ZTsgZGFucyBsZSAgIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7bW92aWUmcXVvdDsgKHVybCBkdSBjb2RlIGQnZW1iZWRkaW5nKS4gPHNwYW4gdGl0bGU9IlRoZW4ganVzdCBhZGQgdGhlICAgbmV3IHNpdGUgbmFtZSBpbiB0aGUgJ1NpdGVzJyB0YWIgdGhlbiBlZGl0IHRoZSBFbWJlZFZpZGVvICAgdGVtcGxhdGUgYW5kIGFkZCBqdXN0IGJlZm9yZSB0aGUgey9pZn0gbGluZSBhIHNldCBvZiBsaW5lcyBpbiB0aGUgZm9ybToiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRDb2xvcj0nI2ViZWZmOSciIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZENvbG9yPScjZmZmJyI+RW5zdWl0ZSwgaWwgc3VmZml0ICAgZCdham91dGVyIGxlIG5vbSBkdSBub3V2ZWF1IHNpdGUgZGFucyBsJ29uZ2xldCAmcXVvdDtzaXRlcyZxdW90OywgcHVpcyBkZSBtb2RpZmllciAgIGxlIGdhYmFyaXQgRW1iZWRWaWRlbyBwb3VyIHkgYWpvdXRlciBqdXN0ZSBhdmFudCBsYSBsaWduZSBkdSB7L2lmfSwgcXVlbHF1ZXMgbGlnbmVzIGRlIGxhIGZvcm1lOiA8YnIgLz48L3NwYW4+PC9zcGFuPjwvcD4NCjxwcmUgY2xhc3M9InN0eWxlMSI+e2Vsc2VpZiAkaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU9PSZxdW90OyZsdDtsZSBub20gZHUgbm91dmVhdSBzaXRlJmd0OyZxdW90O30NCiAge2Fzc2lnbiB2YXI9JnF1b3Q7bW92aWUmcXVvdDsgDQogIHZhbHVlPSZxdW90OyZsdDtkJmVhY3V0ZTtidXQgZGUgbCZhcG9zO3VybCZndDtgJGl0ZW0tJmd0O3ZpZGVvaWRgJmx0O2ZpbiBkZSBsJmFwb3M7dXJsJmd0OyZxdW90O308L3ByZT4NCjxwPkluc3BpcmV6IHZvdXMgZGVzIGF1dHJlcyBjYXMuLi48L3A+DQo8aDM+QWN0aW9uczwvaDM+DQo8cD5DZSBzb250IGRlcyBhY3Rpb25zICAgc3AmZWFjdXRlO2NpYWxlcywgcXVlIHZvdXMgcG91dmV6IHV0aWxpc2VyIGRhbnMgbGEgZCZlYWN1dGU7Y2xhcmF0aW9uIGRlIG1vZHVsZSBwb3VyIGNyJmVhY3V0ZTtlciAgIGRlcyBzaXRlbWFwLCBkZXMgYnJlYWRjcnVtYnMgZXQgYWluc2kgZGUgc3VpdGUgLi4uPC9wPg0KPGg0PkwnYWN0aW9uIGVtYmVkdmlkZW88L2g0Pg0KPHA+UG91ciBpbWJyaXF1ZXIgdW5lIHZpZCZlYWN1dGU7byAmYWdyYXZlOyBsJ2ludCZlYWN1dGU7cmlldXIgZCd1biBnYWJhcml0IEhWQSwgdm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gPGI+JnF1b3Q7ZW1iZWR2aWRlbyZxdW90OzwvYj46PGJyLz4NCgkJe2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IGFjdGlvbj0mcXVvdDtlbWJlZHZpZGVvJnF1b3Q7IGl0ZW09JGl0ZW19PGJyLz4NCkxlIHBhcmFtJmVncmF2ZTt0cmUgICZxdW90O2l0ZW09JGl0ZW0mcXVvdDsgZXN0IG9ibGlnYXRvaXJlLg0KPGg0PkwnYWN0aW9uICZxdW90O2xpbmsmcXVvdDs8L2g0Pg0KPHA+PHNwYW4+PHNwYW4gdGl0bGU9IllvdSBtYXkgdXNlIHRoZSAgIGFjdGlvbiAnbGluaycgdG8gY3JlYXRlIGEgbGluayB0byB0aGUgZGVmYXVsdCBhY3Rpb24sIHVzaW5nICAgdGhlIHNhbWUgcGFyYW1ldGVyczoiPlZvdXMgcG91dmV6IHV0aWxpc2VyIGwnYWN0aW9uICZxdW90O2xpbmsmcXVvdDsgcG91ciBjciZlYWN1dGU7ZXIgdW4gICBsaWVuIHZlcnMgbCdhY3Rpb24gcGFyIGQmZWFjdXRlO2ZhdXQsIGF2ZWMgbGVzIG0mZWNpcmM7bWVzIHBhcmFtJmVncmF2ZTt0cmVzOjxiciAvPg0KICA8L3NwYW4+PHNwYW4gdGl0bGU9IntjbXNfbW9kdWxlICAgbW9kdWxlPSdIb3N0ZWRWaWRlb0FsYnVtcycgYWN0aW9uPSdsaW5rJyAgIHdoYXQ9J3ZpZGVvJyByYW5kb209JzEnfSI+e2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IGFjdGlvbj0mcXVvdDtsaW5rJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDsgcmFuZG9tPSZxdW90OzEmcXVvdDt9PGJyIC8+DQogIDwvc3Bhbj5jciZlYWN1dGU7ZXJhaXQgdW4gbGllbiB2ZXJzIHVuICAgJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGFsJmVhY3V0ZTthdG9pcmUgZGUgY2Ugbml2ZWF1Ljwvc3Bhbj48YnIvPg0KPGg0PkwnYWN0aW9uIHNpdGVtYXANCjwvaDQ+DQo8cD5Wb3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiA8Yj4mcXVvdDtzaXRlbWFwJnF1b3Q7PC9iPiBwb3VyIGNyJmVhY3V0ZTtlciB1biBzaXRlbWFwIGR1IG1vZHVsZTo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O3NpdGVtYXAmcXVvdDt9PGJyLz4NCgkJVm91cyBwb3V2ZXogcyZlYWN1dGU7bGVjdGlvbm5lciBsZXMgbml2ZWF1eCAmYWdyYXZlOyBsJ2FpZGUgZHUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDt3aGF0JnF1b3Q7LCBldCBwb3V2ZXogY2hvaXNpciBwbHVzIGQndW4gbml2ZWF1IGF2ZWMgbGEgZm9ybWUgDQoJCQl3aGF0PSZxdW90O2xldmVsMXxsZXZlbDImcXVvdDsuPGJyLz4NCkxlcyBhdXRyZXMgcGFyYW0mZWdyYXZlO3RyZXMgZGlzcG9uaWJsZXMgc29udCAmcXVvdDtkZXRhaWxwYWdlJnF1b3Q7IGV0ICZxdW90O2lubGluZSZxdW90Oy48YnIvPjwvcD4NCg0KCTxoNT5Db21tZW50IGFqb3V0ZXIgbWVzIGFsYnVtcyB2aWQmZWFjdXRlO29zICZhZ3JhdmU7IG1vbiBnb29nbGUgc2l0ZW1hcD88L2g1Pg0KCTxwPkNlbGEgdmEgdm91cyBhaWRlciAmYWdyYXZlOyBpbmNsdXJlIHZvcyBhbGJ1bXMgdmlkJmVhY3V0ZTtvcyAmYWdyYXZlOyB1biBnb29nbGUgc2l0ZW1hcCwgPHU+dW5pcXVlbWVudCBzaSBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBzb250IGFmZmljaCZlYWN1dGU7cyBzdXIgbGEgbSZlY2lyYzttZSBwYWdlPC91Pi48YnIvPg0KCTxwPjxzdHJvbmc+KioqIFNpIHZvdXMgdXRpbGlzZXogbGUgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ3NnZW5lcmF0b3IiPmcmZWFjdXRlO24mZWFjdXRlO3JhdGV1ciBnb29nbGUgc2l0ZW1hcDwvYT4gKioqPGJyLz4NCgkgIDwvc3Ryb25nPk91dnJleiB2b3RyZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXRldXIgZGUgc2l0ZW1hcCAoZ3NpdGVtYXAucGhwKSwgZXQganVzdGUgYXZhbnQgbGEgZmVybWV0dXJlIGRlIGwndXJsc2V0ICg8Y29kZT5lY2hvICcgIDw8Lz4vdXJsc2V0PicuICZxdW90O1xcbiZxdW90Ozs8L2NvZGU+KSwgYWpvdXRleiBsZSBjb2RlIHN1aXZhbnQ6PC9wPg0KPHByZSBjbGFzcz0iY29kZSI+DQoJJG1vZHVsZW5hbWUgPSAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OzsNCglpZiggIGlzc2V0KCRnQ21zLT5tb2R1bGVzWyRtb2R1bGVuYW1lXSkgJiYgJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyZxdW90O2FjdGl2ZSZxdW90O10gJiYgJHRoZW1vZHVsZSA9ICRnQ21zLT5tb2R1bGVzWyRtb2R1bGVuYW1lXVsmcXVvdDtvYmplY3QmcXVvdDtdKXsNCgkJLy8gSUNJIFZPVVMgREVWRVogTUVUVFJFIEwnSUQgT1UgTCdBTElBUyBERSBMQSBQQUdFIFVUSUxTRUUgUE9VUiBBRkZJQ0hFUiBMRVMgRUxFTUVOVFM6DQoJCSRkZXRhaWxwYWdlID0gJnF1b3Q7TUFQQUdFJnF1b3Q7Ow0KCQkkcGFyYW1zID0gYXJyYXkoJnF1b3Q7bW9kZSZxdW90Oz0+JnF1b3Q7Z29vZ2xlJnF1b3Q7LCAmcXVvdDtkZXRhaWxwYWdlJnF1b3Q7PT4kZGV0YWlscGFnZSk7DQoJCSR0aGVtb2R1bGUtPkRvQWN0aW9uKCZxdW90O3NpdGVtYXAmcXVvdDssICZxdW90OyZxdW90OywgJHBhcmFtcyk7DQoJfQ0KCTwvcHJlPg0KCTxwPkJpZW4gc3VyLCBlbnRyZXogdW4gZGV0YWlscGFnZSBxdWUgY2Ugc29pdCB1biBpZCBvdSB1biBhbGlhcy48L3A+DQoJPHA+Tm90ZXogcXVlIHZvdXMgcG91dmV6IGF1c3NpIHV0aWxpc2VyIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7d2hhdCZxdW90OyBwb3VyIHNwJmVhY3V0ZTtjaWZpZXIgcXVlbChzKSBuaXZlYXUoeCkgdm91cyB2b3VsZXogdm9pciBhZmZpY2gmZWFjdXRlOyhzKSAodm91cyBwb3V2ZXogc3AmZWFjdXRlO2NpZmllciBwbHVzaWV1cnMgbml2ZWF1eCBhdmVjICZxdW90O25pdmVhdTF8bml2ZWF1MiZxdW90OyBldGMpLjwvcD4NCgk8cD48c3Ryb25nPioqKiBTaSB2b3VzIHV0aWxpc2V6IGxlIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NpdGVtYXBtcyI+U2l0ZU1hcCBNYWRlIFNpbXBsZTwvYT4gKioqIDwvc3Ryb25nPjwvcD4NCjxwPk1ldHRleiBzaW1wbGVtZW50IGxlIGNvZGUgY2kgZGVzc3VzIGRhbnMgdW4gVURUICh1c2VyLWRlZmluZWQtdGFnKSwgZXQgYXBwZWxleiBjZXQgVURUICZhZ3JhdmU7IGxhIGZpbiBkZSB2b3RyZSBnYWJhcml0IGRlIHNpdGVtYXAsIGp1c3RlIGF2YW50IDxjb2RlPjw8Lz4vdXJsc2V0PjwvY29kZT4uPC9wPg0KCQ0KCTxoND5MJ2FjdGlvbiBzZWFyY2g8L2g0Pg0KPHA+Vm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gJnF1b3Q7PHN0cm9uZz5zZWFyY2g8L3N0cm9uZz4mcXVvdDsgcG91ciBhZmZpY2hlciB1biBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZTo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O3NlYXJjaCZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTxici8+DQoJCVV0aWxpc2V6IGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7c2VhcmNobW9kZSZxdW90OyBwb3VyIGNob2lzaXIgbGEgcmVjaGVyY2hlIHNpbXBsZSBvdSBhdmFuYyZlYWN1dGU7ZSAocGFyIGQmZWFjdXRlO2ZhdXQpLiBOb3RleiBxdWUgdm91cyBuZSBwb3V2ZXogcGFzIA0KCQkJZmFpcmUgdW5lIHJlY2hlcmNoZSBlbiBtb2RlIGF2YW5jJmVhY3V0ZTsgZGFucyB0b3VzIGxlcyBuaXZlYXV4IGVuIG0mZWNpcmM7bWUgdGVtcHMuPGJyLz4NCgkJTGVzIHBhcmFtJmVncmF2ZTt0cmVzIHN1aXZhbnRzIHBldXZlbnQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlO3MgYXZlYyBsJ2FjdGlvbiAmcXVvdDtzZWFyY2gmcXVvdDs6IHdoYXQsIGxpbWl0LCBuYnBlcnBhZ2UsIG9yZGVyYnksIGRldGFpbHBhZ2UsIGxpc3R0ZW1wbGF0ZSw8L3A+DQpWb2lyIEhvc3RlZFZpZGVvQWxidW1zL3RlbXBsYXRlcy9zZWFyY2gudHBsIHBvdXIgbW9kaWZpZXIgbGUgZm9ybXVsYWlyZSBkZSByZWNoZXJjaGVzLjwvcD48YnIvPg0KDQoJPGJyLz48aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPg0KCQk8cD5DZSBtb2R1bGUgYSAmZWFjdXRlO3QmZWFjdXRlOyBkJ2Fib3JkIGNyJmVhY3V0ZTsmZWFjdXRlOyBhdmVjIENUTE1vZHVsZU1ha2VyIHB1aXMgbW9kaWZpJmVhY3V0ZTsgbWFudWVsbGVtZW50LiBJbCBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwuPC9wPjxici8+PGJyLz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/thelp_fr_FR.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZhcmlhYmxlcyBTbWFydHkgcG91ciBsZSBnYWJhcml0IGRlIGxpc3RlIGRlIGNhdGVnb3JpZXM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoc2kgbGUgcGFyZW50IGVzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7KTwvbGk+DQoJCQk8bGk+JGl0ZW1saXN0ICh0YWJsZWF1IGQmYXBvcztpdGVtcyk8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O25iY2hpbGRyZW4gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZhcmlhYmxlcyBTbWFydHkgcG91ciBsZSBnYWJhcml0IGRlIGxpc3RlIGQmYXBvczthbGJ1bXM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoc2kgbGUgcGFyZW50IGVzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7KTwvbGk+DQoJCQk8bGk+JGl0ZW1saXN0ICh0YWJsZWF1IGQmYXBvcztpdGVtcyk8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O25iY2hpbGRyZW4gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bGFuZzwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RlZmF1bHRfd2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZWZhdWx0X2hlaWdodDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJCQk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfbW9kaWZpZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX2NyZWF0ZWQ8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQoJPGgzIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9kaXNwbGF5dG9nZ2xlKHRoaXMpOyI+Jmd0OyBWYXJpYWJsZXMgU21hcnR5IHBvdXIgbGUgZ2FiYXJpdCBkZSBsaXN0ZSBkZSB2aWQmZWFjdXRlO29zPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCQkJPGxpPiRwYXJlbnRvYmogKHNpIGxlIHBhcmVudCBlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAodGFibGVhdSBkJmFwb3M7aXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7YWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZXRhaWxsaW5rPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsdXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfaWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfbmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudGxpbms8L2xpPg0KCQkJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc2RlZmF1bHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX21vZGlmaWVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9jcmVhdGVkPC9saT4NCgkJPC91bD4NCgkJPGJyLz48YnIvPg0KCTwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KCTxoMyBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fZGlzcGxheXRvZ2dsZSh0aGlzKTsiPiZndDsgVmFyaWFibGVzIFNtYXJ0eSBwb3VyIGxlIGdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBkJmFwb3M7dW5lIHZpZCZlYWN1dGU7bzwvaDM+DQoJPGRpdiBjbGFzcz0idHBsdmFyc19oaWRlIj4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kcHJldmlvdXNfaXRlbSAoc2kgY2hhcmcmZWFjdXRlOyk8L2xpPg0KCQkJPGxpPiRuZXh0X2l0ZW0gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfaWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfbmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudGxpbms8L2xpPg0KCQkJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc2RlZmF1bHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX21vZGlmaWVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9jcmVhdGVkPC9saT4NCgkJCTxsaT4kbGFiZWxzLT4uLi48L2xpPg0KCQk8L3VsPg0KCQk8YnIvPg0KCQk8cD5EYW5zIGxlIGdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBkdSBuaXZlYXUgZmluYWwsIHV0aWxpc2V6IGwmYXBvcztvYmpldCAkbGFiZWxzIHBvdXIgYWZmaWNoZXIgbGVzICZlYWN1dGU7dGlxdWV0dGVzIGRlIGNoYW1wcyBzZWxvbiBsYSBsYW5ndWUgKCRsYWJlbHMtPm5vbV9kdV9jaGFtcCkuPC9wPg0KCQk8cD5Wb3VzIHBvdXZleiBhY2MmZWFjdXRlO2RlciBhdXggb2JqZXRzIHBhcmVudHMgZW4gdXRpbGlzYW50ICRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0LT4uLi4gKGV0IGFpbnNpIGRlIHN1aXRlKTwvcD4NCgkJPGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPCEtLQ0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IE9iamVjdCBmaWNoaWVyPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGZpbGUtJmd0O2ZpbGVwYXRoIChyZWxhdGlmKTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O2V4dDwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O3VybCAodXJsIGFic29sdSk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDtzaXplICh0YWlsbGUgZW4gYnl0ZXMpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7c2l6ZV93Zm9ybWF0ICh0YWlsbGUgZm9ybWF0JmVhY3V0ZTtlKTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O2ltYWdlc2l6ZSAoaW1hZ2VzIHNldWxlbWVudCk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDt3aWR0aCAoaW1hZ2VzIHNldWxlbWVudCk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDtoZWlnaHQgKGltYWdlcyBzZXVsZW1lbnQpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7aW1hZ2UgKGJhbGlzZSBpbWc7IGltYWdlcyBzZXVsZW1lbnQpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7dGh1bWJuYWlsICh1cmwgZGUgbGEgdmlnbmV0dGUsIHNpIGFwcGxpY2FibGUpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7ZmlsZW10aW1lIChkZXJuaSZlZ3JhdmU7cmUgbW9kaWZpY2F0aW9uLCBmb3JtYXQgdW5peCk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDttb2RpZmllZCAoZGVybmkmZWdyYXZlO3JlIG1vZGlmaWNhdGlvbiwgZm9ybWF0IHN0YW5kYXJkKTwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KLS0+DQo8ZGl2Pg0KCTxoMyBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fZGlzcGxheXRvZ2dsZSh0aGlzKTsiPiZndDsgQnJlYWRjcnVtYnM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTxwPkxvcnNxdWUgdm91cyAmZWNpcmM7dGVzIGRhbnMgdW4gZ2FiYXJpdCBkZSBtb2R1bGUsIHZvdXMgcG91dmV6IGFwcGVsZXIgbGVzIGJyZWFkY3J1bWJzIGVuIHV0aWxpc2FudCBsYSBiYWxpc2Uge0hvc3RlZFZpZGVvQWxidW1zX2JyZWFkY3J1bWJzfS4gDQoJCVZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBtJmVjaXJjO21lcyBwYXJhbSZlZ3JhdmU7dHJlcyBxdWUgZGFucyBsYSBiYWxpc2UgYnJlYWRjcnVtYnMgZHUgY21zIA0KCQkoaW5pdGlhbCwgZGVsaW1pdGVyLCBjbGFzc2lkLCBjdXJyZW50Y2xhc3NpZCksIGRlIG0mZWNpcmM7bWUgcXVlIGxlIHBhcmFtJmVncmF2ZTt0cmUgInN0YXJ0bGV2ZWwiLjxici8+DQoJCUVuIGRlaG9ycyBkZXMgZ2FiYXJpdHMgZGUgbW9kdWxlLCBuJmFwb3M7aW1wb3J0ZSBvJnVncmF2ZTsgc3VyIGxhIHBhZ2UsIHZvdXMgcG91dmV6IGFwcGVsZXIgbCZhcG9zO2FjdGlvbiBicmVhZGNydW1icyANCgkJe2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgYWN0aW9uPSJicmVhZGNydW1icyJ9LCB1dGlsaXNhbnQgbGVzIG0mZWNpcmM7bWVzIHBhcmFtJmVncmF2ZTt0cmVzLjwvcD4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IEluc2VydGlvbiBkZSB2aWQmZWFjdXRlO288L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTxwPkxvcnNxdWUgdm91cyAmZWNpcmM7dGVzIGRhbnMgdW4gZ2FiYXJpdCBkZSBtb2R1bGUsIHZvdXMgcG91dmV6IGlucyZlYWN1dGU7cmVyIHVuZSB2aWQmZWFjdXRlO28gZW4gdXRpbGlzYW50IGxhIGJhbGlzZSB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfS4gDQoJCUxlIHBhcmFtJmVncmF2ZTt0cmUgaXRlbT0kaXRlbSBlc3Qgb2JsaWdhdG9pcmUuIEEgbCZhcG9zO2ludCZlYWN1dGU7cmlldXIgZHUgZ2FiYXJpdCBhc3NvY2kmZWFjdXRlOyAmYWdyYXZlOyBjZXR0ZSBiYWxpc2UsIHZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBjaGFtcHMgc3VpdmFudHM6PGJyLz4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtsYW5nPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGxhYmVscy0+Li4uPC9saT4NCgkJPC91bD4NCgk8L2Rpdj4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/lang/help_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDI+SGVscDwvaDI+DQo8aDM+V2hhdCBEb2VzIFRoaXMgTW9kdWxlIERvPyA8L2gzPg0KPHA+VGhpcyBtb2R1bGUgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGdhbGxlcmllcyBvciBhbGJ1bXMgb2YgdmlkZW9zIHRoYXQgICBhcmUgaG9zdGVkIG9uIHNpdGVzIHN1Y2ggYXMgWW91dHViZSwgRGFpbHltb3Rpb24sIEdvb2dsZSBWaWRlb3MsIFlhaG9vICAgVmlkZW9zIG9yIFZlb2guIDwvcD4NCjxwPkl0IGhhcyAzIGxldmVsczogY2F0ZWdvcnksIHZpZGVvIGFsYnVtIChvciBnYWxsZXJ5KSBhbmQgICB2aWRlbyBpdHNlbGYuICBJdCBhbGxvd3MgZW1iZWRkaW5nIHZpZGVvcyBvbmUgYnkgb25lIG9yIGluIHBhZ2VkIGxpc3QgLiA8L3A+DQo8cD48c3Ryb25nPk5FVyEgTkVXISBORVchPC9zdHJvbmc+IEZyb20gdGhlIDEuMSB2ZXJzaW9uLCBpdCBpcyBub3cgYWxzbyBwb3NzaWJsZSB0byBkZWFsIHdpdGggdmlkZW9zIHN0b3JlZCBvbiB5b3VyIHdlYiBzZXJ2ZXIgKGZvcm1hdHMgbWt2LCBkaXZ4LCBhdmksIG1wNCkgdXNpbmcgdGhlIGRpdnggd2ViIHBsYXllciBwbHVnaW4hPC9wPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0PzwvaDM+DQo8aDQ+UGVybWlzc2lvbnM8L2g0Pg0KPHA+TWFrZSBzdXJlIHlvdXIgdXNlcnMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMuIElmIHlvdSBhcmUgbm90IHVzaW5nIHRoZSBhY2Nlc3MgcmVzdHJpY3Rpb24gb3B0aW9uIChzZWUgc2V0dGluZ3MpLCANCgkJdGhlICJIb3N0ZWRWaWRlb0FsYnVtczogTm9ybWFsIHVzZXIiIHBlcm1pc3Npb24gd2lsbCBiZSBlbm91Z2ggdG8gdXNlIHRoZSBtb2R1bGUuIA0KCQlJbiB0aGUgc2V0dGluZ3MgdGFiLCB5b3UgY2FuIGNob29zZSB3aGljaCB0YWJzIHdpbGwgYmUgZGlzcGxheWVkIGZvciB0aGUgbm9ybWFsIHVzZXIuIA0KCQlPbmx5IHRoZSBhZG1pbmlzdHJhdG9yIGFuZCB1c2VycyB3aXRoIHRoZSAiSG9zdGVkVmlkZW9BbGJ1bXM6IEFkdmFuY2VkIiBwZXJtaXNzaW9uIHdpbGwgaGF2ZSBhY2Nlc3MgdG8gc2V0dGluZ3MgdGFiLjxici8+DQoJSWYgeW91IHdpc2ggdG8gZGVmaW5lIGxldmVsLXNwZWNpZmljIHBlcm1pc3Npb25zLCBhY3RpdmF0ZSB0aGUgYWNjZXNzIHJlc3RyaWN0aW9uIG9wdGlvbiBpbiB0aGUgc2V0dGluZ3MgdGFiIGFuZCBnaXZlIA0KCQl0aGUgIkhvc3RlZFZpZGVvQWxidW1zOiBNYW5hZ2UgbmFtZV9vZl9sZXZlbCIgcGVybWlzc2lvbiB0byB0aGUgYXBwcm9wcmlhdGUgdXNlcnMuPC9wPg0KPGg0PkFkZGluZyBjYXRlZ29yaWVzLCB2aWRlbyBhbGJ1bXMgYW5kIHZpZGVvczwvaDQ+DQo8cD5UbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSB3aWxsIG5lZWQgdG8gY3JlYXRlIHRoZSAzIGxldmVscyAoaWUgY2F0ZWdvcnksIGFsYnVtIGFuZCB2aWRlbykuIEZpcnN0LCB5b3Ugd2lsbCBoYXZlIHRvIGNyZWF0ZSB0aGUgY2F0ZWdvcmllcyBpbiB0aGUgJnF1b3Q7Q2F0ZWdvcmllcyZxdW90OyB0YWIsIHRoZW4gY3JlYXRlIHRoZSB2aWRlbyBhbGJ1bXMgaW4gdGhlICZxdW90O1ZpZGVvIEFsYnVtcyZxdW90OyB0YWIgYW5kIHRoZW4gdGhlIHZpZGVvcyB0aGVtc2VsdmVzIGluIHRoZSAmcXVvdDtWaWRlbyZxdW90OyB0YWIuPC9wPg0KPHA+Rm9yIGNhdGVnb3JpZXMsIGFsbCB5b3UgbmVlZCB0byBwcm92aWRlIGlzIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIGNhdGVnb3J5LCBhbmQgb3B0aW9ubmFseSBpdHMgYWxpYXMgKHVzZWQgd2l0aCB0aGUgJnF1b3Q7YWxpYXMmcXVvdDsgcGFyYW1ldGVyKSBhbmQgaXRzIGRlc2NyaXB0aW9uLjxiciAvPg0KRm9yIGFsYnVtcywgeW91IHdpbGwgYWxzbyBwcm92aWRlIGEgbmFtZSwgYW4gYWxpYXMgKG9wdGlvbmFsKSwgdGhlIGNhdGVnb3J5IHRvIHdoaWNoIHRoZSBhbGJ1bSBpcyBhdHRhY2hlZCwgYSBkZXNjcmlwdGlvbiAob3B0aW9uYWwpLCBhIGxhbmd1YWdlIChpbiB0aGUgZm9ybSBmciBvciBlbi1VUyksIGFuZCB0aGUgZGVmYXVsdCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB2aWRlb3MgaW4gdGhpcyBhbGJ1bSAodXNlZCB3aGVuIHRoZSB3aWR0aCBvciBoZWlnaHQgb2YgdGhlIHZpZGVvIGlzIG5vdCBzZXQpLjwvcD4NCjxwPkZvciB2aWRlb3MsIHlvdSBuZWVkIHRvIHByb3ZpZGUgYSBuYW1lLCBhbiBhbGlhcyAob3B0aW9uYWwpLCB0aGUgYWxidW0gdG8gd2hpY2ggdGhlIHZpZGVvIGlzIGF0dGFjaGVkLCBhIGRlc2NyaXB0aW9uIChvcHRpb25hbCksIHRoZSB2aWRlbyBzaXRlIHdoZXJlIHRoZSB2aWRlbyBpcyBob3N0ZWQsIHRoZSB2aWRlbyBpZGVudGZpZXIgKHNlZSBiZWxvdykgYW5kIG9wdGlvbmFseSB0aGUgd2lkdGggYW4gaGVpZ2h0IG9mIHRoZSB2aWRlbyAoaWYgbm90IHNldCwgdGhlIGRlZmF1bHQgb25lIG9mIHRoZSBhbGJ1bSBpcyB1c2VkKTwvcD4NCjxoND5XaGVyZSBjYW4gSSBmaW5kIFZpZGVvIGlkcywgd2lkdGggYW5kIGhlaWdodDwvaDQ+DQo8cD5Gb3IgPHN0cm9uZz5Zb3V0dWJlPC9zdHJvbmc+LCB0aGUgdmlkZW8gaWQgaXMgdGhlIGxhc3QgcGFydCBvZiB0aGUgdXJsIGFmdGVyICZxdW90O3Y9JnF1b3Q7LiBGb3IgaW5zdGFuY2UsIGluIGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03U1p0R3ZYa0VJdywgaXQncyAmcXVvdDs3U1p0R3ZYa0VJdyZxdW90Oy48YnIgLz4NCkZvciA8c3Ryb25nPkRhaWx5bW90aW9uPC9zdHJvbmc+LCBpdCdzIHRoZSAgbGFzdCBwYXJ0IG9mIHRoZSB1cmwgYWZ0ZXIgdGhlIGxhc3QgJnF1b3Q7LyZxdW90Oy4gRm9yIGluc3RhbmNlLCBpbiBodHRwOi8vd3d3LmRhaWx5bW90aW9uLmNvbS92aWRlby94Y3FhMGdfY29ybmVyc2hvcC13aG8tZmluZ2VyZWQtcm9jay1uLXJvbGxfbXVzaWMsIGl0J3MgJnF1b3Q7eGNxYTBnX2Nvcm5lcnNob3Atd2hvLWZpbmdlcmVkLXJvY2stbi1yb2xsX211c2ljJnF1b3Q7LjxiciAvPg0KRm9yIDxzdHJvbmc+WWFob28gdmlkZW9zPC9zdHJvbmc+LCBpdCdzIGFsc28gdGhlICBsYXN0IHBhcnQgb2YgdGhlIHVybCBhZnRlciB0aGUgbGFzdCAmcXVvdDsvJnF1b3Q7LiBGb3IgaW5zdGFuY2UsIGluIGh0dHA6Ly92aWRlby55YWhvby5jb20vd2F0Y2gvNzA5NTY4Ny8xODQ2NTg3OCwgaXQncyAmcXVvdDsxODQ2NTg3OCZxdW90Oy48YnIgLz4NCkZvciA8c3Ryb25nPkdvb2dsZSB2aWRlb3M8L3N0cm9uZz4sIGl0J3MgIHRoZSBsYXN0IHBhcnQgb2YgdGhlIHVybCBhZnRlciAmcXVvdDtkb2NpZD0mcXVvdDsuIEZvciBpbnN0YW5jZSwgaW4gaHR0cDovL3ZpZGVvLmdvb2dsZS5jb20vdmlkZW9wbGF5P2RvY2lkPTc1MjE0MjMzODg2Mzc1NDI2NTcjLCBpdCdzICZxdW90Ozc1MjE0MjMzODg2Mzc1NDI2NTcjJnF1b3Q7PGJyIC8+DQpGb3IgPHN0cm9uZz5WZW9oPC9zdHJvbmc+LCAgaXQncyAgdGhlIGxhc3QgcGFydCBvZiB0aGUgdXJsIGFmdGVyIHRoZSBsYXN0ICZxdW90Oy8mcXVvdDsuIEZvciBpbnN0YW5jZSwgaW4gaHR0cDovL3d3dy52ZW9oLmNvbS9icm93c2UvdmlkZW9zL2NhdGVnb3J5L211c2ljL3dhdGNoL3Y1NTU2NThzZXRrUDNEOCwgaXQncyAmcXVvdDt2NTU1NjU4c2V0a1AzRDgmcXVvdDsuPGJyIC8+DQpUbyA8c3Ryb25nPmluc2VydCBhIHZpZGVvIGhvc3RlZCBvbiB5b3VyIG93biBzaXRlPC9zdHJvbmc+LCB0aGUgdmlkZW8gaWQgaXMgdGhlIGNvbXBsZXRlIGZpbGVuYW1lIGZyb20gdGhlIGNtc21zIHNpdGUgcm9vdCAoZm9yIGluc3RhbmNlLCBpZiB0aGUgbW92aWUgaXMgaW4gdGhlICJNeU1vdmllcyIgZGlyZWN0b3J5IGF0IHRoZSBjbXNtcyBzaXRlIHJvb3QgYW5kIGlzIG5hbWVkICJNeU1vdmllLmF2aSIsIHRoZSBpZCBpcyAiL015TW92aWVzL015TW92aWUuYXZpIi48L3A+DQo8cD5UaGUgd2lkdGggYW5kIGhlaWdodCBvZiB2aWRlb3MgY2FuIGdlbmVyYWxseSBiZSBmb3VuZCBpbiB0aGUgJnF1b3Q7ZW1iZWQmcXVvdDsgY29kZSBvZiB0aGUgdmlkZW8gc2l0ZXMuIEZvciBlYWNoIG9mIHRoZXNlIHNpdGVzLCBlaXRoZXIgZGlyZWN0bHkgaW4gdGhlIHBhZ2Ugb3IgYnkgY2xpY2tpbmcgb24gYSBsaW5rIGluIHRoZSBwYWdlICh5b3V0dWJlICZhbXA7IGdvb2dsZSB2aWRlb3MpIG9yIGJ5IGNsaWNraW5nIG9uIHRoZSBleHBvcnQgYnV0dG9uIGluIHRoZSB2aWRlbyAoZGFpbHltb3Rpb24pLCB5b3Ugd2lsbCBiZSBwcm92aWRlZCB3aXRoIGEgcGllY2Ugb2YgaHRtbCBjb2RlIGNvbnRhaW5pbmcgYSB3aWR0aCBhbmQgYSBoZWlnaHQuPC9wPg0KPGg0PkNhbGxpbmcgdGhlIG1vZHVsZSBpbiBhIHBhZ2U8L2g0Pg0KPHA+VG8gY2FsbCB0aGUgbW9kdWxlLCBzaW1wbHkgdXNlIHRoZSBmb2xsb3dpbmcgdGFnOjxici8+DQogIHtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIHdoYXQ9JnF1b3Q7Jmx0O2xldmVsJmd0OyZxdW90O308L3A+DQo8cD5JZiB5b3Ugb21pdCB0aGUgd2hhdCBwYXJhbWV0ZXIsICB0aGUgPGI+d2hvbGU8L2I+IGxpc3Qgb2YgdmlkZW9zIHdpbGwgYmUgZGlzcGxheWVkLiBJdCBpcyBlcXVpdmFsZW50IHRvOjxiciAvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDt9PC9wPg0KPHA+ICB7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiB3aGF0PSJjYXRlZ29yeSJ9IHdpbGwgZGlzcGxheSB0aGUgY2F0ZWdvcmllcyBsaXN0LjwvcD4NCjxwPntjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSB3aWxsIGRpc3BsYXkgdGhlIGFsYnVtcyBsaXN0LCB3aGF0ZXZlciB0aGUgY2F0ZWdvcnkuPC9wPg0KPHA+WW91IG1heSBhbHNvIGFzayBmb3IgZWxlbWVudHMgd2hvIGJlbG9uZyB0byBhIHNwZWNpZmljIHBhcmVudDo8YnIvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIHBhcmVudD0iYWxpYXNfb2ZfcGFyZW50In08YnIgLz4NClRoZSBhbGlhcyBjYW4gYmUgYSBjYXRlZ29yeSBvciBhbiBhbGJ1bSBhbGlhcy48L3A+DQo8cD5Zb3UgbWF5IGZpbmFsbHkgYXNrIGZvciBhIHNwZWNpZmljIGVsZW1lbnQ6PGJyPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIGFsaWFzPSJhbGlhc19vZl9pdGVtIn08L3A+DQo8aDQ+V2hhdCBpZiAgSSBkb24ndCBuZWVkIGNhdGVnb3JpZXMgb3IgYWxidW1zIGxldmVscz88L2g0Pg0KPHA+WW91IHdpbGwgbmVlZCB0byBjcmVhdGUgYSBkZWZhdWx0IGNhdGVnb3J5IGFueXdheS4gTmFtZSBpdCBmb3IgaW5zdGFuY2UgJnF1b3Q7ZGVmYXVsdCZxdW90OyB0aGVuIGNyZWF0ZSBhbGwgeW91ciBhbGJ1bXMgaW4gdGhpcyBjYXRlZ29yeSBhbmQgdXNlIHRoZTxiciAvPg0KICB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgd2hhdD0mcXVvdDthbGJ1bSZxdW90O30gdG8gZGlzcGxheSBhbGwgdGhlIGFsYnVtcy48YnIvPiANCiAgU2FtZSwgaWYgeW91IGRvbid0IG5lZWQgdGhlIHZpZGVvIGFsYnVtcywgY3JlYXRlIGEgZGVmYXVsdCBhbGJ1bSBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeSBhbmQgbGluayBhbGwgeW91ciB2aWRlb3MgdG8gdGhpcyBhbGJ1bS4gVGhlbiBpbnNlcnQgdGhlIHZpZGVvcyB1c2luZzxiciAvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDt9PC9wPg0KPGg0PlNlcGFyYXRpbmcgaW50byBwYWdlczwvaDQ+DQo8cD5Zb3UgbWF5IGxpbWl0IHRoZSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgc2hvd24gb24gb25lIHBhZ2U6PGJyLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiBuYnBlcnBhZ2U9IjUifTxici8+DQoJSW4gdGhlIHRlbXBsYXRlLCB5b3UgY2FuIGJ1aWxkIHRoZSBwYWdlIG1lbnUgdXNpbmcgdGhlIGZvbGxvd2luZyB0YWdzIChzZWUgTGlzdExpbmtzIG9yIExpc3RWaWRlb3MgdGVtcGxhdGVzKTo8YnIvPg0KCXskcGFnZV9zaG93aW5nfSwgeyRwYWdlX3RvdGFsaXRlbXN9LCB7JHBhZ2VfcGFnZW51bWJlcnN9LCB7JHBhZ2VfbmV4dH0sIHskcGFnZV9wcmV2aW91c308L3A+DQo8aDQ+VXNpbmcgcXVlcmllczwvaDQ+DQo8cD5UbyBnZXQgYSBsaXN0IG9mIGl0ZW0gdGhhdCBtZWV0IHNwZWNpZmljIGNyaXRlcmlhLCB5b3UgY2FuIGNyZWF0ZSBhIHF1ZXJ5IHVzaW5nIHRoZSBxdWVyaWVzIHRhYiBvZiB0aGUgYWRtaW4gcGFuZWwsIGFuZCBjYWxsIHRoZW0gdXNpbmcgdGhlICJxdWVyeSIgcGFyYW1ldGVyOjxici8+DQoJe2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgcXVlcnk9IjUifTwvcD4NCjxwPjxpPklmIHRoZSBvcHRpb24gdG8gYWxsb3cgbWFudWVsIHNxbCBxdWVyaWVzIGlzIGVuYWJsZWQ8L2k+IChzZWUgIlNldHRpbmdzIiB0YWIpLCB5b3UgbWF5IGFsc28gcHJvdmlkZSB0aGUgc3FsIHF1ZXJ5IGRpcmVjdGx5IHdpdGggdGhlIHF1ZXJ5IHBhcmFtZXRlci4gRm9yIGV4YW1wbGU6PGJyLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiB3aGF0PSJ2aWRlbyIgcXVlcnk9IkEuZGF0ZV9tb2RpZmllZCA+ICcyMDA5LTAzLTE1JyBBTkQgQS5hY3RpdmUgPSAxIn08YnIvPg0KCVRoZSBxdWVyeSBwYXJhbWV0ZXIgY2FuIG9ubHkgaG9sZCB0aGUgV0hFUkUgY2xhdXNlIG9mIHRoZSBxdWVyeSwgYW5kIHNob3VsZCBub3QgaW5jbHVkZSB0aGUgV0hFUkUgY29tbWFuZCBpdHNlbGYuIFRvIGF2b2lkIHByb2JsZW1zLCB0aGUgcHJlZml4ICJBLiIgc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGZpZWxkIG5hbWVzICh3aGVyZSBhcHBsaWNhYmxlLCB0aGUgIkIuIiBwcmVmaXggY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBjcml0ZXJpYSBvbiB0aGUgcGFyZW50J3MgZmllbGRzKS48YnIvPg0KCUFsdGhvdWdoIHRoZSBhYnN0cmFjdGlvbiBsYXllciBpcyBub3QgZWFzaWx5IHByb25lIHRvIGluamVjdGlvbnMsIHJlbWVtYmVyIHRoYXQgYWN0aXZhdGluZyB0aGlzIG9wdGlvbiBtZWFucyBnaXZpbmcgYSBzcWwgb3BlbmluZyB3aXRoaW4gdGhlIHRlbXBsYXRlcyBhbmQgYmUgY2FyZWZ1bC48L3A+DQo8aDM+VGVtcGxhdGVzPC9oMz4NCjxwPllvdSBjYW4gY2hvb3NlIGZvciBlYWNoIGxldmVsIHdoaWNoIHRlbXBsYXRlIHdpbGwgZGlzcGxheSB0aGlzIGxldmVsLjwvcD4NCjxwPiAgQnkgZGVmYXVsdCwgZm9yIHRoZSBjYXRlZ29yeSBsZXZlbCwgb25seSBvbmUgdGVtcGxhdGUgaXMgcHJvdmlkZWQ6IExpc3RMaW5rcy4gVGhpcyB0ZW1wbGF0ZSBkaXNwbGF5cyBpbiBhIGJ1bGxldGVkIGxpc3QsIGZvciBlYWNoIGNhdGVnb3J5LCB0aGUgbmFtZSBvZiB0aGUgY2F0ZWdvcnkgYW5kIGl0J3MgZGVzY3JpcHRpb24uIFRoZSBuYW1lIGlzIGFuIGh5cGVybGluayB0byB0aGUgcGFnZSBkaXNwbGF5aW5nIGFsbCB0aGUgYWxidW1zIG9mIHRoZSBjYXRlZ29yeS48YnIgLz4NCkF0IHRoZSBhbGJ1bSBsZXZlbCwgeW91IGFsc28gdXNlIExpc3RMaW5rcyB3aGljaCB3aWxsIGRpc3BsYXkgaW4gYSBidWxsZXRlZCBsaXN0LCBmb3IgZWFjaCBhbGJ1bSBvZiB0aGUgY2F0ZWdvcnksIHRoZSBuYW1lIG9mIHRoZSBhbGJ1bSBhbmQgaXRzIGRlc2NyaXB0aW9uLiBUaGUgbmFtZSBpcyBhbiBoeXBlcmxpbmsgdG8gdGhlIHBhZ2UgZGlzcGxheWluZyBhbGwgdGhlIHZpZGVvcyBvZiB0aGUgYWxidW0uPGJyIC8+DQpBdCB0aGUgdmlkZW8gbGV2ZWwsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gTGlzdExpbmtzIGFuZCBMaXN0VmlkZW9zOjwvcD4NCjx1bD4NCiAgPGxpPkxpc3RMaW5rcyB3aWxsIGRpc3BsYXkgYXMgdXN1YWwgaW4gYSBidWxsZXRlZCBsaXN0LCBmb3IgZWFjaCB2aWRlbyBvZiB0aGUgYWxidW0sIHRoZSBuYW1lIG9mIHRoZSB2aWRlbyBhbmQgaXRzIGRlc2NyaXB0aW9uLiBUaGUgbmFtZSBpcyBhbiBoeXBlcmxpbmsgdG8gdGhlIHBhZ2UgZGlzcGxheWluZyB0aGUgdmlkZW8gd2hpY2ggaXMgZGlzcGxheWVkIHVzaW5nIHRoZSAmcXVvdDtkZXRhaWwgdGVtcGxhdGUmcXVvdDsgd2hpY2ggaXMgYnkgZGVmYXVsdCBEaXNwbGF5VmlkZW8uPC9saT4NCiAgPGxpPkxpc3RWaWRlb3Mgd2lsbCBkaXNwbGF5IGRpcmVjdGx5IGluIHRoZSBhbGJ1bSdzIHBhZ2UsIGZvciBlYWNoIHZpZGVvIG9mIHRoZSBhbGJ1bSwgdGhlIG5hbWUgb2YgdGhlIHZpZGVvLCBpdHMgZGVzY3JpcHRpb24gYW5kIHRoZSB2aWRlbyBpdHNlbGYuPC9saT4NCjwvdWw+DQo8aDM+QWRkaW5nIGEgbmV3IGhvc3Rpbmcgc2l0ZTwvaDM+DQo8cD5JdCdzIHF1aXRlIHNpbXBsZSB0byBhZGQgYSBuZXcgaG9zdGluZyBzaXRlISA8L3A+DQo8cD5GaXJzdCwgeW91IG11c3QgaGF2ZSBhIGxvb2sgYXQgdGhlICZxdW90O2VtYmVkZGluZyBjb2RlJnF1b3Q7IG9mIHRoaXMgc2l0ZSBhbmQgbG9jYXRlIHdoYXQgaXMgdGhlIGZvcm0gb2YgdGhlIHZpZGVvIGlkIGFuZCB3aGVyZSBpdCBzaG91bGQgYmUgaW5zZXJ0ZWQgaW4gdGhlIHVybCAobW92aWUgcGFyYW1ldGVyIG9mIHRoZSBlbWJlZGRpbmcgY29kZSkuIFRoZW4ganVzdCBhZGQgdGhlIG5ldyBzaXRlIG5hbWUgaW4gdGhlICZxdW90O1NpdGVzJnF1b3Q7IHRhYiB0aGVuIGVkaXQgdGhlIEVtYmVkVmlkZW8gdGVtcGxhdGUgYW5kIGFkZCBqdXN0IGJlZm9yZSB0aGUgey9pZn0gbGluZSBhIHNldCBvZiBsaW5lcyBpbiB0aGUgZm9ybTo8L3A+DQo8cCBjbGFzcz0ic3R5bGUxIj57ZWxzZWlmICRpdGVtLSZndDtzaXRlX25hbWV2YWx1ZT09JnF1b3Q7Jmx0O3RoZSBuZXcgc2l0ZSBuYW1lJmd0OyZxdW90O308YnIgLz4NCnthc3NpZ24gdmFyPSZxdW90O21vdmllJnF1b3Q7IA0KdmFsdWU9JnF1b3Q7Jmx0O2JlZ2luaW5nIG9mIHRoZSB1cmwmZ3Q7YCRpdGVtLSZndDt2aWRlb2lkYCZsdDtlbmQgb2YgdGhlIHVybCZndDsmcXVvdDt9PC9wPg0KPHA+TG9vayBhdCB0aGUgb3RoZXIgY2FzZXMgdG8gZmluZCB0aGUgaW5zcGlyYXRpb24gOik8YnIgLz4NCjwvcD4NCjxoMz5BY3Rpb25zPC9oMz4NCjxwPlRoZXNlIGFyZSBzcGVjaWFsIGFjdGlvbnMgeW91IGNhbiB1c2UgaW4gdGhlIG1vZHVsZSBkZWNsYXJhdGlvbiB0byBjcmVhdGUgc2l0ZW1hcHMsIGJyZWFkY3J1bWJzIGFuZCBzbyBvbi4uLjxici8+DQo8L3A+DQo8aDQ+VGhlIGVtYmVkdmlkZW8gYWN0aW9uPC9oND4NCjxwPlRvIGVtYmVkIGEgdmlkZW8gaW5zaWRlIGFuIEhWQSB0ZW1wbGF0ZSwgeW91IGNhbiB1c2UgdGhlIDxiPiZxdW90O2VtYmVkdmlkZW8mcXVvdDs8L2I+IGFjdGlvbjo8YnIvPg0KICB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O2VtYmVkdmlkZW8mcXVvdDsgaXRlbT0kaXRlbX08YnIvPg0KICBUaGUgJnF1b3Q7aXRlbT0kaXRlbSZxdW90OyBwYXJhbWV0ZXIgaXMgbWFuZGF0b3J5LjwvcD4NCjxoND4gVGhlIGxpbmsgYWN0aW9uIDwvaDQ+DQo8cD5Zb3UgbWF5IHVzZSB0aGUgYWN0aW9uIDxiPiZxdW90O2xpbmsmcXVvdDs8L2I+IHRvIGNyZWF0ZSBhIGxpbmsgdG8gdGhlIGRlZmF1bHQgYWN0aW9uLCB1c2luZyB0aGUgc2FtZSBwYXJhbWV0ZXJzOjxici8+DQogIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7bGluayZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7IHJhbmRvbT0mcXVvdDsxJnF1b3Q7fTxici8+DQogIHdvdWxkIGNyZWF0ZSBhIGxpbmsgdG8gYSByYW5kb20gZWxlbWVudCBvZiB0aGlzIGxldmVsLjwvcD4NCjxoND5UaGUgc2l0ZW1hcCBhY3Rpb248L2g0Pg0KPHA+WW91IG1heSB1c2UgdGhlIGFjdGlvbiA8Yj4ic2l0ZW1hcCI8L2I+IHRvIGNyZWF0ZSBhIHZpZGVvIHNpdGVtYXA6PGJyLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiBhY3Rpb249InNpdGVtYXAifTxici8+DQoJWW91IGNhbiBzZWxlY3QgdGhlIGxldmVscyB1c2luZyB0aGUgIndoYXQiIHBhcmFtZXRlciwgYW5kIG1heSBzZWxlY3QgbW9yZSB0aGFuIG9uZSB1c2luZyAifCIgOiB3aGF0PSJsZXZlbDF8bGV2ZWwyIi48YnIvPg0KCU90aGVyIGF2YWlsYWJsZSBwYXJhbWV0ZXJzIGZvciB0aGlzIGFjdGlvbiBhcmUgImRldGFpbHBhZ2UiIGFuZCAiaW5saW5lIi48YnIvPg0KDQo8aDU+SG93IGNhbiBJIGFkZCBteSB2aWRlbyBhbGJ1bXMgdG8gbXkgZ29vZ2xlIHNpdGVtYXA/PC9oNT4NCjxwPlRoaXMgd2lsbCBoZWxwIHlvdSBpbmNsdWRlIHRoZSBtb2R1bGUgZW50cmllcyB0byBhIGdvb2dsZSBzaXRlbWFwLCA8dT5wcm92aWRlZCB0aGF0IHlvdXIgZWxlbWVudHMgYXJlIGFsbCBkaXNwbGF5ZWQgb24gdGhlIHNhbWUgcGFnZTwvdT4uPGJyLz4NCjxwPjxzdHJvbmc+KioqIElmIHlvdSBhcmUgdXNpbmcgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ3NnZW5lcmF0b3IiPmdvb2dsZSBzaXRlbWFwIGdlbmVyYXRvciBtb2R1bGU8L2E+ICoqKjwvc3Ryb25nPjwvcD4NCjxwPiAgT3BlbiB5b3VyIHNpdGVtYXAgZ2VuZXJhdG9yIChnc2l0ZW1hcC5waHApLCBhbmQganVzdCBiZWZvcmUgdGhlIGNsb3N1cmUgb2YgdGhlIHVybHNldCAoPGNvZGU+ZWNobyAnICA8PC8+L3VybHNldD4nLiAiXFxuIjs8L2NvZGU+KSwgYWRkIHRoZSBmb2xsb3dpbmcgbGluZXM6PC9wPg0KPHByZSBjbGFzcz0iY29kZSI+DQokbW9kdWxlbmFtZSA9ICJIb3N0ZWRWaWRlb0FsYnVtcyI7DQppZiggIGlzc2V0KCRnQ21zLT5tb2R1bGVzWyRtb2R1bGVuYW1lXSkgJiYgJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyJhY3RpdmUiXSAmJiAkdGhlbW9kdWxlID0gJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyJvYmplY3QiXSl7DQoJLy8gSEVSRSBZT1UgTVVTVCBQVVQgVEhFIElEIE9SIEFMSUFTIE9GIFRIRSBQQUdFIFVTRUQgVE8gRElTUExBWSBUSEUgTU9EVUxFIEVMRU1FTlRTOg0KCSRkZXRhaWxwYWdlID0gIk1ZUEFHRSI7DQoJJHBhcmFtcyA9IGFycmF5KCJtb2RlIj0+Imdvb2dsZSIsICJkZXRhaWxwYWdlIj0+JGRldGFpbHBhZ2UpOw0KCSR0aGVtb2R1bGUtPkRvQWN0aW9uKCJzaXRlbWFwIiwgIiIsICRwYXJhbXMpOw0KfQ0KPC9wcmU+DQo8cD5PZiBjb3Vyc2UsIGVudGVyIGEgZGV0YWlscGFnZSwgYmUgaXQgYW4gaWQgb3IgcGFnZSBhbGlhcy48L3A+DQo8cD5Ob3RlIHRoYXQgeW91IGNvdWxkIGFsc28gdXNlIHRoZSAid2hhdCIgcGFyYW1ldGVyIHRvIHNwZWNpZnkgd2hpY2ggbGV2ZWxzIHlvdSB3aXNoIHRvIHNlZSBkaXNwbGF5ZWQgKHlvdSBjYW4gc3BlY2lmeSBzZXZlcmFsIGxldmVscyB3aXRoICJsZXZlbDF8bGV2ZWwyIiBhbmQgc28gb24pLiANCgkJT3RoZXJ3aXNlLCBhbGwgbGV2ZWxzIHdpbGwgYmUgZGlzcGxheWVkLjwvcD4NCjwvYnI+DQo8c3Ryb25nPioqKiBJZiB5b3UgYXJlIHVzaW5nIHRoZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NpdGVtYXBtcyI+U2l0ZU1hcCBNYWRlIFNpbXBsZTwvYT4gbW9kdWxlICoqKjwvc3Ryb25nPg0KPHA+U2ltcGx5IHB1dCB0aGUgY29kZSBhYm92ZSBpbiBhIFVEVCAodXNlci1kZWZpbmVkLXRhZyksIGFuZCBjYWxsIHRoZSBVRFQgYXQgdGhlIGVuZCBvZiB5b3VyIHNpdGVtYXAncyB0ZW1wbGF0ZSwganVzdCBiZWZvcmUgPGNvZGU+PDwvPi91cmxzZXQ+PC9jb2RlPi48L3A+DQoNCjxoND5UaGUgc2VhcmNoIGFjdGlvbjwvaDQ+DQo8cD5Zb3UgbWF5IHVzZSB0aGUgYWN0aW9uIDxiPiJzZWFyY2giPC9iPiB0byBkaXNwbGF5IGEgc2VhcmNoIGZvcm06PGJyLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiBhY3Rpb249InNlYXJjaCJ9PGJyLz4NCglVc2UgdGhlICJzZWFyY2htb2RlIiBwYXJhbWV0ZXIgdG8gc3dpdGNoIGJldHdlZW4gYWR2YW5jZWQgKGRlZmF1bHQpIGFuZCBzaW1wbGUgbW9kZS4gWW91IG1heSBzcGVjaWZ5IHRoZSBsZXZlbCBpbiB3aGljaCB0byBzZWFyY2ggdXNpbmcgdGhlICJ3aGF0IiBwYXJhbWV0ZXIuIFlvdSBjYW5ub3QgdXNlIHRoZSBhZHZhbmNlZCBzZWFyY2ggbW9kZSBpbiBhbGwgbGV2ZWxzIGF0IHRoZSBzYW1lIHRpbWUuPGJyLz4NCglUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgY2FuIGJlIHVzZWQgd2l0aCB0aGUgc2VhcmNoIGFjdGlvbjogd2hhdCwgbGltaXQsIG5icGVycGFnZSwgb3JkZXJieSwgZGV0YWlscGFnZSwgbGlzdHRlbXBsYXRlLCBpbmxpbmUsIHNlYXJjaG1vZGUuPGJyLz4NCglTZWUgSG9zdGVkVmlkZW9BbGJ1bXMvdGVtcGxhdGVzL3NlYXJjaC50cGwgdG8gbW9kaWZ5IHRoZSBzZWFyY2ggZm9ybS48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCgk8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiBvcmlnaW5hbGx5IGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciBhbmQgbW9kaWZpZWQgYWZ0ZXIsIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/thelp_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFNtYXJ0eSB2YXJpYWJsZXMgZm9yIGxpc3QgdGVtcGxhdGUgb2YgY2F0ZWdvcnk8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAoYXJyYXkgb2YgaXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYmNoaWxkcmVuIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFNtYXJ0eSB2YXJpYWJsZXMgZm9yIGxpc3QgdGVtcGxhdGUgb2YgYWxidW08L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAoYXJyYXkgb2YgaXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYmNoaWxkcmVuIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bGFuZzwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RlZmF1bHRfd2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZWZhdWx0X2hlaWdodDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJCQk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfbW9kaWZpZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX2NyZWF0ZWQ8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQoJPGgzIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9kaXNwbGF5dG9nZ2xlKHRoaXMpOyI+Jmd0OyBTbWFydHkgdmFyaWFibGVzIGZvciBsaXN0IHRlbXBsYXRlIG9mIHZpZGVvPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCQkJPGxpPiRwYXJlbnRvYmogKGlmIHBhcmVudCBpcyBzcGVjaWZpZWQpPC9saT4NCgkJCTxsaT4kaXRlbWxpc3QgKGFycmF5IG9mIGl0ZW1zKTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzX3NlbGVjdGVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3NpdGVfbmFtZXZhbHVlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7dmlkZW9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3dpZHRoPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aGVpZ2h0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBkZXRhaWwgdGVtcGxhdGU8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHByZXZpb3VzX2l0ZW0gKGlmIGxvYWRlZCk8L2xpPg0KCQkJPGxpPiRuZXh0X2l0ZW0gKGlmIGxvYWRlZCk8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7YWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZXNjcmlwdGlvbjwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3NpdGU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlX25hbWV2YWx1ZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3ZpZGVvaWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt3aWR0aDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2hlaWdodDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJCQk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfbW9kaWZpZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX2NyZWF0ZWQ8L2xpPg0KCQkJPGxpPiRsYWJlbHMtPi4uLjwvbGk+DQoJCTwvdWw+DQoJCTxici8+DQoJCTxwPkluIHRoZSBmaW5hbCBsZXZlbCBkZXRhaWwgdGVtcGxhdGUsIHVzZSB0aGUgb2JqZWN0ICRsYWJlbHMgdG8gcHJpbnQgbGFuZ3VhZ2Utc2Vuc2libGUgZmllbGQgbGFiZWxzICgkbGFiZWxzLT5maWVsZG5hbWUpLjwvcD4NCgkJPHA+WW91IG1heSByZWFjaCB0aGUgcGFyZW50IG9iamVjdHMgdXNpbmcgJGl0ZW0tPnBhcmVudF9vYmplY3QtPnBhcmVudF9vYmplY3QtPi4uLiBhbmQgc28gb24uPC9wPg0KCQk8YnIvPg0KCTwvZGl2Pg0KPC9kaXY+DQo8IS0tDQo8ZGl2Pg0KCTxoMyBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fZGlzcGxheXRvZ2dsZSh0aGlzKTsiPiZndDsgRmlsZSBPYmplY3Q8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kZmlsZS0mZ3Q7ZmlsZXBhdGggKHJlbGF0aXZlKTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O2V4dDwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O3VybCAoYWJzb2x1dGUgdXJsKTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O3NpemUgKHNpemUgaW4gYnl0ZXMpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7c2l6ZV93Zm9ybWF0IChmb3JtYXRlZCBzaXplKTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O2ltYWdlc2l6ZSAoZm9yIGltYWdlcyBvbmx5KTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O3dpZHRoIChmb3IgaW1hZ2VzIG9ubHkpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7aGVpZ2h0IChmb3IgaW1hZ2VzIG9ubHkpPC9saT4NCgkJCTxsaT4kZmlsZS0mZ3Q7aW1hZ2UgKGltYWdlIHRhZzsgZm9yIGltYWdlcyBvbmx5KTwvbGk+DQoJCQk8bGk+JGZpbGUtJmd0O3RodW1ibmFpbCAodGh1bWJuYWlsIHVybCwgaWYgYXBwbGljYWJsZSk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDtmaWxlbXRpbWUgKGxhc3QgbW9kaWZpZWQsIHVuaXggdGltZSk8L2xpPg0KCQkJPGxpPiRmaWxlLSZndDttb2RpZmllZCAobGFzdCBtb2RpZmllZCwgZm9ybWF0ZWQgdGltZSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCi0tPg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IEJyZWFkY3J1bWJzPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8cD5XaGVuIHlvdSBhcmUgaW4gYSBtb2R1bGUgdGVtcGxhdGUsIHlvdSBtYXkgY2FsbCB0aGUgYnJlYWRjcnVtYnMgdXNpbmcgdGhlIHtIb3N0ZWRWaWRlb0FsYnVtc19icmVhZGNydW1ic30gdGFnLiANCgkJWW91IG1heSB1c2UgdGhlIHNhbWUgcGFyYW1ldGVycyBhcyB0aGUgY21zIGNvcmUgYnJlYWRjcnVtYnMgdGFnIChpbml0aWFsLCBkZWxpbWl0ZXIsIGNsYXNzaWQsIGN1cnJlbnRjbGFzc2lkKSwgDQoJCWFzIHdlbGwgYXMgdGhlICJzdGFydGxldmVsIiBwYXJhbWV0ZXIuPGJyLz4NCgkJT3V0c2lkZSBtb2R1bGUgdGVtcGxhdGVzLCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgeW91IG1heSBjYWxsIHRoZSBicmVhZGNydW1icyBhY3Rpb24gDQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIGFjdGlvbj0iYnJlYWRjcnVtYnMifSwgb25jZSBhZ2FpbiB1c2luZyB0aGUgc2FtZSBwYXJhbWV0ZXJzLjwvcD4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZpZGVvIGVtYmVkZGluZzwvaDM+DQoJPGRpdiBjbGFzcz0idHBsdmFyc19oaWRlIj4NCgkJPHA+V2hlbiB5b3UgYXJlIGluIGEgbW9kdWxlIHRlbXBsYXRlLCB5b3UgY2FuIGVtYmVkIGEgdmlkZW8gdXNpbmcgdGhlIHtIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvIGl0ZW09JGl0ZW19IHRhZy4gDQoJCVRoZSAiaXRlbT0kaXRlbSIgcGFyYW1ldGVyIGlzIG1hbmRhdG9yeS4gSW5zaWRlIHRoZSAgdGVtcGxhdGUgYXNzb2NpYXRlZCB0byB0aGlzIHRhZywgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBmaWVsZHM6PGJyLz4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtsYW5nPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGxhYmVscy0+Li4uPC9saT4NCgkJPC91bD4NCgk8L2Rpdj4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoNCi8vIENyZWF0ZXMgdGhlIGNhdGVnb3J5IHRhYmxlDQokZmxkcyA9ICINCglkZXNjcmlwdGlvbiBDKDI1NSksDQoJaWQgSSBLRVksDQoJbmFtZSBDKDY0KSwNCglhbGlhcyBDKDY0KSwNCglpdGVtX29yZGVyIEksDQoJYWN0aXZlIEwsDQoJaXNkZWZhdWx0IEwsDQogICAgZGF0ZV9tb2RpZmllZCAiLkNNU19BRE9EQl9EVC4iLA0KCWRhdGVfY3JlYXRlZCAiLkNNU19BRE9EQl9EVC4iDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSIsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnlfc2VxIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgYWxidW0gdGFibGUNCiRmbGRzID0gIg0KCWRlc2NyaXB0aW9uIEMoMjU1KSwNCglsYW5nIEMoMTApLA0KCWRlZmF1bHRfd2lkdGggSSwNCglkZWZhdWx0X2hlaWdodCBJLA0KCXBhcmVudCBJLA0KCWlkIEkgS0VZLA0KCW5hbWUgQyg2NCksDQoJYWxpYXMgQyg2NCksDQoJaXRlbV9vcmRlciBJLA0KCWFjdGl2ZSBMLA0KCWlzZGVmYXVsdCBMLA0KICAgIGRhdGVfbW9kaWZpZWQgIi5DTVNfQURPREJfRFQuIiwNCglkYXRlX2NyZWF0ZWQgIi5DTVNfQURPREJfRFQuIg0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0iLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtX3NlcSIpOw0KDQoNCi8vIENyZWF0ZXMgdGhlIHZpZGVvIHRhYmxlDQokZmxkcyA9ICINCglkZXNjcmlwdGlvbiBDKDI1NSksDQoJc2l0ZSBJLA0KCXZpZGVvaWQgQyg2NCksDQoJd2lkdGggSSwNCgloZWlnaHQgSSwNCglwYXJlbnQgSSwNCglpZCBJIEtFWSwNCgluYW1lIEMoNjQpLA0KCWFsaWFzIEMoNjQpLA0KCWl0ZW1fb3JkZXIgSSwNCglhY3RpdmUgTCwNCglpc2RlZmF1bHQgTCwNCiAgICBkYXRlX21vZGlmaWVkICIuQ01TX0FET0RCX0RULiIsDQoJZGF0ZV9jcmVhdGVkICIuQ01TX0FET0RCX0RULiINCgkiOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlb19zZXEiKTsNCg0KDQovLyBDcmVhdGUgdGhlIGZpZWxkb3B0aW9ucyB0YWJsZQ0KJGZsZHMgPSAiDQoJaWQgSSwNCglmaWVsZCBDKDEyOCksDQoJbmFtZSBDKDMyKSwNCglpdGVtX29yZGVyIEkNCgkiOw0KJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCR0YWJsZW5hbWUsICRmbGRzLCAkdGFib3B0KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9uc19zZXEiKTsNCg0KLy8gaW5zZXJ0IGRlZmF1bHQgdmlkZW8gc2l0ZXMNCiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZW5hbWUuIiBTRVQgaWQ9PywgZmllbGQ9PywgbmFtZT0/LCBpdGVtX29yZGVyPT8iOw0KJHNpdGVzID0gYXJyYXkoImxvY2FsLWRpdngiLCAieW91dHViZSIsICJnb29nbGUgdmlkZW9zIiwgInlhaG9vIHZpZGVvcyIsICJkYWlseW1vdGlvbiIsICJ2ZW9oIik7DQpmb3JlYWNoICgkc2l0ZXMgYXMgJHNpdGUpIHsNCiAgICAkc2l0ZWlkID0gJGRiLT5HZW5JRCgkdGFibGVuYW1lLiJfc2VxIik7DQoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2l0ZWlkLCJ2aWRlb19zaXRlIiwkc2l0ZSwkc2l0ZWlkKSk7DQp9DQp1bnNldCgkc2l0ZSk7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgcXVlcmllcyB0YWJsZQ0KJGZsZHMgPSAiDQogICAgaWQgSSwNCgluYW1lIEMoNjQpLA0KCXdoYXQgQygzMiksDQoJd2hlcmVjbGF1c2UgQygyNTUpLA0KCXdoZXJldmFsdWVzIEMoMjU1KSwNCglxdWVyeW9yZGVyIEMoMzIpDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzX3NlcSIpOw0KDQoNCi8vIElOU0VSVElORyBERUZBVUxUIFRFTVBMQVRFUw0KJGZuYmFzZT1kaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQokZm4gPSAkZm5iYXNlLidkZWZhdWx0X2xpc3RfbGlua3MudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJMaXN0TGlua3MiLCR0ZW1wbGF0ZSwkdGhpcy0+R2V0TmFtZSgpKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5IiwiTGlzdExpbmtzIik7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV9hbGJ1bSIsIkxpc3RMaW5rcyIpOw0KfQkNCiRmbiA9ICRmbmJhc2UuJ2RlZmF1bHRfbGlzdF92aWRlb3MudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJMaXN0VmlkZW9zIiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV92aWRlbyIsIkxpc3RWaWRlb3MiKTsNCn0JDQokZm4gPSAkZm5iYXNlLidkZWZhdWx0X2Rpc3BsYXlfdmlkZW8udHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJEaXNwbGF5VmlkZW8iLCR0ZW1wbGF0ZSwkdGhpcy0+R2V0TmFtZSgpKTsNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIsIkRpc3BsYXlWaWRlbyIpOw0KfQ0KJGZuID0gJGZuYmFzZS4nZGVmYXVsdF9ub19yZXN1bHQudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJOb1Jlc3VsdCIsJHRlbXBsYXRlLCR0aGlzLT5HZXROYW1lKCkpOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIiwiTm9SZXN1bHQiKTsNCn0NCiRmbiA9ICRmbmJhc2UuJ2RlZmF1bHRfZW1iZWRfdmlkZW8udHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJFbWJlZFZpZGVvIiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoImVtYmVkdGVtcGxhdGUiLCJFbWJlZFZpZGVvIik7DQp9DQoNCi8vIENSRUFUSU5HIFBFUk1JU1NJT05TIDoNCg0KLy8gcGVybWlzc2lvbnMNCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigiSFZBX25vcm1hbHVzZXIiLCAiSG9zdGVkVmlkZW9BbGJ1bXM6IE5vcm1hbCB1c2VyIik7DQoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIsICJIb3N0ZWRWaWRlb0FsYnVtczogQWR2YW5jZWQiKTsNCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIsICJIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIGNhdGVnb3J5Iik7DQoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIkhWQV9tYW5hZ2VfYWxidW0iLCAiSG9zdGVkVmlkZW9BbGJ1bXM6IE1hbmFnZSBhbGJ1bSIpOw0KCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX3ZpZGVvIiwgIkhvc3RlZFZpZGVvQWxidW1zOiBNYW5hZ2UgdmlkZW8iKTsNCi8vIGFjdGl2YXRpbmcgZGVmYXVsdCBwcmVmZXJlbmNlcw0KCSRkZWZwcmVmcyA9IGFycmF5KCJ0YWJkaXNwbGF5X2NhdGVnb3J5Iiwic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IiwidGFiZGlzcGxheV9hbGJ1bSIsInNlYXJjaG1vZHVsZV9pbmRleF9hbGJ1bSIsInRhYmRpc3BsYXlfdmlkZW8iLCJzZWFyY2htb2R1bGVfaW5kZXhfdmlkZW8iLCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsIm9yZGVyYnluYW1lIiwiZGlzcGxheV9maWx0ZXIiLCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLCJkaXNwbGF5X2luc3RhbnRzb3J0Iiwic2hvd3RodW1ibmFpbHMiLCJsb2FkX25iY2hpbGRyZW4iLCJ1c2Vfc2Vzc2lvbiIpOw0KCWZvcmVhY2goJGRlZnByZWZzIGFzICRvbmVwcmVmKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkb25lcHJlZix0cnVlKTsNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZW1wdHl0ZW1wbGF0ZSIsIioqIik7DQoNCi8vIGV2ZW50cw0KCSR0aGlzLT5DcmVhdGVFdmVudCgiSFZBX2FkZGVkIik7DQoJJHRoaXMtPkNyZWF0ZUV2ZW50KCJIVkFfbW9kaWZpZWQiKTsNCgkkdGhpcy0+Q3JlYXRlRXZlbnQoIkhWQV9kZWxldGVkIik7DQoJDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKSwgJHRoaXMtPkxhbmcoImluc3RhbGxlZCIsJHRoaXMtPkdldFZlcnNpb24oKSkpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnlfc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW1fc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW9fc2VxIik7DQoJDQoJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfZmllbGRvcHRpb25zIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnNfc2VxIik7DQoJDQoNCgkvLyRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3RlbXBsYXRlcyIpOw0KCS8vJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgiIiwkdGhpcy0+R2V0TmFtZSgpKTsNCgkNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzX3NlcSIpOw0KDQovLyBwZXJtaXNzaW9ucw0KCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2NhdGVnb3J5Iik7DQoJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oIkhWQV9tYW5hZ2VfYWxidW0iKTsNCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpOw0KCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKTsNCgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOw0KCQ0KLy8gZXZlbnRzDQoJJHRoaXMtPlJlbW92ZUV2ZW50KCJIVkFfYWRkZWQiKTsNCgkkdGhpcy0+UmVtb3ZlRXZlbnQoIkhWQV9tb2RpZmllZCIpOw0KCSR0aGlzLT5SZW1vdmVFdmVudCgiSFZBX2RlbGV0ZWQiKTsNCg0KLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIiksICR0aGlzLT5MYW5nKCJ1bmluc3RhbGxlZCIpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8P3BocA0KDQoNCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokZGIgPSYgJHRoaXMtPkdldERiKCk7DQokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7DQokdGFib3B0ID0gYXJyYXkoIm15c3FsIiA9PiAiVFlQRT1NeUlTQU0iKTsNCg0Kc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pIHsNCgljYXNlICIxLjAiOg0KCQkvLyBpbnNlcnQgc2l0ZSBmb3IgbG9jYWwgZGl2eCBzdHVmZg0KCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyI7DQoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZW5hbWUuIiBTRVQgaWQ9PywgZmllbGQ9PywgbmFtZT0/LCBpdGVtX29yZGVyPT8iOw0KCQkkc2l0ZWlkID0gJGRiLT5HZW5JRCgkdGFibGVuYW1lLiJfc2VxIik7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHNpdGVpZCwidmlkZW9fc2l0ZSIsImxvY2FsLWRpdngiLCRzaXRlaWQpKTsNCgkJLy8gdXBkYXRlIGRlZmF1bHQgdGVtcGxhdGUNCgkJJGZuYmFzZT1kaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQoJCSRmbiA9ICRmbmJhc2UuJ2RlZmF1bHRfZW1iZWRfdmlkZW8udHBsJzsNCgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsNCgkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQkJJHRoaXMtPlNldFRlbXBsYXRlKCJFbWJlZFZpZGVvIiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQoJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZW1iZWR0ZW1wbGF0ZSIsIkVtYmVkVmlkZW8iKTsNCgkJfQ0KICAJCSRjdXJyZW50X3ZlcnNpb24gPSAiMS4xIjsNCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywkY3VycmVudF92ZXJzaW9uKSk7DQoJY2FzZSAiMS4xIjoNCglkZWZhdWx0Og0KCSAgICAgYnJlYWs7DQp9DQoJCQ0KICAgIC8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KICAgIC8vICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBncmFkZWQnLCRjdXJyZW50X3ZlcnNpb24pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRmaWx0ZXIgfHwgJGluc3RhbnRzZWFyY2h9PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsiPnskZmlsdGVyfXtpZiAkZmlsdGVyICYmICRpbnN0YW50c2VhcmNofTxici8+ey9pZn17JGluc3RhbnRzZWFyY2h9PC9kaXY+ey9pZn0NCjxwPnskYWRkbmV3fSB7JHJlb3JkZXJ9PC9wPg0Ke2lmIGNvdW50KCRpdGVtbGlzdCkgPiAwfQ0KPGRpdiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyI+DQo8dGFibGUge2lmICR0YWJsZWlkfWlkPSJ7JHRhYmxlaWR9IiB7L2lmfWNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCjx0aGVhZD48dHI+DQoJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQ0KCQk8dGg+eyRjb2x1bW5bMF19PC90aD4NCgl7L2ZvcmVhY2h9DQo8L3RyPjwvdGhlYWQ+DQo8dGJvZHk+DQp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT1vbmVpdGVtfQ0Ke2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9DQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPg0KCXtmb3JlYWNoIGZyb209JGFkbWluc2hvdyBpdGVtPWNvbHVtbn0NCgkJe2Fzc2lnbiB2YXI9b25ldmFsIHZhbHVlPSRjb2x1bW5bMV19DQoJCTx0ZHtpZiAkY29sdW1uWzJdfSBjbGFzcz0iY3RsbW1fbm9zZWFyY2giey9pZn0+eyRvbmVpdGVtLT4kb25ldmFsfTwvdGQ+DQoJey9mb3JlYWNofQ0KPC90cj4NCnsvZm9yZWFjaH0NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPC9kaXY+DQp7aWYgJHBhZ2VpbmZvfQ0KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPntpZiAkcHJldmlvdXNwYWdlfXskcHJldmlvdXNwYWdlfSAmbmJzcDsgey9pZn17JHBhZ2VpbmZvfXtpZiAkbmV4dHBhZ2V9ICZuYnNwOyB7JG5leHRwYWdlfXsvaWZ9PGJyLz4NCnskcGFnZXN9PC9wPg0Key9pZn0NCjxwPnskYWRkbmV3fTwvcD57L2lmfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/browsefiles.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskYnJvd3NldGl0bGV9PC9oMj4NCntpZiAkcG9zdG1heHNpemV9PHAgYWxpZ249InJpZ2h0Ij57JHBvc3RtYXhzaXplfTwvcD57L2lmfQ0KeyRmb3Jtc3RhcnR9DQoNCntpZiAkYWRkZmlsZWlucHV0fQ0KPGZpZWxkc2V0IHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMCU7IG1hcmdpbjogMTVweDsgcGFkZGluZzogNXB4OyI+PGxlZ2VuZD48Yj57JHppcHRpdGxlfTwvYj48L2xlZ2VuZD4NCjxwPnskemlwbm90aWNlfTwvcD4NCntpZiAkcmVzaXplbm90aWNlfTxwPnskcmVzaXplbm90aWNlfTwvcD57L2lmfQ0KPHA+eyR6aXBpbnB1dH0geyR6aXBzdWJtaXR9PC9wPg0KPC9maWVsZHNldD4NCnsvaWZ9DQo8ZmllbGRzZXQgc3R5bGU9Im1hcmdpbjogMTVweDsgcGFkZGluZzogNXB4OyI+PGxlZ2VuZD48Yj57JHVwbG9hZHRpdGxlfTwvYj48L2xlZ2VuZD4NCntpZiAkcmVzaXplbm90aWNlfTxwPnskcmVzaXplbm90aWNlfTwvcD57L2lmfQ0KeyRmaWxlaW5wdXR9DQp7aWYgJGFkZGZpbGVpbnB1dH08cD57JGFkZGZpbGVpbnB1dH08L3A+ey9pZn0NCjxwPnskc3VibWl0fTwvcD4NCjwvZmllbGRzZXQ+DQoNCnskZm9ybWVuZH0NCg0KPGJyLz4NCntpZiAkaW5zdGFudHNlYXJjaH08ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij57JGluc3RhbnRzZWFyY2h9PC9kaXY+ey9pZn0NCjxwPnskc2hvd2luZ2Rpcn08L3A+DQo8ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQ7Ij4NCjx0YWJsZSBpZD0iZmlsZWxpc3RfdGFibGUiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCjx0aGVhZD48dHI+DQoJPHRoPnskc29ydGxpbmtzWzBdfXskaGVhZGVycy0+ZmlsZW5hbWV9PC90aD4NCgk8dGg+eyRudW1lcmljX3NvcnRsaW5rc1sxXX17JGhlYWRlcnMtPmltYWdlc2l6ZX08L3RoPg0KCTx0aD57JHNvcnRsaW5rc1syXX17JGhlYWRlcnMtPmV4dH08L3RoPg0KCTx0aD57JG51bWVyaWNfc29ydGxpbmtzWzNdfXskaGVhZGVycy0+c2l6ZX08L3RoPg0KCTx0aD57JG51bWVyaWNfc29ydGxpbmtzWzRdfXskaGVhZGVycy0+bW9kaWZpZWR9PC90aD4NCgk8dGggd2lkdGg9IjEyOCI+eyRoZWFkZXJzLT5kZWxldGVsaW5rfTwvdGg+DQo8L3RyPjwvdGhlYWQ+DQo8dGJvZHk+DQp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT1vbmVpdGVtfQ0Ke2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9DQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPg0KCTx0ZD57JG9uZWl0ZW0tPnBpY30geyRvbmVpdGVtLT50aGVsaW5rfTwvdGQ+DQoJPHRkIGNsYXNzPSJjdGxtbV9ub3NlYXJjaCI+eyRvbmVpdGVtLT5pbWFnZXNpemV9PC90ZD4NCgk8dGQgY2xhc3M9ImN0bG1tX25vc2VhcmNoIj57JG9uZWl0ZW0tPmV4dH08L3RkPg0KCTx0ZCBjbGFzcz0iY3RsbW1fbm9zZWFyY2giPnskb25laXRlbS0+c2l6ZX08L3RkPg0KCTx0ZCBjbGFzcz0iY3RsbW1fbm9zZWFyY2giPnskb25laXRlbS0+bW9kaWZpZWR9PC90ZD4NCgk8dGQgY2xhc3M9ImN0bG1tX25vc2VhcmNoIj57JG9uZWl0ZW0tPmRlbGV0ZWxpbmt9PC90ZD4NCjwvdHI+DQp7L2ZvcmVhY2h9DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/templates/default_display_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciBkaXNwbGF5aW5nIG9uZSB2aWRlbyBvZiBhbiBhbGJ1bSAodG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIExpc3RMaW5rcykNCip9DQp7bGl0ZXJhbH0NCjxzdHlsZT4NCiAgZGl2LnZpZGVvLWZyYW1lIHsgcGFkZGluZzogNXB4OyBtYXJnaW46IDVweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHRleHQtYWxpZ246IGNlbnRlcjsgfQ0KPC9zdHlsZT4NCnsvbGl0ZXJhbH0NCntIb3N0ZWRWaWRlb0FsYnVtc19icmVhZGNydW1ic30NCjxoMz57JGl0ZW0tPm5hbWV9ICh7JGl0ZW0tPnNpdGVfbmFtZXZhbHVlfSk8L2gzPg0KPGRpdiBjbGFzcz0idmlkZW8tZnJhbWUiPg0KICAgIHtIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvIGl0ZW09JGl0ZW19DQo8L2Rpdj4NCjxwPnskaXRlbS0+ZGVzY3JpcHRpb259PC9wPg0KPHRhYmxlIHdpZHRoPSIxMDAlIj4NCgk8dHI+DQoJCTx0ZCBhbGlnbj0ibGVmdCI+e2lmICRwcmV2aW91c19pdGVtfTw8PCB7JHByZXZpb3VzX2l0ZW0tPmRldGFpbGxpbmt9ey9pZn08L3RkPg0KCQk8dGQgYWxpZ249InJpZ2h0Ij57aWYgJG5leHRfaXRlbX17JG5leHRfaXRlbS0+ZGV0YWlsbGlua30gPj4+ey9pZn08L3RkPg0KCTwvdHI+DQo8L3RhYmxlPg0Ke2lmICRpdGVtLT5wYXJlbnRsaW5rfSB7JGxldmVsdGl0bGV9OiB7JGl0ZW0tPnBhcmVudGxpbmt9ey9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default_embed_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfSB0YWcgKHNlZSBEaXNwbGF5VmlkZW8gb3IgTGlzdFZpZGVvKQ0KKn0NCntpZiAkaXRlbS0+c2l0ZV9uYW1ldmFsdWU9PSJsb2NhbC1kaXZ4In0NCgk8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOjY3REFCRkJGLUQwQUItNDFmYS05QzQ2LUNDMEYyMTcyMTYxNiIgICANCgkJd2lkdGg9InskaXRlbS0+d2lkdGh9IiBoZWlnaHQ9InskaXRlbS0+aGVpZ2h0fSIgICANCgkJY29kZWJhc2U9Imh0dHA6Ly9nby5kaXZ4LmNvbS9wbHVnaW4vRGl2WEJyb3dzZXJQbHVnaW4uY2FiIj4gICANCgkJPHBhcmFtIG5hbWU9InNyYyIgdmFsdWU9InskaXRlbS0+dmlkZW9pZH0iLz4NCgkJPHBhcmFtIG5hbWU9ImF1dG9QbGF5IiB2YWx1ZT0iZmFsc2UiPiANCgkJPGVtYmVkIHR5cGU9InZpZGVvL2RpdngiIHNyYz0ieyRpdGVtLT52aWRlb2lkfSIgICANCgkJCXdpZHRoPSJ7JGl0ZW0tPndpZHRofSIgaGVpZ2h0PSJ7JGl0ZW0tPmhlaWdodH0iICAgDQoJCQlwbHVnaW5zcGFnZT0iaHR0cDovL2dvLmRpdnguY29tL3BsdWdpbi9kb3dubG9hZC8iIGF1dG9QbGF5PSJmYWxzZSI+ICAgDQoJCTwvZW1iZWQ+ICAgDQoJPC9vYmplY3Q+IA0Ke2Vsc2V9DQoJe2lmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09InlvdXR1YmUifQ0KCQl7YXNzaWduIHZhcj0ibW92aWUiIA0KCQkJdmFsdWU9Imh0dHA6Ly93d3cueW91dHViZS5jb20vdi9gJGl0ZW0tPnZpZGVvaWRgJmhsPWAkaXRlbS0+bGFuZ2AmZnM9MSZyZWw9MCZjb2xvcjE9MHgyMzQ5MDAmY29sb3IyPTB4NGU5ZTAwJmJvcmRlcj0xIn0NCgl7ZWxzZWlmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09Imdvb2dsZSB2aWRlb3MifQ0KCQl7YXNzaWduIHZhcj0ibW92aWUiIA0KCQkJdmFsdWU9Imh0dHA6Ly92aWRlby5nb29nbGUuY29tL2dvb2dsZXBsYXllci5zd2Y/aGw9YCRpdGVtLT5sYW5nYCZmcz10cnVlJmRvY2lkPWAkcGFyZW50b2JqLT52aWRlb2lkYCJ9DQoJe2Vsc2VpZiAkaXRlbS0+c2l0ZV9uYW1ldmFsdWU9PSJkYWlseW1vdGlvbiJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgDQoJCQl2YWx1ZT0iaHR0cDovL3d3dy5kYWlseW1vdGlvbi5jb20vc3dmL2AkaXRlbS0+dmlkZW9pZGAmcmVsYXRlZD0wJmhsPWAkaXRlbS0+bGFuZ2AifQ0KCXtlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0ieWFob28gdmlkZW9zIn0NCgkJe2Fzc2lnbiB2YXI9Im1vdmllIiANCgkJCXZhbHVlPSJodHRwOi8vZC55aW1nLmNvbS9zdGF0aWMudmlkZW8ueWFob28uY29tL3llcC9ZVl9ZRVAuc3dmP3Zlcj0yLjIuNDYmaWQ9YCRpdGVtLT52aWRlb2lkYCZsYW5nPWAkaXRlbS0+bGFuZ2AmZW1iZWQ9MSJ9CQ0KCXtlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0idmVvaCJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgDQoJCQl2YWx1ZT0iaHR0cDovL3d3dy52ZW9oLmNvbS9zdGF0aWMvc3dmL3dlYnBsYXllci9XZWJQbGF5ZXIuc3dmP3ZlcnNpb249QUZyb250ZW5kLjUuNC45LjEwMDYmcGVybWFsaW5rSWQ9YCRpdGVtLT52aWRlb2lkYCZobD1gJGl0ZW0tPnBhcmVudF9vYmplY3QtPmxhbmdgJnBsYXllcj12aWRlb2RldGFpbHNlbWJlZGRlZCZ2aWRlb0F1dG9QbGF5PTAmaWQ9YW5vbnltb3VzIn0NCgl7ZWxzZWlmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09Im1zbiB2aWRlbyJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgDQoJCQl2YWx1ZT0iaHR0cDovL2ltYWdlcy52aWRlby5tc24uY29tL2ZsYXNoL2N1c3RvbXBsYXllci8xXzAvY3VzdG9tcGxheWVyLnN3Zj9jb25maWdDc2lkPU1TTnZpZGVvJmNvbmZpZ05hbWU9bGl2ZXNlYXJjaGN1c3RvbXBsYXllciZtZXRhZGF0YUxhcmdlLmRlZmF1bHRUYWI9ZmFsc2UmbWV0YWRhdGFMYXJnZS5kaXNwRGF0ZURldGFpbD10cnVlJmN1c3RvbVBsYXllci5mcm9tPWNwX2ZyLWZyX2xpdmVzZWFyY2gmcGxheWVyLm1rdD1gJGl0ZW0tPmxhbmdgJmN1c3RvbVBsYXllci5ta3Q9YCRpdGVtLT5sYW5nYCZwbGF5ZXIudj1gaXRlbS12aWRlb2lkYCJ9DQoJey9pZn0NCgk8b2JqZWN0IHdpZHRoPSJ7JGl0ZW0tPndpZHRofSIgaGVpZ2h0PSJ7JGl0ZW0tPmhlaWdodH0iPg0KCQk8cGFyYW0gbmFtZT0iYWxsb3dGdWxsU2NyZWVuIiB2YWx1ZT0idHJ1ZSI+PC9wYXJhbT4NCgkJPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iYWx3YXlzIj48L3BhcmFtPiANCgkJPHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0ieyRtb3ZpZX0iPjwvcGFyYW0+DQoJCTxlbWJlZCBzcmM9InskbW92aWV9IiB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgYWxsb3dzY3JpcHRhY2Nlc3M9ImFsd2F5cyIgYWxsb3dmdWxsc2NyZWVuPSJ0cnVlIiB3aWR0aD0ieyRpdGVtLT53aWR0aH0iIGhlaWdodD0ieyRpdGVtLT5oZWlnaHR9IiBwbHVnaW5zcGFnZT0iaHR0cDovL3d3dy5tYWNyb21lZGlhLmNvbS9zaG9ja3dhdmUvZG93bmxvYWQvaW5kZXguY2dpP1AxX1Byb2RfVmVyc2lvbj1TaG9ja3dhdmVGbGFzaCI+PC9lbWJlZD4NCgk8L29iamVjdD4NCnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/default_list_links.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoNCiBkZWZhdWx0IHRlbXBsYXRlIHVzZWQgZm9yIDoNCiAtIGxpc3RpbmcgbGlua3MgdG8gdmlkZW9zIG9mIGFuIGFsYnVtICh0byBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggRGlzcGxheVZpZGVvIHRvIGRpc3BsYXkgZWFjaCB2aWRlbyBhbG9uZSkNCiAtIGxpc3RpbmcgbGlua3MgdG8gYWxsIGFsYnVtcyBvZiBvbmUgY2F0ZWdvcnkNCiAqfQ0Ke0hvc3RlZFZpZGVvQWxidW1zX2JyZWFkY3J1bWJzfQ0KPGgyPnskbGV2ZWx0aXRsZX0geyRwYXJlbnRvYmotPm5hbWV9PC9oMj4NCjxwPnskcGFyZW50b2JqLT5kZXNjcmlwdGlvbn08L3A+DQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8dWw+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPSJpdGVtIn0NCgk8bGkge2lmICRpdGVtLT5pc19zZWxlY3RlZH1jbGFzcz0iYWN0aXZlInsvaWZ9PnskaXRlbS0+ZGV0YWlsbGlua306IHskaXRlbS0+ZGVzY3JpcHRpb259PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+DQp7aWYgJHBhZ2VfcGFnZW51bWJlcnN9DQo8ZGl2IGlkPSJwYWdlbWVudSIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPg0KCXskcGFnZV9wcmV2aW91c30mbmJzcDsgeyRwYWdlX3Nob3dpbmd9L3skcGFnZV90b3RhbGl0ZW1zfSAmbmJzcDt7JHBhZ2VfbmV4dH08YnIvPg0KCXskcGFnZV9wYWdlbnVtYmVyc30NCjwvZGl2Pg0Key9pZn0NCntlbHNlfQ0KPHA+eyRlcnJvcl9tc2d9PC9wPg0Key9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default_list_videos.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciBkaXNwbGF5aW5nIGFsbCB2aWRlb3Mgb2YgYW4gYWxidW0gDQoqfQ0Ke2xpdGVyYWx9DQo8c3R5bGU+DQogIGRpdi52aWRlby1mcmFtZSB7IHBhZGRpbmc6IDVweDsgbWFyZ2luOiA1cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0NCjwvc3R5bGU+DQp7L2xpdGVyYWx9DQp7SG9zdGVkVmlkZW9BbGJ1bXNfYnJlYWRjcnVtYnN9DQo8cD57JHBhcmVudG9iai0+ZGVzY3JpcHRpb259PC9wPg0Ke2lmICRpdGVtY291bnQgPiAwfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT0iaXRlbSJ9DQoJPGgzPnskaXRlbS0+bmFtZX0gKHskaXRlbS0+c2l0ZV9uYW1ldmFsdWV9KTwvaDM+DQoJPGRpdiBjbGFzcz0idmlkZW8tZnJhbWUiPg0KCQl7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfQ0KCTwvZGl2Pg0KCTxwPnskaXRlbS0+ZGVzY3JpcHRpb259PC9wPg0Key9mb3JlYWNofQ0Ke2lmICRwYWdlX3BhZ2VudW1iZXJzfQ0KPGRpdiBpZD0icGFnZW1lbnUiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4NCgl7JHBhZ2VfcHJldmlvdXN9Jm5ic3A7IHskcGFnZV9zaG93aW5nfS97JHBhZ2VfdG90YWxpdGVtc30gJm5ic3A7eyRwYWdlX25leHR9PGJyLz4NCgl7JHBhZ2VfcGFnZW51bWJlcnN9DQo8L2Rpdj4NCnsvaWZ9DQp7ZWxzZX0geyogZW1wdHkgYWxidW0gKn0NCjxwPnskZXJyb3JfbXNnfTwvcD4NCnsvaWZ9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/default_no_result.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIHdoZW4gYSBzZWFyY2ggcmV0dXJucyBubyByZXN1bHQgKn0NCjxwPnskZXJyb3JfbXNnfTwvcD4NCntpZiAkYmFja2xpbmt9PHA+eyRiYWNrbGlua308L3A+ey9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editalb_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRsYW5nX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVmYXVsdF93aWR0aF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF93aWR0aF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaGVpZ2h0X2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkZWZhdWx0X2hlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editcat_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlc2NyaXB0aW9uX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9uX2lucHV0fTwvcD4NCgk8L2Rpdj4NCjxici8+DQo8cD57JHN1Ym1pdH0geyRhcHBseX0geyRjYW5jZWx9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/editvid_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzaXRlX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzaXRlX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdmlkZW9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdmlkZW9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHdpZHRoX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHdpZHRoX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaGVpZ2h0X2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/search.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9e2lmICR3aGF0fTogeyR3aGF0fXsvaWZ9PC9oMj4NCjxwPnskc2VhcmNoZmllbGR9eyRzdWJtaXR9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/search_album.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRwYXJlbnRfbGFiZWx9PC90ZD48dGQ+eyRwYXJlbnRfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JG5hbWVfbGFiZWx9PC90ZD48dGQ+eyRuYW1lX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRkYXRlX21vZGlmaWVkX2xhYmVsfTwvdGQ+PHRkPnskZGF0ZV9tb2RpZmllZF9pbnB1dH08L3RkPjwvdHI+DQo8L3RhYmxlPg0KPHA+eyRzdWJtaXR9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/search_categorie.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRuYW1lX2xhYmVsfTwvdGQ+PHRkPnskbmFtZV9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskZGF0ZV9tb2RpZmllZF9sYWJlbH08L3RkPjx0ZD57JGRhdGVfbW9kaWZpZWRfaW5wdXR9PC90ZD48L3RyPg0KPC90YWJsZT4NCjxwPnskc3VibWl0fTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/search_generalresults.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskbGV2ZWx0aXRsZX08L2gyPg0KPHVsIGNsYXNzPSJjdGxfc2VhcmNocmVzdWx0cyI+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPSJpdGVtIn0NCjxsaT57JGl0ZW0tPmRldGFpbGxpbmt9PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+DQp7aWYgJHBhZ2VtZW51fTxwPnskcGFnZW1lbnV9PC9wPnsvaWZ9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/search_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRzaXRlX2xhYmVsfTwvdGQ+PHRkPnskc2l0ZV9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskdmlkZW9pZF9sYWJlbH08L3RkPjx0ZD57JHZpZGVvaWRfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JHBhcmVudF9sYWJlbH08L3RkPjx0ZD57JHBhcmVudF9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskbmFtZV9sYWJlbH08L3RkPjx0ZD57JG5hbWVfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JGRhdGVfbW9kaWZpZWRfbGFiZWx9PC90ZD48dGQ+eyRkYXRlX21vZGlmaWVkX2lucHV0fTwvdGQ+PC90cj4NCjwvdGFibGU+DQo8cD57JHN1Ym1pdH08L3A+]]></data>
	</file>
</module>
