<?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</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+QXV0ZXVyJm5ic3A7OiBPbGl2aWVyIExFVklMTEFJTiBvbiBhIGJhc2lzIGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zICZsdDtvbGl2aWVyLmxldmlsbGFpbkBmcmVlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb24gOiAxLjE8YnIgLz4=]]></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+TGFuZygiZnJpZW5kbHluYW1lIik7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0VmVyc2lvbigpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBudW1iZXIgb3INCgkgICBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBmb3IgZGVzaWduYXRpbmcgYSB2ZXJzaW9uLg0KCSAgIFRoZSBDTVMgd2lsbCB1c2UgdGhpcyB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdA0KCSAgIHRoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiB0aGUgbW9kdWxlIGlzIGN1cnJlbnQsIGFuZA0KCSAgIHRoZSBtb2R1bGUgd2lsbCB1c2UgaXQgdG8gZmlndXJlIG91dCBob3cgdG8gdXBncmFkZQ0KCSAgIGl0c2VsZiBpZiByZXF1ZXN0ZWQuCSAgIA0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkNCgl7DQoJCXJldHVybiAiMS4xIjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0RGVwZW5kZW5jaWVzKCkNCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZA0KCSAgIGJlZm9yZSB5b3UgY2FuIGluc3RhbGwgaXQuDQoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZA0KCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuDQoJICAgDQoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4NCgkgICByZXR1cm4gYXJyYXkoInNvbWVtb2R1bGUiPT4iMS4wIiwgIm90aGVybW9kdWxlIj0+IjEuMSIpOw0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRIZWxwKCkNCgkgICBUaGlzIHJldHVybnMgSFRNTCBpbmZvcm1hdGlvbiBvbiB0aGUgbW9kdWxlLg0KCSAgIFR5cGljYWxseSwgeW91ImxsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCgkgICB1c2UgdGhlIG1vZHVsZS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRIZWxwKCkNCgl7DQoJCSRmbj1kaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsYW5nJy5ESVJFQ1RPUllfU0VQQVJBVE9SLiR0aGlzLT5MYW5nKCJoZWxwZmlsZSIpOw0KCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQl9DQoJCWVjaG8gIjxwPmZpbGUgIi5ESVJFQ1RPUllfU0VQQVJBVE9SLidsYW5nJy5ESVJFQ1RPUllfU0VQQVJBVE9SLiR0aGlzLT5MYW5nKCJoZWxwZmlsZSIpLiIgbm90IGZvdW5kPC9wPiI7DQoJCS8vIHRyeSB3aXRoIGVuZ2xpc2ggaGVscCAtIGhhcmRjb2RlZA0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4iaGVscF9lbl9VUy5odG1sIjsNCgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsNCgkJCXJldHVybiBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgkJfQ0KCQlyZXR1cm4gImhlbHAgbm90IGZvdW5kIjsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvcigpDQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUNCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0QXV0aG9yKCkNCgl7DQoJCXJldHVybiAiT2xpdmllciBMRVZJTExBSU4gb24gYSBiYXNpcyBjcmVhdGVkIHdpdGggQ1RMTW9kdWxlTWFrZXIgMS44LjkuMyI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvckVtYWlsKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2Vycw0KCSAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLA0KCSAgIHF1ZXN0aW9ucywgY2FzZXMgb2YgYmVlciwgYW5kL29yIGxhcmdlIHN1bXMgb2YgbW9uZXkuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkNCgl7DQoJCXJldHVybiAib2xpdmllci5sZXZpbGxhaW5AZnJlZS5mciI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIElzUGx1Z2luTW9kdWxlKCkNCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSwgZGVwZW5kaW5nIHVwb24NCgkgICB3aGV0aGVyIHVzZXJzIGNhbiBpbmNsdWRlIHRoZSBtb2R1bGUgaW4gYSBwYWdlIG9yDQoJICAgdGVtcGxhdGUgdXNpbmcgYSBzbWFydHkgdGFnIG9mIHRoZSBmb3JtDQoJICAge2Ntc19tb2R1bGUgbW9kdWxlPSJQcm9kIiBwYXJhbTE9dmFsIHBhcmFtMj12YWwuLi59DQoJICAgDQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBub3QgZ2V0IGluY2x1ZGVkIGluIHBhZ2VzIG9yDQoJICAgdGVtcGxhdGVzLCByZXR1cm4gImZhbHNlIiBoZXJlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpDQoJew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSGFzQWRtaW4oKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUsIGRlcGVuZGluZyBvbg0KCSAgIHdoZXRoZXIgeW91ciBtb2R1bGUgYWRkcyBhbnl0aGluZyB0byB0aGUgQWRtaW4gYXJlYSBvZg0KCSAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEkibGwgYmUgY2FsbGluZw0KCSAgIHRoZSBhZG1pbiBwYXJ0IG9mIHlvdXIgbW9kdWxlIHRoZSAiQWRtaW4gUGFuZWwiIGZvcg0KCSAgIHdhbnQgb2YgYSBiZXR0ZXIgdGVybS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSGFzQWRtaW4oKSB7CXJldHVybiB0cnVlOwl9DQoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkge3JldHVybiAiY29udGVudCI7fQ0KCWZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7cmV0dXJuICR0aGlzLT5MYW5nKCJhZG1pbmRlc2NyaXB0aW9uIik7fQ0KDQoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCl7DQoJCXJldHVybiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX25vcm1hbHVzZXIiKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSk7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgTW9kdWxlIENvbnN0cnVjdG9yIA0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSG9zdGVkVmlkZW9BbGJ1bXMoKQ0KCXsNCgkJZ2xvYmFsICRnQ21zOw0KICAgIAkkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsNCgkJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oIkhvc3RlZFZpZGVvQWxidW1zX2JyZWFkY3J1bWJzIiwgYXJyYXkoJiR0aGlzLCJmdW5jdGlvbl9tb2RicmVhZGNydW1icyIpKTsNCgkJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oIkhvc3RlZFZpZGVvQWxidW1zX2dldF9sZXZlbGl0ZW0iLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX2dldF9sZXZlbGl0ZW0iKSk7DQoJCSRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCJIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvIiwgYXJyYXkoJiR0aGlzLCJmdW5jdGlvbl9lbWJlZHZpZGVvIikpOw0KCQlwYXJlbnQ6OkNNU01vZHVsZSgpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIFNldFBhcmFtZXRlcnMoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB5b3UgdG8gY3JlYXRlIG1hcHBpbmdzIGZvcg0KCSAgIHlvdXIgbW9kdWxlIHdoZW4gdXNpbmcgIlByZXR0eSBVcmxzIi4NCgkgICANCgkgICBUeXBpY2FsbHksIG1vZHVsZXMgY3JlYXRlIGludGVybmFsIGxpbmtzIHRoYXQgaGF2ZQ0KCSAgIGJpZyB1Z2x5IHN0cmluZ3MgYWxvbmcgdGhlIGxpbmVzIG9mOg0KCSAgIGluZGV4LnBocD9tYWN0PU1vZE5hbWUsY250bnQwMSxhY3Rpb25OYW1lLDAmY250bnQwMXBhcmFtMT0xJmNudG50MDFwYXJhbTI9MiZjbnRudDAxcmV0dXJuaWQ9Mw0KCSAgIA0KCSAgIFlvdSBtaWdodCBwcmVmZXIgdGhlc2UgdG8gbG9vayBsaWtlOg0KCSAgIC9Nb2R1bGVGdW5jdGlvbi8yLzMNCgkgICANCgkgICBUbyBkbyB0aGlzLCB5b3UgaGF2ZSB0byByZWdpc3RlciByb3V0ZXMgYW5kIG1hcA0KCSAgIHlvdXIgcGFyYW1ldGVycyBpbiBhIHdheSB0aGF0IHRoZSBBUEkgd2lsbCBiZSBhYmxlDQoJICAgdG8gdW5kZXJzdGFuZC4NCg0KCSAgIEFsc28gbm90ZSB0aGF0IGFueSBjYWxscyB0byBDcmVhdGVMaW5rIHdpbGwgbmVlZCB0bw0KCSAgIGJlIHVwZGF0ZWQgdG8gcGFzcyB0aGUgcHJldHR5IHVybCBwYXJhbWV0ZXIuDQoJICAgDQoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkNCgl7DQoNCgkJLy8gdGhlc2UgYXJlIGZvciBpbnRlcm5hbCBwcmV0dHkgVVJMUy4NCgkJLy8geW91IG1heSBjaGFuZ2UgdGhlc2UsIGJ1dCB5b3Ugd2lsbCBhbHNvIG5lZWQgdG8gY2hhbmdlIHRoZSBCdWlsZFByZXR0eVVSTHMgZnVuY3Rpb24gYmVsb3cgYWNjb3JkaW5nbHkNCgkJLy8gc2VlIEZBUSBmb3IgbW9yZSBpbmZvIG9uIHRoaXMNCgkJJGRlZmFjdCA9IGFycmF5KCJhY3Rpb24iPT4iZGVmYXVsdCIpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oW1FxXXVlcnkpXC8oP1A8cXVlcnk+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIsICRkZWZhY3QpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oW1FxXXVlcnkpXC8oP1A8cXVlcnk+WzAtOV0rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKFtEZF1ldGFpbClcLyg/UDxhbGlhcz5bXlwvXSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHBhcmVudD5bXlwvXSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYWdlaW5kZXg+WzAtOV0rKVwvKD9QPG5icGVycGFnZT5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYXJlbnQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkNCgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWN0aW9uIiwgImRlZmF1bHQiLCAkdGhpcy0+TGFuZygicGhlbHBfYWN0aW9uIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ3aGF0IiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF93aGF0IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgid2hhdCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWxpYXMiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX2FsaWFzIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiYWxpYXMiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNob3dkZWZhdWx0IiwgZmFsc2UsICR0aGlzLT5MYW5nKCJwaGVscF9zaG93ZGVmYXVsdCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInNob3dkZWZhdWx0IixDTEVBTl9JTlQpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJwYXJlbnQiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3BhcmVudCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInBhcmVudCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigibGltaXQiLCAwLCAkdGhpcy0+TGFuZygicGhlbHBfbGltaXQiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJsaW1pdCIsQ0xFQU5fSU5UKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigibmJwZXJwYWdlIiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX25icGVycGFnZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoIm5icGVycGFnZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigib3JkZXJieSIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9vcmRlcmJ5IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgib3JkZXJieSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiZGV0YWlscGFnZSIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfZGV0YWlscGFnZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImRldGFpbHBhZ2UiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInJhbmRvbSIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9yYW5kb20iKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJyYW5kb20iLENMRUFOX0lOVCk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImxpc3R0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+bGFuZygicGhlbHBfbGlzdHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibGlzdHRlbXBsYXRlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJmaW5hbHRlbXBsYXRlIiwgIiIsICR0aGlzLT5sYW5nKCJwaGVscF9maW5hbHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZmluYWx0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiZW1iZWR0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+bGFuZygicGhlbHBfZW1iZWR0ZW1wbGF0ZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImVtYmVkdGVtcGxhdGUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImZvcmNlbGlzdCIsICIwIiwgJHRoaXMtPmxhbmcoInBoZWxwX2ZvcmNlbGlzdCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImZvcmNlbGlzdCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiaW5saW5lIiwgMCwgJHRoaXMtPmxhbmcoInBoZWxwX2lubGluZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImlubGluZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigic2VhcmNobW9kZSIsICJhZHZhbmNlZCIsICR0aGlzLT5sYW5nKCJwaGVscF9zZWFyY2htb2RlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgic2VhcmNobW9kZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigicXVlcnkiLCAwLCAkdGhpcy0+bGFuZygicGhlbHBfcXVlcnkiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJxdWVyeSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigidG9hY3Rpb24iLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3RvYWN0aW9uIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgidG9hY3Rpb24iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJwYWdlaW5kZXgiLENMRUFOX0lOVCk7DQoNCgkJLy8gZm9yIHRoZSBzZWFyY2ggZm9ybSAodHJpY2sgZnJvbSBpa3VsaXMpIDoNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLiIvZGF0ZV8uKi8iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4iL2ZpZWxkXy4qLyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLiIvY29tcGFyZV8uKi8iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzdWJtaXRzZWFyY2giLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzZWFyY2hmaWVsZCIsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJfQ0KDQogICAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRuYW1lKQ0KICAgIHsNCgkJJGV2ZW50bmFtZSA9IHN0cl9yZXBsYWNlKCJIb3N0ZWRWaWRlb0FsYnVtcyIsICIiLCAkZXZlbnRuYW1lKTsNCgkJcmV0dXJuICR0aGlzLT5sYW5nKCJldmVudGRlc2MiLiRldmVudG5hbWUpOw0KICAgIH0NCiAgICANCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCJwb3N0aW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3R1bmluc3RhbGwiKTsNCgl9DQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInJlYWxseV91bmluc3RhbGwiKTsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSW5zdGFsbCgpDQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lDQoJICAgc2V0dXAuIFR5cGljYWwgdGhpbmdzIHRoYXQgaGFwcGVuIGhlcmUgYXJlIHRoZSBjcmVhdGlvbg0KCSAgIGFuZCBwcmVwb3B1bGF0aW9uIG9mIGRhdGFiYXNlIHRhYmxlcywgZGF0YWJhc2Ugc2VxdWVuY2VzLA0KCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLg0KCSAgIAkgICANCgkgICBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGNyZWF0aW9uIG9mIGRhdGFiYXNlIHRhYmxlcywNCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0DQoJICAgaHR0cDovL3BocGxlbnMuY29tL2xlbnMvYWRvZGIvZG9jcy1kYXRhZGljdC5odG0NCgkgICANCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsDQoJICAgYW5kIENNUyB3aWxsIG5vdCBjb25zaWRlciB0aGUgbW9kdWxlIGluc3RhbGxlZC4NCgkgICBTdWNjZXNzZnVsIGluc3RhbGxzIHNob3VsZCByZXR1cm4gRkFMU0Ugb3Igbm90aGluZyBhdCBhbGwuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEluc3RhbGwoKQ0KCXsNCgkJZ2xvYmFsICRnQ21zOw0KCQlyZXF1aXJlICJtZXRob2QuaW5zdGFsbC5waHAiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgVW5pbnN0YWxsKCkNCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudA0KCSAgIGFkbWluIHdpbGwgd2lzaCB0byB1bmluc3RhbGwgeW91ciBtb2R1bGUuIFdoaWxlIGl0DQoJICAgd291bGQgYmUgYmVzdCB0byBsYXkgaW50byB0aGVzZSBpZGlvdHMgd2l0aCBhIGNsdWVzdGljaywNCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUNCgkgICBhbmQgY2xlYW4gdXAgdGhlIGRhdGFiYXNlLCBwZXJtaXNzaW9ucywgYW5kIHByZWZlcmVuY2VzDQoJICAgdGhhdCBhcmUgc3BlY2lmaWMgdG8gaXQuDQoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFVuaW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC51bmluc3RhbGwucGhwIjsNCgl9DQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCglVcGdyYWRlKCkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFVwZ3JhZGUoJG9sZHZlcnNpb24sICRuZXd2ZXJzaW9uKQ0KCXsNCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOw0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC51cGdyYWRlLnBocCI7DQoJfQ0KDQoNCiAgICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkaXRlbWlkLCAkbGV2ZWwgPSAiIikNCiAgICB7DQoJCSRyZXN1bHQgPSBhcnJheSgpOw0KCQkkd2FudGVkcGFyYW0gPSBmYWxzZTsNCgkJJG5ld3BhcmFtcyA9IGFycmF5KCk7DQoJCWlmKCRsZXZlbCA9PSAidmlkZW8iKXsNCgkJCS8vIHdlIHNlZWsgYW4gZWxlbWVudCBvZiB0aGUgbGFzdCBsZXZlbCwgYW5kIHdpbGwgZGlzcGxheSB0aGUgZGV0YWlsIHZpZXcNCgkJCSR3YW50ZWRwYXJhbSA9ICJhbGlhcyI7DQoJCX1lbHNlew0KCQkJaWYoJG5ld3BhcmFtc1sid2hhdCJdID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJGxldmVsKSl7DQoJCQkvLyB3ZSBzZWVrIGFuIGVsZW1lbnQgb2YgYW5vdGhlciBsZXZlbCwgYW5kIHdpbGwgZGlzcGxheSB0aGUgbGlzdCB2aWV3IG9mIGl0cyBjaGlsZHJlbg0KCQkJCSR3YW50ZWRwYXJhbSA9ICJwYXJlbnQiOw0KCQkJfQ0KCQl9DQoJCWlmICgkd2FudGVkcGFyYW0pew0KCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbDsNCgkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCSRxdWVyeSA9ICJTRUxFQ1QgbmFtZSwgYWxpYXMgRlJPTSAkdGFibGVuYW1lIFdIRVJFIGlkID0gPyI7DQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRpdGVtaWQgKSApOw0KCQkJaWYgKCRkYnJlc3VsdCl7DQoJCQkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsNCgkJCQkkbmV3cGFyYW1zWyR3YW50ZWRwYXJhbV0gPSAkcm93WyJhbGlhcyJdOw0KDQoJCQkJLy8wIHBvc2l0aW9uIGlzIHRoZSBwcmVmaXggZGlzcGxheWVkIGluIHRoZSBsaXN0IHJlc3VsdHMuDQoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsNCg0KCQkJCS8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUNCgkJCQkkcmVzdWx0WzFdID0gJHJvd1sibmFtZSJdOw0KCQkNCgkJCQkvLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuDQoJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICIiLCAkbmV3cGFyYW1zLCAiIiwgdHJ1ZSwgZmFsc2UsICIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAkcmVzdWx0Ow0KCX0NCgkNCglmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCYkbW9kdWxlKQ0KICAgIHsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF9jYXRlZ29yeSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSR0ZXh0ID0gIiRpdGVtLT5kZXNjcmlwdGlvbiAkaXRlbS0+bmFtZSI7DQoJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiY2F0ZWdvcnkiLCAkdGV4dCwgTlVMTCk7DQoJCQl9DQoJCX0NCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoInNlYXJjaG1vZHVsZV9pbmRleF9hbGJ1bSIsZmFsc2UpKXsNCgkJCSRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfbGV2ZWxfYWxidW0oKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkdGV4dCA9ICIkaXRlbS0+ZGVzY3JpcHRpb24gJGl0ZW0tPm5hbWUiOw0KCQkJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtLT5pZCwgImFsYnVtIiwgJHRleHQsIE5VTEwpOw0KCQkJfQ0KCQl9DQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfdmlkZW8iLGZhbHNlKSl7DQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX3ZpZGVvKCk7DQoJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSl7DQoJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5zaXRlICRpdGVtLT52aWRlb2lkICRpdGVtLT5uYW1lIjsNCgkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbS0+aWQsICJ2aWRlbyIsICR0ZXh0LCBOVUxMKTsNCgkJCX0NCgkJfQ0KCQkNCiAgICB9CQ0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk5PVCBQQVJUIE9GIFRIRSBOT1JNQUwgTU9EVUxFIEFQSQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiAgICBmdW5jdGlvbiBnZXREZWZhdWx0VGVtcGxhdGVzKCl7DQogICAgCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHRlbXBsYXRlcyB0aGF0IGFyZSBzZWxlY3RlZCBhcyBkZWZhdWx0IChqdXN0IHNvIHRoYXQgd2UgZG9uJ3QgZGVsZXRlIHRoZW0pDQoJICAgJHJlc3VsdCA9IGFycmF5KCk7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImZpbmFsdGVtcGxhdGUiKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNocmVzdWx0c3RlbXBsYXRlIik7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV9jYXRlZ29yeSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfYWxidW0iKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX3ZpZGVvIik7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImVtYmVkdGVtcGxhdGUiKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1wdHl0ZW1wbGF0ZSIpOw0KCSAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCgkNCiAgICBmdW5jdGlvbiBnZXRPcmRlclR5cGUoJHdoYXQpew0KCQkvLyByZXR1cm5zIHdoZXRoZXIgYSBsZXZlbCBpcyBvcmRlcmVkIGJ5IHBhcmVudCBvciBub3QNCgkJJHJldHVybiA9IGFycmF5KCJjYXRlZ29yeSI9PnRydWUsImFsYnVtIj0+dHJ1ZSwidmlkZW8iPT50cnVlKTsNCgkJcmV0dXJuIChpc3NldCgkcmV0dXJuWyR3aGF0XSk/JHJldHVyblskd2hhdF06ZmFsc2UpOw0KICAgIH0NCg0KCWZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkPS0xKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkNCgkJc3dpdGNoKCRhY3Rpb24pew0KCQkJY2FzZSAibGluayI6DQoJCQkJJHRvYWN0aW9uID0gaXNzZXQoJHBhcmFtc1sidG9hY3Rpb24iXSk/JHBhcmFtc1sidG9hY3Rpb24iXToiZGVmYXVsdCI7DQoJCQkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJHRvYWN0aW9uLCRyZXR1cm5pZCwiIiwkcGFyYW1zLCIiLHRydWUpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiYnJlYWRjcnVtYnMiOg0KCQkJCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOw0KCQkJCSR0aGlzLT5mdW5jdGlvbl9tb2RicmVhZGNydW1icygkcGFyYW1zLCAkc21hcnR5KTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVtYmVkdmlkZW8iOg0KCQkJCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOw0KCQkJCSR0aGlzLT5mdW5jdGlvbl9lbWJlZHZpZGVvKCRwYXJhbXMsICRzbWFydHkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiY2hhbmdlcHJlZmVyZW5jZXMiOg0KCQkJCWlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSl7DQoJCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJtb2R1bGVfbWVzc2FnZSI9PiR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKSkpOw0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQkJJHByZWZzID0gYXJyYXkoInJlc3RyaWN0X3Blcm1pc3Npb25zIiwidXNlX2hpZXJhcmNoeSIsIm9yZGVyYnluYW1lIiwiZGlzcGxheV9maWx0ZXIiLCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLCJkaXNwbGF5X2luc3RhbnRzb3J0IiwiZWRpdGFibGVfYWxpYXNlcyIsImF1dG9pbmNyZW1lbnRfYWxpYXMiLCJhbGxvd19zcWwiLCJmb3JjZV9saXN0IiwiZGVsZXRlX2ZpbGVzIiwidGFiZGlzcGxheV90ZW1wbGF0ZXMiLCJ0YWJkaXNwbGF5X2ZpZWxkb3B0aW9ucyIsInRhYmRpc3BsYXlfcXVlcmllcyIsInNob3d0aHVtYm5haWxzIiwiZmVfd3lzaXd5ZyIsImZlX2RlY29kZWVudGl0aWVzIiwiZmVfYWxsb3dmaWxlcyIsImZlX2FsbG93bmFtZWNoYW5nZSIsImZlX2FsbG93YWRkbmV3IiwiZmVfdXNlY2FwdGNoYSIsImFsbG93X2NvbXBsZXhfb3JkZXIiLCJsb2FkX25leHRwcmV2aW91cyIsImxvYWRfbmJjaGlsZHJlbiIsInVzZV9zZXNzaW9uIiwicmV0cmlldmV0cmVlIik7DQoJCQkJZm9yZWFjaCgkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSBhcyAkbGV2ZWwpew0KCQkJCQkkcHJlZnNbXSA9ICJuZXdpdGVtc2ZpcnN0XyIuJGxldmVsOw0KCQkJCQkkcHJlZnNbXSA9ICJzZWFyY2htb2R1bGVfaW5kZXhfIi4kbGV2ZWw7DQoJCQkJCSRwcmVmc1tdID0gInRhYmRpc3BsYXlfIi4kbGV2ZWw7DQoJCQkJfQ0KCQkJCWZvcmVhY2goJHByZWZzIGFzICRwcmVmKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZiwgaXNzZXQoJHBhcmFtc1skcHJlZl0pKTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJmZV9hZnRlcnN1Ym1pdCJdKSkJJHRoaXMtPlNldFByZWZlcmVuY2UoImZlX2FmdGVyc3VibWl0IiwgJHBhcmFtc1siZmVfYWZ0ZXJzdWJtaXQiXSk7DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1siZmVfbWF4ZmlsZXNpemUiXSkpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJmZV9tYXhmaWxlc2l6ZSIsICRwYXJhbXNbImZlX21heGZpbGVzaXplIl0pOw0KCQkJCSRtYXhzaG93bnBhZ2VzID0gKGludCkkcGFyYW1zWyJtYXhzaG93bnBhZ2VzIl07DQoJCQkJJGFkbWlucGFnZXMgPSAoaW50KSRwYXJhbXNbImFkbWlucGFnZXMiXTsNCgkJCQlmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRsZXZlbCl7DQoJCQkJCSRuYnBlcnBhZ2UgPSAoaW50KSAoaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9wYWdpbmF0aW9uIl0pPyRwYXJhbXNbJGxldmVsLiJfcGFnaW5hdGlvbiJdOjApOw0KCQkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkbGV2ZWwuIl9wYWdpbmF0aW9uIiwgJG5icGVycGFnZSk7DQoJCQkJfQ0KCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJtYXhzaG93bnBhZ2VzIiwgJG1heHNob3ducGFnZXMpOw0KCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhZG1pbnBhZ2VzIiwgJGFkbWlucGFnZXMpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+InByZWZlcmVuY2VzIiwgIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiY2hhbmdlZGVmdGVtcGxhdGVzIjoNCgkJCQlmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkgICAgaWYoJGtleSAhPSAic3VibWl0IikJICAgJHRoaXMtPnNldFByZWZlcmVuY2UoJGtleSwgJHZhbHVlKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIiwgIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRldHBsIjoNCgkJCQkkbmV3cGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIik7DQoJCQkJJGRlZnRlbXBsYXRlcyA9ICR0aGlzLT5nZXREZWZhdWx0VGVtcGxhdGVzKCk7DQoJCQkgICAgaWYoaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSAmJiAhaW5fYXJyYXkoJHBhcmFtc1sidHBsbmFtZSJdLCAkZGVmdGVtcGxhdGVzKSl7DQoJCQkJICAgIGlmKCR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyJ0cGxuYW1lIl0pKQkgICAkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZT4iXSA9ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIik7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRlcXVlcnkiOg0KCQkJCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJxdWVyaWVzIik7DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sicXVlcnlpZCJdKSl7DQoJCQkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCQkJaWYoJGRiLT5FeGVjdXRlKCJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIFdIRVJFIGlkPT8gTElNSVQgMSIsIGFycmF5KCRwYXJhbXNbInF1ZXJ5aWQiXSkpKXsNCgkJCQkJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+TGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCQkJCX0NCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ0ZXN0cXVlcnkiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5aWQiXSkgJiYgJHF1ZXJ5ID0gJHRoaXMtPmdldF9xdWVyaWVzKGFycmF5KCJpZCI9PiRwYXJhbXNbInF1ZXJ5aWQiXSkpKXsNCgkJCQkJJHF1ZXJ5ID0gJHF1ZXJ5WzBdOw0KCQkJCQllY2hvICI8cD48Yj4iLiR0aGlzLT5MYW5nKCJxdWVyeSIpLiI6PC9iPiAiLiRxdWVyeS0+bmFtZTsNCgkJCQkJaWYoJHF1ZXJ5LT5vcmRlciAhPSAiIikJZWNobyAiIE9SREVSIEJZICIuJHF1ZXJ5LT5vcmRlcjsNCgkJCQkJZWNobyAiPC9wPiI7DQoJCQkJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kcXVlcnktPndoYXQ7DQoJCQkJCSRpdGVtbGlzdCA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoKSwgZmFsc2UsICIiLCAiIiwgMCwgMCwgJHF1ZXJ5LT53aGVyZWNsYXVzZSwgJHF1ZXJ5LT53aGVyZXZhbHVlcywgKCRxdWVyeS0+cXVlcnlvcmRlciA9PSAiIj9mYWxzZTokcXVlcnktPnF1ZXJ5b3JkZXIpKTsNCgkJCQkJZWNobyAiPHA+PGI+Ii4kdGhpcy0+TGFuZygicmVzdWx0cyIpLiIgKCIuY291bnQoJGl0ZW1saXN0KS4iKSA6PC9iPjwvcD4iOw0KCQkJCQllY2hvICI8dWw+IjsNCgkJCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pCWVjaG8gIjxsaT4iLiRpdGVtLT5uYW1lLiI8L2xpPiI7DQoJCQkJCWVjaG8gIjwvdWw+IjsNCgkJCQl9DQoJCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGxhbmcoImJhY2siKSwgYXJyYXkoImFjdGl2ZV90YWIiPT4icXVlcmllcyIpKS4iPC9wPiI7DQoJCQkJYnJlYWs7DQoJCQkJCQ0KDQoJCQljYXNlICJhZGRfb3B0aW9udmFsdWUiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSkgJiYgJHBhcmFtc1sib3B0aW9ubmFtZSJdICE9ICIiKXsNCgkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJCSRpdGVtaWQgPSAkZGItPkdlbklEKCR0YWJsZW5hbWUuIl9zZXEiKTsNCgkJCQkJJGl0ZW1vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiZmllbGRvcHRpb25zIiwgImlkIiwgYXJyYXkoImZpZWxkIj0+JHBhcmFtc1siZmllbGQiXSkpICsgMTsNCgkJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlbmFtZS4iIFNFVCBpZD0/LCBmaWVsZD0/LCBuYW1lPT8sIGl0ZW1fb3JkZXI9PyI7DQoJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGl0ZW1pZCwkcGFyYW1zWyJmaWVsZCJdLCRwYXJhbXNbIm9wdGlvbm5hbWUiXSwkaXRlbW9yZGVyKSk7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+ImZpZWxkb3B0aW9ucyIpICk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWxldGVfb3B0aW9udmFsdWUiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmICRwYXJhbXNbIm9wdGlvbmlkIl0gPiAwKXsNCgkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFIGlkPT8gQU5EIGZpZWxkPT8gTElNSVQgMSI7DQoJCQkJCWlmKCRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sib3B0aW9uaWQiXSwgJHBhcmFtc1siZmllbGQiXSkpKXsNCgkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBmaWVsZD0/IEFORCBpdGVtX29yZGVyID4gPyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyJmaWVsZCJdLCAkcGFyYW1zWyJjdXJyZW50b3JkZXIiXSkpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+ImZpZWxkb3B0aW9ucyIpICk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJtb3ZlX29wdGlvbnZhbHVlIjoNCgkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm1vdmUiXSkgJiYgaXNzZXQoJHBhcmFtc1siY3VycmVudG9yZGVyIl0pKXsNCgkJCQkJaWYoJHBhcmFtc1sibW92ZSJdID09ICJ1cCIgJiYgJHBhcmFtc1siY3VycmVudG9yZGVyIl0gIT0gMSl7DQoJCQkJCQkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgZmllbGQ9PyBBTkQgaXRlbV9vcmRlciA9ID8gTElNSVQgMTsiOw0KCQkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1siY3VycmVudG9yZGVyIl0gLTEpKTsNCgkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBmaWVsZD0/IEFORCBpZCA9ID8gTElNSVQgMTsiOw0KCQkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1sib3B0aW9uaWQiXSkpOw0KCQkJCQl9ZWxzZWlmKCRwYXJhbXNbIm1vdmUiXSA9PSAiZG93biIpew0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGZpZWxkPT8gQU5EIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJCQkJCWlmKCRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImZpZWxkIl0sICRwYXJhbXNbImN1cnJlbnRvcmRlciJdICsxKSkpew0KCQkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBmaWVsZD0/IEFORCBpZCA9ID8gTElNSVQgMTsiOw0KCQkJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImZpZWxkIl0sICRwYXJhbXNbIm9wdGlvbmlkIl0pKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJmaWVsZG9wdGlvbnMiKSApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAicmVuYW1lX29wdGlvbnZhbHVlIjoNCgkJCQlpZighaXNzZXQoJHBhcmFtc1siY2FuY2VsIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmIGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSkgKXsNCgkJCQkJaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pICYmICRwYXJhbXNbIm9wdGlvbm5hbWUiXSAhPSAiIiApew0KCQkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBuYW1lPT8gV0hFUkUgZmllbGQ9PyBBTkQgaWQ9PyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSwgJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1sib3B0aW9uaWQiXSkpOw0KCQkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQllY2hvICI8aDI+Ii4kdGhpcy0+TGFuZygibW9kaWZ5YW5vcHRpb24iKS4iPC9oMj4iOw0KCQkJCQkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgInJlbmFtZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCk7DQoJCQkJCQllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJvcHRpb25uYW1lIiwkcGFyYW1zWyJvcHRpb25uYW1lIl0sNDAsNjQpLiI8L3A+IjsNCgkJCQkJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLiI8L3A+IjsNCgkJCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9wdGlvbmlkIiwgJHBhcmFtc1sib3B0aW9uaWQiXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImZpZWxkIiwgJHBhcmFtc1siZmllbGQiXSk7DQoJCQkJCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJCQkJCX0NCgkJCQl9ZWxzZXsNCgkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWZhdWx0IjoNCgkJCWRlZmF1bHQ6DQoJCQkJcGFyZW50OjpEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7DQoJCQkJYnJlYWs7DQoJCX0NCg0KDQoJfQ0KCWZ1bmN0aW9uIHBsY3JlYXRlYWxpYXMoJG5hbWUpew0KCQkvLyB0cmFuc2Zvcm1zICRuYW1lIGludG8gYSB1cmwtZnJpZW5kbHkgYWxpYXMNCgkJDQoJCS8vIGFzIGEgc3VnZ2VzdGlvbiBmcm9tIEFNVCwgdGhlIGZpcnN0IHBhcnQgZGVhbHMgd2l0aCBzbWFydCBxdW90ZXMNCiAJCSRzZWFyY2ggPSBhcnJheShjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk5KSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWMpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5ZCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDkzKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTQpKTsNCiAJCSRuYW1lID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwgIiIsICRuYW1lKTsNCgkJDQogCQkvLyB0aGUgc2Vjb25kIHBhcnQgdXNlcyB0aGUgY21zIHZlcnNpb24NCiAJCSRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJG5hbWUsIGZhbHNlKTsNCiAJCXJldHVybiAkYWxpYXM7DQoJfQ0KDQoJZnVuY3Rpb24gY2hlY2thbGlhcygkZGJ0YWJsZSwgJGFsaWFzLCAkaXRlbWlkPWZhbHNlLCAkaWRmaWVsZD0iaWQiLCAkYWxpYXNmaWVsZD0iYWxpYXMiKXsNCgkJLy8gY2hlY2tzIGlmIHRoaXMgYWxpYXMgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxldmVsDQoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4kaWRmaWVsZC4iIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJGRidGFibGUuIiBXSEVSRSAiLiRhbGlhc2ZpZWxkLiIgPSA/IjsNCgkJaWYoJGl0ZW1pZCkgJHF1ZXJ5IC49ICIgQU5EICIuJGlkZmllbGQuIiE9Ii4kaXRlbWlkOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkYWxpYXMpKTsNCgkJJHRhcmdldGlkID0gMDsNCgkJaWYoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpICR0YXJnZXRpZCA9ICRyb3dbImlkIl07DQoJCXJldHVybiAoJHRhcmdldGlkID09IDApOw0KCX0NCglmdW5jdGlvbiBCdWlsZFByZXR0eVVybHMoJHBhcmFtcywgJHJldHVybmlkPS0xKXsNCgkJLy8gdHJhbnNmb3JtcyBnaXZlbiBwYXJhbXMgaW50byBhIHByZXR0eSB1cmwNCgkJJHByZXR0eXVybCA9ICR0aGlzLT5HZXROYW1lKCkuIi8iOw0KCQlpZihpc3NldCgkcGFyYW1zWyJxdWVyeSJdKSl7DQoJCQkkcHJldHR5dXJsIC49ICJxdWVyeS8iLiRwYXJhbXNbInF1ZXJ5Il07CQ0KCQl9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gImRldGFpbC8iLiRwYXJhbXNbImFsaWFzIl07DQoJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gJHBhcmFtc1sid2hhdCJdLiIvIi4kcGFyYW1zWyJwYXJlbnQiXTsNCgkJfWVsc2V7DQoJCQkkcHJldHR5dXJsIC49ICRwYXJhbXNbIndoYXQiXTsNCgkJfQ0KCQlpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pICYmIGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSkJJHByZXR0eXVybCAuPSAiLyIuJHBhcmFtc1sicGFnZWluZGV4Il0uIi8iLiRwYXJhbXNbIm5icGVycGFnZSJdOw0KCQkkcHJldHR5dXJsIC49ICIvIi4kcmV0dXJuaWQ7DQoJCXJldHVybiAkcHJldHR5dXJsOw0KCX0NCglmdW5jdGlvbiBEb0NoZWNrYm94ZXMoJGlkLCAkbmFtZSwgJGNob2ljZXMsICRzZWxlY3RlZD1hcnJheSgpLCAkZGVsaW1pdGVyPSI8YnIvPiIpew0KCQkvLyBwcmV0dHkgbXVjaCBsaWtlIENyZWF0ZUlucHV0UmFkaW9Hcm91cCwgYnV0IHVzaW5nIGNoZWNrYm94ZXMNCgkJaWYoIWlzX2FycmF5KCRzZWxlY3RlZCkpCSRzZWxlY3RlZCA9IGFycmF5KCk7DQoJCSRvdXRwdXQgPSAiIjsNCgkJZm9yZWFjaCgkY2hvaWNlcyBhcyAka2V5PT4kdmFsdWUpew0KCQkJJG91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICRuYW1lLiJbXSIsICR2YWx1ZSwgKGluX2FycmF5KCR2YWx1ZSwgJHNlbGVjdGVkKT8kdmFsdWU6MCkpLiIgIi4ka2V5LiRkZWxpbWl0ZXI7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KCWZ1bmN0aW9uIHBhcnNla2V5d29yZHMoJHN0cmluZyl7DQoJCS8vIGN1dHMgdGhlIHNlYXJjaHdvcmRzIG9mIHRoZSBzZWFyY2ggZm9ybSBpbnRvIHBpZWNlcw0KCQkvLyBiYXNjaWFsbHksIHRoaXMgZXhwbG9kZXMgdGhlICRzdHJpbmcsIGJ1dCB0YWtlcyBub3RpY2Ugb2YgdGhlIHF1b3Rlcw0KCQkNCgkJJGluc2lkZSA9IChzdWJzdHIoJHN0cmluZywwLDEpID09ICciJyk7DQoJCSRwYXJ0cyA9IGV4cGxvZGUoJyInLCRzdHJpbmcpOw0KCQ0KCQlpZihjb3VudCgkcGFydHMpIDwgMil7DQoJCQlpZigkaW5zaWRlKXsNCgkJCQlyZXR1cm4gYXJyYXkoc3RyX3JlcGxhY2UoJyInLCIiLCRzdHJpbmcpKTsNCgkJCX1lbHNlew0KCQkJCXJldHVybiBleHBsb2RlKCIgIiwkc3RyaW5nKTsNCgkJCX0NCgkJfQ0KCQ0KCQkka2V5d29yZHMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRwYXJ0cyBhcyAkcGFydCl7DQoJCQlpZigkcGFydCAhPSAiIil7DQoJCQkJaWYoJGluc2lkZSl7DQoJCQkJCSRrZXl3b3Jkc1tdID0gJHBhcnQ7DQoJCQkJfWVsc2V7DQoJCQkJCSR3b3JkcyA9IGV4cGxvZGUoIiAiLHRyaW0oJHBhcnQpKTsNCgkJCQkJZm9yZWFjaCgkd29yZHMgYXMgJHdvcmQpew0KCQkJCQkJaWYodHJpbSgkd29yZCkgIT0gIiIpCSRrZXl3b3Jkc1tdID0gJHdvcmQ7DQoJCQkJCX0NCgkJCQl9DQoJCQkJJGluc2lkZSA9ICEkaW5zaWRlOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAka2V5d29yZHM7DQoJfQ0KDQoNCglmdW5jdGlvbiBnZXRfbGV2ZWxhcnJheSgpew0KCQkvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBsZXZlbHMgKHRvcCB0byBib3R0b20pDQoJCXJldHVybiBhcnJheSgiY2F0ZWdvcnkiLCJhbGJ1bSIsInZpZGVvIik7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X21vZHVsZWhpZXJhcmNoeSgkbGV2ZWw9ZmFsc2Upew0KCQkkaGllcmFyY2h5ID0gYXJyYXkoKTsNCgkJCSRoaWVyYXJjaHlbMV0gPSAiY2F0ZWdvcnkiOw0KCQkJJGhpZXJhcmNoeVsyXSA9ICJhbGJ1bSI7DQoJCQkkaGllcmFyY2h5WzNdID0gInZpZGVvIjsNCgkJcmV0dXJuICRoaWVyYXJjaHk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9sZXZlbHNlYXJjaGZpZWxkcygkbGV2ZWwpew0KCQkvLyByZXR1cm5zIHRoZSBmaWVsZCBvZiBhIGxldmVsIHdoaWNoIGFyZSBzZWFyY2hhYmxlIChmb3IgdGhlIHNpbXBsZSBzZWFyY2ggYWN0aW9uKQ0KCQkkZmllbGRzID0gYXJyYXkoKTsNCgkJc3dpdGNoKCRsZXZlbCl7DQoJCQljYXNlICJjYXRlZ29yeSI6DQoJCQkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsIm5hbWUiKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImFsYnVtIjoNCgkJCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmlkZW8iOg0KCQkJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJ2aWRlb2lkIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJCQkJDQoJCX0NCgkJcmV0dXJuICRmaWVsZHM7DQoJfQ0KCWZ1bmN0aW9uIGdldF9oaWVyYXJjaHlvcHRpb25zKCRlbmQ9ZmFsc2UsICR3aXRoZW1wdHlyb3c9dHJ1ZSwgJGRlcHRoc3ltYm9sPSImbmJzcDstJm5ic3A7Iil7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgcGFyZW50IG9wdGlvbnMgZm9yIGEgbGlua2VkIHRvIGEgc2VsZWN0ZWQgbGV2ZWwNCgkJLy8gdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkcm9wZG93biBsaXN0IGluIHNlYXJjaCBhY3Rpb24NCgkJJGxldmVsYXJyYXkgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJIGlmKCFpbl9hcnJheSgkZW5kLCAkbGV2ZWxhcnJheSkpCSRlbmQgPSAkbGV2ZWxhcnJheVtjb3VudCgkbGV2ZWxhcnJheSktMV07DQoJCQ0KCQkvLyBidWlsZGluZyB0aGUgam9pbmVkIHF1ZXJ5DQoJCSR0YWJsZXMgPSAiIjsNCgkJJGZpZWxkcyA9ICIiOw0KCQkkb3JkZXJieSA9ICIiOw0KCQkkd2hlcmUgPSAiIjsNCgkJJGZpbmlzaGVkID0gZmFsc2U7DQoJCSRpID0gMTsNCgkJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkbGV2ZWwpew0KCQkJaWYoJGxldmVsID09ICRlbmQpCSRmaW5pc2hlZCA9IHRydWU7DQoJCQlpZighJGZpbmlzaGVkKXsNCgkJCQkkdGFibGVzIC49ICgkdGFibGVzID09ICIiPyIiOiIsICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHQiLiRpLiIgIjsNCgkJCQkkZmllbGRzIC49ICgkZmllbGRzID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLmlkIGlkIi4kaS4iLCB0Ii4kaS4iLm5hbWUgbmFtZSIuJGk7DQoJCQkJJG9yZGVyYnkgLj0gKCRvcmRlcmJ5ID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLml0ZW1fb3JkZXIgREVTQyI7DQoJCQkJaWYoJGkgPiAxKSAkd2hlcmUgLj0gIiBBTkQgdCIuKCRpLTEpLiIuaWQgPSB0Ii4kaS4iLnBhcmVudCAiOw0KCQkJCSR3aGVyZSAuPSAoJHdoZXJlID09ICIiPyIiOiIgQU5EICIpLiIgdCIuJGkuIi5hY3RpdmU9MSI7DQoJCQkJJGkrKzsNCgkJCX0NCgkJfQ0KCQlpZigkZmllbGRzID09ICIiKQlyZXR1cm4gZmFsc2U7DQoJCQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4kZmllbGRzLiIgRlJPTSAiLiR0YWJsZXMuIiBXSEVSRSAiLiR3aGVyZS4iIE9SREVSIEJZICIuJG9yZGVyYnk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQoJCS8vIHBhcnNpbmcgcmVzdWx0cw0KCQkkY3VycmVudCA9IGFycmF5KCk7DQoJCSR0bXBsYXN0bGV2ZWwgPSBhcnJheSgpOw0KCQkkcmVzdWx0cyA9IGFycmF5KCk7DQoJCSRmaW5hbCA9ICRpIC0xOw0KCQl3aGlsZSgkaiA8ICRmaW5hbCApew0KCQkJJGN1cnJlbnRbJGpdID0gYXJyYXkoImlkIj0+ZmFsc2UsIm5hbWUiPT4iIik7DQoJCQkkaisrOw0KCQl9DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCS8vIGVhY2ggcm93IGhhcyBhIGZ1bGwgaGllcmFyY2h5LCBmcm9tIHRvcCBwYXJlbnQgdG8gZmluYWwgY2hpbGQNCgkJCSRqID0gJGZpbmFsOw0KCQkJd2hpbGUoJGogPiAwICl7DQoJCQkJaWYoJHJvd1siaWQiLiRqXSAhPSAkY3VycmVudFskal1bImlkIl0pew0KCQkJCQlpZigkY3VycmVudFskal1bImlkIl0gJiYgY291bnQoJGN1cnJlbnRbJGpdWyJyZXMiXSkgPiAwKXsNCgkJCQkJCSRrZXkgPSBzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJCQl9DQoJCQkJCSRjdXJyZW50WyRqXSA9IGFycmF5KCJpZCI9PiRyb3dbImlkIi4kal0sICJuYW1lIj0+JHJvd1sibmFtZSIuJGpdLCAicmVzIj0+YXJyYXkoKSk7DQoJCQkJfQ0KCQkJCSRjdXJyZW50WyRqXVsicmVzIl1bXSA9ICRyb3dbImlkIi4kZmluYWxdOw0KCQkJCSRqLS07DQoJCQl9DQoJCQkkcmVzdWx0c1tzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRmaW5hbCAtMSkpLiRyb3dbIm5hbWUiLiRmaW5hbF1dID0gJHJvd1siaWQiLiRmaW5hbF07DQoJCX0NCgkJLy8gd2UgY2xvc2UgdGhlIHJlbWFpbmluZyBzZXRzDQoJCSRqID0gJGZpbmFsIC0xOw0KCQl3aGlsZSgkaiA+IDAgKXsNCgkJCSRrZXkgPSBzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJJGotLTsNCgkJfQ0KCQlpZigkd2l0aGVtcHR5cm93KQkkcmVzdWx0c1siIl0gPSAiIjsNCgkJcmV0dXJuIGFycmF5X3JldmVyc2UoJHJlc3VsdHMpOw0KCX0NCglmdW5jdGlvbiBnZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygkZW5kPWZhbHNlLCAkd2l0aGVtcHR5cm93PXRydWUsICRzZXBhcmF0b3I9IiAmZ3Q7ICIsICRvcmRlcmJ5bmFtZT1mYWxzZSl7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgcGFyZW50IG9wdGlvbnMgbGlua2VkIHRvIGEgc2VsZWN0ZWQgbGV2ZWwNCgkJLy8gdXNlZCBmb3IgdGhlIHBhcmVudCBhbmQgZmlsdGVyIGRyb3Bkb3duIGluIHRoZSBhZG1pbg0KCQkvLyBzaG93cyBlbXB0eSBwYXJlbnRzIHRvbw0KCQkkbGV2ZWxhcnJheSA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQlpZighaW5fYXJyYXkoJGVuZCwgJGxldmVsYXJyYXkpKQkkZW5kID0gIml0ZW0iOw0KCQkNCgkJLy8gYnVpbGRpbmcgdGhlIGpvaW5lZCBxdWVyeQ0KCQkkdGFibGVzID0gIiI7DQoJCSRmaWVsZHMgPSAiIjsNCgkJJG9yZGVyYnkgPSAiIjsNCgkJJGZpbmlzaGVkID0gZmFsc2U7DQoJCSRpID0gMTsNCgkJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkbGV2ZWwpew0KCQkJaWYoJGxldmVsID09ICRlbmQpCSRmaW5pc2hlZCA9IHRydWU7DQoJCQlpZighJGZpbmlzaGVkKXsNCgkJCQkkdGFibGVzIC49ICgkaT09MT8iIjoiIExFRlQgSk9JTiAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWwuIiB0Ii4kaS4iICI7DQoJCQkJaWYoJGk+MSkJJHRhYmxlcyAuPSAiT04gdCIuKCRpLTEpLiIuaWQgPSB0Ii4kaS4iLnBhcmVudCAiOw0KCQkJCSRmaWVsZHMgLj0gKCRmaWVsZHMgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIuaWQgaWQiLiRpLiIsIHQiLiRpLiIubmFtZSBuYW1lIi4kaTsNCgkJCQlpZigkb3JkZXJieW5hbWUpew0KCQkJCQkkb3JkZXJieSAuPSAoJG9yZGVyYnkgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIubmFtZSI7DQoJCQkJfWVsc2V7DQoJCQkJCSRvcmRlcmJ5IC49ICgkb3JkZXJieSA9PSAiIj8iIjoiLCAiKS4idCIuJGkuIi5pdGVtX29yZGVyLCB0Ii4kaS4iLm5hbWUiOw0KCQkJCX0NCgkJCQkkaSsrOw0KCQkJfQ0KCQl9DQoJCWlmKCRmaWVsZHMgPT0gIiIpCXJldHVybiBhcnJheSgpOw0KCQkNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJGZpZWxkcy4iIEZST00gIi4kdGFibGVzLiIgT1JERVIgQlkgIi4kb3JkZXJieTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCSRvcHRpb25zID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJLy8gZWFjaCByb3cgaGFzIGEgZnVsbCBoaWVyYXJjaHksIGZyb20gdG9wIHBhcmVudCB0byBmaW5hbCBjaGlsZA0KCQkJJHZhbHVlID0gJHJvd1siaWQiLigkaS0xKV07DQoJCQkkaiA9IDE7DQoJCQkkb3B0aW9uX25hbWUgPSAiIjsNCgkJCXdoaWxlKCRqIDwgJGkpew0KCQkJCSRvcHRpb25fbmFtZSAuPSAoJGo9PTE/IiI6JHNlcGFyYXRvcikuJHJvd1sibmFtZSIuJGpdOw0KCQkJCSRqKys7DQoJCQl9DQoJCQkkb3B0aW9uc1skb3B0aW9uX25hbWVdID0gJHZhbHVlOw0KCQl9DQoJCWlmKCR3aXRoZW1wdHlyb3cpCSRvcHRpb25zWyIiXSA9ICIiOw0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCWZ1bmN0aW9uIGdldF9tb2R1bGVHZXRWYXJzKCl7DQoJCS8vIHVub3J0aG9kb3ggaGFjayBzbyB0aGF0IGRpZmZlcmVudCBjYWxscyBvZiB0aGUgbW9kdWxlIHNwZWFrIHdpdGggZWFjaCBvdGhlcg0KCQkvLyBiYXNpY2FsbHksIHdlIHJldHJpZXZlIHBhcmFtZXRlcnMgaW4gdGhlIHVybCB0aGF0IHdlcmUgbWVhbnQgZm9yIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgbW9kdWxlDQoJCS8vIHNlZSBGQVEgZm9yIG1vcmUgaW5mbyBvbiB0aGlzDQoJCWdsb2JhbCAkX0dFVDsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkcmVkaXJlY3Rpb24gPSBmYWxzZTsNCgkJaWYoaXNzZXQoJGdDbXMtPmNvbmZpZ1sidXJsX3Jld3JpdGluZyJdKSl7DQoJCQkvLyBjb3JlIDEuNiBvciBtb3JlDQoJCQkkcmVkaXJlY3Rpb24gPSAkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl07DQoJCX1lbHNlew0KCQkJLy8gY29yZSBiZWxvdyAxLjYNCgkJCWlmKCRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdICYmIGlzc2V0KCRfR0VUWyJwYWdlIl0pKXsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfWVsc2VpZighJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgJGdDbXMtPmNvbmZpZ1siaW50ZXJuYWxfcHJldHR5X3VybHMiXSAmJiBpc3NldCgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpew0KCQkJCSRyZWRpcmVjdGlvbiA9ICJpbnRlcm5hbCI7DQoJCQl9DQoJCX0NCgkJJHBhcmFtcyA9IGFycmF5KCk7DQoJCSRnbG9iYWxtb2R1bGV2YXJzID0gYXJyYXkoKTsNCgkJaWYoaXNzZXQoJF9HRVRbIm1hY3QiXSkpew0KCQkJLy8gaWYgd2UgYXJlbid0IHVzaW5nIHByZXR0eSB1cmxzLi4uDQoJCQkkbW9kaW5mbyA9IGV4cGxvZGUoIiwiLCRfR0VUWyJtYWN0Il0pOw0KCQkJaWYoaXNzZXQoJG1vZGluZm8pICYmICRtb2RpbmZvWzBdID09ICR0aGlzLT5HZXROYW1lKCkpew0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJwYXJlbnQiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYXJlbnQiXT0kX0dFVFskbW9kaW5mb1sxXS4icGFyZW50Il07DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uIndoYXQiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJ3aGF0Il09JF9HRVRbJG1vZGluZm9bMV0uIndoYXQiXTsNCgkJCQlpZihpc3NldCgkX0dFVFskbW9kaW5mb1sxXS4iYWxpYXMiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJhbGlhcyJdPSRfR0VUWyRtb2RpbmZvWzFdLiJhbGlhcyJdOw0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJwYWdlaW5kZXgiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYWdlaW5kZXgiXT0kX0dFVFskbW9kaW5mb1sxXS4icGFnZWluZGV4Il07DQoJCQl9DQoJCX1lbHNlaWYoJHJlZGlyZWN0aW9uID09ICJtb2RfcmV3cml0ZSIgfHwgJHJlZGlyZWN0aW9uID09ICJpbnRlcm5hbCIpew0KCQkJJHBhcmFtcyA9IGFycmF5KCk7DQoJCQlpZigkcmVkaXJlY3Rpb24gPT0gIm1vZF9yZXdyaXRlIiAmJiBpc3NldCgkX0dFVFsicGFnZSJdKSl7DQoJCQkJLy8gaWYgd2UgYXJlIHVzaW5nIGFuIGV4dGVybmFsIG1vZF9yZXdyaXRlLCBhc3N1bWluZyB5b3UgYXJlIHVzaW5nIHRoZSB2ZXJ5DQoJCQkJLy8gYmFzaWMgcmV3cml0ZSB3aGljaCBwdXRzIHRoZSBtb2R1bGUgaW5mb3JtYXRpb25zIGluc2lkZSB0aGUgcGFnZSB2YXJpYWJsZQ0KCQkJCSRwYXJ0cyA9IGV4cGxvZGUoIi8iLCRfR0VUWyJwYWdlIl0pOw0KCQkJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCQkJaWYoJHBhcnQgIT0gIiIpCSRwYXJhbXNbXSA9ICRwYXJ0Ow0KCQkJCX0NCgkJCX1lbHNlaWYoJHJlZGlyZWN0aW9uID09ICJpbnRlcm5hbCIpew0KCQkJCS8vIGlmIHdlIGFyZSB1c2luZyB0aGUgaW50ZXJuYWwgcHJldHR5IHVybHMNCgkJCQkkcGFydHMgPSBleHBsb2RlKCIvIiwkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSk7DQoJCQkJJHN0YXJ0ZWQgPSBmYWxzZTsNCgkJCQlmb3JlYWNoKCRwYXJ0cyBhcyAkcGFydCl7DQoJCQkJCWlmKCRzdGFydGVkICYmICRwYXJ0ICE9ICIiKQkkcGFyYW1zW10gPSAkcGFydDsNCgkJCQkJaWYoc3RydG9sb3dlcigkcGFydCkgPT0gImluZGV4LnBocCIpCSRzdGFydGVkID0gdHJ1ZTsNCgkJCQl9DQoJCQl9DQoJCQlpZihpc3NldCgkcGFyYW1zWzBdKSAmJiBzdHJ0b2xvd2VyKCRwYXJhbXNbMF0pID09IHN0cnRvbG93ZXIoJHRoaXMtPkdldE5hbWUoKSkpew0KCQkJCSAvLyB3ZSBhcmUgaW4gYSBtb2R1bGUgYWN0aW9uDQoJCQkJIC8vIHRoaXMgcGFydCBzaG91bGQgYmUgY2hhbmdlZCBpZiB5b3UgY2hhbmdlIHRoZSBwcmV0dHkgdXJscyBzdHJ1Y3R1cmUNCgkJCQlpZighaXNzZXQoJHBhcmFtc1sxXSkgfHwgc3RydG9sb3dlcigkcGFyYW1zWzFdKSA9PSAicXVlcnkiKXsNCg0KCQkJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1sxXSkgJiYgc3RydG9sb3dlcigkcGFyYW1zWzFdKSA9PSAiZGV0YWlsIil7DQoJCQkJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXSA9ICRsZXZlbHNbY291bnQoJGxldmVscyktMV07DQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJhbGlhcyJdID0gJHBhcmFtc1syXTsNCgkJCQl9ZWxzZXsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXSA9ICRwYXJhbXNbMV07DQoJCQkJCXN3aXRjaChjb3VudCgkcGFyYW1zKSl7DQoJCQkJCQljYXNlIDY6DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1szXTsNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWzRdOw0KCQkJCQkJY2FzZSA0Og0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYXJlbnQiXSA9ICRwYXJhbXNbMl07DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlIDU6DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1syXTsNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWzNdOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiAkZ2xvYmFsbW9kdWxldmFyczsNCgl9DQoJZnVuY3Rpb24gZ2V0X29ianRyZWUoJGN1cmlkLCAkY3VybGV2ZWw9ZmFsc2UsICRmaWVsZD0iaWQiKXsNCgkJLy8gdGhpcyBidWlsZHMgYW4gb2JqZWN0IHRyZWUgKCRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0Li4uKQ0KCQkvLyB3ZSBmaXJzdCBwdXQgYWxsIHRoZSBwYXJlbnRzIGluIGFuIGFycmF5DQoJCSRwYXJlbnRzID0gYXJyYXkoKTsNCgkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQlpZighJGN1cmxldmVsKQkkY3VybGV2ZWwgPSAkbGV2ZWxzW2NvdW50KCRsZXZlbHMpLTFdOw0KCQkkaSA9IGNvdW50KCRsZXZlbHMpOw0KCQkkc3RhcnRlZCA9IGZhbHNlOw0KCQl3aGlsZSgkY3VyaWQgJiYgJGkgPiAwKXsNCgkJCWlmKCRsZXZlbHNbJGkgLTFdID09ICRjdXJsZXZlbCkJJHN0YXJ0ZWQgPSB0cnVlOw0KCQkJaWYoJHN0YXJ0ZWQpew0KCQkJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kbGV2ZWxzWyRpIC0xXTsNCgkJCQkkaXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoJGZpZWxkPT4kY3VyaWQpKTsNCgkJCQkkaXRlbSA9IGlzX2FycmF5KCRpdGVtKT8kaXRlbVswXTokaXRlbTsNCgkJCQkkaXRlbS0+X193aGF0ID0gJGxldmVsc1skaS0xXTsNCgkJCQkkcGFyZW50c1tdID0gJGl0ZW07DQoJCQkJJGZpZWxkID0gImlkIjsNCgkJCQkkY3VyaWQgPSBpc3NldCgkaXRlbS0+cGFyZW50X2lkKT8kaXRlbS0+cGFyZW50X2lkOmZhbHNlOw0KCQkJfQ0KCQkJJGktLTsNCgkJfQ0KCQkNCgkJLy8gbmV4dCwgd2UgcHJvY2VzcyB0aGUgYXJyYXkgb2YgcGFyZW50cyB0byBidWlsZCB0aGUgcGFyZW50IHRyZWUNCgkJJHBhcmVudHRyZWUgPSBmYWxzZTsNCgkJJGkgPSBjb3VudCgkcGFyZW50cykgLSAxOw0KCQl3aGlsZSgkaSA+PSAwKXsNCgkJCWlmKCRwYXJlbnR0cmVlKXsNCgkJCQkkbmV3dHJlZSA9ICRwYXJlbnRzWyRpXTsNCgkJCQkkbmV3dHJlZS0+cGFyZW50X29iamVjdCA9ICRwYXJlbnR0cmVlOw0KCQkJCSRwYXJlbnR0cmVlID0gJG5ld3RyZWU7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyZW50dHJlZSA9ICRwYXJlbnRzWyRpXTsNCgkJCX0NCgkJCSRpLS07DQoJCX0NCgkJJHRoaXMtPmN1cnJlbnR0cmVlID0gJHBhcmVudHRyZWU7DQoJCXJldHVybiAkcGFyZW50dHJlZTsNCgl9DQoJZnVuY3Rpb24gYnVpbGRHbG9iYWxUcmVlKCl7DQoJCS8vIHRoaXMgc2F2ZXMgdGhlIGN1cnJlbnQgdHJlZSBpbiB0aGUgbW9kdWxlLi4uDQoJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJJGdsb2IgPSAkdGhpcy0+Z2V0X21vZHVsZUdldFZhcnMoKTsNCgkJaWYoaXNzZXQoJGdsb2JbInBhZ2VpbmRleCJdKSkJJHRoaXMtPmN1cnJlbnRwYWdlaW5kZXggPSAkZ2xvYlsicGFnZWluZGV4Il07DQoJCWlmKGlzc2V0KCRnbG9iWyJhbGlhcyJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsiYWxpYXMiXSwgJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXSwgImFsaWFzIik7DQoJCX1lbHNlaWYoaXNzZXQoJGdsb2JbInBhcmVudCJdKSAmJiBpc3NldCgkZ2xvYlsid2hhdCJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsicGFyZW50Il0sICR0aGlzLT5nZXRfbmV4dGxldmVsKCRnbG9iWyJ3aGF0Il0sZmFsc2UpLCAiYWxpYXMiKTsNCgkJfQ0KCQkNCgkJaWYoaXNzZXQoJHRyZWUpICYmICR0cmVlKXsNCgkJCSR0aGlzLT5jdXJyZW50dHJlZSA9ICR0cmVlOw0KCQkJLy8gdGhpcyBzYXZlcyB0aGUgc2VsZWN0ZWQgaXRlbSBmb3IgZWFjaCBsZXZlbA0KCQkJJHRoaXMtPnBsY3VycmVudFskdHJlZS0+X193aGF0XSA9ICR0cmVlLT5hbGlhczsNCgkJCXdoaWxlKGlzc2V0KCR0cmVlLT5wYXJlbnRfb2JqZWN0KSl7DQoJCQkJJHRyZWUgPSAkdHJlZS0+cGFyZW50X29iamVjdDsNCgkJCQkkdGhpcy0+cGxjdXJyZW50WyR0cmVlLT5fX3doYXRdID0gJHRyZWUtPmFsaWFzOw0KCQkJfQ0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgYnJlYWRjcnVtYnMNCgkJLy8gdXNlcyBzaW1pbGFyIHBhcmFtZXRlcnMgdG8gdGhlIGNvcmUgYnJlYWRjcnVtYnMgZnVuY3Rpb24NCgkJaWYoISR0aGlzLT5jdXJyZW50dHJlZSkJCSR0aGlzLT5idWlsZEdsb2JhbFRyZWUoKTsNCgkJDQoJCWlmKCR0aGlzLT5jdXJyZW50dHJlZSl7DQoJCQlnbG9iYWwgJGdDbXM7DQoJCQkkcmV0dXJuaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWyJjb250ZW50X2lkIl07DQoJCQkvLyB3ZSBjcmVhdGUgdGhlIGJyZWFkY3J1bWJzDQoJCQkkY2xhc3NpZCA9IGlzc2V0KCRwYXJhbXNbImNsYXNzaWQiXSk/IiBjbGFzcz1cIiIuJHBhcmFtc1siY2xhc3NpZCJdLiJcIiI6IiI7DQoJCQkkY3VycmVudGNsYXNzaWQgPSBpc3NldCgkcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdKT8iIGNsYXNzPVwiIi4kcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdLiJcIiI6IiBjbGFzcz1cImxhc3RpdGVtXCIiOw0KCQkJJHN0YXJ0bGV2ZWwgPSBpc3NldCgkcGFyYW1zWyJzdGFydGxldmVsIl0pPyR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbInN0YXJ0bGV2ZWwiXSwgZmFsc2UpOmZhbHNlOw0KCQkJJGRlbGltaXRlciA9IGlzc2V0KCRwYXJhbXNbImRlbGltaXRlciJdKT8kcGFyYW1zWyJkZWxpbWl0ZXIiXTokdGhpcy0+TGFuZygiYnJlYWRjcnVtYnNfZGVsaW1pdGVyIik7DQoJCQkkaW5pdGlhbCA9IGlzc2V0KCRwYXJhbXNbImluaXRpYWwiXSk/JHBhcmFtc1siaW5pdGlhbCJdOiR0aGlzLT5MYW5nKCJ5b3VhcmVoZXJlIik7DQoNCgkJCSRvdXRwdXQgPSAiIjsNCgkJCSRjdXJyZW50ID0gJHRoaXMtPmN1cnJlbnR0cmVlOw0KCQkJJGdvaW5nb24gPSBmYWxzZTsNCgkJCXdoaWxlKGlzc2V0KCRjdXJyZW50LT5wYXJlbnRfb2JqZWN0KSl7DQoJCQkJJGN1cnJlbnQgPSAkY3VycmVudC0+cGFyZW50X29iamVjdDsNCgkJCQlpZigkY3VycmVudC0+X193aGF0ID09ICRzdGFydGxldmVsKQkkZW5kZWQgPSB0cnVlOw0KCQkJCWlmKCEkZW5kZWQpew0KCQkJCQkkcGFyYW1zID0gYXJyYXkoIndoYXQiPT4kdGhpcy0+Z2V0X25leHRsZXZlbCgkY3VycmVudC0+X193aGF0KSwgInBhcmVudCI9PiRjdXJyZW50LT5hbGlhcyk7DQoJCQkJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRwYXJhbXMsICRyZXR1cm5pZCk7DQoJCQkJCSRvdXRwdXQgPSAiPHNwYW4iLiRjbGFzc2lkLiI+Ii4kdGhpcy0+Q3JlYXRlTGluaygiIiwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRjdXJyZW50LT5uYW1lLCAkcGFyYW1zLCAiIiwgZmFsc2UsIGZhbHNlLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpLiI8L3NwYW4+Ii4kZGVsaW1pdGVyLiRvdXRwdXQ7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYoJG91dHB1dCAhPSAiIikgJG91dHB1dCA9ICRpbml0aWFsLiRvdXRwdXQuIjxzcGFuIi4kY3VycmVudGNsYXNzaWQuIj4iLiR0aGlzLT5jdXJyZW50dHJlZS0+bmFtZS4iPC9zcGFuPiI7DQoJCQkNCgkJCWlmKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSAhPSAiIil7DQoJCQkJJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFzc2lnbiJdLCAkb3V0cHV0KTsNCgkJCX1lbHNlew0KCQkJCWVjaG8gJG91dHB1dDsNCgkJCX0NCgkJfQ0KCX0NCglmdW5jdGlvbiBmdW5jdGlvbl9nZXRfbGV2ZWxpdGVtKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCByZXRyaWV2ZXMgYSBnaXZlbiBpdGVtIChhbGlhcykgb2YgYSBnaXZlbiBsZXZlbCAod2hhdCkNCgkJaWYoCSFpc3NldCgkcGFyYW1zWyJhc3NpZ24iXSkgfHwgJHBhcmFtc1siYXNzaWduIl0gPT0gIiIgfHwgIWlzc2V0KCRwYXJhbXNbIndoYXQiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImFsaWFzIl0pICkJcmV0dXJuIGZhbHNlOw0KCQlpZighaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSkpCXJldHVybiBmYWxzZTsNCgkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiRwYXJhbXNbIndoYXQiXTsNCgkJJHJlc3VsdHMgPSAkdGhpcy0+JGdldGZ1bmN0aW9uKGFycmF5KCJhbGlhcyI9PiRwYXJhbXNbImFsaWFzIl0pKTsNCgkJJGl0ZW0gPSBpc3NldCgkcmVzdWx0c1swXSk/JHJlc3VsdHNbMF06ZmFsc2U7DQoJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwgJGl0ZW0pOw0KCX0NCglmdW5jdGlvbiBmdW5jdGlvbl9lbWJlZHZpZGVvKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCByZXRyaWV2ZXMgYSBnaXZlbiBpdGVtIChhbGlhcykgb2YgYSBnaXZlbiBsZXZlbCAod2hhdCkNCgkJaWYoIWlzc2V0KCRwYXJhbXNbIml0ZW0iXSkgfHwgJHBhcmFtc1siaXRlbSJdID09ICIiICkgcmV0dXJuIGZhbHNlOw0KCQkkaXRlbT0kcGFyYW1zWyJpdGVtIl07DQoJCS8vIGlmIGEgdGVtcGxhdGUgaGFzIGJlZW4gc3BlY2lmaWVkLCB3ZSB0cnkgdG8gcmV0cmlldmUgaXQJDQoJCSR0ZW1wbGF0ZSA9IGZhbHNlOw0KCQlpZihpc3NldCgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKSAmJiAkcGFyYW1zWyJ0ZW1wbGF0ZSJdICE9ICIiKXsNCgkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKTsNCgkJfQ0KCQkvLyBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQgb3Igc3BlY2lkZmllZCB0ZW1wbGF0ZSBub3QgZm91bmQgb3IgZW1wdHksIHdlIHJldHJpZXZlIHRoZSBkZWZhdWx0IGZpbmFsIHRlbXBsYXRlDQoJCWlmKCEkdGVtcGxhdGUgfHwgJHRlbXBsYXRlID09ICIiKXsNCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1iZWR0ZW1wbGF0ZSIpOw0KCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQl9DQoJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxldmVsdGl0bGUiLCR0aGlzLT5MYW5nKCJ2aWRlb19wbHVyYWwiKSk7DQoJCQ0KCQlpZiAoIWlzc2V0KCRpdGVtLT5wYXJlbnRvYmopKSB7DQoJCQkkcGFyZW50cyA9ICR0aGlzLT5nZXRfbGV2ZWxfYWxidW0gKGFycmF5KCJpZCI9PiRpdGVtLT5wYXJlbnRfaWQpKTsNCgkJCSRpdGVtLT5wYXJlbnRfb2JqZWN0PSRwYXJlbnRzWzBdOw0KCQl9IA0KDQoJCWlmICgkaXRlbS0+aGVpZ2h0PT0iIikgew0KCQkJJGl0ZW0tPmhlaWdodD0kcGFyZW50b2JqLT5kZWZhdWx0X2hlaWdodDsNCgkJfQ0KCQlpZiAoJGl0ZW0tPndpZHRoPT0iIikgew0KCQkJJGl0ZW0tPndpZHRoPSRwYXJlbnRvYmotPmRlZmF1bHRfd2lkdGg7DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtIiwkaXRlbSk7DQoNCgkJLy8gd2UgcmV0cmlldmUgYSBsYWJlbCBmb3IgZWFjaCBvZiB0aGUgaXRlbSdzIGZpZWxkIGFuZCBhc3NpZ24gaXQgdG8gc21hcnR5DQoJCSRsYWJlbHMgPSBuZXcgU3RkQ2xhc3MoKTsNCgkJZm9yZWFjaCgkaXRlbSBhcyAka2V5PT4kdmFsdWUpew0KCQkJJGxhYmVscy0+JGtleSA9ICR0aGlzLT5MYW5nKCJ2aWRlb18iLiRrZXkpOwkJDQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYWJlbHMiLCAkbGFiZWxzKTsNCg0KCQkvLyB3ZSBwcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KCQkkcmVzdWx0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7DQoJCWlmIChpc3NldCgkcGFyYW1zWyJhc3NpZ24iXSkgJiYgJHBhcmFtc1siYXNzaWduIl0hPSIiKSB7DQoJCQkkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1siYXNzaWduIl0sICRyZXN1bHQpOw0KCQl9IGVsc2Ugew0KCQkJZWNobyAkcmVzdWx0Ow0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGNvdW50c29tZXRoaW5nKCR0YWJsZW5hbWUsJHdoYXQ9ImlkIiwkd2hlcmU9YXJyYXkoKSwkd2hlcmVzdHJpbmc9ZmFsc2UsJHdoZXJldmFsdWVzPWFycmF5KCksJHBhcmVudD1mYWxzZSl7DQoJCS8vIHJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIHRhYmxlIGNvcnJlc3BvbmRpbmcgdG8gY3JpdGVyaWFzDQoJCWlmKCEkcGFyZW50ICYmIGlzc2V0KCR3aGVyZVsicGFyZW50Il0pKQl1bnNldCgkd2hlcmVbInBhcmVudCJdKTsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQlpZigkd2hlcmVzdHJpbmcpew0KCQkJJHdoZXJlc3RyaW5nID0gIiBXSEVSRSAiLiR3aGVyZXN0cmluZzsNCgkJfWVsc2V7DQoJCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgPT0gInBhcmVudCIpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIFdIRVJFICI6IiBBTkQgIikuIkEucGFyZW50PUIuaWQgQU5EIEIuYWxpYXM9PyI7DQoJCQkJfWVsc2V7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsNCgkJCQl9DQoJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCBDT1VOVChBLiR3aGF0KSBvdXJjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHRhYmxlbmFtZS4iIEEiOw0KCQlpZigkcGFyZW50ICYmIGlzc2V0KCR3aGF0WyJwYXJlbnQiXSkpCSRxdWVyeSAuPSAiLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRwYXJlbnQuIiBCIjsNCgkJJHF1ZXJ5IC49ICR3aGVyZXN0cmluZzsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJcmV0dXJuICRyb3dbIm91cmNvdW50Il07DQoJCX1lbHNlew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9DQoJDQoJDQoJZnVuY3Rpb24gYWRtaW5fcGFnaW5hdGUoJGxldmVsLCRuYnBlcnBhZ2UsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKXsNCgkJLy8gc2FtZSBhcyBwYWdpbmF0ZSwgYnV0IGZvciB0aGUgYWRtaW4gcGFuZWxzDQoJCSR3aGVyZWNsYXVzZSA9IGFycmF5KCk7DQoJCWlmKGlzc2V0KCRwYXJhbXNbJGxldmVsLiJfc2hvd29ubHkiXSkgJiYgJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdICE9ICIiKQkkd2hlcmVjbGF1c2VbInBhcmVudCJdID0gJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdOw0KCQkkdG90YWwgPSAkdGhpcy0+Y291bnRzb21ldGhpbmcoJGxldmVsLCJpZCIsJHdoZXJlY2xhdXNlKTsNCgkJJG5leHRwYWdlID0gZmFsc2U7DQoJCSRwcmV2aW91c3BhZ2UgPSBmYWxzZTsNCgkJJHBhZ2VpbmZvID0gZmFsc2U7DQoJCSRwYWdlcyA9IGZhbHNlOw0KCQlpZigkbmJwZXJwYWdlID4gMCAmJiAkdG90YWwgPiAkbmJwZXJwYWdlKXsNCgkJCSRjdXJwYWdlID0gaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9wYWdlIl0pPyRwYXJhbXNbJGxldmVsLiJfcGFnZSJdOjA7DQoJCQkkbmJwYWdlcyA9IGNlaWwoJHRvdGFsLyRuYnBlcnBhZ2UpOw0KCQkJJHBhZ2VpbmZvID0gKCgkY3VycGFnZSAqICRuYnBlcnBhZ2UpICsgMSk7DQoJCQkkdG1wZW5kID0gJHBhZ2VpbmZvICsgJG5icGVycGFnZSAtIDE7DQoJCQlpZigkdG1wZW5kID4gJHRvdGFsKQkkdG1wZW5kID0gJHRvdGFsOw0KCQkJaWYoJHRtcGVuZCAhPSAkcGFnZWluZm8pCSRwYWdlaW5mbyAuPSAiLSIuJHRtcGVuZDsNCgkJCSRwYWdlaW5mbyAuPSAiIC8gIi4kdG90YWw7DQoJCQkkcGFnZXBhcmFtcyA9IGFycmF5KCJhY3RpdmVfdGFiIj0+JGxldmVsKTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbJGxldmVsLiJfc2hvd29ubHkiXSkgJiYgJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdICE9ICIiKXsNCgkJCQkkcGFnZXBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdID0gJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdOw0KCQkJfQ0KCQkJaWYoJGN1cnBhZ2UgPiAwKXsNCgkJCQkkcGFnZXBhcmFtc1skbGV2ZWwuIl9wYWdlIl0gPSAkY3VycGFnZSAtIDE7DQoJCQkJJHByZXZpb3VzcGFnZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoInByZXZpb3VzcGFnZSIpLCAkcGFnZXBhcmFtcyk7DQoJCQl9DQoJCQlpZigkY3VycGFnZSA8ICgkbmJwYWdlcy0xKSl7DQoJCQkJJHBhZ2VwYXJhbXNbJGxldmVsLiJfcGFnZSJdID0gJGN1cnBhZ2UgKyAxOw0KCQkJCSRuZXh0cGFnZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoIm5leHRwYWdlIiksICRwYWdlcGFyYW1zKTsNCgkJCX0NCgkJCSRpID0gMDsNCgkJCSRwYWdlcyA9ICR0aGlzLT5MYW5nKCJwYWdlcyIpOw0KCQkJd2hpbGUoJGkgPCAkbmJwYWdlcyl7DQoJCQkJaWYoJGkgPiAwKQkkcGFnZXMgLj0gIiZuYnNwOyAiOw0KCQkJCWlmKCRpID09ICRjdXJwYWdlKXsNCgkJCQkJJHBhZ2VzIC49ICRpOw0KCQkJCX1lbHNlew0KCQkJCQkkcGFnZXBhcmFtc1skbGV2ZWwuIl9wYWdlIl0gPSAkaTsNCgkJCQkJJHBhZ2VzIC49ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJGksICRwYWdlcGFyYW1zKTsNCgkJCQl9DQoJCQkJJGkrKzsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gYXJyYXkoJHBhZ2VpbmZvLCAkbmV4dHBhZ2UsICRwcmV2aW91c3BhZ2UsICRwYWdlcyk7DQoJfQ0KDQoJZnVuY3Rpb24gcGFnaW5hdGUoJHdoYXQsJHRvdGFsLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywkYWN0aW9uPSJkZWZhdWx0Iil7DQoJCS8vIGZvciBmcm9udGVuZCB1c2FnZQ0KCQkvLyB0aGlzIGFzc2lnbnMgdGhlIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgcGFnZSBtZW51DQoJCQ0KCQkkbmJwZXJwYWdlID0gaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pPyRwYXJhbXNbIm5icGVycGFnZSJdOjA7DQoJCSRuYnBlcnBhZ2UgPSAoaW50KSAkbmJwZXJwYWdlOw0KCQlpZigkbmJwZXJwYWdlID09IDAgfHwgJG5icGVycGFnZSA+PSAkdG90YWwpew0KCQkJLy8gd2UncmUgbm90IHVzaW5nIHBhZ2luYXRpb24NCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbihhcnJheSgicGFnZV9zaG93aW5nIj0+ZmFsc2UsInBhZ2VfdG90YWxpdGVtcyI9PmZhbHNlLCJwYWdlX3BhZ2VudW1iZXJzIj0+ZmFsc2UsInBhZ2VfbmV4dCI9PmZhbHNlLCJwYWdlX3ByZXZpb3VzIj0+ZmFsc2UpKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQkNCgkJLy8gd2UncmUgdXNpbmcgcGFnaW5hdGlvbg0KCQkkY3VycGFnZSA9IGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKT8kcGFyYW1zWyJwYWdlaW5kZXgiXToxOw0KCQkkbmJwYWdlcyA9IGNlaWwoJHRvdGFsLyRuYnBlcnBhZ2UpOw0KCQkkc2hvd2luZyA9ICgoKCRjdXJwYWdlIC0xKSAqICRuYnBlcnBhZ2UpICsgMSk7DQoJCSR0bXBlbmQgPSAkc2hvd2luZyArICRuYnBlcnBhZ2UgLSAxOw0KCQlpZigkdG1wZW5kID4gJHRvdGFsKQkkdG1wZW5kID0gJHRvdGFsOw0KCQlpZigkdG1wZW5kICE9ICRzaG93aW5nKQkkc2hvd2luZyAuPSAiLSIuJHRtcGVuZDsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX3Nob3dpbmciLCRzaG93aW5nKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX3RvdGFsaXRlbXMiLCR0b3RhbCk7DQoNCgkJJG5ld3BhcmFtcyA9ICRwYXJhbXM7DQoJCSRwcmV2aW91c2xpbmsgPSBmYWxzZTsNCgkJJG5leHRsaW5rID0gZmFsc2U7DQoJCWlmKCRjdXJwYWdlID4gMSl7DQoJCQkvLyB3ZSBjcmVhdGUgdGhlIGxpbmsgdG8gdGhlIHByZXZpb3VzIHBhZ2UNCgkJCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJGN1cnBhZ2UgLSAxOw0KCQkJJHByZXZpb3VzbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAiJmx0OyIsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cInByZXZpb3VzbGlua1wiIiwgZmFsc2UsICgkYWN0aW9uICE9ICJkZWZhdWx0Iik/IiI6JHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJfQ0KCQlpZigkY3VycGFnZSA8ICRuYnBhZ2VzKXsNCgkJCS8vIHdlIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgbmV4dCBwYWdlDQoJCQkkbmV3cGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRjdXJwYWdlICsgMTsNCgkJCSRuZXh0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAiJmd0OyIsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cIm5leHRsaW5rXCIiLCBmYWxzZSwgKCRhY3Rpb24gIT0gImRlZmF1bHQiKT8iIjokdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCkpOw0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZV9uZXh0IiwkbmV4dGxpbmspOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfcHJldmlvdXMiLCRwcmV2aW91c2xpbmspOwkNCgkJCQkNCgkJLy8gd2UgY3JlYXRlIGxpbmtzIGZvciBlYWNoIHBhZ2UgbnVtYmVyDQoJCSRpID0gMTsNCgkJJGxpbmtzID0gYXJyYXkoKTsNCgkJd2hpbGUoJGkgPD0gJG5icGFnZXMgJiYgJG5icGFnZXMgPiAxKXsNCgkJCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJGk7DQoJCQlpZigkaSA9PSAkY3VycGFnZSl7DQoJCQkJJGxpbmtzW10gPSAiPGEgY2xhc3M9XCJwYWdlbnVtYmVyIGN1cnJlbnRcIj4iLiRpLiI8L2E+IjsNCgkJCX1lbHNlew0KCQkJCSRsaW5rc1tdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRpLCAkbmV3cGFyYW1zLCAiIiwgZmFsc2UsIHRydWUsICIgY2xhc3M9XCJwYWdlbnVtYmVyXCIiLCBmYWxzZSwgKCRhY3Rpb24gIT0gImRlZmF1bHQiKT8iIjokdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCkpOw0KCQkJfQ0KCQkJJGkrKzsNCgkJfQ0KCQkkaSA9IDA7DQoJCSR0bXBmbGFnID0gdHJ1ZTsNCgkJJG1heHBhZ2VzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoIm1heHNob3ducGFnZXMiLDcpOw0KCQkkbWF4cGFnZXMgPSAoaW50KSAkbWF4cGFnZXM7DQoJCSRwYWdlbWVudSA9ICIiOw0KCQlpZigkbWF4cGFnZXMgPCAxKQkkbWF4cGFnZXMgPSA5OTk7DQoJCXdoaWxlKCRpIDwgY291bnQoJGxpbmtzKSl7DQoJCQlpZigkaSA8ICgkbWF4cGFnZXMtMSkgfHwgJG5icGFnZXMgPD0gJG1heHBhZ2VzKXsNCgkJCQkkcGFnZW1lbnUgLj0gKCRwYWdlbWVudSA9PSAiIj8iIjokdGhpcy0+TGFuZygicGFnZW1lbnVkZWxpbWl0ZXIiKSkuJGxpbmtzWyRpXTsNCgkJCX1lbHNlaWYoJGkgPT0gY291bnQoJGxpbmtzKSl7DQoJCQkJJHBhZ2VtZW51IC49ICRsaW5rc1skaV07DQoJCQl9ZWxzZWlmKCR0bXBmbGFnKXsNCgkJCQkkdG1wZmxhZyA9IGZhbHNlOw0KCQkJCSRwYWdlbWVudSAuPSAiPHNwYW4gY2xhc3M9XCJwYWdlbWVudW92ZXJmbG93XCI+Ii4kdGhpcy0+TGFuZygicGFnZW1lbnVvdmVyZmxvdyIpLiI8L3NwYW4+IjsNCgkJCX0NCgkJCSRpKys7DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX3BhZ2VudW1iZXJzIiwkcGFnZW1lbnUpOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9kaXN0YW5jZXRvbGV2ZWwoJHBhcmVudG5hbWUsJGNoaWxkbmFtZT1mYWxzZSl7DQoJCS8vIGdldCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0d28gbGV2ZWxzIChtb3N0IGxpa2VseSBiZXR3ZWVuIGEgbGV2ZWwgYW5kIHRoZSBmaW5hbCBsZXZlbCkNCgkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQlpZighJGNoaWxkbmFtZSkJJGNoaWxkbmFtZSA9ICRsZXZlbHNbY291bnQoJGxldmVscyktMV07DQoJCSRwYXJlbnRwb3NpdGlvbiA9IGZhbHNlOw0KCQkkY2hpbGRwb3NpdGlvbiA9IGZhbHNlOw0KCQkkY291bnRlciA9IDA7DQoJCWZvcmVhY2goJGxldmVscyBhcyAkbGV2ZWwpew0KCQkJJGNvdW50ZXIrKzsNCgkJCWlmKCRsZXZlbCA9PSAkcGFyZW50bmFtZSkgJHBhcmVudHBvc2l0aW9uID0gJGNvdW50ZXI7DQoJCQlpZigkbGV2ZWwgPT0gJGNoaWxkbmFtZSkgJGNoaWxkcG9zaXRpb24gPSAkY291bnRlcjsNCgkJfQ0KCQlpZigkY2hpbGRwb3NpdGlvbiAmJiAkcGFyZW50cG9zaXRpb24pew0KCQkJcmV0dXJuIGFicygkcGFyZW50cG9zaXRpb24gLSAkY2hpbGRwb3NpdGlvbik7DQoJCX0NCgl9DQoJZnVuY3Rpb24gZ2V0X25leHRsZXZlbCgkY3VybGV2ZWwsJGZpbmRjaGlsZD10cnVlKXsNCgkJLy8gcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBsZXZlbCBiZWxvdyAoJGZpbmRjaGlsZD10cnVlKSBvciBhYm92ZSAoJGZpbmRjaGlsZD1mYWxzZSkNCgkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQkkaSA9IDA7DQoJCSR3YW50ZWRsZXZlbCA9IGZhbHNlOw0KCQl3aGlsZSgkaSA8IGNvdW50KCRsZXZlbHMpKXsNCgkJCSRuZXh0ID0gJGZpbmRjaGlsZD8kaSsxOiRpLTE7DQoJCQlpZigkbGV2ZWxzWyRpXSA9PSAkY3VybGV2ZWwgJiYgaXNzZXQoJGxldmVsc1skbmV4dF0pKSAkd2FudGVkbGV2ZWwgPSAkbGV2ZWxzWyRuZXh0XTsNCgkJCSRpKys7DQoJCX0NCgkJcmV0dXJuICR3YW50ZWRsZXZlbDsNCgl9DQoJZnVuY3Rpb24gZ2V0X3BhcmVudHMoJHBhcmVudG5hbWUsJGNoaWxkbmFtZSwkY2hpbGRpZCl7DQoJCS8vIHdoZW4gdXNpbmcgdGhlIHNoYXJlY2hpbGRyZW4gb3B0aW9uLCByZXRyaWV2ZXMgdGhlIHBhcmVudHMgb2YgYSBnaXZlbiBlbGVtZW50DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAiLiRwYXJlbnRuYW1lLiJfaWQgcGFyZW50aWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRwYXJlbnRuYW1lLiJfaGFzXyIuJGNoaWxkbmFtZS4iIFdIRVJFICIuJGNoaWxkbmFtZS4iX2lkPT8iOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjaGlsZGlkKSk7DQoJCSRwYXJlbnRzID0gYXJyYXkoKTsNCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRwYXJlbnRzW10gPSAkcm93WyJwYXJlbnRpZCJdOw0KCQl9DQoJCXJldHVybiAkcGFyZW50czsNCgl9DQoJZnVuY3Rpb24gZ2V0X29wdGlvbnMoJHRhYmxlbmFtZSwkb25seWFjdGl2ZT1mYWxzZSwkZnVsbG9iamVjdD1mYWxzZSl7DQoJCS8vIHJldHVybnMgdGhlIGVsZW1lbnRzIG9mIGFueSB0YWJsZSBhcyBvcHRpb25zIHRvIHVzZSBmb3IgYSBkcm9wZG93biBsaXN0DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgJGxhYmVsPT4kdmFsdWUNCgkJJG9yZGVyYnluYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoIm9yZGVyYnluYW1lIixmYWxzZSk7DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAiLigkZnVsbG9iamVjdD8iKiI6ImlkLCBuYW1lIikuIiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHRhYmxlbmFtZTsNCgkJaWYoJG9ubHlhY3RpdmUpCSRxdWVyeSAuPSAiIFdIRVJFIGFjdGl2ZT0xIjsNCgkJJHF1ZXJ5IC49ICIgT1JERVIgQlkgIi4oJG9yZGVyYnluYW1lPyJuYW1lIjoiaXRlbV9vcmRlciIpOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJaWYoJGZ1bGxvYmplY3Qpew0KCQkJCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQkkb2JqLT4ka2V5ID0gJHZhbHVlOw0KCQkJCSRvcHRpb25zW10gPSAkb2JqOw0KCQkJfWVsc2V7DQoJCQkJJG9wdGlvbnNbJHJvd1sibmFtZSJdXSA9ICRyb3dbImlkIl07DQoJCQl9DQoJCX0NCgkJDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJZnVuY3Rpb24gZ2V0X2ZpZWxkb3B0aW9ucygkZmllbGQsJGZ1bGxvYmplY3Q9ZmFsc2Upew0KCQkvLyByZXR1cm5zIGZpZWxkIG9wdGlvbnMgYXMgb3B0aW9ucyB0byB1c2UgZm9yIGEgZHJvcGRvd24gbGlzdA0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQovLwkJZWNobyAoImZpZWxkPSRmaWVsZCIpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMgV0hFUkUgZmllbGQ9PyBPUkRFUiBCWSBpdGVtX29yZGVyIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmllbGQpKTsNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJaWYoJGZ1bGxvYmplY3Qpew0KCQkJCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQkkb2JqLT4ka2V5ID0gJHZhbHVlOw0KCQkJCSRvcHRpb25zW10gPSAkb2JqOw0KCQkJfWVsc2V7DQoJCQkJJG9wdGlvbnNbJHJvd1sibmFtZSJdXSA9ICRyb3dbImlkIl07DQoJCQl9DQoJCX0NCgkJDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJZnVuY3Rpb24gZ2V0X3BhZ2VpZCgkYWxpYXMpew0KCQkvLyByZXR1cm5zIHRoZSBwYWdlIGlkIGZyb20gYW4gYWxpYXMNCgkJZ2xvYmFsICRnQ21zOw0KCQkkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRhbGlhcyk7DQoJCWlmIChpc3NldCgkbm9kZSkpIHsNCgkJCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQ0KCQkJaWYgKGlzc2V0KCRjb250ZW50KSkJcmV0dXJuICRjb250ZW50LT5JZCgpOw0KCQl9ZWxzZXsNCgkJCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJGFsaWFzKTsNCgkJCWlmIChpc3NldCgkbm9kZSkpIHJldHVybiAkYWxpYXM7DQoJCX0NCgl9DQoJZnVuY3Rpb24gYWRkZnJvbnRlbmR1cmxzKCRpdGVtLCRwYXJhbXMsJGlkLCRyZXR1cm5pZCl7DQoJCS8vIGFkZHMgJGl0ZW0tPmRldGFpbGxpbmsgYW5kICRpdGVtLT5kZXRhaWx1cmwgdG8gYSBnaXZlbiAkaXRlbQ0KCQkkbmV4dGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJGl0ZW0tPl9fd2hhdCk7DQoJCWlmKCEkbmV4dGxldmVsKXsNCgkJCSRuZXdwYXJhbXMgPSBhcnJheSgid2hhdCI9PiRpdGVtLT5fX3doYXQsICJhbGlhcyI9PiRpdGVtLT5hbGlhcyk7DQoJCX1lbHNlew0KCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JG5leHRsZXZlbCwgInBhcmVudCI9PiRpdGVtLT5hbGlhcyk7DQoJCQlpZihpc3NldCgkcGFyYW1zWyJmb3JjZWxpc3QiXSkgJiYgJHBhcmFtc1siZm9yY2VsaXN0Il0pCSRuZXdwYXJhbXNbImZvcmNlbGlzdCJdID0gdHJ1ZTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSAmJiAkcGFyYW1zWyJuYnBlcnBhZ2UiXSA+IDApCSRuZXdwYXJhbXNbIm5icGVycGFnZSJdID0gJHBhcmFtc1sibmJwZXJwYWdlIl07DQoJCQlpZihpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkgJiYgJHBhcmFtc1sicGFnZWluZGV4Il0gPiAxKQkkbmV3cGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRwYXJhbXNbInBhZ2VpbmRleCJdOw0KCQl9DQoJCSRpbmxpbmUgPSAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pICYmICRwYXJhbXNbImlubGluZSJdKT90cnVlOmZhbHNlOw0KCQlpZigkaW5saW5lKQkkbmV3cGFyYW1zWyJpbmxpbmUiXSA9IHRydWU7DQoJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCk7DQoJCS8vZWNobyAicHJldHR5IHVybD0kcHJldHR5dXJsIjsNCgkJJGl0ZW0tPmRldGFpbGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJHJldHVybmlkLCAkaXRlbS0+bmFtZSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpOw0KCQkkaXRlbS0+ZGV0YWlsdXJsID0gICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICIiLCAgICAgICAgICAkbmV3cGFyYW1zLCAiIiwgdHJ1ZSwgICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCk7DQoJCXJldHVybiAkaXRlbTsNCgl9DQoJDQoJZnVuY3Rpb24gYWRkYWRtaW5saW5rcygkaXRlbSwkcGFyYW1zLCRpZCwkcmV0dXJuaWQpew0KCQkvLyBhZGRzIHRoZSBhZG1pbiBsaW5rcyB0byB0aGUgbGV2ZWwgaXRlbXMuLi4NCgkJLyogJHBhcmFtcyA6IHRoZSBiYXNlIHBhcmFtZXRlcnMgZm9yIHRoZSBhZG1pbiBsaW5rcw0KCQkJCXByZWZpeA0KCQkJCXRhYmxlbmFtZQ0KCQkJCWNoaWxkIChpZiB0aGUgbGV2ZWwgaGFzIGEgY2hpbGQgbGV2ZWwsIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBsZXZlbCkNCgkJCQlsZXZlbG5hbWUNCgkJCQlwYXJlbnRkZWZhdWx0IChib29sLi4uIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGEgZGVmYXVsdCBlbGVtZW50IGZvciBlYWNoIHBhcmVudCkNCgkJCQlvcmRlcmJ5cGFyZW50IChib29sKQ0KCQkJCWFkZGZpbGVzDQoJCQkJc2hhcmVjaGlsZHJlbiAoYm9vbCkNCgkJCQlzaGFyZWRieXBhcmVudHMgKGJvb2wpDQoJCQkJZmlsZXMgKHN0cmluZyxjc3YpDQoJCSovDQoNCgkJZ2xvYmFsICRnQ21zOw0KCQkkYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCgkJDQoJCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLGZhbHNlKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX2FkdmFuY2VkIikgJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfIi4kcGFyYW1zWyJsZXZlbG5hbWUiXSkgKXsNCgkJCS8vIG5vIGFjY2VzcyAtIHdlIGRvbid0IGNyZWF0ZSBsaW5rcw0KCQkJJGl0ZW0tPmVkaXRsaW5rID0gJGl0ZW0tPm5hbWU7DQoJCQkkaXRlbS0+ZGVsZXRlbGluayA9ICIiOw0KCQkJJGl0ZW0tPm1vdmVsaW5rcyA9ICIiOw0KCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICRpdGVtLT5hY3RpdmU9PTE/JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiwiIiwiIiwiIiwic3lzdGVtaWNvbiIpOiRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik7DQoJCQkkaXRlbS0+dG9nZ2xlZGVmYXVsdCA9ICRpdGVtLT5pc2RlZmF1bHQ9PTE/JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiwiIiwiIiwiIiwic3lzdGVtaWNvbiIpOiRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik7DQoJCQlyZXR1cm4gJGl0ZW07DQoJCX0NCgkJDQoJCSRwcmVmaXggPSAkcGFyYW1zWyJwcmVmaXgiXTsNCgkJJG1vdmVwYXJhbXMgPSAkcGFyYW1zOw0KCQkkbW92ZXBhcmFtc1skcHJlZml4LiJpZCJdID0gJGl0ZW0tPmlkOw0KCQkkbW92ZXBhcmFtc1siY3VycmVudG9yZGVyIl0gPSAkaXRlbS0+aXRlbV9vcmRlcjsNCgkJaWYoaXNzZXQoJG1vdmVwYXJhbXNbImZpbGVzIl0pKQl1bnNldCgkbW92ZXBhcmFtc1siZmlsZXMiXSk7DQoJCWlmKCRtb3ZlcGFyYW1zWyJvcmRlcmJ5cGFyZW50Il0gJiYgaXNzZXQoJGl0ZW0tPnBhcmVudF9pZCkpICRtb3ZlcGFyYW1zWyJwYXJlbnQiXSA9ICRpdGVtLT5wYXJlbnRfaWQ7DQoNCgkJJGl0ZW0tPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdCIuJHByZWZpeCwgJHJldHVybmlkLCAkaXRlbS0+bmFtZSwgYXJyYXkoJHByZWZpeC4iaWQiPT4kaXRlbS0+aWQpKTsNCgkJJGl0ZW0tPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsbGFuZygiZGVsZXRlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZGVsZXRlIiwiZmlsZXMiPT4kcGFyYW1zWyJmaWxlcyJdKSwkbW92ZXBhcmFtcyksJHRoaXMtPkxhbmcoInByb21wdF9kZWxldGUiLiRwYXJhbXNbImxldmVsbmFtZSJdLCBzdHJfcmVwbGFjZSgiJyIsIlwnIiwkaXRlbS0+bmFtZSkpKTsNCgkJJGl0ZW0tPm1vdmV1cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYiLGxhbmcoInVwIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4idXAiKSwkbW92ZXBhcmFtcykpOw0KCQkkaXRlbS0+bW92ZWRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmIixsYW5nKCJkb3duIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZG93biIpLCRtb3ZlcGFyYW1zKSk7DQoJCSRpdGVtLT5tb3ZlbGlua3MgPSAkaXRlbS0+bW92ZXVwbGluayAuIiAiLiAkaXRlbS0+bW92ZWRvd25saW5rOw0KCQkNCgkJLy8gd2UgcmVidWlsZCB0aGUgcGFyYW1zLCBiZWNhdXNlIHdlIGRvbid0IG5lZWQgc28gbWFueSBmb3IgdGhlIHRvZ2dsZSBhY3Rpb24NCgkJJHRvZ2dsZXBhcmFtcyA9IGFycmF5KCRwcmVmaXguImlkIj0+JGl0ZW0tPmlkLCAicHJlZml4Ij0+JHByZWZpeCwgInRhYmxlbmFtZSI9PiRwYXJhbXNbInRhYmxlbmFtZSJdLCAibGV2ZWxuYW1lIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOw0KCQlpZigkcGFyYW1zWyJwYXJlbnRkZWZhdWx0Il0gJiYgaXNzZXQoJGl0ZW0tPnBhcmVudF9pZCkpew0KCQkJJHRvZ2dsZXBhcmFtc1sicGFyZW50Il0gPSAkaXRlbS0+cGFyZW50X2lkOw0KCQkJJHRvZ2dsZXBhcmFtc1sicGFyZW50ZGVmYXVsdCJdID0gMTsNCgkJfQ0KCQlpZiAoJGl0ZW0tPmFjdGl2ZSA9PSAxKXsNCgkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJhY3RpdmUiLCJuZXd2YWwiPT4wKSwkdG9nZ2xlcGFyYW1zKSk7DQoJCX1lbHNlew0KCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJ3aGF0Ij0+ImFjdGl2ZSIsIm5ld3ZhbCI9PjEpLCR0b2dnbGVwYXJhbXMpKTsNCgkJfQ0KDQoJCWlmICgkaXRlbS0+aXNkZWZhdWx0ID09IDEpew0KCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJkZWZhdWx0IiwibmV3dmFsIj0+MCksJHRvZ2dsZXBhcmFtcykpOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIixsYW5nKCJzZXR0cnVlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIndoYXQiPT4iZGVmYXVsdCIsIm5ld3ZhbCI9PjEpLCR0b2dnbGVwYXJhbXMpKTsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW07DQoJfQ0KCWZ1bmN0aW9uIHNwbGl0X2ludG9fcGFnZXMoJGl0ZW1saXN0LCAkaWQsICRyZXR1cm5pZCwgJHBhcmFtcywgJGFjdGlvbj0iZGVmYXVsdCIsICRwcmV0dHl1cmxzPXRydWUpew0KCQkvLyBkZXByZWNhdGVkIC0gc2hvdWxkIHVzZSBmdW5jdGlvbiBwYWdpbmF0ZSBpbnN0ZWFkDQoJCXJldHVybiAkaXRlbWxpc3Q7DQoJfQ0KCWZ1bmN0aW9uIGdldF9xdWVyaWVzKCR3aGVyZT1hcnJheSgpLCAkYWRtaW49ZmFsc2UsICRpZD1mYWxzZSwgJHJldHVybmlkPWZhbHNlKXsNCgkJLy8gcmV0cml2ZXMgcXVlcmllcyBmcm9tIHRoZSBkYXRhYmFzZSBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiBvYmplY3RzDQoJCWdsb2JhbCAkZ0NtczsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIjsNCgkJJHdoZXJlY2xhdXNlID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCWlmKGNvdW50KCR3aGVyZSk+MCl7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSR3aGVyZWNsYXVzZSAuPSAoJHdoZXJlY2xhdXNlID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4ka2V5LiI9PyI7DQoJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJJHF1ZXJ5IC49ICR3aGVyZWNsYXVzZTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KCQkJJGl0ZW0tPndoZXJldmFsdWVzID0gdW5zZXJpYWxpemUoJGl0ZW0tPndoZXJldmFsdWVzKTsNCgkJCWlmKCFpc19hcnJheSgkaXRlbS0+dmFsdWVzKSkJJGl0ZW0tPnZhbHVlcyA9IGFycmF5KCk7DQoJCQlpZigkYWRtaW4pew0KCQkJCSRpdGVtLT5hY3Rpb25zID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVsZXRlcXVlcnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsbGFuZygiZGVsZXRlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXkoInF1ZXJ5aWQiPT4kaXRlbS0+aWQpKTsNCgkJCQkkaXRlbS0+YWN0aW9ucyAuPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0ZXN0cXVlcnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdmlldy5naWYiLGxhbmcoInZpZXciKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgicXVlcnlpZCI9PiRpdGVtLT5pZCkpOw0KCQkJfQ0KCQkJJGl0ZW1saXN0W10gPSAkaXRlbTsNCgkJfQ0KCQlyZXR1cm4gKGNvdW50KCRpdGVtbGlzdCk+MD8kaXRlbWxpc3Q6ZmFsc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGNyZWF0ZUZpZWxkRm9ybSgkd2hhdCwkaWQsJGFzc2lnbj10cnVlKXsNCgkJcmVxdWlyZSAiZnVuY3Rpb24uY3JlYXRlRmllbGRGb3JtLnBocCI7DQoJfQ0KCQ0KDQoJZnVuY3Rpb24gYnVpbGRXaGVyZSgkd2hlcmU9YXJyYXkoKSwkd2hhdD0iIil7DQoJCSRtdWx0aXBsZWxpc3RmaWVsZHMgPSBhcnJheSgpOw0KCQkkd2hlcmVjbGF1c2UgPSAiQS5hY3RpdmU9MSI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHdoZXJlIGFzICRjbGF1c2Upew0KCQkJaWYoaW5fYXJyYXkoJHdoYXQuIl8iLiRjbGF1c2VbMF0sICRtdWx0aXBsZWxpc3RmaWVsZHMpKXsNCgkJCQkvLyBsaXN0IHdpdGggbXVsdGlwbGUgc2VsZWN0ZWQgdmFsdWVzIGFyZSBzYXZlZCBpbiBhIHNlcmlhbGl6ZWQgYXJyYXksIHNvIHdlIGhhdmUgdG8gdHdlYWsgdGhlIHZhbHVlDQoJCQkJJGNsYXVzZVsxXSA9ICciJy4kY2xhdXNlWzFdLiciJzsNCgkJCQkkY2xhdXNlWzJdID0gMTsNCgkJCX0NCgkJCWlmKCRjbGF1c2VbMF0gPT0gInBhcmVudCIpew0KCQkJCQkkY3JpdGVyaWEgPSBleHBsb2RlKCIsIiwkY2xhdXNlWzFdKTsNCgkJCQkJaWYoY291bnQoJGNyaXRlcmlhKSA+IDEpew0KCQkJCQkJJHRtcCA9ICIiOw0KCQkJCQkJZm9yZWFjaCgkY3JpdGVyaWEgYXMgJGNyaXQpew0KCQkJCQkJCSR0bXAgPSAoJHRtcD09IiI/IiI6IiBPUiAiKS4iQS5wYXJlbnQ9Ii4kY3JpdDsNCgkJCQkJCX0NCgkJCQkJCSR0bXAgPSAiIEFORCAoIi4kdG1wLiIpIjsNCgkJCQkJfWVsc2V7DQoJCQkJCQkkdG1wID0gIiBBTkQgQS5wYXJlbnQ9PyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICRjbGF1c2VbMV07DQoJCQkJCX0NCgkJCQkJJHdoZXJlY2xhdXNlIC49ICR0bXA7DQoJCQkJDQoJCQl9ZWxzZXsNCgkJCQlzd2l0Y2goJGNsYXVzZVsyXSl7DQoJCQkJCWNhc2UgMDoNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iPT8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJDQoJCQkJCWNhc2UgMToNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iIExJS0UgJyUiLmFkZHNsYXNoZXMoJGNsYXVzZVsxXSkuIiUnIjsNCgkJCQkJCWJyZWFrOw0KCQkJCQkNCgkJCQkJY2FzZSAyOg0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIEEuIi4kY2xhdXNlWzBdLiIgIT0gPyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9IGFkZHNsYXNoZXMoJGNsYXVzZVsxXSk7DQoJCQkJCQlicmVhazsNCgkJCQkJCQ0KCQkJCQljYXNlIDM6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiA+ID8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJCQ0KCQkJCQljYXNlIDQ6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiA8ID8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSA1Og0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIChBLiIuJGNsYXVzZVswXS4iID4gPyBBTkQgQS4iLiRjbGF1c2VbMF0uIiA8ID8pIjsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdWzBdKTsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdWzFdKTsNCgkJCQkJCWJyZWFrOwkJCQkJDQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiBhcnJheSgkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcyk7DQoJfQ0KCWZ1bmN0aW9uIGdldFdoZXJlRnJvbVBhcmFtcygkcGFyYW1zLCAkaHRtbGVuY29kZWQ9ZmFsc2Upew0KCQkvLyB1c2VkIGZvciBxdWVyeSBjcmVhdGlvbiBhbmQgZnJvbnRlbmQgYWR2YW5jZWQgc2VhcmNoIGFjdGlvbg0KCQkvLyB0cmFuc2Zvcm1zIHBhcmFtZXRlcnMgaW50byAkd2hlcmUgLSBhbiBhcnJheSBvZiBjcml0ZXJpYToNCgkJLy8gJHdoZXJlW10gPSBhcnJheSgkZmllbGRuYW1lLCAkc2VhcmNodmFsdWUsICRjb21wYXJpc29uX3R5cGUpDQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHdoZXJlID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQlpZihzdWJzdHIoJGtleSwwLDYpID09ICJmaWVsZF8iICYmIHRyaW0oJHZhbHVlKSAhPSAiIil7DQoJCQkJJGtleSA9IHN1YnN0cigka2V5LDYpOw0KCQkJCWlmKGlzX2FycmF5KCR2YWx1ZSkgJiYgY291bnQoJHZhbHVlKT09MSkJJHZhbHVlID0gJHZhbHVlWzBdOw0KCQkJCSRjb21wYXJlID0gaXNzZXQoJHBhcmFtc1siY29tcGFyZV8iLiRrZXldKT8kcGFyYW1zWyJjb21wYXJlXyIuJGtleV06MDsNCgkJCQlpZigkdmFsdWUgPT0gIl9fZGF0ZV9maWVsZCIpew0KCQkJCQlpZigkY29tcGFyZSAhPSAiTkEiKXsNCgkJCQkJCS8vIFRoZSBjb2RlIGlzIHN1Y2ggdGhhdCByZW1vdmluZyBhbnkgcGFydCBvZiB0aGUgdGltZSBpbnB1dCBmcm9tIHRoZSBmb3JtIHdpbGwgcmVzdWx0IGluIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlDQoJCQkJCQkkdGltZWlucHV0cyA9IGFycmF5KCJIb3VyIj0+IkgiLCJNaW51dGUiPT4iaSIsIlNlY29uZCI9PiJzIiwiTW9udGgiPT4ibiIsIkRheSI9PiJqIiwiWWVhciI9PiJZIik7DQoJCQkJCQkkcGFydHMgPSBhcnJheSgpOw0KCQkJCQkJZm9yZWFjaCgkdGltZWlucHV0cyBhcyAkaW5wdXRuYW1lPT4kZGF0ZXBhcnQpewkNCgkJCQkJCQkkcGFydHNbXSA9IChpc3NldCgkcGFyYW1zWyJkYXRlXyIuJGtleS4iXyIuJGlucHV0bmFtZV0pKT8kcGFyYW1zWyJkYXRlXyIuJGtleS4iXyIuJGlucHV0bmFtZV06ZGF0ZSgkZGF0ZXBhcnQpOw0KCQkJCQkJfQ0KCQkJCQkJJHZhbHVlID0gbWt0aW1lKCRwYXJ0c1swXSwkcGFydHNbMV0sJHBhcnRzWzJdLCRwYXJ0c1szXSwkcGFydHNbNF0sJHBhcnRzWzVdKTsNCgkJCQkJCSR2YWx1ZSA9IHN0cl9yZXBsYWNlKCJcJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCgkdmFsdWUpKTsNCgkJCQkJCQ0KCQkJCQkJaWYoJGNvbXBhcmUgPT0gNSl7DQoJCQkJCQkJJHBhcnRzID0gYXJyYXkoKTsNCgkJCQkJCQlmb3JlYWNoKCR0aW1laW5wdXRzIGFzICRpbnB1dG5hbWU9PiRkYXRlcGFydCl7CQ0KCQkJCQkJCQkkcGFydHNbXSA9IChpc3NldCgkcGFyYW1zWyJkYXRlXyIuJGtleS4iX3BhcnQyXyIuJGlucHV0bmFtZV0pKT8kcGFyYW1zWyJkYXRlXyIuJGtleS4iX3BhcnQyXyIuJGlucHV0bmFtZV06ZGF0ZSgkZGF0ZXBhcnQpOw0KCQkJCQkJCX0NCgkJCQkJCQkkdmFsdWUyID0gbWt0aW1lKCRwYXJ0c1swXSwkcGFydHNbMV0sJHBhcnRzWzJdLCRwYXJ0c1szXSwkcGFydHNbNF0sJHBhcnRzWzVdKTsNCgkJCQkJCQkkdmFsdWUyID0gc3RyX3JlcGxhY2UoIlwnIiwiIiwkZGItPkRCVGltZVN0YW1wKCR2YWx1ZTIpKTsNCgkJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksIGFycmF5KCR2YWx1ZSwkdmFsdWUyKSwgJGNvbXBhcmUpOw0KCQkJCQkJfWVsc2V7CQ0KCQkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJHZhbHVlLCAkY29tcGFyZSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9ZWxzZXsNCgkJCQkJaWYoaXNfYXJyYXkoJHZhbHVlKSl7DQoJCQkJCQlmb3JlYWNoKCR2YWx1ZSBhcyAkb25ldmFsdWUpCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJG9uZXZhbHVlLCAxKTsNCgkJCQkJfWVsc2VpZigkY29tcGFyZSA9PSAxKXsNCgkJCQkJCSRrZXl3b3JkcyA9ICR0aGlzLT5wYXJzZWtleXdvcmRzKCR2YWx1ZSk7DQoJCQkJCQlmb3JlYWNoKCRrZXl3b3JkcyBhcyAkdmFsdWUpew0KCQkJCQkJCWlmKCRodG1sZW5jb2RlZCkJJHZhbHVlID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR2YWx1ZSk7DQoJCQkJCQkJJHZhbHVlID0gYWRkc2xhc2hlcygkdmFsdWUpOwkJCQkJCQkNCgkJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksICR2YWx1ZSwgJGNvbXBhcmUpOw0KCQkJCQkJfQ0KCQkJCQl9ZWxzZXsNCgkJCQkJCWlmKCRodG1sZW5jb2RlZCkJJHZhbHVlID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR2YWx1ZSk7DQoJCQkJCQkkdmFsdWUgPSBhZGRzbGFzaGVzKCR2YWx1ZSk7DQoJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksICR2YWx1ZSwgJGNvbXBhcmUpOw0KCQkJCQl9DQoJCQkJfQkJCQkNCgkJCX0NCgkJfQkJDQoJCXJldHVybiAkd2hlcmU7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xldmVsX2NhdGVnb3J5KCR3aGVyZT1hcnJheSgpLCRhZG1pbj1mYWxzZSwkaWQ9IiIsJHJldHVybmlkPSIiLCRvcmRlcj1mYWxzZSwkbGltaXQ9MCwkY3VzdG9td2hlcmU9ZmFsc2UsJGN1c3RvbXZhbHVlcz1hcnJheSgpLCRjdXN0b21vcmRlcj1mYWxzZSl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGxvYWRfbmJjaGlsZHJlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsb2FkX25iY2hpbGRyZW4iLHRydWUpOw0KCQlpZigkYWRtaW4pCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQlpZighJG9yZGVyKQkkb3JkZXIgPSAiIjsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwiaWQiLCJuYW1lIiwiYWxpYXMiLCJpdGVtX29yZGVyIiwiYWN0aXZlIiwiaXNkZWZhdWx0Iik7DQoJCQ0KCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJDQoNCgkJaWYoJGN1c3RvbXdoZXJlKXsNCgkJCSR3aGVyZXN0cmluZyA9ICRjdXN0b213aGVyZTsNCgkJCSR3aGVyZXZhbHVlcyA9ICRjdXN0b212YWx1ZXM7DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQlpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRrZXkpLCAkZmllbGRzKSl7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2NhdGVnb3J5IEEgIi4oJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgV0hFUkUgIi4kd2hlcmVzdHJpbmcpOw0KCQkkcXVlcnkgLj0gKCRjdXN0b21vcmRlcj8iIE9SREVSIEJZICIuJGN1c3RvbW9yZGVyOiIgT1JERVIgQlkgaXRlbV9vcmRlciIpOw0KDQoJCWlmKCRsaW1pdCAmJiAkbGltaXQgIT0gIjAiICYmICRsaW1pdCAhPSAiIikJJHF1ZXJ5IC49ICIgTElNSVQgIi4kbGltaXQ7DQoNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQkkaWRsaXN0ID0gIiI7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJJGl0ZW0tPl9fd2hhdCA9ICJjYXRlZ29yeSI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRpdGVtLT5kZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pOw0KCQkJJGl0ZW0tPm5hbWUgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPm5hbWUpOw0KCQkJJGl0ZW0tPmFsaWFzID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5hbGlhcyk7DQoNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJjYXRfIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJIVkFfY2F0ZWdvcnkiLA0KCQkJCQkibGV2ZWxuYW1lIj0+ImNhdGVnb3J5IiwNCgkJCQkJImNoaWxkIj0+IkhWQV9hbGJ1bSIsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZSwNCgkJCQkJImZpbGVzIj0+IiINCgkJCQkJKTsNCgkJCQkkaXRlbSA9ICR0aGlzLT5hZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJtcywkaWQsJHJldHVybmlkKTsNCgkJCX0NCgkJCSRpZGxpc3QgLj0gKCRpZGxpc3Q9PSIiPyIiOiIgT1IgIikuIiBwYXJlbnQ9JyIuJGl0ZW0tPmlkLiInIjsNCgkJCWFycmF5X3B1c2goJGl0ZW1saXN0LCRpdGVtKTsNCgkJfQ0KDQoJCWlmKCRhZG1pbiB8fCAkbG9hZF9uYmNoaWxkcmVuKXsNCgkJCSRuYmNoaWxkcmVucyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAiU0VMRUNUIHBhcmVudCwgY291bnQoaWQpIG5iY2hpbGRyZW4gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSBXSEVSRSAoIi4kaWRsaXN0LiIpICIuKCRhZG1pbj8iIjoiQU5EIGFjdGl2ZT0xICIpLiJHUk9VUCBCWSBwYXJlbnQiOw0KCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkJJG5iY2hpbGRyZW5zWyRyb3dbInBhcmVudCJdXSA9ICRyb3dbIm5iY2hpbGRyZW4iXTsNCgkJCSRuZXdsaXN0ID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkaXRlbS0+bmJjaGlsZHJlbiA9IGlzc2V0KCRuYmNoaWxkcmVuc1skaXRlbS0+aWRdKT8kbmJjaGlsZHJlbnNbJGl0ZW0tPmlkXTpmYWxzZTsNCgkJCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJCQl9DQoJCQkkaXRlbWxpc3QgPSAkbmV3bGlzdDsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW1saXN0Ow0KCX0NCg0KCWZ1bmN0aW9uIGdldF9sZXZlbF9hbGJ1bSgkd2hlcmU9YXJyYXkoKSwkYWRtaW49ZmFsc2UsJGlkPSIiLCRyZXR1cm5pZD0iIiwkb3JkZXI9ZmFsc2UsJGxpbWl0PTAsJGN1c3RvbXdoZXJlPWZhbHNlLCRjdXN0b212YWx1ZXM9YXJyYXkoKSwkY3VzdG9tb3JkZXI9ZmFsc2Upew0KCQlnbG9iYWwgJGdDbXM7DQoJCSRsb2FkX25iY2hpbGRyZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uYmNoaWxkcmVuIix0cnVlKTsNCgkJaWYoJGFkbWluKQkkYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCgkJaWYoISRvcmRlcikJJG9yZGVyID0gIiI7DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsImxhbmciLCJkZWZhdWx0X3dpZHRoIiwiZGVmYXVsdF9oZWlnaHQiLCJwYXJlbnQiLCJpZCIsIm5hbWUiLCJhbGlhcyIsIml0ZW1fb3JkZXIiLCJhY3RpdmUiLCJpc2RlZmF1bHQiKTsNCgkJDQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkNCg0KCQlpZigkY3VzdG9td2hlcmUpew0KCQkJJHdoZXJlc3RyaW5nID0gJGN1c3RvbXdoZXJlOw0KCQkJJHdoZXJldmFsdWVzID0gJGN1c3RvbXZhbHVlczsNCgkJfWVsc2V7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgPT0gInBhcmVudCIpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQi5hbGlhcz0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfWVsc2VpZigka2V5ID09ICJwYXJlbnRfaWQiKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkIuaWQ9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX1lbHNlaWYoaW5fYXJyYXkoc3RydG9sb3dlcigka2V5KSwgJGZpZWxkcykpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIEEuKiwgQi5pZCBwYXJlbnRfaWQsIEIubmFtZSBwYXJlbnRfbmFtZSwgQi5hbGlhcyBwYXJlbnRfYWxpYXMgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSBBLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSBCIFdIRVJFIEEucGFyZW50ID0gQi5pZCAiLigkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuJHdoZXJlc3RyaW5nOw0KCQlpZigkY3VzdG9tb3JkZXIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kY3VzdG9tb3JkZXI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJtb2RpZmllZCIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuZGF0ZV9tb2RpZmllZCBERVNDIjsNCgkJfWVsc2VpZigkb3JkZXIgPT0gImNyZWF0ZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmlkIERFU0MiOw0KCQl9ZWxzZWlmKCAkb3JkZXIgIT0gIiIgJiYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhbGxvd19jb21wbGV4X29yZGVyIixmYWxzZSkgfHwgaW5fYXJyYXkoc3RydG9sb3dlcigkb3JkZXIpLCAkZmllbGRzKSkgKXsNCgkJCSRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kb3JkZXI7DQoJCX1lbHNlew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEIuaXRlbV9vcmRlciwgQS5pdGVtX29yZGVyIjsNCgkJfQ0KCQlpZigkbGltaXQgJiYgJGxpbWl0ICE9ICIwIiAmJiAkbGltaXQgIT0gIiIpCSRxdWVyeSAuPSAiIExJTUlUICIuJGxpbWl0Ow0KDQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsNCgkJJGlkbGlzdCA9ICIiOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCSRpdGVtLT5fX3doYXQgPSAiYWxidW0iOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+ZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKTsNCgkJCSRpdGVtLT5sYW5nID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5sYW5nKTsNCgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsNCgkJCSRpdGVtLT5hbGlhcyA9IHN0cmlwc2xhc2hlcygkaXRlbS0+YWxpYXMpOw0KDQoJCQlpZigkYWRtaW4gPT0gdHJ1ZSl7DQoJCQkJLy8gJHBhcm1zIHdpbGwgYmUgdGhlIGJhc2UgZm9yIHBhcmFtZXRlcnMgb2YgdGhlIGFkbWluIGxpbmtzDQoJCQkJJHBhcm1zID0gYXJyYXkoDQoJCQkJCSJwcmVmaXgiPT4iYWxiXyIsDQoJCQkJCSJ0YWJsZW5hbWUiPT4iSFZBX2FsYnVtIiwNCgkJCQkJImxldmVsbmFtZSI9PiJhbGJ1bSIsDQoJCQkJCSJjaGlsZCI9PiJIVkFfdmlkZW8iLA0KCQkJCQkicGFyZW50ZGVmYXVsdCI9PmZhbHNlLA0KCQkJCQkib3JkZXJieXBhcmVudCI9PnRydWUsDQoJCQkJCSJhZGRmaWxlcyI9PiIiLA0KCQkJCQkic2hhcmVjaGlsZHJlbiI9PmZhbHNlLA0KCQkJCQkic2hhcmVkYnlwYXJlbnRzIj0+ZmFsc2UsDQoJCQkJCSJmaWxlcyI9PiIiDQoJCQkJCSk7DQoJCQkJJGl0ZW0gPSAkdGhpcy0+YWRkYWRtaW5saW5rcygkaXRlbSwkcGFybXMsJGlkLCRyZXR1cm5pZCk7DQoJCQl9DQoJCQkkaWRsaXN0IC49ICgkaWRsaXN0PT0iIj8iIjoiIE9SICIpLiIgcGFyZW50PSciLiRpdGVtLT5pZC4iJyI7DQoJCQlhcnJheV9wdXNoKCRpdGVtbGlzdCwkaXRlbSk7DQoJCX0NCg0KCQlpZigkYWRtaW4gfHwgJGxvYWRfbmJjaGlsZHJlbil7DQoJCQkkbmJjaGlsZHJlbnMgPSBhcnJheSgpOw0KCQkJJHF1ZXJ5ID0gIlNFTEVDVCBwYXJlbnQsIGNvdW50KGlkKSBuYmNoaWxkcmVuIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gV0hFUkUgKCIuJGlkbGlzdC4iKSAiLigkYWRtaW4/IiI6IkFORCBhY3RpdmU9MSAiKS4iR1JPVVAgQlkgcGFyZW50IjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCSRuYmNoaWxkcmVuc1skcm93WyJwYXJlbnQiXV0gPSAkcm93WyJuYmNoaWxkcmVuIl07DQoJCQkkbmV3bGlzdCA9IGFycmF5KCk7DQoJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSl7DQoJCQkJJGl0ZW0tPm5iY2hpbGRyZW4gPSBpc3NldCgkbmJjaGlsZHJlbnNbJGl0ZW0tPmlkXSk/JG5iY2hpbGRyZW5zWyRpdGVtLT5pZF06ZmFsc2U7DQoJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOw0KCQkJfQ0KCQkJJGl0ZW1saXN0ID0gJG5ld2xpc3Q7DQoJCX0NCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbGV2ZWxfdmlkZW8oJHdoZXJlPWFycmF5KCksJGFkbWluPWZhbHNlLCRpZD0iIiwkcmV0dXJuaWQ9IiIsJG9yZGVyPWZhbHNlLCRsaW1pdD0wLCRjdXN0b213aGVyZT1mYWxzZSwkY3VzdG9tdmFsdWVzPWFycmF5KCksJGN1c3RvbW9yZGVyPWZhbHNlKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkbG9hZF9uYmNoaWxkcmVuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxvYWRfbmJjaGlsZHJlbiIsdHJ1ZSk7DQoJCWlmKCRhZG1pbikJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJCWlmKCEkb3JkZXIpCSRvcmRlciA9ICIiOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJzaXRlIiwidmlkZW9pZCIsIndpZHRoIiwiaGVpZ2h0IiwicGFyZW50IiwiaWQiLCJuYW1lIiwiYWxpYXMiLCJpdGVtX29yZGVyIiwiYWN0aXZlIiwiaXNkZWZhdWx0Iik7DQoJCQ0KCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJDQoNCgkJaWYoJGN1c3RvbXdoZXJlKXsNCgkJCSR3aGVyZXN0cmluZyA9ICRjdXN0b213aGVyZTsNCgkJCSR3aGVyZXZhbHVlcyA9ICRjdXN0b212YWx1ZXM7DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQlpZigka2V5ID09ICJwYXJlbnQiKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkIuYWxpYXM9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX1lbHNlaWYoJGtleSA9PSAicGFyZW50X2lkIil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJCLmlkPT8iOw0KCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCQl9ZWxzZWlmKGluX2FycmF5KHN0cnRvbG93ZXIoJGtleSksICRmaWVsZHMpKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkEuIi4ka2V5LiI9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCBBLiosIEIuaWQgcGFyZW50X2lkLCBCLm5hbWUgcGFyZW50X25hbWUsIEIuYWxpYXMgcGFyZW50X2FsaWFzIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gQSwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gQiBXSEVSRSBBLnBhcmVudCA9IEIuaWQgIi4oJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiR3aGVyZXN0cmluZzsNCgkJaWYoJGN1c3RvbW9yZGVyKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLiIuJGN1c3RvbW9yZGVyOw0KCQl9ZWxzZWlmKCRvcmRlciA9PSAibW9kaWZpZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmRhdGVfbW9kaWZpZWQgREVTQyI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJjcmVhdGVkIil7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS5pZCBERVNDIjsNCgkJfWVsc2VpZiggJG9yZGVyICE9ICIiICYmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYWxsb3dfY29tcGxleF9vcmRlciIsZmFsc2UpIHx8IGluX2FycmF5KHN0cnRvbG93ZXIoJG9yZGVyKSwgJGZpZWxkcykpICl7DQoJCQkkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLiIuJG9yZGVyOw0KCQl9ZWxzZXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBCLml0ZW1fb3JkZXIsIEEuaXRlbV9vcmRlciI7DQoJCX0NCgkJaWYoJGxpbWl0ICYmICRsaW1pdCAhPSAiMCIgJiYgJGxpbWl0ICE9ICIiKQkkcXVlcnkgLj0gIiBMSU1JVCAiLiRsaW1pdDsNCg0KCQkJJG9wdGlvbnNfc2l0ZSA9IGFycmF5X2ZsaXAoJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiKSk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsNCgkJJGlkbGlzdCA9ICIiOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCSRpdGVtLT5fX3doYXQgPSAidmlkZW8iOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+ZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKTsNCgkJCSRpdGVtLT5zaXRlID0gKGlzc2V0KCRvcHRpb25zX3NpdGVbJGl0ZW0tPnNpdGVdKSk/JGl0ZW0tPnNpdGU6ZmFsc2U7DQoJCQkkaXRlbS0+c2l0ZV9uYW1ldmFsdWUgPSAoaXNzZXQoJG9wdGlvbnNfc2l0ZVskaXRlbS0+c2l0ZV0pKT8kb3B0aW9uc19zaXRlWyRpdGVtLT5zaXRlXToiIjsNCgkJCSRpdGVtLT52aWRlb2lkID0gc3RyaXBzbGFzaGVzKCRpdGVtLT52aWRlb2lkKTsNCgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsNCgkJCSRpdGVtLT5hbGlhcyA9IHN0cmlwc2xhc2hlcygkaXRlbS0+YWxpYXMpOw0KCQkkaXRlbS0+bmJjaGlsZHJlbiA9IGZhbHNlOw0KCQkNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJ2aWRfIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJIVkFfdmlkZW8iLA0KCQkJCQkibGV2ZWxuYW1lIj0+InZpZGVvIiwNCgkJCQkJImNoaWxkIj0+ZmFsc2UsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZSwNCgkJCQkJImZpbGVzIj0+IiINCgkJCQkJKTsNCgkJCQkkaXRlbSA9ICR0aGlzLT5hZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJtcywkaWQsJHJldHVybmlkKTsNCgkJCX0NCgkJCSRpZGxpc3QgLj0gKCRpZGxpc3Q9PSIiPyIiOiIgT1IgIikuIiBwYXJlbnQ9JyIuJGl0ZW0tPmlkLiInIjsNCgkJCWFycmF5X3B1c2goJGl0ZW1saXN0LCRpdGVtKTsNCgkJfQ0KDQoJCXJldHVybiAkaXRlbWxpc3Q7DQoJfQ0KCWZ1bmN0aW9uIHBsUmVzaXplKCRmdWxscGF0aCwgJG5ld3BhdGgsICRuZXd3aWR0aCwgJG5ld2hlaWdodD1mYWxzZSwgJHRyYW5zcGFyZW5jeT1mYWxzZSwgJGNyb3A9ZmFsc2UpIHsNCgkJcmVxdWlyZSAiZnVuY3Rpb24ucGxyZXNpemUucGhwIjsNCgkJcmV0dXJuICRyZXR1cm47DQoJfQ0KCQ0KCWZ1bmN0aW9uIHBsR2V0RmlsZUluZm8oJGZpbGVwYXRoKXsNCgkJaWYoIWZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpCXJldHVybiBmYWxzZTsNCgkJcmVxdWlyZSAiZnVuY3Rpb24ucGxHZXRGaWxlSW5mby5waHAiOw0KCQlyZXR1cm4gJGluZm87DQoJfQ0KCQ0KCWZ1bmN0aW9uIHVwbG9hZF9jaGVja2ZpbGVuYW1lKCRmaWxlbmFtZSwgJGRpcil7DQoJCS8vIGlmIGEgZmlsZSBvZiB0aGF0IG5hbWUgZXhpc3RzLCBhcHBlbmRzIG51bWJlciB0byB0aGUgZmlsZW5hbWUNCgkJJHRtcGZpbGVuYW1lID0gc3RyX3JlcGxhY2UoIiAiLCJfIiwkZmlsZW5hbWUpOw0KCQkkZXh0ZW5zaW9uID0gc3RycmNocigkdG1wZmlsZW5hbWUsICIuIik7DQoJCSRjbGVhbmZpbGVuYW1lID0gc3RyX3JlcGxhY2UoJGV4dGVuc2lvbiwgIiIsICR0bXBmaWxlbmFtZSk7DQoNCgkJJGRlc3RkaXIgPSAkZGlyLiR0bXBmaWxlbmFtZTsNCgkJJGkgPSAxOw0KCQl3aGlsZShmaWxlX2V4aXN0cygkZGVzdGRpcikpew0KCQkJJHRtcGZpbGVuYW1lID0gJGNsZWFuZmlsZW5hbWUuIl8iLiRpLiRleHRlbnNpb247DQoJCQkkZGVzdGRpciA9ICRkaXIuJHRtcGZpbGVuYW1lOw0KCQkJJGkrKzsNCgkJfQ0KCQlyZXR1cm4gJHRtcGZpbGVuYW1lOw0KCX0NCgkNCglmdW5jdGlvbiBwbFVwbG9hZEZpbGUoJGZpbGUsICRkZXN0aW5hdGlvbj0iIiwgJHJlc2l6ZT1mYWxzZSwgJGNyb3A9ZmFsc2Upew0KCQlnbG9iYWwgJGdDbXM7DQoJCSRkaXIgPSAkZ0Ntcy0+Y29uZmlnWyJ1cGxvYWRzX3BhdGgiXS5zdHJfcmVwbGFjZSgiLy8iLCIvIiwiLyIuJGRlc3RpbmF0aW9uLiIvIik7DQoJCQ0KCQkkZmlsZW5hbWUgPSAkdGhpcy0+dXBsb2FkX2NoZWNrZmlsZW5hbWUoJGZpbGVbIm5hbWUiXSwkZGlyKTsNCgkJDQoJCWlmIChjbXNfbW92ZV91cGxvYWRlZF9maWxlKCRmaWxlWyJ0bXBfbmFtZSJdLCAkZGlyLiRmaWxlbmFtZSkpIHsNCgkJCWlmKCRyZXNpemUgJiYgIWlzX2FycmF5KCRyZXNpemUpKQkkcmVzaXplID0gZXhwbG9kZSgieCIsJHJlc2l6ZSk7DQoJCQlpZigkcmVzaXplICYmIGNvdW50KCRyZXNpemUpID09IDIpICR0aGlzLT5wbFJlc2l6ZSgkZGlyLiRmaWxlbmFtZSwgJycsICRyZXNpemVbMF0sICRyZXNpemVbMV0sdHJ1ZSwkY3JvcCk7DQoJCQlyZXR1cm4gc3RyX3JlcGxhY2UoIi8vIiwiLyIsIi8iLiRkZXN0aW5hdGlvbi4iLyIuJGZpbGVuYW1lKTsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gcGxBc3NpZ25GaWxlKCRmaWxlcGF0aCwgJHRhYmxlLCAkaXRlbWlkLCAkZmllbGQsICR0aHVtYnNpemU9ZmFsc2UsICRjcm9wdGh1bWI9ZmFsc2Upew0KCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kdGFibGU7DQoJCSRmaWxlcGF0aCA9IHN0cl9yZXBsYWNlKCIvLyIsIi8iLCRmaWxlcGF0aCk7DQoNCgkJaWYoJHRodW1ic2l6ZSAmJiAhaXNfYXJyYXkoJHRodW1ic2l6ZSkpCSR0aHVtYnNpemUgPSBleHBsb2RlKCJ4IiwkdGh1bWJzaXplKTsNCgkJaWYoICRmaWxlcGF0aCAhPSAiIiAmJiAkdGh1bWJzaXplICYmIGNvdW50KCR0aHVtYnNpemUpID09MiApIHsNCgkJCWdsb2JhbCAkZ0NtczsNCgkJCSRiYXNlcGF0aCA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdOw0KCQkJJGV4cGxvZGVkID0gZXhwbG9kZSgiLyIsJGZpbGVwYXRoKTsNCgkJCSRleHBsb2RlZFtjb3VudCgkZXhwbG9kZWQpLTFdID0gInBsdGh1bWJfIi4kZXhwbG9kZWRbY291bnQoJGV4cGxvZGVkKS0xXTsNCgkJCSR0aHVtYnBhdGggPSBpbXBsb2RlKCIvIiwkZXhwbG9kZWQpOw0KCQkJJHRoaXMtPnBsUmVzaXplKCRiYXNlcGF0aC4iLyIuJGZpbGVwYXRoLCAkYmFzZXBhdGguIi8iLiR0aHVtYnBhdGgsICR0aHVtYnNpemVbMF0sICR0aHVtYnNpemVbMV0sIHRydWUsICRjcm9wdGh1bWIpOw0KCQl9DQoNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoNCgkJaWYoICR0YWJsZSA9PSAiSFZBX211bHRpcGxlZmlsZXNmaWVsZHMiICkgew0KCQkJJG5ld2lkID0gJGRiLT5HZW5JRCgkdGFibGVuYW1lLiJfc2VxIik7DQoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gJHRhYmxlbmFtZSBTRVQgZmlsZWlkPT8sIGl0ZW1pZD0/LCBmaWVsZG5hbWU9PywgZmlsZXBhdGg9PyI7DQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJG5ld2lkLCAkaXRlbWlkLCAkZmllbGQsICRmaWxlcGF0aCkgKTsNCgkJfWVsc2V7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUICRmaWVsZD0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRmaWxlcGF0aCwkaXRlbWlkKSk7DQoJCX0NCgkJDQoJCXJldHVybiAkZGJyZXN1bHQ7DQoJfQ0KCWZ1bmN0aW9uIGdldEZpbGVDb250ZW50KCRmaWxlbmFtZSl7DQoJCS8vIHJldHVybnMgdGhlIGNvbnRlbnQgb2YgYSBmaWxlDQoJCSRmaWxlcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGVuYW1lOw0KCQlpZihmaWxlX2V4aXN0cygkZmlsZXBhdGgpKXsNCgkJCSRmaGFuZGxlID0gZm9wZW4oJGZpbGVwYXRoLCAicisiKTsNCgkJCSRjb250ZW50ID0gZnJlYWQoJGZoYW5kbGUsIGZpbGVzaXplKCRmaWxlcGF0aCkpOw0KCQkJcmV0dXJuICRjb250ZW50Ow0KCQl9ZWxzZXsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCX0NCg0KfQ0KDQo/Pg0K]]></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>
