<?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>ToolBox</name>
	<version>1.3.0</version>
  <mincmsversion>1.9</mincmsversion>
	<help><![CDATA[DQoNCjxkaXYgaWQ9InBhZ2VfdGFicyI+ICAgICANCiAgPGRpdiBpZD0iZ2VuZXJhbCI+DQogICAgQWxsZ2VtZWluZSBJbmZvcyAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9InJlZGlyZWN0Ij4NCiAgICBXZWl0ZXJsZWl0dW5nZW4gLyBGZWhsZXIgVHJhY2tpbmcgICANCiAgPC9kaXY+IA0KICA8ZGl2IGlkPSJhdXRvbGlnaHRib3giPg0KICAgIEF1dG9MaWdodEJveCAgIA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0ic29jaWFsc2hhcmVwcml2YWN5Ij4NCiAgICBTb2NpYWxTaGFyZVByaXZhY3kgICANCiAgPC9kaXY+DQogIDxkaXYgaWQ9InR3aXR0ZXJmZWVkIj4NCiAgICBUd2l0dGVyZmVlZCAgIA0KICA8L2Rpdj4gICAgDQogIDxkaXYgaWQ9InRhaWwiPg0KICAgIFRhaWwgICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0ic21hcnR5dG9vbHMiPg0KICAgIFNtYXJ0eSBUb29scyAgIA0KICA8L2Rpdj4gICANCiAgPGRpdiBpZD0ibW9kaWZpZXIiPg0KICAgIE1vZGlmaWVyIA0KICA8L2Rpdj4gICAgDQogIDxkaXYgaWQ9Im1vYmlsZWRldGVjdCI+DQogICAgTW9iaWxlIERldGVjdCAgDQogIDwvZGl2PiANCiAgPGRpdiBpZD0icGx1Z2lucyI+DQogICAgUGx1Z2lucyAgIA0KICA8L2Rpdj4gICAgIA0KPC9kaXY+ICAgDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgDQoNCjxkaXYgaWQ9InBhZ2VfY29udGVudCI+ICANCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4NCgk8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPg0KCTxwPkRpZXNlcyBNb2R1bCBpc3QgZWluZSBTYW1tbHVuZyB2b24gVG9vbHMsIGRpZSBmw7xyIFNlaXRlbmJldHJlaWJlciBuw7x0emxpY2ggc2luZC4gRGVyemVpdGlnZSBGdW5rdGlvbmVuOjwvcD4NCgk8dWw+DQoJPGxpPjMwMS1XZWl0ZXJsZWl0dW5nZW4gKHouQi4gdm9uIGdlbMO2c2NodGVuIFNlaXRlbikgaW5rbHVzaXZlIGRlciBNw7ZnbGljaGtlaXQsIGRpZSBSZWdlbG4gaW4gcmVndWzDpHJlbiBBdXNkcsO8Y2tlbiBhbnp1Z2ViZW4uPC9saT4NCgk8bGk+NDA0LUZlaGxlciBUcmFja2luZyAoYXVjaCB2b24gQmlsZGVybiwgUERGLCBldGMuKSAtIGlua2x1c2l2ZSBJZ25vcmllci1GaWx0ZXIgdW5kIEFua27DvHBmdW5nIGFuIGRpZSAzMDEtRnVua3Rpb24uPC9saT4NCgk8bGk+QXV0b0xpZ2h0Qm94IC0gRXJzdGVsbHQgYXV0b21hdGlzY2ggZWluZSBMaWdodEJveCBWZXJrbsO8cGZ1bmcsIHdlbm4gc2llIGVpbiBCaWxkIGluIGRlbiBJbmhhbHQgZWluZsO8Z2VuIHVuZCB2ZXJrbGVpbmVybi48L2xpPg0KCTxsaT5Tb2NpYWxTaGFyZVByaXZhY3kgLSBQcml2YXRzcGjDpHJlIGltIFNvY2lhbCBNZWRpYSBCZXJlaWNoIGR1cmNoIGRpZSAyLUtsaWNrIFJlZ2VsIHNpY2hlcnN0ZWxsZW4uPC9saT4NCgk8bGk+VHdpdHRlcmZlZWQgLSBaZWlndCBkZW4gVHdpdHRlcmZlZWQgZWluZXMgQmVudXR6ZXJzIGFuLiBEYXp1IGvDtm5uZW4gdmVyc2NoaWVkZW5lIFRlbXBsYXRlcyBhbmdlbGVndCB3ZXJkZW4uPC9saT4NCgk8bGk+dGFpbCBGdW5rdGlvbmFsaXTDpHQgZsO8ciBMaXZlLUxvZ2dpbmc8L2xpPg0KCTxsaT5TbWFydHkgLSBDb250ZW50IEZ1bmt0aW9uZW48L2xpPg0KCTxsaT5TbWFydHkgLSBQbHVnaW5zPC9saT4NCgk8L3VsPg0KCQ0KCTxoMz5TdXBwb3J0PC9oMz4NCgk8cD5EaWVzZXMgTW9kdWwgYmVzaXR6dCBrZWluZW4ga29tbWVyemllbGxlbiBTdXBwb3J0LiBKZWRvY2ggZ2lidCBlcyBlaW5pZ2UgQW5sYXVmc3RlbGxlbiBmw7xyIEhpbGZlc3RlbGx1bmdlbjo8L3A+DQoJPHVsPg0KCTxsaT5Gw7xyIGRpZSBuZXVlc3RlIFZlcnNpb24gZGllc2VzIE1vZHVsZXMsIEZBUXMsIG9kZXIgdW0gZWluZW4gRmVobGVyIHp1IGJlcmljaHRlbiwgYmVzdWNoZW4gU2llIGJpdHRlIGRpZSBXZWJzZWl0ZW4gdm9uIENNUyBtYWRlIHNpbXBsZTogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLmRlPC9saT4NCgk8bGk+WnVzw6R0emxpY2hlIERpc2t1c3Npb25lbiDDvGJlciBkaWVzZXMgTW9kdWwga8O2bm5lbiBhdWNoIGltIEZvcnVtIGdlZnVuZGVuIHdlcmRlbjogPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGUvdmlld2ZvcnVtLnBocD9pZD05IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGUvdmlld2ZvcnVtLnBocD9pZD05PC9hPjwvbGk+DQoJPGxpPkRlciBBdXRvciwgTHVrYXMgQmxhdHRlciwga2FubiDDvGJlciBzZWluZSBXZWJzZWl0ZSBlcnJlaWNodCB3ZXJkZW46IDxhIGhyZWY9Imh0dHA6Ly93d3cuYmxhdHRlcnRlY2guY2giIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmJsYXR0ZXJ0ZWNoLmNoPC9hPjwvbGk+DQoJPGxpPkRlciBBdXRvciwgQW5kaSBQZXR6b2xkdCwga2FubiDDvGJlciBzZWluZSBXZWJzZWl0ZSBlcnJlaWNodCB3ZXJkZW46IDxhIGhyZWY9Imh0dHA6Ly9hbmRpbWluaXN0cmF0b3IuZGUvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2FuZGltaW5pc3RyYXRvci5kZTwvYT48L2xpPg0KCTxsaT5BdcOfZXJkZW0ga2FubiBkZXIgQXV0b3Igw7xiZXIgc2VpbmUgRU1haWwtQWRyZXNzZSBlcnJlaWNodCB3ZXJkZW4uPC9saT4NCgk8L3VsPg0KCQ0KCTxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KCTxwPkNvcHlyaWdodCDCqSAyMDExLCBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4gdW5kIEFuZGkgUGV0em9sZHQgPGFuZGlAcGV0em9sZHQubmV0Pi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KCTxwPkRpZXNlcyBNb2R1bCB3dXJkZSB1bnRlciBkZXIgR1BMIChHTlUgUHVibGljIExpY2Vuc2UpIHZlcsO2ZmZlbnRsaWNodC4gU2llIG3DvHNzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkaWVzZXMgTW9kdWwgYmVudXR6ZW4uPC9wPg0KCQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0icmVkaXJlY3RfYyI+DQoJPGgzPldpZSBiZW51dHplIGljaCBkaWUgMzAxLVdlaXRlcmxlaXR1bmdlbiB1bmQgZGFzIDQwNC1GZWhsZXJ0cmFja2luZz88L2gzPg0KCTxwPjxzdHJvbmc+MS4gS29uZmlndXJpZXJlIGRhcyBNb2R1bDwvc3Ryb25nPjwvcD4NCgk8cD5EYXMgTW9kdWwgaXN0IHBlciBkZWZhdWx0IMO8YmVyIGRpZSBFcmVpZ25pc3ZlcndhbHR1bmcgYmVyZWl0cyBha3Rpdi4gRGFzIGhlaXNzdCwgZGllIEZ1bmt0aW9uZW4gc2luZCBhdXRvbWF0aXNjaCBpbiBqZWRlbSBUZW1wbGF0ZSBha3Rpdi4gRGFkdXJjaCB3ZXJkZW4gYXVjaCBGZWhsZXIgaW0gQmFja2VuZCBtaXRnZWxvZ2d0LjwvcD4NCgk8cD5EdSBrYW5uc3QgYWJlciBpbiBkZW4gRWluc3RlbGx1bmdlbiBkaWUgVmVyd2VuZHVuZyBkZXIgRXJlaWduaXN2ZXJ3YWx0dW5nIGFic3RlbGxlbi4gU3RhdHRkZXNzZW4gbXVzcyBkZXIgTW9kdWxhdWZydWYgYW4gZGVuIEFuZmFuZyBkZXMvZGVyIFNlaXRlbi1UZW1wbGF0ZXMgZWluZ2VidW5kZW4gd2VyZGVuOjxiciAvPjxjb2RlPntUb29sQm94fTwvY29kZT48YnIgLz4NCglBbSBiZXN0ZW4gaXN0IGRpZXNlciBBdWZydWYgZ2xlaWNoIGhpbnRlciB7cHJvY2Vzc19wYWdlZGF0YX0gcGxhdHppZXJ0LjxiciAvPkFuZ2VibGljaCBzb2xsIGRhZHVyY2ggYXVjaCBkYXMgZWluZ2ViYXV0ZSBDYWNoaW5nIHZvbiBDTVNtcyBuaWNodCBtZWhyIGJlaGluZGVydCB3ZXJkZW4uPC9wPg0KCTxwPk51biBtdXNzdCBEdSBub2NoIGluIGRlbiBFaW5zdGVsbHVuZ2VuIGRlcyBNb2R1bHMgZGllIEZ1bmt0aW9uZW4gYWt0aXZpZXJlbiwgZGllIER1IGJlbnV0emVuIHdpbGxzdC48L3A+DQoJPHA+PHN0cm9uZz4yLiBGw7xnZSBSZWdlbG4gaW4gZGVuIE1vZHVsLUZ1bmt0aW9uZW4gaGluenU8L3N0cm9uZz48L3A+DQoJPHA+Tm9jaCBpbW1lciBtYWNodCBkYXMgTW9kdWwgZ2FyIG5pY2h0cy4gRHUgbXVzc3QgaW4gZGVuIGVpbnplbG5lbiBSZWl0ZXJuIGRlcyBNb2R1bHMgbm9jaCBEZWluZSBnZXfDvG5zY2h0ZW4gUmVnZWxuL0VpbnN0ZWxsdW5nZW4gbWFjaGVuLjwvcD4NCgkNCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImF1dG9saWdodGJveF9jIj4NCgk8aDM+V2llIGJlbnV0emUgaWNoIEF1dG9MaWdodEJveD88L2gzPg0KCTxwPkF1dG9saWdodGJveCBpc3QgZGllIGVpbmZhY2hzdGUgTcO2Z2xpY2hrZWl0IGVpbmUgTGlnaHRib3ggZWluZXMgQmlsZGVyIHp1IGVyemV1Z2VuLiBEYXMgR3J1bmRwcmluemlwIGZ1bmt0aW9uaWVydCBzbzo8L3A+DQoJPHA+QmVpbSBTcGVpY2hlcm4gZWluZXIgU2VpdGUsIGVpbmVzIEJsb2ctIG9kZXIgZWluZXMgTmV3c2VpbnRyYWdzIHdpcmQgZGVyIEluaGFsdCBuYWNoIEJpbGRlcm4gZHVyY2hzdWNodC4gRGFiZWkgdmVyZ2xlaWNodCBkYXMgU2NyaXB0IG9iIGRhcyBCaWxkIG1pdCBkZXIga29ycmVrdGVuIEdyw7Zzc2Ugb2RlciB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiBpc3QuIElzdCBkYXMgQmlsZCB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiwgd2lyZCBlaW4gVGh1bWJuYWlsIGdlbmVyaWVydCB1bmQgZGllIEJpbGQtVVJMIGF1ZiBkYXMgVGh1bWJuYWlsIGFuZ2VwYXNzdC4gWnVzw6R0emxpY2ggd2lyZCB1bSBkYXMgQmlsZCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkIGVyc3RlbGx0LjwvcD4NCgkNCgk8cD48Yj5XaWUgbXVzcyBpY2ggZWluIEJpbGQgaW4gZGVuIFRleHQgZWluZsO8Z2VuIGRhbWl0IEF1dG9MaWdodEJveCBha3RpdiB3aXJkPzwvYj48L3A+DQoJPHA+SWRlYWwgd2lyZCBlaW4gQmlsZCB3ZWxjaGVzIGF1ZiBkZXIgV2Vic2VpdGUgZWluZ2Vmw7xndCB3aXJkIGF1ZiBlaW5lIHNpbm52b2xsZSBHcsO2c3NlIHZlcmtsZWluZXJ0LiBPcHRpbWFsIGlzdCBlaW4gV2VydCB6d2lzY2hlbiA2MDAgLSAxMDAwIFBpeGVsIGF1ZiBkZXIgbMOkbmdlcmVuIEthbnRlLiBEYW5hY2gga2FubiBkaWVzZXMgQmlsZCBtaXR0ZWxzIE1pY3JvVGlueSAvIFRpbnlNQ0UgaW4gZGVuIFRleHQgZWluZ2Vmw7xndCB3ZXJkZW4uIE1pdHRlbHMgVmVyw6RuZGVydW5nIGRlciBHcsO2c3NlIGRhcyBCaWxkIGF1ZiBkaWUgb3B0aW1hbGUgR3LDtnNzZSB2ZXJrbGVpbmVybi48L3A+DQoJPHA+QmVpbSBzcGVpY2hlcm4gZXJrZW5udCBudW4gQXV0b0xpZ2h0Qm94LCBkYXNzIGVpbiBCaWxkIHZlcmtsZWluZXJ0IGVpbmdlZsO8Z3Qgd3VyZGUgdW5kIGVyc2V0enQgZGllc2VzIEJpbGQgbWl0IGVpbmVtIFRodW1ibmFpbCB1bmQgZXJzdGVsbHQgZWluZW4gTGluayBhdWYgZGFzIE9yaWdpbmFsYmlsZC48L3A+IA0KCQ0KCTxwPjxiPkZ1bmt0aW9uYWxpdMOkdDwvYj48L3A+DQoJPHVsPg0KCQk8bGk+QXV0b0xpZ2h0Qm94IG1vZGlmaXppZXJ0IEluaGFsdGUgKGluIGplZGVtIEluaGFsdHNibG9jayksIE5ld3NlaW50csOkZ2UgdW5kIENHQmxvZyBJbmhhbHRlPC9saT4NCgkJPGxpPkVudGRlY2t0IEF1dG9MaWdodEJveCBkaWUgR3LDtnNzZW7DpG5kZXJ1bmcgZWluZXMgYmVzdGVoZW5kZW4gQmlsZGVzLCBzbyB3aXJkIGRhcyBUaHVtYm5haWwgYXV0b21hdGlzY2ggaW4gZGVyIG5ldWVuIHJpY2h0aWdlbiBHcsO2c3NlIGVpbmdlYnVuZGVuLjwvbGk+DQoJCTxsaT5FcyBrYW5uIGVpbiByZWw9IG9kZXIgZWluIGNsYXNzPSBBdHRyaWJ1dGUgZGVmaW5pZXJ0IHdlcmRlbjwvbGk+DQoJCTxsaT5PcHRpb25hbCBrYW5uIGRhcyBKYXZhU2NyaXB0IGRlciBMaWdodGJveCBkaXJla3QgaW0gTW9kdWwgZ2VudXR6dCB3ZXJkZW48L2xpPg0KCQk8bGk+SW4gSmF2YXNjcmlwdCB1bmQgU3R5bGVzaGVldCBrw7ZubmVuIFNtYXJ0eS1WYXJpYWJsZW4gaW4gZGVyIEZvcm0gW1tyb290X3VybF1dIGdlbnV0enQgd2VyZGVuPC9saT4NCgkJPGxpPkF1dG9tYXRpc2NoZSBFaW5iaW5kdW5nIGRlcyBTdHlsZXNoZWV0cyB1bmQgZGVzIEphdmFTY3JpcHRzIGRlciBMaWdodGJveCBpbnMgVGVtcGxhdGU8L2xpPg0KCTwvdWw+CQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0ic29jaWFsc2hhcmVwcml2YWN5X2MiPg0KICA8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9oZWxwL3NvY2lhbHNoYXJlcHJpdmFjeTEucG5nIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgYWx0PSIyLUtsaWNrIFN5c3RlbSIgc3R5bGU9ImZsb2F0OiByaWdodCIgLz4NCiAgPGgzPldpZSBiZW51dHplIGljaCBTb2NpYWxTaGFyZVByaXZhY3k8L2gzPg0KICA8cD5Tb2NpYWxTaGFyZVByaXZhY3kgaXN0IGVpbiB2b24gaGVpc2UuZGUgdmVyw7ZmZmVudGxpY2hlcyBQbHVnaW4gd2VsY2hlcyBmw7xyIG1laHIgRGF0ZW5zY2h1dHogYmVpIFNvY2lhbG1lZGlhIEJ1dHRvbnMgc29yZ3QuIERhcyBQbHVnaW4gYmluZGV0IGRpZSBTb2NpYWxtZWRpYSBCdXR0b25zIHZvbiBGYWNlYm9vaywgVHdpdHRlciB1bmQgR29vZ2xlKyBlcnN0IGF1ZiBkZW4gYXVzZHLDvGNrbGljaGVuIFd1bnNjaCBkZXMgTnV0emVycyBlaW4uPGJyIC8+DQoJIEVpbiB3ZWl0ZXJlciBWb3J0ZWlsIGRpZXNlciBNZXRob2RlIGlzdCwgZGFzcyBkaWUgTGFkZWdlc2Nod2luZGlna2VpdCBlaW5lciBTZWl0ZSBuaWNodCB1bnRlciBkZW4gU29jaWFsbWVkaWEgQnV0dG9ucyBsZWlkZXQsIGRhIGJlaW0gZXJzdGVuIExhZGV2b3JnYW5nIGFsbGUgRGF0ZW4gZGlyZWt0IHZvbSBlaWdlbmVuIFNlcnZlciBnZWxhZGVuIHdlcmRlbi48L3A+DQoJIA0KCSA8cD5VbSBTb2NpYWxTaGFyZVByaXZheSB6dSBudXR6ZW4sIG11c3MgZGllIEVyd2VpdGVydW5nIHVudGVyICJFaW5zdGVsbHVuZ2VuIiBha3RpdmllcnQgd2VyZGVuLiBBbnNjaGxpZXNzZW4ga8O2bm5lbiBpbSBSZWl0ZXIgIlNvY2lhbFNoYXJlUHJpdmF5IiBpbmRpdmlkdWVsbGUgQW5wYXNzdW5nZW4gdm9yZ2Vub21tZW4gd2VyZGVuLiBFaW5nZWbDvGd0IHdlcmRlbiBkaWUgQnV0dG9ucyB3aWUgZm9sZ3Q6PC9wPg0KCSA8Y29kZT57VG9vbEJveCBtb2Q9InNvY2lhbHNoYXJlcHJpdmFjeSJ9PC9jb2RlPg0KCSANCgkgPHA+PGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvaGVscC9Tb2NpYWxzaGFyZXByaXZhY3kuanBnIiB3aWR0aD0iNTQ2IiBoZWlnaHQ9IjU0IiBhbHQ9IlNjcmVlbnNob3QgU29jaWFsU2hhcmVQcml2YWN5IiAvPjwvcD4NCgkgDQoJIDxwPkluIGRlbiBFaW5zdGVsbHVuZ2VuIGthbm4gZGVmaW5pZXJ0IHdlcmRlbiwgb2IgalF1ZXJ5IGdlbGFkZW4gd2VyZGVuIHNvbGwgb2RlciBuaWNodC4gRGllcyBpc3Qgd2ljaHRpZywgZGEgamUgbmFjaCBTZWl0ZSBqUXVlcnkgYmVyZWl0cyBpbiBkaWUgU2VpdGUgZWluZ2VidW5kZW4gd3VyZGUuIEluIGRpZXNlbSBGYWxsLCBtdXNzIGpRdWVyeSBuaWNodCBub2NobWFscyBnZWxhZGVuIHdlcmRlbi48L3A+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJ0d2l0dGVyZmVlZF9jIj4NCgkgIDxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL2hlbHAvdHdpdHRlcmZlZWQucG5nIiB3aWR0aD0iMzUzIiBoZWlnaHQ9IjQ1NCIgYWx0PSJUd2l0dGVyZmVlZCIgc3R5bGU9ImZsb2F0OiByaWdodCIgLz4NCgkgIDxwPk1pdCBUd2l0dGVyZmVlZCBrw7ZubmVuIGthbm4gZGVyIEZlZWQgZWluZXMgVHdpdHRlci1BY2NvdW50cyBpbiBkaWUgV2Vic2VpdGUgZWluZ2VidW5kZW4gd2VyZGVuLiBEaWUgRGFyc3RlbGx1bmcgZGVzIEZlZWRzIGthbm4gaW4gZWluZW0gVGVtcGxhdGUgZGVmaW5pZXJ0IHdlcmRlbi48L3A+DQoJICA8aDM+V2llIGJlbnV0emUgaWNoIFR3aXR0ZXJmZWVkPC9oMz4NCgkgIDxwPlR3aXR0ZXJmZWVkIHdpcmQgd2llIGZvbGd0IGVpbmdlYnVuZGVuOjwvcD4NCgkgIDxjb2RlPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRldGltZT0nZnJpZW5kbHknIGNhY2hldGltZT0xMCAmIzEyNTs8YnIgLz4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZXRpbWU9J2QubS5ZIEg6aScgJiMxMjU7PGJyIC8+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgbGlzdD0nd2ViZGVzaWduJyBjb3VudD01ICYjMTI1OzxiciAvPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHNlYXJjaD0nI2Ntc21zJyBjb3VudD0xMCAmIzEyNTsNCgkgIDwvY29kZT4NCgkgIA0KCSAgPHA+Rm9sZ2VuZGUgUGFyYW1ldGVyIGvDtm5uZW4gZ2V3w6RobHQgd2VyZGVuOjwvcD4NCgkgIDx1bD4NCgkgIAk8bGk+dXNlcm5hbWUgLSBUd2l0dGVyLVVzZXJuYW1lICh3aXJkIGRlciBQYXJhbWV0ZXIgc2VhcmNoIHZlcndlbmRldCwgc28gbXVzcyBrZWluIHVzZXJuYW1lIGFuZ2VnZWJlbiB3ZXJkZW4pPC9saT4NCgkgIAk8bGk+dGVtcGxhdGUgKG9wdGlvbmFsKSAtIE5hbWUgZGVzIFRlbXBsYXRlIGRhcyBnZW51dHp0IHdlcmRlbiBzb2xsLiBPaG5lIGRpZXNlIERlZmluaXRpb24gd2lyZCBkYXMgU3RhbmRhcmR0ZW1wbGF0ZSBnZWxhZGVuPC9saT4NCgkgIAk8bGk+bGlzdCAob3B0aW9uYWwpIC0gTmFtZSBlaW5lciBMaXN0ZSBkZXMgQmVudXR6ZXJzLiBJc3QgZGllc2VyIFBhcmFtZXRlciBhbmdlZ2ViZW4sIHdpcmQgZGllIFRpbWVsaW5lIGRlciBnZXfDpGhsdGVuIExpc3RlIGFuZ3plaWd0PC9saT4NCgkgIAk8bGk+c2VhcmNoIChvcHRpb25hbCkgLSBTdWNoYmVncmlmZiBuYWNoIGRlbSBkaWUgVHdpdHRlcmFwaSBhYmdlZnJhZ3Qgd2lyZCAob2huZSBCZW51dHplcm5hbWUpPC9saT4NCgkgIAk8bGk+ZGF0ZWZvcm1hdCAob3B0aW9uYWwpIA0KCSAgCQk8dWw+DQoJICAJCQk8bGk+ZnJpZW5kbHkgPSBTdGFuZGFyZC1Ud2l0dGVyZm9ybWF0IGluIGRlciBBcnQgPGVtPjMgZGF5cyBhZ288L2VtPjwvbGk+DQoJICAJCQk8bGk+ZC5tLlkgSDptOnMgLSBEYXRldGltZSBGb3JtYXRpZXJ1bmcgbmFjaCA8YSBocmVmPSJodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2RhdGV0aW1lLmNyZWF0ZWZyb21mb3JtYXQucGhwIj5EZWZpbml0aW9uIHBocC5uZXQ8L2E+PC9saT4NCgkgIAkJPC91bD4NCgkgIAk8L2xpPg0KCSAgCTxsaT5jYWNoZXRpbWUgKG9wdGlvbmFsKSAtIFplaXQgaW4gTWludXRlbiBpbiB3ZWxjaGVyIGRlciBUd2l0dGVyZmVlZCBpbSBDYWNoZSBhYmdlbGVndCBibGVpYnQuIFN0YW5kYXJkOiAxMCBNaW51dGVuOyBNaW5pbWFsIDEgTWludXRlPC9saT4NCgkgIDwvdWw+DQoJICAJDQoJICA8cD5JbSBUZW1wbGF0ZSBzdGVoZW4gZm9sZ2VuZGUgVmFyaWFibGVuIHp1ciBWZXJmw7xndW5nOjwvcD4NCgkgIDxjb2RlPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3RleHQ8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2RhdGU8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3Jhd2RhdGU8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmw8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmxfaHR0cHM8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3NjcmVlbm5hbWU8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3NjcmVlbm5hbWVfdXJsPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDthdXRob3I8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3NvdXJjZTxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7bG9jYXRpb248YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfY291bnQ8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfc2NyZWVubmFtZTxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9hdXRob3I8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2Zhdm9yaXRlZDxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZGF0ZV9saW5rPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtyZXBseV9saW5rPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2xpbms8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2Zhdm9yaXRlX2xpbms8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JlcGx5X3Jhd2xpbms8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfcmF3bGluazxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVfcmF3bGluaw0KCSAgPC9jb2RlPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idGFpbF9jIj4NCiAgCTxoMz50YWlsIC0gZWluIHBocC9qcXVlcnkgYmFzaWVyZW5kZXMgTG9nZ2luZ3N5c3RlbTwvaDM+DQogIAk8cD50YWlsIGlzdCB1bnRlciBMaW51eC9Vbml4IGVpbiBLb25zb2xlbnByb2dyYW1tIG1pdCB3ZWxjaGVtIExvZ2ZpbGVzIGxpdmUgw7xiZXJ3YWNodCB3ZXJkZW4ga8O2bm5lbi4gRGFzIGhlaXNzdCwgc29iYWxkIGRlbSBMb2dmaWxlIGVpbmUgWmVpbGUgaGluenVnZWbDvGd0IHd1cmRlLCB3aXJkIGRpZXNlIHNvZm9ydCBtaXQgdGFpbCBhbmdlemVpZ3QsIHdlbm4gZGFzIExvZ2ZpbGUNCiAgCcO8YmVyd2FjaHQgd2lyZC4gRGllIHRhaWwgRnVua3Rpb25hbGl0w6R0IHZvbiBUb29sQm94IHN0ZWxsdCBlaW5lIGdhbnogw6RobmxpY2hlIEZ1bmt0aW9uIHp1ciBWZXJmw7xndW5nLiA8L3A+DQogIAk8aDM+V2llIGZ1bmt0aW9uaWVydCdzPzwvaDM+DQogIAk8cD5adWVyc3QgbXVzcyBlaW5tYWwgZGFzIExvZ2ZpbGUgbWl0IERhdGVuIGdlc3BpZXNlbiB3ZXJkZW4uIERhenUgZ2lidCBlcyB6d2VpIE3DtmdsaWNoa2VpdGVuOjwvcD4NCiAgCTxwPjxiPkVpbmJhdSBpbiBlaW4gTW9kdWwsIGVpbiBQbHVnaW4gb2RlciBlaW5lbiBVRFQ8L2I+PC9wPg0KICAJPHA+Rm9sZ2VuZGVyIENvZGUgbXVzcyBkYXp1IGVpbmdlYmF1dCB3ZXJkZW46PC9wPg0KICAJPGNvZGU+CSYjMDM2O2xvZz0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUb29sQm94Jyk7PGJyIC8+DQoJCQkmIzAzNjtsb2ctPnNldExvZ0ZpbGUoJ3RiTG9nJyk7IC8vIE9wdGlvbmFsLiBIaWVyIGthbm4gZGVyIE5hbWUgZGVzIExvZ2ZpbGVzIGZlc3RnZWxlZ3Qgd2VyZGVuPGJyIC8+DQoJCQkmIzAzNjtsb2ctPmx3cml0ZSgiU2NocmVpYmVuIHdpciB3YXMgaW5zIExvZyIpOzxiciAvPg0KCTwvY29kZT4NCiAgCQ0KCTxwPjxiciAvPkFscyBQYXJhbWV0ZXIga8O2bm5lbiBub3JtYWxlIFZhcmlhYmxlbiwgT2JqZWt0ZSBvZGVyIGF1Y2ggQXJyYXkncyDDvGJlcmdlYmVuIHdlcmRlbi48L3A+DQoJPHA+PGI+RWluYmF1IGluIGVpbiBUZW1wbGF0ZTwvYj48L3A+DQogIAk8cD5Gb2xnZW5kZXIgVGFnIGthbm4gaW4gZWluIFRlbXBsYXRlIGVpbmdlYmF1dCB3ZXJkZW46PC9wPg0KICAJPGNvZGU+e3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2cifTwvY29kZT4NCiAgCTxwPjxiciAvPlBhcmFtZXRlcjo8L3A+DQogIAk8dWw+DQogIAk8bGk+bG9nIC0gVGV4dCBkZXIgaW5zIExvZ2ZpbGUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGw8L2xpPg0KICAJPGxpPltsb2dGaWxlXSAtIChvcHRpb25hbCkgaGllciBrYW5uIGRlciBOYW1lIGRlcyBMb2dmaWxlcyBkZWZpbmllcnQgd2VyZGVuPC9saT4NCiAgCTwvdWw+DQogIA0KICAJPGgzPkxvZ2ZpbGUgw5xiZXJ3YWNodW5nPC9oMz4NCiAgCTxwPkltIFJlaXRlciAidGFpbCBMb2ciIGthbm4gbnVuIGRhcyBMb2dmaWxlIMO8YmVyd2FjaHQgd2VyZGVuLiBEYXp1IGltIERyb3Bkb3duZmVsZCBkYXMgZ2V3w7xuc2NodGUgTG9nZmlsZSB3w6RobGVuLCBzb3dpZSBkaWUgQW56YWhsIGRlciBaZWlsZW4sIHdlbGNoZSBiZWltIGVyc3RlbiBsYWRlbiBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwsIGRlZmluaWVyZW4uIEVzIGvDtm5uZW4gDQogIAlwYXJhbGxlbCBhdWNoIG1laHJlcmUgTG9nZmlsZXMgw7xiZXJ3YWNodCB3ZXJkZW48L3A+DQogIAkNCiAgPC9kaXY+DQogIDxkaXYgaWQ9InNtYXJ0eXRvb2xzX2MiPg0KICAJPGgzPldlbGNoZSBGdW5rdGlvbmVuIGhhdCBkYXMgU21hcnR5LU9iamVrdD88L2gzPg0KCTxwPlRvb2xCb3ggZW50aMOkbHQgZWluZSBlaWdlbmUgU21hcnR5LUtsYXNzZSB1bSB2ZXJzY2hpZWRlbmUgQ29udGVudCBGdW5rdGlvbmVuIGF1Znp1cnVmZW4sIHNvd2llIGVpbmlnZSBQbHVnaW5zIHdlbGNoZSB6LkIuIHp1c2FtbWVuIG1pdCBBZHZhbmNlZENvbnRlbnQgZWluZ2VzZXR6dCB3ZXJkZW4ga8O2bm5lbi48L3A+DQoJPGgzPldpZSB3ZXJkZW4gZGllIFNtYXJ0eS1GdW5rdGlvbmVuIHVuZCBkaWUgUGx1Z2lucyBlaW5nZXNldHp0PzwvaDM+DQoJPHA+TmFjaCBkZXIgTW9kdWxpbnN0YWxsYXRpb24gaXN0IGRhcyBTbWFydHktT2JqZWt0ICJ0YnRvb2xzIiBpbiBkZW4gVGVtcGxhdGVzLCBHbG9iYWxlbiBJbmhhbHRzYmwmb3VtbDtja2VuIHVuZCB2ZXJzY2hpZWRlbmVuIHVuZCBkZW4gTW9kdWwtVGVtcGxhdGVzIHZlcmbDvGdiYXIuIERpZXNlcyBTbWFydHktT2JqZWt0IGhhdCB2ZXJzY2hpZWRlbmUgRnVua3Rpb25lbiwgZGllIFNpZSBqZWRlcnplaXQgYXVmcnVmZW4gayZvdW1sO25uZW4uPC9wPg0KCTxoND5WZXJmJnV1bWw7Z2JhcmUgRnVua3Rpb25lbjo8L2g0Pg0KCTxwPiZuYnNwOzwvcD4NCgk8dWw+DQoJPGxpPjxzdHJvbmc+c2VsZlVybDwvc3Ryb25nPihbJiMwMzY7YXNzaWduXSkNCgkgICAgPHA+R2lidCBkaWUgYWt0dWVsbGUgVVJMIHp1ciZ1dW1sO2NrPC9wPg0KCSAgICA8cD5Bcmd1bWVudGU6DQoJICAgICAgIDx1bD4NCgkgICAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCgkgICAgICA8L3VsPiAgDQoJICAgIDxici8+PC9wPg0KCTwvbGk+DQoJDQoJDQoJPGxpPjxzdHJvbmc+Z2V0UGFnZVVybDwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KCSAgICA8cD5HaWJ0IGRpZSBVUkwgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgKG9kZXIgZGVyIGFrdHVlbGxlbiBTZWl0ZSkgenVyw7xjazwvcD4NCgkgICAgPHA+QXJndW1lbnRlOg0KCSAgICAgICA8dWw+DQoJICAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgCQk8bGk+WyYjMDM2O2Fzc2lnbl0gIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICAgIA0KCSAgICA8YnIvPjwvcD4NCgkgICAgPHA+QmVpc3BpZWw6PGJyLz4NCgkgICAgPHByZT5EaWUgVVJMIGlzdCAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRQYWdlVXJsKCdob21lJykmIzEyNTs8L3ByZT4NCgkgICAgPC9wPg0KCTwvbGk+DQo8bGk+PHN0cm9uZz5pc0RlZmF1bHRQYWdlPC9zdHJvbmc+KCYjMDM2O2FsaWFzLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPlByw7xmdCBvYiBkaWUgU2VpdGUgYWxzIFN0YXJ0c2VpdGUgZGVmaW5pZXJ0IGlzdDwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4mIzAzNjthbGlhcyAtIERlciBBbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuIFN0YXR1cyB6dXImdXVtbDtjayBnZWdlYmVuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+JiMxMjM7aWYgJiMwMzY7dGJ0b29scy0+aXNEZWZhdWx0UGFnZSgpJiMxMjU7U2llIHNpbmQgYXVmIGRlciBTdGFydHNlaXRlJiMxMjM7ZWxzZSYjMTI1O1NpZSBzaW5kIG5pY2h0IGF1ZiBkZXIgU3RhcnRzZWl0ZSYjMTIzOy9pZiYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5nZXRQYXJlbnRBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGVpbmVyIGZlc3RnZWxlZ3RlbiBTZWl0ZSB6dXImdXVtbDtjay4gRmFsbHMga2VpbmUgJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIHZvcmhhbmRlbiBpc3QsIHdpcmQgZWluIGxlZXJlciBTdHJpbmcgenVyJnV1bWw7Y2sgZ2VnZWJlbi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBpc3QgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0UGFyZW50QWxpYXMoKSYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldExldmVsQWxpYXM8L3N0cm9uZz4oJiMwMzY7bGV2ZWwsWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBlaW5lciBiZXN0aW1tdGVuIEViZW5lIChMZXZlbCkgenVyJnV1bWw7Y2suIEZhbGxzIGRpZSBhbmdlZ2ViZW5lIEViZW5lIGjDtmhlciBpc3QgYWxzIGRpZSBkZXIgYWt0dWVsbGVuIFNlaXRlLCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2xldmVsICAgLSBOdW1tZXIgZGVyIEViZW5lIHZvbiB3ZWxjaGVyIGRlciBBbGlhcyB6dXLDvGNrZ2VnZWJlbiB3ZXJkZW4gc29sbCAoMSA9IDEuIEViZW5lLCAyID0gMi4gRWJlbmUsIGV0Yy4pPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSBkZXIgZGVmaW5pZXJ0ZW4gRWJlbmUgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuICBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBTZWl0ZW4tQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gZGVyIFNlaXRlIGF1ZiBkZXIgRWJlbmUgMSBpc3QgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0TGV2ZWxBbGlhcygxKSYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldFJvb3RBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGRlciAxLiBFYmVuZSB6dXImdXVtbDtjay4gRmFsbHMga2VpbmUgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZW4gZXhpc3RpZXJlbiwgd2lyZCBlaW4gbGVlcmVyIFN0cmluZyB6dXImdXVtbDtjayBnZWdlYmVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGRlciAxLiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIFNlaXRlbi1BbGlhcyBkZXIgb2JlcnN0ZW4sICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgaXN0ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFJvb3RBbGlhcygpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0UGFnZVRpdGxlPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gVGl0ZWwgZWluZXIgZmVzdGdlbGVndGVuIFNlaXRlIHp1ciZ1dW1sO2NrLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gVGl0ZWwgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIFRpdGVsIGRlciBha3R1ZWxsZW4gU2VpdGUgaXN0ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFBhZ2VUaXRsZSgpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0UGFnZU1lbnV0ZXh0PC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gTWVuJnV1bWw7dGV4dCBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIERlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXNzZW4gTWVuJnV1bWw7dGV4dCBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgTWVuJnV1bWw7dGV4dCBkZXIgYWt0dWVsbGUgU2VpdGUgaXN0ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFBhZ2VNZW51dGV4dCgpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzQ2hpbGRyZW48L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5QciZ1dW1sO2Z0LCBvYiBlaW5lIGZlc3RnZWxlZ3RlIFNlaXRlIHVudGVyZ2VvcmRuZXRlIFNlaXRlbiBoYXQuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIHp1IHByJnV1bWw7ZmVuZGVuIFNlaXRlLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT4mIzEyMzsmIzAzNjt0YnRvb2xzLT5oYXNDaGlsZHJlbigiIiwiaGFzQ2hpbGRyZW4iKSYjMTI1Ow0KICAgIAl7aWYgJiMwMzY7aGFzQ2hpbGRyZW59RGllIGFrdHVlbGxlIFNlaXRlIGhhdCB1bnRlcmdlb3JkbmV0ZSBTZWl0ZW57ZWxzZX1EaWUgYWt0dWVsbGUgU2VpdGUgaGF0IGtlaW5lIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldEZpcnN0Q2hpbGRBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dLFsmIzAzNjtvbmx5SW5NZW51XSA9IHRydWUpDQogICAgPHA+R2lidCBkZW4gQWxpYXMgZGVyIGVyc3RlbiB1bnRlcmdlb3JkbmV0ZW4gU2VpdGUgenVyw7xjay4gSXN0IGRpZSBlcnN0ZSBTZWl0ZSBlaW4gU2VjdGlvbmhlYWRlciwgVHJlbm5lciBvZGVyIGV4dGVybmVyIExpbmssIHdpcmQgZGllIGVyc3RlIFVudGVyc2VpdGUgZGVyIGVyc3RlbiBTZWl0ZSBvZGVyIGRpZSBuw6RjaHN0ZSBTZWl0ZSBnZXfDpGhsdDwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciB6dSBwciZ1dW1sO2ZlbmRlbiBTZWl0ZS4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7b25seUluTWVudV0gLSAob3B0aW9uYWwpIE51ciBTZWl0ZW4gd2VsY2hlIGltIE1lbsO8IHNpY2h0YmFyIHNpbmQuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPiYjMTIzOyYjMDM2O3RidG9vbHMtPmdldEZpcnN0Q2hpbGRBbGlhcygiIiwiZmlyc3RDaGlsZEFsaWFzIikmIzEyNTsNCiAgICAJRGVyIEFsaWFzIGRlciBlcnN0ZW4gVW50ZXJzZWl0ZSBpc3QgeyYjMDM2O2ZpcnN0Q2hpbGRBbGlhc308L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjtzaG93aW5hY3RpdmVdLFsmIzAzNjthc3NpZ25dKQ0KICAgPHA+R2lidCBlaW4gQXJyYXkgenVyJnV1bWw7Y2ssIHdlbGNoZXMgSW5mb3JtYXRpb25lbiAmdXVtbDtiZXIgZGllIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZW4gZW50aCZhdW1sO2x0IChmYWxscyB2b3JoYW5kZW4pPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIHp1IHByJnV1bWw7ZmVuZGVuIFNlaXRlLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O3Nob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIGhpZXIga2FubiBlaW5nZXN0ZWxsdCB3ZXJkZW4sIG9iIGluYWt0aXZlIFNlaXRlbiBpbSBFcmdlYm5pcyBlbnRoYWx0ZW4gc2VpbiBzb2xsZW4gKFN0YW5kYXJkIGlzdCBmYWxzZSkuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkZlbGRlcjoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmFsaWFzIC0gZGVyIFNlaXRlbi1BbGlhcyBkZXIgdW50ZXJnZW9yZG5ldGVuIFNlaXRlPC9saT4NCiAgICAgICA8bGk+aWQgLSBkaWUgU2VpdGVuLUlEIGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPg0KICAgICAgIDxsaT50aXRsZSAtIGRlciBTZWl0ZW50aXRlbCBkZXIgdW50ZXJnZW9yZG5ldGVuIFNlaXRlPC9saT4NCiAgICAgICA8bGk+bWVudXRleHQgLSBkZXIgTWVuJnV1bWw7dGV4dCBkZXIgdW50ZXJnZW9yZG5ldGVuIFNlaXRlPC9saT4NCiAgICAgICA8bGk+c2hvd19pbl9tZW51IC0gaXN0IGRpZSBVbnRlcnNlaXRlIGltIE1lbsO8IHNpY2h0YmFyLjwvbGk+DQogICAgICAgPGxpPmFjdGl2ZSAtIGlzdCBkaWUgVW50ZXJzZWl0ZSBha3Rpdi48L2xpPg0KICAgICAgIDxsaT50eXBlIC0gVHlwIGRlcyBDb250ZW50IEVsZW1lbnRzLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+DQomIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRDaGlsZHJlbigiIiwiIiwiY2hpbGRyZW4iKSYjMTI1Ow0Ke2lmIGNvdW50KCYjMDM2O2NoaWxkcmVuKSYjMTI1Ow0KICAge2ZvcmVhY2ggZnJvbT0mIzAzNjtjaGlsZHJlbiBpdGVtPSJjaGlsZCJ9DQogICAgICB7aWYgJiMwMzY7Y2hpbGQuc2hvd19pbl9tZW51fQ0KICAgICAgICBVbnRlcmdlb3JkbmV0ZSBTZWl0ZTogIGlkID0gJiMxMjM7JiMwMzY7Y2hpbGQuaWQmIzEyNTsgQWxpYXMgPSAmIzEyMzsmIzAzNjtjaGlsZC5hbGlhcyYjMTI1OzxiciAvPg0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0UGFnZUNvbnRlbnQ8L3N0cm9uZz4oJiMwMzY7YWxpYXMsWyYjMDM2O2Jsb2NrXSxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBJbmhhbHQgZWluZXMgZmVzdGdlbGVndGVuIENvbnRlbnQtQmxvY2tzIGVpbmVyIGFuZGVyZW4gU2VpdGUgenVyJnV1bWw7Y2suPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2FsaWFzIC0gRGVyIEFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gSW5oYWx0IHp1ciZ1dW1sO2NrIGdlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Jsb2NrXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVzIENvbnRlbnQtQmxvY2tzIGRlciBmZXN0Z2VsZWd0ZW4gU2VpdGUuIE9obmUgVm9yZ2FiZSB3aXJkIGRlciBXZXJ0IGF1cyAmIzAzOTtjb250ZW50X2VuJiMwMzk7IHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciB6d2VpdGUgSW5oYWx0IGRlciAnYWJvdXQnIFNlaXRlIGlzdCAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRQYWdlQ29udGVudCgnYWJvdXQnLCdzZWNvbmQnLCdmb28nKSYjMTI1OyYjMTIzO2V2YWwgdmFyPSRmb28mIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNGZXVHcm91cEFjY2Vzczwvc3Ryb25nPigmIzAzNjtmZXVncm91cHMsWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBlaW4gdHJ1ZS9mYWxzZSB6dXLDvGNrLCBvYiBkZXIgZWluZ2Vsb2dndGUgRnJvbnRFbmRVc2VyIEJlbnV0emVyIGVpbmVyIGRlciBhbmdlZ2ViZW5lbiBHcnVwcGVuIHp1Z2VvcmRuZXQgaXN0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2ZldWdyb3VwcyAtIElEcyBkZXIgQmVudXR6ZXJncnVwcGVuLiBNZWhyZXJlIEJlbnV0emVyZ3J1cHBlbiBzaW5kIG1pdCBlaW5lbSBLb21tYSB6dSB0cmVubmVuLiBaLkIuOiAxLDIsNDwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+JiMxMjM7aWYgJiMwMzY7dGJ0b29scy0+aGFzRmV1R3JvdXBBY2Nlc3MoIjEsMiwzKSYjMTI1O0JlbnV0emVyIGhhdCBkaWUgQmVyZWNodGlndW5nJiMxMjM7ZWxzZSYjMTI1O0RlciBCZW51dHplciBoYXQga2VpbmUgQmVyZWNodGlndW5nJiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmlzTG9nZ2VkSW48L3N0cm9uZz4oWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkaWUgQmVudXR6ZXItSUQgZGVzIGVpbmdlbG9nZ3RlbiBGcm9udEVuZFVzZXIgQmVudXR6ZXJzIHp1csO8Y2s8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT4mIzEyMztpZiAmIzAzNjt0YnRvb2xzLT5pc0xvZ2dlZEluKCkmIzEyNTtCZW51dHplciBpc3QgZWluZ2Vsb2dndCYjMTIzO2Vsc2UmIzEyNTtFcyBpc3Qga2VpbiBCZW51dHplciBlaW5nZWxvZ2d0JiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldFNpYmxpbmc8L3N0cm9uZz4oJiMwMzY7ZGlyZWN0aW9uLFsmIzAzNjthc3NpZ25dLFsmIzAzNjthbGlhc10pDQogICAgPHA+R2lidCBkZW4gU2VpdGVuLUFsaWFzIGRlciBuJmF1bWw7Y2hzdGVuIG9kZXIgdm9yaGVyZ2VoZW5kZW4gU2VpdGUgZGVyIGdsZWljaGVuIEViZW5lIGRlciB2b3JnZWdlYmVuZW4NCiAgICAgICBTZWl0ZSBhbi4gT2RlciBhdWNoIGZhbHNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4mIzAzNjtkaXJlY3Rpb24gLSBkaWUgUmljaHR1bmcsIGluIGRpZSBnZXNjaGF1dCB3ZXJkZW4gc29sbC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHByZXYscHJldmlvdXMsLTEsbmV4dCwxLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgQWxpYXMgZGVyIFNlaXRlLCBkZXNzZW4gU2VpdGVuIGRlciBnbGVpY2hlbiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbGVuLiBPaG5lIFZvcmdhYmUgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICAgICA8cHJlPkxpbmsgYXVmIGRpZSB2b3JoZXJpZ2UgU2VpdGU6ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KSYjMTI1OyYjMTIzO2lmICFlbXB0eSgmIzAzNjtwcmV2X3NpYmxpbmcpJiMxMjU7JiMxMjM7Y21zX3NlbGZsaW5rIHBhZ2U9JnF1b3Q7JiMwMzY7cHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDsmIzEyNTsmIzEyMzsvaWYmIzEyNTs8L3ByZT48YnIvPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldEFycmF5QXNUYWJsZTwvc3Ryb25nPigmIzAzNjthcnJheSkNCiAgICA8cD5HaWJ0IGVpbiBNdWx0aWRpbWVuc2lvbmFsZXMgQXJyYXkgYWxzIFRhYmVsbGUgenVyw7xjazwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4mIzAzNjthcnJheSAtIGRhcyBBcnJheSB3ZWxjaGVzIGFscyBUYWJlbGxlIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPiYjMTIzOyYjMDM2O3RidG9vbHMtPmdldEFycmF5QXNUYWJsZSgmIzAzNjthcnJheSkmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQoNCg0KDQo8L3VsPg0KPC9kaXY+DQoNCjxkaXYgaWQ9Im1vZGlmaWVyX2MiPg0KDQo8aDM+U21hcnR5IE1vZGlmaWVydDwvaDM+DQo8dWw+DQo8bGk+PHN0cm9uZz50YlRydW5jYXRlQmV0dGVyPC9zdHJvbmc+KCYjMDM2O3N0cmluZywgJiMwMzY7bGVuZ3RoID0gODAsICYjMDM2O2V0YyA9ICcuLi4nLCAmIzAzNjtsaW5rID0gJycsICYjMDM2O2xpbmtfdGV4dCA9ICcnKSkNCiAgICA8cD5Lw7xyenQgZWluZW4gVGV4dCB1bmQgc2NobGllc3N0IGRpZSBhYmdlc2Nobml0dGVuZW4gVGFncyBrb3JyZWt0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O3N0cmluZyAtIFRleHQgZGVyIGdla8O8cnp0IHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPiYjMDM2O2xlbmdodCAtIChvcHRpb25hbCwgODAgU3RhbmRhcmQpIEFuemFobCBaZWljaGVuIG5hY2ggd2VsY2hlciBkZXIgVGV4dCBnZWvDvHJ6dCB3aXJkLjwvbGk+DQogICAgICAgPGxpPiYjMDM2O2V0YyAtIChvcHRpb25hbCwgLi4uIFN0YW5kYXJkKSBaZWljaGVuIGRhcyBhbiBkZW4gU2NobHVzcyBkZXMgZ2Vrw7xyenRlbiBUZXh0cyBnZXNldHp0IHdpcmQuPC9saT4NCiAgICAgICA8bGk+JiMwMzY7bGluayAtIChvcHRpb25hbCkgTGluayBVUkw8L2xpPg0KICAgICAgIDxsaT4mIzAzNjtsaW5rX3RleHQgLSAob3B0aW9uYWwpIFRleHQgZGVyIHp1bSBMaW5rIGFuZ2V6ZWlndCB3aXJkLiBEZXIgTGluayB3aXJkIGFuIGRlbiBTY2hsdXNzIGRlcyBnZWvDvHJ6dGVuIFRleHRlcyBnZXNldHp0PC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICBEaWUgYmVpZGVuIHZlcndlbmRldGVuIFBhcmFtZXRlciAmIzAzNjtlbnRyeS0+Y29udGVudCB1bmQgJiMwMzY7ZW50cnktPm1vcmVsaW5rIG3DvHNzZW4gbmF0w7xybGljaCBtaXQgZGVuIHJlYWwgZXhpc3RpZXJlbmRlbiBQYXJhbWV0ZXJuIGVyc2V0enQgd2VyZGVuDQogICAgPGJyIC8+DQogICAgPHByZT4mIzEyMzsmIzAzNjtlbnRyeS0+Y29udGVudHx0YlRydW5jYXRlQmV0dGVyOjEwMDonIC4uLic6JiMwMzY7ZW50cnktPm1vcmVsaW5rOidbd2VpdGVybGVzZW5dJyYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCg0KPC91bD4NCg0KPC9kaXY+DQoNCjxkaXYgaWQ9Im1vYmlsZWRldGVjdF9jIj4NCg0KPGgzPk1vYmlsZSBEZXRlY3Q8L2gzPg0KDQo8cD48YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLW1vYmlsZS1kZXRlY3Qvd2lraS9Nb2JpbGVfRGV0ZWN0IiB0YXJnZXQ9Il9ibGFuayI+TW9iaWxlX0RldGVjdDwvYT4NCiBpc3QgZWluZSBrbGVpbmUgUEhQIEtsYXNzZSB1bSBtb2JpbGUgR2Vyw6R0ZSB6dSBpZGVudGlmaXppZXJlbi4gRXMgbnV0enQgZGVuIFVzZXItQWdlbnQgVGV4dCBrb21iaW5pZXJ0IG1pdCANCiBzcGV6aWZpc2NoZW4gSFRUUCBIZWFkZXJzIHVtIGRpZSBtb2JpbGVuIEdlcsOkdGUgenUgaWRlbnRpZml6aWVyZW4uPC9wPg0KIA0KIDxoND5OdXR6dW5nPC9oND4NCiA8cD48aT5BdWYgZWluZSBkZWZpbmllcnRlIFBsYXRmb3JtIHByw7xmZW46PC9wPg0KPHA+PHByZT4NCntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNpT1MoKSB9IA0KICAvLyBEYXRlbiBmw7xyIEFwcGxlIGlPUyBQbGF0Zm9ybSBhbnplaWdlbi4gDQp7L2lmfSANCiA8L3ByZT4gPC9wPg0KPHA+PHByZT4NCntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNBbmRyb2lkT1MoKSB9IA0KICAvLyBEYXRlbiBmw7xyIEdvb2dsZSBBbmRyb2lkIFBsYXRmb3JtIGFuemVpZ2VuLiANCnsvaWZ9DQo8L3ByZT48L3A+DQoNCiA8cD5XZWl0ZXJlIE1ldGhvZGVuIHNpbmQgIGlzSXBob25lKCksIGlzSXBhZCgpLCBpc0JsYWNrQmVycnkoKSwgaXNLaW5kbGUoKSwgaXNPcGVyYSgpLCBldGMuIEVpbmUgdm9sbHN0w6RuZGlnZSBMaXN0ZSBhbGxlciB2ZXJmw7xnYmFyZW4gTWV0aG9kZW4gPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BocC1tb2JpbGUtZGV0ZWN0L3dpa2kvTW9iaWxlX0RldGVjdCIgdGFyZ2V0PV9ibGFuayI+aXN0IGltIFdpa2kgdmVyZsO8Z2Jhci48L2E+PC9wPg0KDQo8cD5BbHRlcm5hdGl2IGthbm4gbmF0w7xybGljaCBhdWNoIGVpbmZhY2ggZ2VwcsO8ZnQgd2VyZGVuIG9iIGVpbiBCZXN1Y2hlciBtaXQgZWluZW0gbW9iaWxlbiBHZXLDpHQgYXVmIGRpZSBXZWJzZWl0ZSB6dWdyZWlmdCBvaG5lIGVpbmUgYmVzdGltbXRlIFBsYXRmb3JtIHp1IGlkZW50aWZpemllcmVuOjwvcD4NCjxwPjxwcmU+DQp7aWYgKCYjMDM2O3RibW9iaWxlLT5pc01vYmlsZSgpKX0NCiAgLy8gYWxsZSBtb2JpbGVuIFBsYXR0Zm9ybWVuDQp7L2lmfQ0KPC9wcmU+PC9wPg0KPHA+PHByZT4NCntpZigmIzAzNjt0Ym1vYmlsZS0+aXNUYWJsZXQoKSl9DQogIC8vIGFsbGUgVGFibGV0cw0Key9pZn0NCjwvcHJlPjwvcD4NCg0KDQoJDQo8L2Rpdj4NCg0KPGRpdiBpZD0icGx1Z2luc19jIj4NCg0KPGgzPlBsdWdpbnM8L2gzPg0KPHA+PGI+QWxsZ2VtZWluZSBQbHVnaW5zPC9iPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCg0KIDxsaT48c3Ryb25nPnt0YlNlc3Npb25TZXR9PC9zdHJvbmc+DQogICAgPHA+RWluIFNtYXJ0eS1QbHVnaW4sIG1pdCBkZW0gRGF0ZW4gaW4gZGVyIFVzZXItU2Vzc2lvbiBnZXNwZWljaGVydCB3ZXJkZW4gayZvdW1sO25uZW4uIEF1ZiBkaWVzZSBEYXRlbiBrYW5uIGF1ZiBkZW4gZW50c3ByZWNoZW5kZW4gU2VpdGVuIGRhbm4gJnV1bWw7YmVyIGRhcyBBcnJheSAmIzAzNjtzbWFydHkuc2Vzc2lvbi5uYW1lX2Rlcl92YXJpYWJsZW4genVnZWdyaWZmZW4gd2VyZGVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6PC9wPg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlbiwgZGllIGluIGRlciBTZXNzaW9uIGVyemV1Z3Qgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+dmFsdWUgLSBEZXIgZW50c3ByZWNoZW5kZSBXZXJ0IGRpZXNlciBWYXJpYWJsZW4uPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+e3RiU2Vzc2lvblNldCBuYW1lPSZxdW90O3Rlc3QmcXVvdDsgdmFsdWU9JnF1b3Q7YmxhaCZxdW90O308L3ByZT48L3A+DQogPC9saT4NCg0KIA0KIA0KICA8bGk+PHN0cm9uZz4mIzEyMzt0YlNlc3Npb25VbnNldCYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPkVpbiBTbWFydHktUGx1Z2luLCBtaXQgZGVtIERhdGVuIGF1cyBlaW5lciBVc2VyLVNlc3Npb24gZ2VsJm91bWw7c2NodCB3ZXJkZW4gayZvdW1sO25uZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm5hbWUgLSBOYW1lIGRlciBWYXJpYWJsZSwgZGllIGluIGRlciBTZXNzaW9uIGdlbCZvdW1sO3NjaHQgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJTZXNzaW9uVW5zZXQgbmFtZT0mcXVvdDt0ZXN0JnF1b3Q7JiMxMjU7PC9wcmU+PC9wPg0KIDwvbGk+DQogDQogPGxpPjxzdHJvbmc+JiMxMjM7dGJWYXJFeHBvcnQmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGVpbiBBcnJheSB6dSBEZWJ1Z2dpbmd6d2Vja2VuIHp1bSBFeHBvcnQgdm9yYmVyZWl0ZXQgd2VyZGVuLiBEZXIgZ2VuZXJpZXJ0ZSBUZXh0IGlzdCBzZXJpYWxpemVkIHVuZCBrYW5uIHVuYWJow6RuZ2lnIHZvbiBkZXIgVW1nZWJ1bmcgYW4gZWluZW0gYW5kZXJlbiBPcnQgd2llZGVyIGVpbmdlZsO8Z3QgdW5kIHZlcmFyYmVpdGV0IHdlcmRlbi48YnIgLz4NCiAgICBWb3J0ZWlsIGRpZXNlciBNZXRob2RlIGlzdCwgZGFzcyBlaW4gUHJvYmxlbSBpbmtsLiBkZXIgdmVyd2VuZGV0ZW4gRGF0ZW4gYW4gZWluZW0gYW5kZXJlbiBPcnQgbmFjaHZvbGx6b2dlbiB3ZXJkZW4ga2Fubiwgb2huZSBkYXNzIGRpZSBnZXNhbXRlIFVtZ2VidW5nIG5hY2hnZWJhdXQgd2VyZGVuIG11c3MuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm5hbWUgLSBOYW1lIGRlciBWYXJpYWJsZSwgd2VsY2hlIGV4cG9ydGllcnQgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJWYXJFeHBvcnQgbmFtZT0mcXVvdDtpdGVtcyZxdW90OyYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPg0KIDwvdWw+DQogDQogPHA+PGI+VG9vbEJveCBGdW5rdGlvbmFsaXTDpHRlbjwvYj48L3A+DQogPHA+Jm5ic3A7PC9wPg0KIDx1bD4NCiA8bGk+PHN0cm9uZz4mIzEyMzt0YldyaXRlTG9nJiMxMjU7PC9zdHJvbmc+DQogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga2FubiBpbiBlaW5lbSBUZW1wbGF0ZSBvZGVyIGF1ZiBlaW5lciBTZWl0ZSBlaW4gU3RyaW5nLCBlaW4gQXJyYXkgb2RlciBlaW4gT2JqZWt0IGlucyB0YWlsLUxvZyBkZXIgVG9vbEJveCBnZXNjaHJpZWJlbiB3ZXJkZW4uIERpZXNlcyBQbHVnaW4gaXN0IGbDvHIgRGVidWdnaW5nIFp3ZWNrZSBvZGVyIHp1bSBNaXRsb2dnZW4gdmVyc2NoaWVkZW5lciBBa3Rpb25lbiBpbnRlcmVzc2FudC4gPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmxvZyAtIFRleHQgZGVyIGlucyBMb2dmaWxlIGdlc2NocmllYmVuIHdlcmRlbiBzb2xsIChrYW5uIGVpbiBTdHJpbmcsIGVpbiBBcnJheSBvZGVyIGVpbiBPYmpla3Qgc2VpbikuPC9saT4NCiAgICAgICA8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBOYW1lIGRlcyBMb2dmaWxlcyBpbiB3ZWxjaGVzIGRlciBUZXh0IGdlc2NocmllYmVuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICA8cHJlPiYjMTIzO3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2ciJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KIDwvbGk+IA0KIDwvdWw+DQogDQogDQogPHA+PGI+UGx1Z2lucyBmw7xyIEFkdmFuY2VkQ29udGVudDwvYj48L3A+DQogPHA+Jm5ic3A7PC9wPg0KIDx1bD4NCiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGRpZSBnZXNhbXRlIFNlaXRlbi1IaWVyYXJjaGllIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrYW5uIGluIEFDIGVpbiBEcm9wZG93biBGZWxkIG1pdCBhbGxlbiBTZWl0ZW4gYXVzZ2VnZWJlbiB3ZXJkZW4uIDwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+W2RlbGltaXRlcl0gLSAob3B0aW9uYWwpIFRyZW5uemVpY2hlbiB6d2lzY2hlbiBkZW4gRWludHLDpGdlbi4gU3RhbmRhcmQ6IHwuPC9saT4NCiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIG1pdCBvdXRwdXQ9ImlkIiB3ZXJkZW4gYWxsZSBDb250ZW50LUlEcyBhdXNnZWdlYmVuLiBBbnNvbnN0ZW4gd2lyZCBkZXIgTWVuw7x0ZXh0IGF1c2dlZ2ViZW4uPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRQYWdlSGllcmFyY2h5IG91dHB1dD0iaWQiJiMxMjU7PC9wcmU+PGJyIC8+DQogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgbGFiZWw9IlNlaXRlIiBibG9ja190eXBlPSJkcm9wZG93biIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRQYWdlSGllcmFyY2h5Ojo6IiB2YWx1ZXM9Ijo6OnRiR2V0UGFnZUhpZXJhcmNoeSBvdXRwdXQ9J2lkJzo6OiIgc21hcnR5PWJhY2tlbmQgJiMxMjU7PC9wcmU+PC9wPg0KIDwvbGk+IA0KIA0KICA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9zdHJvbmc+DQogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIE5ld3NrYXRlZ29yaWVuIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGluIGVpbmVtIE11bHRpcGxlIFNlbGVjdCBGZWxkIGRpZSBnZXfDvG5zY2h0ZW4gTmV3c2thdGVnb3JpZW4gZ2V3w6RobHQgd2VyZGVuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgVHJlbm56ZWljaGVuIHp3aXNjaGVuIGRlbiBFaW50csOkZ2VuLiBTdGFuZGFyZDogfC48L2xpPg0KICAgICAgIDxsaT5bb3V0cHV0XSAtIChvcHRpb25hbCkgbWl0IG91dHB1dD0iaWQiIHdlcmRlbiBhbGxlIENvbnRlbnQtSURzIGF1c2dlZ2ViZW4uIEFuc29uc3RlbiB3aXJkIGRlciBNZW7DvHRleHQgYXVzZ2VnZWJlbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9wcmU+PGJyIC8+DQogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgYmxvY2s9Im5ld3MiIGxhYmVsPSJOZXdzIEthdGVnb3JpZW4uIiBibG9ja190eXBlPSJzZWxlY3RfbXVsdGlwbGUiIG5vX2NvbGxhcHNlPXRydWUgaXRlbXM9Ijo6OnRiR2V0TmV3c0NhdGVnb3JpZXM6OjoiIHNtYXJ0eT1iYWNrZW5kICYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPiANCiANCiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFVzZXJHcm91cHMmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrw7ZubmVuIGFsbGUgTmV3c2thdGVnb3JpZW4gYXVzZ2VnZWJlbiB3ZXJkZW4uIFByYWt0aXNjaCBpc3QgZGVyIEVpbnNhdHogZGllc2VzIFBsdWdpbiBpbiBWZXJiaW5kdW5nIG1pdCBBZHZhbmNlZENvbnRlbnQuIFNvIGvDtm5uZW4gaW4gZWluZW0gTXVsdGlwbGUgU2VsZWN0IEZlbGQgZGllIGdld8O8bnNjaHRlbiBOZXdza2F0ZWdvcmllbiBnZXfDpGhsdCB3ZXJkZW48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+W2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPltncm91cHNfb25seV0gLSAob3B0aW9uYWwpIFplaWd0IG51ciBkaWUgQmVudXR6ZXJncnVwcGVuIChlaW56ZWxuZSBCZW51dHplciB3ZXJkZW4gbmljaHQgYW5nZXplaWd0KTwvbGk+DQogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBUcmVubnplaWNoZW4gendpc2NoZW4gZGVuIEVpbnRyw6RnZW4uIFN0YW5kYXJkOiB8LjwvbGk+DQogICAgICAgPGxpPltvdXRwdXRdIC0gKG9wdGlvbmFsKSBtaXQgb3V0cHV0PSJpZCIgd2VyZGVuIGFsbGUgQ29udGVudC1JRHMgYXVzZ2VnZWJlbi4gQW5zb25zdGVuIHdpcmQgZGVyIE1lbsO8dGV4dCBhdXNnZWdlYmVuLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICA8cHJlPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJlZGl0b3JzIiBsYWJlbD0iQmVudXR6ZXIgd2VsY2hlIGRpZXNlIFNlaXRlbiBiZWFyYmVpdGVuIGTDvHJmZW4iIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWU6OjoiIHZhbHVlcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWUgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT1iYWNrZW5kICYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPiAgDQogDQogIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0R2FsbGVyeVRyZWUmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrw7ZubmVuIGFsbGUgR2FsbGVyeSBPcmRuZXIgKE1vZHVsIEdhbGxlcnkpIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGRpZSBHYWxsZXJ5cyBpbiBlaW5lbSBEcm9wZG93biBGZWxkIGF1c2dlZ2ViZW4gd2VyZGVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bc3ViZGlyXSAtIChvcHRpb25hbCkgVW50ZXJvcmRuZXIgZGVyIEdhbGxlcnkgYWIgd2VsY2hlbSBhbGxlciBlbnRoYWx0ZW5lbiBPcmRuZXIgYXVmZ2VsaXN0ZXQgd2VyZGVuIHNvbGxlbiAuPC9saT4NCiAgICAgICA8bGk+W2FjdGlvbl0gLSAob3B0aW9uYWwpIDx1bD4NCiAgICAgICAJCQkJCQkJCTxsaT5hY3Rpb249InVybCIgLT4gUGZhZCB6dW0gT3JkbmVyPC9saT4NCiAgICAgICAJCQkJCQkJCTxsaT4gYWN0aW9uID0gIiIgLT4gUGZhZCBkZXMgT3JkbmVycyBpbmtsLiBCaWxkYW56YWhsPC9saT4NCiAgICAgICAJCQkJCQkJPC91bD4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJnYWxsZXJ5IiBsYWJlbD0iR2FsbGVyeSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIGFsbG93X25vbmU9dHJ1ZSBpdGVtcz0iS2VpbmUgR2FsbGVyeXw6Ojp0YkdldEdhbGxlcnlUcmVlIDo6OiIgdmFsdWVzPSJ8Ojo6dGJHZXRHYWxsZXJ5VHJlZSBhY3Rpb249J3VybCc6OjoiIHNtYXJ0eT1iYWNrZW5kIGFzc2lnbj0iYnRHYWxsZXJ5UGF0aCIgbm9fY29sbGFwc2U9dHJ1ZSAmIzEyNTs8L3ByZT48L3A+DQogICAgDQogPC9saT4gIA0KIA0KPC91bD4NCiAgDQoNCg0KICANCiAgPC9kaXY+DQo8L2Rpdj4NCjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gRGllc2VyIFBhcmFtZXRlciBsZWd0IGRpZSBTcHJhY2hlIGZlc3QsIGRpZSB2b20gTW9kdWwgZiZ1dW1sO3IgZGllIEF1c2dhYmUgYXVmIGRlciBXZWJzZWl0ZSB2ZXJ3ZW5kZXQgd2lyZC4gRGllcyB3aXJkIGplZG9jaCBuaWNodCB2b24gYWxsZW4gTW9kdWxlbiB1bnRlcnN0JnV1bWw7dHp0IGJ6dy4gYmVuJm91bWw7dGlndC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG1vZD0iIiAtIFRvb2xib3ggTW9kdWwgRWxlbWVudCwgQmVpc3BpZWw6IG1vZD0ic29jaWFsc2hhcmVwcml2YWN5IiBmw7xyIGRhcyBTb2NpYWxTaGFyZVByaXZheSBFbGVtZW50PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIE5hbWUgZGVzIFRlbXBsYXRlcyB3ZWxjaGVzIHZlcndlbmRldCB3aXJkLiBEaWVzZXMgVGVtcGxhdGUgbXVzcyBleGlzdGllcmVuIGltIFJlaXRlciBkZXMgdmVyd2VuZGV0ZW4gVG9vbGJveCBNb2R1bHMgc2ljaHRiYXIgc2Vpbi4gT2huZSBkaWVzZW4gUGFyYW1ldGVyIHdpcmQgZGFzIGFscyBTdGFuZGFyZC1UZW1wbGF0ZSBkZWZpbmllcnRlIFRlbXBsYXRlIHZlcndlbmRldC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRldGFpbHRlbXBsYXRlPSIiIC0gRGV0YWlsdGVtcGxhdGU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbGU9IiIgLSBEYXRlaTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGVsaW1pdGVyPSIiIC0gRGVsaW1pdGVyIChUcmVubnplaWNoZW4pPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWxlY2hhcnNldD0iIiAtIFplaWNoZW5zYXR6IChjaGFyc2V0KSBkZXIgRGF0ZWk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iIiAtIEFjdGlvbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydGJ5PSIiIC0gU29ydGllcmVuIG5hY2g8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRvcmRlcj0iIiAtIFNvcnRpZXJyZWloZW5mb2xnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdXNlcm5hbWU9IiIgLSBCZW51dHplcm5hbWU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxpc3Q9IiIgLSBOYW1lIGRlciBMaXN0ZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNoPSIiIC0gU3VjaGJlZ3JpZmY8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNvdW50PSIiIC0gQW56YWhsIERhdGVuc8OkdHplIGRpZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGxlbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGF0ZWZvcm1hdD0iIiAtIERhdHVtc2Zvcm1hdCBpbiBkZXIgRm9ybSBkLW0tWSBIOmk6czwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2FjaGV0aW1lPSIiIC0gWmVpdCBpbiBNaW51dGVuIGluIGRlbmVuIGRhcyBSZXN1bHRhdCBpbSBDYWNoZSBnZXNwZWljaGVydCBibGVpYnQuIFN0YW5kYXJkIGlzdCAxMCBNaW51dGVuICgxMCkuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBBbmRpIFBldHpvbGR0IC8gTHVrYXMgQmxhdHRlciAmbHQ7YW5kaUBwZXR6b2xkdC5uZXQgLyBsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPg0KPGxpPjEuMi41IC0gMTAuMDguMjAxMjxiciAvPg0KVHdpdHRlcmZlZWQgaGluenVnZWbDvGd0PGJyIC8+DQpTbWFydHkga2FubiBudW4gaW4gU3R5bGVzaGVldHMgdW5kIEphdmFzY3JpcHRzIGdlbnV0enQgd2VyZGVuOiB6LkIuIFtbcm9vdF91cmxdXTxiciAvPiANCkZlaGxlcmJlaGVidW5nIEF1dG9MaWdodEJveDxiciAvPg0KSW5rb21wYXRpYmlsaXTDpHQgendpc2NoZW4gQXV0b0xpZ2h0Qm94IHVuZCBTb2NpYWxTaGFyZVByaXZhY3kgYmVob2JlbjxiciAvPg0KSmF2YXNjcmlwdCBrYW5uIG51biBhdWNoIGltIEZvb3RlciBlaW5nZWxlc2VuIHdlcmRlbjxiciAvPg0KRGFyc3RlbGx1bmcgdW5kIEdydXBwaWVydW5nIGRlciBFaW5zdGVsbHVuZ2VuIMO8YmVyYXJiZWl0ZXQgDQo8L2xpPg0KPGxpPjEuMi40IC0gMjAuMDcuMjAxMjxiciAvPg0KQWRkIEF1dG9MaWdodEJveCB0ZW1wbGF0ZSBtYW5hZ2VtZW50IA0KPC9saT4NCjxsaT4xLjIuMyAtIDI2LjA2LjIwMTI8YnIgLz4NCkJ1Z2ZpeGVzIGluIEF1dG9MaWdodEJveA0KPC9saT4NCjxsaT4xLjIuMjxiciAvPg0KTWlub3IgQnVnZml4ZXMNCjwvbGk+DQo8bGk+MS4yLjE8YnIgLz4NCk1pbm9yIEJ1Z2ZpeGVzPC9saT4NCg0KPGxpPjEuMi4wPGJyIC8+DQpBZGRlZCBBdXRvTGlnaHRCb3g8YnIgLz4NCkFkZGVkIHRlbXBsYXRlIGltcG9ydA0KPC9saT4NCg0KPGxpPjEuMS4xPGJyIC8+DQptaW5vciBidWdmaXhlczxiciAvPg0KdXBkYXRlIFNvY2lhbFNoYXJlUHJpdmFjeSAxLjQNCjwvbGk+DQoNCjxsaT4xLjEuMDxiciAvPg0KQWRkZWQgU21hcnR5IHBsdWdpbiAkdGJ0b29scy4gVGhpcyBlbmFibGVzIHlvdSB0byB1c2UgZGlmZmVyZW50IGZ1bmN0aW9ucyB0byBtb2RpZnkgY29udGVudC48YnIgLz4NCkFkZGVkIGRpZmZlcmVudCBwbHVnaW5zLjxiciAvPg0KQWRkZWQgcGx1Z2luIHRvIGV4dGVuZCBBZHZhbmNlZENvbnRlbnQ8YnIgLz4NCkFkZGVkIHBsdWdpbiB0byBzaG93IFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPGJyIC8+DQpBZGRlZCBhIFRhaWwtTG9nIFRhYjxiciAvPg0KTW9kdWxlIGhlbHAgaXMgbm93IG11Y2ggYmlnZ2VyIDopPGJyIC8+DQpUb29sQm94IGNhbGwgaXMgbm93IHBvc3NpYmxlIHdpdGgge1Rvb2xCb3h9DQo8L2xpPg0KDQo8bGk+MS4wLjEgLSBEZXplbWJlciAyMDExPC9saT4NCjxwPktsZWluZXJlIEZlaGxlci1CZXNlaXRpZ3VuZ2VuLjwvcD48L2xpPg0KPGxpPjEuMCAtIERlemVtYmVyIDIwMTENCjxwPkVyc3RlcyBSZWxlYXNlIGRlcyBNb2R1bHMgVG9vbEJveC48L3A+PC9saT4NCjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[Dieses Modul ist eine Sammlung von nützlichen Tools: AutoLightBox, SocialSharePrivacy, Twitterfeed , Smarty-Tools, 301-Weiterleitungen, 404-Fehlertracking]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_404ignore.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ2lfaWdub3JlJ10pKSB7ICRpX2l1cmwgPSBpc3NldCgkcGFyYW1zWydpX2l1cmwnXSkgPyB0cmltKHVybGRlY29kZSgkcGFyYW1zWydpX2l1cmwnXSkpIDogJyc7IH0NCmVsc2UgeyAkaV9pdXJsID0gaXNzZXQoJHBhcmFtc1snaV9pdXJsJ10pID8gdHJpbSgkcGFyYW1zWydpX2l1cmwnXSkgOiAnJzsgfQ0KJGlfaXJlZ2V4cCA9ICRwYXJhbXNbJ2lfaXJlZ2V4cCddID8gMSA6IDA7DQokaWRzID0gJHBhcmFtc1snaWRzJ10gPyBleHBsb2RlKCcsJywkcGFyYW1zWydpZHMnXSkgOiBhcnJheSgpOw0KDQovLyBTYXZlIGlnbm9yZSBydWxlIGNoYW5nZXMNCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snaV9pZ25vcmUnXSkpIHsNCgkvLyBTZXQgbmVlZGVkIG9iamVjdHMNCgkkdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQoJLy8gRWRpdCBpZ25vcmUgcnVsZXMNCglpZiAoJGlkcykgew0KCQlmb3JlYWNoICgkaWRzIGFzICRpaWQpIHsNCgkJCSRpdXJsID0gaXNzZXQoJHBhcmFtc1snaV9pdXJsJy4kaWlkXSkgPyB0cmltKCRwYXJhbXNbJ2lfaXVybCcuJGlpZF0pIDogJyc7DQoJCQkkaXJlZ2V4cCA9ICRwYXJhbXNbJ2lfaXJlZ2V4cCcuJGlpZF0gPyAxIDogMDsNCgkJCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlIFNFVCBpdXJsPT8sIGlyZWdleHA9PywgbW9kaWZpZWRfZGF0ZT1OT1coKSBXSEVSRSBpZD0/JzsNCgkJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRpdXJsLCAkaXJlZ2V4cCwgJGlpZCkpOw0KCQl9DQoJfQ0KCS8vIEluc2VydCBuZXcgaWdub3JlIHJ1bGUNCglpZiAoJGlfaXVybCkgew0KCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlIChpdXJsLCBpcmVnZXhwLCBjcmVhdGVkX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPywgPywgTk9XKCksIE5PVygpKSc7DQoJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRpX2l1cmwsICRpX2lyZWdleHApKTsNCgl9DQoJaWYgKGlzc2V0KCRwYXJhbXNbJ2lfaWdub3JlJ10pKSB7DQoJCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBXSEVSRSB0b3VybD0/JzsNCgkJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGlfaXVybCkpOw0KCX0NCn0NCg0KLy8gUmVkaXJlY3QNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/action.admin_autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsNCg0KJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7DQoNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfcmVsJywkcGFyYW1zWydyZWwnXSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJywkcGFyYW1zWydjbGFzcyddKTsNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9saWdodGJveCcsKGludCl0cmltKCRwYXJhbXNbJ2xpZ2h0Ym94J10pKTsNCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFiX21lc3NhZ2UnPT4gJ21zZ19zYXZlcHJlZicsICd0YWJ0byc9PiR0YWJ0byApKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsNCiR0dGFidG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndHRhYnRvJ10pOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snZm9ybXNlY3Rpb24nXSkpIHsNCgkNCglpZiAoJHBhcmFtc1snZm9ybXNlY3Rpb24nXSA9PSAiYWxsZ2VtZWluIikgew0KCQlpZiAoaXNzZXQoJHBhcmFtc1sncmVzZXRidXR0b24nXSkgKSB7CQ0KCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9kZWxpbWl0ZXIiLCI7Iik7DQoJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2ZpbGVjaGFyc2V0IiwiaXNvLTg4NTktMSIpOw0KCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9jbXNjaGFyc2V0IiwiVVRGLTgiKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgYXJyYXkoICd0YWJfbWVzc2FnZSc9PiAnbXNnX3Jlc2V0cHJlZicsICdzdWNlc3MnID0+ICd0cnVlJywgJ3RhYnRvJz0+JHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvICkpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCSRmaWxlY2hhcnNldCA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aXy1dLycsJycsJHBhcmFtc1snZmlsZWNoYXJzZXQnXSk7DQoJCSRjbXNjaGFyc2V0ID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfLV0vJywnJywkcGFyYW1zWydjbXNjaGFyc2V0J10pOw0KCQkNCgkJDQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIiwkcGFyYW1zWydkZWxpbWl0ZXInXSk7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZmlsZWNoYXJzZXQiLCRmaWxlY2hhcnNldCk7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfY21zY2hhcnNldCIsJGNtc2NoYXJzZXQpOw0KCQkNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nPT4kdHRhYnRvLCAndGFiX21lc3NhZ2UnPT4gJ21zZ19zYXZlcHJlZicgKSk7DQoJCXJldHVybjsNCgl9DQoJDQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nPT4kdHRhYnRvICApKTsNCglyZXR1cm47DQoJDQp9DQoNCg0KJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IHN0cl9yZXBsYWNlKCJbcGFyYW1dIiwgImZvcm1zZWN0aW9uIiwkdGhpcy0+TGFuZygncGFyYW1fZW1wdHknKSksICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJz0+JHR0YWJ0byApOw0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOw0KcmV0dXJuOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_deletedebug.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJGRlYnVnID0gKGludCkkcGFyYW1zWydkZWJ1ZyddOw0KDQovLyBEZWxldGUgdGhlIGRvbWFpbg0KaWYgKCRkZWJ1Zykgew0KCS8vIEdldCBkYiBpbnN0YW5jZQ0KCSR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkvLyBEZWxldGUgdGhlIGRvbWFpbg0KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFdIRVJFIGlkPT8nOw0KCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRkZWJ1ZykpOw0KfQ0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deletedebugs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KDQovLyBHZXQgZGIgaW5zdGFuY2UNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCi8vIERlbGV0ZSB0aGUgZGVidWcNCiRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnJzsNCiRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCkpOw0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteerror.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJGVycm9yID0gKGludCkkcGFyYW1zWydlcnJvciddOw0KDQovLyBEZWxldGUgdGhlIGRvbWFpbg0KaWYgKCRlcnJvcikgew0KCS8vIEdldCBkYiBpbnN0YW5jZQ0KCSR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkvLyBEZWxldGUgdGhlIGRvbWFpbg0KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBXSEVSRSBpZD0/JzsNCgkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkZXJyb3IpKTsNCn0NCg0KLy8gUmVkaXJlY3QNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteerrors.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KDQovLyBHZXQgZGIgaW5zdGFuY2UNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCi8vIERlbGV0ZSB0aGUgZG9tYWluDQokc3FsID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMnOw0KJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoKSk7DQoNCi8vIFJlZGlyZWN0DQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gKSk7DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteignoreerror.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJGllcnJvciA9IChpbnQpJHBhcmFtc1snaWVycm9yJ107DQoNCi8vIERlbGV0ZSB0aGUgZG9tYWluDQppZiAoJGllcnJvcikgew0KCS8vIEdldCBkYiBpbnN0YW5jZQ0KCSR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkvLyBEZWxldGUgdGhlIGRvbWFpbg0KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9yc19pZ25vcmUgV0hFUkUgaWQ9Pyc7DQoJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGllcnJvcikpOw0KfQ0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteredirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJHJlZGlyZWN0ID0gKGludCkkcGFyYW1zWydyZWRpcmVjdCddOw0KDQovLyBEZWxldGUgdGhlIHJlZGlyZWN0IHVybA0KaWYgKCRyZWRpcmVjdCkgew0KCS8vIEdldCBkYiBpbnN0YW5jZQ0KCSR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkvLyBEZWxldGUgdGhlIHJlZGlyZWN0IHVybA0KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFdIRVJFIGlkPT8nOw0KCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRyZWRpcmVjdCkpOw0KfQ0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_editredirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJGVyZWRpcmVjdCA9IGFycmF5KCk7DQokZXJlZGlyZWN0WydpZCddID0gKGludCkkcGFyYW1zWydyZWRpcmVjdCddOw0KJGVyZWRpcmVjdFsndXJsJ10gPSB0cmltKCRwYXJhbXNbJ3VybCddKTsNCmlmICghcHJlZ19tYXRjaCgnL1x3KzpcL1wvLycsJGVyZWRpcmVjdFsndXJsJ10pKSAkZXJlZGlyZWN0Wyd1cmwnXSA9ICdodHRwOi8vJy4kZXJlZGlyZWN0Wyd1cmwnXTsNCiRlcmVkaXJlY3RbJ3BhZ2UnXSA9IHByZWdfcmVwbGFjZSgnL1teMC05XS8nLCcnLCRwYXJhbXNbJ3BhZ2UnXSk7DQokZXJlZGlyZWN0Wyd0b3VybCddID0gdHJpbSgkcGFyYW1zWyd0b3VybCddKTsNCiRlcmVkaXJlY3RbJ3JlZ2V4cCddID0gJHBhcmFtc1sncmVnZXhwJ10gPyAxIDogMDsNCiRlcmVkaXJlY3RbJ2FjdGl2ZSddID0gJHBhcmFtc1snYWN0aXZlJ10gPyAxIDogMDsNCiRlcmVkaXJlY3RbJ25vdGVzJ10gPSAkcGFyYW1zWydub3RlcyddOw0KDQovLyBTYXZlIHJlZGlyZWN0IGNoYW5nZXMNCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snY2FjaGUnXSkgfHwgaXNzZXQoJHBhcmFtc1snYWRkJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ2NhY2hlYWRkJ10pKSB7DQoJLy8gU2V0IG5lZWRlZCBvYmplY3RzDQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOw0KCS8vIEVkaXQgZG9tYWluDQoJaWYgKCRlcmVkaXJlY3RbJ2lkJ10pIHsNCgkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFNFVCBwYWdlX2lkPT8sIHRvdXJsPT8sIHVybD0/LCB1cmxfcmVnZXhwPT8sIGFjdGl2ZT0/LCBub3Rlcz0/LCBtb2RpZmllZF9kYXRlPU5PVygpIFdIRVJFIGlkPT8nOw0KCQkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkZXJlZGlyZWN0WydwYWdlJ10sICRlcmVkaXJlY3RbJ3RvdXJsJ10sICRlcmVkaXJlY3RbJ3VybCddLCAkZXJlZGlyZWN0WydyZWdleHAnXSwgJGVyZWRpcmVjdFsnYWN0aXZlJ10sICRlcmVkaXJlY3RbJ25vdGVzJ10sICRlcmVkaXJlY3RbJ2lkJ10pKTsNCgkvLyBJbnNlcnQgbmV3IHJlZGlyZWN0DQoJfSBlbHNlIHsNCgkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgKHBhZ2VfaWQsIHRvdXJsLCB1cmwsIHVybF9yZWdleHAsIGFjdGl2ZSwgbm90ZXMsIGNyZWF0ZWRfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCBOT1coKSwgTk9XKCkpJzsNCgkJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGVyZWRpcmVjdFsncGFnZSddLCAkZXJlZGlyZWN0Wyd0b3VybCddLCAkZXJlZGlyZWN0Wyd1cmwnXSwgJGVyZWRpcmVjdFsncmVnZXhwJ10sICRlcmVkaXJlY3RbJ2FjdGl2ZSddLCAkZXJlZGlyZWN0Wydub3RlcyddKSk7DQoJCSRlcmVkaXJlY3RbJ2lkJ10gPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgV0hFUkUgdXJsID0gPycsIGFycmF5KCRlcmVkaXJlY3RbJ3VybCddKSk7DQoJfQ0KfQ0KDQovLyBSZWRpcmVjdA0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgfHwgaXNzZXQoJHBhcmFtc1snYWRkJ10pKSAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gKSk7DQplbHNlICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGlzc2V0KCRwYXJhbXNbJ3J1cmwnXSkgPyBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8sICdyZWRpcmVjdCc9PiRlcmVkaXJlY3RbJ2lkJ10sICdydXJsJz0+JHBhcmFtc1sncnVybCddICkgOiBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8sICdyZWRpcmVjdCc9PiRlcmVkaXJlY3RbJ2lkJ10gKSk7DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQokdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCR0YkRiKTsNCg0KLy8gR2V0IFBPU1QgZGF0YQ0KJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7DQoNCi8vIFNldCBwcmVmZXJlbmNlcw0KJGRvbnRfdXNlX2V2ZW50X2hhbmRsZXIgPSBpc3NldCgkcGFyYW1zWydkb250X3VzZV9ldmVudF9oYW5kbGVyJ10pCT8gKGludCkkcGFyYW1zWydkb250X3VzZV9ldmVudF9oYW5kbGVyJ10JOiAwOw0KJHN0YXRzX3VzZQkJCQk9IGlzc2V0KCRwYXJhbXNbJ3N0YXRzX3VzZSddKSAJCQkJPyAoaW50KSRwYXJhbXNbJ3N0YXRzX3VzZSddIAkJCQk6IDA7DQokYXV0b2xpZ2h0Ym94X3VzZSAJCT0gaXNzZXQoJHBhcmFtc1snYXV0b2xpZ2h0Ym94X3VzZSddKQkJPyAoaW50KSRwYXJhbXNbJ2F1dG9saWdodGJveF91c2UnXQkJCTogMDsNCiRzb2NpYWxzaGFyZXByaXZhY3lfdXNlID0gaXNzZXQoJHBhcmFtc1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddKQk/IChpbnQpJHBhcmFtc1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddCTogMDsNCiR0d2l0dGVyZmVlZF91c2UJCT0gaXNzZXQoJHBhcmFtc1sndHdpdHRlcmZlZWRfdXNlJ10pCQkJPyAoaW50KSRwYXJhbXNbJ3R3aXR0ZXJmZWVkX3VzZSddCQkJOiAwOw0KJGNzdl91c2UgCQkJCT0gaXNzZXQoJHBhcmFtc1snY3N2X3VzZSddKQkJCQkJPyAoaW50KSRwYXJhbXNbJ2Nzdl91c2UnXQkJCQkJOiAwOw0KJHRhaWxfdXNlIAkJCQk9IGlzc2V0KCRwYXJhbXNbJ3RhaWxfdXNlJ10pCQkJCT8gKGludCkkcGFyYW1zWyd0YWlsX3VzZSddCQkJCQk6IDA7DQokc3RhdHNfNDA0CQkJCT0gaXNzZXQoJHBhcmFtc1snc3RhdHNfNDA0J10pCQkJCT8gKGludCkkcGFyYW1zWydzdGF0c180MDQnXQkJCQkJOiAwOw0KJG1heF80MDQgCQkJCT0gaXNzZXQoJHBhcmFtc1snbWF4XzQwNCddKQkJCQkJPyAoaW50KSRwYXJhbXNbJ21heF80MDQnXQkJCQkJOiAwOw0KJHN0YXRzX2RhaWx5IAkJCT0gaXNzZXQoJHBhcmFtc1snc3RhdHNfZGFpbHknXSkJCQkJPyAoaW50KSRwYXJhbXNbJ3N0YXRzX2RhaWx5J10JCQkJOiAwOw0KJHN0YXRzX2VtYWlsIAkJCT0gaXNzZXQoJHBhcmFtc1snc3RhdHNfZW1haWwnXSkJCQkJPyB0cmltKCRwYXJhbXNbJ3N0YXRzX2VtYWlsJ10pCQkJCTogMDsNCiRvbGR1cmxfdXNlIAkJCT0gaXNzZXQoJHBhcmFtc1snb2xkdXJsX3VzZSddKQkJCQk/IChpbnQpJHBhcmFtc1snb2xkdXJsX3VzZSddCQkJCTogMDsNCiRkZWJ1Z191c2UgCQkJCT0gaXNzZXQoJHBhcmFtc1snZGVidWdfdXNlJ10pCQkJCT8gKGludCkkcGFyYW1zWydkZWJ1Z191c2UnXQkJCQkJOiAwOw0KJG1vZHVsZW9wc191c2UgCQkJPSBpc3NldCgkcGFyYW1zWydtb2R1bGVvcHNfdXNlJ10pCQkJPyAoaW50KSRwYXJhbXNbJ21vZHVsZW9wc191c2UnXQkJCQk6IDA7DQokanNfZm9vdGVyIAkJCQk9IGlzc2V0KCRwYXJhbXNbJ2pzX2Zvb3RlciddKQkJCQk/IChpbnQpJHBhcmFtc1snanNfZm9vdGVyJ10JCQkJCTogMDsNCiRtaW5pZnkgCQkJCT0gaXNzZXQoJHBhcmFtc1snbWluaWZ5J10pCQkJCQk/IChpbnQpJHBhcmFtc1snbWluaWZ5J10JCQkJCTogMDsNCgkNCiRpbXBvcnRfbXVsdGlkb21haW5zCT0gaXNzZXQoJHBhcmFtc1snaW1wb3J0X211bHRpZG9tYWlucyddKQkJPyAoaW50KSRwYXJhbXNbJ2ltcG9ydF9tdWx0aWRvbWFpbnMnXQkJOiAwOw0KJGRyb3BfbXVsdGlkb21haW5zCQk9IGlzc2V0KCRwYXJhbXNbJ2Ryb3BfbXVsdGlkb21haW5zJ10pCQk/IChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXQkJCTogMDsNCg0KDQovLyAyMDEyLjEyLjIyIExCTCAtPiBhdXNrb21tZW50aWVydCwgZGEgQ29udGVudFBvc3RSZW5kZXIgYXVjaCBmw7xyIHNvY2lhbHNoYXJlcHJpdmFjeSBnZW51dHp0IHdpcmQuDQovL2lmICgkZG9udF91c2VfZXZlbnRfaGFuZGxlciAhPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpKSB7DQovLwlpZiAoJGRvbnRfdXNlX2V2ZW50X2hhbmRsZXIpIHsgJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRQb3N0UmVuZGVyJyk7IH0NCi8vCWVsc2UgeyAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInLGZhbHNlKTsgfQ0KLy99DQoNCg0KaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgIT0gMSBhbmQgJGF1dG9saWdodGJveF91c2UgPT0gMSkgew0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfbGlnaHRib3gnLDEpOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXJsdHlwZScsInJlbGF0aXZlIik7DQp9DQoNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInLCRkb250X3VzZV9ldmVudF9oYW5kbGVyKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGF0c191c2UnLCRzdGF0c191c2UpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnLCRhdXRvbGlnaHRib3hfdXNlKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJywkc29jaWFsc2hhcmVwcml2YWN5X3VzZSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdpdHRlcmZlZWRfdXNlJywkdHdpdHRlcmZlZWRfdXNlKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjc3ZfdXNlJywkY3N2X3VzZSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGFpbF91c2UnLCR0YWlsX3VzZSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfNDA0Jywkc3RhdHNfNDA0KTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfNDA0JywkbWF4XzQwNCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfZGFpbHknLCRzdGF0c19kYWlseSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfZW1haWwnLHRyaW0oJHN0YXRzX2VtYWlsKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScsJG9sZHVybF91c2UpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScsJGRlYnVnX3VzZSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnanNfZm9vdGVyJywkanNfZm9vdGVyKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtaW5pZnknLCRtaW5pZnkpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ21vZHVsZW9wc191c2UnLCRtb2R1bGVvcHNfdXNlKTsNCg0KJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7DQoNCmlmICghJHNvY2lhbHNoYXJlcHJpdmFjeV91c2UpDQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbnN0YWxsJywwKTsNCg0KLy8gaW5zdGFsbCBzb2NpYWxzaGFyZXByaXZhY3kNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X3VzZScpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfaW5zdGFsbCcpID09IDApIHsNCgkkdGVtcGxhdGUgPSAic29jaWFsc2hhcmVwcml2YWN5IjsNCgkkZm4gPSB0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCdzb2NpYWxzaGFyZXByaXZhY3knLCAkdGVtcGxhdGUpOw0KCWlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQoJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQlpZiAoIXRiVXRpbHM6OmltcG9ydFRlbXBsYXRlKCR0aGlzLCAkeG1sLCB0cnVlKSkgew0KCQkJJGVycm9ycyA9IHRiVXRpbHM6OmdldEVycm9ycygpOw0KCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yc1snYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICcnLCAkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KCQkNCgkJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfYWR2YW5jZWQnLDApOw0KCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X2pxdWVyeScsJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddKTsNCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbmZvbGluaycsJHRlbXBsYXRlcHJvcHNbJ2luZm9saW5rJ10pOw0KCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X2luc3RhbGwnLDEpOw0KCX0NCgllbHNlIHsNCgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCdlcnJvcl90ZW1wbGF0ZWZpbGVub3Rmb3VuZCcpLicgJy4kZm4sICd0YWJ0bycgPT4gJHRhYnRvKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAnJywgJHBhcmFtcyk7DQoJCXJldHVybjsNCgl9CQ0KfQ0KDQoNCi8vIEltcG9ydCBkYXRhIGZyb20gb2xkIE11bHRpRG9tYWlucyB0YWJsZXMNCmlmICgkaW1wb3J0X211bHRpZG9tYWlucyBvciAkZHJvcF9tdWx0aWRvbWFpbnMpIHsNCgkvLyBtZCBpbXBvcnQgY291bnRlcg0KCSRtZF9pbXBvcnRfY291bnRlciA9IDA7DQoJLy8gR2V0IGRhdGEgZnJvbSBvbGQgTXVsdGlEb21haW5zIHRhYmxlcw0KCSR0YWJsZXMgPSAkdGJEYi0+R2V0Q29sKCdTSE9XIFRBQkxFUycsIGFycmF5KCkpOw0KCS8vIDMwMSAoUmVkaXJlY3RzKSB0YWJsZQ0KCSRyZWRpcmVjdF90YWJsZV9mb3VuZCA9IGZhbHNlOw0KCWlmIChpbl9hcnJheShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfcmVkaXJlY3QnLCR0YWJsZXMpKSB7DQoJCWlmICgoaW50KSRwYXJhbXNbJ2ltcG9ydF9tdWx0aWRvbWFpbnMnXSkgew0KCQkJJHRlbXAgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQscGFnZV9pZCx1cmwsYWN0aXZlLG5vdGVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlLHRvdXJsLHVybF9yZWdleHAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19yZWRpcmVjdCcsIGFycmF5KCkpOw0KCQkJaWYgKCR0ZW1wKSB7DQoJCQkJZm9yZWFjaCAoJHRlbXAgYXMgJHQpIHsNCgkJCQkJLy8gQ2hlY2sgd2hldGhlciByb3cgYWxyZWFkeSBleGlzdHMNCgkJCQkJJG1kX2V4aXN0cyA9ICR0YkRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCBXSEVSRSB1cmwgbGlrZSA/JywgYXJyYXkoJHRbJ3VybCddKSk7DQoJCQkJCS8vIEluc2VydCByb3cNCgkJCQkJaWYgKCEkbWRfZXhpc3RzKSB7DQoJCQkJCQkkcmVzID0gJHRiRGItPkV4ZWN1dGUoDQoJCQkJCQkJJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCAoaWQscGFnZV9pZCx1cmwsYWN0aXZlLG5vdGVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlLHRvdXJsLHVybF9yZWdleHApIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8pJywNCgkJCQkJCQlhcnJheSgkdFsnaWQnXSwkdFsncGFnZV9pZCddLCR0Wyd1cmwnXSwkdFsnYWN0aXZlJ10sJHRbJ25vdGVzJ10sJHRbJ2NyZWF0ZWRfZGF0ZSddLCR0Wydtb2RpZmllZF9kYXRlJ10sJHRbJ3RvdXJsJ10sJHRbJ3VybF9yZWdleHAnXSkNCgkJCQkJCSk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJDQoJCQl9DQoJCQkkbWRfaW1wb3J0X2NvdW50ZXIgPSAxOw0KCQl9DQoJCS8vIERyb3AgdGFibGUNCgkJaWYgKChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXSkgew0KCQkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX3JlZGlyZWN0JyApOw0KCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQl9DQoJfQ0KCS8vIDQwNCAoRXJyb3JzKSB0YWJsZQ0KCSRlcnJvcl90YWJsZV9mb3VuZCA9IGZhbHNlOw0KCWlmIChpbl9hcnJheShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJywkdGFibGVzKSkgew0KCQlpZiAoKGludCkkcGFyYW1zWydpbXBvcnRfbXVsdGlkb21haW5zJ10pIHsNCgkJCSR0ZW1wID0gJHRiRGItPkdldEFsbCgnU0VMRUNUIGlkLGZyb211cmwsdG91cmwsdmlzaXRzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJywgYXJyYXkoKSk7DQoJCQlpZiAoJHRlbXApIHsNCgkJCQlmb3JlYWNoICgkdGVtcCBhcyAkdCkgew0KCQkJCQkvLyBDaGVjayB3aGV0aGVyIHJvdyBhbHJlYWR5IGV4aXN0cw0KCQkJCQkkbWRfZXhpc3RzID0gJHRiRGItPkdldE9uZSgnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBXSEVSRSB0b3VybCBsaWtlID8nLCBhcnJheSgkdFsndG91cmwnXSkpOw0KCQkJCQkvLyBJbnNlcnQgcm93DQoJCQkJCWlmICghJG1kX2V4aXN0cykgew0KCQkJCQkJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKA0KCQkJCQkJCSdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIChpZCxmcm9tdXJsLHRvdXJsLHZpc2l0cyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sPyknLA0KCQkJCQkJCWFycmF5KCR0WydpZCddLCR0Wydmcm9tdXJsJ10sJHRbJ3RvdXJsJ10sJHRbJ3Zpc2l0cyddLCR0WydjcmVhdGVkX2RhdGUnXSwkdFsnbW9kaWZpZWRfZGF0ZSddKQ0KCQkJCQkJKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCSRtZF9pbXBvcnRfY291bnRlciA9IDE7DQoJCX0NCgkJLy8gRHJvcCB0YWJsZQ0KCQlpZiAoKGludCkkcGFyYW1zWydkcm9wX211bHRpZG9tYWlucyddKSB7DQoJCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJyApOw0KCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQl9DQoJfQ0KCS8vIDMwMSAoUmVkaXJlY3RzKSBpZ25vcmUgdGFibGUNCglpZiAoaW5fYXJyYXkoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX2Vycm9yc19pZ25vcmUnLCR0YWJsZXMpKSB7DQoJCWlmICgoaW50KSRwYXJhbXNbJ2ltcG9ydF9tdWx0aWRvbWFpbnMnXSkgew0KCQkJJHRlbXAgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQsaXVybCxpcmVnZXhwLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzX2lnbm9yZScsIGFycmF5KCkpOw0KCQkJaWYgKCR0ZW1wKSB7DQoJCQkJZm9yZWFjaCAoJHRlbXAgYXMgJHQpIHsNCgkJCQkJLy8gQ2hlY2sgd2hldGhlciByb3cgYWxyZWFkeSBleGlzdHMNCgkJCQkJJG1kX2V4aXN0cyA9ICR0YkRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlIFdIRVJFIGl1cmwgbGlrZSA/JywgYXJyYXkoJHRbJ2l1cmwnXSkpOw0KCQkJCQkvLyBJbnNlcnQgcm93DQoJCQkJCWlmICghJG1kX2V4aXN0cykgew0KCQkJCQkJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKA0KCQkJCQkJCSdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzX2lnbm9yZSAoaWQsaXVybCxpcmVnZXhwLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8sPyknLA0KCQkJCQkJCWFycmF5KCR0WydpZCddLCR0WydpdXJsJ10sJHRbJ2lyZWdleHAnXSwkdFsnY3JlYXRlZF9kYXRlJ10sJHRbJ21vZGlmaWVkX2RhdGUnXSkNCgkJCQkJCSk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQkkbWRfaW1wb3J0X2NvdW50ZXIgPSAxOw0KCQl9DQoJCS8vIERyb3AgdGFibGUNCgkJaWYgKChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXSkgew0KCQkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX2Vycm9yc19pZ25vcmUnICk7DQoJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoJCX0NCgl9DQoJLy8gaW5jcmVhc2UgbWQgaW1wb3J0IGNvdW50ZXIgaW4gc2l0ZSBzZXR0aW5ncw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X211bHRpZG9tYWluc19jb3VudCcpKzEpOw0KfQ0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICwgJ3RhYl9tZXNzYWdlJz0+ICdtc2dfc2F2ZXByZWYnICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_redirectactive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIEdldCBQT1NUIGRhdGENCiR0YlRhYlRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOw0KJHJlZGlyZWN0ID0gKGludCkkcGFyYW1zWydyZWRpcmVjdCddOw0KJGFjdGl2ZSA9ICRwYXJhbXNbJ2FjdGl2ZSddID8gMSA6IDA7DQoNCi8vIERlLS9BY3RpdmF0ZSBSZWRpcmVjdCBVUkwNCmlmICgkcmVkaXJlY3QpIHsNCgkvLyBHZXQgZGIgaW5zdGFuY2UNCgkkdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQoJLy8gRGUtL0FjdGl2YXRlIHRoZSBSZWRpcmVjdCBVUkwNCgkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgU0VUIGFjdGl2ZT0/IFdIRVJFIGlkPT8nOw0KCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRhY3RpdmUsICRyZWRpcmVjdCkpOw0KfQ0KDQovLyBSZWRpcmVjdA0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_socialshareprivacy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsNCg0KJHRlbXBsYXRlID0gInNvY2lhbHNoYXJlcHJpdmFjeSI7DQoNCmlmIChpc3NldCgkcGFyYW1zWydyZXNldGJ1dHRvbiddKSApDQp7DQoJJGZuID0gdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgnc29jaWFsc2hhcmVwcml2YWN5JywgJHRlbXBsYXRlKTsNCglpZiAoaXNfZmlsZSgkZm4pKSB7DQoJCSR4bWwgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSkpIHsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7DQoJCX0NCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZWltcG9ydCcsICdzdWNlc3MnID0+ICd0cnVlJywgJ3RhYnRvJz0+JHRhYnRvICkpOw0KCX0NCgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJ2Vycm9yX3RlbXBsYXRlZmlsZW5vdGZvdW5kJykgLiAnICcgLiRmbiwgJ3RhYnRvJyA9PiAkdGFidG8pOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCmVsc2Ugew0KCSR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygnc29jaWFsc2hhcmVwcml2YWN5Jyk7DQoJDQoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FkdmFuY2VkJ10pKSB7DQoJCWlmIChpc3NldCgkdGVtcGxhdGVwcm9wc1snYWR2YW5jZWQnXSkgYW5kICR0ZW1wbGF0ZXByb3BzWydhZHZhbmNlZCddID09IDEpIHsNCgkJCS8vIHNhdmUgdGVtcGxhdGUNCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdGVtcGxhdGUsICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddLlRPT0xCT1hfU0VQQVJBVE9SLiRwYXJhbXNbJ3RlbXBsYXRlY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHBhcmFtc1sndGVtcGxhdGVqcyddLicqfScgKTsNCgkJCQ0KCQkJLy8gc2F2ZSBjc3MtZmlsZSANCgkJCSRoYW5kbGUgPSBmb3BlbihjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NzcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nc29jaWFsc2hhcmVwcml2YWN5LmNzcycpLCd3Jyk7DQoJCQlmd3JpdGUoJGhhbmRsZSx0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJHBhcmFtc1sndGVtcGxhdGVjc3MnXSkpOw0KCQkJZmNsb3NlKCRoYW5kbGUpOw0KCQl9DQoJfQ0KCWVsc2UgaWYgKCFpc3NldCgkcGFyYW1zWydhZHZhbmNlZCddKSBhbmQgJHRlbXBsYXRlcHJvcHNbJ2FkdmFuY2VkJ10gPT0gMSkgew0KCQkkeG1sID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVEYXRhRnJvbVhNTChmaWxlX2dldF9jb250ZW50cyh0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCdzb2NpYWxzaGFyZXByaXZhY3knLCAnc29jaWFsc2hhcmVwcml2YWN5JykpKTsNCgkJJHRoaXMtPlNldFRlbXBsYXRlKCR0ZW1wbGF0ZSwgJHhtbFsndHBsY29kZSddLlRPT0xCT1hfU0VQQVJBVE9SLiR4bWxbJ3RwbGNzcyddLlRPT0xCT1hfU0VQQVJBVE9SLiR4bWxbJ3RwbGpzJ10uJyp9JyApOw0KCQkJDQoJCS8vIHNhdmUgY3NzLWZpbGUNCgkJJGhhbmRsZSA9IGZvcGVuKGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nY3NzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidzb2NpYWxzaGFyZXByaXZhY3kuY3NzJyksJ3cnKTsNCgkJZndyaXRlKCRoYW5kbGUsdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCR4bWxbJ3RwbGNzcyddKSk7DQoJCWZjbG9zZSgkaGFuZGxlKTsNCgkJDQoJfQ0KCQkNCgkkaW5mb2xpbmsgPSBpc3NldCgkcGFyYW1zWydpbmZvbGluayddKSA/ICRwYXJhbXNbJ2luZm9saW5rJ10gOiAnJzsNCgkkYWR2YW5jZWQgPSBpc3NldCgkcGFyYW1zWydhZHZhbmNlZCddKSA/ICRwYXJhbXNbJ2FkdmFuY2VkJ10gOiAnJzsNCg0KCSRvcHRpb25zID0gYXJyYXkoJ2luZm9saW5rJyA9PiAkaW5mb2xpbmssICdhZHZhbmNlZCcgPT4gJGFkdmFuY2VkKTsNCg0KCWlmICghdGJVdGlsczo6c2F2ZVRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlLCAkcGFyYW1zLCAkb3B0aW9ucykpIHsNCgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOw0KCX0NCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0YWJfbWVzc2FnZSc9PiAnbXNnX3NhdmV0ZW1wbGF0ZXByZWYnICkpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KDQokc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCi8vcHJpbnRfcigkcGFyYW1zKTsNCg0KDQovKioNCiAqIE1vZHVsZSB2b24gVG9vbEJveCB3ZWxjaGUgw7xiZXIgZGVuIFBhcmFtZXRlciAibW9kIiBhdWZnZXJ1ZmVuIHdlcmRlbi4NCiAqLw0KDQppZiAoaXNzZXQoJHBhcmFtc1snbW9kJ10pKSB7DQoJDQoJaWYgKHN0cnRvbG93ZXIoJHBhcmFtc1snbW9kJ10pID09ICJjc3YiKSB7DQoJCQ0KCQkkdGVtcGxhdGUgCQk9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pID8gJ2NzdnN1bV8nLiRwYXJhbXNbJ3RlbXBsYXRlJ10gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF9jc3ZzdW1fdGVtcGxhdGUiKTsNCgkJJGRldGFpbHRlbXBsYXRlID0gaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgPyAnY3N2ZGV0XycuJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSA6ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjdXJyZW50X2NzdmRldF90ZW1wbGF0ZSIpOw0KCQkNCgkJJGZpbGUJIAk9IGlzc2V0KCRwYXJhbXNbJ2ZpbGUnXSkgPyAkcGFyYW1zWydmaWxlJ10gOiAnJzsNCgkJJHNvcnRieQkgCT0gaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pID8gJHBhcmFtc1snc29ydGJ5J10gOiAnJzsNCgkJJHNvcnRvcmRlciAJPSBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgPyAkcGFyYW1zWydzb3J0b3JkZXInXSA6ICcnOw0KCQkkYWN0aW9uCSAJPSBpc3NldCgkcGFyYW1zWydhY3Rpb24nXSkgPyAkcGFyYW1zWydhY3Rpb24nXSA6ICdkZWZhdWx0JzsNCgkJJHRiYWN0aW9uCT0gaXNzZXQoJHBhcmFtc1sndGJhY3Rpb24nXSkgPyAkcGFyYW1zWyd0YmFjdGlvbiddIDogJ2RlZmF1bHQnOw0KCQkkZmlsZQkJPSBpc3NldCgkcGFyYW1zWydmaWxlJ10pID8gJHBhcmFtc1snZmlsZSddIDogJyc7IA0KCQkkaXRlbWlkCQk9IGlzc2V0KCRwYXJhbXNbJ2l0ZW1pZCddKSA/ICRwYXJhbXNbJ2l0ZW1pZCddIDogJyc7DQoJCSRkZWxpbWl0ZXIJPSBpc3NldCgkcGFyYW1zWydkZWxpbWl0ZXInXSkgPyAkcGFyYW1zWydkZWxpbWl0ZXInXSA6ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIik7DQoJCSRmaWxlY2hhcnNldD0gaXNzZXQoJHBhcmFtc1snZmlsZWNoYXJzZXQnXSkgPyAkcGFyYW1zWydmaWxlY2hhcnNldCddIDogJHRoaXMtPkdldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIpOw0KCQkkY21zY2hhcnNldCA9ICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3N2X2Ntc2NoYXJzZXQiKTsNCgkJDQoJCWlmICghJGZpbGUpIHsNCgkJCWVjaG8gc3RyX3JlcGxhY2UoIltwYXJhbV0iLCAiZmlsZSIsJHRoaXMtPkxhbmcoJ3BhcmFtX2VtcHR5JykpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQkkZmlsZSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvJy5zdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3VybCddLCAiIiwgJGZpbGUpKTsNCgkJDQoJCWlmICghZmlsZV9leGlzdHMoJGZpbGUpKSB7DQoJCQllY2hvIHN0cl9yZXBsYWNlKCJbZmlsZV0iLCAkZmlsZSwkdGhpcy0+TGFuZygnZXJyb3JfZmlsZW5vdGV4aXN0JykpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQkjIHRhYiBkZWxpbWl0ZWQsIGFuZCBlbmNvZGluZyBjb252ZXJzaW9uDQoJCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsNCgkJJGNzdi0+ZW5jb2RpbmcoJ2lzby04ODU5LTEnLCAnVVRGLTgnKTsNCgkJJGNzdi0+ZGVsaW1pdGVyID0gIjsiOw0KCQkkY3N2LT5wYXJzZSgkZmlsZSk7DQoJCQ0KCQkkZGF0YSA9ICRjc3YtPmRhdGE7DQoJCQ0KCQkvLyBhZGQgSUQgDQoJCSRpZCA9IDE7DQoJCWZvcmVhY2ggKCRkYXRhIGFzICRrID0+ICR2KSB7DQoJCQkkYXJyYXkgPSAkZGF0YVska107DQoJCQkkZGF0YVska10gPSBhcnJheV9tZXJnZShhcnJheSgnaWQnID0+ICRpZCksJGFycmF5KTsNCgkJCSRwcmV0dHl1cmwgPSAndGIvJy4kcGFyYW1zWydtb2QnXS4nLycuJGlkLicvJy4kcmV0dXJuaWQuJy9kZXRhaWwnOw0KCQkJJGxpbmtBcnJheSA9IGFycmF5KCdtb2QnID0+ICdjc3YnLCAnaXRlbWlkJyA9PiAkaWQsICd0YmFjdGlvbicgPT4gJ2RldGFpbCcpOw0KCQkJJGRhdGFbJGtdWydtb3JlX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCAkbGlua0FycmF5LCcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOw0KCQkJDQoJCQkkaWQrKzsNCgkJfQ0KCQkNCgkJDQoJCS8vIERldGFpbGFuc2ljaHQNCgkJaWYgKCR0YmFjdGlvbiA9PSAnZGV0YWlsJykgew0KCQkJDQoJCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJGRldGFpbHRlbXBsYXRlKTsNCgkJCQ0KCQkJaWYgKCEkdGVtcGxhdGVwcm9wcykgew0KCQkJCWVjaG8gc3RyX3JlcGxhY2UoIlt0ZW1wbGF0ZV0iLCAkZGV0YWlsdGVtcGxhdGUsJHRoaXMtPkxhbmcoJ2Vycm9yX3RlbXBsYXRldW5rbm93bicpKTsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCQkNCgkJCS8vIFN0eWxlc2hlZXQgZWluYmluZGVuIGZhbGxzIHZvcmhhbmRlbg0KCQkJaWYgKGlzX2ZpbGUoJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJGRldGFpbHRlbXBsYXRlLicuY3NzJykpIHsNCgkJCQkkdGhpcy0+dGJNZXRhWyR0ZW1wbGF0ZV0gPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nLiRkZXRhaWx0ZW1wbGF0ZS4nLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+JzsNCgkJCX0NCgkJCQkNCgkJCSRjb250ZW50c2NvZGUgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkdGhpcy0+R2V0VGVtcGxhdGUoJGRldGFpbHRlbXBsYXRlKSk7DQoJCQkkamF2YXNjcmlwdCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gc3RyX3JlcGxhY2UoIip9IiwgIiIsIHN1YnN0cigkY29udGVudHNjb2RlWzJdLDAsLTIpKSA6ICcnOw0KCQkJCQ0KCQkJaWYgKCRqYXZhc2NyaXB0KSB7DQoJCQkJaWYgKCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSkJJHRoaXMtPnRiSnF1ZXJ5ID0gdHJ1ZTsJDQoJCQkJJHRoaXMtPnRiTWV0YUpzWyR0ZW1wbGF0ZV0gPSB0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJGphdmFzY3JpcHQpLiJcbiI7DQoJCQl9DQoJCQkNCgkJCSRpdGVtID0gKGlzc2V0KCRkYXRhWyRpdGVtaWRdKSkgPyAkZGF0YVskaXRlbWlkXSA6IGFycmF5KCk7DQoJCQkNCgkJCSRpdGVtID0gYnRUb29sczo6YXJyYXlUb09iamVjdCgkaXRlbSk7DQoJCQkkc21hcnR5LT5hc3NpZ24oIml0ZW0iLCRpdGVtKTsNCgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkZGV0YWlsdGVtcGxhdGUpOw0KCQl9DQoJCWVsc2UgaWYgKCR0YmFjdGlvbiA9PSAnc2VhcmNoJykgew0KCQkJDQoJCX0NCgkJZWxzZSB7DQoJCQkNCgkJCSR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdGVtcGxhdGUpOw0KCQkJDQoJCQlpZiAoISR0ZW1wbGF0ZXByb3BzKSB7DQoJCQkJZWNobyBzdHJfcmVwbGFjZSgiW3RlbXBsYXRlXSIsICR0ZW1wbGF0ZSwkdGhpcy0+TGFuZygnZXJyb3JfdGVtcGxhdGV1bmtub3duJykpOw0KCQkJCXJldHVybjsNCgkJCX0NCgkJCQ0KCQkJLy8gU3R5bGVzaGVldCBlaW5iaW5kZW4gZmFsbHMgdm9yaGFuZGVuDQoJCQlpZiAoaXNfZmlsZSgnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJy4kdGVtcGxhdGUuJy5jc3MnKSkgew0KCQkJCSR0aGlzLT50Yk1ldGFbJHRlbXBsYXRlXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJHRlbXBsYXRlLicuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4nOw0KCQkJfQ0KCQkJCQ0KCQkJJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGUpKTsNCgkJCSRqYXZhc2NyaXB0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsyXSkgPyBzdHJfcmVwbGFjZSgiKn0iLCAiIiwgc3Vic3RyKCRjb250ZW50c2NvZGVbMl0sMCwtMikpIDogJyc7DQoJCQkJDQoJCQlpZiAoJGphdmFzY3JpcHQpIHsNCgkJCQlpZiAoJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddKQkkdGhpcy0+dGJKcXVlcnkgPSB0cnVlOwkNCgkJCQkkdGhpcy0+dGJNZXRhSnNbJHRlbXBsYXRlXSA9IHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkamF2YXNjcmlwdCkuIlxuIjsNCgkJCX0NCgkJCQ0KCQkNCgkJCWlmICgkc29ydGJ5KSB7DQoJCQkJJHNvcnQgPSBuZXcgdGJBcnJheU11bHRpc29ydCgpOw0KCQkJCSRzb3J0LT5zZXRBcnJheSgkZGF0YSk7DQoJDQoJCQkJJGZpZWxkcyA9IGV4cGxvZGUoIiwiLCAkc29ydGJ5KTsNCgkJCQlmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkgew0KCQkJCQkkZmllbGQgPSAgZXhwbG9kZSgifCIsICRmaWVsZCk7DQoJCQkJCWlmIChpc3NldCgkZmllbGRbMV0pKSB7IA0KCQkJCQkJaWYgKHN0cnRvbG93ZXIoJGZpZWxkWzFdKSA9PSAiZGVzYyIpDQoJCQkJCQkJJHNvcnQtPmFkZENvbHVtbigkZmllbGRbMF0sU1JUX0RFU0MpOw0KCQkJCQkJZWxzZQ0KCQkJCQkJCSRzb3J0LT5hZGRDb2x1bW4oJGZpZWxkWzBdLFNSVF9BU0MpOw0KCQkJCQl9CQ0KCQkJCQllbHNlDQoJCQkJCQkkc29ydC0+YWRkQ29sdW1uKCRmaWVsZFswXSxTUlRfQVNDKTsNCgkJCQl9DQoJCQkJDQoJCQkJJGRhdGEgPSAkc29ydC0+c29ydCgpOw0KCQkJfQ0KCQkNCgkJDQovLwkJCSRkYXRhID0gYnRUb29sczo6c2VhcmNoQXJyYXkoJGRhdGEsICdiZXN0ZWxsbnInLCAnY1MxNTczOEQnKTsNCg0KDQoJLy8NCgkvLwkJZWNobyAiPHByZT4iLnByaW50X3IoJGRhdGEsdHJ1ZSkuIjwvcHJlPiI7DQoJLy8vLw0KCS8vLy8NCgkJCSRkYXRhID0gYnRUb29sczo6YXJyYXlUb09iamVjdCgkZGF0YSk7DQoJCQkNCgkvLwkJZWNobyAiPHByZT4iLnByaW50X3IoJGRhdGEsdHJ1ZSkuIjwvcHJlPiI7DQoJCQkNCgkJCSRzbWFydHktPmFzc2lnbigiaXRlbXMiLCRkYXRhKTsNCgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOw0KCQ0KCQkJcmV0dXJuOw0KCQkNCgkJfQ0KCX0NCgkNCgkNCgkNCgkvKioNCgkgKiANCgkgKiBTb2NpYWxTaGFyZVByaXZhY3kgTW9kdWwgLSAyIHN0dWZpZ2UgRWluYmluZHVuZyB2b24gU29jaWFsIE1lZGlhIEJ1dHRvbnMgaW4gZGllIFdlYnNlaXRlDQoJICogQHBhcmFtIG1vZCA9ICJzb2NpYWxzaGFyZXByaXZhY3kiDQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlcg0KCSAqIA0KCSAqLw0KCQ0KCWVsc2UgaWYgKCRwYXJhbXNbJ21vZCddPT0gInNvY2lhbHNoYXJlcHJpdmFjeSIgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoInNvY2lhbHNoYXJlcHJpdmFjeV91c2UiKSkgew0KDQoJCSR0ZW1wbGF0ZSA9ICJzb2NpYWxzaGFyZXByaXZhY3kiOw0KCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsNCgkJDQoJCSRpbmZvbGluayA9IGlzc2V0KCR0ZW1wbGF0ZXByb3BzWydpbmZvbGluayddKSA/ICR0ZW1wbGF0ZXByb3BzWydpbmZvbGluayddIDogJyc7DQoJCQ0KCQkkdGVtcGxhdGVfanMgPSAiIjsNCgkJJHRlbXBsYXRlX21ldGFkYXRhID0gIiI7DQoJCQ0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsNCgkJDQoJCSRjb250ZW50c2NvZGUgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKSk7DQoJCQ0KCQkvLyRjb250ZW50ID0gaXNzZXQoJGNvbnRlbnRzY29kZVswXSkgPyAkY29udGVudHNjb2RlWzBdIDogJyc7DQoJCSRzdHlsZXNoZWV0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsxXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMV0sJyp9JykgOiAnJzsNCgkJJGphdmFzY3JpcHQgPSBpc3NldCgkY29udGVudHNjb2RlWzJdKSA/IHRyaW0oJGNvbnRlbnRzY29kZVsyXSwnKn0nKSA6ICcnOw0KCQkNCgkJLy8gTG9hZCBqUXVlcnkNCgkJaWYgKCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSkJJHRoaXMtPnRiSnF1ZXJ5ID0gdHJ1ZTsJDQoJCQkNCgkJaWYgKCRpbmZvbGluaykNCgkJCSRqYXZhc2NyaXB0ID0gc3RyX3JlcGxhY2UoIltpbmZvTGlua10iLCAJCSInaW5mb19saW5rJzogJyIuJGluZm9saW5rLiInLCIsICRqYXZhc2NyaXB0KTsNCgkJZWxzZSAJDQoJCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbaW5mb0xpbmtdIiwgCQkiIiwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbZmFjZWJvb2tBcHBJZF0iLAkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X2ZhY2Vib29raWQnKSwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0RmJJbmZvXSIsIAkJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRmYmluZm8nKSwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0RmJPZmZdIiwgCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGZib2ZmJyksICRqYXZhc2NyaXB0KTsNCgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dEZiT25dIiwgCQkJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRmYm9uJyksICRqYXZhc2NyaXB0KTsNCgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dFR3aXR0ZXJJbmZvXSIsIAkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dHR3aXR0ZXJpbmZvJyksICRqYXZhc2NyaXB0KTsNCgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dFR3aXR0ZXJPZmZdIiwgCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9mZicpLCAkamF2YXNjcmlwdCk7DQoJCSRqYXZhc2NyaXB0ID0gc3RyX3JlcGxhY2UoIlt0eHRUd2l0dGVyT25dIiwgCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9uJyksICRqYXZhc2NyaXB0KTsNCgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dEdwbHVzSW5mb10iLCAJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRncGx1c2luZm8nKSwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0R3BsdXNPZmZdIiwgCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzb2ZmJyksICRqYXZhc2NyaXB0KTsNCgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dEdwbHVzT25dIiwgCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzb24nKSwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0SGVscF0iLCAJCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGhlbHAnKSwgJGphdmFzY3JpcHQpOw0KCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0U2V0dGluZ3NQZXJtYV0iLCAkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3NldHRpbmdzcGVybWEnKSwgJGphdmFzY3JpcHQpOw0KCQkNCgkJDQoJCWlmICghaXNzZXQoJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdKSkgew0KCQkJaWYgKCRzdHlsZXNoZWV0KSAkdGhpcy0+dGJNZXRhWyR0ZW1wbGF0ZV0gPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy9zb2NpYWxzaGFyZXByaXZhY3kuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4nOw0KCQkJDQoJCQlpZiAoJGphdmFzY3JpcHQpDQoJCQkJJHRoaXMtPnRiTWV0YUpzWyR0ZW1wbGF0ZV0gPSB0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJGphdmFzY3JpcHQpLiJcbiI7CQ0KCQl9DQoJCQ0KCQlyZXR1cm4gJyc7DQoJCQkJDQoJCQ0KCX0NCgllbHNlIGlmICgkcGFyYW1zWydtb2QnXT09ICJzb2NpYWxzaGFyZXByaXZhY3kiICYmICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgic29jaWFsc2hhcmVwcml2YWN5X3VzZSIpKSB7DQoJCWVjaG8gJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZScpOw0KCQlyZXR1cm4gJyc7DQoJfQ0KCS8qKg0KCSAqIA0KCSAqIFR3aXR0ZXJmZWVkIE1vZHVsIC0gRGllc2VzIE1vZHVsIGlzdCBuaWNodCBkb2t1bWVudGllcnQgdW5kIGJhdXQgYXVmIGRpZSBKYXZhU2NyaXB0IEzDtnN1bmcgdm9uIFR3aXR0ZXIgYXVmLg0KCSAqIFNvYmFsZCBpY2ggbWFsIFplaXQgaGFiZSwgd2VyZGUgaWNoIG1pciBkaWUgVW1zZXR6dW5nIGRlcyBNb2R1bHMgw7xiZXJsZWdlbiB1bmQgZmVydGlnIHVtc2V0emVuDQoJICogQHBhcmFtIG1vZCA9ICJ0d2l0dGVyZmVlZCINCgkgKiBAcGFyYW0gdXNlcm5hbWUgLSBUd2l0dGVyIFVzZXJuYW1lDQoJICogQHBhcmFtIGNvdW50IC0gQW56YWhsIGRlciBUd2VldHMgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuDQoJICogQHBhcmFtIGRhdGVmb3JtYXQgLSBGb3JtYXQgaW4gd2VsY2hlbSBkYXMgVHdlZXQtRGF0dW0gYW5nZXplaWd0IHdlcmRlbiBzb2xsIChkLm0uWSBIOmk6cyBvZGVyIGZyaWVuZGx5KQ0KCSAqIEBwYXJhbSBub2NhY2hlIC0gQXVzZ2FiZSBuaWNodCBpbSBDYWNoZSBzcGVpY2hlcm4NCgkgKiBAcGFyYW0gY2FjaGV0aW1lIC0gWmVpdCBpbiBTZWt1bmRlbiB3aWUgbGFuZ2UgZGVyIENhY2hlIGVyaGFsdGVuIGJsZWliZW4gc29sbA0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXINCgkgKiANCgkgKi8NCgllbHNlIGlmICgkcGFyYW1zWydtb2QnXSA9PSAidHdpdHRlcmZlZWQiKSB7DQoJCQ0KCQlpZiAoKCFpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSBhbmQgIWlzc2V0KCRwYXJhbXNbJ3NlYXJjaCddKSkgb3IgKGlzc2V0KCRwYXJhbXNbJ2xpc3QnXSkgYW5kICFpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSkpIHsNCgkJCWVjaG8gIlRvb2xib3ggbW9kPXR3aXR0ZXJmZWVkIC0+IFBhcmFtICd1c2VybmFtZScgbm90IGRlZmluaWVkIjsNCgkJCXJldHVybiAnJzsNCgkJfQ0KCQllbHNlIGlmICghYnRUb29sczo6aXNDdXJsRW5hYmxlZCgpKSB7DQoJCQllY2hvICI8cD5Ub29sQm94OnR3aXR0ZXJmZWVkOiAiLiR0aGlzLT5MYW5nKCdlcnJvcl9jdXJsJykuIjwvcD4iOw0KCQkJcmV0dXJuICcnOw0KCQl9IA0KCQkNCgkJJHRlbXBsYXRlIAk9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pID8gJ3R3Zl8nLiRwYXJhbXNbJ3RlbXBsYXRlJ10gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF90d2l0dGVyZmVlZF90ZW1wbGF0ZSIpOw0KCQkkdXNlcm5hbWUgCT0gaXNzZXQoJHBhcmFtc1sndXNlcm5hbWUnXSkgPyAkcGFyYW1zWyd1c2VybmFtZSddIDogJyc7DQoJCSRsaXN0CSAJPSBpc3NldCgkcGFyYW1zWydsaXN0J10pID8gJHBhcmFtc1snbGlzdCddIDogJyc7DQoJCSRzZWFyY2gJIAk9IGlzc2V0KCRwYXJhbXNbJ3NlYXJjaCddKSA/ICRwYXJhbXNbJ3NlYXJjaCddIDogJyc7DQoJCSRjb3VudAkgIAk9IGlzc2V0KCRwYXJhbXNbJ2NvdW50J10pID8gKGludCkgJHBhcmFtc1snY291bnQnXSA6IDIwOw0KCQkkZGF0ZWZvcm1hdCA9IGlzc2V0KCRwYXJhbXNbJ2RhdGVmb3JtYXQnXSkgPyAkcGFyYW1zWydkYXRlZm9ybWF0J10gOiAnZnJpZW5kbHknOw0KCQkkY2FjaGV0aW1lCT0gaXNzZXQoJHBhcmFtc1snY2FjaGV0aW1lJ10pID8gKGludCkgJHBhcmFtc1snY2FjaGV0aW1lJ10gOiAnMTAnOw0KCQkNCgkJaWYgKCRjYWNoZXRpbWUgPCAxKSAkY2FjaGV0aW1lID0gMTA7DQoJDQoJCXRyeSB7DQoJCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsNCgkJCQ0KCQkJLy8gU3R5bGVzaGVldCBlaW5iaW5kZW4gZmFsbHMgdm9yaGFuZGVuDQoJCQlpZiAoaXNfZmlsZSgnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJy4kdGVtcGxhdGUuJy5jc3MnKSkgew0KCQkJCSR0aGlzLT50Yk1ldGFbJHRlbXBsYXRlXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJHRlbXBsYXRlLicuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4nOw0KCQkJfQ0KCQkJDQoJCQkkY29udGVudHNjb2RlID0gZXhwbG9kZShUT09MQk9YX1NFUEFSQVRPUiwgJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSkpOw0KCQkJJGphdmFzY3JpcHQgPSBpc3NldCgkY29udGVudHNjb2RlWzJdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCBzdWJzdHIoJGNvbnRlbnRzY29kZVsyXSwwLC0yKSkgOiAnJzsNCgkJCQ0KCQkJaWYgKCRqYXZhc2NyaXB0KSB7DQoJCQkJaWYgKCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSkgJHRoaXMtPnRiSnF1ZXJ5ID0gdHJ1ZTsJDQoJCQkJJHRoaXMtPnRiTWV0YUpzWyR0ZW1wbGF0ZV0gPSB0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJGphdmFzY3JpcHQpLiJcbiI7CQ0KCQkJfQkNCg0KCQkJaWYgKCRzZWFyY2gpDQoJCQkJJGZlZWQgPSB0YlR3aXR0ZXJmZWVkOjpnZXRTZWFyY2hGZWVkKCRzZWFyY2gsICRjb3VudCwgJGRhdGVmb3JtYXQsICRjYWNoZXRpbWUpOw0KCQkJZWxzZSBpZiAoJHVzZXJuYW1lICE9ICIiIGFuZCAkbGlzdCAhPSAiIikJDQoJCQkJJGZlZWQgPSB0YlR3aXR0ZXJmZWVkOjpnZXRVc2VyTGlzdCgkdXNlcm5hbWUsICRsaXN0LCAkY291bnQsICRkYXRlZm9ybWF0LCAkY2FjaGV0aW1lKTsNCgkJCWVsc2UgCQ0KCQkJCSRmZWVkID0gdGJUd2l0dGVyZmVlZDo6Z2V0VXNlclRpbWVsaW5lKCR1c2VybmFtZSwgJGNvdW50LCAkZGF0ZWZvcm1hdCwgJGNhY2hldGltZSk7DQoJCQkJDQoJCQkkc21hcnR5LT5hc3NpZ24oInR3aXR0ZXJmZWVkIiwkZmVlZCk7DQoJCQkkY29tcGlsZSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsNCgkJCWVjaG8gJGNvbXBpbGU7DQoJCX0NCgkJY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgeyANCgkJIAllY2hvICJ0YlR3aXR0ZXJmZWVkIEVycm9yOiAiIC4gJGUtPmdldE1lc3NhZ2UoKTsNCgkJIH0gDQoJCQkNCgl9DQovLwllbHNlIGlmICgkcGFyYW1zWydtb2QnXSA9PSAiaW1hZ2UiKSB7DQovLwkJDQovLwkJJHdpZHRoID0gaXNzZXQoJHBhcmFtc1snd2lkdGgnXSkgPyAkcGFyYW1zWyd3aWR0aCddIDogJyc7DQovLwkJJGhlaWdodCA9IGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSA/ICRwYXJhbXNbJ2hlaWdodCddIDogJyc7DQovLwkJJGltYWdlID0gaXNzZXQoJHBhcmFtc1snaW1hZ2UnXSkgPyAkcGFyYW1zWydpbWFnZSddIDogJyc7DQovLwkJJGFsdCA9IGlzc2V0KCRwYXJhbXNbJ2FsdCddKSA/ICRwYXJhbXNbJ2FsdCddIDogJyc7DQovLwkJJHRpdGxlID0gaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkgPyAkcGFyYW1zWyd0aXRsZSddIDogJyc7DQovLwkJJGNsYXNzID0gaXNzZXQoJHBhcmFtc1snY2xhc3MnXSkgPyAkcGFyYW1zWydjbGFzcyddIDogJyc7DQovLwkJJHN0eWxlID0gaXNzZXQoJHBhcmFtc1snc3R5bGUnXSkgPyAkcGFyYW1zWydzdHlsZSddIDogJyc7DQovLwkJJGlkID0gaXNzZXQoJHBhcmFtc1snaWQnXSkgPyAkcGFyYW1zWydpZCddIDogJyc7DQovLwkJJG5vX3RhZyA9IGlzc2V0KCRwYXJhbXNbJ25vX3RhZyddKSA/ICRwYXJhbXNbJ25vX3RhZyddIDogZmFsc2U7DQovLwkJDQovLwkJaWYgKCEkaW1hZ2UpIHsNCi8vCQkJZWNobyBzdHJfcmVwbGFjZSgiW3BhcmFtXSIsICJpbWFnZSIsICR0aGlzLT5MYW5nKCJwYXJhbV9lbXB0eSIpKTsNCi8vCQkJcmV0dXJuOw0KLy8JCX0NCi8vCQkkaW1hZ2UgPSBzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3BhdGgnXSwgIiIsc3RyX3JlcGxhY2UoJGNvbmZpZ1sncm9vdF91cmwnXSwgIiIsICRpbWFnZSksJGltYWdlKTsNCi8vCQkkcnBpbWFnZSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvJy4kaW1hZ2UpOw0KLy8JCQ0KLy8JCWlmICghZmlsZV9leGlzdHMoJHJwaW1hZ2UpKSB7DQovLwkJCWVjaG8gc3RyX3JlcGxhY2UoIltmaWxlXSIsICRpbWFnZSwgJHRoaXMtPkxhbmcoImVycm9yX2ZpbGVub3RleGlzdCIpKTsNCi8vCQkJcmV0dXJuOw0KLy8JCX0gDQovLwkJDQovLwkJJGltZ2luZm8gID0gZ2V0aW1hZ2VzaXplKCRycGltYWdlKTsNCi8vCQkNCi8vCQkkYXR0ciA9ICIiOw0KLy8JCSRhdHRyIC49ICcgYWx0PSInLiRhbHQuJyInOw0KLy8JCWlmICgkdGl0bGUpICRhdHRyIC49ICcgdGl0bGU9IicuJHRpdGxlLiciJzsNCi8vCQlpZiAoJGNsYXNzKSAkYXR0ciAuPSAnIGNsYXNzPSInLiRjbGFzcy4nIic7DQovLwkJaWYgKCRpZCkgJGF0dHIgLj0gJyBpZD0iJy4kaWQuJyInOw0KLy8JCWlmICgkc3R5bGUpICRhdHRyIC49ICcgc3R5bGU9IicuJHN0eWxlLiciJzsNCi8vCQkNCi8vCQlpZiAoJGhlaWdodCBvciAkd2lkdGgpIHsNCi8vCQkJaWYgKCRoZWlnaHQgYW5kICEkd2lkdGggYW5kICRoZWlnaHQgPCAkaW1naW5mb1sxXSkgew0KLy8JCQkJJHdpZHRoID0gJGltZ2luZm9bMF0gLyAoJGltZ2luZm9bMV0gLyAkaGVpZ2h0KTsNCi8vCQkJfQ0KLy8JCQllbHNlIGlmICgkd2lkdGggYW5kICEkaGVpZ2h0IGFuZCAkd2lkdGggPCAkaW1naW5mb1swXSkgew0KLy8JCQkJJGhlaWdodCA9ICRpbWdpbmZvWzFdIC8gKCRpbWdpbmZvWzBdIC8gJHdpZHRoKTsNCi8vCQkJfQ0KLy8JCQkkYXR0cmlidXRlcyA9IGFycmF5KCk7DQovLwkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3JlbCcpKQkkYXR0cmlidXRlc1sncmVsJ10JCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9yZWwnKTsNCi8vCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfY2xhc3MnKSkJJGF0dHJpYnV0ZXNbJ2NsYXNzJ10JPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJyk7DQovLwkJCQ0KLy8JCQkkaHRtbCA9ICc8aW1nIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvJy4kaW1hZ2UuJyIgd2lkdGg9IicuJHdpZHRoLiciIGhlaWdodD0iJy4kaGVpZ2h0LiciICcuJGF0dHIuJyAvPic7DQovLwkJCSRodG1sID0gQXV0b2xpZ2h0Ym94OjpJbWcyVGh1bWIoJGh0bWwsICRhdHRyaWJ1dGVzKTsNCi8vCQl9DQovLwkJZWxzZSB7DQovLwkJCSRodG1sID0gJzxpbWcgc3JjPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy8nLiRpbWFnZS4nIiB3aWR0aD0iJy4kaW1naW5mb1swXS4nIiBoZWlnaHQ9IicuJGltZ2luZm9bMV0uJyIgJy4kYXR0ci4nIC8+JzsNCi8vCQl9DQovLwkJaWYgKCRub190YWcpIHsNCi8vCQkJJGltZyA9IGJ0VG9vbHM6OmdldEltZ1RhZ3MoJGh0bWwpOw0KLy8JCQllY2hvICRpbWdbMF1bJ3NyYyddOw0KLy8JCQlyZXR1cm47DQovLwkJfQ0KLy8JCQ0KLy8JCWVjaG8gJGh0bWw7DQovLwkJcmV0dXJuOw0KLy8JCQ0KLy8JfQ0KCWVsc2Ugew0KCQllY2hvIHN0cl9yZXBsYWNlKCJbbW9kXSIsICRwYXJhbXNbJ21vZCddLCAkdGhpcy0+TGFuZygicGFyYW1faW52YWxpZCIpKTsNCgl9DQoJDQoJcmV0dXJuICcnOw0KCQ0KfQ0KZWxzZSBpZiAoY291bnQoJHBhcmFtKSA+IDApIHsNCgllY2hvIHN0cl9yZXBsYWNlKCJbcGFyYW1dIiwgIm1vZCIsICR0aGlzLT5MYW5nKCJwYXJhbV9lbXB0eSIpKTsNCglyZXR1cm47DQp9DQovLyBDaGVjayBpZiBtb2R1bGUgd2FzIGFscmVhZHkgdXNlZCAoZGllcyB0cmlmZnQgbnVyIGbDvHIgZGllIExvZ2dpbmcgdW5kIFVSTCBGdW5rdGlvbmVuIGRlcyBNb2R1bHMgenUpDQplbHNlIGlmICghJHRoaXMtPnRiVXNlZCkgew0KCS8vIFNldCB0aGUgbW9kdWxlIHVzZWQNCgkkdGhpcy0+dGJVc2VkID0gdHJ1ZTsNCgkvLyBTZXQgY29udGVudCBpZA0KCSR0aGlzLT5wYWdlSWQgPSAoaW50KWNtc21zKCktPmdldF92YXJpYWJsZSgiY29udGVudF9pZCIpOw0KCQ0KCS8vIExvZyB2aXNpdA0KCSR0YkxvZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c191c2UnKSA/ICR0aGlzLT50YlJlZGlyZWN0TG9nLT5QcmVwYXJlTG9nVmlzaXQoKSA6IGFycmF5KCk7DQoJLy8gTG9nIGRlYnVnDQoJaWYgICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJykpICR0aGlzLT50YlJlZGlyZWN0TG9nLT5EZWJ1Z01EKCk7DQoJLy8gTG9vayBmb3IgcmVkaXJlY3QgdXJscw0KCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScpKSAkdGhpcy0+dGJSZWRpcmVjdExvZy0+UmVkaXJlY3RVUkwoJHRiTG9nKTsNCgkvLyBMb2cgZXJyb3JzIChlLmcuIDQwNCkNCglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpKSAkdGhpcy0+dGJSZWRpcmVjdExvZy0+TG9nRXJyb3IoJHRiTG9nKTsNCn0NCnJldHVybiAnJzsNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KDQovLyBTZXQgbmVlZGVkIG9iamVjdHMNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCg0KLy8gSW5zZXJ0IGNvbnRlbnQgb3BlcmF0aW9ucyBjbGFzcw0KJHRiQ29udGVudE9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCg0KLy8gR2V0IFRhYiBSZWRpcmVjdCBhY3Rpb24NCiR0YkRlZmF1bHRUYWIgPSAnbWFpbic7DQoNCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogJHRiRGVmYXVsdFRhYjsNCg0KJHRiU3VjY2VzcyA9IGlzc2V0KCRwYXJhbXNbJ3N1Y2VzcyddKSA/ICRwYXJhbXNbJ3N1Y2VzcyddIDogJyc7DQoNCg0KLy8gR2V0IGRiIGhhbmRsZQ0KLy8kdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQovLyRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJHRiRGIpOw0KLy8kdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScsICdteXNxbGknID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScpOw0KLy8NCi8vLy8gQ1NWDQovLyRmbGRzID0gIg0KLy8JZmlsZW5yIEkgS0VZIEFVVE8sDQovLwlmaWxlbmFtZSBDKDI1NSksDQovLwlwYXRoIEMoNTAwKSwNCi8vCWZpbGVzaXplIEk4LA0KLy8JbGFzdHVwZGF0ZSBEVA0KLy8iOw0KLy8kc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3hfY3N2IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7DQovLyRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KZWNobyAkdGhpcy0+dGJEb25hdGU7DQoNCi8vIERpc3BsYXlzIHRoZSBUYWJzDQplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsNCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIHsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21haW4nLCR0aGlzLT5MYW5nKCdtYWluJyksJHRhYnRvPT0nbWFpbic/dHJ1ZTpmYWxzZSk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcpICkgew0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignNDA0JywkdGhpcy0+TGFuZygnNDA0JyksJHRhYnRvPT0nNDA0Jz90cnVlOmZhbHNlKTsNCn0NCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVkaXJlY3RzJywkdGhpcy0+TGFuZygncmVkaXJlY3RzJyksJHRhYnRvPT0ncmVkaXJlY3RzJz90cnVlOmZhbHNlKTsNCn0NCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJykgKSB7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzdGF0cycsJHRoaXMtPkxhbmcoJ3N0YXRzJyksJHRhYnRvPT0nc3RhdHMnP3RydWU6ZmFsc2UpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgKSB7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhdXRvbGlnaHRib3gnLCR0aGlzLT5MYW5nKCdhdXRvbGlnaHRib3gnKSwkdGFidG89PSdhdXRvbGlnaHRib3gnP3RydWU6ZmFsc2UpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJykgKSB7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzb2NpYWxzaGFyZXByaXZhY3knLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3knKSwkdGFidG89PSdzb2NpYWxzaGFyZXByaXZhY3knP3RydWU6ZmFsc2UpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d2l0dGVyZmVlZF91c2UnKSApIHsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3R3aXR0ZXJmZWVkJywkdGhpcy0+TGFuZygndHdpdHRlcmZlZWQnKSwkdGFidG89PSd0d2l0dGVyZmVlZCc/dHJ1ZTpmYWxzZSk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nzdl91c2UnKSApIHsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NzdicsJHRoaXMtPkxhbmcoJ2NzdicpLCR0YWJ0bz09J2Nzdic/dHJ1ZTpmYWxzZSk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfdXNlJykgKSB7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0YWlsJywkdGhpcy0+TGFuZygndGFpbCcpLCR0YWJ0bz09J3RhaWwnP3RydWU6ZmFsc2UpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWJ1Z191c2UnKSApIHsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2RlYnVnJywkdGhpcy0+TGFuZygnZGVidWcnKSwkdGFidG89PSdkZWJ1Zyc/dHJ1ZTpmYWxzZSk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZHVsZW9wc191c2UnKSApIHsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21vZHVsZW9wcycsJHRoaXMtPkxhbmcoJ21vZHVsZW9wcycpLCR0YWJ0bz09J21vZHVsZW9wcyc/dHJ1ZTpmYWxzZSk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSB7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVmcycsJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzJyksJHRhYnRvPT0ncHJlZnMnP3RydWU6ZmFsc2UpOw0KfQ0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQovLyBEaXNwbGF5IHRoZSBjb250ZW50IG9mIHRoZSB0YWJzDQplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsNCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYignbWFpbicsJHBhcmFtcyk7DQoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX21haW4ucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCc0MDQnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl80MDQucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigncmVkaXJlY3RzJywkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVkaXJlY3RzLnBocCcpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c191c2UnKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYignc3RhdHMnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9zdGF0cy5waHAnKTsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCn0NCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhdXRvbGlnaHRib3gnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9hdXRvbGlnaHRib3gucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYignc29jaWFsc2hhcmVwcml2YWN5JywkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fc29jaWFsc2hhcmVwcml2YWN5LnBocCcpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d2l0dGVyZmVlZF91c2UnKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigndHdpdHRlcmZlZWQnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl90d2l0dGVyZmVlZC5waHAnKTsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCn0NCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3N2X3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjc3YnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jc3YucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWJ1ZycsJHBhcmFtcyk7DQoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RlYnVnLnBocCcpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0YWlsJywkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdGFpbC5waHAnKTsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCn0NCmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kdWxlb3BzX3VzZScpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdtb2R1bGVvcHMnLCRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9tb2R1bGVvcHMucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSB7DQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3ByZWZzJywkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcHJlZnMucGhwJyk7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoKcHJpbnRfcigkcGFyYW1zKTsK]]></data>
	</file>
	<file>
	  <filename>/action.do_addtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkJCT8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IA0KJHNlY3Rpb24gPSBpc3NldCgkcGFyYW1zWydzZWN0aW9uJ10pCT8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3NlY3Rpb24nXSkgOiAnJzsNCiR2ZXJzaW9uID0gaXNzZXQoJHBhcmFtc1sndmVyc2lvbiddKQk/ICRwYXJhbXNbJ3ZlcnNpb24nXQkJOiAnJzsNCiRhYm91dAkgPSBpc3NldCgkcGFyYW1zWydhYm91dCddKSAJCT8gJHBhcmFtc1snYWJvdXQnXQkJCTogJyc7DQokanF1ZXJ5CSA9IGlzc2V0KCRwYXJhbXNbJ2pxdWVyeSddKQkJPyAoaW50KSAkcGFyYW1zWydqcXVlcnknXQk6ICcnOw0KJG9wdGlvbnMgPSBhcnJheSgpOw0KDQoNCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgndGFidG8nID0+ICR0YnRhYnRvKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KfQ0KDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIA0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNYW5hZ2UgVG9vbEJveCcpKTsNCglyZXR1cm47DQp9DQppZiAoIGVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygnZXJyb3JnZXR0aW5ndGVtcGxhdGVuYW1lJyksICd0YWJ0bycgPT4gJHRidGFidG8pOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCg0KaWYgKCBlbXB0eSgkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSkgYW5kICRzZWN0aW9uICE9ICJhdXRvbGlnaHRib3giICApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2ludmFsaWRjb2RlJyksICd0YWJ0bycgPT4gJHRidGFidG8pOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQokcGFyYW1zWyd0ZW1wbGF0ZSddID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCg0KaWYgKCRzZWN0aW9uID09ICJhdXRvbGlnaHRib3giKSAkcGFyYW1zWyd0ZW1wbGF0ZSddID0gImFsYl8iLiRwYXJhbXNbJ3RlbXBsYXRlJ107DQplbHNlIGlmICgkc2VjdGlvbiA9PSAidHdpdHRlcmZlZWQiKSAkcGFyYW1zWyd0ZW1wbGF0ZSddID0gInR3Zl8iLiRwYXJhbXNbJ3RlbXBsYXRlJ107DQplbHNlIGlmICgkc2VjdGlvbiA9PSAiY3N2IikgJHBhcmFtc1sndGVtcGxhdGUnXSA9ICJjc3YiLnRyaW0oJHBhcmFtc1sndHBsc2VjdGlvbiddKS4nXycuJHBhcmFtc1sndGVtcGxhdGUnXTsNCg0KLy8gY2hlY2sgaWYgdGhpcyB0ZW1wbGF0ZSBhbHJlYWR5IGV4aXN0cw0KJHR4dCA9IHRyaW0oJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pKTsNCmlmKCAkdHh0ICE9ICIiICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygndGVtcGxhdGVleGlzdHMnKSwgJ3RhYnRvJyA9PiAkdGJ0YWJ0byk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCi8vIHNhdmUgdGVtcGxhdGUNCiR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXS5UT09MQk9YX1NFUEFSQVRPUi4kcGFyYW1zWyd0ZW1wbGF0ZWNzcyddLlRPT0xCT1hfU0VQQVJBVE9SLiRwYXJhbXNbJ3RlbXBsYXRlanMnXS4nKn0nICk7DQoNCi8vIHNhdmUgY3NzLWZpbGUNCiRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10gLiAnLmNzcycsJ3cnKTsNCmZ3cml0ZSgkaGFuZGxlLHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkcGFyYW1zWyd0ZW1wbGF0ZWNzcyddKSk7DQpmY2xvc2UoJGhhbmRsZSk7DQoNCi8vIGNyZWF0ZSBkaXINCmlmICgkc2VjdGlvbiAhPSAidHdpdHRlcmZlZWQiKQ0KCW1rZGlyKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuIlRvb2xCb3giLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRlbXBsYXRlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kcGFyYW1zWyd0ZW1wbGF0ZSddKTsJDQoNCi8vIHNhdmUgcHJlZiBpbiBkYg0KJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcw0KCQkodGVtcGxhdGUsdmVyc2lvbixhYm91dCxzZWN0aW9uLGpxdWVyeSxvcHRpb25zLHZpc2libGUpDQoJCVZBTFVFUyAoPyw/LD8sPyw/LD8sMSkiOw0KJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RlbXBsYXRlJ10sJHZlcnNpb24sJGFib3V0LCRzZWN0aW9uLCRqcXVlcnksc2VyaWFsaXplKCRvcHRpb25zKSkpOw0KDQokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZWFkZGVkJywgJ3RhYnRvJyA9PiAkdGJ0YWJ0byk7DQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQ0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNb2RpZnkgVGVtcGxhdGVzJykpOw0KCXJldHVybjsNCn0NCg0KJHRidGFidG8gPSBpc3NldCgkcGFyYW1zWyd0YWJ0byddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKSA6ICIiOyANCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7DQoNCmlmKCAhKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKSApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InPT5sYW5nKCdtaXNzaW5ncGFyYW1zJyksICd0YWJ0byc9PiR0YnRhYnRvKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpOw0KfQ0KDQokdGVtcGxhdGUgPSBjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCR0ZW1wbGF0ZSk7DQoNCi8vIGRlbGV0ZSBjc3MtZmlsZQ0KaWYoIGZpbGVfZXhpc3RzKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHRlbXBsYXRlIC4gJy5jc3MnKSApDQp7DQogICAgdW5saW5rKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHRlbXBsYXRlIC4gJy5jc3MnKTsNCn0NCg0KdGJVdGlsczo6ZGVsZXRlRm9sZGVyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvJyAuIHN0cnRvbG93ZXIoJHRlbXBsYXRlKSAuICcvJykpOw0KDQovLyBkZWxldGUgdGVtcGxhdGVwcm9wZXJ0aWVzDQokcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIFdIRVJFIHRlbXBsYXRlPT8iOw0KJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0ZW1wbGF0ZSkpOw0KDQoNCiRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ3RlbXBsYXRlZGVsZXRlZCcsICd0YWJ0bycgPT4gJHRidGFidG8pOw0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCg0K]]></data>
	</file>
	<file>
	  <filename>/action.do_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJHRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgDQokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOw0KJHZlcnNpb24gPSBpc3NldCgkcGFyYW1zWyd2ZXJzaW9uJ10pCT8gJHBhcmFtc1sndmVyc2lvbiddCQk6ICcnOw0KJGFib3V0CSA9IGlzc2V0KCRwYXJhbXNbJ2Fib3V0J10pIAkJPyAkcGFyYW1zWydhYm91dCddCQkJOiAnJzsNCiRqcXVlcnkJID0gaXNzZXQoJHBhcmFtc1snanF1ZXJ5J10pCQk/IChpbnQpICRwYXJhbXNbJ2pxdWVyeSddCTogMDsNCiRvcHRpb25zID0gYXJyYXkoKTsNCg0KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCd0YWJ0bycgPT4gJHRhYnRvKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KfQ0KDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIA0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNYW5hZ2UgVG9vbEJveCcpKTsNCglyZXR1cm47DQp9DQoNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KaWYgKCFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSBvciBlbXB0eSgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2Vycm9yZ2V0dGluZ3RlbXBsYXRlbmFtZScpLCAndGFidG8nID0+ICR0YWJ0byk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCmlmICgoIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pIG9yIGVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddKSkgYW5kICRzZWN0aW9uICE9ICJhdXRvbGlnaHRib3giKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdpbnZhbGlkY29kZScpLCAndGFidG8nID0+ICR0YWJ0byk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCmlmIChpc3NldCgkcGFyYW1zWydyZXNldGJ1dHRvbiddKSApDQp7DQoNCgkkZm4gPXRiVXRpbHM6OmdldFRwbFhNTEZpbGUoJHNlY3Rpb24sc3RyX3JlcGxhY2UoJHRoaXMtPmdldFRwbFRva2VuKCksICcnLCAkcGFyYW1zWyd0ZW1wbGF0ZSddKSk7DQoJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApDQoJew0KCQkkeG1sID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsIHRydWUpKSB7DQoJCQkkZXJyb3JzID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7DQoJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JzWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnICwgJycsICRwYXJhbXMpOw0KCQkJcmV0dXJuOw0KCQl9DQoJfQ0KCWVsc2Ugew0KCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnKS4nICcuJGZuLCAndGFidG8nID0+ICR0YWJ0byk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnICwgJycsICRwYXJhbXMpOw0KCQlyZXR1cm47DQoJfQ0KfQ0KZWxzZQ0Kew0KCSR0cGxjb2RlCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10pID8gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gOiAnJzsNCgkkdHBsY3NzCQk9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlY3NzJ10pID8gJHBhcmFtc1sndGVtcGxhdGVjc3MnXSA6ICcnOw0KCSR0cGxqcwkJPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZWpzJ10pID8gJHBhcmFtc1sndGVtcGxhdGVqcyddIDogJyc7DQoJJHRwbG1vYmNvZGUJPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnXSkgPyAkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnXSA6ICcnOw0KCSR0cGxtb2Jjc3MJPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWNzcyddKSA/ICRwYXJhbXNbJ3RlbXBsYXRlbW9iaWxlY3NzJ10gOiAnJzsNCgkkdHBsbW9ianMJPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWpzJ10pID8gJHBhcmFtc1sndGVtcGxhdGVtb2JpbGVqcyddIDogJyc7DQoJDQoJaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZV9tb2JpbGV0ZW1wbGF0ZSddKSkgJG9wdGlvbnNbJ3VzZV9tb2JpbGV0ZW1wbGF0ZSddID0gJHBhcmFtc1sndXNlX21vYmlsZXRlbXBsYXRlJ107DQoJDQoJLy8gc2F2ZSB0ZW1wbGF0ZQ0KCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkdHBsY29kZS5UT09MQk9YX1NFUEFSQVRPUi4kdHBsY3NzLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxqcy5UT09MQk9YX1NFUEFSQVRPUi4kdHBsbW9iY29kZS5UT09MQk9YX1NFUEFSQVRPUi4kdHBsbW9iY3NzLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxtb2Jqcy4nKn0nICk7DQoNCgkvLyBzYXZlIGNzcy1maWxlDQoJJHRwbGNzcyA9IHRyaW0oJHRwbGNzcyk7DQoJaWYgKCBlbXB0eSgkdHBsY3NzKSApDQoJew0KCQlAdW5saW5rKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHBhcmFtc1sndGVtcGxhdGUnXSAuICcuY3NzJyk7DQoJfQ0KCWVsc2UNCgl7DQoJCSRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10gLiAnLmNzcycsJ3cnKTsNCgkJZndyaXRlKCRoYW5kbGUsdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCR0cGxjc3MpKTsNCgkJZmNsb3NlKCRoYW5kbGUpOw0KCX0JDQoJLy8gc2F2ZSBjc3MtZmlsZTsNCgkkdHBsbW9iY3NzID0gdHJpbSgkdHBsbW9iY3NzKTsNCglpZiAoIGVtcHR5KCR0cGxtb2Jjc3MpICkNCgl7DQoJCUB1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddIC4gJ19tb2JpbGUuY3NzJyk7DQoJfQ0KCWVsc2UNCgl7DQoJCSRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10gLiAnX21vYmlsZS5jc3MnLCd3Jyk7DQoJCWZ3cml0ZSgkaGFuZGxlLHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkdHBsbW9iY3NzKSk7DQoJCWZjbG9zZSgkaGFuZGxlKTsNCgl9DQoJDQoNCgkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcw0KCQkJU0VUIHZlcnNpb249PyxhYm91dD0/LHNlY3Rpb249PyxqcXVlcnk9PyxvcHRpb25zPT8NCgkJCVdIRVJFIHRlbXBsYXRlPT8iOw0KCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmVyc2lvbiwkYWJvdXQsJHNlY3Rpb24sJGpxdWVyeSxzZXJpYWxpemUoJG9wdGlvbnMpLCRwYXJhbXNbJ3RlbXBsYXRlJ10pKTsNCgkNCgkvLyBEYXRlaWVuIGzDtnNjaGVuDQoJaWYgKGlzc2V0KCRwYXJhbXNbJ2RlbGZpbGUnXSkpIHsNCgkJZm9yZWFjaCgkcGFyYW1zWydkZWxmaWxlJ10gYXMgJGZpbGUpIHsNCgkJCXVubGluaygkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiJtb2R1bGVzIi5ESVJFQ1RPUllfU0VQQVJBVE9SLiJUb29sQm94Ii5ESVJFQ1RPUllfU0VQQVJBVE9SLiJ0ZW1wbGF0ZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHBhcmFtc1sndGVtcGxhdGUnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlKTsNCgkJfQ0KCX0NCgkNCgkvLyBjb21iaW5lZCBzdHlsZXNoZWV0cyB1bmQgamF2YXNjcmlwdCBsw7ZzY2hlbg0KCSRtYXNrID0gIHN0cl9yZXBsYWNlKCIvIixESVJFQ1RPUllfU0VQQVJBVE9SLCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvdG1wL2NhY2hlL1Rvb2xCb3hfY29tYmluZWQqIik7DQoJYXJyYXlfbWFwKCAidW5saW5rIiwgZ2xvYiggJG1hc2sgKSApOw0KCQ0KCWlmICgkc2VjdGlvbiA9PSAidHdpdHRlcmZlZWQiKSB7DQoJCSRtYXNrID0gIHN0cl9yZXBsYWNlKCIvIixESVJFQ1RPUllfU0VQQVJBVE9SLCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvdG1wL2NhY2hlL1Rvb2xCb3hfdHdpdHRlcmZlZWQqIik7DQoJCWFycmF5X21hcCggInVubGluayIsIGdsb2IoICRtYXNrICkgKTsNCgl9DQp9DQoJDQppZiAoIGlzc2V0KCRwYXJhbXNbJ2FwcGx5YnV0dG9uJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ3Jlc2V0YnV0dG9uJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ3RlbXBsYXRlJyA9PiAkcGFyYW1zWyd0ZW1wbGF0ZSddLCAnbW9kZScgPT4gImVkaXQiLCAndGFidG8nID0+ICR0YWJ0bywgJ21vZHVsZV9tZXNzYWdlJyA9PiAkdGhpcy0+TGFuZygndGVtcGxhdGV1cGRhdGVkJykpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnLCAnJywgJHBhcmFtcyk7DQp9DQplbHNlDQp7DQoJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGV1cGRhdGVkJywgJ3RhYnRvJyA9PiAkdGFidG8pOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_exporttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCggJGdDbXMgKSApIGV4aXQoKTsKCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CgppZiggISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01hbmFnZSBUb29sQm94JykpOwoJcmV0dXJuOwp9CgppZiggIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAndGFidG8nID0+ICR0YnRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKfQoKaWYgKCF0YlV0aWxzOjpleHBvcnRUZW1wbGF0ZSgkdGhpcywgJHBhcmFtc1sndGVtcGxhdGUnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_importtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOwokb3ZlcndyaXRlID0gaXNzZXQoJHBhcmFtc1snb3ZlcndyaXRlJ10pID8gKGJvb2wpJHBhcmFtc1snb3ZlcndyaXRlJ10gOiBmYWxzZTsKCiRmaWVsZE5hbWUgPSAkaWQgLiAiaW1wb3J0eG1sIjsKaWYgKCAhaXNzZXQoJF9GSUxFU1skZmllbGROYW1lXSkgfHwgIWlzc2V0KCRfRklMRVMpIHx8ICFpc19hcnJheSgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKQp7CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KZWxzZSB7CgkvLyBub3JtYWxpemUgdGhlIGZpbGUgdmFyaWFibGUKCSRmaWxlID0gJF9GSUxFU1skZmllbGROYW1lXTsKCQoJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlWyd0bXBfbmFtZSddKTsKCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsICRvdmVyd3JpdGUpKSB7CgkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJcmV0dXJuOwoJfQoJCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZWltcG9ydCcsICd0YWJ0bycgPT4gJHRhYnRvKSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/action.do_logUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KTW9kdWxlOiBUb29sQm94DQpBdXRob3I6IEx1a2FzIEJsYXR0ZXINCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbg0KaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0Ow0KDQokdGJTbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCg0KJGxvZ0ZpbGUJPSBpc3NldCgkcGFyYW1zWydmJ10pID8gYmFzZTY0X2RlY29kZSgkcGFyYW1zWydmJ10pIDogJyc7DQoka2V5CQk9IGlzc2V0KCRwYXJhbXNbJ2snXSkgPyBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ2snXSkgOiAnJzsNCiRoYXNoCQk9IGlzc2V0KCRwYXJhbXNbJ2gnXSkgPyAkcGFyYW1zWydoJ10gOiAnJzsNCiRsaW5lcyAJCT0gaXNzZXQoJHBhcmFtc1snbCddKSA/ICRwYXJhbXNbJ2wnXSA6ICcyMCc7DQoNCiRwYXJhbXMgPSBhcnJheSgnbG9nRmlsZScgPT4gJGxvZ0ZpbGUsICdrZXknID0+ICRrZXkpOw0KJHNhbHQgPSAidGJUZGlXVmFkbGlsZXNsY2kiOyANCiRoYXNoMiA9IGJ0VG9vbHM6OmdldFBhcmFtc0hhc2goJHBhcmFtcywgJHNhbHQpOw0KDQppZiAoJGhhc2ggIT0gJGhhc2gyKSB7DQoJZWNobyAicGFyYW1ldGVyIHd1cmRlbiBtYW5pcHVsaWVydCI7CQ0KfQ0KDQplY2hvIHRiTG9nVXBkYXRlcjo6Z2V0TG9nTGluZXMoJGxvZ0ZpbGUsICRrZXksICRsaW5lcyk7DQoNCmV4aXQoMCk7DQo=]]></data>
	</file>
	<file>
	  <filename>/action.do_moduleops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokbW9kZSAgPSBpc3NldCgkcGFyYW1zWydtb2RlJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ21vZGUnXSkgOiAnJzsKCmlmICghJG1vZGUpIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJykgLiAnIFwnbW9kZVwnJywgJ3RhYnRvJyA9PiAkdGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJcmV0dXJuOwp9CgppZiAoJG1vZGUgPT0gImltcG9ydCIpIHsKCgkkZmllbGROYW1lID0gJGlkIC4gImltcG9ydHhtbCI7CglpZiAoICFpc3NldCgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhaXNzZXQoJF9GSUxFUykgfHwgIWlzX2FycmF5KCRfRklMRVNbJGZpZWxkTmFtZV0pIHx8ICEkX0ZJTEVTWyRmaWVsZE5hbWVdWyduYW1lJ10pCgl7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCQlyZXR1cm47Cgl9CgllbHNlIHsKCQkvLyBub3JtYWxpemUgdGhlIGZpbGUgdmFyaWFibGUKCQkkZmlsZSA9ICRfRklMRVNbJGZpZWxkTmFtZV07CgoJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZVsndG1wX25hbWUnXSk7CgkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgJG92ZXJ3cml0ZSkpIHsKCQkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCQkJcmV0dXJuOwoJCX0KCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsIGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGVpbXBvcnQnLCAndGFidG8nID0+ICR0YWJ0bykpOwoJfQp9CmVsc2UgaWYgKCRtb2RlID09ICJleHBvcnQiKSB7CgkkbSA9IGlzc2V0KCRwYXJhbXNbJ20nXSkgPyAkcGFyYW1zWydtJ10gOiAnJzsKCQoJJG1vZCA9IG5ldyB0Yk1vZHVsZU9wcygkbSk7CgkkbW9kdWxlID0gJG1vZC0+Z2V0Q3VycmVudE1vZHVsZSgpOwoJaWYoIWlzX29iamVjdCgkbW9kdWxlKSl7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2Vycm9yX3Vua25vd25wYXJhbScpIC4gJyBcJ209Jy4kbW9kdWxlLidcJycsICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJcmV0dXJuOwoJfQoJCgoJJHhtbCA9ICRtb2QtPkNyZWF0ZVhNTFBhY2thZ2UoKTsKCQoKCS8vIHNlbmQgdGhlIGZpbGUKCW9iX2VuZF9jbGVhbigpOwoJb2JfZW5kX2NsZWFuKCk7CgloZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKCWhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9mb3JjZS1kb3dubG9hZCcpOwoJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0nLiRtb2R1bGUtPkdldE5hbWUoKS4nLScuJG1vZHVsZS0+R2V0VmVyc2lvbigpLictcHJlZmVyZW5jZXMueG1sJyk7CgllY2hvICR4bWw7CglleGl0KCk7CgkKCQoJCgkKCQoJCgkKfQplbHNlIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygnZXJyb3JfdW5rbm93bnBhcmFtJykgLiAnIFwnbW9kZT0nLiRtb2RlLidcJycsICd0YWJ0bycgPT4gJHRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.do_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCAhY21zbXMoKSApIGV4aXQoKTsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0Ow0KDQpjbGFzcyBxcVVwbG9hZGVkRmlsZVhociB7DQogICAgLyoqDQogICAgICogU2F2ZSB0aGUgZmlsZSB0byB0aGUgc3BlY2lmaWVkIHBhdGgNCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gVFJVRSBvbiBzdWNjZXNzDQogICAgICovDQogICAgZnVuY3Rpb24gc2F2ZSgkcGF0aCkgeyAgICANCiAgICAgICAgJGlucHV0ID0gZm9wZW4oInBocDovL2lucHV0IiwgInIiKTsNCiAgICAgICAgJHRlbXAgPSB0bXBmaWxlKCk7DQogICAgICAgICRyZWFsU2l6ZSA9IHN0cmVhbV9jb3B5X3RvX3N0cmVhbSgkaW5wdXQsICR0ZW1wKTsNCiAgICAgICAgZmNsb3NlKCRpbnB1dCk7DQogICAgICAgIA0KICAgICAgICBpZiAoJHJlYWxTaXplICE9ICR0aGlzLT5nZXRTaXplKCkpeyAgICAgICAgICAgIA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkdGFyZ2V0ID0gZm9wZW4oJHBhdGgsICJ3Iik7ICAgICAgICANCiAgICAgICAgZnNlZWsoJHRlbXAsIDAsIFNFRUtfU0VUKTsNCiAgICAgICAgc3RyZWFtX2NvcHlfdG9fc3RyZWFtKCR0ZW1wLCAkdGFyZ2V0KTsNCiAgICAgICAgZmNsb3NlKCR0YXJnZXQpOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIGZ1bmN0aW9uIGdldE5hbWUoKSB7DQogICAgICAgIHJldHVybiAkX0dFVFsncXFmaWxlJ107DQogICAgfQ0KICAgIGZ1bmN0aW9uIGdldFNpemUoKSB7DQogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsiQ09OVEVOVF9MRU5HVEgiXSkpew0KICAgICAgICAgICAgcmV0dXJuIChpbnQpJF9TRVJWRVJbIkNPTlRFTlRfTEVOR1RIIl07ICAgICAgICAgICAgDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdHZXR0aW5nIGNvbnRlbnQgbGVuZ3RoIGlzIG5vdCBzdXBwb3J0ZWQuJyk7DQogICAgICAgIH0gICAgICANCiAgICB9ICAgDQp9DQoNCi8qKg0KICogSGFuZGxlIGZpbGUgdXBsb2FkcyB2aWEgcmVndWxhciBmb3JtIHBvc3QgKHVzZXMgdGhlICRfRklMRVMgYXJyYXkpDQogKi8NCmNsYXNzIHFxVXBsb2FkZWRGaWxlRm9ybSB7ICANCiAgICAvKioNCiAgICAgKiBTYXZlIHRoZSBmaWxlIHRvIHRoZSBzcGVjaWZpZWQgcGF0aA0KICAgICAqIEByZXR1cm4gYm9vbGVhbiBUUlVFIG9uIHN1Y2Nlc3MNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBzYXZlKCRwYXRoKSB7DQogICAgICAgIGlmKCFtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1sncXFmaWxlJ11bJ3RtcF9uYW1lJ10sICRwYXRoKSl7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIGZ1bmN0aW9uIGdldE5hbWUoKSB7DQogICAgICAgIHJldHVybiAkX0ZJTEVTWydxcWZpbGUnXVsnbmFtZSddOw0KICAgIH0NCiAgICBmdW5jdGlvbiBnZXRTaXplKCkgew0KICAgICAgICByZXR1cm4gJF9GSUxFU1sncXFmaWxlJ11bJ3NpemUnXTsNCiAgICB9DQp9DQoNCmNsYXNzIHFxRmlsZVVwbG9hZGVyIHsNCiAgICBwcml2YXRlICRhbGxvd2VkRXh0ZW5zaW9ucyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkc2l6ZUxpbWl0ID0gMTA0ODU3NjA7DQogICAgcHJpdmF0ZSAkZmlsZTsNCg0KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRhbGxvd2VkRXh0ZW5zaW9ucyA9IGFycmF5KCksICRzaXplTGltaXQgPSAxMDQ4NTc2MCl7ICAgICAgICANCiAgICAgICAgJGFsbG93ZWRFeHRlbnNpb25zID0gYXJyYXlfbWFwKCJzdHJ0b2xvd2VyIiwgJGFsbG93ZWRFeHRlbnNpb25zKTsNCiAgICAgICAgICAgIA0KICAgICAgICAkdGhpcy0+YWxsb3dlZEV4dGVuc2lvbnMgPSAkYWxsb3dlZEV4dGVuc2lvbnM7ICAgICAgICANCiAgICAgICAgJHRoaXMtPnNpemVMaW1pdCA9ICRzaXplTGltaXQ7DQogICAgICAgIA0KICAgICAgICAkdGhpcy0+Y2hlY2tTZXJ2ZXJTZXR0aW5ncygpOyAgICAgICANCg0KICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ3FxZmlsZSddKSkgew0KICAgICAgICAgICAgJHRoaXMtPmZpbGUgPSBuZXcgcXFVcGxvYWRlZEZpbGVYaHIoKTsNCiAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCRfRklMRVNbJ3FxZmlsZSddKSkgew0KICAgICAgICAgICAgJHRoaXMtPmZpbGUgPSBuZXcgcXFVcGxvYWRlZEZpbGVGb3JtKCk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkdGhpcy0+ZmlsZSA9IGZhbHNlOyANCiAgICAgICAgfQ0KICAgIH0NCiAgICANCiAgICBwcml2YXRlIGZ1bmN0aW9uIGNoZWNrU2VydmVyU2V0dGluZ3MoKXsgICAgICAgIA0KICAgICAgICAkcG9zdFNpemUgPSAkdGhpcy0+dG9CeXRlcyhpbmlfZ2V0KCdwb3N0X21heF9zaXplJykpOw0KICAgICAgICAkdXBsb2FkU2l6ZSA9ICR0aGlzLT50b0J5dGVzKGluaV9nZXQoJ3VwbG9hZF9tYXhfZmlsZXNpemUnKSk7IA0KDQogICAgICAgIA0KLy8gICAgICAgIA0KLy8gICAgICAgIGlmICgkcG9zdFNpemUgPCAkdGhpcy0+c2l6ZUxpbWl0IHx8ICR1cGxvYWRTaXplIDwgJHRoaXMtPnNpemVMaW1pdCl7DQovLyAgICAgICAgICAgICRzaXplID0gbWF4KDEsICR0aGlzLT5zaXplTGltaXQgLyAxMDI0IC8gMTAyNCkgLiAnTSc7ICAgICAgICAgICAgIA0KLy8gICAgICAgICAgICBkaWUoInsnZXJyb3InOidpbmNyZWFzZSBwb3N0X21heF9zaXplIGFuZCB1cGxvYWRfbWF4X2ZpbGVzaXplIHRvICRzaXplJ30iKTsgICAgDQovLyAgICAgICAgfSAgICAgICAgDQogICAgfQ0KICAgIA0KICAgIHByaXZhdGUgZnVuY3Rpb24gdG9CeXRlcygkc3RyKXsNCiAgICAgICAgJHZhbCA9IHRyaW0oJHN0cik7DQogICAgICAgICRsYXN0ID0gc3RydG9sb3dlcigkc3RyW3N0cmxlbigkc3RyKS0xXSk7DQogICAgICAgIHN3aXRjaCgkbGFzdCkgew0KICAgICAgICAgICAgY2FzZSAnZyc6ICR2YWwgKj0gMTAyNDsNCiAgICAgICAgICAgIGNhc2UgJ20nOiAkdmFsICo9IDEwMjQ7DQogICAgICAgICAgICBjYXNlICdrJzogJHZhbCAqPSAxMDI0OyAgICAgICAgDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICR2YWw7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFJldHVybnMgYXJyYXkoJ3N1Y2Nlc3MnPT50cnVlKSBvciBhcnJheSgnZXJyb3InPT4nZXJyb3IgbWVzc2FnZScpDQogICAgICovDQogICAgZnVuY3Rpb24gaGFuZGxlVXBsb2FkKCR1cGxvYWREaXJlY3RvcnksICRyZXBsYWNlT2xkRmlsZSA9IEZBTFNFKXsNCiAgICAgICAgaWYgKCFpc193cml0YWJsZSgkdXBsb2FkRGlyZWN0b3J5KSl7DQogICAgICAgICAgICByZXR1cm4gYXJyYXkoJ2Vycm9yJyA9PiAiU2VydmVyIGVycm9yLiBVcGxvYWQgZGlyZWN0b3J5IGlzbid0IHdyaXRhYmxlLiIpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBpZiAoISR0aGlzLT5maWxlKXsNCiAgICAgICAgICAgIHJldHVybiBhcnJheSgnZXJyb3InID0+ICdObyBmaWxlcyB3ZXJlIHVwbG9hZGVkLicpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkc2l6ZSA9ICR0aGlzLT5maWxlLT5nZXRTaXplKCk7DQogICAgICAgIA0KICAgICAgICBpZiAoJHNpemUgPT0gMCkgew0KICAgICAgICAgICAgcmV0dXJuIGFycmF5KCdlcnJvcicgPT4gJ0ZpbGUgaXMgZW1wdHknKTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKCRzaXplID4gJHRoaXMtPnNpemVMaW1pdCkgew0KICAgICAgICAgICAgcmV0dXJuIGFycmF5KCdlcnJvcicgPT4gJ0ZpbGUgaXMgdG9vIGxhcmdlJyk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICRwYXRoaW5mbyA9IHBhdGhpbmZvKCR0aGlzLT5maWxlLT5nZXROYW1lKCkpOw0KICAgICAgICAkZmlsZW5hbWUgPSAkcGF0aGluZm9bJ2ZpbGVuYW1lJ107DQogICAgICAgIC8vJGZpbGVuYW1lID0gbWQ1KHVuaXFpZCgpKTsNCiAgICAgICAgJGV4dCA9ICRwYXRoaW5mb1snZXh0ZW5zaW9uJ107DQoNCiAgICAgICAgaWYoJHRoaXMtPmFsbG93ZWRFeHRlbnNpb25zICYmICFpbl9hcnJheShzdHJ0b2xvd2VyKCRleHQpLCAkdGhpcy0+YWxsb3dlZEV4dGVuc2lvbnMpKXsNCiAgICAgICAgICAgICR0aGVzZSA9IGltcGxvZGUoJywgJywgJHRoaXMtPmFsbG93ZWRFeHRlbnNpb25zKTsNCiAgICAgICAgICAgIHJldHVybiBhcnJheSgnZXJyb3InID0+ICdGaWxlIGhhcyBhbiBpbnZhbGlkIGV4dGVuc2lvbiwgaXQgc2hvdWxkIGJlIG9uZSBvZiAnLiAkdGhlc2UgLiAnLicpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBpZighJHJlcGxhY2VPbGRGaWxlKXsNCiAgICAgICAgICAgIC8vLyBkb24ndCBvdmVyd3JpdGUgcHJldmlvdXMgZmlsZXMgdGhhdCB3ZXJlIHVwbG9hZGVkDQogICAgICAgICAgICB3aGlsZSAoZmlsZV9leGlzdHMoJHVwbG9hZERpcmVjdG9yeSAuICRmaWxlbmFtZSAuICcuJyAuICRleHQpKSB7DQogICAgICAgICAgICAgICAgJGZpbGVuYW1lIC49IHJhbmQoMTAsIDk5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKCR0aGlzLT5maWxlLT5zYXZlKCR1cGxvYWREaXJlY3RvcnkgLiAkZmlsZW5hbWUgLiAnLicgLiAkZXh0KSl7DQogICAgICAgICAgICByZXR1cm4gYXJyYXkoJ3N1Y2Nlc3MnPT50cnVlKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHJldHVybiBhcnJheSgnZXJyb3InPT4gJ0NvdWxkIG5vdCBzYXZlIHVwbG9hZGVkIGZpbGUuJyAuDQogICAgICAgICAgICAgICAgJ1RoZSB1cGxvYWQgd2FzIGNhbmNlbGxlZCwgb3Igc2VydmVyIGVycm9yIGVuY291bnRlcmVkJyk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgfSAgICANCn0NCg0KLy8gbGlzdCBvZiB2YWxpZCBleHRlbnNpb25zLCBleC4gYXJyYXkoImpwZWciLCAieG1sIiwgImJtcCIpDQokYWxsb3dlZEV4dGVuc2lvbnMgPSBhcnJheSgianBlZyIsImpwZyIsImdpZiIsInhtbCIsImpzIiwiY3NzIiwicG5nIik7DQovLyBtYXggZmlsZSBzaXplIGluIGJ5dGVzDQokc2l6ZUxpbWl0ID0gMTAgKiAxMDI0ICogMTAyNDsNCg0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KDQokdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJF9HRVRbJ3RlbXBsYXRlaWQnXSk7DQoNCiR0ZW1wbGF0ZSA9IGlzc2V0KCR0ZW1wbGF0ZXByb3BzWyd0ZW1wbGF0ZSddKSA/ICR0ZW1wbGF0ZXByb3BzWyd0ZW1wbGF0ZSddIDogInVua25vd24iOw0KDQokdXBsb2FkcGF0aCA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuIlRvb2xCb3giLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRlbXBsYXRlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGVtcGxhdGUuRElSRUNUT1JZX1NFUEFSQVRPUjsNCg0KDQokdXBsb2FkZXIgPSBuZXcgcXFGaWxlVXBsb2FkZXIoJGFsbG93ZWRFeHRlbnNpb25zLCAkc2l6ZUxpbWl0KTsNCiRyZXN1bHQgPSAkdXBsb2FkZXItPmhhbmRsZVVwbG9hZCgkdXBsb2FkcGF0aCk7DQoNCi8vIHRvIHBhc3MgZGF0YSB0aHJvdWdoIGlmcmFtZSB5b3Ugd2lsbCBuZWVkIHRvIGVuY29kZSBhbGwgaHRtbCB0YWdzDQplY2hvIGh0bWxzcGVjaWFsY2hhcnMoanNvbl9lbmNvZGUoJHJlc3VsdCksIEVOVF9OT1FVT1RFUyk7DQoNCmV4aXQoMCk7]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbg0KaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0Ow0KDQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgDQokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOw0KJHRwbHNlY3Rpb24gPSBpc3NldCgkcGFyYW1zWyd0cGxzZWN0aW9uJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RwbHNlY3Rpb24nXSkgOiAnJzsNCg0KJHRlbXBsYXRlbmFtZSA9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pID8gc3RyX3JlcGxhY2UoYXJyYXkoImFsYl8iLCJ0d2ZfIiksIiIsJHBhcmFtc1sndGVtcGxhdGUnXSkgOiAnJzsNCiR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOyAvLyAgJiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ107DQoNCmlmKCAhaXNzZXQoJHBhcmFtc1snbW9kZSddKSApDQp7DQoJJHBhcmFtc1snbW9kdWxlX2Vycm9yJ10gPSBsYW5nKCdtaXNzaW5ncGFyYW1zJyk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCmlmKCAkcGFyYW1zWydtb2RlJ10gPT0gJ3N3aXRjaGFjdGl2ZScgKQ0Kew0KCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIFNFVCB2aXNpYmxlID0gdmlzaWJsZV4xIFdIRVJFIHRlbXBsYXRlaWQgPSA/IjsNCgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyd0ZW1wbGF0ZWlkJ10pKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgndGFidG8nID0+ICR0YWJ0bykpOw0KCXJldHVybjsNCn0NCg0KJGNvbnRlbnRzID0gIiI7DQokdGVtcGxhdGVwcm9wcyA9IGFycmF5KCd0ZW1wbGF0ZWlkJz0+MCwgJ3ZlcnNpb24nPT4iMS4wIiwgJ2Fib3V0Jz0+IiIsICdzZWN0aW9uJz0+JHNlY3Rpb24sICd0cGxzZWN0aW9uJyA9PiAkdHBsc2VjdGlvbiwgJ2pxdWVyeScgPT4gMCwgJ2pxdWVyeV9vd24nID0+IDApOw0KDQokc21hcnR5LT5hc3NpZ24oJ21vZGUnLCRwYXJhbXNbJ21vZGUnXSk7DQoNCmlmKCAkcGFyYW1zWydtb2RlJ10gPT0gJ2FkZCcgKQ0Kew0KCSRzbWFydHktPmFzc2lnbignbW9kZScsICdhZGQnKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2RvX2FkZHRlbXBsYXRlJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3RlbXBsYXRlJywgIiIsIDQwICkpOw0KCWlmKCBpc3NldCgkcGFyYW1zWydkZWZhdWx0dGVtcGxhdGVwcmVmJ10pICYmICRwYXJhbXNbJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnXSAhPSAnJyApDQoJew0KCQkkY29udGVudHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkcGFyYW1zWydkZWZhdWx0dGVtcGxhdGVwcmVmJ10pOw0KCX0NCglpZiggaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkgJiYgJHBhcmFtc1sndGVtcGxhdGUnXSAhPSAnJyApDQoJew0KCQkkY29udGVudHMgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGUnXSk7DQoJCSR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCgkJJHRlbXBsYXRlcHJvcHNbJ3ZlcnNpb24nXSA9ICIxLjAiOw0KCQkNCgl9DQoNCgkkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsDQoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd2ZXJzaW9uJywgJHRlbXBsYXRlcHJvcHNbJ3ZlcnNpb24nXSkgLg0KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnc2VjdGlvbicsICR0ZW1wbGF0ZXByb3BzWydzZWN0aW9uJ10pIC4NCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RwbHNlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1sndHBsc2VjdGlvbiddKS4NCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYnRvJywgJHRidGFidG8pIA0KCSk7DQp9DQplbHNlIHsNCglpZiggIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgew0KCQkkcGFyYW1zWydtb2R1bGVfZXJyb3InXSA9IGxhbmcoJ21pc3NpbmdwYXJhbXMnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCgkJcmV0dXJuOw0KCX0NCgkkc21hcnR5LT5hc3NpZ24oJ21vZGUnLCAnZWRpdCcpOw0KCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9fZWRpdHRlbXBsYXRlJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsNCgkNCgkkc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsJHRlbXBsYXRlbmFtZSk7DQoJJGNvbnRlbnRzID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KCSR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCg0KCSRzZWN0aW9uID0gJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXTsNCgkNCgkkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsDQoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0ZW1wbGF0ZWlkJywgJHRlbXBsYXRlcHJvcHNbJ3RlbXBsYXRlaWQnXSkgLg0KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndmVyc2lvbicsICR0ZW1wbGF0ZXByb3BzWyd2ZXJzaW9uJ10pIC4NCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2Fib3V0JywgJHRlbXBsYXRlcHJvcHNbJ2Fib3V0J10pIC4NCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3NlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKSAuDQoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0cGxzZWN0aW9uJywgJHRlbXBsYXRlcHJvcHNbJ3RwbHNlY3Rpb24nXSkgLg0KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndGFidG8nLCAkdGJ0YWJ0bykgDQoJKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsNCiRzbWFydHktPmFzc2lnbignc2VjdGlvbicsJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXSk7DQokc21hcnR5LT5hc3NpZ24oInRlbXBsYXRlaWQiLCR0ZW1wbGF0ZXByb3BzWyd0ZW1wbGF0ZWlkJ10pOw0KJHNtYXJ0eS0+YXNzaWduKCJzZWN0aW9uIiwkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKTsNCiRzbWFydHktPmFzc2lnbignanF1ZXJ5X293bicsJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeV9vd24nXSkgOw0KDQokY29udGVudHNjb2RlID0gZXhwbG9kZShUT09MQk9YX1NFUEFSQVRPUiwgJGNvbnRlbnRzKTsNCg0KJGh0bWxjb2RlCQk9IGlzc2V0KCRjb250ZW50c2NvZGVbMF0pID8gdHJpbSgkY29udGVudHNjb2RlWzBdLCIqfSIpIDogIiI7DQokY3NzY29kZSAJCT0gaXNzZXQoJGNvbnRlbnRzY29kZVsxXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMV0sIip9IikgOiAiIjsNCiRqc2NvZGUgCQk9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gdHJpbSgkY29udGVudHNjb2RlWzJdLCIqfSIpIDogIiI7DQokaHRtbG1vYmlsZWNvZGUJPSBpc3NldCgkY29udGVudHNjb2RlWzNdKSA/IHRyaW0oJGNvbnRlbnRzY29kZVszXSwiKn0iKSA6ICIiOw0KJGNzc21vYmlsZWNvZGUgCT0gaXNzZXQoJGNvbnRlbnRzY29kZVs0XSkgPyB0cmltKCRjb250ZW50c2NvZGVbNF0sIip9IikgOiAiIjsNCiRqc21vYmlsZWNvZGUgCT0gaXNzZXQoJGNvbnRlbnRzY29kZVs1XSkgPyB0cmltKCRjb250ZW50c2NvZGVbNV0sIip9IikgOiAiIjsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2pxdWVyeScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdqcXVlcnknLCcxJywkdGVtcGxhdGVwcm9wc1snanF1ZXJ5J10sJycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX21vYmlsZXRlbXBsYXRlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3VzZV9tb2JpbGV0ZW1wbGF0ZScsJzEnLGlzc2V0KCR0ZW1wbGF0ZXByb3BzWyd1c2VfbW9iaWxldGVtcGxhdGUnXSkgPyAkdGVtcGxhdGVwcm9wc1sndXNlX21vYmlsZXRlbXBsYXRlJ10gOiAwLCdpZD0idXNlX21vYmlsZXRlbXBsYXRlIicpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhICgkaWQsICRodG1sY29kZSwgJ3RlbXBsYXRlY29udGVudCcpKTsNCiRzbWFydHktPmFzc2lnbignbW9iaWxldGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkaHRtbG1vYmlsZWNvZGUsICd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnKSk7DQoNCiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVjc3MnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkY3NzY29kZSwgJ3RlbXBsYXRlY3NzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW1vYmlsZWNzcycsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhICgkaWQsICRjc3Ntb2JpbGVjb2RlLCAndGVtcGxhdGVtb2JpbGVjc3MnKSk7DQoNCiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVqcycsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhICgkaWQsICRqc2NvZGUsICd0ZW1wbGF0ZWpzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW1vYmlsZWpzJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJGpzbW9iaWxlY29kZSwgJ3RlbXBsYXRlbW9iaWxlanMnKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsJHBhcmFtc1snbW9kZSddID09ICdhZGQnID8gJycgOiAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHlidXR0b24nLCAkdGhpcy0+TGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Jlc2V0JywkcGFyYW1zWydtb2RlJ10gIT0gJ2FkZCcgJiYgZmlsZV9leGlzdHMoZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidUb29sQm94LXRwbC0nLiR0ZW1wbGF0ZXByb3BzWydzZWN0aW9uJ10uJy0nLiR0ZW1wbGF0ZW5hbWUuJy54bWwnKSA/ICcmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnIC4gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3Jlc2V0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWwnKSwgJycsICcnLCAkdGhpcy0+TGFuZygncmVzZXRvcmlnaW5hbHdhcm5pbmcnKSkgOiAnJyk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCg0KDQoNCiRyb3dhcnJheSA9IGFycmF5KCk7DQppZiAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkpIHsNCg0KCSRkaXIgPSAiLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy8iIC4gJHBhcmFtc1sndGVtcGxhdGUnXTsNCgkkZGlyID0gaXNfZGlyKCRkaXIpID8gJGRpciA6ICIuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzLyIgLiBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KCSRmaWxlcyA9IHRiVXRpbHM6OmdldEZvbGRlckZpbGVzKCRkaXIsICIvIik7DQoJDQoJZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7DQoJCQ0KCQkkcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoJCSRyb3ctPmV4dAkJPSAnPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9nZXRJY29uLnBocD9leHQ9Jy4kZmlsZVsnZXh0J10uJyIgYWx0PSInLiRmaWxlWydleHQnXS4nIiAvPiAnOw0KCQkkcm93LT5uYW1lCQk9ICRmaWxlWyduYW1lJ107DQoJCSRyb3ctPmxpbmsJCT0gJzxhIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvJy4kcGFyYW1zWyd0ZW1wbGF0ZSddLicvJy4kZmlsZVsnbmFtZSddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRmaWxlWyduYW1lJ10uJzwvYT4nOw0KCQkkcm93LT5zaXplCQk9ICRmaWxlWydzaXplJ107DQoJCSRyb3ctPnJhd3NpemUJPSAkZmlsZVsncmF3c2l6ZSddOw0KCQkkcm93LT5hY3Rpb24JPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2RlbGZpbGVbXScsJGZpbGVbJ25hbWUnXSwnJywnJyk7DQoJCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7DQoJfQ0KCQ0KCWlmICghY291bnQoJHJvd2FycmF5KSkgew0KCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJCSRyb3ctPm5hbWUgPSAkdGhpcy0+TGFuZygnbm9fZmlsZXMnKTsNCgkJJHJvdy0+ZXh0ICA9ICIiOw0KCQkkcm93LT5saW5rID0gJHJvdy0+bmFtZTsNCgkJJHJvdy0+c2l6ZSA9ICIiOw0KCQkkcm93LT5yYXdzaXplID0gIiI7DQoJCSRyb3ctPmFjdGlvbiA9ICIiOw0KCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCX0NCgkNCgkNCn0NCiRzbWFydHktPmFzc2lnbigndHBsZmlsZXMnLCRyb3dhcnJheSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWxlJywkdGhpcy0+TGFuZygncHJvbXB0X2ZpbGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zaXplJywkdGhpcy0+TGFuZygncHJvbXB0X3NpemUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZWxldGUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZGVsZXRlJykpOw0KDQoNCi8vIFVwbG9hZCBzZXR0aW5ncw0KJHBhdHRlcm4gPSAnLzxpbWcuKj9zcmM9IiguKz8pIiguKj8pPi9pJzsgICANCnByZWdfbWF0Y2goJHBhdHRlcm4sICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdhZGRmaWxlcycpLCcnLCcnLCdzeXN0ZW1pY29uJyksJG1hdGNoZXMpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2FkZGZpbGVzaWNvbicsJGNvbmZpZ1sncm9vdF91cmwnXS4iLyIuJGNvbmZpZ1snYWRtaW5fZGlyJ10uIi8iLiRtYXRjaGVzWzFdKTsNCiRzbWFydHktPmFzc2lnbignYWRkZmlsZXMnLCR0aGlzLT5MYW5nKCdhZGRmaWxlcycpKTsNCg0KJGV4dCA9IGV4cGxvZGUoJywnLCAianBnLGpwZWcsZ2lmLHBuZyxqcyxjc3MiKTsNCiRmaWxldHlwZXMgPSAnKi4nIC4gaW1wbG9kZSgnOyouJywgJGV4dCk7DQokZmlsZXNpemUgPSBzdHJfcmVwbGFjZSgnTScsJyBNQicsZ2V0X2NmZ192YXIoJ3Bvc3RfbWF4X3NpemUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbGVfc2l6ZV9saW1pdCcsICRmaWxlc2l6ZSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbGVfdHlwZXMnLCAkZmlsZXR5cGVzKTsNCiRzbWFydHktPmFzc2lnbigndXBsb2FkX3VybCcsIHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX3VwbG9hZCcsICcnLCAnJywgYXJyYXkoJ2Rpc2FibGVfdGhlbWUnPT4ndHJ1ZScpLCAnJywgdHJ1ZSkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZmlsZXVwbG9hZCcsJHRoaXMtPkxhbmcoJ2FkZGZpbGVzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV91cGxvYWRmaWxlJywkdGhpcy0+TGFuZygnYWRkZmlsZXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91cGxvYWRmaWxlJywkdGhpcy0+TGFuZygncHJvbXB0X3VwbG9hZGZpbGUnKSk7DQoNCmlmICgkc2VjdGlvbiA9PSAiYXV0b2xpZ2h0Ym94IikNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZV9hbGIudHBsJyk7DQplbHNlIGlmICgkc2VjdGlvbiA9PSAidHdpdHRlcmZlZWQiKQ0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRlbXBsYXRlX3R3Zi50cGwnKTsNCmVsc2UgaWYgKCRzZWN0aW9uID09ICJjc3YiKQ0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRlbXBsYXRlX2Nzdi50cGwnKTsJDQplbHNlDQoJZWNobyAiPHA+dGhlcmUgaXMgbm8gYWRtaW4gdGVtcGxhdGUgZm9yIHNlY3Rpb24gJyIuJHNlY3Rpb24uIic8L3A+IjsJDQoNCg0K]]></data>
	</file>
	<file>
	  <filename>/action.edittplabout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCAhJGdDbXMgKSBleGl0KCk7DQoNCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgDQokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOw0KDQppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ3RhYnRvJyA9PiAkdGJ0YWJ0byk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCn0NCg0KaWYoICEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApDQp7DQoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01hbmFnZSBUb29sQm94JykpOw0KCXJldHVybjsNCn0NCg0KaWYoICFpc3NldCgkcGFyYW1zWydtb2RlJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApDQp7DQoJJHBhcmFtc1snbW9kdWxlX2Vycm9yJ10gPSBsYW5nKCdtaXNzaW5ncGFyYW1zJyk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCiR0ZW1wbGF0ZSA9IHN0cl9yZXBsYWNlKCJhbGJfIiwgIiIsICRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KDQokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYnRvJywgJHRidGFidG8pKTsNCg0KJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KDQppZiggJHBhcmFtc1snbW9kZSddID09ICdzaG93JyApDQp7DQoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdlZGl0dHBsYWJvdXQnLCRyZXR1cm5pZCwncG9zdCcsJycsIGZhbHNlLCAnJywgYXJyYXkoJ3RlbXBsYXRlJz0+JHBhcmFtc1sndGVtcGxhdGUnXSwgJ21vZGUnPT4iZWRpdCIpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW5hbWUnLCAkdGVtcGxhdGUpOw0KCSRzbWFydHktPmFzc2lnbigndmVyc2lvbicsICR0ZW1wbGF0ZXByb3BzWyd2ZXJzaW9uJ10pOw0KCSRzbWFydHktPmFzc2lnbignYWJvdXQnLCAkdGVtcGxhdGVwcm9wc1snYWJvdXQnXSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZWRpdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdlZGl0JykpKTsNCn0NCmVsc2VpZiAoICRwYXJhbXNbJ21vZGUnXSA9PSAnZWRpdCcgKQ0Kew0KCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZWRpdHRwbGFib3V0JywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCBmYWxzZSwgJycsIGFycmF5KCd0ZW1wbGF0ZSc9PiRwYXJhbXNbJ3RlbXBsYXRlJ10sICdtb2RlJz0+ImRvX2VkaXQiKSkpOw0KCSRzbWFydHktPmFzc2lnbigndGVtcGxhdGVuYW1lJywgJHRlbXBsYXRlKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3ZlcnNpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd2ZXJzaW9uJywgJHRlbXBsYXRlcHJvcHNbJ3ZlcnNpb24nXSwgMTAsIDIwICkpOw0KCSRzbWFydHktPmFzc2lnbignYWJvdXQnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkdGVtcGxhdGVwcm9wc1snYWJvdXQnXSwgJ2Fib3V0JywgJycsICcnLCAnJywgJycsICc4MCcsICcxNScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCn0NCmVsc2UNCnsNCgkvLyBkb19lZGl0DQoJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMNCgkJCQkJCVNFVCB2ZXJzaW9uPT8sIGFib3V0PT8NCgkJCQkJCVdIRVJFIHRlbXBsYXRlPT8iOw0KCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyd2ZXJzaW9uJ10sJHBhcmFtc1snYWJvdXQnXSwkcGFyYW1zWyd0ZW1wbGF0ZSddKSk7DQoJaWYgKCAhJHJlc3VsdCApDQoJew0KCQllY2hvICdFUlJPUjogJyAuIG15c3FsX2Vycm9yKCk7DQoJCWV4aXQoKTsNCgl9DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2VkaXR0cGxhYm91dCcsICcnLCBhcnJheSgndGVtcGxhdGUnPT4kcGFyYW1zWyd0ZW1wbGF0ZSddLCAnbW9kZSc9PiJzaG93IiwgJ3RhYnRvJz0+JHRidGFidG8sICdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCd0ZW1wbGF0ZXVwZGF0ZWQnKSkpOw0KCWV4aXQoKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9hYm91dCcpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlbmFtZScsJHRoaXMtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZW5hbWUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF92ZXJzaW9uJywkdGhpcy0+TGFuZygncHJvbXB0X3ZlcnNpb24nKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hYm91dCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9hYm91dCcpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRwbGFib3V0LnRwbCcpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.logUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbg0KaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0Ow0KaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddICE9ICdQT1NUJyApIGV4aXQ7DQoNCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCJtb2QiLCR0aGlzKTsNCg0KLy8gR2V0IFBPU1QgZGF0YQ0KJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7DQoNCi8vIHRiTG9nVXBkYXRlciBTZXNzaW9uDQokc2Vzc2lvbl9uYW1lID0gInRiTG9nVXBkYXRlciI7DQpzZXNzaW9uX25hbWUoJHNlc3Npb25fbmFtZSk7DQoNCmlmIChpc3NldCgkcGFyYW1zWydzdGFydGJ1dHRvbiddKSApIHsNCgkNCgkNCgkkc2FsdCA9ICJ0YlRkaVdWYWRsaWxlc2xjaSI7DQoJDQoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdsb2dVcGRhdGVyJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCB0cnVlLCBhcnJheSgpKSk7DQoJDQoJJGZpbGVOYW1lID0gaXNzZXQoJHBhcmFtc1snbG9nRmlsZSddKSA/ICRwYXJhbXNbJ2xvZ0ZpbGUnXSA6ICcnOw0KCSRsaW5lcyA9IGlzc2V0KCRwYXJhbXNbJ2xvZ0xpbmVzJ10pID8gKGludCkkcGFyYW1zWydsb2dMaW5lcyddIDogMDsNCgkkbG9nRmlsZSA9ICR0aGlzLT50YkxvZ1BhdGguJGZpbGVOYW1lOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJywkbGluZXMpOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0YWlsX2ZpbGUnLCRmaWxlTmFtZSk7DQoJDQoJJHJhbmRvbSA9ICR0aGlzLT5yYW5kb21BbHBoYU51bSg1KTsNCgkkX1NFU1NJT05bJ3RiTG9nVXBkYXRlcl8nLiRyYW5kb20uJ19UcyddID0gJyc7DQoJDQoJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJGZpbGVOYW1lKTsNCgkNCgkkYXJyYXkgPSBhcnJheSgnbG9nRmlsZScgPT4gJGxvZ0ZpbGUsICdrZXknID0+ICRyYW5kb20pOw0KCQ0KCSRoYXNoID0gYnRUb29sczo6Z2V0UGFyYW1zSGFzaCgkYXJyYXksICRzYWx0KTsgDQoJDQovLwlmPScrbG9nRmlsZSsnJms9JytrZXkrJyZoPScNCgkNCgkkdGhpcy0+bG9nVXBkYXRlclBhcmFtID0gYXJyYXkoJ2YnPT4gYmFzZTY0X2VuY29kZSgkbG9nRmlsZSksICdrJyA9PiBiYXNlNjRfZW5jb2RlKCRyYW5kb20pLCAnaCcgPT4gJGhhc2gpOw0KCQ0KCSRzbWFydHktPmFzc2lnbigndGFidG8nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRiVGFiVG8pKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2xvZ0ZpbGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdsb2dGaWxlJyxiYXNlNjRfZW5jb2RlKCRsb2dGaWxlKSkpOw0KCSRzbWFydHktPmFzc2lnbigna2V5JywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwna2V5JyxiYXNlNjRfZW5jb2RlKCRyYW5kb20pKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdoYXNoJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaCcsJGhhc2gpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2xpbmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnbGluZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJykpKTsNCgkNCgkkbG9nID0gdGJMb2dVcGRhdGVyOjpnZXRMb2dMaW5lcygkbG9nRmlsZSwgJHJhbmRvbSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfbG9nbGluZXMnKSk7IA0KCSRzbWFydHktPmFzc2lnbignaW5wdXRfbG9nJywkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsJGxvZywnbG9nJywnJywndGFpbGxvZ2FyZWEnLCcnLCcnLDEyMCwzMCwncmVhZG9ubHk9InJlYWRvbmx5IiB3cmFwPSJvZmYiJykpOw0KCSRzbWFydHktPmFzc2lnbigncHJvbXB0X2xvZycsJHRoaXMtPkxhbmcoJ3RhaWxfcHJvbXB0X2xvZycpKTsNCgkNCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdG9wYnV0dG9uJywgJHRoaXMtPkxhbmcoJ3RhaWxfc3RvcCcpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCgkNCn0NCmVsc2Ugew0KCSRyYW5kb20gPSBpc3NldCgkcGFyYW1zWydrZXknXSkgPyAkcGFyYW1zWydrZXknXSA6ICcnOw0KCXVuc2V0KCRfU0VTU0lPTlsndGJMb2dVcGRhdGVyXycuJHJhbmRvbS4nX1RzJ10pOw0KfQ0KDQokc2lkID0gc2Vzc2lvbl9pZCgpOw0KLy8gRm9yY2UgdG8gc2V0IHRoZSBjb29raWUNCnNldGNvb2tpZSgkc2Vzc2lvbl9uYW1lLCAkc2lkLCAwLCAnLycsICcnKTsNCi8vIENsb3NlIHRoYXQgc2Vzc2lvbg0Kc2Vzc2lvbl93cml0ZV9jbG9zZSgpOw0KDQoNCmlmIChpc3NldCgkcGFyYW1zWydzdGFydGJ1dHRvbiddKSApIHsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2xvZ1VwZGF0ZXIudHBsJyk7DQp9DQplbHNlIHsNCgkvLyBSZWRpcmVjdA0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsNCn0NCg0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.switchdefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSAKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01hbmFnZSBUb29sQm94JykpOwoJcmV0dXJuOwp9CgokdGFidG8gPSBpc3NldCgkcGFyYW1zWyd0YWJ0byddKSA/ICRwYXJhbXNbJ3RhYnRvJ10gOiAnJzsKJHR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3R0YWJ0byddKSA/ICRwYXJhbXNbJ3R0YWJ0byddIDogJyc7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpIC4gJyBcJ3RlbXBsYXRlXCcnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KCiR0cGxwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHBhcmFtc1sndGVtcGxhdGUnXSk7CgppZiAoISR0cGxwcm9wcykKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSAuICcgXCdzZWN0aW9uXCcnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KCgppZiAoJHRwbHByb3BzWydzZWN0aW9uJ10gPT0gInR3aXR0ZXJmZWVkIikgewoJJG1hc2sgPSAgc3RyX3JlcGxhY2UoIi8iLERJUkVDVE9SWV9TRVBBUkFUT1IsJGNvbmZpZ1sncm9vdF9wYXRoJ10uIi90bXAvY2FjaGUvVG9vbEJveF90d2l0dGVyZmVlZCoiKTsKCWFycmF5X21hcCggInVubGluayIsIGdsb2IoICRtYXNrICkgKTsKfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfJy4kdHBscHJvcHNbJ3NlY3Rpb24nXS4kdHBscHJvcHNbJ3RwbHNlY3Rpb24nXS4nX3RlbXBsYXRlJywkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsIGFycmF5KCd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+MS4xLjEgLSAyMC4wNS4yMDEyPGJyIC8+CjxiciAvPgo8dWw+CjxsaT5NaW5vciBidWdmaXhlczwvbGk+CjxsaT5VcGRhdGUgU29jaWFsU2hhcmVQcml2YWN5IHZlcnNpb24gMS40PC9saT4KPC91bD4KPC9saT4KPC91bD4KPHVsPgo8bGk+MS4xLjAgLSAwNS4wMy4yMDEyPGJyIC8+CjxiciAvPgo8dWw+CjxsaT5BZGRlZCBTbWFydHkgcGx1Z2luICR0YnRvb2xzLiBUaGlzIGVuYWJsZXMgeW91IHRvIHVzZSBkaWZmZXJlbnQgZnVuY3Rpb25zIHRvIG1vZGlmeSBjb250ZW50LjwvbGk+CjxsaT5BZGRlZCBkaWZmZXJlbnQgcGx1Z2lucy48L2xpPgo8bGk+QWRkZWQgcGx1Z2luIHRvIGV4dGVuZCBBZHZhbmNlZENvbnRlbnQ8L2xpPgo8bGk+QWRkZWQgcGx1Z2luIHRvIHNob3cgU29jaWFsU2hhcmVQcml2YWN5IEJ1dHRvbnM8L2xpPgo8bGk+QWRkZWQgYSBUYWlsLUxvZyBUYWI8L2xpPgo8bGk+TW9kdWxlIGhlbHAgaXMgbm93IG11Y2ggYmlnZ2VyIDopPC9saT4KPGxpPlRvb2xCb3ggY2FsbCBpcyBub3cgcG9zc2libGUgd2l0aCB7VG9vbEJveH08L2xpPgo8L3VsPgo8L2xpPgo8L3VsPgo8dWw+CjxsaT4xLjAuMSAtIERlY2VtYmVyIDIwMTEKPHA+U29tZSBzbWFsbGVyIGJ1ZyBmaXhlczwvcD48L2xpPgo8bGk+MS4wIC0gRGVjZW1iZXIgMjAxMQo8cD5Jbml0aWFsIFJlbGVhc2Ugb2YgdGhlIG1vZHVsZSBUb29sQm94PC9wPjwvbGk+CjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMNCjxGaWxlcyB+ICJcLihwaHB8cGhwM3xwaHA0fHBocDV8cGh0bWx8cGx8Y2dpKSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjwvRmlsZXM+ICANCg==]]></data>
	</file>
	<file>
	  <filename>/doc/coding_guidelines.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT5Nb2R1bCBUb29sQm94IChDTVMgbWFkZSBzaW1wbGUpOiBQSFAgUHJvZ3JhbW1pZXJ1bmcgUmljaHRsaW5pZW48L3RpdGxlPgo8bWV0YSBuYW1lPSJsYW5ndWFnZSIgY29udGVudD0iZGUiIC8+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCxub2ZvbGxvdyIgLz4KPC9oZWFkPgo8Ym9keT4KCjxoMT5Nb2R1bCBUb29sQm94IChDTVMgbWFkZSBzaW1wbGUpOiBQSFAgUHJvZ3JhbW1pZXJ1bmcgUmljaHRsaW5pZW48L2gxPgoKPGgyPkFsbGdlbWVpbmUgR3J1bmRzw6R0emU8L2gyPgo8dWw+CjxsaT5CZXplaWNobnVuZ2VuIGFscyBQcm9ncmFtbWllcmJlc3RhbmR0ZWlsIChWYXJpYWJsZW4tTmFtZW4sIEZ1bmt0aW9uZW4sIGV0Yy4pIHdlcmRlbiBpbiBFbmdsaXNjaCB2ZXJmYXNzdC48L2xpPgo8bGk+QWxzIEVpbnp1ZyBmw7xyIGRpZSBTdHJ1a3R1cmllcnVuZyB3aXJkIGVpbiBFaW56dWcgdm9uIGVpbmVtIFRhYnVsYXRvciB2ZXJ3ZW5kZXQuIExlZXJ6ZWljaGVuIGFscyBFaW56dWcgc2luZCB2b3IgZGVtIEVpbmNoZWNrZW4gaW4gVGFidWxhdG9yZW4gdW16dXdhbmRlbG4uPC9saT4KPGxpPkJlaSBEYXRlaWVuLCBkaWUgbnVyIFBIUC1Db2RlIGVudGhhbHRlbiwgaXN0IGRlciBBYnNjaGx1c3N0YWcgKCZxdW90Oz8mZ3Q7JnF1b3Q7KSB3ZWd6dWxhc3Nlbi4gVm9uIFBIUCB3aXJkIGRpZXNlciBuaWNodCBiZW7DtnRpZ3QgdW5kIHZlcmhpbmRlcnQgc28gdW5lcnfDvG5zY2h0ZSBMZWVyemVpY2hlbiBiZWltIGZpbmFsZW4gT3V0cHV0LjxiciAvPlN0YXR0ZGVzc2VuIHdpcmQgZGFzIEVuZGUgZGVyIERhdGVpIG1pdCBmb2xnZW5kZW0gS29tbWVudGFyIGdla2VubnplaWNobmV0OiA8cHJlPi8vIEVPRjwvcHJlPjwvbGk+CjxsaT5TdHJpbmdzIHNvbGx0ZSBncnVuZHPDpHR6bGljaCBtaXQgZWluZmFjaGVuIEFwb3N0cm9waGVuIChzaW5nbGUgcXVvdGVzKSBhYmdlZ3Jlbnp0IHdlcmRlbi4gRGllcyBoYXQgZGVuIFZvcnRlaWwsIGRhc3MgUEhQIENvZGUgaW0gU3RyaW5nIG5pY2h0IGF1c2dlZsO8aHJ0IHdpcmQgdW5kIHNvIHouQi4gSFRNTCBBdXNnYWJlbiBlaW5mYWNoZXIgc2luZC4gRG9wcGVsdGUgQXBvc3Ryb3BoZSAoZG91YmxlIHF1b3RlcykgZMO8cmZlbiBudXIgdmVyd2VuZGV0IHdlcmRlbiwgd2VubiBkaWUgQXVzZsO8aHJ1bmcgZGVzIGVudGhhbHRlbmVuIENvZGVzIGJlbsO2dGlndCB3aXJkLiBTdHJpbmd2ZXJiaW5kdW5nZW4gb2RlciBWYXJpYWJsZW4gaW0gU3RyaW5nIHdlcmRlbiBpbW1lciBtaXQgZGVtIFB1bmt0IGFscyBWZXJiaW5kZXIgZ2VzY2hyaWViZW4uPC9saT4KPGxpPkdlc2Nod2VpZnRlIEtsYW1tZXJuIHVtIENvZGUtQmzDtmNrZSB3ZXJkZW4gd2llIGZvbGd0IGVpbmdlc2V0enQ6IERpZSBlcnN0ZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIHN0ZWh0IHN0ZXRzIGluIGRlciBnbGVpY2hlbiBaZWlsZSB3aWUgZGllIEJlZGluZ3VuZywgZGllIHp3ZWl0ZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIGluIGVpbmVyIGVpbnplbG5lbiBaZWlsZS48YnIgLz5BbHMgQXVzbmFobWUgZ2lsdCwgd2VubiBkZXIgZ2VzYW10ZSBCbG9jayBtaXQgQmVkaW5ndW5nIGluIGVpbmVyIFplaWxlIHN0ZWh0LjwvbGk+CjwvdWw+Cgo8aDI+S29tbWVudGFyZTwvaDI+Cjx1bD4KPGxpPkRpZSBTcHJhY2hlIGbDvHIgRG9rdW1lbnRhdGlvbi9Lb21tZW50YXJlIGlzdCBEZXV0c2NoIG9kZXIgRW5nbGlzY2guPC9saT4KPGxpPkRlciBTdGFuZGFyZCBmw7xyIEtvbW1lbnRhcmUgcmljaHRldCBzaWNoIG5hY2ggZGVtIHZvbiBwaHBEb2N1bWVudG9yLjwvbGk+CjwvdWw+Cgo8aDI+VmFyaWFibGVuPC9oMj4KPHVsPgo8bGk+VmFyaWFibGVuIGF1w59lcmhhbGIgdm9uIEZ1bmt0aW9uZW4gdmVyd2VuZGVuIGRlbiBQcmVmaXggdGIgLSB6LkIuOiAkdGJSZWZlcmVyLjwvbGk+CjxsaT5Xb3J0ZSBpbm5lcmhhbGIgdm9uIFZhcmlhYmxlbiBiZWdpbm5lbiBzdGV0cyBtaXQgZWluZW0gR3Jvw59idWNoc3RhYmUsIGRlciBSZXN0IHdpcmQgc3RldHMga2xlaW5nZXNjaHJpZWJlbi48L2xpPgo8bGk+VmFyaWFibGVubmFtZW4gZMO8cmZlbiBudXIgYXVzIGFscGhhbnVtZXJpc2NoZW4gWmVpY2hlbiBiZXN0ZWhlbiwgVHJlbm56ZWljaGVuIHdpZSAtIG9kZXIgXyBzaW5kIG5pY2h0IHp1IHZlcndlbmRlbi48L2xpPgo8bGk+VmFyaWFibGVubmFtZW4gc2luZCBzbyBrdXJ6IHVuZCBzbyB2ZXJzdMOkbmRsaWNoIHdpZSBtw7ZnbGljaCB6dSBoYWx0ZW4uPC9saT4KPGxpPlZhcmlhYmxlbiB3aWUgJGkgdW5kICRuIGTDvHJmZW4gbnVyIFrDpGhsZXJuIC8gTG9vcHMgdmVyd2VuZGV0IHdlcmRlbi48L2xpPgo8L3VsPgoKPGgyPkRhdGVuYmFua2VuPC9oMj4KPHVsPgo8bGk+RGllIFZlcndlbmR1bmcgdm9uIFNRTC1CZWZlaGxlbiBsw6R1ZnQgc3RldHMgw7xiZXIgQWRvREIuPC9saT4KPGxpPlNvd2VpdCBtw7ZnbGljaCwgc29sbHRlbiBkaWUgRnVua3Rpb25lbiB2b24gQWRvREIgYXVzZ2VudXR6dCB3ZXJkZW4sIGFsc28gei5CLiBnZXRPbmUsIGdldFJvdyB1c3cuPC9saT4KPGxpPkplZGVzIFNRTC1TdGF0ZW1lbnQgaXN0IGF1ZiBTUUwtSW5qZWN0aW9uIHp1IMO8YmVycHLDvGZlbi4gSU5TRVJUIHVuZCBVUERBVEUgU3RhdGVtZW50cyBzaW5kIG51ciBpbSBadXNhbW1lbmhhbmcgbWl0IGRlbiA/IFBsYXR6aGFsdGVybiBBZG9EQiB6dSB2ZXJ3ZW5kZW4sIEF1c25haG1lbiBzaW5kIFNRTC1BbndlaXN1bmdlbiB3aWUgTk9XKCkuPC9saT4KPGxpPlNRTC1CZWZlaGxlIHdlcmRlbiBzdGV0cyBncm/DnyBnZXNjaHJpZWJlbi48L2xpPgo8L3VsPgoKPGgyPkJlaXNwaWVsPC9oMj4KPHByZT48Y29kZT48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+PHNwYW4gc3R5bGU9ImNvbG9yOiAjRkY4MDAwIj4vKioKKiZuYnNwO1NldHMmbmJzcDt0aGUmbmJzcDtjb2xvciZuYnNwO29mJm5ic3A7dGhlJm5ic3A7ZXllcy4KKiZuYnNwO0BwYXJhbSZuYnNwO3N0cmluZyZuYnNwOyRleWVDb2xvciZuYnNwO0NvbG9yJm5ic3A7b2YmbmJzcDt0aGUmbmJzcDtleWVzCiombmJzcDtAcmV0dXJuJm5ic3A7Ym9vbGVhbgoqLzwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj5wdWJsaWMmbmJzcDtmdW5jdGlvbiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPnNldEV5ZUNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPiRleWVDb2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDc3MDAiPil7CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPmluX2FycmF5PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPnN0cnRvbG93ZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj4oPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+JGV5ZUNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KSwmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj5zZWxmPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+Ojo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj4kX3ZhbGlkRXllQ29sb3JzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KSkmbmJzcDt7CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPiR0aGlzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+LSZndDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj5fZXllQ29sb3ImbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj49Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+c3RydG9sb3dlcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDc3MDAiPig8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj4kZXllQ29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj4pOwombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj50cnVlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+OwombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9Jm5ic3A7ZWxzZSZuYnNwO3sKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+ZmFsc2U8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj47CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30KfTwvc3Bhbj48L3NwYW4+PC9jb2RlPjwvcHJlPgoKPHA+IDwvcD4KCjwvYm9keT4KPC9odG1sPg==]]></data>
	</file>
	<file>
	  <filename>/doc/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPg0K]]></data>
	</file>
	<file>
	  <filename>/function.admin_404.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJzQwNCc7DQoNCiR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOw0KDQovLyBTZXQgdmFycyBhbmQgaW1hZ2VzDQokaW1hZ2VkZWxldGUgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KJGltYWdlcmVkaXJlY3QgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2V4cG9ydC5naWYnLCR0aGlzLT5MYW5nKCduZXdyZWRpcmVjdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQokaW1hZ2VpZ25vcmUgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ2lnbm9yZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoNCi8vIEdldCBlcnJvcnMNCiRhbGxlcnJvcnMgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQsZnJvbXVybCx0b3VybCx2aXNpdHMsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIE9SREVSIEJZIG1vZGlmaWVkX2RhdGUgREVTQycpOw0KaWYgKCFpc19hcnJheSgkYWxsZXJyb3JzKSkgJGFsbGVycm9ycyA9IGFycmF5KCk7DQoNCi8vIFdhbGsgdGhyb3VnaCBlcnJvcnMNCiRlcmFycmF5ID0gYXJyYXkoKTsNCg0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KZm9yZWFjaCAoICRhbGxlcnJvcnMgYXMgJG9uZWVycm9yICkgew0KCS8vIEJ1aWxkIGEgbmV3IHJvdw0KCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsNCgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsNCgkvLyBJRA0KCSRyb3ctPmlkID0gJG9uZWVycm9yWydpZCddOw0KCS8vIEljb24NCgkkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvRElSaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5odG0obCk/KFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9IVE1MaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5jc3MoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0NTU2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwucGhwKFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9QSFBpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnR4dChcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvVFhUaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC56aXAoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1pJUGljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZ2lmKFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9HSUZpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBuZyhcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSlBHaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5qcGcoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0pQR2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwubXAzKFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9NUDNpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLndhdihcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvTVAzaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5hdmkoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0FWSWljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZmx2KFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9GTFZpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBkZihcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUERGaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5kb2MoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0RPQ2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwueGxzKFwvKT8kL2knLCRvbmVlcnJvclsndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9YTFNpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBwdChcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUFBUaWNvbi5naWYiIC8+JzsNCgkvLyBGcm9tIFVSTA0KCSRyb3ctPmZyb211cmwgPSBzdHJsZW4oJG9uZWVycm9yWydmcm9tdXJsJ10pPD0zMCAJPyAnPGEgaHJlZj0iJy4kb25lZXJyb3JbJ2Zyb211cmwnXS4nIiB0aXRsZT0iJy4kb25lZXJyb3JbJ2Zyb211cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy5wcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVlcnJvclsnZnJvbXVybCddKS4nPC9hPicNCgkJCQkJCQkJCQkJCQkJOiAnPGEgaHJlZj0iJy4kb25lZXJyb3JbJ2Zyb211cmwnXS4nIiB0aXRsZT0iJy4kb25lZXJyb3JbJ2Zyb211cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy5zdWJzdHIocHJlZ19yZXBsYWNlKCcvXmh0dHAocyk/OlwvXC8vJywnJywkb25lZXJyb3JbJ2Zyb211cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lZXJyb3JbJ2Zyb211cmwnXSwtMTUpLic8L2E+JzsNCgkvLyBUbyBVUkwNCgkkcm93LT50b3VybCA9ICc8YSBocmVmPSInLiRvbmVlcnJvclsndG91cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kb25lZXJyb3JbJ3RvdXJsJ10uJzwvYT4nOw0KCSRyb3ctPnRvdXJsID0gc3RybGVuKCRvbmVlcnJvclsndG91cmwnXSk8PTMwIAk/ICc8YSBocmVmPSInLiRvbmVlcnJvclsndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lZXJyb3JbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuJGljb24uJyAnLnByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZWVycm9yWyd0b3VybCddKS4nPC9hPicNCgkJCQkJCQkJCQkJCQk6ICc8YSBocmVmPSInLiRvbmVlcnJvclsndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lZXJyb3JbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuJGljb24uJyAnLnN1YnN0cihwcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVlcnJvclsndG91cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lZXJyb3JbJ3RvdXJsJ10sLTE1KS4nPC9hPic7DQoJLy8gVmlzaXRzDQoJJHJvdy0+dmlzaXRzID0gJG9uZWVycm9yWyd2aXNpdHMnXTsNCgkvLyBDcmVhdGVkIGRhdGUNCgkkcm93LT5jcmVhdGVkID0gJG9uZWVycm9yWydjcmVhdGVkX2RhdGUnXTsNCgkvLyBNb2RpZmllZCBkYXRlDQoJJHJvdy0+bW9kaWZpZWQgPSAkb25lZXJyb3JbJ21vZGlmaWVkX2RhdGUnXTsNCgkvLyBCdWlsZCBlZGl0IGljb24NCgkkcm93LT5yZWRpcmVjdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaW1hZ2VyZWRpcmVjdCwgYXJyYXkgKCAndGFidG8nPT4ncmVkaXJlY3RzJywgJ3JlZGlyZWN0Jz0+JycsICdydXJsJz0+dXJsZW5jb2RlKCRvbmVlcnJvclsndG91cmwnXSkgKSwgJycsIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnbmV3cmVkaXJlY3QnKS4nIicpOw0KCS8vIEJ1aWxkIGlnbm9yZSBpY29uDQoJJHJvdy0+aWdub3JlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl80MDRpZ25vcmUnLCAkcmV0dXJuaWQsICRpbWFnZWlnbm9yZSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8sICdpX2l1cmwnPT51cmxlbmNvZGUoJG9uZWVycm9yWyd0b3VybCddKSwgJ2lfaWdub3JlJz0+JzEnICksICR0aGlzLT5MYW5nKCdyZWFsbHlpZ25vcmUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdpZ25vcmUnKS4nIicpOw0KCS8vIEJ1aWxkIGRlbGV0ZSBpY29uDQoJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVlcnJvcicsICRyZXR1cm5pZCwgJGltYWdlZGVsZXRlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ2Vycm9yJz0+JG9uZWVycm9yWydpZCddICksICR0aGlzLT5MYW5nKCdyZWFsbHlkZWxldGUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdkZWxldGUnKS4nIicpOw0KCS8vIE1lcmdlIG5ldyBkb21haW4gdG8gYXJyYXkNCglhcnJheV9wdXNoICgkZXJhcnJheSwgJHJvdyk7DQoJLy8gQWx0ZXJuYXRlIHJvdyBjb2xvcg0KCSgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJHJvd2NsYXNzID0gJ3JvdzInIDogJHJvd2NsYXNzID0gJ3JvdzEnKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7DQoNCi8vIEFzc2lnbiBzbWFydHkgdmFycw0KJHNtYXJ0eS0+YXNzaWduKCdlcnJvcmFycicsICRlcmFycmF5KTsNCiRzbWFydHktPmFzc2lnbignY2hlY2tfb2xkdXJsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSA/ICcxJyA6ICcwJyk7DQoNCi8vIEdldCBpZ25vcmUgbGlzdA0KJGlnbm9yZWVycm9ycyA9ICR0YkRiLT5HZXRBbGwoJ1NFTEVDVCBpZCxpdXJsLGlyZWdleHAsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzX2lnbm9yZScpOw0KaWYgKCFpc19hcnJheSgkaWdub3JlZXJyb3JzKSkgJGlnbm9yZWVycm9ycyA9IGFycmF5KCk7DQoNCi8vIFdhbGsgdGhyb3VnaCBpZ25vcmUgbGlzdA0KJGlnYXJyYXkgPSBhcnJheSgpOw0KJGlkcyA9IGFycmF5KCk7DQokcm93Y2xhc3MgPSAncm93MSc7DQpmb3JlYWNoICggJGlnbm9yZWVycm9ycyBhcyAkaWVycm9yICkgew0KCS8vIEJ1aWxkIGEgbmV3IHJvdw0KCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsNCgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsNCgkvLyBJRA0KCSRyb3ctPmlkID0gJGllcnJvclsnaWQnXTsNCgkkaWRzW10gPSAkaWVycm9yWydpZCddOw0KCS8vIFVSTCB0byBpZ25vcmUNCgkkcm93LT5pdXJsID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lfaXVybCcuJGllcnJvclsnaWQnXSwkaWVycm9yWydpdXJsJ10sNjAsMjAwKTsNCgkvLyBSZXhFeHA/DQoJJHJvdy0+aXJlZ2V4cCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2lfaXJlZ2V4cCcuJGllcnJvclsnaWQnXSwgJ3RydWUnLCAkaWVycm9yWydpcmVnZXhwJ10gPyAndHJ1ZScgOiAnZmFsc2UnKTsNCgkvLyBDcmVhdGVkIGRhdGUNCgkkcm93LT5jcmVhdGVkID0gJGllcnJvclsnY3JlYXRlZF9kYXRlJ107DQoJLy8gTW9kaWZpZWQgZGF0ZQ0KCSRyb3ctPm1vZGlmaWVkID0gJGllcnJvclsnbW9kaWZpZWRfZGF0ZSddOw0KCS8vIEJ1aWxkIGRlbGV0ZSBpY29uDQoJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVpZ25vcmVlcnJvcicsICRyZXR1cm5pZCwgJGltYWdlZGVsZXRlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ2llcnJvcic9PiRpZXJyb3JbJ2lkJ10gKSwgJHRoaXMtPkxhbmcoJ3JlYWxseWRlbGV0ZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLiciJyk7DQoJLy8gTWVyZ2UgbmV3IGRvbWFpbiB0byBhcnJheQ0KCWFycmF5X3B1c2ggKCRpZ2FycmF5LCAkcm93KTsNCgkvLyBBbHRlcm5hdGUgcm93IGNvbG9yDQoJKCRyb3djbGFzcyA9PSAncm93MScgPyAkcm93Y2xhc3MgPSAncm93MicgOiAkcm93Y2xhc3MgPSAncm93MScpOw0KfQ0KDQovLyBBc3NpZ24gc21hcnR5IHZhcnMNCiRzbWFydHktPmFzc2lnbignZGVsZXRlYWxsbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVlcnJvcnMnLCAkcmV0dXJuaWQsICRpbWFnZWRlbGV0ZS4nICcuJHRoaXMtPkxhbmcoJ2RlbGV0ZWFsbCcpLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0byApLCAkdGhpcy0+TGFuZygncmVhbGx5ZGVsZXRlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZGVsZXRlYWxsJykuJyInKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluXzQwNGlnbm9yZScsJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsdHJ1ZSxhcnJheSgpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbigndGFidG8nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRhYnRvKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lnbm9yZXMnLCAkaWdhcnJheSApOw0KJHNtYXJ0eS0+YXNzaWduKCdpZHMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdpZHMnLGltcGxvZGUoJywnLCRpZHMpKSApOw0KJHNtYXJ0eS0+YXNzaWduKCduZXcnLCAkdGhpcy0+TGFuZygnbmV3JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpX2l1cmwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaV9pdXJsJywnJyw2MCwyMDApKTsNCiRzbWFydHktPmFzc2lnbignaV9pcmVnZXhwJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaV9pcmVnZXhwJywgJ3RydWUnLCAnZmFsc2UnKSk7DQoNCiMkc21hcnR5LT5hc3NpZ24oJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xpc3RlcnJvcnMudHBsJyk7DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ2F1dG9saWdodGJveCc7DQokc2VjdGlvbiA9ICdhdXRvbGlnaHRib3gnOw0KDQokdGhlbWVPYmplY3QgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsgLy8gICYgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOw0KJGZhbHNlaW1hZ2UxID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCR0aGlzLT5MYW5nICgnc2V0dHJ1ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQokdHJ1ZWltYWdlMSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nICgnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQokZmFsc2VpbWFnZTIgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcgKCdtYWtldmlzaWJsZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQokdHJ1ZWltYWdlMiA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nICgnbWFrZWludmlzaWJsZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9hdXRvbGlnaHRib3gnLCRyZXR1cm5pZCwncG9zdCcsJycsIHRydWUsIGFycmF5KCkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdyZWwnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3JlbCcpLCA4MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NsYXNzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnY2xhc3MnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJyksIDgwKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jbGFzcycsJHRoaXMtPkxhbmcoJ2F1dG9saWdodGJveF9wcm9tcHRfY2xhc3MnKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXJsdHlwZScsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndXJsdHlwZScsIGFycmF5KCdyZWxhdGl2ZScgPT4gJ3JlbGF0aXZlJywgJ2Fic29sdXRlJyA9PiAnYWJzb2x1dGUnKSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXJsdHlwZScpKSk7DQoNCiRzbWFydHktPmFzc2lnbignbGlnaHRib3hfdXNlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2xpZ2h0Ym94JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9saWdodGJveCcsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdsaWdodGJveCcsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfbGlnaHRib3gnKSwnMScpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd0YWJ0bycsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsNCiRzbWFydHktPmFzc2lnbigncmVzZXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3Jlc2V0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWwnKSwgJycsICcnLCAkdGhpcy0+TGFuZygncmVzZXRvcmlnaW5hbHdhcm5pbmcnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KDQokYWxsdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsNCiRjdXJyZW50X3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfJy4kc2VjdGlvbi4nX3RlbXBsYXRlJyk7DQokcm93YXJyYXkgPSBhcnJheSgpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KDQpmb3JlYWNoKCAkYWxsdGVtcGxhdGVzIGFzICR0cGwgKQ0Kew0KCWlmIChzdWJzdHIoJHRwbCwwLDQpICE9ICJhbGJfIikgY29udGludWU7DQoJDQoJJHRwbHByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdHBsKTsNCgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJJHJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgc3RyX3JlcGxhY2UoImFsYl8iLCAiIiwgJHRwbCksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvKSk7DQoJJHJvdy0+dmVyc2lvbiA9ICR0cGxwcm9wc1sndmVyc2lvbiddOw0KCSRyb3ctPmFib3V0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRwbGFib3V0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncHJvbXB0X2Fib3V0JyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nc2hvdycsICd0YWJ0bycgPT4gJHRhYnRvKSk7DQoJJHJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7DQoJDQoJaWYoICR0cGwgPT0gJGN1cnJlbnRfdGVtcGxhdGUgKQ0KCXsNCgkJJHJvdy0+ZGVmYXVsdCA9ICR0cnVlaW1hZ2UxOw0KCX0NCgllbHNlDQoJew0KCQkkcm93LT5kZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoZGVmYXVsdHRlbXBsYXRlJywgJHJldHVybmlkLCAkZmFsc2VpbWFnZTEsDQoJCQkJICAgICAgIGFycmF5KCd0ZW1wbGF0ZSc9PiR0cGwsICd0YWJ0bycgPT4gJHRhYnRvLCdzZWN0aW9uJz0+JHNlY3Rpb24pKTsNCgl9DQoNCgkkcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nICgnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksDQoJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2VkaXQnLCAndGFidG8nID0+ICR0YWJ0bykpOw0KCQ0KCSRyb3ctPmNvcHlsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCSAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywgJHRoaXMtPkxhbmcgKCdjb3B5JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwNCgkJCQkgICAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwpKTsNCgkNCglpZiggJHRwbCA9PSAkY3VycmVudF90ZW1wbGF0ZSApDQoJew0KCQkkcm93LT5kZWxldGVsaW5rID0gJyZuYnNwOyc7DQoJfQ0KCWVsc2UNCgl7DQoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19kZWxldGV0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkJICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwNCgkJCQkJICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAndGFidG8nPT4kdGFidG8pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsNCgl9DQoNCgkkcm93LT5leHBvcnQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19leHBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkgICAgJzxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3htbF9yc3MuZ2lmIiBhbHQ9IlhNTCIgLz4nLA0KCQkJCSAgICBhcnJheSgndGVtcGxhdGUnID0+ICR0cGwpKTsNCg0KCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7DQoJKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOw0KfQ0KDQppZiAoIWNvdW50KCRyb3dhcnJheSkpIHsNCgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJJHJvdy0+bmFtZSA9ICJFcyBpc3Qga2VpbiBUZW1wbGF0ZSBpbiBkZXIgRGF0ZW5iYW5rIGdlc3BlaWNoZXJ0IjsNCgkkcm93LT5kZWZhdWx0ID0gIiI7DQoJJHJvdy0+ZWRpdGxpbmsgPSAiIjsNCgkkcm93LT5jb3B5bGluayA9ICIiOw0KCSRyb3ctPmRlbGV0ZWxpbmsgPSAiIjsNCgkkcm93LT5leHBvcnQgPSAiIjsNCglhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5ICk7DQoNCiRzbWFydHktPmFzc2lnbignbmV3dGVtcGxhdGVsaW5rJywNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwNCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCAnZGVmYXVsdHRlbXBsYXRlcHJlZicgPT4gJ2RlZmF1bHRfJy4kc2VjdGlvbi4nX2NvbnRlbnRzJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuDQoNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF8nLiRzZWN0aW9uLidfY29udGVudHMnKSkpOw0KDQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRpbXBvcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdkb19pbXBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2ltcG9ydHhtbCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltcG9ydHhtbCcsICd0ZXh0L3htbCcsIDMwKSk7DQokc21hcnR5LT5hc3NpZ24oJ292ZXJ3cml0ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ292ZXJ3cml0ZScsICcxJywgJzEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnaW1wb3J0c3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQoNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9hdXRvbGlnaHRib3gudHBsJyk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ2Nzdic7DQokc2VjdGlvbiA9ICdjc3YnOw0KDQokc21hcnR5LT5hc3NpZ24oJ21vZCcsJHRoaXMpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0dGFidG8nLCBpc3NldCgkcGFyYW1zWyd0dGFidG8nXSkgPyAkcGFyYW1zWyd0dGFidG8nXSA6ICcnKTsNCg0KLy8gRmlsZXMNCiRzbWFydHktPmFzc2lnbignY3N2ZmlsZXMnLCB0YlV0aWxzOjpnZXRDU1ZGaWxlcygkdGhpcywkdGFidG8sJ2ZpbGVzJykpOw0KDQovLyBBbGxnZW1laW4NCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRzZXR0aW5ncycsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2FkbWluX2NzdicsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRzZXR0aW5ncycsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbnNldHRpbmdzJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZm9ybXNlY3Rpb24nLCdzZXR0aW5ncycpLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3R0YWJ0bycsJ2FsbGdlbWVpbicpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdkZWxpbWl0ZXInLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlbGltaXRlcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIiksIDEwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbGVjaGFyc2V0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdmaWxlY2hhcnNldCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfZmlsZWNoYXJzZXQiKSwgMTApKTsNCiRzbWFydHktPmFzc2lnbignY21zY2hhcnNldCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnY21zY2hhcnNldCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfY21zY2hhcnNldCIpLCAxMCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRzZXR0aW5ncycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc2V0dGluZ3NzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbigncmVzZXRzZXR0aW5ncycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAncmVzZXRidXR0b24nLCAkdGhpcy0+TGFuZygncmVzZXRvcmlnaW5hbCcpLCAnJywgJycsICR0aGlzLT5MYW5nKCdyZXNldG9yaWdpbmFsd2FybmluZycpKSk7DQoNCiRzdW1hcnJheSA9IHRiVXRpbHM6OmdldFRwbExpc3QoJHRoaXMsICRzZWN0aW9uLCAic3VtbWFyeSIsICAkdGFidG8sICJzdW1tYXJ5Iik7DQokZGV0YXJyYXkgPSB0YlV0aWxzOjpnZXRUcGxMaXN0KCR0aGlzLCAkc2VjdGlvbiwgImRldGFpbCIsICR0YWJ0bywgImRldGFpbCIpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3N1bW1hcnlpdGVtcycsICRzdW1hcnJheSApOw0KJHNtYXJ0eS0+YXNzaWduKCdkZXRhaWxpdGVtcycsICRkZXRhcnJheSApOw0KDQokc21hcnR5LT5hc3NpZ24oJ25ld3N1bW1hcnl0ZW1wbGF0ZWxpbmsnLA0KCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJICAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAnc3VtbWFyeScsICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICdzdW1tYXJ5JywgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ3N1bW1hcnlfY29udGVudHMnKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4NCg0KCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJICAgICAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksDQoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICdzdW1tYXJ5JywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCAndHBsc2VjdGlvbicgPT4gJ3N1bW1hcnknLCAnZGVmYXVsdHRlbXBsYXRlcHJlZicgPT4gJ2RlZmF1bHRfJy4kc2VjdGlvbi4nc3VtbWFyeV9jb250ZW50cycpKSk7DQoNCiRzbWFydHktPmFzc2lnbignbmV3ZGV0YWlsdGVtcGxhdGVsaW5rJywNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwNCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJ2RldGFpbCcsICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICdkZXRhaWwnLCAnZGVmYXVsdHRlbXBsYXRlcHJlZicgPT4gJ2RlZmF1bHRfJy4kc2VjdGlvbi4nZGV0YWlsX2NvbnRlbnRzJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuDQoNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAnZGV0YWlsJywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCAndHBsc2VjdGlvbicgPT4gJ2RldGFpbCcsICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF8nLiRzZWN0aW9uLidkZXRhaWxfY29udGVudHMnKSkpOw0KDQoNCgkJCSAgICAgDQoNCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0aW1wb3J0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9faW1wb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kaW1wb3J0JywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignaGlkZGVuaW1wb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZm9ybXNlY3Rpb24nLCdpbXBvcnQnKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0dGFidG8nLCdpbXBvcnQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ltcG9ydHhtbCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltcG9ydHhtbCcsICd0ZXh0L3htbCcsIDMwKSk7DQokc21hcnR5LT5hc3NpZ24oJ292ZXJ3cml0ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ292ZXJ3cml0ZScsICcxJywgJzEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdGltcG9ydCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnaW1wb3J0c3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQoNCi8qDQoJQ29kZSBFeGFtcGxlcw0KCS0tLS0tLS0tLS0tLS0tLS0NCgkjIGdlbmVyYWwgdXNhZ2UNCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCdkYXRhLmNzdicpOw0KCXByaW50X3IoJGNzdi0+ZGF0YSk7DQoJLS0tLS0tLS0tLS0tLS0tLQ0KCSMgdGFiIGRlbGltaXRlZCwgYW5kIGVuY29kaW5nIGNvbnZlcnNpb24NCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7DQoJJGNzdi0+ZW5jb2RpbmcoJ1VURi0xNicsICdVVEYtOCcpOw0KCSRjc3YtPmRlbGltaXRlciA9ICJcdCI7DQoJJGNzdi0+cGFyc2UoJ2RhdGEudHN2Jyk7DQoJcHJpbnRfcigkY3N2LT5kYXRhKTsNCgktLS0tLS0tLS0tLS0tLS0tDQoJIyBhdXRvLWRldGVjdCBkZWxpbWl0ZXIgY2hhcmFjdGVyDQoJJGNzdiA9IG5ldyBwYXJzZUNTVigpOw0KCSRjc3YtPmF1dG8oJ2RhdGEuY3N2Jyk7DQoJcHJpbnRfcigkY3N2LT5kYXRhKTsNCgktLS0tLS0tLS0tLS0tLS0tDQoJIyBtb2RpZnkgZGF0YSBpbiBhIGNzdiBmaWxlDQoJJGNzdiA9IG5ldyBwYXJzZUNTVigpOw0KCSRjc3YtPnNvcnRfYnkgPSAnaWQnOw0KCSRjc3YtPnBhcnNlKCdkYXRhLmNzdicpOw0KCSMgIjQiIGlzIHRoZSB2YWx1ZSBvZiB0aGUgImlkIiBjb2x1bW4gb2YgdGhlIENTViByb3cNCgkkY3N2LT5kYXRhWzRdID0gYXJyYXkoJ2ZpcnN0bmFtZScgPT4gJ0pvaG4nLCAnbGFzdG5hbWUnID0+ICdEb2UnLCAnZW1haWwnID0+ICdqb2huQGRvZS5jb20nKTsNCgkkY3N2LT5zYXZlKCk7DQoJLS0tLS0tLS0tLS0tLS0tLQ0KCSMgYWRkIHJvdy9lbnRyeSB0byBlbmQgb2YgQ1NWIGZpbGUNCgkjICAtIG9ubHkgcmVjb21tZW5kZWQgd2hlbiB5b3Uga25vdyB0aGUgZXh0YWN0IHNjdHJ1Y3R1cmUgb2YgdGhlIGZpbGUNCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7DQoJJGNzdi0+c2F2ZSgnZGF0YS5jc3YnLCBhcnJheSgnMTk4NicsICdIb21lJywgJ05vd2hlcmUnLCAnJyksIHRydWUpOw0KCS0tLS0tLS0tLS0tLS0tLS0NCgkjIGNvbnZlcnQgMkQgYXJyYXkgdG8gY3N2IGRhdGEgYW5kIHNlbmQgaGVhZGVycw0KCSMgdG8gYnJvd3NlciB0byB0cmVhdCBvdXRwdXQgYXMgYSBmaWxlIGFuZCBkb3dubG9hZCBpdA0KCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsNCgkkY3N2LT5vdXRwdXQgKHRydWUsICdtb3ZpZXMuY3N2JywgJGFycmF5KTsNCgktLS0tLS0tLS0tLS0tLS0tDQoNCg0KKi8NCg0KLy8JJGZpbGUgPSByZWFscGF0aCgkdGhpcy0+Y29uZmlnWydyb290X3BhdGgnXS4nL3VwbG9hZHMvYW50aWJhcnQtdGVzdGRhdGVuLmNzdicpOw0KLy8JDQovLwkjIHRhYiBkZWxpbWl0ZWQsIGFuZCBlbmNvZGluZyBjb252ZXJzaW9uDQovLwkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7DQovLwkkY3N2LT5lbmNvZGluZygnaXNvLTg4NTktMScsICdVVEYtOCcpOw0KLy8JJGNzdi0+ZGVsaW1pdGVyID0gIjsiOw0KLy8JJGNzdi0+cGFyc2UoJGZpbGUpOw0KLy8JcHJpbnRfcigkY3N2LT5kYXRhKTsNCg0KDQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY3N2LnRwbCcpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_debug.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ2RlYnVnJzsNCg0KLy8gU2V0IHZhcnMgYW5kIGltYWdlcw0KJGltYWdlZGVsZXRlID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCg0KLy8gR2V0IGRlYnVnDQokYWxsZGVidWcgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQsc2Vzc2lvbl9pZCxpcCxmcm9tdXJsLHRvdXJsLHN0YXR1cyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZyBPUkRFUiBCWSBtb2RpZmllZF9kYXRlIERFU0MnKTsNCmlmICghaXNfYXJyYXkoJGFsbGRlYnVnKSkgJGFsbGRlYnVnID0gYXJyYXkoKTsNCg0KLy8gV2FsayB0aHJvdWdoIGVycm9ycw0KJGRlYnVnYXJyYXkgPSBhcnJheSgpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KZm9yZWFjaCAoICRhbGxkZWJ1ZyBhcyAkb25lZGVidWcgKSB7DQoJLy8gQnVpbGQgYSBuZXcgcm93DQoJJHJvdyA9IG5ldyBTdGRDbGFzcygpOw0KCSRyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOw0KCS8vIElEDQoJJHJvdy0+aWQgPSAkb25lZGVidWdbJ2lkJ107DQoJLy8gU3RhdHVzDQoJJHJvdy0+aXAgPSAkb25lZGVidWdbJ2lwJ107DQoJLy8gU3RhdHVzDQoJJHJvdy0+c2Vzc2lvbl9pZCA9ICRvbmVkZWJ1Z1snc2Vzc2lvbl9pZCddOw0KCS8vIEljb24NCgkkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvRElSaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5odG0obCk/KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9IVE1MaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5jc3MoXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0NTU2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwucGhwKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9QSFBpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnR4dChcLyk/JC9pJywkb25lZGVidWdbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvVFhUaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC56aXAoXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1pJUGljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZ2lmKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9HSUZpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBuZyhcLyk/JC9pJywkb25lZGVidWdbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSlBHaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5qcGcoXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0pQR2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwubXAzKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9NUDNpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLndhdihcLyk/JC9pJywkb25lZGVidWdbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvTVAzaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5hdmkoXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0FWSWljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZmx2KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9GTFZpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBkZihcLyk/JC9pJywkb25lZGVidWdbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUERGaWNvbi5naWYiIC8+JzsNCglpZiAocHJlZ19tYXRjaCgnLy4qXC5kb2MoXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0RPQ2ljb24uZ2lmIiAvPic7DQoJaWYgKHByZWdfbWF0Y2goJy8uKlwueGxzKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9YTFNpY29uLmdpZiIgLz4nOw0KCWlmIChwcmVnX21hdGNoKCcvLipcLnBwdChcLyk/JC9pJywkb25lZGVidWdbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUFBUaWNvbi5naWYiIC8+JzsNCgkvLyBGcm9tIFVSTA0KCSRyb3ctPmZyb211cmwgPSBzdHJsZW4oJG9uZWRlYnVnWydmcm9tdXJsJ10pPD0zMCAJPyAnPGEgaHJlZj0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0aXRsZT0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy5wcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVkZWJ1Z1snZnJvbXVybCddKS4nPC9hPicNCgkJCQkJCQkJCQkJCQkJOiAnPGEgaHJlZj0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0aXRsZT0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy5zdWJzdHIocHJlZ19yZXBsYWNlKCcvXmh0dHAocyk/OlwvXC8vJywnJywkb25lZGVidWdbJ2Zyb211cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lZGVidWdbJ2Zyb211cmwnXSwtMTUpLic8L2E+JzsNCgkvLyBUbyBVUkwNCgkkcm93LT50b3VybCA9ICc8YSBocmVmPSInLiRvbmVkZWJ1Z1sndG91cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kb25lZGVidWdbJ3RvdXJsJ10uJzwvYT4nOw0KCSRyb3ctPnRvdXJsID0gc3RybGVuKCRvbmVkZWJ1Z1sndG91cmwnXSk8PTMwIAk/ICc8YSBocmVmPSInLiRvbmVkZWJ1Z1sndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lZGVidWdbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuJGljb24uJyAnLnByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZWRlYnVnWyd0b3VybCddKS4nPC9hPicNCgkJCQkJCQkJCQkJCQk6ICc8YSBocmVmPSInLiRvbmVkZWJ1Z1sndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lZGVidWdbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuJGljb24uJyAnLnN1YnN0cihwcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVkZWJ1Z1sndG91cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lZGVidWdbJ3RvdXJsJ10sLTE1KS4nPC9hPic7DQoJLy8gU3RhdHVzDQoJJHN0YXR1cyA9ICRvbmVkZWJ1Z1snc3RhdHVzJ109PSdvaycgPyAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6IzBhMDsiPicuJG9uZWRlYnVnWydzdGF0dXMnXS4nPC9zcGFuPicgOiAkb25lZGVidWdbJ3N0YXR1cyddOw0KCWlmIChzdWJzdHIoJG9uZWRlYnVnWydzdGF0dXMnXSwwLDMpPT0nNDA0JykgJHN0YXR1cyA9ICc8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojYTAwOyI+Jy4kb25lZGVidWdbJ3N0YXR1cyddLic8L3NwYW4+JzsNCglpZiAoc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMCwzKT09JzMwMScpICRzdGF0dXMgPSAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6Izk2MDsiPicuc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMCwzKS4nPC9zcGFuPicuc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMyk7DQoJJHJvdy0+c3RhdHVzID0gJHN0YXR1czsNCgkvLyBDcmVhdGVkIGRhdGUNCgkkcm93LT5jcmVhdGVkID0gJG9uZWRlYnVnWydjcmVhdGVkX2RhdGUnXTsNCgkvLyBNb2RpZmllZCBkYXRlDQoJJHJvdy0+bW9kaWZpZWQgPSAkb25lZGVidWdbJ21vZGlmaWVkX2RhdGUnXTsNCgkvLyBCdWlsZCBkZWxldGUgaWNvbg0KCSRyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZGVsZXRlZGVidWcnLCAkcmV0dXJuaWQsICRpbWFnZWRlbGV0ZSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8sICdkZWJ1Zyc9PiRvbmVkZWJ1Z1snaWQnXSApLCAkdGhpcy0+TGFuZygncmVhbGx5ZGVsZXRlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZGVsZXRlJykuJyInKTsNCgkvLyBNZXJnZSBuZXcgZG9tYWluIHRvIGFycmF5DQoJYXJyYXlfcHVzaCAoJGRlYnVnYXJyYXksICRyb3cpOw0KCS8vIEFsdGVybmF0ZSByb3cgY29sb3INCgkoJHJvd2NsYXNzID09ICdyb3cxJyA/ICRyb3djbGFzcyA9ICdyb3cyJyA6ICRyb3djbGFzcyA9ICdyb3cxJyk7DQp9DQoNCi8vIEFzc2lnbiBzbWFydHkgdmFycw0KJHNtYXJ0eS0+YXNzaWduKCdkZWJ1Z3MnLCAkZGVidWdhcnJheSApOw0KJHNtYXJ0eS0+YXNzaWduKCdpZCcsICR0aGlzLT5MYW5nKCdpZCcpKTsNCiRzbWFydHktPmFzc2lnbignaXAnLCAkdGhpcy0+TGFuZygnaXAnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Nlc3Npb25faWQnLCAkdGhpcy0+TGFuZygnc2Vzc2lvbl9pZCcpKTsNCiRzbWFydHktPmFzc2lnbignZnJvbXVybCcsICR0aGlzLT5MYW5nKCdmcm9tdXJsJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0b3VybCcsICR0aGlzLT5MYW5nKCd0YXJnZXR1cmwnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXR1cycsICR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWQnLCAkdGhpcy0+TGFuZygnY3JlYXRlZCcpKTsNCiRzbWFydHktPmFzc2lnbignbW9kaWZpZWQnLCAkdGhpcy0+TGFuZygnbW9kaWZpZWQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3RpbWUnLCAkdGhpcy0+TGFuZygndGltZScpKTsNCiRzbWFydHktPmFzc2lnbignZGVidWcnLCAkdGhpcy0+TGFuZygnZGVidWcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RlYnVnX2xvZycsICR0aGlzLT5MYW5nKCdkZWJ1Z19sb2cnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RlbGV0ZWFsbGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZGVsZXRlZGVidWdzJywgJHJldHVybmlkLCAkaW1hZ2VkZWxldGUuJyAnLiR0aGlzLT5MYW5nKCdkZWxldGVhbGwnKSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8gKSwgJHRoaXMtPkxhbmcoJ3JlYWxseWRlbGV0ZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2RlbGV0ZWFsbCcpLiciJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0YWJ0bycsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pKTsNCg0KLy8gRGlzcGxheSBUZW1wbGF0ZQ0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9kZWJ1Zy50cGwnKTsNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/function.admin_main.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQokdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ21haW4nOw0KDQovLyBBc3NpZ24gU21hcnR5IHZhcnMNCi8vJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9taW4nLCRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnLHRydWUsYXJyYXkoKSkpOw0KLy8kc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KLy8kc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCi8vJHNtYXJ0eS0+YXNzaWduKCd0YWJ0bycsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOw0KDQokYWN0aXZlID0gYXJyYXkoKTsNCiRpbmFjdGl2ZSA9IGFycmF5KCk7DQoNCi8vIGV2ZW50aGFuZGxlcg0KaWYgKCR0aGlzLT5MYW5nKCdkb250X3VzZV9ldmVudF9oYW5kbGVyJykgPT0gMCkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9ldmVudF9oYW5kbGVyX2FjdGl2ZScpOw0KZWxzZQ0KCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fZXZlbnRfaGFuZGxlcl9pbmFjdGl2ZScpOwkNCg0KLy8gc3RhdHMNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJykpCQ0KCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3N0YXRzX2FjdGl2ZScpOw0KZWxzZQ0KCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fc3RhdHNfaW5hY3RpdmUnKTsNCg0KLy8gNDA0IFN0YXRzDQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcpKQkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9zdGF0c180MDRfYWN0aXZlJyk7DQplbHNlDQoJJGluYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9zdGF0c180MDRfaW5hY3RpdmUnKTsNCgkNCi8vIG9sZCB1cmwNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScpKQkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9vbGR1cmxfYWN0aXZlJyk7DQplbHNlDQoJJGluYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9vbGR1cmxfaW5hY3RpdmUnKTsNCg0KLy9hdXRvbGlnaHRib3gNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpKQkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9hdXRvbGlnaHRib3hfYWN0aXZlJyk7DQplbHNlDQoJJGluYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9hdXRvbGlnaHRib3hfaW5hY3RpdmUnKTsJDQoJDQovL3NvY2lhbHNoYXJlcHJpdmFjeQ0KaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJykpCQ0KCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3NvY2lhbHNoYXJlcHJpdmFjeV9hY3RpdmUnKTsNCmVsc2UNCgkkaW5hY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZScpOwkNCgkNCi8vc29jaWFsc2hhcmVwcml2YWN5DQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3aXR0ZXJmZWVkX3VzZScpKQkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygncHJvbXB0X3R3aXR0ZXJmZWVkX3RpdGxlJyk7DQplbHNlDQoJJGluYWN0aXZlW10gPSAkdGhpcy0+TGFuZygncHJvbXB0X3R3aXR0ZXJmZWVkX3RpdGxlJyk7CQ0KCQ0KLy8gdGFpbA0KaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScpKQkNCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl90YWlsX2FjdGl2ZScpOw0KZWxzZQ0KCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fdGFpbF9pbmFjdGl2ZScpOw0KCQ0KLy8gZGVidWcNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJykpCQ0KCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX2RlYnVnX2FjdGl2ZScpOw0KZWxzZQ0KCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fZGVidWdfaW5hY3RpdmUnKTsNCgkNCi8vIFNtYXJ0eSBQbHVnaW5zDQokYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9zbWFydHlwbHVnaW5zX2FjdGl2ZScpOw0KDQovL01vYmlsZSBEZXRlY3QNCiRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX21vYmlsZWRldGVjdF9hY3RpdmUnKTsNCg0KLy8gVG9vbEJveCBGdW5jdGlvbnMNCiRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX2Z1bmN0aW9uc19hY3RpdmUnKTsNCg0KLy8gVG9vbEJveCBNb2RpZmllcg0KJGFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fbW9kaWZpZXJfYWN0aXZlJyk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmUnLCRhY3RpdmUpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbmFjdGl2ZScsJGluYWN0aXZlKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWN0aXZlJywkdGhpcy0+TGFuZygnYWN0aXZlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW5hY3RpdmUnLCR0aGlzLT5MYW5nKCdpbmFjdGl2ZScpKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tYXhfNDA0JywkdGhpcy0+TGFuZygnbWFpbl9tYXhfNDA0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdtYXhfNDA0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4XzQwNCcpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N0YXRzX2RhaWx5JywkdGhpcy0+TGFuZygnbWFpbl9zdGF0c19kYWlseScpKTsNCiRzbWFydHktPmFzc2lnbignc3RhdHNfZGFpbHknLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c19kYWlseScpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N0YXRzX2VtYWlsJywkdGhpcy0+TGFuZygnbWFpbl9zdGF0c19lbWFpbCcpKTsNCiRzbWFydHktPmFzc2lnbignc3RhdHNfZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c19lbWFpbCcpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmVpdGVtcycsJGFjdGl2ZSk7DQokc21hcnR5LT5hc3NpZ24oJ2luYWN0aXZlaXRlbXMnLCRpbmFjdGl2ZSk7DQoNCg0KLy8gRGlzcGxheSBUZW1wbGF0ZQ0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9tYWluLnRwbCcpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_moduleops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQokdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ21vZHVsZW9wcyc7DQoNCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdiYWNrdXByZWNvdmVyeScpKTsNCiRzbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLCcnKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbmFtZScsbGFuZygnbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3ZlcnNpb24nLGxhbmcoJ3ZlcnNpb24nKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdGF0dXMnLCR0aGlzLT5MYW5nKCdwcm9tcHRfYWN0aXZlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZXhwb3J0JyxsYW5nKCdleHBvcnQnKSk7DQokc21hcnR5LT5hc3NpZ24oIm1vZHVsZXMiLHRiTW9kdWxlT3BzOjpsaXN0TW9kdWxlcygpKTsNCgkgDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydGltcG9ydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2RvX21vZHVsZW9wcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLA0KCQkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pIC4NCgkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdtb2RlJywnaW1wb3J0JykNCgkJCSk7DQoNCiRzbWFydHktPmFzc2lnbigndGl0bGVfaW1wb3J0eG1sJywkdGhpcy0+TGFuZygndGl0bGVfaW1wb3J0eG1sJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnR4bWxub3RlJyxubDJicigkdGhpcy0+TGFuZygnaW1wb3J0eG1sbm90ZScpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pbXBvcnR4bWwnLCR0aGlzLT5MYW5nKCdpbXBvcnR4bWwnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ltcG9ydHhtbCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltcG9ydHhtbCcsICd0ZXh0L3htbCcsIDMwKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnaW1wb3J0c3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQoNCg0KLy8gRGlzcGxheSBUZW1wbGF0ZQ0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9tb2R1bGVvcHMudHBsJyk7DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQokdGJEYiA9IGNtc21zKCktPkdldERiKCk7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRiVGFiVG8gPSAncHJlZnMnOw0KDQovLyBBc3NpZ24gU21hcnR5IHZhcnMNCiRzbWFydHktPmFzc2lnbignbW9kJywkdGhpcyk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3ByZWZzJywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyx0cnVlLGFycmF5KCkpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbigndGFidG8nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGJUYWJUbykpOw0KDQovLyBVc2UgVG9vbEJveCB3aXRoIEV2ZW50LUhhbmRsZXIgb3Igbm90DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZG9udF91c2VfZXZlbnRfaGFuZGxlcicsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkb250X3VzZV9ldmVudF9oYW5kbGVyJyksJycpKTsNCg0KLy8gRGlmZmVyZW50IHNldHRpbmdzDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXRzX3VzZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdzdGF0c191c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJyksJycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3RhdHNfNDA0JywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3N0YXRzXzQwNCcsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c180MDQnKSwnJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tYXhfNDA0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnbWF4XzQwNCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF80MDQnKSw1LDEwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXRzX2RhaWx5JywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3N0YXRzX2RhaWx5JywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX2RhaWx5JyksJycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3RhdHNfZW1haWwnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdzdGF0c19lbWFpbCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX2VtYWlsJyksMzAsMTAwKSk7DQoNCi8vIDMwMSBGb3J3YXJkaW5nIHVzZQ0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9vbGR1cmxfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ29sZHVybF91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScpLCcnKSk7DQoNCi8vIFNvY2lhbCBNZWRpYSBCdXR0b25zIHVzZQ0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb2NpYWxzaGFyZXByaXZhY3lfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X3VzZScpLCcnKSk7DQoNCi8vIEF1dG9MaWdodEJveCB1c2UNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYXV0b2xpZ2h0Ym94X3VzZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdhdXRvbGlnaHRib3hfdXNlJywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSwnJykpOw0KDQovL1R3aXR0ZXJmZWVkIHVzZQ0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90d2l0dGVyZmVlZF91c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwndHdpdHRlcmZlZWRfdXNlJywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3aXR0ZXJmZWVkX3VzZScpLCcnKSk7DQoNCi8vQ1NWIHVzZQ0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jc3ZfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2Nzdl91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3N2X3VzZScpLCcnKSk7DQoNCi8vIFRhaWwgdXNlDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RhaWxfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3RhaWxfdXNlJywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfdXNlJyksJycpKTsNCg0KLy8gTW9kdWxlb3BzIHVzZQ0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbW9kdWxlb3BzX3VzZScsJHRoaXMtPkxhbmcoJ21vZHVsZW9wc191c2UnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21vZHVsZW9wc191c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbW9kdWxlb3BzX3VzZScsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2R1bGVvcHNfdXNlJyksJycpKTsNCg0KLy8gRGVidWcgdXNlDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RlYnVnX3VzZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdkZWJ1Z191c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJyksJycpKTsNCg0KLy8gSmF2YXNjcmlwdCBpbiBGb290ZXIgZWluYmluZGVuDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2pzX2Zvb3RlcicsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdqc19mb290ZXInLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnanNfZm9vdGVyJyksJycpKTsNCg0KLy8gTWluaWZ5IEphdmFzY3JpcHQgdW5kIENTUw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9taW5pZnknLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbWluaWZ5JywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbmlmeScpLCcnKSk7DQoNCi8vIENoZWNrLCB3aGV0aGVyIE11bHRpRG9tYWlucyB0YWJsZXMgZXhpc3RzDQokdGFibGVzID0gJHRiRGItPkdldENvbCgnU0hPVyBUQUJMRVMnLCBhcnJheSgpKTsNCiRtZF90YWJsZXNfZXhpc3QgPSAwOw0KaWYgKGluX2FycmF5KGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19yZWRpcmVjdCcsJHRhYmxlcykgfHwgaW5fYXJyYXkoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX2Vycm9ycycsJHRhYmxlcykgfHwgaW5fYXJyYXkoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX2Vycm9yc19pZ25vcmUnLCR0YWJsZXMpKSB7DQoJJG1kX3RhYmxlc19leGlzdCA9IDE7DQp9DQovLyBNdWx0aURvbWFpbnMgaW1wb3J0DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ltcG9ydF9tdWx0aWRvbWFpbnMnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnaW1wb3J0X211bHRpZG9tYWlucycsJzEnLCcwJywnJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdoZWxwX2ltcG9ydF9tdWx0aWRvbWFpbnMnLCR0aGlzLT5MYW5nKCdpbXBvcnRfbXVsdGlkb21haW5zX2hlbHAnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JykpKTsNCiRzbWFydHktPmFzc2lnbignaW1wb3J0X211bHRpZG9tYWluc19jb3VudCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9tdWx0aWRvbWFpbnNfY291bnQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ21kX3RhYmxlc19leGlzdCcsJG1kX3RhYmxlc19leGlzdCk7DQovLyBHZXQgdmVyc2lvbiBvZiBNdWx0aURvbWFpbnMNCiRtZF92ZXJzaW9uID0gJHRiRGItPkdldE9uZSgnU0VMRUNUIHZlcnNpb24gRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlcyBXSEVSRSBtb2R1bGVfbmFtZSBsaWtlICJNdWx0aURvbWFpbnMiJywgYXJyYXkoKSk7DQppZiAoISRtZF92ZXJzaW9uKSAkbWRfdmVyc2lvbiA9ICcwLjAnOw0KJG1kX29sZCA9IDA7DQppZiAoKGZsb2F0KSRtZF92ZXJzaW9uPjAuMCAmJiAoZmxvYXQpJG1kX3ZlcnNpb248Mi4wKSAkbWRfb2xkID0gMTsNCiRzbWFydHktPmFzc2lnbignbWRfb2xkJywkbWRfb2xkKTsNCi8vIERlbGV0ZSBvbGQgTXVsdGlEb21haW5zIHRhYmxlcw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kcm9wX211bHRpZG9tYWlucycsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdkcm9wX211bHRpZG9tYWlucycsJzEnLCcwJywnJykpOw0KDQovLyBEaXNwbGF5IFRlbXBsYXRlDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3ByZWZzLnRwbCcpOw0KDQovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_redirects.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ3JlZGlyZWN0cyc7DQoNCi8vIERpc3BsYXkgZm9ybSBmb3IgZWRpdGluZyBhIHJlZGlyZWN0IHVybA0KaWYgKGlzc2V0KCRwYXJhbXNbJ3JlZGlyZWN0J10pKSB7DQoNCgkvLyBHZXQgUmVkaXJlY3QgSUQNCgkkcmVkaXJlY3QgPSAoaW50KSRwYXJhbXNbJ3JlZGlyZWN0J107DQoJLy8gR2V0IFVSTA0KCSR1cmwgPSBpc3NldCgkcGFyYW1zWydydXJsJ10pID8gdHJpbSh1cmxkZWNvZGUoJHBhcmFtc1sncnVybCddKSkgOiAnJzsNCgkvLyBHZXQgZG9tYWluIGluZm8NCglpZiAoJHJlZGlyZWN0KSB7ICRyZWRpcmVjdGluZm8gPSAkdGJEYi0+R2V0Um93KCdTRUxFQ1QgcGFnZV9pZCx0b3VybCx1cmwsdXJsX3JlZ2V4cCxhY3RpdmUsbm90ZXMsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgV0hFUkUgaWQgPSA/JywgYXJyYXkoJHJlZGlyZWN0KSk7IH0NCgllbHNlIHsgJHJlZGlyZWN0aW5mbyA9IGFycmF5ICggJ3BhZ2VfaWQnPT4wLCd0b3VybCc9PicnLCd1cmwnPT4nJywndXJsX3JlZ2V4cCc9PjAsJ2FjdGl2ZSc9PjAsJ25vdGVzJz0+JycgKTsgfQ0KICAgIC8vIEFzc2lnbiBTbWFydHkgdmFycw0KICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdHJlZGlyZWN0JywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyx0cnVlLGFycmF5KCkpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJHJlZGlyZWN0ID8gJ3N1Ym1pdCc6ICdhZGQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOw0KICAgICRzbWFydHktPmFzc2lnbignY2FjaGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCRyZWRpcmVjdCA/ICdjYWNoZScgOiAnY2FjaGVhZGQnLCR0aGlzLT5MYW5nKCdjYWNoZScpKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNldCcsICR0aGlzLT5DcmVhdGVJbnB1dFJlc2V0KCRpZCwncmVzZXQnLCR0aGlzLT5MYW5nKCdyZXNldCcpKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOw0KICAgICRzbWFydHktPmFzc2lnbigndGFidG8nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRhYnRvKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdyZWRpcmVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3JlZGlyZWN0JywkcmVkaXJlY3QpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3JlZGlyZWN0ZWRpdCcsICR0aGlzLT5MYW5nKCdyZWRpcmVjdGVkaXQnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXJsJywgJHRoaXMtPkxhbmcoJ3VybCcpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3VybCcsICR1cmwgPyAkdXJsIDogJHJlZGlyZWN0aW5mb1sndXJsJ10pOw0KCSRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlZGlyZWN0aWQnLCAkdGhpcy0+TGFuZygnaWQnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdyZWRpcmVjdGlkJywgJHJlZGlyZWN0ID8gJHJlZGlyZWN0IDogJHRoaXMtPkxhbmcoJ25ld3JlZGlyZWN0JykpOw0KICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfdXJsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3VybCcsJHVybCA/ICR1cmwgOiAkcmVkaXJlY3RpbmZvWyd1cmwnXSw4MCwyMDApKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wYWdlJywgJHRoaXMtPkxhbmcoJ3RhcmdldHBhZ2UnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlJywkdGJDb250ZW50T3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkcmVkaXJlY3RpbmZvWydwYWdlX2lkJ10sJGlkLidwYWdlJywwLDEsMCwxKSk7IC8vIGN1cnJlbnQsIHBhcmVudCwgcGFyZW50X2lkLCBhbGxvd2N1cnJlbnQsIHVzZV9wZXJtcywgaWdub3JlX2N1cnJlbnQsIGFsbG93X2FsbA0KCSRzbWFydHktPmFzc2lnbignYWx0ZXJuYXRpdmVfdXJsJywgJHRoaXMtPkxhbmcoJ2FsdGVybmF0aXZlX3VybCcpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90b3VybCcsICR0aGlzLT5MYW5nKCd0YXJnZXR1cmwnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90b3VybCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCd0b3VybCcsJHJlZGlyZWN0aW5mb1sndG91cmwnXSw4MCwyNTApKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3RvdXJsJywgdHJpbSgkcmVkaXJlY3RpbmZvWyd0b3VybCddKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVnZXhwJywgJHRoaXMtPkxhbmcoJ3JlZ2V4cCcpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZ2V4cCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlZ2V4cCcsICd0cnVlJywgJHJlZGlyZWN0aW5mb1sndXJsX3JlZ2V4cCddID8gJ3RydWUnIDogJ2ZhbHNlJykpOw0KCSRzbWFydHktPmFzc2lnbigncHJvbXB0X2FjdGl2ZScsICR0aGlzLT5MYW5nKCdhY3RpdmUnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhY3RpdmUnLCAndHJ1ZScsICRyZWRpcmVjdGluZm9bJ2FjdGl2ZSddID8gJ3RydWUnIDogJ2ZhbHNlJykpOw0KCSRzbWFydHktPmFzc2lnbigncHJvbXB0X25vdGVzJywgJHRoaXMtPkxhbmcoJ25vdGVzJykpOw0KCSRzbWFydHktPmFzc2lnbignZG9tYWluX25vdGVzJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRyZWRpcmVjdGluZm9bJ25vdGVzJ10sICdub3RlcycsICdwYWdlc21hbGx0ZXh0YXJlYScpKTsNCiAgICAvLyBEaXNwbGF5IFRlbXBsYXRlDQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0cmVkaXJlY3QudHBsJyk7DQoNCn0NCi8vIERpc3BsYXkgYSBsaXN0IHdpdGggYXZhaWxhYmxlIHJlZGlyZWN0IHVybHMNCmVsc2Ugew0KDQoJLy8gU2V0IHZhcnMgYW5kIGltYWdlcw0KCSRpbWFnZXZpZXcgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJywkdGhpcy0+TGFuZygndmlldycpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJJGltYWdlaW5mbyA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vcnVuLmdpZicsJHRoaXMtPkxhbmcoJ3JlZ2V4cCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJJGltYWdlbm9zdGFuZGFyZCA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZygnbWFrZXN0YW5kYXJkJyksJycsJycsJ3N5c3RlbWljb24nKTsNCgkkaW1hZ2VpbmFjdGl2ZSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZygnbWFrZWFjdGl2ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJJGltYWdlc3RhbmRhcmQgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZygnc3RhbmRhcmQnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KCSRpbWFnZWFjdGl2ZSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nKCdtYWtlaW5hY3RpdmUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KCSRpbWFnZWVkaXQgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJJGltYWdlZGVsZXRlID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCgkkaW1hZ2VuZXcgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCR0aGlzLT5MYW5nKCduZXd0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoNCgkvLyBHZXQgcmVkaXJlY3RzDQoJJGFsbHJlZGlyZWN0cyA9ICR0YkRiLT5HZXRBbGwoJ1NFTEVDVCBpZCxwYWdlX2lkLHRvdXJsLHVybCx1cmxfcmVnZXhwLGFjdGl2ZSxub3RlcyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCcpOw0KCWlmICghaXNfYXJyYXkoJGFsbHJlZGlyZWN0cykpICRhbGxyZWRpcmVjdHMgPSBhcnJheSgpOw0KDQoJLy8gTGlzdCByZWRpcmVjdHMNCgkkcm93YXJyYXkgPSBhcnJheSgpOw0KCSRyb3djbGFzcyA9ICdyb3cxJzsNCglmb3JlYWNoICggJGFsbHJlZGlyZWN0cyBhcyAkb25lcmVkaXJlY3QgKSB7DQoJCS8vIEJ1aWxkIGEgbmV3IHJvdw0KCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJCSRyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOw0KCQkvLyBJRA0KCQkkcm93LT5pZCA9ICRvbmVyZWRpcmVjdFsnaWQnXTsNCgkJLy8gUmVnRXhwIEluZm8NCgkJJHJvdy0+cmVnZXhwID0gJG9uZXJlZGlyZWN0Wyd1cmxfcmVnZXhwJ107DQoJCS8vIEljb24NCgkJJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0RJUmljb24uZ2lmIiAvPic7DQoJCWlmIChwcmVnX21hdGNoKCcvLipcLmh0bShsKT8oXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9IVE1MaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuY3NzKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvQ1NTaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucGhwKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUEhQaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwudHh0KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvVFhUaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuemlwKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvWklQaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuZ2lmKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvR0lGaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucG5nKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSlBHaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuanBnKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSlBHaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwubXAzKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvTVAzaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwud2F2KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvTVAzaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuYXZpKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvQVZJaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuZmx2KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvRkxWaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucGRmKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUERGaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwuZG9jKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvRE9DaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwueGxzKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvWExTaWNvbi5naWYiIC8+JzsNCgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucHB0KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUFBUaWNvbi5naWYiIC8+JzsNCgkJLy8gQnVpbGQgcmVkaXJlY3Qgd2l0aCBlZGl0IGxpbmsNCgkJJHJvdy0+dXJsID0gc3RybGVuKCRvbmVyZWRpcmVjdFsndXJsJ10pPD0zMAk/ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9lZGl0cmVkaXJlY3QnLCAkcmV0dXJuaWQsICRpY29uLicgJy5wcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVyZWRpcmVjdFsndXJsJ10pLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddICksICcnLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2VkaXQnKS4nIicpDQoJCQkJCQkJCQkJCQkJOiAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaWNvbi4nICcuc3Vic3RyKHByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZXJlZGlyZWN0Wyd1cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lcmVkaXJlY3RbJ3VybCddLC0xNSksIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAncmVkaXJlY3QnPT4kb25lcmVkaXJlY3RbJ2lkJ10gKSwgJycsIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kb25lcmVkaXJlY3RbJ3VybCddLiciJyk7DQoJCSRyb3ctPnZ1cmwgPSAkb25lcmVkaXJlY3RbJ3VybCddOw0KCQkvLyBQYWdlIChvciBVUkwpDQoJCWlmICh0cmltKCRvbmVyZWRpcmVjdFsndG91cmwnXSkpIHsNCgkJCSRyb3ctPnBhZ2UgPSBzdHJsZW4oJG9uZXJlZGlyZWN0Wyd0b3VybCddKTw9MzAgCT8gJzxhIGhyZWY9IicuJG9uZXJlZGlyZWN0Wyd0b3VybCddLiciIHRpdGxlPSInLiRvbmVyZWRpcmVjdFsndG91cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kb25lcmVkaXJlY3RbJ3RvdXJsJ10uJzwvYT4nDQoJCQkJCQkJCQkJCQkJCQk6ICc8YSBocmVmPSInLiRvbmVyZWRpcmVjdFsndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lcmVkaXJlY3RbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuc3Vic3RyKCRvbmVyZWRpcmVjdFsndG91cmwnXSwwLDMwKS4nLi4uLjwvYT4nOw0KCQl9IGVsc2Ugew0KCQkJJHBhZ2VpbmZvID0gJHRiRGItPkdldFJvdygnU0VMRUNUIG1lbnVfdGV4dCxoaWVyYXJjaHksY29udGVudF9hbGlhcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGNvbnRlbnRfaWQgPSA/JywgYXJyYXkoJG9uZXJlZGlyZWN0WydwYWdlX2lkJ10pKTsNCgkJCSRoaWVyYXJjaGllcyA9IGV4cGxvZGUoJy4nLCRwYWdlaW5mb1snaGllcmFyY2h5J10pOw0KCQkJZm9yZWFjaCAoJGhpZXJhcmNoaWVzIGFzICRrPT4kaCkgJGhpZXJhcmNoaWVzWyRrXT0oaW50KSRoOw0KCQkJJHJvdy0+cGFnZSA9ICRwYWdlaW5mb1snbWVudV90ZXh0J10uJyA8ZW0+KCcuaW1wbG9kZSgnLicsJGhpZXJhcmNoaWVzKS4nIC0tJmd0OyAnLiRwYWdlaW5mb1snY29udGVudF9hbGlhcyddLicpPC9lbT4nOw0KCQl9DQoJCS8vIEJ1aWxkIGxpbmsgZm9yIGRlLS9hY3RpdmF0ZSB0aGUgcmVkaXJlY3QgdXJsDQoJCSRhY3RpdmUgPSAkb25lcmVkaXJlY3RbJ2FjdGl2ZSddID8gMSA6IDA7DQoJCWlmICggJGFjdGl2ZSApIHsgJHJvdy0+YWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkbWluX3JlZGlyZWN0YWN0aXZlJywgJHJldHVybmlkLCAkaW1hZ2VhY3RpdmUsIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAncmVkaXJlY3QnPT4kb25lcmVkaXJlY3RbJ2lkJ10sICdhY3RpdmUnPT4wICksICR0aGlzLT5MYW5nKCdyZWFsbHltYWtlaW5hY3RpdmUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdtYWtlaW5hY3RpdmUnKS4nIicpOyB9DQoJCWVsc2UgeyAkcm93LT5hY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fcmVkaXJlY3RhY3RpdmUnLCAkcmV0dXJuaWQsICRpbWFnZWluYWN0aXZlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddLCAnYWN0aXZlJz0+MSApLCAkdGhpcy0+TGFuZygncmVhbGx5bWFrZWFjdGl2ZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ21ha2VhY3RpdmUnKS4nIicpOyB9DQoJCS8vIEJ1aWxkIGVkaXQgaWNvbg0KCQkkcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9lZGl0cmVkaXJlY3QnLCAkcmV0dXJuaWQsICRpbWFnZWVkaXQsIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAncmVkaXJlY3QnPT4kb25lcmVkaXJlY3RbJ2lkJ10gKSwgJycsIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZWRpdCcpLiciJyk7DQoJCS8vIEJ1aWxkIGRlbGV0ZSBpY29uDQoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZGVsZXRlcmVkaXJlY3QnLCAkcmV0dXJuaWQsICRpbWFnZWRlbGV0ZSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8sICdyZWRpcmVjdCc9PiRvbmVyZWRpcmVjdFsnaWQnXSApLCAkdGhpcy0+TGFuZygncmVhbGx5ZGVsZXRlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZGVsZXRlJykuJyInKTsNCgkJLy8gTWVyZ2UgbmV3IHJlZGlyZWN0IHRvIGFycmF5DQoJCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7DQoJCS8vIEFsdGVybmF0ZSByb3cgY29sb3INCgkJKCRyb3djbGFzcyA9PSAncm93MScgPyAkcm93Y2xhc3MgPSAncm93MicgOiAkcm93Y2xhc3MgPSAncm93MScpOw0KCX0NCg0KCS8vIEFzc2lnbiBzbWFydHkgdmFycw0KCSRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2lkJywgJHRoaXMtPkxhbmcoJ2lkJykpOw0KCSRzbWFydHktPmFzc2lnbigndmlld2ljb24nLCAkaW1hZ2V2aWV3KTsNCgkkc21hcnR5LT5hc3NpZ24oJ2luZm9pY29uJywgJGltYWdlaW5mbyk7DQoJJHNtYXJ0eS0+YXNzaWduKCd2aWV3JywgJHRoaXMtPkxhbmcoJ3ZpZXcnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCd1cmwnLCAkdGhpcy0+TGFuZygndXJsJykpOw0KCSRzbWFydHktPmFzc2lnbigncGFnZScsICR0aGlzLT5MYW5nKCdwYWdlJykpOw0KCSRzbWFydHktPmFzc2lnbignYWN0aXZlJywgJHRoaXMtPkxhbmcoJ2FjdGl2ZScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ25ld3JlZGlyZWN0bGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9lZGl0cmVkaXJlY3QnLCAkcmV0dXJuaWQsICRpbWFnZW5ldy4nICcuJHRoaXMtPkxhbmcoJ25ld3JlZGlyZWN0JyksIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAncmVkaXJlY3QnPT4nJyApLCAnJywgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCduZXdyZWRpcmVjdCcpLiciJykpOw0KCSMkc21hcnR5LT5hc3NpZ24oJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9saXN0cmVkaXJlY3RzLnRwbCcpOw0KDQp9DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_socialshareprivacy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ3NvY2lhbHNoYXJlcHJpdmFjeSc7DQokdGVtcGxhdGUgPSAic29jaWFsc2hhcmVwcml2YWN5IjsNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9zb2NpYWxzaGFyZXByaXZhY3knLCRyZXR1cm5pZCwncG9zdCcsJycsIHRydWUsIGFycmF5KCkpKTsNCiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVuYW1lJywkdGVtcGxhdGUpOw0KJGNvbnRlbnRzID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7DQokdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsNCg0KJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICRjb250ZW50cyk7DQoNCiRjb250ZW50ID0gaXNzZXQoJGNvbnRlbnRzY29kZVswXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMF0sJyp9JykgOiAnJzsNCiRzdHlsZXNoZWV0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsxXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMV0sJyp9JykgOiAnJzsNCiRqYXZhc2NyaXB0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsyXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMl0sJyp9JykgOiAnJzsNCg0KJGluZm9saW5rID0gaXNzZXQoJHRlbXBsYXRlcHJvcHNbJ2luZm9saW5rJ10pID8gJHRlbXBsYXRlcHJvcHNbJ2luZm9saW5rJ10gOiAnJzsNCiRhZHZhbmNlZCA9IGlzc2V0KCR0ZW1wbGF0ZXByb3BzWydhZHZhbmNlZCddKSA/ICR0ZW1wbGF0ZXByb3BzWydhZHZhbmNlZCddIDogMDsNCg0KJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLA0KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndmVyc2lvbicsICR0ZW1wbGF0ZXByb3BzWyd2ZXJzaW9uJ10pIC4NCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3NlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKSAuDQoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0YWJ0bycsICR0YWJ0bykgDQoJKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3RpdGxlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9kZXNjcmlwdGlvbicpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbmZvbGluaycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2luZm9saW5rJywgJGluZm9saW5rLCA4MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW5mb2xpbmsnLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2luZm9saW5rJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2pxdWVyeScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdqcXVlcnknLCcxJywkdGVtcGxhdGVwcm9wc1snanF1ZXJ5J10sJzEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9qcXVlcnknLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2pxdWVyeScpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdhZHZhbmNlZF91c2UnLCRhZHZhbmNlZCk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkdmFuY2VkJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2FkdmFuY2VkJywnMScsJGFkdmFuY2VkLCcxJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWR2YW5jZWQnLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2FkdmFuY2VkJykpOw0KDQokc21hcnR5LT5hc3NpZ24oInByb21wdF90ZW1wbGF0ZV9pbmZvIiwkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZV9pbmZvJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJGNvbnRlbnRzY29kZVswXSwgJ3RlbXBsYXRlY29udGVudCcsJ3RiX3RleHRhcmVhJywnJywnJywnJywnODAnLCc1JykpOw0KCQkJCSAgICANCiRzbWFydHktPmFzc2lnbignc21hcnR5dGFncycsJHRoaXMtPkxhbmcoJ3NtYXJ0eXRhZ3MnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZWNzcycsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGVjc3MnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlY3NzJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJHN0eWxlc2hlZXQsICd0ZW1wbGF0ZWNzcycpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlanMnLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlanMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlanMnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkamF2YXNjcmlwdCwgJ3RlbXBsYXRlanMnKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Jlc2V0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdyZXNldGJ1dHRvbicsICR0aGlzLT5MYW5nKCdyZXNldG9yaWdpbmFsJyksICcnLCAnJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWx3YXJuaW5nJykpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW1wb3J0dGVtcGxhdGVsaW5rJywNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgJGdDbXMtPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksDQoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnaW1wb3J0JywgJ3RhYnRvJyA9PiAnc29jaWFsc2hhcmVwcml2YWN5JyksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuDQoNCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR0ZW1wbGF0ZScpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2ltcG9ydCcsICd0YWJ0bycgPT4gJ3NvY2lhbHNoYXJlcHJpdmFjeScpKSk7DQoNCgkJCSAgICAgDQokc21hcnR5LT5hc3NpZ24oJ2V4cG9ydHRlbXBsYXRlbGluaycsDQoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19leHBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkgICAgJzxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3htbF9yc3MuZ2lmIiBhbHQ9IlhNTCIgLz4nLA0KCQkJCSAgICBhcnJheSgnc2VjdGlvbicgPT4gJ3NvY2lhbHNoYXJlcHJpdmFjeScsJ3RlbXBsYXRlJyA9PiAnc29jaWFsc2hhcmVwcml2YWN5JykpIC4gIiAiIC4NCg0KCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZG9fZXhwb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkgICAgICR0aGlzLT5MYW5nKCdleHBvcnRfdGVtcGxhdGUnKSwNCgkJCSAgICAgYXJyYXkoJ3NlY3Rpb24nID0+ICdzb2NpYWxzaGFyZXByaXZhY3knLCd0ZW1wbGF0ZScgPT4gJ3NvY2lhbHNoYXJlcHJpdmFjeScpKSk7DQoJCQkgICAgIA0KCQkJICAgICANCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zb2NpYWxzaGFyZXByaXZhY3kudHBsJyk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_stats.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ3N0YXRzJzsNCg0KLy8gRGF0dW0gZXJtaXR0ZWxuDQokbGRheSA9IChpbnQpZGF0ZSgnZCcsIHRpbWUoKSAtIDg2NDAwKTsNCiRsbW9udGggPSAoaW50KWRhdGUoJ20nLHN0cnRvdGltZSgnLTEgbW9udGgnKSk7DQokbHllYXIgPSAoaW50KWRhdGUoJ1knLHN0cnRvdGltZSgnLTEgeWVhcicpKTsNCg0KLy8gQXNzaWduIFNtYXJ0eSB2YXJzDQokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRhYnRvKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RheXNfcmVkaXJlY3QnLCBnZXRMb2dTdW0oJGxkYXksJ2RheScpICk7DQokc21hcnR5LT5hc3NpZ24oJ21vbnRoc19yZWRpcmVjdCcsIGdldExvZ1N1bSgkbG1vbnRoLCdtb250aCcpICk7DQokc21hcnR5LT5hc3NpZ24oJ3llYXJzX3JlZGlyZWN0JywgZ2V0TG9nU3VtKCRseWVhciwneWVhcicpICk7DQokc21hcnR5LT5hc3NpZ24oJ3JlZGlyZWN0JywkdGhpcy0+TGFuZygncmVkaXJlY3QnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3JlZGlyZWN0cycsJHRoaXMtPkxhbmcoJ3JlZGlyZWN0cycpKTsNCiRzbWFydHktPmFzc2lnbigncGFnZScsJHRoaXMtPkxhbmcoJ3BhZ2UnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Zpc2l0cycsJHRoaXMtPkxhbmcoJ3Zpc2l0cycpKTsNCiRzbWFydHktPmFzc2lnbignc2VhcmNoZW5naW5lJywkdGhpcy0+TGFuZygnc2VhcmNoZW5naW5lJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdrZXl3b3JkJywkdGhpcy0+TGFuZygna2V5d29yZCcpKTsNCiRzbWFydHktPmFzc2lnbigncmVmZXJlcicsJHRoaXMtPkxhbmcoJ3JlZmVyZXInKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RheScsJHRoaXMtPkxhbmcoJ2RheScpKTsNCiRzbWFydHktPmFzc2lnbignZGF5cycsJHRoaXMtPkxhbmcoJ2RheXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ21vbnRoJywkdGhpcy0+TGFuZygnbW9udGgnKSk7DQokc21hcnR5LT5hc3NpZ24oJ21vbnRocycsJHRoaXMtPkxhbmcoJ21vbnRocycpKTsNCiRzbWFydHktPmFzc2lnbigneWVhcicsJHRoaXMtPkxhbmcoJ3llYXInKSk7DQokc21hcnR5LT5hc3NpZ24oJ3llYXJzJywkdGhpcy0+TGFuZygneWVhcnMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXRzX2RhaWx5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfZGFpbHknKSA/IDEgOiAwKTsNCiRzbWFydHktPmFzc2lnbignb2xkdXJsX3VzZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSA/IDEgOiAwKTsNCg0KLy8gRGlzcGxheSBUZW1wbGF0ZQ0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zdGF0cy50cGwnKTsNCg0KZnVuY3Rpb24gZ2V0TG9nU3VtICgkdiwkcGVyaW9kKSB7DQoJLy8gU2V0IGRiDQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOw0KCS8vIEdldCBkYXRhDQoJJGRhdGEgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgdXJsLHBhZ2VfaWQsdmlzaXRzLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZD0/IEFORCB2YWx1ZT0/IE9SREVSIEJZIHVybCcsYXJyYXkoJHBlcmlvZCwoaW50KSR2KSk7DQoJaWYgKCFpc19hcnJheSgkZGF0YSkpICRkYXRhID0gYXJyYXkoKTsNCgkvLyBMaXN0IGRhdGENCgkkcmVzdWx0ID0gYXJyYXkoKTsNCgkkcm93Y2xhc3MgPSAncm93MSc7DQoJZm9yZWFjaCAoICRkYXRhIGFzICRkICkgew0KCQkvLyBCdWlsZCBhIG5ldyByb3cNCgkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOw0KCQkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsNCgkJLy8gVVJMDQoJCSRyb3ctPnVybCA9ICRkWyd1cmwnXTsNCgkJLy8gUGFnZQ0KCQkkcm93LT5wYWdlX2lkID0gJGRbJ3BhZ2VfaWQnXTsNCgkJaWYgKCRyb3ctPnBhZ2VfaWQpICRwYWdlaW5mbyA9ICR0YkRiLT5HZXRSb3coJ1NFTEVDVCBtZW51X3RleHQsaGllcmFyY2h5LGNvbnRlbnRfYWxpYXMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSBjb250ZW50X2lkID0gPycsIGFycmF5KCRkWydwYWdlX2lkJ10pKTsNCgkJaWYgKCRwYWdlaW5mbykgew0KCQkJJGhpZXJhcmNoaWVzID0gZXhwbG9kZSgnLicsJHBhZ2VpbmZvWydoaWVyYXJjaHknXSk7DQoJCQlmb3JlYWNoICgkaGllcmFyY2hpZXMgYXMgJGs9PiRoKSAkaGllcmFyY2hpZXNbJGtdPShpbnQpJGg7DQoJCQkkcm93LT5wYWdlID0gJHBhZ2VpbmZvWydtZW51X3RleHQnXS4nIDxlbT4oJy5pbXBsb2RlKCcuJywkaGllcmFyY2hpZXMpLic6Jy4kcGFnZWluZm9bJ2NvbnRlbnRfYWxpYXMnXS4nKTwvZW0+JzsNCgkJfQ0KCQkvLyBWaXNpdHMNCgkJJHJvdy0+dmlzaXRzID0gJGRbJ3Zpc2l0cyddOw0KCQkvLyBTZWFyY2ggRW5naW5lDQoJCSRyb3ctPnNlYXJjaGVuZ2luZSA9ICRkWydzZWFyY2hlbmdpbmUnXTsNCgkJLy8gS2V5d29yZA0KCQkkcm93LT5rZXl3b3JkID0gJGRbJ2tleXdvcmQnXTsNCgkJLy8gUmVmZXJlcg0KCQkkcm93LT5yZWZlcmVyID0gJGRbJ3JlZmVyZXInXTsNCgkJLy8gTWVyZ2UgbmV3IHJlZGlyZWN0IHRvIGFycmF5DQoJCWFycmF5X3B1c2ggKCRyZXN1bHQsICRyb3cpOw0KCQkvLyBBbHRlcm5hdGUgcm93IGNvbG9yDQoJCSgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJHJvd2NsYXNzID0gJ3JvdzInIDogJHJvd2NsYXNzID0gJ3JvdzEnKTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_tail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KQXV0aG9yOiBMdWthcyBCbGF0dGVyDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8vIENoZWNrIGF1dGhvcmlzYXRpb24JDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ3RhaWwnOw0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2xvZ1VwZGF0ZXInLCRyZXR1cm5pZCwncG9zdCcsJycsIHRydWUsIGFycmF5KCkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsNCg0KDQokbG9nZmlsZXMgPSBzY2FuZGlyKCR0aGlzLT50YkxvZ1BhdGgpOw0KJGZpbGVzID0gYXJyYXkoKTsNCmZvcmVhY2ggKCRsb2dmaWxlcyBhcyAkZmlsZSkgew0KCWlmICgkZmlsZSAhPSAnLi4nIGFuZCAkZmlsZSAhPSAnLicgYW5kICRmaWxlICE9ICcuaHRhY2Nlc3MnKSB7DQoJCWlmIChmaWxlX2V4aXN0cygkdGhpcy0+dGJMb2dQYXRoLiRmaWxlKSkgew0KCQkJJGZpbGVzWyRmaWxlXSA9ICRmaWxlOw0KCQl9DQoJfQ0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdsb2dGaWxlJywgJGZpbGVzLCAtMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfZmlsZScpLCdpZD0idGFpbGxvZ2ZpbGUiJykpOw0KDQoNCiRsaW5lcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJyk7DQppZiAoISRsaW5lcykgJGxpbmVzID0gMjA7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbGluZXMnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdsb2dMaW5lcycsJGxpbmVzLDEwLDEwMCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0YlRhYlRvJywgJHRhYnRvKTsNCg0KaWYgKGlzc2V0KCRfU0VTU0lPTlsndGJMb2dSdW4nXSkgYW5kICRfU0VTU0lPTlsndGJMb2dSdW4nXSkgew0KCSRsb2dMaW5lcyA9IHRiTG9nVXBkYXRlcjo6Z2V0TG9nTGluZXMoJHRoaXMtPnRiTG9nUGF0aC4kdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF9maWxlJyksICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJykpOyANCgkNCgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvZycsJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEoJGlkLCRsb2dMaW5lcywnbG9nJywnJywndGFpbGxvZ2FyZWEnLCcnLCcnLDEyMCwzMCwncmVhZG9ubHk9InJlYWRvbmx5IicpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdG9wYnV0dG9uJywgJHRoaXMtPkxhbmcoJ3RhaWxfc3RvcCcpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdzaG93Zm9ybScsZmFsc2UpOw0KfQ0KZWxzZSB7DQoJJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3RhcnRidXR0b24nLCAkdGhpcy0+TGFuZygndGFpbF9zdGFydCcpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdzaG93Zm9ybScsdHJ1ZSk7DQp9CQ0KDQoNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fdGFpbC50cGwnKTsNCg0K]]></data>
	</file>
	<file>
	  <filename>/function.admin_twitterfeed.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7DQoNCi8vIFNldCBUYWIgbmFtZQ0KJHRhYnRvID0gJ3R3aXR0ZXJmZWVkJzsNCiRzZWN0aW9uID0gJ3R3aXR0ZXJmZWVkJzsNCg0KJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7IC8vICAmICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsNCiRmYWxzZWltYWdlMSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZyAoJ3NldHRydWUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KJHRydWVpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZyAoJ2RlZmF1bHQnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KJGZhbHNlaW1hZ2UyID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCR0aGlzLT5MYW5nICgnbWFrZXZpc2libGUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KJHRydWVpbWFnZTIgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZyAoJ21ha2VpbnZpc2libGUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KDQokc21hcnR5LT5hc3NpZ24oJ21vZCcsJHRoaXMpOw0KDQoNCiRhbGx0ZW1wbGF0ZXMgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygpOw0KJGN1cnJlbnRfdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF8nLiRzZWN0aW9uLidfdGVtcGxhdGUnKTsNCiRyb3dhcnJheSA9IGFycmF5KCk7DQokcm93Y2xhc3MgPSAncm93MSc7DQoNCmZvcmVhY2goICRhbGx0ZW1wbGF0ZXMgYXMgJHRwbCApDQp7DQoJaWYgKHN1YnN0cigkdHBsLDAsNCkgIT0gInR3Zl8iKSBjb250aW51ZTsNCgkNCgkkdHBscHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0cGwpOw0KCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsNCgkkcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCBzdHJfcmVwbGFjZSgidHdmXyIsICIiLCAkdHBsKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JywgJ3RhYnRvJyA9PiAkdGFidG8pKTsNCgkkcm93LT52ZXJzaW9uID0gJHRwbHByb3BzWyd2ZXJzaW9uJ107DQoJJHJvdy0+YWJvdXQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dHBsYWJvdXQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdwcm9tcHRfYWJvdXQnKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidzaG93JywgJ3RhYnRvJyA9PiAkdGFidG8pKTsNCgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsNCgkNCglpZiggJHRwbCA9PSAkY3VycmVudF90ZW1wbGF0ZSApDQoJew0KCQkkcm93LT5kZWZhdWx0ID0gJHRydWVpbWFnZTE7DQoJfQ0KCWVsc2UNCgl7DQoJCSRyb3ctPmRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hkZWZhdWx0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRmYWxzZWltYWdlMSwNCgkJCQkgICAgICAgYXJyYXkoJ3RlbXBsYXRlJz0+JHRwbCwgJ3RhYnRvJyA9PiAkdGFidG8sJ3NlY3Rpb24nPT4kc2VjdGlvbikpOw0KCX0NCg0KCSRyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCSAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwNCgkJCQkgICAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvKSk7DQoJDQoJJHJvdy0+Y29weWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkdGhpcy0+TGFuZyAoJ2NvcHknKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCSAgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCkpOw0KCQ0KCWlmKCAkdHBsID09ICRjdXJyZW50X3RlbXBsYXRlICkNCgl7DQoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAnJm5ic3A7JzsNCgl9DQoJZWxzZQ0KCXsNCgkJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2RlbGV0ZXRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCQkgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICd0YWJ0byc9PiR0YWJ0byksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KCX0NCg0KCSRyb3ctPmV4cG9ydCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2V4cG9ydHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCSAgICAnPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMveG1sX3Jzcy5naWYiIGFsdD0iWE1MIiAvPicsDQoJCQkJICAgIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCkpOw0KDQoJYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkcm93KTsNCgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7DQp9DQoNCmlmICghY291bnQoJHJvd2FycmF5KSkgew0KCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsNCgkkcm93LT5uYW1lID0gIkVzIGlzdCBrZWluIFRlbXBsYXRlIGluIGRlciBEYXRlbmJhbmsgZ2VzcGVpY2hlcnQiOw0KCSRyb3ctPmRlZmF1bHQgPSAiIjsNCgkkcm93LT5lZGl0bGluayA9ICIiOw0KCSRyb3ctPmNvcHlsaW5rID0gIiI7DQoJJHJvdy0+ZGVsZXRlbGluayA9ICIiOw0KCSRyb3ctPmV4cG9ydCA9ICIiOw0KCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7DQp9DQoNCiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCduZXd0ZW1wbGF0ZWxpbmsnLA0KCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJICAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF8nLiRzZWN0aW9uLidfY29udGVudHMnKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4NCg0KCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJICAgICAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksDQoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ19jb250ZW50cycpKSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRpbXBvcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdkb19pbXBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCd0YWJ0bycsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pKTsNCiRzbWFydHktPmFzc2lnbignaW1wb3J0eG1sJywgJHRoaXMtPkNyZWF0ZUlucHV0RmlsZSggJGlkLCAnaW1wb3J0eG1sJywgJ3RleHQveG1sJywgMzApKTsNCiRzbWFydHktPmFzc2lnbignb3ZlcndyaXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnb3ZlcndyaXRlJywgJzEnLCAnMScpKTsNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdpbXBvcnRzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsNCg0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3R3aXR0ZXJmZWVkLnRwbCcpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/functions/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/functions/tbfunctions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZToJCVRvb2xCb3gNClRpdGxlOgkJRXh0ZW5kZWQgZnVuY3Rpb25zDQpEZXNjcmlwdC46CVNtYXJ0eS1mdW5jdGlvbnMgZm9yIHNvbWUgdXNlZnVsIGZ1bmN0aW9ucw0KTGFzdCBNb2QuOgkyMC4wMS4yMDEyDQpBdXRob3I6CQlMdWthcyBCbGF0dGVyDQpFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gNCk5vdGVzOg0KTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCgkJCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQoJCQl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCgkJCUhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KCQkJYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQoJCQlNYWRlIFNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4NCgkJCXNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuDQoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOg0KCQkJaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy8NCgkJCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCgkJCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCgkJCUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KCQkJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCgkJCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCg0KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiSW1hZ2UoJHBhcmFtcywgJiRzbWFydHkpDQp7DQoJdHJ5IHsNCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkNCgkJLy8gQmlsZCBEYXRlbg0KCQkkaW1hZ2U9aXNzZXQoJHBhcmFtc1snaW1hZ2UnXSkgPyAkcGFyYW1zWydpbWFnZSddOmZhbHNlOw0KCQlpZiAoIWltYWdlKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCJ0aGVyZSdzIG5vIGltYWdlIGRlZmluaWVkIiwgMCk7DQoJCQ0KCQkvLyBBbGxmw6RsbGlnZSBUYWdzIGF1cyBkZW0gUGZhZCBlbnRmZXJuZW4NCgkJaWYgKHByZWdfbWF0Y2goJyM8KC4qPylzcmM9IiguKj8pIiguKj8pLz4jJywgJGltYWdlLCAkbWF0Y2hlcykpIHsNCgkJCSRpbWFnZSA9ICAkbWF0Y2hlc1syXTsNCgkJfQ0KCQlpZiAoKHN1YnN0cigkcGF0aCwgMCw1KSk9PSJodHRwcyIpeyRMPXN0cmxlbigkY29uZmlnWydzc2xfdXJsJ10pOyRpbWFnZSA9IHN1YnN0cl9yZXBsYWNlKCRpbWFnZSwgJycsIDAsICRMKTt9DQoJCWlmICgoc3Vic3RyKCRwYXRoLCAwLDQpKT09Imh0dHAiKXskTD1zdHJsZW4oJGNvbmZpZ1sncm9vdF91cmwnXSk7JGltYWdlID0gc3Vic3RyX3JlcGxhY2UoJGltYWdlLCAnJywgMCwgJEwpO30NCgkJJG1hdGNoZXMgPSBhcnJheSgpOw0KCQlpZiAocHJlZ19tYXRjaCgnI1todHRwfGh0dHBzXTovLyguKj8pLyguKj8pIycsICRpbWFnZSwgJG1hdGNoZXMpKSB7DQoJCQkkaW1hZ2UgPSAgJG1hdGNoZXNbMF07DQoJCX0NCgkJDQoJCS8vIHdlaXRlcmUgRGF0ZW4NCgkJJGltYWdlZGVzdD1pc3NldCgkcGFyYW1zWyckaW1hZ2VkZXN0J10pID8gJHBhcmFtc1snJGltYWdlZGVzdCddOiRjb25maWdbJ3VwbG9hZHNfcGF0aCddLiIvQXV0b0xpZ2h0Qm94LyI7DQoJCSRxdWFsaXR5ID0gaXNzZXQoJHBhcmFtc1sncXVhbGl0eSddKSA/IGludHZhbCgkcGFyYW1zWydxdWFsaXR5J10pIDogODU7DQoJCSRwcm9wb3J0aW9uID0gaXNzZXQoJHBhcmFtc1sncHJvcG9ydGlvbiddKSA/ICRwYXJhbXNbJ3Byb3BvcnRpb24nXSA6IHRydWU7DQoNCgkJLy8gQWxsZ2VtZWluDQoJCSRub1RhZyA9IGlzc2V0KCRwYXJhbXNbJ25vdGFnJ10pID8gJHBhcmFtc1snbm90YWcnXSA6IHRydWU7DQoJCSRub091dHB1dCA9IGlzc2V0KCRwYXJhbXNbJ25vX291dHB1dCddKSA/ICRwYXJhbXNbJ25vb3V0cHV0J106ZmFsc2U7DQoJCSRhc3NpZ24gPSBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgPyAkcGFyYW1zWydhc3NpZ24nXTonJzsNCgkJJGRlYnVnID0gaXNzZXQoJHBhcmFtc1snZGVidWcnXSkgPyAkcGFyYW1zWydkZWJ1ZyddOicnOw0KDQoJCS8vIFN0eWxlcw0KCQkkY2xhc3MgPSBpc3NldCgkcGFyYW1zWydjbGFzcyddKSA/ICcgY2xhc3M9IicuJHBhcmFtc1snY2xhc3MnXS4nIiAnOicnOw0KCQkkYWx0ID0gaXNzZXQoJHBhcmFtc1snYWx0J10pID8gJHBhcmFtc1snYWx0J106Jyc7DQoJCSRpZCA9IGlzc2V0KCRwYXJhbXNbJ2lkJ10pID8gJyBpZD0iJy4kcGFyYW1zWydpZCddLiciICc6Jyc7DQoJCSR0aXRsZSA9IGlzc2V0KCRwYXJhbXNbJ3RpdGxlJ10pID8gJyB0aXRsZT0iJy4kcGFyYW1zWyd0aXRsZSddLiciICc6Jyc7DQoJCSRzdHlsZSA9IGlzc2V0KCRwYXJhbXNbJ3N0eWxlJ10pID8gJyBzdHlsZT0iJy4kcGFyYW1zWydzdHlsZSddLiciICc6Jyc7DQoJCQ0KCQkNCg0KCQkNCgkJDQoJCQ0KCQkNCgkJDQoJCQ0KCQkNCi8vCQkkZm90byA9IG5ldyBJbWFnZVdvcmtzaG9wKGFycmF5KCdpbWFnZUZyb21QYXRoJyA9PiByZWFscGF0aCgkY29uZmlnWydyb290X3BhdGgnXS4nL3VwbG9hZHMvaW1hZ2VzL1NhcmFfWmVpY2hudW5nX0hpbnRlcmdydW5kLmpwZycpKSk7DQovLwkJZWNobyAkZm90by0+Z2V0V2lkdGgoKTsNCi8vCQkNCi8vCQllY2hvIHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvdXBsb2Fkcy9BdXRvTGlnaHRCb3giKTsNCi8vCQkNCi8vCQkkZm90by0+cmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwoNDAwLHRydWUpOw0KLy8JCSRmb3RvLT5zYXZlKHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvdXBsb2Fkcy9BdXRvTGlnaHRCb3giKSwgInRlc3RpbWFnZS5qcGciKTsNCi8vCQkNCi8vCQllY2hvICc8aW1nIHNyYz0idXBsb2Fkcy9BdXRvTGlnaHRCb3gvdGVzdGltYWdlLmpwZyIgLz4nOw0KDQoJCWVjaG8gInRiSW1hZ2UgLSB0aGlzIHBsdWdpbiBpc24ndCBhdmFpbGFibGUiOw0KCQkNCgl9DQoJY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KCQllY2hvICJ0YkltYWdlIEVycm9yOiAiIC4gJGUtPmdldE1lc3NhZ2UoKTsNCgl9DQoJDQoJDQoJDQp9DQoNCg0KDQoNCi8qKg0KICogDQogKiBTZXR6dCBlaW5lIFNlc3Npb252YXJpYWJsZQ0KICogQHBhcmFtICRwYXJhbXNbJ25hbWUnXSANCiAqIEBwYXJhbSAkcGFyYW1zWyd2YWx1ZSddIA0KICovDQpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJTZXNzaW9uU2V0KCRwYXJhbXMsJiRzbWFydHkpDQp7DQoJaWYoIGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgJiYgaXNzZXQoJHBhcmFtc1sndmFsdWUnXSkgKSB7DQoJCSRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOw0KCQlpZiggaXNfc3RyaW5nKCRuYW1lKSApIHsgJF9TRVNTSU9OWyRuYW1lXSA9ICRwYXJhbXNbJ3ZhbHVlJ107IH0NCgl9DQp9DQoNCi8qKg0KICogDQogKiBMw7ZzY2h0IGVpbmUgU2Vzc2lvbnZhcmlhYmxlDQogKiBAcGFyYW0gJHBhcmFtc1snbmFtZSddIA0KICogQHBhcmFtICRwYXJhbXNbJ3ZhbHVlJ10gDQogKi8NCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YlNlc3Npb25VbnNldCgkcGFyYW1zLCYkc21hcnR5KQ0Kew0KCWlmKCBpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7DQoJCSRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOw0KCQlpZiggaXNfc3RyaW5nKCRuYW1lKSAmJiBpc3NldCgkX1NFU1NJT05bJG5hbWVdKSApIHsgdW5zZXQoJF9TRVNTSU9OWyRuYW1lXSk7IH0NCgl9DQp9DQoNCg0KLyoqDQogKiANCiAqIEdpYnQgZGllIFNlaXRlbiBIaWVyYXJjaGllIHp1csO8Y2sNCiAqIEBwYXJhbSAkYXNzaWduDQogKiBAcGFyYW0gJGRlbGltaXRlcg0KICogQHBhcmFtICRvdXRwdXQNCiAqLw0KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiR2V0UGFnZUhpZXJhcmNoeSgkcGFyYW1zLCYkc21hcnR5KQ0Kew0KCSRhc3NpZ24JCT0gaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pIAkJPyAkcGFyYW1zWydhc3NpZ24nXQkJOiAiIjsNCgkkZGVsaW1pdGVyCT0gaXNzZXQoJHBhcmFtc1snZGVsaW1pdGVyJ10pCT8gJHBhcmFtc1snZGVsaW1pdGVyJ10JOiAifCI7DQoJJG91dHB1dAkJPSBpc3NldCgkcGFyYW1zWydvdXRwdXQnXSkJCT8gJHBhcmFtc1snb3V0cHV0J10JOiAiIjsNCgkNCgkkZ0NtcyA9IGNtc21zKCk7DQoJJHRyZWUgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCSRsaXN0ID0gJHRyZWUtPmdldEZsYXRMaXN0KCk7DQoJDQoJJGFsbGNvbnRlbnQ9IGFycmF5KCk7DQoJZm9yZWFjaCggJGxpc3QgYXMgJiRvbmUgKQ0KCXsNCgkJJHRtcCA9ICRvbmUtPkdldENvbnRlbnQoZmFsc2UsdHJ1ZSx0cnVlKTsNCgkJaWYoIGlzX29iamVjdCgkdG1wKSApICRhbGxjb250ZW50W10gPSAkdG1wOw0KCX0NCgkNCgkNCglpZiAoJGFsbGNvbnRlbnQgIT09IEZBTFNFICYmIGNvdW50KCRhbGxjb250ZW50KSA+IDApIA0KCXsNCgkJJHBhZ2VzID0gYXJyYXkoKTsNCgkNCgkJZm9yZWFjaCAoJGFsbGNvbnRlbnQgYXMgJGNvbnRlbnQpIA0KCQl7DQoJCQkkcGFnZXNbJGNvbnRlbnQtPklkKCldID0gJGNvbnRlbnQtPkhpZXJhcmNoeSgpIC4nLiAtICcuJGNvbnRlbnQtPk1lbnVUZXh0KCk7DQoJCX0NCgl9DQoJDQoJaWYgKGlzc2V0KCRvdXRwdXQpIGFuZCAkb3V0cHV0ID09ICJpZCIpIHsNCgkJaWYoIWVtcHR5KCRhc3NpZ24pKQ0KCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksJGRlbGltaXRlci5pbXBsb2RlKCRkZWxpbWl0ZXIsIGFycmF5X2tleXMoJHBhZ2VzKSkpOw0KCQllbHNlCQ0KCQkJcmV0dXJuICRkZWxpbWl0ZXIuaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRwYWdlcykpOw0KCX0NCgllbHNlIHsNCgkJaWYoIWVtcHR5KCRhc3NpZ24pKQ0KCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksImtlaW5lIC8gT2huZSBWb3JnYWJlfCIuaW1wbG9kZSgkZGVsaW1pdGVyLCAkcGFnZXMpKTsNCgkJZWxzZQ0KCQkJcmV0dXJuICJrZWluZSAvIE9obmUgVm9yZ2FiZXwiLmltcGxvZGUoInwiLCAkcGFnZXMpOw0KCX0NCn0NCgkNCi8qKg0KICogDQogKiBHaWJ0IGRpZSBOZXdzIEthdGVnb3JpZW4genVyw7xjaw0KICogQHBhcmFtICRhc3NpZ24NCiAqIEBwYXJhbSAkZGVsaW1pdGVyDQogKiBAcGFyYW0gJG91dHB1dA0KICovDQpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJHZXROZXdzQ2F0ZWdvcmllcygkcGFyYW1zLCYkc21hcnR5KQ0Kew0KCSRhc3NpZ24JCT0gaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pIAkJPyAkcGFyYW1zWydhc3NpZ24nXQkJOiAiIjsNCgkkZGVsaW1pdGVyCT0gaXNzZXQoJHBhcmFtc1snZGVsaW1pdGVyJ10pCT8gJHBhcmFtc1snZGVsaW1pdGVyJ10JOiAifCI7DQoJJG91dHB1dCAJPSBpc3NldCgkcGFyYW1zWydvdXRwdXQnXSkgCQk/ICRwYXJhbXNbJ291dHB1dCddCQk6ICIiOw0KCQ0KCSRnQ21zID0gY21zbXMoKTsNCgkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsNCg0KCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmV3c19jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7DQoJJGRicmVzdWx0ID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOw0KCWlmKCAkZGJyZXN1bHQgKSAkY2F0ZWdvcmllcyA9ICRkYnJlc3VsdDsNCgkgIA0KCSRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOw0KCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRjYXRlZ29yaWVzKTsgJGkrKyApICB7DQoJICAgJHJvdyA9ICRjYXRlZ29yaWVzWyRpXTsNCgkgICAkY2F0ZWdvcnlsaXN0W3N0cl9yZXBsYWNlKCJ8IiwiLSIsJHJvd1snbG9uZ19uYW1lJ10pXSA9ICRyb3dbJ25ld3NfY2F0ZWdvcnlfbmFtZSddOw0KCX0NCgkNCglpZiAoaXNzZXQoJG91dHB1dCkgYW5kICRvdXRwdXQgPT0gImlkIikgew0KCQlpZighZW1wdHkoJGFzc2lnbikpIA0KCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksaW1wbG9kZSgkZGVsaW1pdGVyLCAkY2F0ZWdvcnlsaXN0KSk7DQoJCWVsc2UgDQoJCQlyZXR1cm4gaW1wbG9kZSgkZGVsaW1pdGVyLCAkY2F0ZWdvcnlsaXN0KTsNCgl9DQoJZWxzZSB7DQoJCWlmKCFlbXB0eSgkYXNzaWduKSkgDQoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxpbXBsb2RlKCRkZWxpbWl0ZXIsIGFycmF5X2tleXMoJGNhdGVnb3J5bGlzdCkpKTsNCgkJZWxzZQ0KCQkJcmV0dXJuIGltcGxvZGUoInwiLCBhcnJheV9rZXlzKCRjYXRlZ29yeWxpc3QpKTsNCgl9DQp9DQoNCg0KLyoqDQogKiANCiAqIEdpYnQgZWluZSBMaXN0ZSBkZXIgQ01TIEJlbnV0emVyZ3J1cHBlbiB1bmQgQmVudXR6ZXIgenVyw7xjaw0KICogQHBhcmFtICRhc3NpZ24NCiAqIEBwYXJhbSAkZGVsaW1pdGVyDQogKiBAcGFyYW0gJGdyb3Vwc19vbmx5DQogKi8NCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YkdldFVzZXJHcm91cHMoJHBhcmFtcywmJHNtYXJ0eSkNCnsNCgkkZ0NtcyA9IGNtc21zKCk7DQoJDQoJJGFzc2lnbgkJPSBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgCQk/ICRwYXJhbXNbJ2Fzc2lnbiddCQk6ICIiOw0KCSRkZWxpbWl0ZXIJPSBpc3NldCgkcGFyYW1zWydkZWxpbWl0ZXInXSkJPyAkcGFyYW1zWydkZWxpbWl0ZXInXQk6ICJ8IjsNCgkkb3V0cHV0IAk9IGlzc2V0KCRwYXJhbXNbJ291dHB1dCddKSAJCT8gJHBhcmFtc1snb3V0cHV0J10JCTogIiI7DQoJJGdyb3Vwc19vbmx5PSBpc3NldCgkcGFyYW1zWydncm91cHNfb25seSddKQk/ICRwYXJhbXNbJ2dyb3Vwc19vbmx5J106IGZhbHNlOw0KCQ0KCSR1c2Vyb3BzID0gJGdDbXMtPkdldFVzZXJPcGVyYXRpb25zKCk7DQoJJGdyb3Vwb3BzID0gJGdDbXMtPkdldEdyb3VwT3BlcmF0aW9ucygpOw0KCSRhbGx1c2VycyA9ICR1c2Vyb3BzLT5Mb2FkVXNlcnMoKTsNCgkkYWxsZ3JvdXBzID0gJGdyb3Vwb3BzLT5Mb2FkR3JvdXBzKCk7DQoJDQoJJGVkaXRvcnMgPSBhcnJheSgpOw0KCWZvcmVhY2ggKCRhbGxncm91cHMgYXMgJG9uZWdyb3VwKSB7DQoJICBpZiggJG9uZWdyb3VwLT5pZCA9PSAxICkgY29udGludWU7DQoJICAkdmFsID0gJG9uZWdyb3VwLT5pZCotMTsNCgkgICRlZGl0b3JzWyR2YWxdID0gIkdydXBwZTogIi4gJG9uZWdyb3VwLT5uYW1lOw0KCX0NCgkNCglpZiAoaXNzZXQoJGdyb3Vwc19vbmx5KSBhbmQgJGdyb3Vwc19vbmx5KSB7fQ0KCWVsc2Ugew0KCQlmb3JlYWNoICgkYWxsdXNlcnMgYXMgJG9uZXVzZXIpDQoJCXsNCgkJCSRlZGl0b3JzWyRvbmV1c2VyLT5pZF0gPSAgJG9uZXVzZXItPnVzZXJuYW1lOw0KCQl9DQoJfQ0KCQ0KCWlmIChpc3NldCgkb3V0cHV0KSBhbmQgJG91dHB1dCA9PSAiaWQiKSB7DQoJCWlmKCFlbXB0eSgkYXNzaWduKSkgDQoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxpbXBsb2RlKCRkZWxpbWl0ZXIsIGFycmF5X2tleXMoJGVkaXRvcnMpKSk7DQoJCWVsc2UJDQoJCQlyZXR1cm4gaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRlZGl0b3JzKSk7DQoJfQ0KCWVsc2Ugew0KCQlpZighZW1wdHkoJGFzc2lnbikpDQoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxpbXBsb2RlKCRkZWxpbWl0ZXIsICRlZGl0b3JzKSk7DQoJCWVsc2UNCgkJCXJldHVybiBpbXBsb2RlKCRkZWxpbWl0ZXIsICRlZGl0b3JzKTsNCgl9DQp9DQoNCi8qKg0KICogDQogKiBTY2hyZWlidCBlaW5lbiBXZXJ0IGluIGVpbiBkZWZpbmllcnRlcyBMb2dmaWxlDQogKiBAcGFyYW0JbWl4ZWQgCWxvZyAJLSBNZWxkdW5nIHdlbGNoZSBpbiBkYXMgTG9nZmlsZSBnZXNjaHJpZWJlbiB3ZXJkZW4gc29sbCANCiAqIEBwYXJhbSAJc3RyaW5nIAlsb2dmaWxlIC0gKG9wdGlvbmFsKSBOYW1lIGRlcyBMb2dmaWxlcyBpbiB3ZWxjaGUgZGllIE1lbGR1bmcgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwNCiAqIEByZXR1cm4Jdm9pZCAvIGVycm9yIA0KICovCQ0KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiV3JpdGVMb2coJHBhcmFtcywmJHNtYXJ0eSkNCnsNCgkkZ0NtcyA9IGNtc21zKCk7DQoJDQoJJGxvZ2ZpbGUJPSBpc3NldCgkcGFyYW1zWydsb2dmaWxlJ10pIAk/ICRwYXJhbXNbJ2xvZ2ZpbGUnXQk6ICIiOw0KCSRtZXNzYWdlCT0gaXNzZXQoJHBhcmFtc1snbG9nJ10pCQkJPyAkcGFyYW1zWydsb2cnXQkJOiAiIjsNCg0KCWlmICghaXNzZXQoJHBhcmFtc1snbG9nJ10pKSB7DQoJCWVjaG8gInt0YldyaXRlTG9nIC0+IFBhcmFtdGVyICdsb2cnIGlzIGVtcHR5fSI7DQoJCXJldHVybjsNCgl9DQoJCQkNCgkkbG9nPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTsNCglpZiAoJGxvZ2ZpbGUgIT0gJycpDQoJCSRsb2ctPnNldExvZ0ZpbGUoJ3RiVGVzdGluZycpOw0KCQ0KCSRsb2ctPmx3cml0ZSgkbWVzc2FnZSk7DQoNCn0NCgkNCi8qKg0KICogDQogKiBFeHBvcnRpZXJ0IGVpbmUgZGVmaW5pZXJ0ZSBWYXJpYWJsZSBpbiBlaW5lbSBsZXNiYXJlbiBDb2RlIGRlciB6dSBkZWJ1Z2dpbmd6d2Vja2VuIGFuIGFuZGVyZXIgUG9zaXRpb24gZ2V0ZXN0ZXQgd2VyZGVuIGthbm4NCiAqIEBjb3B5cmlnaHQJMjAxMiBieSBKYW4gQ3phcm5vd3NraSAgKGN6YXJub3dza2lAc2VpdGVucmVwb3J0LmluZm8pDQogKiBAcGFyYW0gCQkkbmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlIHdlbGNoZSBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsDQogKiBAcmV0dXJuCQlzdHJpbmcNCiAqLw0KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiVmFyRXhwb3J0KCRwYXJhbXMsICYkc21hcnR5KSB7DQogICAgJG5hbWUgPSBpc3NldCgkcGFyYW1zWyduYW1lJ10pID8gJHBhcmFtc1snbmFtZSddIDogZmFsc2U7DQogICAgaWYgKGVtcHR5KCRuYW1lKSkNCiAgICAgICAgcmV0dXJuICdLZWluIE5hbWUgdm9yZ2VnZWJlbic7DQogICAgaWYgKG1ldGhvZF9leGlzdHMoJHNtYXJ0eSwgJ2dldFRlbXBsYXRlVmFycycpKSAgLy8gU21hcnR5IDMNCiAgICAgICAgJHZhciA9ICRzbWFydHktPmdldFRlbXBsYXRlVmFycygkbmFtZSk7DQogICAgZWxzZQ0KICAgICAgICAkdmFyID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJG5hbWUpOw0KICAgIGlmIChlbXB0eSgkdmFyKSkNCiAgICAgICAgcmV0dXJuICRuYW1lIC4nIHVuYmVrYW5udCc7DQogICAgZWNobyAneyQnIC4gJG5hbWUgLiAnPVwnJyAuIHNlcmlhbGl6ZSgkdmFyKSAuICdcJ3x1bnNlcmlhbGl6ZX0nOw0KfQ0KDQoNCi8qKg0KICogDQogKiBMZWl0ZXQgdmlhIHJlZGlyZWN0IGF1ZiANCiAqIEBjb3B5cmlnaHQJMjAxMiBibGF0dGVydGVjaCBpbmZvcm1hdGlrDQogKiBAcGFyYW0gCQkkdG8gLSBBbGlhcyBkZXIgU2VpdGUgYXVmIHdlbGNoZSB3ZWl0ZXJnZWxlaXRldCB3ZXJkZW4gc29sbA0KICogQHJldHVybgkJc3RyaW5nDQogKi8NCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YlJlZGlyZWN0KCRwYXJhbXMsICYkc21hcnR5KSB7DQoJaWYoIGlzc2V0KCAkcGFyYW1zWyd0byddICkgKSB7DQoJCSRnQ21zID0gY21zbXMoKTsNCgkJJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWyd0byddKTsNCgkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsNCgkJaWYgKGlzc2V0KCRjb250ZW50KSAmJiBpc19vYmplY3QoJGNvbnRlbnQpKSB7DQoJCQlpZiAoJGNvbnRlbnQtPkdldFVSTCgpICE9ICcnKSB7DQoJCQkJcmVkaXJlY3QoJGNvbnRlbnQtPkdldFVSTCgpKTsNCgkJCX0NCgkJfQ0KCQllbHNlIHJldHVybiAnPCEtLSB0YlJlZGlyZWN0IC0gcGFnZSBub3QgZm91bmQ6ICcuJHBhcmFtc1sndG8nXS4nIC0tPic7DQoJfQ0KfQ0KDQovKioNCiAqIA0KICogTGlzdGV0IGFsbGUgT3JkbmVyIChkZXIgR2FsbGVyeSkgYXVmLCB3ZWxjaGUgQmlsZGVyIGVudGhhbHRlbi4gaW5rbC4gZGVyIEFuemFobCBkZXIgQmlsZGVyIGRlciBlaW56ZWxuZW4gT3JkbmVyIA0KICogQGNvcHlyaWdodAkyMDEyIGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsNCiAqIEBwYXJhbSAJCSRzdWJkaXIgLSBVbnRlcm9yZG5lciBhYiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGwNCiAqIEBwYXJhbSAJCSRhY3Rpb24gLSB1cmwgPSBQZmFkIHp1bSBPcmRuZXIgLyBsZWVyID0gUGZhZCBkZXMgT3JkbmVycyBpbmtsLiBCaWxkYW56YWhsDQogKiBAcmV0dXJuCQlzdHJpbmcNCiAqLw0KDQpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJHZXRHYWxsZXJ5VHJlZSgkcGFyYW1zLCAmJHNtYXJ0eSkNCnsNCg0KICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAkZGVsaW1pdGVyID0gInwiOw0KICAgIA0KICAgIC8qIG90aGVyIHdheSBvdmVyIEdhbGxlcnkgZnVuY3Rpb25zIChHYWxsZXJ5ID49IDEuNSwgQ01TTVMgMS4xMCkNCiAgICAgIA0KICAgICAJJGdhbGxlcmllcyA9IEdhbGxlcnlfdXRpbHM6OkdldEdhbGxlcmllcygpOw0KCQkkdmFsdWVwYWlycyA9IGFycmF5KCk7DQoJCWZvcmVhY2ggKCRnYWxsZXJpZXMgYXMgJGdhbGxlcnkpIHsNCgkJICAkZ2FsbGVyeV9kaXIgPSAkZ2FsbGVyeVsnZmlsZXBhdGgnXS5ydHJpbSgkZ2FsbGVyeVsnZmlsZW5hbWUnXSwgJy8nKTsNCgkJICAkdmFsdWVwYWlyc1tdID0gJGdhbGxlcnlfZGlyLic9Jy4kZ2FsbGVyeV9kaXI7DQoJCX0NCgkJZWNobyBpbXBsb2RlKCIsIiwkdmFsdWVwYWlycyk7DQogICAgICovDQogICAgDQogICAgDQoNCiAgICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygidGJHZXRHYWxsZXJ5VHJlZUFzQXJyYXkiKSkNCiAgICB7DQogICAgICAgIGZ1bmN0aW9uIHRiR2V0R2FsbGVyeVRyZWVBc0FycmF5KCRwYXRoID0gJy4nLCAkaWdub3JlID0gYXJyYXkoKSkgew0KICAgICAgICAgICAgJGRpclRyZWUgPSBhcnJheSAoKTsNCiAgICAgICAgICAgICRkaXJUcmVlVGVtcCA9IGFycmF5ICgpOw0KICAgICAgICAgICAgJGlnbm9yZVtdID0gJy4nOw0KICAgICAgICAgICAgJGlnbm9yZVtdID0gJy4uJzsNCiAgICAgICAgICAgICRpZ25vcmVbXSA9ICcuaHRhY2Nlc3MnOw0KICAgICAgICAgICAgJGlnbm9yZVtdID0gJ2Vycm9yX2xvZyc7DQogICAgICAgICAgICAkaWdub3JlW10gPSAnY2dpLWJpbic7DQogICAgICAgICAgICAkaWdub3JlW10gPSAnLkRTX1N0b3JlJzsNCiAgICAgICAgICAgICRpZ25vcmVbXSA9ICd0aHVtYic7DQoNCiAgICAgICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KICAgICAgICAgICAgaWYgKHN0cnBvcygkcGF0aCwkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSkgPT09IEZBTFNFKQ0KICAgICAgICAgICAgICAgICRwYXRoID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uIi8iLnRyaW0oJHBhdGgsIi8iKTsNCg0KICAgICAgICAgICAgJGRoID0gQG9wZW5kaXIoJHBhdGgpOw0KDQogICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkpIHsNCg0KICAgICAgICAgICAgICAgIGlmICghaW5fYXJyYXkoJGZpbGUsICRpZ25vcmUpKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICghaXNfZGlyKCIkcGF0aC8kZmlsZSIpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZWluZm89cGF0aGluZm8oJHBhdGguIi8iLiRmaWxlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigoc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSA9PSAianBnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciAgc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSA9PSAianBlZyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Igc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSA9PSAiZ2lmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBzdHJ0b2xvd2VyKCRmaWxlaW5mb1snZXh0ZW5zaW9uJ10pID09ICJwbmciKSBhbmQgc3RycG9zKCRmaWxlLCJ0aHVtYiIpID09PSBGQUxTRSkNCiAgICAgICAgICAgICAgICAgICAgICAgICRkaXJUcmVlWyIkcGF0aCJdW10gPSAkZmlsZTsNCg0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgICAgICAkZGlyVHJlZVRlbXAgPSB0YkdldEdhbGxlcnlUcmVlQXNBcnJheSgiJHBhdGgvJGZpbGUiLCAkaWdub3JlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkZGlyVHJlZVRlbXApKSRkaXJUcmVlID0gYXJyYXlfbWVyZ2UoJGRpclRyZWUsICRkaXJUcmVlVGVtcCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjbG9zZWRpcigkZGgpOw0KDQogICAgICAgICAgICByZXR1cm4gJGRpclRyZWU7DQogICAgICAgIH0NCiAgICB9DQogDQoJICRzdWJkaXIgPSAiIjsNCgkJIGlmIChpc3NldCgkcGFyYW1zWydzdWJkaXInXSkpIHsNCgkJICRzdWJkaXIgPSAiLyIudHJpbSgkcGFyYW1zWydzdWJkaXInXSwiLyIpOw0KCSB9DQoNCg0KDQogICAgJGRpclRyZWUgPSB0YkdldEdhbGxlcnlUcmVlQXNBcnJheSgnL2ltYWdlcy9HYWxsZXJ5Jy4kc3ViZGlyKTsNCiAgICAkZ2FsbGVyeXMgPSBhcnJheSgpOw0KDQogICAgZm9yZWFjaCAoJGRpclRyZWUgYXMgJGsgPT4gJHYpIHsNCiAgICAgICAgJHBmYWQgPSBzdHJfcmVwbGFjZSgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4iL2ltYWdlcy9HYWxsZXJ5LyIsIiIsJGspOw0KICAgICAgICAkZ2FsbGVyeXNbJHBmYWRdID0gJHBmYWQuIiAoIi5jb3VudCgkdikuIiBGb3RvcykiOw0KICAgIH0NCg0KICAgIGtzb3J0KCRnYWxsZXJ5cyk7DQoNCiAgICAkZ2tleXMgPSBhcnJheV9rZXlzKCRnYWxsZXJ5cyk7DQoNCiAgICAkc21hcnR5LT5hc3NpZ24oInRiR2FsbGVyeVRyZWVBcnJheSIsJGdhbGxlcnlzKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oInRiR2FsbGVyeVRyZWVUaXRlbCIsaW1wbG9kZSgkZGVsaW1pdGVyLCAkZ2FsbGVyeXMpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oInRiR2FsbGVyeVRyZWVQYXRoIixpbXBsb2RlKCRkZWxpbWl0ZXIsICRna2V5cykpOw0KDQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snYWN0aW9uJ10pIGFuZCAkcGFyYW1zWydhY3Rpb24nXSA9PSAidXJsIikNCiAgICAgICAgcmV0dXJuIGltcGxvZGUoJGRlbGltaXRlciwgYXJyYXlfa2V5cygkZ2FsbGVyeXMpKTsNCiAgICBlbHNlDQogICAgICAgIHJldHVybiBpbXBsb2RlKCRkZWxpbWl0ZXIsICRnYWxsZXJ5cyk7DQoNCn0NCg0KDQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/functions/tbmodifier.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQovKioNCiogU21hcnR5IHBsdWdpbg0KKiBodHRwOi8vd3d3LnNtYXJ0eS5uZXQvZm9ydW1zL3ZpZXd0b3BpYy5waHA/dD01MzMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqIEZpbGU6IG1vZGlmaWVyLnRiVHJ1bmNhdGVCZXR0ZXIucGhwDQoqIFR5cGU6IG1vZGlmaWVyDQoqIE5hbWU6IHRiVHJ1bmNhdGVCZXR0ZXINCiogVmVyc2lvbjogMS4zDQoqIERhdGU6IEphbnVhcnkgMTN0aCwgMjAxMA0KKiBNb2RpZmllZDogTm92ZW1iZXIgMTB0aCwgMjAxMg0KKiBQdXJwb3NlOiBDdXQgYSBzdHJpbmcgcHJlc2VydmluZyBhbnkgdGFnIG5lc3RpbmcgYW5kIG1hdGNoaW5nLg0KKiBJbnN0YWxsOiBEcm9wIGludG8gdGhlIHBsdWdpbiBkaXJlY3RvcnkuDQoqIEF1dGhvcjogT3JpZ2luYWwgSmF2YXNjcmlwdCBDb2RlOiBCZW5qYW1pbiBMdXB1IDxsdXB1ZnJAYW9sLmNvbT4NCiogVHJhbnNsYXRpb24gdG8gUEhQICYgU21hcnR5OiBFZHdhcmQgRGFsZSA8c2NvbXB0QHNjb21wdC5jb20+DQoqIE1vZGlmaWNhdGlvbiB0byBhZGQgYSBzdHJpbmc6IFNlYmFzdGlhbiBLdWhsbWFubiA8c2ViYXN0aWFua3VobG1hbm5Ad2ViLmRlPg0KKiBNb2RpZmljYXRpb24gdG8gYWRkIHVzZXIgZGVmaW5lZCBjbG9zaW5nIHRleHQgYmVmb3JlIGNsb3NpbmcgdGFnIGlmIHRhZyBtYXRjaGVzIHNwZWNpZmllZCBlbGVtZW50cyBhbmQgYWRkZWQgcmVhZCBtb3JlIGxpbmsgd2l0aCB2YXJpYWJsZSB0ZXh0Og0KKiBBdmkgSiBMaWVib3dpdHogYXZpai5jb20NCiogQ2xlYW4gdXAgYnkgQnJpY2UgRmF2cmUgPGJyaWNlLmZhdnJlQGJsb2dzcGlyaXQuY29tPg0KKiBBZGQgQ2hlY2sgZm9yIG5ha2VkIFVSTCBieSBMdWthcyBCbGF0dGVyIDxsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoPg0KKiBBZGQgJGFkZHN0cmluZyBhbmQgJGxpbmsgaWYgdGhlcmUncyBubyB0YWdzIGluIHN0cmluZyBieSBMdWthcyBCbGF0dGVyIDxsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoPg0KKiBBZGQgdG8gVG9vbEJveCBieSBMdWthcyBCbGF0dGVyIDxsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoPg0KKiBFeGFtcGxlIFVzYWdlIHskaHRtbFN0cmluZ3xodG1sX3N1YnN0cjo8bGVuZ2g+OjxzdHJpbmdfdG9fYWRkPjo8bGluaz46PGxpbmtfdGV4dD59DQoqIA0KKiBAcGFyYW0gc3RyaW5nDQoqIEBwYXJhbSBpbnRlZ2VyDQoqIEBwYXJhbSBzdHJpbmcNCiogQHBhcmFtIHN0cmluZw0KKiBAcGFyYW0gc3RyaW5nDQoqIEByZXR1cm4gc3RyaW5nDQoqDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KDQpmdW5jdGlvbiBzbWFydHlfbW9kaWZpZXJfdGJUcnVuY2F0ZUJldHRlcigkc3RyaW5nLCAkbGVuZ3RoID0gODAsICRhZGRzdHJpbmcgPSAnLi4uJywgJGxpbmsgPSAnJywgJGxpbmtfdGV4dCA9ICcnKSB7DQogICAgLy8gb25seSBleGVjdXRlIGlmIHRleHQgaXMgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgNCiAgICBpZiAoc3RybGVuKCRzdHJpbmcpID4gJGxlbmd0aCkgew0KICAgICAgICBpZiggIWVtcHR5KCAkc3RyaW5nICkgJiYgJGxlbmd0aCA+IDAgKSB7DQogICAgICAgIAkNCiAgICAgICAgCWlmICgkbGluayAhPSAnJykgew0KCQkJCS8vIGNoZWNrIGZvciBuYWtlZCB1cmwNCgkJCQkkcmVnZXhwID0gIjxhXHNbXj5dKmhyZWY9KFwiPz8pKFteXCIgPl0qPylcXDFbXj5dKj4oLiopPFwvYT4iOyANCgkJCQlpZihwcmVnX21hdGNoX2FsbCgiLyRyZWdleHAvc2lVIiwgJGxpbmssICRtYXRjaGVzKSkgDQoJCQkJCSRsaW5rID0gJG1hdGNoZXNbMl1bMF07DQoJCQl9IA0KICAgICAgICAJDQogICAgICAgICAgICAkaXNUZXh0ID0gdHJ1ZTsNCiAgICAgICAgICAgICRyZXQgPSAiIjsNCiAgICAgICAgICAgICRpID0gMDsNCg0KICAgICAgICAgICAgJGxhc3RTcGFjZVBvc2l0aW9uID0gLTE7DQoNCiAgICAgICAgICAgICR0YWdzQXJyYXkgPSBhcnJheSgpOw0KICAgICAgICAgICAgJGN1cnJlbnRUYWcgPSAiIjsNCg0KICAgICAgICAgICAgJG5vVGFnTGVuZ3RoID0gc3RybGVuKHN0cmlwX3RhZ3MoJHN0cmluZykpOw0KDQogICAgICAgICAgICAvLyBQYXJzZXIgbG9vcA0KICAgICAgICAgICAgJHN0cmluZ19sZW5ndGggPSBzdHJsZW4oJHN0cmluZyk7DQogICAgICAgICAgICBmb3IoJGogPSAwIDsgJGogPCAkc3RyaW5nX2xlbmd0aCA7ICRqKyspIHsNCg0KICAgICAgICAgICAgICAgICRjdXJyZW50Q2hhciA9IHN1YnN0ciggJHN0cmluZywgJGosIDEgKTsNCiAgICAgICAgICAgICAgICAkcmV0IC49ICRjdXJyZW50Q2hhcjsNCg0KICAgICAgICAgICAgICAgIC8vIExlc3NlciB0aGFuIGV2ZW50DQogICAgICAgICAgICAgICAgaWYoICRjdXJyZW50Q2hhciA9PSAiPCIpICRpc1RleHQgPSBmYWxzZTsNCg0KICAgICAgICAgICAgICAgIC8vIENoYXJhY3RlciBoYW5kbGVyDQogICAgICAgICAgICAgICAgaWYoICRpc1RleHQgKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgLy8gTWVtb3JpemUgbGFzdCBzcGFjZSBwb3NpdGlvbg0KICAgICAgICAgICAgICAgICAgICBpZiggJGN1cnJlbnRDaGFyID09ICIgIiApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRsYXN0U3BhY2VQb3NpdGlvbiA9ICRqOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJGxhc3RDaGFyID0gJGN1cnJlbnRDaGFyOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkY3VycmVudFRhZyAuPSAkY3VycmVudENoYXI7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy8gR3JlYXRlciB0aGFuIGV2ZW50DQogICAgICAgICAgICAgICAgaWYoICRjdXJyZW50Q2hhciA9PSAiPiIgKSB7DQogICAgICAgICAgICAgICAgICAgICRpc1RleHQgPSB0cnVlOw0KDQogICAgICAgICAgICAgICAgICAgIC8vIE9wZW5pbmcgdGFnIGhhbmRsZXINCiAgICAgICAgICAgICAgICAgICAgaWYoICggc3RycG9zKCAkY3VycmVudFRhZywgIjwiICkgIT09IGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RycG9zKCAkY3VycmVudFRhZywgIi8+IiApID09PSBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0cnBvcyggJGN1cnJlbnRUYWcsICI8LyIpID09PSBmYWxzZSkgKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRhZyBoYXMgYXR0cmlidXRlKHMpDQogICAgICAgICAgICAgICAgICAgICAgICBpZiggc3RycG9zKCAkY3VycmVudFRhZywgIiAiICkgIT09IGZhbHNlICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50VGFnID0gc3Vic3RyKCAkY3VycmVudFRhZywgMSwgc3RycG9zKCAkY3VycmVudFRhZywgIiAiICkgLSAxICk7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRhZyBkb2Vzbid0IGhhdmUgYXR0cmlidXRlKHMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRUYWcgPSBzdWJzdHIoICRjdXJyZW50VGFnLCAxLCAtMSApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCAkdGFnc0FycmF5LCAkY3VycmVudFRhZyApOw0KDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiggc3RycG9zKCAkY3VycmVudFRhZywgIjwvIiApICE9PSBmYWxzZSApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3BvcCggJHRhZ3NBcnJheSApOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRUYWcgPSAiIjsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiggJGkgPj0gJGxlbmd0aCkgew0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIEN1dCBIVE1MIHN0cmluZyBhdCBsYXN0IHNwYWNlIHBvc2l0aW9uDQogICAgICAgICAgICBpZiggJGxlbmd0aCA8ICRub1RhZ0xlbmd0aCApIHsNCiAgICAgICAgICAgICAgICBpZiggJGxhc3RTcGFjZVBvc2l0aW9uICE9IC0xICkgew0KICAgICAgICAgICAgICAgICAgICAkcmV0ID0gc3Vic3RyKCAkc3RyaW5nLCAwLCAkbGFzdFNwYWNlUG9zaXRpb24gKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkcmV0ID0gc3Vic3RyKCAkc3RyaW5nLCAkaiApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KCQkJLy8gd2hlbiB0aGVyZSdzIG5vIHRhZ3MgICAgICAgICANCgkJCWlmIChjb3VudCggJHRhZ3NBcnJheSApID09IDApIHsNCgkJCQkkcmV0IC49ICRhZGRzdHJpbmc7DQoJCQkJaWYgKHN0cmxlbigkbGluaykpDQoJCQkJCSRyZXQgLj0gIiA8YSBocmVmPVwiIi4gJGxpbmsgLiAiXCIgdGl0bGU9XCIiLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiXCI+IiAuICgkbGlua190ZXh0ICE9ICcnID8gJGxpbmtfdGV4dCA6ICRsaW5rKSAuICI8L2E+IjsNCgkJCX0NCgkJCS8vIHRoZXJlIGFyZSB0YWdzDQoJCQllbHNlIHsNCgkgICAgICAgICAgICAvLyBDbG9zZSBicm9rZW4gWEhUTUwgZWxlbWVudHMgICANCgkgICAgICAgICAgICB3aGlsZSggY291bnQoICR0YWdzQXJyYXkgKSAhPSAwICkgew0KCSAgICAgICAgICAgICAgICBpZiAoIGNvdW50KCAkdGFnc0FycmF5ICkgPiAxICkgew0KCSAgICAgICAgICAgICAgICAgICAgJGFUYWcgPSBhcnJheV9wb3AoICR0YWdzQXJyYXkgKTsNCgkgICAgICAgICAgICAgICAgICAgICRyZXQgLj0gIjwvIiAuICRhVGFnIC4gIj5cbiI7DQoJICAgICAgICAgICAgICAgIH0NCgkgICAgICAgICAgICAgICAgLy8gWW91IG1heSBhZGQgbW9yZSB0YWdzIGhlcmUgdG8gcHV0IHRoZSBsaW5rIGFuZCBhZGRlZCB0ZXh0IGJlZm9yZSB0aGUgY2xvc2luZyB0YWcNCgkgICAgICAgICAgICAgICAgZWxzZWlmICgkYVRhZyA9ICdwJyB8fCAnZGl2Jykgew0KCSAgICAgICAgICAgICAgICAgICAgJGFUYWcgPSBhcnJheV9wb3AoICR0YWdzQXJyYXkgKTsNCgkgICAgICAgICAgICAgICAgICAgICRyZXQgLj0gJGFkZHN0cmluZzsNCgkgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4oJGxpbmspKQ0KCSAgICAgICAgICAgICAgICAgICAgCSRyZXQgLj0gIiA8YSBocmVmPVwiIi4gJGxpbmsgLiAiXCIgdGl0bGU9XCIiLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiXCI+IiAuICgkbGlua190ZXh0ICE9ICcnID8gJGxpbmtfdGV4dCA6ICRsaW5rKSAuICI8L2E+PC8iIC4gJGFUYWcgLiAiPlxuIjsNCgkgICAgICAgICAgICAgICAgfQ0KCSAgICAgICAgICAgICAgICBlbHNlIHsNCgkgICAgICAgICAgICAgICAgICAgICRhVGFnID0gYXJyYXlfcG9wKCAkdGFnc0FycmF5ICk7DQoJICAgICAgICAgICAgICAgICAgICAkcmV0IC49ICI8LyIgLiAkYVRhZyAuICI+IiAuICRhZGRzdHJpbmc7DQoJICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRsaW5rKSkNCgkgICAgICAgICAgICAgICAgICAgIAkkcmV0IC49ICIgPGEgaHJlZj1cIiIuICRsaW5rIC4gIlwiIHRpdGxlPVwiIi4gKCRsaW5rX3RleHQgIT0gJycgPyAkbGlua190ZXh0IDogJGxpbmspIC4gIlwiPiIgLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiPC9hPlxuIjsNCgkgICAgICAgICAgICAgICAgfQ0KCSAgICAgICAgICAgIH0NCgkJCX0NCiAgICAgICAgfSANCiAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAkcmV0ID0gIiI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJHJldDsNCiAgICB9DQogICAgZWxzZSB7DQogICAgICAgIHJldHVybiAkc3RyaW5nOw0KICAgIH0NCn0gDQoNCg==]]></data>
	</file>
	<file>
	  <filename>/getIcon.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KQXV0aG9yOiBMdWthcyBCbGF0dGVyDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCmluY2x1ZGUgJ2xpYi9jbGFzcy50YlV0aWxzLnBocCc7DQoNCiRleHQgPSBpc3NldCgkX0dFVFsnZXh0J10pID8gJF9HRVRbJ2V4dCddIDogJ3Vua25vd24nIDsNCg0KdGJVdGlsczo6Z2V0RmlsZUljb25CYXNlNjQoJGV4dCk7DQpleGl0OyA=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMNCjxGaWxlcyB+ICJcLihwaHB8cGhwM3xwaHA0fHBocDV8cGh0bWx8cGx8Y2dpKSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjwvRmlsZXM+ICANCg==]]></data>
	</file>
	<file>
	  <filename>/images/AVIicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8BcfJxwiKh0kMSgwOi42PAENZAEQaxwncCg0Qy42TC89QDZEVzVHXT1KXTRJaz9KZ1U0RHVpKnl3LEFWZUtXalReb11lb1dgcVhhcl1ldl9zf3tGSWJremNseyk6hDNGkDdevjFg5jVn5jdt9jpt81FsilhmjVB3j0BjplZjpWZvgGFyimV7gG12hm18rk15xlx+xTCkMzy3PkKcR02feF2IbmSCeFfPVFbQWGHFYW/ddXmBjHqDk3mMo32Hsn+HtHWQu0GS31mV2lCM/16e/0Sm93mdx2eR/32b8naz6YtjZoNrdIZocIF5c/MzF/Y+J+tQPv54ZPh6a4B2gJukHrmYHLiWOKSkL8yuFtu7G9C6ceyLf+zACujUHunHNIaCiYWFj4qQnImPtYuOuJOappSgq6Wrtq6yuq+zu7GztbK1urG1vbS3v4CbzpCY6oSj1oep3Iir3pyp4Jur/5G345e75JW86Jaz/6Wz2qe42bm9wru/yKmt/6W97qi/76C29aqz9ZfHuoHrgZX6krzAx7jH2afI66vB56HF8qvB8K/D8LLA6bzH4bHF8bHG8LHG9rXI8rfJ8rrJ9LrM873N87zQ6LfR8rjU9bvY982ouP2aiv2kl/i0qdzFg8XIzdDS2NPV2Nvb3M3Z6sLU98Xd+szV/83b8Nnc4Nfe9Mvh/M3i+Nbh9tDk/NPm/NTm/Njm/9jo/Nrq/dP6//nUz+Tm6enp6eTq8uLv/ebx/efx/ef5/+ny/uvz/ezz/ez0/u31/u72/u3///Dx8vXy9vb29vb39/f39/D2/vH3/vH4/vP4/vT5/vX6/vb7//f6//f7//b///j7//v9//v+////+v///f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj/AKFB00Ow4J48eoAJXDgQXLdt1qYpO6ZnSg04sZgJ1MMtWzVpyYwNe/JkiZFCvjZioxYNWTFhwV69UoTETSpozpSoqXLlB5A3rHbpwsXphqNndKyUKWWqEaMhNh7dsuVpRB1VVLaQ6tVM1iIiQUh8mtUpRJw0WrjwAkWLWC48QnoccbXJbIkso0TpyHEnkiEfPDqE0mRWA5ZKmFI8gDCjT4wdFCBdMouhRSZYKCLgEBSoixcHfyiZpbFCirdBlq4tSwTmSwU/k8zOUdGk1Tdw2mqRGbPhBSBEZn8VYeIkCp9TaM6EsQBF0iERcqCtyiCDhQszYjhMgJGETZsTdgQSEQLRYIECBhIuePggwsQaVAEBADs=]]></data>
	</file>
	<file>
	  <filename>/images/CSSicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FY9KkU4QFpAO0pNWFpGSUZQY09ZalJcbV5dZl1mdl1md19oeGJYRWdeR2lnYGNsfHFudXNyd3J3f296h3N7iX9/gHl+iXRto3+FkZVOFppYGZpuK6FgD6ptFaZuIaB3KYt5aqdtQKqBMKiJNLWXKraWRbicTK6Va7asV76wVLimfsaLDsSOCcqRDtGeCsucLtmmG9mlHdunKNSsP+SwPui1OOm2Os6kRM+rVMGzXcS4Y8yza8W8fOGoQe67RfK+T/K+UPXCUvDFY/HHZfvQdYCEiYKAloOKloiOmY6TnpSFh5KNkZSPlZGWoZGWopCYo5acpZedp5yiraGWpaCkraqqqq+tqaSpsqWttaqvt7Otr4q96bi0zrm7wLi4z7Gy0LKz0bW107G/0JjI7bzEybLV8bPb87XY8rbZ8rfb87nd9L/e9Lnh9b3h9ci4lde9odHIitHKl9jJrd3Qut7Zs+HNoPnjsMHBwcPCxsXCxcXJzs7P08bQ1dTU2Nra2trb397d3N/d3s/Q6s/W7NDQ4Nvc4Nzd4MTt+cft+czn983n983s+MXw+sfw+srw983w98/w+s/y+t/n6dbt+drt+d3t+d7t+dDw99Lw99Tw99Py+tX//9jw99rw993w99/w99jw+tnz+93w+t7w+tn//938/t3//+De3+XizfLs2+Dg5OPk5uHo7O7o4Ovs7Ors7+zt7u7t7e/u7e7u7+Dt+eHt+eLw9+Tw9+L//+X//+b//+v19Orz++v1++r9/ur//+v//+z//+7//+////Hx8vPz8/T09fb19vf29vf39/f3+PD///L///P///T///X///b///z69/j4+Pj9+vn8/vn///r8/vv9/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj/AKftkWXEzww9Q4jImMawoSMVLai4CBGjCw0YUM7UgsZwTaMijPiYmdVn2y0vUxI5ozZNTbBWn3z9AidOXC4OIgrhijYtDTBr2o4ZCwfozxMMQfAg4tUzlapOnkB5O8LkywUdL8Ao6olqWTNs3ZwsafLFwg0cPQL1PHVnTh1WJ5IgEcKiho0UH3qaalNGzps8Snz84LEjB4MNPUfZgUNnkiETK4CgIFGiQZWeojZpqhSHEptPIxQscKBhUM9QlySRWoWsWrZvVyRYIbOoZyZLkV4NS8YMqBYQgmLt6omplCtYwogpa3YNi5RDvaRNQ2OrGCc3YrJ0mPCgQhhaz7hNEnvEhQKECBk8RNkyhhAkXQ0DAgA7]]></data>
	</file>
	<file>
	  <filename>/images/DIRicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8ElJSWlpaWpqan9/f5lnAZpoApxqBJ5sBqBuCKNxC6VzDah2EKt5E658FrB+GLOBG7SBHLWCHbeEH7iFILqHIryJJL2KJb+MJ8CNKMKPKsWSLceUL8mWMcuYM8yZNNOgO9ypROazTu+8V/jFYP/MZ//Ub//ge4iIiP/mgf/rhf/0jv/3kf//mcHBwc/Pz9fX19jY2O7u7u/v7/f39////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAi6AHsIHEiwoMGDBlGcMFFCxw6EPVD4mOhjxI2HCX3Y2GjDBwgPHDZkwKCDR48TNWioVElx4oUYOXqYmCGDhM2bIj500JAhg44SMEi0HCrDx4QYJF6g4Mh0YwsbEhiMcHHCRo2rWK+ysBFhgQgXJGzMGEt27AobEBaAcBHCBoy3cN+qsPFggQcXHWy82Mt3bwobDhjoEInhgoUKFCZIiADhgQMFDXbcaLCgsuXLCxrc6LFDB47PoEPjcBgQADs=]]></data>
	</file>
	<file>
	  <filename>/images/DOCicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEyeCg+bTZKZDdLZQgviwU2ggg8iAZCmwlLsiFMmjpamDJbtipitzhhrjppuE1qp0BmtERquVVtpF11q2d+s0JuxEl0zFJ3ylV7zl99w1h+0XeKnGCBzWeK1XeR1XyX2Hij63ul6Hyk6ZOit5WkuZamu5movoOc2oCe5ouk3ZyrwJCu1p243p6434Cn54Gn54Sr5oWs5oml6Yit5Yqu5Iyv5I+x45Or5pGx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a260K290q6+1K+836q+8bDA1rHB17LC2LrF1LfI9MnS4sfa+Mnb+crb+Mzd+M7e+M7e+dbc6tDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tfl+9zi9Njl+tnm+9rm+9rn+9zo+93p+9/q++Hq++Hr++Ls++Hs/OLs/OTt/OXt/Obu/Ofv/Ojv/Ojw/enw/Onw/enx/e30/e/0/e/1/fb29vb29/f39/Dy+vL2/vP3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj1AAkJrEJlCpQnTZIgOWJkkMAgQXjISHGCRIgPFg79odFAEKEgi0KKDCkBESAXVjrykBLDxBcTaTjMkKAoUIsGOGWkiTEizYY0GUpIqFHDD5MlDVAsQrEhyoQZFLBESFSDDx0lDE4s8rChw4MKCxZFMFQDDxwbDEQs4kDhyoMHThZBAFTDzpsiDEAscnCh0AMNIR8QjcNmCAMMI0cq0FPHTRkgDCxImByhMoQHCoiiCeODgUBCMPb02ZPnjhw3Z8Z42eFZ4Is5dYjKrtFlS47WhFywabNGjRkyYLhoycICdwsxN4oQEfKjhw4cK1TgZkC9uvXqAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/GIFicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/help/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/help/Socialshareprivacy.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEAeAB4AAD/4RCKRXhpZgAATU0AKgAAAAgABAE7AAIAAAAIAAAISodpAAQAAAABAAAIUpydAAEAAAAQAAAQcuocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBoaWxpcHAAAAHqHAAHAAAIDAAACGQAAAAAHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAaABpAGwAaQBwAHAAAAD/4QpgaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIvPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48ZGM6Y3JlYXRvcj48cmRmOlNlcSB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6bGk+UGhpbGlwcDwvcmRmOmxpPjwvcmRmOlNlcT4NCgkJCTwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+PC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQLCxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAARCAA2AiIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6RooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigChqetafo4i/tC5EbTHEcaqzu+Ou1VBJx3wOK5zVPiz4N0W58jVdSubWTGdsmm3XP4+XVxDHZeP7241IhTc28SWUj9Nq53qPfcc464NZnja10zX9T0ixZIp5o7jfIxwfLh2ndn0zwB70AXdA+KHg3xNqC2Oja5FLdP9yGWKSFn9lEiruPsK6yvJfEXw30eW3SXQ1WLUI5Fa3aIgMHBypH4160M4GeT3oApXc0oufLjkMYCBiQASck+v0rJ1fxFa6FHFJqupPAsrFU/dhskDPZa07r/j/b/rkv82rzjxfFd658Q9K0rTpoopLSBrjfMhdFPX5h34H60AdhpPiiy1yWWPS9SknaJQzjyduATgdVrRe7eM4lvgh9HMY/mKz9Es9Qs7Rl1a5trm4Z8+ZbweUu3sMVga5FB/wlk0l2beNGs4QjXGmm5DEPLkAhTjGRn6igDsvOnIyLpyPov+FHnXH/AD8v/wB8r/hXKE6lcaifIv7yG2e+8hEhjCIsH2dGBUFePmJwe3SqUWrapLciM3d2LtY7byrZYvlkZnIcv8vHyjPJHrQB2y3EzZ23jNtODgIcH06Uvnz4J+1tgdeE4/SuBj/tTTLZI7KW4hWQSTKxQkyzGRhhgEyw2heDjOTzVm7gv4be9MT3TR3V3dRyW4TKbfKZgwGM53Ac556UAdt50/8Az8uf+Ar/AIUebcf8/L/98r/hXFm+1qK9nRJJk8uNxHAEYr5YgyrAbcZ3d85zxitnQ2vkuZIb25uLlTawTB515DsPnAwBxnt2oA6ayleWNxI24o+3djGeAf61Yqpp/wByb/rp/wCyrVugAooooAKKKKACiiigAJAGTwK5658d+HrW3luHvJpIIc75rezmmTjrhkQg/hmrPiy2ubzwnqFvZBjNJEV2r1ZcjcB7lcj8adZ6ppI0RJIJYUtEjwFJACjHQ+nvQBy3/C8fh7v2nXnU5x82n3Ix+cfFdnpOr6frumx6ho95DeWkv3JYW3A+o9iPTqK840fwVoGo2Nxc3drFGs9zK8CsACIi3y5/mPYitr4d+GF8NXutJYsf7OnkjaJAflEgDByPw2Z+g9KAO0upTBaTSqATGjMAfYZqLyZO99PnvhUx/wCg07UP+QZdf9cX/wDQTXJeMLyNbNTFqMun30OZIJFLKJB3ToQ2eOPUDtQB1BAEwhOpSiQjcE/d7iPXG3pT/Jk/5/p/++U/+Jryfw+2s6l4u/tKzmU3O0m4klB2MhGNpx+GB6gdhXS6romn3Pjayb7Kgee1uJXfBI8xTEFYjOCRk/nQB2fkyf8AP/P/AN8p/wDE0eTJ/wA/8/8A3yn/AMTXncHizxDcSxQ+X5TXDLYK3lZ8u6Qr5znj7uDJj/rnTIfF+vul5LH5ctxHDO8lixj3W7KcLhVO847huvagD0fyZP8An/n/AO+U/wDiaTMkFxCpuHmWVyhDqox8pORgD0rzW413UbqygmfWglpDqMA+2xvESqsrbg+zKYB29f72D0r0JZN93Z85/eHn1+RqANOiiigAooooAKKKKACqGp61p+jiL+0LkRtMcRxqrO7467VUEnHfA4q/XMoY7Lx/e3GpEKbm3iSykfptXO9R77jnHXBoAp6p8WfBui3PkarqVzayYztk0265/Hy6m0D4oeDfE2oLY6NrkUt0/wByGWKSFn9lEiruPsKpeNrXTNf1PSLFkinmjuN8jHB8uHad2fTPAHvXPeIvhvo8tukuhqsWoRyK1u0RAYODlSPxoA9armPEbeJptUSDw5dW9vFHCryGRQWZmZh3B4wvbHU+1dOM4GeT3rKuZPL1mX3t4/8A0KSgDmRbfEHHzapan/gMf/xFW7WLxmkRF1fQO+eCqp0/75FVfGWvarptmn9m2rFC8e66WVRtJfGzaeefX3qj4xv9Ym8J/aDK2lsw8uSzRld5GZ9oHmDoNvPH0oA6e3PiBYyLmZHfPBUJ0/KtTTJ55oZVusebFJsJGOflDdv96qNkBZ6fb2qtkQRLGD9AB/SrelNva9b1uB/6LSgDQooooAKKKKACiiigCG6dljVVJUu4XI7ZpPsNv3TJ9SxpLv8A5Y/9dVqxQBg2+teH7rxTdeHLe436tZxCae32SDYhCkHcRtP316Hv9a1vsNv/AM8//HjXnvhnXLuT4365oWo2Givc2unrK+p2dgYJ58iAhWYu52gOBjP8I+lelVvXpKm0l1Sf3mdObkn6lSC0ge3jdkyzKCTk9cVj33iPwzpuoXdlf3kdvcWcInlSQsvykZG3P3jjsMmtG/eOPwvcPNdyWca2jF7mIZaEbOXHB5HX8K8J8K2Ph7xUdXvfHOvyC7QKsEk1wFZlAI3Dd948D5f8awND3mw/s/U9PgvrIGS3uIxJE53LuUjIODzVi3JWWWEksEIwT1wR0ry74I6hPd2t5Bd6rcztbIscVnISUijHRgT05JGM9B9MeoQ/8ftx/wAB/lQMsUUUUCCiiigAooooAhurO2vYfKvLeK4jznZKgYZ9cGs//hFtC/6BNp/36Fa1FAFKz0fTdPkMllYW8DnjfHGAfzq7RRQBUubaSSfzIthyoUhiR0J9j61RXRI01B79LK0W7ddrXAPzsPQnb0rZooAz/st1/di/7+H/AOJpRbXY6eWPpIf/AImr9FAGf9luu4i/7+H/AOJpi6fKk0kyRQiSUASMJDlgOmfl7Vp0UAZ/2a69Iv8Av4f/AImj7LdekX/fw/8AxNaFFAGf9luvSL/v4f8A4mj7Ldf3Yv8Av4f/AImtCigCC0gaCNt5BZ23HHQcAf0qeiigAooooAKKKKACiiigArOuPD+j3czTXGmWskjHLOYhlj6k960aKAMoeF9DBB/sm049YhWnFFHBEscMaxxqMKiDAA9hTqKAIrqIz2k0SnBkjZQT7jFY0tvdyKY5dNeVD1DNGyn8C1b1FAGBFbXUKbIdLeJOu1DEo/INT9l/jH2CbHp5kf8A8VW5RQBh7dQ/58ZumP8AWR//ABVLjUMAfYZ8D/ppH/8AFVt0UAYmNRzn7FPn18yP/wCKqWzt7p7yKSa3aFYiWy7Kc5UjAwT61rUUAFFFFABRRRQAUUUUAFQ3VnbXsPlXlvFcR5zslQMM+uDU1FAGT/wi2hf9Am0/79CrNno+m6fIZLKwt4HPG+OMA/nV2igArH1O1u21Dz7eAzI8SodrKCpBY85I/vfpWxRQBzb2d7Ku2TTndc5wzRkZ/wC+qhvdIn1BIkvNMlkWKVZUHmoMMOh4fn6HiuqooA537PqH/PhL/wB9x/8AxVaWkW88FvMblPLeWXeE3AkDaq844/hzWhRQAUUUUAFFFFABRRRQBDcozRqygsUcNgdTik+2246vg+hU1PRQBw9h4I0/T/GU3iePxFq8up3KLHcPIsG2aMbPkKiEAAiNRlcHjrXYfbrf/np/46asUVc6kqlnJ7Exio7FOK5tvsiRSsD8gVlKkjpgiuN1z4eaBr2t3uo3lwyvcQLHEkcZUQuBgPxjd24Nd9RUFGRoltY6Jo9pYQyK/wBnhWHzPK2lwvc4HuT+JrQtwWlllIKhyMAjnAHWp6KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q==]]></data>
	</file>
	<file>
	  <filename>/images/help/socialshareprivacy1.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+/v7+/fz8+/v7+vr78/T27O/z3ury2ejw1+jx6Ozv7e7x7e7w7e7x7e7w7u3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7e7v7e7w7e7u6ezt5uvs5Orr4+nq4+jp4+fo4uXm4ePk4OHi3t/f3d7e3t3c39zY4NzW3NvY09jdydPgyNPjydPizdLa0dHS0M/QzMvMxcXFwcHBvb2/urm7s7S3sbCxrqyrqKaloaCelpWVjo6OhYeJf4KIeIagbYq9Z362YHCrVGejQl+cP1yUS2CLX2d2Y2RmW1tcU1RVSUpMOz1BKSosGxscGBgZExMTCgoKIbgbkQAAAAlwSFlzAAAASAAAAEgARslrPgAAAAl2cEFnAAAAyAAAAMgA60p8lgAACsNJREFUeNrtnW93mkgbxvdb8jE9RtJm+4JX+HTtsVUTN9qcoxBFEJlGTQoooDwzwzAMxESTSJ1k52oNzB/J/eOegUF7nf4lfRD9deoABIgA4VwChDcJEN4kQHiTAOFNB4O0BsdV50QgnZ4CpcI/yV8VlerZvqKirYqrUQG3Ja1q0pr0VEn/Rq91GpABDk5FwnGiAElQpFJR8iSKwlQm/QlT0jQ4EUh6wklEKimhM18ncAqJk7angClblha4LQvkzPQ81wu2WPE2APlBPMCBuSsqVyWJoaGTIOlQIslTsk5kBCbIJYEonjcZ9jTLW4dYURRNCiAwihUjmhaVxK2QF/yh2VYS7hXeKtqIyQuhLQdEdp3LCtLAXflQq3UQhuyvQiBqnTA4kuSsUECWD9NI5386spSGp2lJEoYerrJmBAG96sm1oRwQzdcrFbitVAxvZtv2DLirwGNB8AklINJ33V2hmCyHpgWLXA00N83R0MMZS0DoRFLLy4gN5CreqbaAo+v6yJg63rpWyAgF0eEPFE8CMjOBNzE8t6tM7Jlnd9qe72otx5tdwYxMYD3MiKpMPTBUB2DigS7mLgfEmdWSqGsycFrt9mVPMx2/yWYEnUWM4VlS3/JW6BRbnm3rKnB7uj9tOKZqeVobmKoOh9vEVixLHa6m3x0LZkTtu00NoPIPWFbKy4jzRcY7cgvYsvyl3uholpvLCAVxMPkKj32g6z0VGErPVxV7igJWTaAgEABsB8ChBcefjeot17b9Jhxq6tTGw6ykOeJoX2HYFfnrrTf8AvW10TOmTL/8HBngoQXHvoNGCTDUnq+o9hQPIdNRdDgzvKmmDRGIYtlosttA07QGAUMzpRyQ2tTuKKqsKt2Z08D63ht3nwTp48svAkHVMCNdv44zAlqKY6CMqDZowDeQDEDAkdeG4aPJXyqIJNuz2+5Vb+zMyKJuOBqy/Qb4yrQCWFIHgBW8iqro8usNYEa6PgwdgriOB1qqDs87nOwAMBlRpz5w2wjMKnNowcuV6TgzJ9M0/4sGeIISkCoCUejtnN5G0NBqpXdzpdVSFXrDhz8bnWxpVtpkT7IyuKSqFfqRJUqwCshfN72/pQsRJQHJqvEtFP5JKZml2ikXjUqdnvzcEoomAO20OuySMV260Ds+hSg5I8+CNOjKj1kDK9lKq56CpYEXF/VKfnncOBFIq8csbpklYpqjbOWYPaqkpLCyTvNGujZ6R35EPPhRt3PkR90jPyD+Bz984F0ChDcJEN4kQHiTAOFNAoQ3FUBWp47nWCDrU8cjQAogwanjORZIdOp4jgWyOXU8vIN0mm8/xttA3FmuGX/6WPMneG8zzNfvEmmJhtJh/Y8FEheaZ/FjEHl1WwxlL0gJkb8IxJuuHoEo6/TsohfYxm4F79U8LYu34UXxdtWUSEsMZUmb0RZ/djJzcT8rjEN0SowwHtGStJkFcRw0jgwykfwiSGvdTZHga+rKrdBCe/JKYzquvUZ1ELpS2rJJ4D30bZ4cdVBx5KlnQ+9K2gQ/OjVakjahfibnvvU7Boj0COQqWFcYkPUtqa+vHw8ex6ctBOQyvoQJWeEifusMSBsLk5NSUpz5bwKp4Mme/wSwAGL5Xz2HAYnIFBivw/zH3j3HC2KfthAQyfckeaPjYoTGW+xJG5zJtJQU3whiASWWQT6rBZCVLMmh/hjE++IBtuM4Arca8GlLCjKMe06QFCM9zTIG0SWm+EaQGjwtUXz7HAj6Lf1QpSCBntarEfupdDhG7/VpSwoird3IInsTFiQtHQVEmsLshvn2HSDSdE1BbAAn+xSXpkE16xi4chPECQhqCa2ajPdHcVRNaif+97MBeW9WOg5INYxjeycIPsP0dgArCUjFjbduNakPZtnldxDEW98lILBluo1N2ovUTsM4mtFjktJxQCQzjusvPgQfyoNU4pdfwDlR8T6ive4wp1cBJHzdUThQAeTIX+ydDuT9SoDwJgHCmwQIbxIgvEmA8CYBwpsECG86FOTivAxd/HmQm1JAbkoAOTNXYUwUeK5bsCYlIIsHqgWnIIofbzcRVkBMSrlPuBKQB0Z8gsjuJgqDRKlJyWPdCjmQO0m6S0CWsHS/a9iN72n14oLdlAyihWGwfnj4DQWoSYk1wuRApE/6IgFZPDF32kzDHwWZheuH5WKO5GQmJespED0dWiTe5XyxvPu1WN4ku8a5+XA//6Qtlqh9eXd/b2CQtAJ3KQcEBL8Xd4lYk9JOkKUp9c1lOrTu0RiCBDp8jefnaPd6cdGGYV/PL86HcAuD1pYXEIRW3JwPlhflgNgPS8Jxx5qUdoLcofJdLiMwugF86XO82/h1g0CM+wUUIji/xBumor0oCUT7PU9BfmUmpd5OEDi0+oWhlQdpEpA5nSPtBCRfUQpI7RcFuaMmJfY7qJeA3C7x0OrBIfS/n58ykEJFOfcRmXLc/SImpdx3aQQEXw7m0qf5PHf5ZUCWy3tIhwPVFvf3dwxIoaIcEKk6mf9eEAFn5oD8V3A5kAoFeazFS1ZlZYCgrFxRDYrWpIOXKDyAPKf3s2jco34pICdYxstlPJBcyH8eRDrv3xxbx+T47z3qci8BwpsECG8SILxJgPAmAcKbBAhvEiC8Sdj3eNNHBfmo9r0KiOKQ/eLq5SarndK38UB69N43+ZeeN4vN/EZV2xgFkBeZrHYqAtUd7y0RBLueWEfJwSYrxjMVxuveOt6if+O9sWGtISWWK2qycsLEVYXe/Gqr1QE+RMB8LH+wyYrxTPVa4XZcBWjUbrZGbRARXmqyikY17KqCta+3Wu3zWMETHfZYkANNVplnypQkz5ekITpHG/RlngsSkJzJChkt0sO9ymq1H8S12IwdarLKeaZcNwVBBiDHS0ByJisC8nqr1V6Q2etMVjnP1BMgrMkqBXm11WoPSA3kHT4Hm6xynqkMBB3Nc8nQYk1W6dB6tdXqefteLxjnux9sssp5pjKQjX42iIzkMDmTFQF5vdXqeftegIcsOtxLTVY5zxSTkSAOTHo+GJMVAXm91Wqffe+4KtF7vM++9z5Bdtj33ieIsO9xIGHf403CvsebBAhvEiC8SYDwJgHCmwQIbxIgvEmA8KaDQeRO99hqn+Jfmdba2f8ZdiwplOR2l8oBKYEDkaQg9ccqCaRbAoeqpv95zjFB9hgq3w3IPkPlewHZa6gsgoyTjYl0syPEgWn2ya7RZDc7QfQ0+mv/59tA9hoqCyDjcUJitHef6qbRp/v7QSiHtQ7eCLLXUNndyZGCTEbGRBsZxiXcHRuTn6puTkbfro0J4pncmuZPDJJWjFCXDETPxpOyeiPIXkMlBRmzHOnQmvTV60lbvR7BKDvqv8bnpvFZvR7/gK9v6uTnP9eQwmjSCtg7yQ8G0aGOBrLXUNllcpFxpBnBZ/sbjBLvKuMbBDIwDShEoP7AG6aiyYBIzGR/M8heQ2WXGVUZx1MgfQwy+idtbCYg+YpSQPYaKrM5wnLsAvmMxg0eWnAIKd1GBlKoKAVkr6GSmewMRzpHGBBzYsI5j0BglTnR/85AChU7QKbrYL144519j6GyeB95Uruusk+qjCWK9Lyh8l2BPKeDQV6kE4B0PsoyXv4oD1Yf5lGXewkQ3iRAeJMA4U0ChDcJEN4kQHiTAOFNAoQ3CRDeJEB4kwDhTQKENwkQ3vR/xd2F8Jn/w5MAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/help/twitterfeed.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWEAAAHGCAMAAAHlP/olAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMAUExURf////Dw8PLy8gAAAO3Oq2pUS9HV1PPLuPjXxoI6gOCjXf/houf//7WZtML//5urs+MADjo6XV86gO1dZl46Nrimmuy/qWew3l9fk+rGs8/Bvf7g0v/v3suqmSgoJ///6jo6NoppWv/evLSIchcXF1tbW7ewvOfRyM///52evFdDOmeevPrU1lVUU3R0dEZISGfA6f/CgKPh/7XDyML/wfvn5yQaFrOYirewyJm73oLC/2tra3hpYjpfohUFAZR1aA4ODoKe04l0a///9P//wZmZmc2sqVZLRv/uzq7ByOm9p9i1op3g/3hiWKNfNuUWJJmEeqiUh7uamKqal///4ejr653G1+QKGAsAALfv/968mWee0668waPColpSTAUAADqCj+YkMYI6NodtYjEhGzsqIot8dwEBATo6gKOoqsS2pp+2u0o1K4I6XQEAANKrmKmtuYKevPB9hO7//+S9qrze//n5+Z6Lgkg7NgMDA4LQ9AUFBWeeyICAf5R7cl86XTExMfH6/eS6pgABAHmChZmbqfjEx1+j4f//3rfg3qurzjqCwYKw3fX19c7u/8r648GciqmMfwMAAFhWVOD//77L0QAAAt7n6tPBscKCNqvO7n5bTJ2eyP309OfNwBwRC/SjqE1PUO/Er//07C01OOX/5qN8av7//4KeyIyXm/j+/0A/P+pBTPz8/FNcXmx6f/3m2O3z9Z2e0+O1njpBRP7+/va0uP/y51tlZ4LA6Pz//wEBAM68tP74+KOjXcWhkPH2+WBYUwoIBunv8vXe0DwwK/77/JmrzoJfNl+jovjj2////QMCAAoTF2Kow7XRx3tvaeQQHaNfZOfv3lZWVgACAeK2oc//9MLCgPPz8/OZn7fQ07usz8Lhorfv6Yugovvb3fnO0bKwsAICBPTw7+7/3gQCA4CMkNGlkObx9V9fX+f/9Ov0+ZFwYldXV1lYWdLa3YKwwNCvoDY7Pjo2NPWrsO7evF+CwaPh4YLQ5e7uzuH/wcCso/3u7//+/ve6vvlsEQkAAE09SURBVHjazFYxaBNhFP7qDSn+6d96yAXSa+865HL1sCTnYq9mSJPSGM5MWWJAJYMNFQNaMzQWI4hEIopILLbgIjiLk2AXcRNnFyelguLi6Oq7XMVrkuq1NtQXfi5cvvvy8r73vRcM7CYwAP+xN7Qwv/Dw+DKgAEHduXEXyIvOmzXWjV64Jj09JxA6rJ3QCytoqITOmVx9CyaqFsvHveixl9LiqYrLkKNToiMDSaAWGo0WFdjbMpEC0swq6Lst5I6qebUBpIyCJl/BZDFUMAwYXvTm4LFNwe+v3Dg9fOnFFKYzrenM/aH9reChv8a9vavzfWN8fMajjupIs4J2KbrVkaTsvICUYhi2rkMHF3m4gKIetNtPceZF3/j89eL53xUkJRNb117cFWlCCgukMgerHzG5aOVR5vQB3WElqwN9azm7KAjtZmqHSbzsD+o8//L6OhpgjChFmMyhfbVWtpDPmzuok3JLYLs95UZiRy1jULRwLRmCbGh2UIbKG9xt839Q/lcMYwxz6/vbVf1Ej1A410kgLcYdV3J2uIx4okXWS5c5e+ZFf7w68uGTf+4ndIiw1UpTU4wmJ2O6jZRs2Eot1isTuKn4zLuNzixlqs0MhjJLZOhmc18r2JcJsTv0zci3yBvf6IXBgBRZhaLACJLnCyB/iuY7BsduP9J1vn2eTARmK76n5qyUlc4IaBBZ3XGk4/V4iXM4rDLCyZDu5X78QHq/6pd7+dH8FAREYejRMFIH753129Wzd+aqB6l81y7mW4DLPZXv2sU0m1VuQbQYcrkOtHcXOyOTlnDUHYxJOlpnJu4upnVjshxXZU2roYaTK5RVgV6daM8u5n53MTOtC/THgZX6UO//wMW+0buJnwIwWz6vTYNhHH/wFVqaLNg4W0kDffVQU16QLiBiLqMkslpKxfmCVoaHDqoHGcwi0ioMnNqxHY0HLx56cNddhqAHQfAoXgSPCt4EEf8B8XmbNOuPjcbaooFAAl+evHl+fT8wLXgcR7zygzSekH1Hl++1gS8mtXYisgJ2Tv8gA7vPZEEa3FG4AAOKjx2f74pfPj8RrQXNxCG+FXg8S2dXoSn3iK8W25EOmFAab6GYVsG2tYpWsnGQdDxeskf89XqUrIf8QbL0+dGFBpzc3ky7M4VJpm40Mh4aMzKh98jHvqIgRbMuLeqg9BelmIiiWNdYEydblgFBjhnZCiQrv4bExy6d3alBQHFxj57wXR0+xvqtxHz7BkhlZIC5mybEBCSiM7mO4Eeq9DcS2XnQIPBMVBq8D8wGHKoOFeX9QywKxICLgKqFN66ouTVTAa4exIrQJWYjP6qCekZPZSFjlPSskTfsfNVqiW/8Tbn9qwCHcTVNdAanKEZGvHgb9BxCoiuqgqXks4pTNmHL3ai2wIrtic98uXIEDuI4PhD5sRDibbkbqolGlEH/MSCdTYLGdBgSH/UJ0QuTCQGIhWt8E+qX03egwN3zvD4zsdRNbBXsjnmMt8iGp8OuggVvuu0cgxLmTQb0WoEIOFPScVhTzV7xu+/zL16HjbxcLCYWQDSAU3WRN8BRwAHTdERBbdAEJQRiEnlzNyxykqfb35ZQ3BSjatj2qDzvTnlSFs/VF1/9sxnc32Fb3b07ymGpgjuUWnEKXBrAQd9hJbMbJg+nBHFqIu8/jQGx77C4uGmZWrghm8BWGaRTjDHjU6pf7DmsBGZ4h5U67dOzZP+/gZ22+A+u3wKwaz2hcZRR/OFYd7vfdGzG7QQ3Y2cS2JnZDpadEdGNBtnOLLsbxlTDgE4TRFZog2FLQy2SEPBPiSkpFrGpNSF42IPpwYsHLbRIoVJyCOhJPAr2FijSoyDF92b/tAluYtpJmqLfZb8Zlsfve/ve936/93ZzlHGTlmEr1hrLH15Pp1dW0unrByO2zB0rxvtjkhRPc6hdHMVRssR9eM/QKKQDZI12SD18WxSruJ1jGP8VhtyRGljM9/1KG8vcje5bsVcOfX38Khcx5kPvSP14nUqvFtEy+0Ak1mVjSgzMCTYQKxYANyATk02l8shmjQDJDJ7lz8wQb3bBpN4OM/dl7LNr0vu/cF9EjHn8woXF4srBYeAi9saaW30epgZP5Y6cPDNYuHIqCstbEs+PoGWOOx+Pv/50rStNvyBlylgmY3pBYFBg8TyWb8EXe2dB0ReMrswQpg6SCAP02xOoC7JwVrhbgNbm4Gu3dtW6b+zav0FsOOZmMesv1GqSFOs/sI8yxRroEyiZXUusdOBOVZMI2E+AKE4LyyE8lyVHphGpVVHxKOt542b82l+DH8vcpuM5Ya+L+TS3+BEUfz9xETjqvSSm6ZZxCSFukiPQi5luQVJlDE9juVa1TyCkvkt99vVjY/9wuXzxiXL5x7W3qBpt1OlKVla6tMwE6Fqn1+kByiPzV8h7PO/oY0CutRK9KL4SeJ77iOdVjF4P1nHtDsjBnscXz+TOncjN90ydK+15MMuPRbE+3W5vfH84XI2noTDg1Fk3qYJaj7xk85utAFbvCWXWzvIPe+sL7pDaU/RURrvbALAFSt+zGGXMZyK1EKwBkUp5HwWeWxkR6JXP/tHyneYm1JHJVX2Fht6UG59498m8B2MG9UzMDb3xCeJ9qi6VwwMjGEQjUrlGk5cuaRliHeAFoDuOs5Dt9LxJrdMAg9/I8vP1EU1zUBPpL/gGCnv4pm65dCW3tDTfAwUssPugsAylQqG0NHrkZKkwMzq4VJjZiXXwP84KjnN/FLlj45+ff5YbD1tbSiN2jdZXBGuulQykxNi/5c9H38MKW4u9RTMiB7KKnPpZ458DwwwmJ5FzToM6QoPcxG4BtSWj3q2o2vgCk+8nURQrbS0/c/nyV1L3u/GXjzZnEBY0h8aM9a5q9a2qfI3UzLev3W9K/TGUvi8Ry10Ox8wqdIiWjRcRS+xWwye6gt62bFVIAgENcWJKmqkg0FKyN9aGFaCWjR/gbp5usQIaeN2+x9H3yb6uDpd/e3JqtPztOBbvF8N3GXPCMALDdNo1PXZWHcwtlmZmldxsac8D18Fo1nfb642HqWEFCGufBR025rZLf5jAHAI20Br6PVwNqzZaOQyqIUOX5Xxe08HzQnEBspJfwG2Y0Uaq/t+U9pi3R8MyJlYFsFyxSrcPNQTsqDTso6g0/9fd0VreovW3AOycX2xTdRTHj1bZ3K/ctDfQht0beoHRP1xH2osYuKaB2k7pbCpC0dQuLAHjqmSLzVYMZaT+SRjZgiZQ1BmjcZoACUsWkyVESUyIEnEEfdBnHogvPoGJPk3xnN9tR7uNdnWXP5u7LLS3D5/dnNt7vud8z+83WIDgh+9OlBc2eNnF1etRTNavbjEXvMxiOdl66JvDrb9wYyNlzMLBR023PDVro1ytlyMMd0esArZYnpSw7Gof2WmAnSknoD75JDeomYzqwcaHkTBB9zVe4AEUSAqGNIE+Frs1XdfvAH6rsaEd0d9t52A15fSrSdWnupt/am52paijSiM4HteHdAXBih1rOwXpCbDHmSYgWJkd3LJq/5q+Ndu+OGwxNcaWiz+/6fnD8ffmyWdPzOhxS4EdRrnzkn7ncjBVzyb5+1zGFZZnBV/fiZHAY2zDFaMqRnAkSG4wQ6G6RjNwjOaZkNcbKy6tk13NGVUCXyYGEvRbVciFPpktFJ1jjpGRdsckXwrGwYmrTN9HpTLT9CFq5NMQCqnqi1glQwxU6E+GaIRu/AurbpCTs4EtXX3PfdvQ2GMxOcZ4bGxs9PRYTAZvtxzpOL/pqfFTHRe7TAWPW/ZEN3Wc3RSNHqEr3g3Lswn8AZTUwvyT0OnTpXdt8Ej2wAS+tE283vZAZrdRk5CjM674oCkO2uiiUJC7BR63WFrXX+n69WTr9RkKUmrfjXyrxmR1ytg32nXvtFxY+eS1XHCs2tXQsPe2goDV43O7fb5MxucjBQE90QTuWEym9SFSyOV3yRm8ArLQyNS3C7Pnii8bKW22FxUklXImwSsjWFUR6+ZgSDA4AxLlXVk64wYXtig3b7pDBGZpu3YHBZGefqX9sw1jXT3VA6g664rxB5a9K194Z+THT7et7IGZKyiN+A4Xz7rJgplr2uzc30B+zoj0aGdR1pkYD4JW4JrMlAlINNGUh0cThOE4+akswOcT0/38CnDXq2OOdetGHJ4WriACRJrycZFPVwkMBQywqPMzAyzSpINxo5Yc3CqJ/nvHtsn9fZ31J3qlhoJc6exzrDpxyAArUFb08DGSwdDwZOKHuqSp5cbnoxdGb3xoIQUZON2EQQzqfOhE4AieYzSVAYpsXKMw8MgGgxqrUbvtiZ46cP5sNLrxXX7/B+KiQGA2BRappqIpGE2PNMMbByyAWI1qc080+vZrHShNtYZZ80pCnqSRD5ppkXFpEYtMGzYqF3EN1wv2YwnipQ0uHiyg5LArFMp5J2Q/hD1uX4wchkTT0EAksELUC/WBrWB1JmNeK+Q8BJZ9KfwlmCPCsjsTo+otwQJNEXw8dGH++Vit9tVdTM1N5VHAgqXt461YsMBHJhcsy7Nrj9HrPEuspYJlgYPP8QnlpbLHjCkKDCgaS4O9vK+dypMryh9A4Q7gS6UJJR9++l3cixXhd+yV8PvGwaUBPgodamwkgB8lmrqD6QGUg+7g+2wqIVWAbSUwHyb6c17a/CHy61QCAerEE5FAPq2RgiCYFJrALJ/mcpBPCwNTCakCfHTzLWPOZ3u+zojqc7h5NFflYMVe/nFxOGK1FvM93oIwvw1YHvbXunk22zn++hIHo1LG9+XTmMupavF7DbiM1Zov5XdiWRd2OVFPONhfC8znnedsRTCZ5UE9MExVCzXmVvB4DDDEYrRhTeK/SZL7YS7gx222shjrZnyPDfDRCrApD8ifNoryeBH8Xu+OZwZ7YTC74+UC7M66AM//GiwkMD8PFnYMZv+p48m7VRpaE7i37Ri4oG0t9GKyfwO2QtvXk727spT4d2V/W7vYk1D5YXL3f/swrfs/uKQgi9vmZShrQ0KxgxQCVfbp1WvzgsbBjAWxNbXTGC1I/62L0wpwFsmL/9HmpV1hBWycGGM0lGOaEFciKH66plB+tYvifbZ5MYaRkoEuPFHZspe9n2b81rJ5QezWgLdzEIC8SAvj94GgocyLBVJ7Fonz5cH5acZvTZv3McbXPu+jbkMRRUEBe0DDs8uiuEJTEgzstLaftnVVGr/3z+b1YOxCVEHIcNWXMtHmjSE2o8rgl3Mo+KT3Jtm88BW/YtUlS7KcnA94ms27lI+XxHRJTB8cMS22jREotZPi7Ipat5jylShQUBhERBHTMeonpm2hBngOYqqjcmiQUFjialxU+Co4QakJvjdiWlGPiLd7yOLyXE9RRwGkMErB9FavipiW1SMYVwxs0lsCS0CrkLCFpL+E4HQCSoHkqhaKaTPTUj2iwOU401DjYzEVtmyhVldOQoa2S4DqVvFMwnNvNc27J2JKjrE4ozgxQUzJjxCpNqHNS918wG+OmAqCwuJUm9AOb00QwL4kpv8/MV3SvAUIPn43uMcfWnjr3f4VgL0rjGnjPMPf5rCY2LWC6xnCObkLaY2vtzTYNIE6JRTstoYZL1lIWwcWGqLUzlScMgIDRhu0dB0LKckyRJeGJQvSQtoIqaNiP9IuWdyqycT+pIrUtdO2Sv2xalJHVPVnZu19v+/ubEgwhtiLCfcB8d13d+Sx7+Hz83zv+37OXO6fhjgRcWaYnJk/Dw3xXUS8AdRQdOr6dXgMHXoANqZ+otNFOrIX8RoA3DV1+e3Va1/YsmVv3Vcf/HD9VJeSBudp4PPxp9Bvk3qIXTKKpRJ4CtjxSD1SAy/lE7HV8XNC+lyKtHYK/fVu558Fl1cwGS4KKJIFwWAymNgSnYa/CsTcnAfK2Su4DPB99eg/cYEmp+BKFTEq2t7H9CNWpemL10dnIG7ANELRSLgS0cj57Q7caaWqmWA3bWBXKOKDpKXe3cICYgyo0yRvhAE0bplZL57SYjDVu/GLHk0d8ZocDl7gHKv1QOeWZ395cyqqi+iylxVDuqbtTZuKT1U/tH/dqmM3q3P0e5s6L7+bxYjBQOkf+jW3/9glzEj66tjqVfrOl987zhDDHcTVXvEuAh3RrZLmMAlAnyUP9lzAWLrqSTOeg7yokvxij9jj+ZtECglv5H8nBTHA6CetPbALjq7KBpbrnM3BB+0k30bDhtSDFR6B04KpIT6ki1a/wAGBv1y3/+xP4ZHLeV5xaQaTzEf4cXldFWwzQE4gPjNjLCEraGaRCw9VISSbw+NH+1pCl92jMwsIEXe4IBxiHVVk2NNN5H8wFwU6UkMcwsFim3Xk5LaysrLKs1b9Ghw+7owVHn8mWRGBVxkG4LpV1ne+sNZyp3FoS0eSb+YQA97IvtHRf09uWrvndOGOjgvkYXjZI9mL+GFAt6Oxpqa09M19r7y44Tps/mlzl1zTyA9goRLfnlWISUcXRVxT863X//XW67jx/ktdm5Wjy7BAqV3sGyiCre3tpGjwPl/bziKyM/uVUNwK982+YPAS1G4TcyKeGMsqwB2aotcQL3h0g3e49WA9zj8Q7T1zHVroUGRzFiPejHPID+56fu+zTdi2fHvXfx6EnuOyoqfvI/GUd9TvtFaZoKKPN1BBTmWWnwdp4+kGSaaqC6pxqpSJ/unNYEp8SNmD7PpgOdYB0HiA/r3L8KoPJXoQqYGI3aLDDlLSyHXbHbhDPYiEPfJ/CGLOIKD3abATzniOish8YieixHCeKzZSbccHP/7Y0Sr1wAn5hPkUg5A3X8RPccsrv4uglx+4pP/xrx5PjAlMTjt9cu7byaHMFefFgNj8FH2kKfr11rJtJ89Wnj158/uWyseixyPZrN1CuuilnOKyrdV1X45YL728J6dSX3ds6/HITHYllCeYCVFcJ2XDrWfQ1kIPq7/CnD7XFNqV85QeHNMXyzH6ZK19O6czqnoQg8mCJEMzYqFZmM10cU/WxxC7wacgg2Ua4x4cq2CIDW68bsWg2q8eDtBrZn8iyXg89G7oFFB4BBouzFG3AzTz0PyJN7822bLw1xjbX05ztSO174zUHjjVFEFPMpS9PEa8oc97e/dVd9at3bPpG1+fOaMLHVJZ4X3EJBO1frZMVK8rkeEt6jgbmDnm3joKL3gW60ZjTeObF3r3nX9lx4bSmsax85/r5JrLglySm0solQFxf5yEqs9eMeh1WRRam3HNRoX7gRWYvu3yCm4ccWXOshkg850gntigi7yPHqS0sfHFt26gB/n9S12hsTsjYRoIv2S027jNOCxP5NBmc/BHHXzwNpMSOIfC3o7tSX6fOdOIRYkW/oFI4IweP+qFI+NkfJxQWYATP/IcEOgHm98GiG2SFLSTYnxA9PKo2/JRbq5zsF4duFMCng5W2Gfn6OTw7ambOuE1D7J4ED8hZuGcUNJxt20ZGX2DtPueGFjta9uOa+xv/xnOCY1m95zQhVEySvgBtjMKbzpPajMs2gyLhngpIt74zMrERmKfqvKmRJlQUXRMmBzEhwDq+wpFzZvjHxOlCt9bFbB5fu50dsSx3dPwrgS411b+N46Y6xaNMmpz/P9FQC0KYgs8DVQ6ieKd6X7wsWho4QEvs2ABJ0p8eL4VFSzkS68p+Ii52tQQf2c64FdpSefuzN7xendaePzhp9eeoZ/Bd386ygEzyONXV+7+7YeJHX9IKGCcwUZzgipHlV+lTv2Vk3JbQspsuTpF6GGrBxQbiRLQ5YN3jJi2Hym0xorZBMRIsAAwEv7WRitwmsUlz7WgkkfEqPMJ7+AdiAeBgbznQe7jF6GIQfcjTCmOOD8diGm1MPnjNbbzvVm5F5tL56fLm86NeHfiTlbzWC3K/gy2P7sNYl9bwg5bJnm1siEfjJ/ia+sbwEOHp12VZsSx+2WYG2F7OmJfWxH92MxlRU/iB1DB9+EijKPuJDGRvIFhVADma7vPt2xC7BvAmKqvbbL9MGwD4kfVp5WJd+mJjdhgyPjNRtZSMiiarkgD4uyM/SdvWux/jjY2N+KOjuxh7thrmgfREC8U8RLN5sVIOsvWNbHI3UVM0GUxyHo3Zu2azE5BcGOKL+1xOwcFYbIgjFmWzWFCky1TRJyebF4aO2XZujNjkMy5YpwnTJSUyhMF6/oxrdLMzlVWw0kdsZbNm1nESbN5zRjHcBmu4oK/5AQQDpiH+eMWAZjnZhE9cFDYhWSkcWdM9X3ODV3NeXChJQ/oLQiE8RUuT57xmxLiZNm8sR8MUg4iU/+uxBhJ2KkExin9MHklTI/JkXIn/Yj7MM31MHldAZmxyuXJMn5TQpz+bF6Dy5lowWcJ3syV8btksnmvgLuvoneShiHhXj591MgfddhJvudpySbdDcRJs3k5Qn5hZIi5IM42FB6xOYaPsJRyeUbi//8unTybV1NCGmLNmWrOVHOm2lihOdPF70wJ86NewSTvgp4XBC/GTYQ8g+AWmAu4ijEUgylg6bf0L9SDpMmZqooeWj08CTACivnEolJV1rOUWhoMWjhizZneRWd6u/kRp9APt/YRWu0M5uyGxEv/kILlUgnpJldij4poL1slWjV6Bc0mSGlc0Rw9ASdJfqx+sFFXECspXKgHSVZneuv8yEHKUFbtnBiHLEYDwNEoI0erEoY5ajaHYXO8HOsr8nE5KxG+FVdAzi0IcXqcafI4ZHFaWXFvOVOs0gfyWmjKhOU5tzzYFoSR2xexBqA5nF3OVB5g1XkTua5CrtiXK/iz1pnOmDfRlJDmTDVneu84U+0vT0N8byL+ZNEAnlDWHvtkbHEAfu2bi3K1tP8JwN75QDd1nQf8WwTY8R8FC1nGlkEPYyybB0EWCQQFpwhZwThCIdiHIsxgMxC7S+zOAZsiHEzLcsxsoAk1SQg0Cd4Ss5S0jITTDXYOI/OSFG89ZDUn67qdpoezdKPjT5u2Z2cL3u733fueJGM/S5Zsy+m7Mjrv3SfZP31cfe+97y/owDrwFwB48qjie3RgHVgHThrg+wv3GOaxcZ1+5l1/8b1905IYuAXtVCf7b84rNBjqri7pv9l/0mBoXJS0wAN1jQZDYf/Nkyv27DZc2/3pr1fdvMnQDVzGPCNIKfHI68bwCjLw1+wRGqWq9ROAFwIYgqGTHQllkYxgQhpWwiTgzS+n7pq/fcO2+btyL19Ct41hnwDGNKaSDBma5IBHzrHlyD4GzHaK5F/KxSVyhu2HNdjC8p9UBEnC6KXaLDXUDm3NvC4BujrQ+/GA5KRYJzBn9c2s504QKSsG4KvzdqVaKisrUyw7KytTL69apFasEMBPYSPeGrsDJSwzYLaT78h3WIPQKmr1tPXdq8is3OlvAx7F1MZlWaaE3JVLmGuGlrpaUF9CPpByVywS3v+t3lTVU5OSumahan4VwLeDVh+SyRwYdwRwqLhQQ6jioh/LKoZCA+vFRila+EXMlojNQu+NcNoMtuJpAi88k5KCtXiYmLsre6/cMjSqwFYZoZtArmkNLQm2A3JADpTIxQwYl0Sa4gOrln7owhQiCdh/OXH6JcmZJrH/ADgmlfEgMz+Gv7GXmPElHDimJWG4nv3YIxtey7V0r9m2YXvvcibhiXctaQDXXVhxee3WlTfm7uw+fmPvjdwn9yWDRX5Y4Bc/ldZ8uv37VXvnvJky17527wu/urSl6kgSAxuOXJq//In8b+/6/hxL5at/9kTvl85cWboksnd1ZFRtWLIieTjLXaVO7M/bOTg/zw728Pw83MnLsPqgFUrAYfPZi/N9bIueiuBg1MB1VUu39+ZevPgYuu4uPv8rq9386mt1IqiUFysWJYwxlrRcMlY/i8VincDjRTmySITVduRRNB/7NPkBioyzZoRVHlufMSimVAN4m3ntGaYguivpnyV3afZyZUmY0p1KJChTXDyUtIGXt2mgcNE2OlIPCnAgzI8HPvCF+fHYjiwHMXjUxraKbEF7cQ7kyQF6osTCiJDS4YH3N17Z+nKuxfLmHMvxG+gyn7p8SZ0KrEa+tinAuCTaFWBK2q3netg0suORrQaRqunmdXhBPNn7HFEDMx22YjNVRLOkoJStWzZdU6pJhQH7JT9fEs6IJeFH9Sq5jvFoBAQu8rEHE2XwIXgIO9UHxZJ4CIFtDmDKG6wyXwFFsoOePEH2KaJdEjgaz1gubl3KxnFLbi/KN04tUTSmepiNC9t7K1OeZ1+8lJ1n3ruWFNWvhgcmV+6RLfZKy3+8Y9mZvaUxOVy5mhKue9Fw5Io9NTXV+uQqWg/7kxmYwRW2nF8M3u1bp84+d/P8uUNsiUx8iePhgHuuMnnCpk3TvAPzqm69dP5PNm26fZvJeEWyAp9jC2LFX65evfrku0cLf/7zrxxdvXoxm9t/Px19lEq1zEqqJXG/AL7v6OI/3/TH9y1mwD3Kd67nPi9ARVcV5g93zSqATICO6q7MA82ZBw5P3G3+w3Urvo4O/cXTvvvWDtxY/bZhtxp/9womPxd0ZcKyV6DCC5j13AHNy6B54oBDyxnOD57ayCR83pt9wLsOnbneDwDWPdVcUNI8xQtJAKw5Cpapm+u8E7qGJ5ep6txkA042t93bIy6JlqTibYliDb996J6kGS26QVsH1oF14IRcrRnQZ9C/sH/2iiWFN/v7+wv3G/a0JC8w8hrm3by1yHDtQt21F69/q/966B5Uw8cROczY60gxSefJMtqnwpsTkQFCKXTFh3sou110d82GX/dvfnILH6vWLlyIIdsPjwCMFvhIc6EaV1xChgl3yDpBNp2wVkswhKHRFMMtksFwa7M1NyXl1ansqTL1jxZ+R72nEy6DHwVtDluO3SfbWj2tnhrcQWBbDnu0Kn/PjykbZZjVXAKyDQvt1th81uIT1BaqRMYP4s53WIsd1qDd47OjJRDj+M1Qj+ZPU/QSxhXxMvk4qONASu/mk4a6SKeMXGyTbTUeWfg4cAeB7TLNCOAGqmwNYP3YxxipMjDWE7bJPi7cQA43ZZ3417NneelgKoeGbgWqThYDcOPm3lTeHwGhU1f2hzllioqbGHSr1WGvyfM12RiupwZ3mJQdPBtIAJe3o4TRIBhgMmylJYoSPgU1+QFPDqMrwZrI+cVngvagh30IN3UmQOBS4zFnW0wSvpSdu3RpLlouc2flWuf3G8IaDsTcIQFaCTUmlTAQm+Xn6ncuP7Z3jXmpJeWRbV97+tUri+J0yhTJcsZYmqoat7y3a+naF+Yef/PGuqVb53zpa7O3NCazU6ZxefaSK/kPrrS/2X3R/jcr85+o+vsnX1MM2iP9WjMVj+QaWIpsf4y2bnZ4+Dqao5XwkZWPzk/du3zN1q9aum9cWbNylnXq59uEUyYEHPb3+KZJKaLZMAyR6JZoSjjw7itTzWcsKSmUZ4ctHR678egGIWGmJKtdaV3kvsQNxCtLN5Li9Ji4hNvTXaSBhRqmwv2oW9M4cCe+r5b9gs5SnA8dduF72ofNu9BYw1vmr7nMWOemWlKeR0W8dfmlRnVJmNQ6o7x0KNUR5YpTSDjUW8DMcxQpTQU7EIRqkZap8+rhapfaoCBmc+sG+y6m096Z89XjCJy6Pe+IIQRczQBrmWScuIG+mXpMR0HF2caBy/Cv+smFjLtMdkikSriM/4I2QRo67PIrLpTYDdoXXku1VKZ0p7D1YOk+8+yta+PQ4qPcGYcF3nCh9xvdc7I/z977giWl6mrdOLgMpCyIB9hQx0503e+8022xrtpimAROmbprezbnfsNSufPMI3vC8+s6obSd4iEA7sqcVVVeqBYN+35lKUeOlQ1fPzcaFaftlCncV9izYc6arU8vv3/hySXXVKeMCduRNAwNDEMAhzcGOuC6+7NpzMSiJQzTXvq7o7d7rlx+Gvoefun2W3+1W8kHPAbtaVyTms/7u2rDlCh6SUmJ1vZl0XG8gGcSlvrMqFmY7j7gyoJayCp3lnZh2InQuey3dLWJnOjRAbP18A89q1cf/e60r+w7+tlbT7HNASb02Vxk/4tdargq9kNamBJV3bpl7EJYaX8R0ciouqwTWxzxXkeqzqWAmbiAdwsfx/ee+95nf/HTf0SnDFsm+0Vs4HWAZzF5mP0Ff5c5TImqwEyI1a5QX1g6LdJEtau0qx6yUGtj6JQpArht9MAtDPhveYead//rP4/i1rk6w6L4lGgC9LVm7CU5ZX7y1rsvLSanzLnZ0+JUorohJeoRfEgxKfDhAGsQRNJ6ZIwBu4drortNzYpRg66ZEw5sKz5IJgV3COvsWaUX8mDgEzAicAwXxaMDtoKPTApuKAF2u2wL5mH7ZgeaFZqgKKME74Kb0P5g97mL8C4eK4nl2HzYo9pHV2541ZvGlE07XvGJC+f2UuMYAdtkup1EI0MOFHnQ3vBGse3jYm5WwNZEPMbHnuHxNfWdYsBNcisWtOOdDkFc9Zb/9wMPGEVdfu2L4LglfNAKZFI4RRJmooNfwsB6ILMCk3ATBp9hO0aUMHgcKGG3hwm3iDeSEle9Pdc916GW321oXwQnVksMXpzhOrY6MPR81Ap7PIDDhtyacIWtW+B14N9N4I1ePJXOmjTAPZn47M0G77KNUGDD3PwpXkjmiJQ70AxTejZC1XOe5o4KpKzwUsxPX3NyAmMwUkXXugJ4DjK7sFUDLCs4PJFRVdFFpJzHPmZKG7MeULubTQCwHpES39AjUvQznQ6sA+vAkwT4zow/fFwdz0QcsstqTIZZkqQydHORnd0sGakSPzePpN9lbr/LoMreNkxtOVOMwAPPRPTjewYevKMcaoqImMF+F0ZKp6pmd+/A/Yw0H7o5Ng0PbIzJG6oBPCOygeDP4JPp74eAS8CmpNaSObiMc5dRUpqZS/ibnWgnro8wtpvKXaXGBnTTpXU1cBcpHMOD+Cq/sRYPm8V7/DCTvKjRAd+J5J2OvddOh4Ax1VZImZc2VapNks2BS9iV7gTRkFE1tpuUno28KSO5Ql1Kv0Y/lG7kzavpPelvOM2DLQLDAg/MuKul5OtITaMEZKgZErjUBVlQDzPFvJ8sO+HGdpJwG/qq0d5ezyXchQfZq/xdJGET3zP1SUpOeTTAH0XwPs7XyOWxVQH+eNbw/y345JOf/WYG7935Ea5e9hEWJDGwOhacnn4ab0HOTR9z4Li0xMDgrddVYPS7OSM1U2i4I+2ckWmzYqcph8ze+TL/EjTJss8qB+IDHvjyRzM+iZj5KEzCpsGqNETt5mFowlAY8ATCPoGHQ4m8T7Qi5oQ+44k4JYyNcr/8m9D+v0yPAGYKsrqsvCzdyXQnBj5kKbEpTVBDDVlqbEGesOomteLGYDUrmuczTqHdmG1gFmsJOPJQwux9AYC8eIGZdlDObg9OjwRmCrLahQ+mO39rTCclSwsl1EGGSe8se4gOMhgOeJatBHxQUi1lY58Aq0+VsD0jfuDp0/ktv2h/GS5hkwBGXzO5NnlsCgIHMOgPg+p87HGKJHwKJezjwLZAHtrpmTK3BjxBCreEGjhoDUCigNWzyILhVNFdrs2R+qIMJFxLKMCogQceHwkYYgWGMQN+MHwnmfWw0p769ckC/Hp4k9yhlkR4F1beSNbWrDaZ7Rj0kg7IxEMVOzrGDHhAkSoqttMRwD2ZAx3Q3GE7/PmOjoodG+mHTWRWMODmWRVdvFVuh+dwxysVOzIpZ7TKu6zif3YwaHrD4bEAVi+IT4eJe4EiL+xz29PR/MrhAgBql7uM6uZCRdcUTBMl4AMMGNNG0YDcARsrfouldDsKBrUDTuA93fun1Wbl3x4MXOCFdTum7JgF573L2M+BD9jElOcYcPYyTBNFiW6873BHwb9711HOaJW3uYJtH/hg3Q4m6zECZv/3d0Qf3wHe0Pfy+1H8yrA0Uf02XwdOVuBkzM3XGsmZm689kjk3f4iRdLn50bu9kiU3P8ly3VtGBj6URL7FlpYEfOn0E4cOrAPrwHp13LEFTlB1XErE7hzkqRApgFniBQmScGKq41KmXyeIDma84bf0BxzYTyVP042SJFHJXJqBMmzM9uG/8VaCvPhj1MAJqI5rwkw7rH4rgNuobxXPCnVSUVlyIvHyspD+i9/H1JWGdCe6KU20YYwBOAHVcTE3VFS/hVCDci5hEMCl3GOGM02/eAJEIznRmSs24Pir41J6La9+CyD9gBJnzD8QwHxJfBNd1FQyl030ZWGZR9FtXXLGCKxXxx1T4C9kdVygche14fui4nTtoCmI1M1DDc0KutEAa1THRQ8XVRLHVEBoR4X5oZF9ddIlF7YKJCc4BnmwKep5aeLldNM/wxLT7LtEjQOrXahxhb790KhdQTcqYI3quJ1pvJI4VpjFWAimMLF0L0Y/OKkbIHrulGq+HJjNl0Etn2oTxXS5oqW3j1BBNxpgreq4c2cKVc/+vJLix6M7RPtC3K+nhrGisSFOleHqoeACDqy27qS3a1XQjVKtDV8dt9zIK4kDBUiQwgSxJIiAaVx1SbBjadK9pFqlBpzys7MILQmhcfnbNSvoRquHE1wdt62vftAl0FCjKI6LH7067tie6bSq4wa53qT64lx1nvKBFdO7iicMWKs6ru1HxZ71HJjSFtl3230QzrqxxHhRk6PJMf7A2tVx88BBJyKqL+7G81LQbQefG0uMiwCD8QbWro7rgLyDYknwUkN/muG2sX881GRCgDWr43oCYCsWwDYHxpNgGAeiN7XCRAGPUB03mQ0pQ1TH1S0/OrAOPM7Auid07JeE7gmND1j3hMY5dE+ofuLQgXXg30lg3RM6psCJ84SGj3SXYq8XZnmyCCo1VOM3VSXEEwrc/1lbL3b7ZtaXSp21WWSkN0tohv9nqW8m5YCYqn8qpUujBk6MJxTI/8nTLcvgmESG+wZhpEfhkhmetw4VqSGjBU6MJ1SxwOOuHxeBSXF2UlNQ1QyfCOCEeEIlTlNLznu/1IlZNpK/WqIlkW4UZng26YobWPeEjinwF8sTOnw8yZBpgBCEYHgiYxCfHJQ8RyZx3KiBIm7FB8/60QFr9gkdIp5Ekshni92WEVj2lbSWtHp+IkMe2DJsb6DvKl/2oUHWlpEvB9CU7CD/bH6xLMtWpCYrPtjfD44OWMMTOmQ8SbkoUU0a95SaBuhAg32ekgaInLhzgtu+3VzCeRnoQQSy4rNXlYwKWLNPKNwVT4INmcOA3eHADvYIA8adEzaU8ccBWwCsGUy8Nh/7EVZ8yA+MTq1p9AklMUfEk2BD5jTpXt5tmYA9MnusZ0sCM1mhyJcnlgTbQedmCbv2kLFJR9Ajy61glR3cin+CFvTo9HD8ntAR0gAdCdXDuid0rM90Gp5QoX8bIoJNTBMMrOUJNUnsSrwea4wwrfCZX1zspn9oxC+i1I4hBcZxBtb2hIoLXCVsg2syijrBOBVqKN8wzsDanlBxgRsCpkml470pmlrYCV8SWp5QEBe4JryqxTgTutjFz0BxKiaKMhn32/xoPaGRcSbJYEjRPaE6sA488cC6J3Tsl4TuCR2vL53er1kH1oF1YB1YB54UwOcmDfCPOfChSQN8iAPfM0mI3/7x73HgSTV04LEe/y9Ae+cCEMV17vFpVtgNSWpswMguIii4yhZYpUICRMwiRQn4NtFI2RqUjYklQRFdNIqvaIumiqBBqwaasvGV0BijUVMjwT7EtCYhzW3T3qShN7G2CrX23t57Dfee7zxmzuwDYdkVkHOS2cecM7Py22/PfDPz/b+vz/2DvyYIiyYIC8K3JeE7JNH84QwLwoKwICyaICwIC8J8K0mxk+CfqNjY5ubm2NbmQ+FRExoSy6JqrjaTFgXRNoVfpBwRgL0gnKKhLeJy7NXW1uj4lRpby6lTNpumZb0tPPrqDgQ9OtzWgsekcBumj5wnJ3IYNvp+16IFbCU/sON2V3BExEOV7BVqLFB61pTkLmGYNQVtXI528w0cWUOfeoZwiqaQWPD11h15OwoKFlrnWOU2Z3xmyLSavKsIMf0aUrpJOKzIjBf3rXqTzFrNhBLuLKmJ3xtLRisbcJt2j3eXCU+g6KIQ4NMGXWitVqvdt296wJkXQ9Gr2iytzvBUXmz0IRsZNuGIijBApM8fFpUipmbM1WjKRv8PG71qbvpIWGAA6WGE4TVZVs3lwAREDBorKTZcLk18IlkaM2gsIoweMRuAHfRQ5V3Bm6QxT8qoqstxJ4M38Qlswmg35TCKsgbwY9Cm8BL2izqCk5tmTXmocuITaPWasXSAbwkTcDZNWXSe3qDTUolHVlaWovYwnM7bUbMSBml27pQ8EDaZkKGip9Jho+eNSh9pMgFhZMMGUykdgHsYYaMJt2y18Tc1UfNT7AxQA+GHfkZ/9Jj9oLE8TyAuqQiTTdewUcyaAXwyHgQc0XfFvjK2kAH+IXw9tqBRp+PRMtI6XaOlppnZupowLGFFhLR+1VwIcTYi1HpTdlgRImrKZoNYD7FlYsPsK5L3CDZ515BKnjCsqsY2jK1vzVgMghKjg8YQuwezDCJWDWaJuXOE0aawgOGiJ2bDasJ0gJ9s+GxmiCFUm3Rl27VQasloligeegbZ8PKYq7ET6HztugdkeB5bR32dbu3tfdqXYISjDi0/b3jkympLakDwgqRaxDdyfOKChStiFgdo6y+GxwPewsKeD+fum4QLC63WhobFy6clJU1L2r5ne92eurq6yD1nbiTNyA+OTEtLXdEQXmH1ZMOCcMdt505NoTV19cy8xJCLIcf/PG66ZbpxXd2l2toz23XnTxdY9o2rn24JsZ4LKSiYYFURVjs9Tg6ss3ua3PFK2DpZdmXpTBj2sGc3OmzL3Xjx1PthERxIsZcYVqS8gEkfPWH/BY7OplKJe2WEbr3Zx4SRg1A43jLj2p4YY2PS6mmplpwcy5VLWA52ZXV+fk5AWtpQnSEnYMbQ5Qs0tsJCjycLHTmZNyNMj+zMlaX7ooThyRl2+gNzYfHwHcg96DF9JFb2IHiwatiP5tKn9JGlEhvBXkkGdLzO9sMsYbdeNAbkByfVawfXatF/tdSdyKqFN8glNjwSYwm4FmJ1sWHOKXVyYOEJDaDOK3E5k+kBnD5RH5e1oIdkJ4J6bMirazIgX4USJq4HEeYZzLC0M8LDRmfDEHhCG0Av6UH2aCC+CuqCXuSlo/2AKRtkH8bAeTNhr8wlezN4PA31ah4+Zc2LCUjNrKeS5xHP6GoRa+22ddSnqLcEpK442+A0D6tdJicHNog7+SXOlhRUTk2VPlEfl/JlrHnCBK1COJvhGPb6KLwwwkYCCTrRKNYTVpQt/xCQ1dInzpSVFXTEsNc/fn0U243vCK9fb9MUNliMK5bXD8BEfzsiMvKZEXvqttXit7U640K9Pspq03SGMHVgsQ2vGUudV7BhdPrkYsPsBAr8UO7srLpc4gkju4IlfSScApLffDZZsMkxG35lLjU+owxWj0954ItBMy8gREYNk4JxHvAvBZ8edcivKHw/2DA6V9PYThXu34dsd3CWFqYGbSg8aIGxNiznudk7ClvWr1ef091qBxaZVXtf9CU0cmupONeoW4eOcJFpITfQfzNW529fN7hYGzbT+tF6m0bT0/JGzz/cvkJYo7lQsT/JEJqFjnBZR48eRY9Zgw37MudYKzRgv9jWd0r9vXlBGM4kMEFbywX7SmtmfWgxXI7IWlccWv/UeOtKu93OfQuCsLc2bLPtjCoLvx61sSluTkxqTk5kfv7ixNQ74l6OrampSfyoxUbtWBD2xpfA14cDj+1qe3dtVXyb1F5yMfP86XOfS0ccn59o27WrbdcRx4kKO1y98HzGIQh7auEf4Qs/LYEnEyZPnpxbdeDVk4FlixaVvRG44R+zD8Y/nYBlukekQxp8Hymc2/TxjIzRlSQQfNjQZYKwhxZox4QnzP5pLlY6V7323sanX9vw8okDr3164L0vP8FrE95xxNnsyNrtXLazSfdUOsirARkDbyxzDMjIeFB6fDfIxYYNzcjYTbvQSml4xugX8YDd/ZCwVBKPCb/7DiE8OSFhcm5u7huL/nbwL21Vk+m6nx57TmPX2OL5m82Or5ZKA8B0B+w+KT2+TJo0M2PjC8iYJ/1gKXpJRXl4JVqDBgx/EA/rf4TBjuPCo2avpYSRGa89uOuNjbMDE+Q1k9+VnguPc8rWB8pGTBgZ8+YZCOCx4RtfkDbf82ylNAB1gTVLZOXme15AA2DYPS/0T8Ldb46TkJ3AgWaNYd92gujAUwla7ein87BognAfJixipCQvAHXJhkuOCYqe27ESX8wSJVtLhCW7s14ERszD4kgnCIsmCAvCgrAg3FsIB8aVRTWsbLCFt0bjdvkyLs1wOZq28IqGlVFlcYECr+Tt1UvcGmpam5uvNkfHR5F7nraWqMRXYU1zK8RnQ4svEYS7fgW+UEOVSFebd+yoyauZoFlpt9s0tha7feUXFdfzanZcbb4aG0UQ81fgvVPKhL1FFneNxqlvcukgyo+wIrQ/EmpiWOWUkxuvhqC+9JFm1bqbNaf4xptLPLp+F4lasL2mNe/si/W6G9tzYhYvHD9n/IKFMTnbr4U2nn/qbF5zazy931ymJsyHsutN2TjOcRWE55hMWKeRYMKBYjjEBnqgY9XfTSaiS0DAho3+ddG8UVQhQ/6+id8bS5QWLAZTMoIywWTWl9IoNhI7QWMoDbBftDfYuVn+RuBzwx5uM0EUfjaOrzLAPwiCMNEeDETiQD7z33DY5xiIukOfOWisrwmzCO3Ey5nL63U6LCwoxuHvxcWgOKjV6c5Pq4mOL3SJl3AiPNBMVgI+o8lMbbjJQJQGrIfpOAw4mhTQcMZPCBN5hTp+DTHGoX8/mhuGw1YhFkoJgeLsFUGUowFxONbDo8K23K3//lsItCpiTU8/F6sPiOXSr9ZfhMt2pDbqdLWDnVuWVqfT5cTWNLjVcSiE57UhZhAjRpkZTGaqlMkmOo5slRbJQCJ3JTeEFe2Q/Gv/GMJ9EGWjWfnpU17wkpo2iTVDKBlhGlKofxQx/sTMR8sqYWlM6QHaDv8Svh5bUK/TZoHCazCLbgUTRqt0jRdrWl11HNg00e/NTEkDOD2y09+QycBplqA96HnVXD35XRP1EtBgs0QwDfKmswT9xaaPBNGNWY/jrJXJlZ8l4BeSDUUJTCwIG88SSgwmnrjxXIK/MPo7UAiDxPHXEA96MymS94TDL58NMTyyeDyagfcHYFMuzgleMH7OnIXbDTdSW2MbelLHQWYdEkbZ53wJClgTtf/c+dBpkfn5lrQrkSN064pD0/ZE5ltWp12pCz1eYC1bqTkloqq8Irxzp+aLihUzz86xJi40/njfTMvqmMhrdSNqtXXbdDemWVYHbG+8tvCs1YqGfHFKEPbOhgsbzt6IseQcn7487PiPjcuNx69FwiQRue/4j5+afr5Rl3ajPvViZlJBYqFKx+H2qOD+UOEkKmZv5SObejR1ITw2lWy02lkk60uVuK8In7LO1CXFnHvRYAgdegaqt4Tiebi29hn0bui1UIPOGLNitVa/32ZTx8ATT5I4roTct/DhiXNlx4DIgBy0ZI/zX+wYRgmXS3cN+eWTf2Q+MNYlKbuQZZ0/i4jYhHf4XZ4w5zoTQRP9Z9HxTlujId8l4lr8TyYr/U/YVrHAEjNtWn49aEGhxhP2IrKyICAeUIfWJ+WExKRmai6oVQbEk6SOq6Jv5aUYICjg7IqMa1LbMMiPnXfF7YJzp9ATyBJYB/Y8NsnSD06xoIx3s/UTyexzFFfYv4TXr0fzxEVL/uLQRmK7dehQl/XMnrorR4l7rDMEBKQWJFbYXHQcXIIBJ8Jco/JhzuNUE1Z/PZJT1gKnHfOEYQxT7EuSrAlRjXezNSEsuZGa+9GXQHNxxQRrXj0pZgg6JFhqsYo8S2u4cSFl5IULGicdh2yu5EcfFBHxqzu/jh1K7uQTzxKgQkzmPE7mdRIrlKcYtiu1N0x3zIagbX7FzxITnyhng9ksofqqXbaGOUb5nFtCmEk07Nbp9aFZtZf2RE5PIi1tT11tVqiuMTwRx8D2fW+tM9p7f9kwkdUtfLGxuFirfWTbNnTAO/MIMuNiXf3yBmvLR0LH0Q3Cso4DpDLWHGMomhuOXrp0FDw2Q8h+6xeFGqHj8IUN21p2ajQtmriLeVANDprBWBBTU4gnEYh/d9ZxYNln9XPlcDWM93m6mvXIgwPs2Vne7O4DOjOh+sRV9lrHoYlaVOI4eDLhcrsjI3Fh6pX8vP3hesfs5rUnTx6TtsbBbH1Ko9JxYNnnkJ98QFLjUBcTObY/nPKcZ0+UuQqKJ0odXBcX1bOz/BaISdGoMSQfFedyu+xk1pRPgyPK0UblsrN+ywlPwMcwu+Y5R1Vubm5V4IkMyZFwNnNmSuvl2UcccRuqICK+zdEGqmYbq75H2ZRL1Vg4W50scS4mtuHqcreeKCO8RuVjsWvuKhfVs7OMsDGVLlrBudyuO+EzzKh8wFtIOE6j1nEk1CS8caBqUdSGLz//Mn5RDdEZJLwjpWhAx6GJ46eDD74zpJI+clgI4U1uPVHO3XUlrHZRPTvL6AMmfi+bOdi8y+2yk95AGCPmCQ/8tAo9vHwg99NnEwY+zXQcDtBxaFSAWQqjMdi5VVzMWWSWcO+JuhBmDq6Li+rZWUa4HLOmlFMHm3O5XXeiJtyJq7/+IAxZGYHwO7JqIyGwbderGw4eXLuL13Fo7PZuZGX0hSfaR30Jt82B2rFjIrrYf4RF6x2E0x+YC+lIWJSCa3gCyUz0qLldorl02IYd5DHAe6F3iTsxvMtudh8ijBM8mUz3/5VGKdDbjPj2ZPoDn5hMZpK6ZMtfH5iL76/TaIUtA+d9PPJRyA0lZ5n5Dc4UBSER+JY7uUGP7yXjTdLJcG4Ho+ihUL7Wi3OxBJO8gsH4aDfkl/iuaneuBPe8DRtLIWUUpWuWb+3iRFDk7rvBLOmzaQYoFq2A88nAfWEzn2Xm4VHkS8gOe+XvZmzwNMMP2xsZTncgu3nKtd4hlSO+8180k6XiE3frSnCPE0YzBGQ8k6MU3BBOf+D7aAR55KIVCLJSdaYkRhiGGefJPWyWIMMl5Xa++lqvVP0pYpxU3uR6Q8DrK8E9ThgZqBFPkDRKAYcs0FmC/q5pfBm5C8+iFZSfvdFk+u/XRylhDSbzaJYorchMZwlub8oOmCOtXOslcwS9Ssz5xN25EtybfQlvjk3w6zd0Ntl2D3rYwlsThAVh0QRhQVgQ9pU//O0XJHZ1SGRS8kcbPpBm85l0T+WkmZDeZzN6cU8loj38QQm9hi68UmSh8b4N2E0fHl82fDQGOPxBvG7SzAywarKSZVKS+m0mJS/b4zS7l2NAxsaQZZtnZDw9AwGELErQ9Yul6JmuHJ4x+imcDWxZU78i7I/MEsNZGjC+Ic59MtOayJHi3yZypPjVekWOFHHGIQiLJggLwoKwICwI9z/Cx/aO+8xNG7dXnJj4gPDb/zz82L0e2n1vI/o/d90m7C05x4FL49Kd0GKSJFQTB2piiZb6RiYewRfv4VbfZI37z3YVi/Yo4XH33dtBe6ldkj6bet9e9TYkI4fEqn7iPAdKOWAKorocKxD41By4l6AEnYKSHoWFF+O78R4j22mkrDyEaVLZO8mNWJTGv34wndRwprf7ZY0pfvdHEvnMyVl9SfilxzoCfBjQfnPqve+/6WTCtOyynmQ6Ude9lgtR4b+axAIPkkv1Upi8Da85+12sBqERJR4j25VAHm6I8k6SXMWitIsWGFPvTtlJULkUtInTovqS8Esd8b13/nmo9/Qm+hIee7PdHWEDqQnsnrBiT5L8V8q16Li/BcS4uFIt9ze6jWxXS3LpENpYqTwnsSjtciLMheGTnYz4zpBKf+RIQVPE/A4teByegZfI1qw0ku4E4nBkws6zhDNhUjIZgwgiz6okSlDAWjUFuEa2u50luHeSG7Eo2xeOzW9SBwWxWQJhv/PrknTzXEpeEH7+/cemTp0/f+rU910ni/dfImO+Ogzvpn6zLzsBXVeh+dhbIzOAY+9n/7fk8FQ6Qbx0TDWR9G3CveyM4+0/LfmnMiecny8Id4PwZ0t+//y4Dk8q9h6+1y3hDo8LSqfTsA5K2EpGiMgs9ZTsz8gH0kNRVgigpUGIcrFK9ad0OeDQH4SfJ9Pv1Pve3NveIWD3hIkHyYkvqd9JDyMsEZ/iaJJUfhCq+u840x+Jl5f0EL/6i7vR8tfRNFMXzerF8n6h3vSRjxaZzBAHq4Qqy/H0hKeRVP7kvyXj/XdzWQJ7jDC0xw4/73ru9ifZ13BHmDo/nHCN84okXnIopwCkqfz4ErZG6lpn44XR4TLT4TKq2XgwWxDn/x6ZTQPklaLBEG4s58ckjdiw/v67pR4njM+RP/N4uueJsKSSBiqE3aRFkdwXCSaESRVmyQNhg1lSEZaUitf6UqXwNRr6facJCL4en80U3Sd8732KGe/953y+09MsMWismjBTjvOJ+BRHk6KFkHmykAh3fSktJC6RaHp9qXqWoD0KYQONvKfh9jQJITZVdCYvEzbC6nQuS2BvIux8LtI5X6KLfmcvKWF7Kwkf/kqegd/3hrDw1pzbN6c6ncf9yRN7Qdg7wj93vnR537Eu2vDmPyy9eQcJgIUgQa7xb526yLqZGRkZy+QutD+Pn9Wbz+nGHXZC/HvqF3/V4Tw86dmQ0ZXDMzKgKugv/gfCKx/EMcXDaWlQ0rGUvCWlRPFGcjVRmSp6RBuixwEPksKicp1R6EdMoYvsb+ANtkv88Y6+QVh6e4mba+7yFTWPhH+w1IH+VsQCOAzYPXx38QsDdktkldxBXtBSoqR864DdpJqoM+GZUDmXFBZldUYxYRweywqOyruEj+9D1yX2LlFPCEvcTtEuhBEwWnsVWe+zlZNy/yCvYh3sLZQSxT/7ZTBd4GqiCmGI7Eb4/uOeF0hhUbnOKCFcOekH/4nXE8LKh/atKz9vP7/k8Hy5LSGXfX4/n2+Hu3OkI6VE2aSsriYK+SwcyhsPO+gdhUZ9c22tvb1dfiW8B/9cvRRNEO4PhB/PyICjv+LsCsK+beB4kVfE2cWeLPF0ZX+WuLeglHkRD9gtCHfFOfhqKanqTp1d7LFSF435sxJzY7Ha66RQe3WpwUnZAHoWgZxd4skST1f2Z8nKfqtY9GHAH3F2wWN18nSZG4tWO/oczGPdJXxEyJC84NO1WaJEVPTzzNeD2rCr8/CRkq13iObSOpAZijMOcU4nCIsmCAvCgrBot5hwSYqdVmyOjW1ubo5tbT4UHjWhIbEsquZqM2lRUJSj8IsUcYriDeEUVvIk4nLs1dbW6PiVGlvLqVM2m6ZlvS08+uoOBD063NaCx6RwG3pXEbujJgtqQF1AdEOe4mdVFdQG8XIQl018XBKwy4RTaA1bzfXWHXk7CgoWWudY5TZnfGbItJq8qwgx/RpSukmYVRN2T5gViCD8OqrvoKqzqMRx+bvAojeEJ1B0UQjwaYMutFar1e7bNz3gzIuhUFk4S6szPJUXG32IVgCbcERFmKuI/WFRKdPW3W00ZRshRBjqCsMCA8yqes3wmixcuB6xSNBpgZ6mXCHGVDLBm0A4BAqtIFWVRrJOVei5uhyDl+WSUlC5NObyJiloEx46aOxdwclNdIdsIHnna8JyRezoPL1Bp2V1sLOyWElshPh03o6albikjOea47T6sql02Gga6phNK2KX0gG4hxE2mkjItJuK2LIyDurJuCsvGORUBRAaCPW4siZYToa/sEFj5UDmf33wrTu/dSeWMtHV8jcXwa/xE+HrsQWNOh2PlpHW6RotNc0T3NYchyWsiJDWr5prMAG7eaP0puywIihjnc0GsR5iy2aJM35nwojOrClASLE/bLWyus7FhukI2YaJTBLbMDfTYAu+vKkJzLRaRZgb6EfCZWczQwyh2qQr266FUktGs0Tx0DPIhpfHXI11rTnOWlMHOdSaeiK/WicCK7oRpOA14ahDy88bHrmy2pIaELwgqRbxjRyfuGDhipjFAdr6i+HxhT1Zc7xPe2u4SGih1drQsHj5tKSkaUnb92yv21NXVxe558yNpBn5wZFpaakrGsIrrJ5sWBDuuO3cqSm0pq6emZcYcjHk+J/HTbdMN66ru1Rbe2a77vzpAsu+cfXTLSHWcyEFBROsNyM8a0q5RA/kUkcO2c2mu645XTcLuvckHsN9UGVhy93+JIwchMLxlhnX9sQYG5NWT0u15ORYrlxCs0TtmSur8/NzAtLShuoMOQEzhi5foFHVHHfrpmI/oAOXxyeEu+j1diDgo9KRjr4DX8wSdutFY0B+cFI91BBG/9VSdyKrFt4gl9jwSIwl4FqIVWXD+AA85H/pMRw5l+SA/aQs/sIeZnIT+FXIl8IVGcExKuf8VnAMaDd5UlxYNy5wRDIdRdTjaNfkw3FaCOrjqv1b8o9C3mGTYR4nfgIXhogfifqpnRHGRXBIURuP2iWv5uFT1ryYgNTMeh0hO+IZXS3Ua962jvoU9ZaA1BVnG5zmYVzBUvFD6Vrk2FdvUrmicPaQzBIeqHMY0CwbtDY8FFuWt3N1gWeREj1KSWbmBJOSPZxHq3aE3crLiJAMyjrBwggbietowBqnbJ8RXr/epilssBhXLK8fgIn+dkRk5DMj9tRtIyXHa3XGhXp9lNXmXOsWanUqfqhs2pfLVa4oTTeDbXgNV+uF+bikmz4p27lxgSOSucHky2E2rPZxnRxhvjoQrhkEp5JEfpdNFlYJCNvwK3N9b8PoXE1jO1W4fx+y3cFZWpgatKHwoAXG2rCc52bvKGxZv75n6zV7zF1Cj3Sd9XGRdbbfSl9CqcTcUnGuUbcOHeEi00JuoP9mrM7fvm5wsTZspvWj9bYertccFOExs0ZQRNdyJnVTwNedmuOaCxX7kwyhWegIl3X06FH0mDXYsC9zjrWCVRwWNce7V3Pc1nLBvtKaWR9aDJcjstYVh9Y/Nd660m63e6g5Th1J0MbCVRzyPE/tE8FVCzzDzRvFNPb98JwOnzfbdkaVhV+P2tgUNycmNScnMj9/cWLqHXEvx9bU1CR+1GJzqTkusep0cioHUpZLrnpGV/4GHCP9o3K5uf5HmJCLCjy2q+3dtVXxbVJ7ycXM86fPfS4dcXx+om3XrrZdRxwnKuxw9UJ1xmEwN0ESgi0fYttlZSz17EU66Xz4Y6ixaCZ+EtF6k0vD7AB+uxMO/whf+GkJPJkwefLk3KoDr54MLFu0qOyNwA3/mH0w/ukEXF/4iHRIg+8jhXO3MMCRhBqVvA2HFWUrJ1G0M2zLT3AVOq48IJfB4LYnHGhXV8Sueu29jU+/tuHlEwde+/TAe19+kktqjjvibFBz3B6obInL/xmU/CTMhpF1svwQtFNPnqEcq3HeqP5GWCqJx4TfZRWxExIm5+bmvrHobwf/0lbFamT/9BjUHLfFi5vN3sVLBMaFR81eK9ccr1p7cNcbG2cHJuTyNcfD4wIFXklEpAjCgrBognB/Iiw0oUIT2scJC02o0IT2OGGhCZW8ACQ0ob5rQhPqZ75CEyo0ocIfFk0QFoQFYUFYEO4fhIUm1M+Ee50mNOJJT0JFiG2N2OS6mTK6msWwudmDj9SMt4Em1FPDtQSdB3l6x63vadVtL9SElnPB7zScHXrHyCGWcvy7HDGsBMfL0fDlLDafK+QGOr2JT6Bxa8beOsK9TxMqSRKvMpCV4eoiNU7KTi44XhUNz4kQaeg2W2454d6jCVURpuHs1HQ3wVxB8LGod1rbkgbHf+Pr6mh4FoTfGwj3RU2op6h3v6alFprQXuetCU2ovwl7rwn1RX4S7+WaSg86rHLeIIsSVwYW4fJ3fCy+qlSg3wl7rwn1Kj9J5+stdizXZPH3pDSaMsiZMJF1hb0yl4vFh/4fPjyq/dbNEt5pQjubn0TtuHIyOHoC4p1c02CW6Esa9021iCrCejMrcQerlFh8XK/O23qAt1IT2sn8JC4OKh3PGW+X5ZrQQ18yZEYz1BHlCOMtZOEhF4tPitWZyIllEEl341fC3mpCO5mfhDqonASUt2Ev5ZrQw8wZWarejCcAmJpJAcBSeaaFsqGwWy4WX09LZpbeSm/NZ5pQ9/lJbolcs7MC+2766H1bE9oNaQf1FXqpPyw0of4l7K0m1MnxIpdm3bpsnV95u57TeacJdbk065FZX4XpO1/CO00ovQTrktaE5oLgruziq5ByShN65Zde6grqmrC+DxL2XhPqkpBEnc9EfWWX84O5NCnBEZ6TGtw2hL3XhLokJKHXajkbVvImcedyCmH+4u/tS9g/mlCP+Uz64TyM7di3mtCgvvfT9zdh0QRhQVgQFq1PEhaaUKEJ7eOEhSZUaEJvpyPd7akJFb6EICwIiyYIC8KCsGiCsCAsmiAsCN/OhLcKlazP25GtPOGv/U7k8fFxKyGAZcLIjLf+TmTt8VX73datjKtCWDT/NEFYEO7r7f8BfhP/H6DG2+MAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/HTMLicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8D5VZ0pBQlNPVlZbdllbd0tkcFdgcVhhcl1ldn5dT2ldc314WWJremNse3h9YhtdlTRsiQFzx0RsoGB0gmFyim12hmJ4oW98rg6J0ieY33qDk3SHpHOCtXaIu32HskGS30Sm93qPwn2VyHaz6Xe96JQbE59gOp14P6tZI75mI71uKpdeVpl3QLd2ScI7D9A7EeVUEoibf7uYRryXcv2AFPmCHOCFK+mLOvqPJ+qjL+WqOf2pPdOsT/KWSvGzSPC/TOeucvzDdIqQnJGRk4uOuIaRqoaXsYuRtpOWqZOapoSwvpyjtaihqqWrtq6yuq+zu7epp7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9bzAx63G4avB8K/D8K7Q+rHF8bXI8rfJ8rrJ9LrM873N87TR9LHS+bHT+rTU+rXV+rbV+7jX+7vY+r7a+r/b+sXIzc3KztDS2MLc+8Te+8zV/9nc4M3g98zi98jg+Mjg+8ng+8vh/Mzi/M/k/NXm9tDk/NTm/NTn/Njo/Nrq/d3r/OTm6eTq8uDu/eXw/ufx/erz/evz/ev0/ezz/ez1/e31/e31/u72/e72/u72/+/2/u/2//Dx8vf39/D2//H3/vH4/vH4//L4/vT5/vX6/vf6//f7//j7//v9//v+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj4AFmRGUiwzBgym1gpXEgmFy5bs16dEkWmhYcrilYpJHOrlixXpUB5UqEiBYk1mjbSgoVKFSpTphIlcoNiiqGNsVq1SmVqVChMlyrd+fBmI6lCVp6A4FDBRhVKeSRs2fhJyxIlTVxQSRJjEh4IWDZ26lHkSAcRI3YMYWQHrEIxnG4IgfFAwwYMRBrVccuqS6YaP4LIUJDBCI9BdPiyuCQFhw8aE4AgYRBIDt8VlhZReJFDx4wFcP7E4XtCUqRHUBw0KKHHD582fE1AcoTokKBAgPrsmcMmQhaFIdSkQXPGTBgwX7xEcXKBi0JCTCxEgEC9egQLTAixCggAOw==]]></data>
	</file>
	<file>
	  <filename>/images/ICOicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAJEAAH8Af/+IAP///wAAACH5BAEAAAAALAAAAAAgACAAwX8Af/+IAP///wAAAANsCLrc/tCFGeKaltEaN86b5XHXaIYaCVIZ8LUoNMJs5z3n2bxK7qsuoI0nExaJOGMSmYoNlb3billyHqEl0a+WXW6JyO8s1YpSyWVrshw8d2nuKFu942rd4zs2/9TH23tSen5YZoF0dXGIbGUJADs=]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPg0K]]></data>
	</file>
	<file>
	  <filename>/images/JPGicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8G80KGNDLlhBRFdgcVhhcl1ldmJremNse2Fyim12hmxpuG98rnqDk3OCtXaIu32HskGS30Sm93qPwn2VyHWl3nyn2nSo5naz6bI1E7c6MppbMqBiLLlgMbd9U8g7HNVCH9tJIupZKu5dLPdtNf91N/93OY99pbeDcLqIeuyDNeqHP/OMN/WLN9uQV8GQfdmTYNOfdNehf+CRXuaZVP+PRv+HVv+WSf+feP2qVP+sVf+1Wve+ZeTAfu3KfP/BYf/PdvbUevfbf4qQnIqBtouOuIuRtpCBr5OCrJ2MqJOapqaGlKqQm7WXk6yXrKWrtq6yuq+zu7G1vbS3v4edx4Gcz5OWwZWZxJacxpeeyZiSwoipzoOi1YSj1oOp1Iep3Iir3pGtzpmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9ZPE9pfH9pzJ9rzAx6DL9qTN9qvB8K/D8KXR/aXS/6nQ9q7S9qrU/7HF8bXI8rfJ8rrJ9LrM873N87HY/7ba/7vd/8Kcldm6huPEguXGgv/dmfrnhv/mgMXIzdDS2MzV/9Hb5tXf6Nnc4MHg/8Xi/8zm/9vi6t/m7NHo/dHo/9br/9zu/+Tm6eTp7uTq8uns8OLx/+7w8u32//Dx8vPz9Pb29vf39/T6//j4+Pr6+vn8//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjuANEIHJjGDBpRqhIqRAOrYcNXrtCEkIDF0qmEDB1CXLVhgwYLcEBhbPXQ1SpTkybNyTBFEkZWQVq48DEECalPnghNuIMx1Q8TL4AQcZREiBpDD7ZgRDVCgQgUKVawUNGlUIMsGEvxIFFiRo0iNmiQGXQ1YZlRO04suNFDyZIcZwSVVeUllCIZDGLoaHQEx4dAcztsugKDAhVGjyBZ8bBnLgdNY5pAiVJlkREpIPTMxVCJ0x8/efDYqUOHj5y5Fyh1yoTpUiJEhwD1ieNAS8IKb9y0YbNGTBgwX544icAlYSQmEBw0WM7cAQQmkRIGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/MP3icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEBAWxsbC99zzVxwUGU4GiY1Ge/+3Gw6Hmx5oSEhI+Pj76+vou654286JC+6YHG947S/pLA6pXC65fE7JnF7ZnG7pvH7pzH757J757J8KDL8aLO8qTQ86fS9KnU9avV9q7X967Y97DZ+LLb+bPb+bXd+rff+7rh/Lzj/bzl/7/m/8nJydXV1cLo/8bp/8nq/8zr/8/s/9Lu/9Xv/9jw/9nw/9vx/9zx/97y/9/z/+zs7OL0/+X1/+j2/+v3/+75//f39/L6//X7//j8/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAi7AJUo0SAjBowXLlisgGCDiMCHMpowWZIEyREjGSJUcPgwxsSKF4s4YNBg40MYFC0aKTIkyA8SE2w8fAFyZcsfPUYsqPGwhcoiCoL24BFi50MWIYco8KGAx44PRgWqWCkkiIIeCnbo6BBVSQqgQZsGzcGhK4qqPoZqzYFjQ9cTQNI61cH2BoauJuSuxXGDxoWuJdTS5UtjhoWuEkSA8NCBwwYMFyw86GqDwoLLmDFTkCmQiI0aoEOHbqgkIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PDFicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8B0dHSQkJD4+PnJydHNzdXV1eH9/gYEFB4sBA6sCBdsBBNcaHdsaHt08O+kBBe4BBPUBBPoBBP8BBf8FCf8HC/8MEP8NEv8TGP8WGv8bH/8iJf8oK/svM/8yNf83Ov84O/8+QN9PTtNSU9NlaedISOdJSulMTeNbW+1TU/9CRf9JTf9UV+JeYOFwceVxcep9fP9iZP9rbf91d/59gIGBhYiIjYqKjYyMjqmpqaqqqqiorKysrK2tra+vr7Gxsba2tre3t7KyuLu7u7y8vL29vb6+vr+/v7q6wLy8wr6+xtuEhti2ueWNj+aPkOianemqquqqq+q8vsDAwMHBwcXFxcbGxsfHx8PDy8jIyMvLy8zMzM3Nzc7OztDQ0NHR0dLS0tPT09TU1NXV1djY2NnZ2dra2tvb29zb29zc3N3d3d7e3t/f3+vT1ujb2+/a3ODg4OHh4eLi4uPi4+Tk5OXl5ebm5ufn5+/i5ejo6Onp6erq6uvr6+zs7O3t7e7u7uTt8Ont8e/w8vHx8fLy8vPz8/T09PX19fb29vf39/D///v7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjxACUJXIPESBGDRYocySOwoaQnYaZIibKEyI86RuAI7LGjBo0ZKlKcMGHBB6U6QjTyQEFCBAgPHDRgmNCA0skifXSUGBHiQ4cNGShIAPLAAYQgaSpIWMp0aYQ/Y7wwEdOkYZc1ZM7QYREnT5s0YNwksZqHzZxHK/gY8gPHjB4kVvu8MXTnApZHiPysAVTEKiA9kHIouqIlkqA3g/oK7GKIkB0YWbK8cCGDCiPFkro0chRjC55FkxJVaUEIc5dANqw4KgTIT543ZeaYvoGDUR89ctqgOXNADWYolSQdIvRnT+40X9QMaeiEwYLn0J8rYKAkIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PHPicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAgDAwkD8/n2BgoG9vr39/v5CQsL+/3/39/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAhwACcIHEiwoMGDCBMmfMDwAcIIDxosaEBRYoMHEQZGgNCAgMePHhtAyBiBogQJHSUQmEDgJMUIDha0XDmTpcoJCxx0bCmBAU+bPQlcTPnx5kyhDnWqJMBAZU+VDRwM1CkR5MSoBhlWvOhQodevYAsGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/PNGicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PPTicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8DZKZDdLZVYMD3YaFHwgGHij63ul6Hyk6YAkHIMoHoYrLYgsIY0xJZA0J5I1LZI2Lpk8LJE3MJE6M5E7NLA5L6JEM6RHNK9HOapMOK9QO7xPL7JTPZ1dSLBfRLdYQbhaQr1eRb9hSNlZK8BhSMNlS8NmS8drT8hrT8F0W8xxU8xxVNB3WNF3WNV8XNV9XPV7QtmAX9mBYNuDYu6CVPCSW/CRXPCdXfCcXuiPavCRZ/CWaPCWa/CXavCbZ/CZcfCgb/ClavCmdJOit5WkuZamu5movpyrwJCu1p243p6434Cn54Gn54Sr5oWs5oit5Yqu5Iyv5I+x45Gx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a290q6+1LDA1rHB17LC2LrF1PC2gfC9i/DFkvDJl/DNocfa+Mnb+crb+Mzd+M7e+dDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tjl+tnm+9rm+9rn+9zo+93p+9/q+/bWxv7n2+Hr++Ls++Hs/OLs/OTt/OXt/Ofv/Ojv/Ojw/enw/Onw/erx/e30/e/0/e/1/fzz7fz07/b29vb29/f39/P3/vT3/vP4/vT4/f/79//8+v/9+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj7ADkJZLNGTRo0Z8aICQNmk0AePHbcqEEDhosVKjpVgrJAEycepBCd4MDBxCFSKjxZatKmow5EITKFYsCBwiEUoC4xWcATxwlMokYxYHHkxIgoSM2UWWADQ44eQkgYWYIBxCdLkhaRUTCjQxw5b4YMSYJBA9IohqQoiHEiCBw3SIr8OGHBEqVGhb4oeAETiBIiPjwgmnBWUBcFLULK2JBBBiJSDiAxItRniwIVKUqI+KDhQgUJDc7myaJAIKcnkSZFeuQoEaE/e+5cKS3QiSJGaM8irVOFNqcmggYFAuSHDx47dOZE8M1Ez5QvXrhowWKFCoQHvhVo3859e0AAOw==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/facebook.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAFMAAAAUCAIAAAB+jZaDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABcpJREFUeNq0WE9IG00U39ls/qw1xiRGo41oMB5E91DoRhBES2gRPFlahGpDDyq9ePQiehJB2ouem0IPFVuEIOQiHkVsaQ/SYGNLIkIxEIImBBOS6Ga3hynT+WZmVy18cwizM2/e/N7feS9AVdVMJpPP52u1GgBA0zSO4+AE/+Q4Dq2jLUSAhqZpPM8TBHAFp4ETvXWaLQ4Jp8cRwi34ScAmKB0Oh8/nA79+/apUKi6Xy2QyoWPEGeIypqhoi4mbOYwpcfS4KuGiqqpMkHBOEOA0mqadn5/X19fzhULB7XbzPK+qKgKEgyOw0sjQZXDgptMTCbcMYXD8LtzFcE1BqRAfXDvoFNM74MTtdufzeR7ny91m4GpGuJnC4IvILQ3szKRHv3ocoJ0JPDhUnufRpFarCTg+gmO5XF5fX2dCfPz4scvlwvnixsG5ETwhOKbvEOIR8UnrkZYfP6WnVkQg8DyvxyiVSqVSKabkSOxr44JWv/HK1dVVpVKx2+20BxnLg8ed8RE4BMJW+MjlcnASCAS6u7vRuiiKNPHZ2dni4mJdXR1yvMHBwbGxMYMwoVd+/vwZiUQCgcDLly8JVFtbW/X19Q8fPkRSRaNRt9s9PDx8k6xE60swCLxkMgkn/f39kiQZh72maXa7/dWrV8yApzERvgd/E4lEKBQaGRnB0yfNDUYsnuFu4h0EAIF5GHk7PRdF8e7duzfMf4qirK2teTyeo6Ojzs5OWZZjsZjVap2cnPT5fG/evHE4HIlEQhTFycnJs7Ozz58/C4IgiqIkSe/fv89kMg6HIxwOt7a2app2cnKyvLxcLBYfPHiAjM9x3I8fPz5+/FitVjs6Op4/f26xWFZXV71e7/fv3xsaGqanp91uN8PmdHKixcbz3NDQEFNyAEC5XI5EIkiJIyMjXq/3+Pg4FAo9e/ZsZWVlf39/fn5+b2/v06dPT58+zefzgiAsLCwcHh6+fft2cXExmUw2NTUNDQ1tbGz09PTMzs4eHBzEYrGZmRkAQC6Xm5ubKxQKS0tLoVAIAd7c3AyHwz6fLxqNfv36dWBgIJVKybI8MTHx4cOH3d3dsbEx/D3/k+EhaJTn0Ein00xj0vr7mzMEIRgM3r9/X5blYDDocDjgNX19fYIgtLW13bt3z2w2e73ebDYLQfT39wuCIElSPp8vlUrIt+PxeLlc3t7ezmQyyWTy6upK07Te3l6LxdLU1NTY2FgoFCBxNpstFouJRGJnZ6dWqx0cHEAksixzHNfZ2VkqlYgy9I+340UfPk5PT9EDFgwGb/LCm81mSZLwQkJRFIvFIgh/brFarXhkAQDu3LkD4xZWkNAGiqJUq9Xm5maTyQQAGB8fVxSF53mYWXEZAADFYtFqtXo8Ho7jmpube3p6oOSiKNI54j/JQk8M5O2BQIC75aATDHrGibCKx+MAgOPjY5vNZrfbNU1TVdVsNvf29ppMJlmW29vb9/f3bTYbUd6gid/vVxSlq6tLlmVVVU9OTohSFy8ZcV2wX7V0Ol0ul2E+o59uvXFxcTE3N4e4+f3+mZkZtIsHFMJ0dHR0eHhYKpWmpqZwkR49ehSLxXZ3dy8vL0dHR4kHCGkBlrFPnjx59+4dx3G1Wu3FixdEhc8sYAEAIB6P+3w+4jH48uVLNBrlOE6SpImJidvanLCPXtvz+vXr8fFxj8fDLBA0TatWq9DaeOenV89UKhUmH7pjAQCk02me6aIoyKFS/sHb8QKbaS7kfqIo0u0wnMO8YKBBXCqbzWYgNvQ4fAK+ffvW3t7O/Q+DUDNR1cO07HQ6LRbLrYoQvVYXv45u/umXSzCbzf9w37XSXisMAKClpUUvLxq07rgemU0xXt4ZeYHT6czlcszMyWzF9ZzWoCYnumhmh2tQrt6w/zVu4/AjuVyusbERqKp6enqKCgO9XooZisyCHP1tQKdWPXxQ/r8RyCox6CxN96T0X2loC/bksF5wOp2tra2/BwB4KldEk/fJrAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/facebook_en.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAF4AAAAUCAIAAACLcx0zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABDJJREFUeNrkmLsvZVEUxu+9roREYdB4NR6V6ISCRENHI1FJlHSUlP4FpVaiIdHQUdIIBYnKUIhXInFzq6vB/Nw1WbOyX3OYxsys4mSfvdfZ+1vfeuyzd/719fXh4aFUKr28vOTz+be3t1wuJw37mquK9OiQKqjwWigUHAXpsTrSiPX701pIVt8ilCF5dWA7mv7kjjQ2NnZ0dOSvr6+fn5+bmppqamp0XmdSB02QCx3KsnaCAocpNdhSwxOPBkFK21GwOgI4Dezx8bGhoaFQLpebm5vRZi5FbNE7xvjQFY2IdX7MZutbJ2TsWjZILZVits5j6dOvgvHluzYoEEIaFezCuY+IdZQaFrTWdmrkJyIlqK/P2AwSKQ4eCxX3Z7QRTcpL0RrgfFmpVDY2NoIfT01NkYO+tTHQfjgEddJOclaJTRKbIWOaKxVFTTx/uu9VCX6svFi5urrS9req5L624HsSp62tLThaTGTg09OTNHp6enp7e7W/vr4+ONfa2lpXV5e07+/vR0ZGxsbGvjI1gNzb25ufnw8GTjGR/BcXF9IYGhrq7+/PspgugzdWV1eVmru7O57WP/SwMyqVOBCgra2tlvdSVUSHkLSRmBjy1xIdtmT7OSumK2kxsdvbbNI20Nvb27PEqra3trYEbl1dnXBHfAFOZltcXDw/P0cHXmBndnYWg/f39y8vL0Wnu7tb4hfz+JxnbIgP/bWWlpaEQSZfWFiAHSY/ODgQmlCLlZuilnQndiwvthiPjo4mqMFmjdWJiQkamA1N2E97fX2dV1FYXl4W1jASrMIIFu7s7Iiy6PDtysqKmM2QlrPgUKUqdq2+vj7a4+PjonNycjI8PAwv8IVXxAExW4r2D8IO3N7exvb8RLAAgicgSKWBgQHhCIhAEQWJc7wtr9PT05IC4lie4nPVkfySUc212JC/llAjOhIgNm3pj1HznlD2/9rKzc2N7tODg4MZC5uAIAQIH2ARtACiHk9OTkqG04PTJB20TAAUb+vz02XVXyuoQ43zs95PqOgvsyYU29NHIYIJiJubm7QhiDA+Pj7GnxRmuKCHtvQQ9thAD5nFEE/x8+fEX8vXkbAlldDhmfjzDG/eZJMwig+DvzCJkBGBGkKX7AAKQUSkMCHpo2EFLO0hwg8PD9lHyRRqgRzw/GltZ3AIl/hrqQ6jYuzc3Nzu7i7YWAuQwWx6l7OzM06Zzt/w0dHR9vY2DfbsmZmZ7IeGryx6Cvnt8RIdgqMQNE8LjbD2z0gWXn6dFU5PTzs7O/9wyb8oarKg/Rk1tbW12c9d/4+8//JRnPihpNY6V3n+SdTeDzm3R8FTmL09StyN6YoS6s4VVHC2mPMT1zFBMDGBEOr6u7VUlnK5HDsxxC5Dg8sofcEryFhgC7lCjU+Br2wvq/yZLWAdkisYXqWRpqalpYVN84cAAwBnN6BbOzumRQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/gplus.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAUCAYAAADskT9PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqlJREFUeNq8Vk1LKmEYPWOW0QdYG60Wha2Ctl0oJAgRN64S3IjWJrA/0eXeP9GmxQ1B3LTTduEmgjQCURA3kYKhYFn0ZfZ15zw0g4GTt+h64JnR952Z88x5zvu8o0BFOp1eVU/ravxAd5BSY3Nubu6PkkqlNoaGhn5NTExgYGCgK+x3d3col8u4ubn5aX55eVmfnJyEyWTC4+NjVxLo6+sDObPZ7Lr59fXVrigK1ETQLaicICe5qUBXyVuTIC8VwMPDA+XA9fU1isWi1EiD1WqFx+PB6Ojof0lCFIhEInC73VhYWIDZbEYikUA+n8fs7KyQ39/ff0ml3d1dlEolhMPhtvO6AoODg5iamtLffGlpSZTI5XJwOByw2+2fIm40Gjg4OBByjchIARMnuQKazaYMMJ6enjA9PS0X1Wo1fdwootHou/+xWAyVSgW9vb06UbsQbh4uLy/FB60TVIVgSTol8OZoPWZmZhAIBNDf398xAfHA8/MzCoWC1FzD7e0tLBaLlIAXtwO9Q+WIra0tWd/BYBDz8/PveorR/boHiKOjI/T09GB8fBzVahUnJydYXl4WBYxquLa2Jm+/vb2NlZUVIaJhtaQ6JaCvAt6cyWTENIeHh6KI3+/H8PDwh91RMy0fRMXaEXRSQDxAszidTni9XiEneG415kcRCoXajrcmYugB/iARg3LabDYpQTwex+LiIsbGxjouO3VTaTtOP/CZRvN6CU5PT3FxcSFy07mUnl1xb29PlOHG8RUYEb8zIQ9nZ2dCxO2YpiOSyaS05/39fYyMjEhS3w3xgCpD2eVySc2vrq5wfn4ualB+LictwX/xwmfire+UmcDm8fGxtM9Wc9TrdWkohPrB8q3k9BvLTm6FBDs7Oxtvn2T2Lu3GFX6S+Xy+338FGAAJF8SL8w1B7gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/info.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpi/P//PwO5gAWXBKPJLLip/8+kMWJTw8RAAaBIMyMlfqbIZhZ8AUVygIEU4lI8eEJ7iGrGSCTYogpXlFGUwgACDAAscBx3xB6/8gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/on_off.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABcAAAAYCAYAAAARfGZ1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABLdJREFUeNqMVV1MW3UUP/f29va2vW1pOzZqR7sVyhLKwOBkLzyYmAwIMTEGXhbfTRb1QX1ftviyJ2OMM4EHEh/MCA8mJiaauMosH9u0ylikHUI2KtgPaGlL6W3px/Wc/yi0DCcnOem9//+55/zO73yU++r2bSCpVCr6+fv3P1FV9T2r1XpGQMlkMhAOhyEUCsFxgrbA83zJYDAso+2Pe3t7n4uiGNFqtexe2LfrfLS4+MBkMslDQ0PgcrkAP4CdnR1YXV2FQCAAy8vLEIvFGhyTlstlLTr1YRBfoVC4pijKVbz+tubc9ufS0pzX65VHR0fB7XY3oOvt7QWfzwfj4+OAwUGv1zOn+9lCqVQCdMqApNNpCfWbbDbbh9ePBYz4MV5Y+vv7DxxzHNeAsLOzEwYHB2FychK6u7tZVnROzhE15HI5SKVSEI1GYWNjQ8LfG3j3jhCLx0c8Hg/04EdqtQq8RtOAnAJV0cmrPT2MHqSBBSDnVbQn5Pl8njlfX18HWZapDoORSEQUMIKjqakJqAjVY5yT0Dl9JEkSQ0oZ1nEOxWIRqPj7juldj9k0C3gQxxcT8UYBhP1K1wuhI07p1+l0Mu5rlFFgCkBUUZaURTKZJIpSvN1uv6NBtCsrK1BCVEUMUkc4KGhcRqfULZubm3C5r4+dk1JlNIhUREAGLLTFbAa7zUYaxCsFs+BvIZKdmdlZwCpDfncXMtvbkMPnTDoNBUWBra0t+C0YZHScbW2FIoGo0z0MXsa6UA9xGAypvT4wMMBaMYdc9mCKjyenpoyvYeu50AFxRzQ8W1uDPxYWgLIbHh5mHXHcMBE92wgqHo9fx6PvWTNMTEwwg/n5eQ0im0Te3sJXUafTsUJRB+GwNrTnUcekCCSIdbnp6+r6DgM0TCibCdQRegiHQjbsoMtonICXSN0wLXV0dChH7wXilKT74kX97NzcR0uhJ6Pb6bQnntiS8WPuOMR09vqlXvC2t2HnyGpBKezcC8wE/H7/NeQ6Qt1iNsmHu+Wufzrww0/TNkGUQKPVgWxtweJQz3MNlHg9LujxeWHwypu1HcRhhmbcQcPtbW3P1iKRL9Hsg4PdElxYnPHP/Go12Z2gM1hAlIwYQGIDxXE8C0Bi1Ivw9pVueMkO4sbGxt5H5ET6p2y33P3lodXc7Ea0DjA2nQbJiBOrMwAvaJnzGnKPvQz/t4Noq+K03sQd87Xw9z+xkaoWm7+lDSzN50C2ORh6oofX1LrkuZOz4qOT7iAO98xVQSmUW8ynXGB1tIP1jAcMiFyUTKAh1HyNFgBe3QNjSTjxDqqq0CUYZTmBXJvN9laQkXODyX7INyE+SF2FYrwIJ91BPMet805H8x2TxQ6SbEU6zCDo9DiNwnPEDW3IgaJznXgH4adTvCjwt7rclhTRwPMCRtQccXooecMFOMkOim6m76F5kO2WjleES/l49kGpmG2u8Op+f78oBZAhWmkF3EHwXzvo6UYqjKZv1I//079+9zvazrk+y1Y071ZV3lrfJfWSRk0i3YmfH4JZN4/F00G+gH8Wu5VkNl++gbC+OBj/I7vlQ9JsdMmGiM5zcDw9OdQEK7EKp5rk04lkZvqC9/wLu+VfAQYAUOGVdlqrCcAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/settings.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjRJREFUeNpskrFvEnEUx7+/o6PHZAfpH8AlKkLLdZLTA7caqYlJbS1RF3WzFY1Ll5oOpUZNm1gTW6c62JSYghHTJgVjFRIw3uJAsQsDdPaOsfZ8vx8HPaIv+fC43733e9/3Bdi2rRAlYo5QQRE4E1QajcZPehYUvxUXz54OyPSdM0qkeb1EtY8JmRgllrTzF9OU09nMB3RidvZJjFJp/d36EuU5QuH1ffSRIVSnTtYuaEo2k8Xa2ltUymWYloVmoyleRrSIiuOw+OQdoto9MU3Y9pHIlcp37FX36NmGfWTDNC1XL5ZZe8dzi+FwOCbLJ5DPF9qvbIgmd3i9XsSvxlHIf8bBQfMaSz54qGxvbae7FU6TOqxCVcNCdnYzC6tlgTGJYAR43mTczQztuDC/APO3KfoVxY+N9xvd+wqkZnoq2WmCrutIPkqC74x4/Ar8fn+3OHop2iNXj+qQJEZIgonJcfh8p9DnLmLtq2FZrZ5mi6TzprZkAsIqeBKJhDpx/cZArVYTO3k8Eur1OgKBAN3uE43Pn73A/q99MH4Bkct9IufNhuN2sESyZDFZKHAbIzmK4Ex1FIKlhOxbt2+WQ6FgjE+6e+ceWq3Wf5tGLo9gavo+ch9zONnfX+FuD9D5Vme/lderWF158+8kolj66rZih7s96T4xDIP2YggPDWH51UuknqbEnhIp2f2y6y6NSeiNivHDmJEYq46Nj2FwMARNi2BYVS3+pzg8/DPDze/8CH8FGABkVOJHgxsWhgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/twitter.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADcAAAAUCAIAAACmgTKJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABNtJREFUeNrMl0lInEsQx2dGTdy3GBfc0bhjiEbiirhcFBRF9BQIqAiCR4+eghePevCiKJqb4MGT0SDuC6ioCK6ICDGuuO/be7+x3ut8zKee7cM33dXV1f/+V1VXj/Hm5mZjY2NnZ8doNP7z2AwGA32DpskUHb4yxffh4cH42EQoClod6eutKX2Ra20qfWXNy8srKCjIuLKy8ubNm8DAQMOrbDAIj6bd3d1XC5EGNhCaDK++4X1rfu7u7ggyfRSqZjKZRMEiClVgWdjVyp/T0ce9PsRlit1N+vVKooJ6ZGSkq6uLDNPmkDbbsPMkROlo80nZ1GaV1qz2bPKFIDOXt7e3sivjsbGxuLg4Ozs7Zbq+vn5/f9/JySkzM/P+/l4MjY6ODgwMCDgRxsfH5+TkKGJoQoEFPYoXPW2/f/+2tbV9//69BfeoWZWVlZHt6tDT09Pt7e1//vxhgbu7e19fHxRaWVkdHx+vr68DRVZaW1tzJHt7+9nZ2cjIyJCQkPDwcBcXFzm6mJKOSLS8KgXlCvk2NjYC9OPHj0ouU9vb22aUPj4+irno6Oi5ubmtrS22Pzw83NvbQw4mCEOYlJR0dHTk6OgItVFRUQEBAb29vd++fUM+MTEhiK+vr2tra8lNNze3+fn5jo6OL1++/Pr1q6WlZWho6O3bt97e3hx7cXGxqanp58+fpHBERASazLIdu2OE86uzgdIkHgcEOcSXy6mkpAR2XV1dNzc32VLiF2SEwffv37lf0Uf54uKCWZZfXV1dXl46OzsTBliYmZmB/sHBQfp8AUQUdXd3FxUV5eXl/fjxY2FhgY0bGhoSEhJKS0vR7+zs5MBY8PDwyM7OZi9JaCywlzl4pIQo5mng8/f3Zw1OB5+ghM53796FhoYKMgk7bZgTzWBdXV2dmpqCSLgBPcOUlJSenh5CQjyA5eHhYdADCCF2YmNj8QNTDg4OePXTp08cTOt0czSzwf1jg/mHxwag/Px8gkxlrizAxRUVFenp6eqgNDGHRBTGx8ehqqqqCiG+Zj+EbIFbcDpRjrs/f/7MwrOzM9yNkLWpqanqpsOZ4lVl3xxyCgRHaW1t9fX19fPzwyMnJyeqXqONfxMTE4VIuT75SnarvE5OTm5ubgYHJReGJicnAYSmxDrhC539/f3kGe6C0dzc3A8fPpCvNjY2goFQOT8/B4m6IsS+ucdm2MK/X79+JWNwEOmsOGeWqeLiYmxJeoo+ze6x4SyRxMTEMCSTGKalpSHJysqiX1BQgCurq6srKyvxNZGArwsLC+vq6srLy9va2oSpjIwMqnZNTc3BwcHD/43lZha4scPCwhiIfwFELi8vL5PLDGEFaiEGRwhEoU3opO/p6cnBxEcMIYkOfOBr8hQPSDCInFQg3Ll9WQuvHPv09JT7DljMkv5IUGa5wsNeBLcZZXBwsKKX9SCTdBGJBIoWmf4Z9kIJ1tYYbIqpv0Xl8d7V1kmLhx/9tbU1a1Xf/osAk0lODzj9409Z15bEFxBrqwurtBBlFolcIxZJ/cRrQ9W95968ehASLhaABL3+4aIquwVVypQF5Srf/9qRW5oMeIEV/SvphUeQnglVu597TL0QNlRmUsXIVUz1XFpa0v9h0F7a2nfQkzGnDVkLZe2T7Mn/GC8cnmuLfxT/CjAA3XNRysZKvs8AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/TXTicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8GhoaGpsbHFxcX5/f3h4wHh4wX2BgZBrMYZpQoRubY15b5N9YqOEPJ2CXbyaTamQb9S/S4CAgI2NjY+QkJSUlJ+fn5uhobyqkaOjo6Gko6enp7GxsbS0tL60uru9vby/yrm207bKzrzAwLvN0LzM1L7N1L/N1b/O1b/K2L7Q0dvPtcHBwcPJyMvLy8HP1sHO2dTU1NbW1tfX19nZ2dra2tvb28TG4sjI4ufh1Onj1uvl2ODg4OHh4evn4ejo6Onp6evr6+n08uv18+z19Oz29PDw8PT09Pf39/H49/f7+vj4+Pz9/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAivAKMIHEhkiBAaR6AMFEgFg4YIFjRU0DDhwo4nC4M8eBAhBAUVGU5cEFFkoQMgEpZIcCJhigQrDHiYbLGkphMpU6rA3GESR80lN3PuNBljSYOjKIQy4DnQAYyfQXUuNTnD6NEGKKwMbfoCKk6pTAU6kGEVqdapTXN4VRo2igMXRlFE3Sp2RU0mTWywGNHBw4+FSVKAgLBAAYMNHD7UQLIQSo8SJEzUuKHDhxElCgUGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/XLSicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8DVJGjRNGTVNGDRSFzRTFzRYFTReEzReFDVeGjNpDzNtDjRtDjRjETRkEjZjGztoHjpvHjNwDTlwHjp3GTx3Hz57HjJoKDtxIjp9Jz99ITZKZDdLZWB+XEKAJUaELEeFLUKJNUeIO02MNk+OOUiSP1OTQFKXSFiYR1qaSVieUl6YVV+hU1uiWHCbbWGiVGGgWGWnW2eqX2SoYGmtYmqsZW2wZ3SlcHij63ul6Hyk6YephZC9i5ywm5Oit5WkuZamu5movqGzn5yrwJCu1p243p6434Cn54Gn54Sr5oWs5oit5Yqu5Iyv5I+x45Gx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a290q6+1JPCjpPEjZbEkZrGlrDA1rHB17LC2LrF1MDRwMzay8/dz8fa+Mnb+crb+Mzd+M7e+dbi1t/p39Dg+dLh+tLi+tPi+9bk+tbk+9fl+tjl+tnm+9rm+9rn+trn+9zo+93o+93p+9/q++Xs5eHr++Ls++Hs/OLs/OXt/Ofv/Ojv/Ojw/enw/erx/e30/e/0/e/1/fb29vb29/f39/P3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjxADEJZLNGTRkyY7546cLlksAfPXTUkPGCRYoTHzJNYlLCEqYfnUKKDLlBEyUkbTr+MMMDRqc3NGgYocCp0pESOHcgOuNDBZAcK+xMaEJUTJgSODrBSWNDBAg3nSxsotRkERgSMToVmYHGRogbdyIQbXLICYkWRTxowFDERYYlDyhJamJoCwkUI4lwkGCiwdhAWUiMGDmSwSNGhPhcIdFhQ4UJFyA8cLBAAaNCTfJUISEQkxJIkSA5apSoiZ8mdaZwFphE0dgmgsbOibIaE5JAgwD96bMHDx05cYbUPqLnyRYtWKxQkQJFSJDaJKJLny49IAA7]]></data>
	</file>
	<file>
	  <filename>/images/XMLicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAAAAAgAAAmQAA/zNmmTNm/zOZAACAgDOZ/zPM/zP//4aGhqbK8MDAwPHx8ff39////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAiDACsIHEhQYIaDGSpoWMiw4YEKCBU2XIhBA4YDGiAmpGixY0UAIAFsxJCgogEDDyyW1CBSYQIGGgxooCCBgAYGJVu+tGiAwgQIBCribKlh5wMJEBrYxImBKMmKBKKq/LjRo9WKTUc62MqVK1WJWK9adNq17FeOYdM6FRtWZMi3cENmCAgAOw==]]></data>
	</file>
	<file>
	  <filename>/images/xml_rss.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhJAAOAOYAAP/////9+f/9+v/68f/58P/45P/24//z3v7x2/7v2v7pvP7os/7muf7nqP7ktf7lr/7jo/7iq/7jmf7frv7gnv7cq/7fiv7cmf7YlP3be/3eZP3bYP3Vm/3aX/7Uj/3VfP3WWv3Qiv3Rgv3VWf3UWP3SXPzQY/3Mhf3PUPzLU/zKW/3FafzHRvzDU/zESv3DXfzAYvzAPPy8S/68N/64Mvy2Qvy4M/6xKfywOvywKfypMfuoJvypH/yjKfukHPuhFfucE/uaE/uZC/+WBf+VBPuVCf2TAvuRAPuSAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAEkALAAAAAAkAA4AAAf/gDdEREOFhoeIiYqHgjMbGpCRkpOUlZAdNIMkIJydnp+goZ+DKKWlDQWlGQUlpQUSphasKLKmtqWDLLq6KQALLAIGuwAAuwICJiwQxbvNLIMx0dIPAAoALtLEHzEqxCoxFADS49GDNufoNsQR6QABAzYMxC02FwDp+IM5+/w5BwAi+gHAAOAFAAcAZOQg2K/hIB4QI64AQABARB4AalQMUCMjDw8WL14c9KOkSQAIfACYcBIHDAAhcADA8SPETBw4dpgsOUiIT58VAAARwgGADp9GhQAQoiPpCWLEEvz0OQiJVas9glztUQSr1a5IenztQTbrVauDiBxZy7at27dwDd0SMZK2rt27ePPODQQAOw==]]></data>
	</file>
	<file>
	  <filename>/images/ZIPicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8ARLsBJPqRZQpyFbrSNfsChltixquydpxzt6xDqA0DmF1ziZ80OK10mH0U6P2FqU2FuZ11Oa4lOa5F2l61am9Fyr9nGc02Go62as7W2h4G6x7mGz/2i3/3Sk4HCv7nKx5nWx5HW38Ha38He09HK7/3u88Xi+/6lsDKpsDKtzHLN7DrJ9DrF6IvEZAbeDJ86gDc6gD8+hDtKgB9SjCNWlC9GlE9WmENWmFtSnG9OpHtSpHt61AdSpINSqIdiuKNm3Kdq0Ktm/Ktm8L9m/LNm3Mdu5M9q6Nd6+O/bNLPzUMf7TOP3VOf3ZR/3aUfzZWPvdZPzebfvedPPkbfzifYKx35Cz3pC235S335a535i534HA8oTD84jD84nJ94vK+ZjC9ZvP9a3b+bTP9rzl++PMgvfvgvzkhfrjj/vnl//4hvr1kPr1kfr2k//6kP/7mv79mfroofrprfrrs//9pP//r/vwvf//ucjY9sfs/fjuyvvzzv//xPn25ff39/T//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjRAA8JHFiGzIsVJESEGOhmh0M3IRAJarNGjRkWFwTmuMFxR4SPICd80KDgkA4lSZY0YeLkCZQoNA55UVHySJ5CgPz0wXNnDpcah8CUKUnEjqFBe+JswUKlCFAxaEoOqUOIj5wuWaxMcXoIqlSqVrFq5Rom6iEjdP7ogaPlShUpXMecKfnjDRIhQYD46MGD65cUJXHYkBFjBkiQIFB0KDlQYEQTJVzAgNFBQuPGISA8cOCgAePLoEMsBN14w4kRGTBYoLCA9CEOgdikaeGhAoNDAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMNCjxGaWxlcyB+ICJcLihwaHB8cGhwM3xwaHA0fHBocDV8cGh0bWx8cGx8Y2dpKSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjwvRmlsZXM+ICANCg==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyAwLTkNCiRsYW5nWyc0MDQnXSA9ICc0MDQgRXJyb3JzJzsNCg0KIyBBDQokbGFuZ1snYWRkZmlsZXMnXSA9ICdBZGQgRmlsZXMnOw0KJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOw0KJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPyc7DQokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsNCiRsYW5nWydhbHRlcm5hdGl2ZV91cmwnXSA9ICdJZiB5b3Ugd2FudCB0byByZWRpcmVjdCB0byBhbiBleHRlcm5hbCBVUkwgb3IgYW4gaW1hZ2UsIHVzZSB0aGUgZm9sbG93aW5nIGlucHV0IGZpZWxkIHRvIHNwZWNpZnkgYSBmcmVlIFVSTC4gVGhlIFRhcmdldCBQYWdlIGZyb20gdGhlIHVwcGVyIGZpZWxkIHdpbGwgYmUgaWdub3JlZCBpbiB0aGlzIGNhc2UuJzsNCiRsYW5nWydhbHdheXMnXSA9ICdBbHdheXMnOw0KJGxhbmdbJ2F1dG9saWdodGJveCddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1snYXV0b2xpZ2h0Ym94X3VzZSddID0gJ1VzZSBBdXRvTGlnaHRCb3gnOw0KJGxhbmdbJ2F1dG9saWdodGJveF9kZXNjcmlwdGlvbiddID0gJzxwPk1pdCBkZXIgQXV0b0xpZ2h0Qm94IHdlcmRlbiBkaWUgQmlsZGVyIGlocmVyIFdlYnNlaXRlIGltbWVyIGluIGRlciBrb3JyZWt0ZW4gR3LDtnNzZSBnZXNwZWljaGVydC4gSXN0IGRhcyBlaW5nZWbDvGd0ZSBCaWxkIGdyw7Zzc2VyIGFscyBkYXMgT3JpZ2luYWxiaWxkLCBzbyBlcnN0ZWxsdCBBdXRvTGlnaHRCb3ggYXV0b21hdGlzY2ggZWluZSBLb3BpZSB1bmQgZXJzdGVsbHQgZWluZSBWZXJrbsO8cGZ1bmcgenVtIE9yaWdpbmFsYmlsZC4gTWl0IGFrdGl2aWVydGVyIExpZ2h0Ym94IEZ1bmt0aW9uIHdpcmQgZGFzIE9yaWdpbmFsYmlsZCBiZWltIEtsaWNrIGF1ZiBkYXMgdmVya2xlaW5lcnRlIEJpbGQgaW4gZWluZXIgTGlnaHRib3ggZ2XDtmZmbmV0LjwvcD4nOw0KJGxhbmdbJ2F1dG9saWdodGJveF90aXRsZSddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF9yZWwnXSA9ICdJbmhhbHQgZGVyICJyZWwiLUF0dHJpYnV0cyBkZXMgQmlsZC1MaW5rcyAoa2FubiBsZWVyIHNlaW4pJzsNCiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2NsYXNzJ10gPSAnSW5oYWx0IGRlciAiY2xhc3MiLUF0dHJpYnV0cyBkZXMgQmlsZC1MaW5rcyAoa2FubiBsZWVyIHNlaW4pJzsNCiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X3VybHR5cGUnXSA9ICdVUkwgdHlwZSc7DQokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF9saWdodGJveCddID0gJ0xpZ2h0Ym94ZWluYmluZHVuZyBkZXIgQmlsZGVyIGR1cmNoIEF1dG9MaWdodEJveCBzdGV1ZXJuIChkYXMgbm90d2VuZGlnZSBTdHlsZXNoZWV0IHVuZCBKYXZhU2NyaXB0IHdpcmQgYXV0b21hdGlzY2ggZWluZ2VidW5kZW4pJzsNCiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2pxdWVyeSddID0gJ0VtYmVkIGpRdWVyeSc7DQokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF90ZW1wbGF0ZWNzcyddID0gJ1N0eWxlc2hlZXQnOw0KJGxhbmdbJ2F1dG9saWdodGJveF9wcm9tcHRfdGVtcGxhdGVqcyddID0gJ0phdmFTY3JpcHQnOw0KDQojIEINCiRsYW5nWydiYWNrdXByZWNvdmVyeSddID0gJ0JhY2t1cCAvIFJlY292ZXJ5JzsNCg0KDQojIEMNCiRsYW5nWydjYWNoZSddID0gJ0NhY2hlJzsNCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOw0KJGxhbmdbJ2NzdiddID0gJ0NTViBMaXN0SXQnOw0KJGxhbmdbJ2NzdmZpbGVzJ10gPSAnRmlsZXMnOw0KJGxhbmdbJ2Nzdl9kZXNjcmlwdGlvbiddID0gJ01pdCBDU1YgTGlzdEl0IGvDtm5uZW4gSW5oYWx0ZSB2b24gQ1NWIERhdGVpZW4gZWluZmFjaCBkYXJnZXN0ZWxsdCB1bmQgZHVyY2hzdWNodCB3ZXJkZW4nOw0KJGxhbmdbJ2Nzdl91c2UnXSA9ICdVc2UgQ1NWIExpc3RJdCc7DQokbGFuZ1snY2hhbmdlbG9nJ10gPSA8PDxFT1QNCjx1bD4NCjxsaT4xLjIuNSAtIDEwLjA4LjIwMTI8YnIgLz4NClR3aXR0ZXJmZWVkIGhpbnp1Z2Vmw7xndDxiciAvPg0KU21hcnR5IGthbm4gbnVuIGluIFN0eWxlc2hlZXRzIHVuZCBKYXZhc2NyaXB0cyBnZW51dHp0IHdlcmRlbjogei5CLiBbW3Jvb3RfdXJsXV08YnIgLz4gDQpGZWhsZXJiZWhlYnVuZyBBdXRvTGlnaHRCb3g8YnIgLz4NCklua29tcGF0aWJpbGl0w6R0IHp3aXNjaGVuIEF1dG9MaWdodEJveCB1bmQgU29jaWFsU2hhcmVQcml2YWN5IGJlaG9iZW48YnIgLz4NCkphdmFzY3JpcHQga2FubiBudW4gYXVjaCBpbSBGb290ZXIgZWluZ2VsZXNlbiB3ZXJkZW48YnIgLz4NCkRhcnN0ZWxsdW5nIHVuZCBHcnVwcGllcnVuZyBkZXIgRWluc3RlbGx1bmdlbiDDvGJlcmFyYmVpdGV0IA0KPC9saT4NCjxsaT4xLjIuNCAtIDIwLjA3LjIwMTI8YnIgLz4NCkFkZCBBdXRvTGlnaHRCb3ggdGVtcGxhdGUgbWFuYWdlbWVudCANCjwvbGk+DQo8bGk+MS4yLjMgLSAyNi4wNi4yMDEyPGJyIC8+DQpCdWdmaXhlcyBpbiBBdXRvTGlnaHRCb3gNCjwvbGk+DQo8bGk+MS4yLjI8YnIgLz4NCk1pbm9yIEJ1Z2ZpeGVzDQo8L2xpPg0KPGxpPjEuMi4xPGJyIC8+DQpNaW5vciBCdWdmaXhlczwvbGk+DQoNCjxsaT4xLjIuMDxiciAvPg0KQWRkZWQgQXV0b0xpZ2h0Qm94PGJyIC8+DQpBZGRlZCB0ZW1wbGF0ZSBpbXBvcnQNCjwvbGk+DQoNCjxsaT4xLjEuMTxiciAvPg0KbWlub3IgYnVnZml4ZXM8YnIgLz4NCnVwZGF0ZSBTb2NpYWxTaGFyZVByaXZhY3kgMS40DQo8L2xpPg0KDQo8bGk+MS4xLjA8YnIgLz4NCkFkZGVkIFNtYXJ0eSBwbHVnaW4gXCR0YnRvb2xzLiBUaGlzIGVuYWJsZXMgeW91IHRvIHVzZSBkaWZmZXJlbnQgZnVuY3Rpb25zIHRvIG1vZGlmeSBjb250ZW50LjxiciAvPg0KQWRkZWQgZGlmZmVyZW50IHBsdWdpbnMuPGJyIC8+DQpBZGRlZCBwbHVnaW4gdG8gZXh0ZW5kIEFkdmFuY2VkQ29udGVudDxiciAvPg0KQWRkZWQgcGx1Z2luIHRvIHNob3cgU29jaWFsU2hhcmVQcml2YWN5IEJ1dHRvbnM8YnIgLz4NCkFkZGVkIGEgVGFpbC1Mb2cgVGFiPGJyIC8+DQpNb2R1bGUgaGVscCBpcyBub3cgbXVjaCBiaWdnZXIgOik8YnIgLz4NClRvb2xCb3ggY2FsbCBpcyBub3cgcG9zc2libGUgd2l0aCB7VG9vbEJveH0NCjwvbGk+DQoNCjxsaT4xLjAuMSAtIGRlY2VtYmVyIDIwMTE8L2xpPg0KPHA+QnVnZml4ZXM8L3A+PC9saT4NCjxsaT4xLjAgLSBkZWNlbWJlciAyMDExDQo8cD5Jbml0aWFsIFJlbGVhc2Ugb2YgbW9kdWwgVG9vbEJveDwvcD48L2xpPg0KPC91bD4NCkVPVDsNCg0KJGxhbmdbJ2NyZWF0ZWQnXSA9ICdGaXJzdCB0aW1lJzsNCiRsYW5nWydjb3B5J10gPSAnQ29weSc7DQoNCiMgRA0KJGxhbmdbJ2RheSddID0gJ0RheSc7DQokbGFuZ1snZGF5cyddID0gJ0RheXMnOw0KJGxhbmdbJ2RlYnVnJ10gPSAnRGVidWcnOw0KJGxhbmdbJ2RlYnVnX2xvZyddID0gJ0RlYnVnIExvZyc7DQokbGFuZ1snZGVidWdfdXNlJ10gPSAnVXNlIERlYnVnIFRhYic7DQokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsNCiRsYW5nWydkZWxldGVhbGwnXSA9ICdEZWxldGUgYWxsJzsNCiRsYW5nWydkbyddID0gJ0FjdGlvbic7DQokbGFuZ1snZG9udF91c2VfZXZlbnRfaGFuZGxlciddID0gJ0RvblwndCB1c2UgRXZlbnQgSGFuZGxlcic7DQokbGFuZ1snZG9udF91c2VfZXZlbnRfaGFuZGxlcl9oZWxwJ10gPSAnV2l0aG91dCB1c2luZyB0aGUgZXZlbnQgaGFuZGxlciwgeW91IG5lZWQgdG8gaW5zZXJ0IHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1Rvb2xCb3hcJ30gYXQgdGhlIGJvdHRvbSBvZiB5b3VyIHBhZ2UgdGVtcGxhdGVzLi4uJzsNCiRsYW5nWydkb25hdGUnXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodCI+PGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNtZCIgdmFsdWU9Il9zLXhjbGljayI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IjlCUUFMOVhUNDVGR04iPjxpbnB1dCB0eXBlPSJpbWFnZSIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9XRUJTQ1ItNjQwLTIwMTEwMzA2LTEvZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9TTS5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL1dFQlNDUi02NDAtMjAxMTAzMDYtMS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvZm9ybT48L2Rpdj4nOw0KJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsNCiRsYW5nWydkZXNrdG9wdHBsJ10gPSAnRGVza3RvcCB0ZW1wbGF0ZSc7DQoNCiMgRQ0KJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsNCiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWlzc2lvbiBEZW5pZWQnOw0KJGxhbmdbJ2Vycm9yaW5zZXJ0aW5nZG9tYWluJ10gPSAnRXJyb3Igd2l0aCBkb21haW4gcHJvY2Vzc2luZyc7DQokbGFuZ1snZXJyb3JsaXN0J10gPSAnRXJyb3IgbGlzdGluZyc7DQokbGFuZ1snZXJyb3JfdGVtcGxhdGVleGlzdHMnXSA9ICdUaGUgbW9kdWxlIHRlbXBsYXRlIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3Qgb3ZlcndyaXR0ZW4uJzsNCiRsYW5nWydlcnJvcl90ZW1wbGF0ZXVua25vd24nXSA9ICdVbmtub3duIG1vZHVsZSB0ZW1wbGF0ZSBbdGVtcGxhdGVdJzsNCiRsYW5nWydlcnJvcl9kaXJlY3Rvcnlub3R3cml0YWJsZSddID0gJ0RpcmVjdG9yeSBub3Qgd3JpdGFibGUuJzsNCiRsYW5nWydlcnJvcl9pbmNvbXBsZXRleG1sJ10gPSAnSW5jb21wbGV0ZSB4bWwuJzsNCiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyJ10gPSAnQ2Fubm90IGNyZWF0ZSBkaXJlY3RvcnknOw0KJGxhbmdbJ2Vycm9yX2NhbnRjcmVhdGVmaWxlJ10gPSAnQ2Fubm90IGNyZWF0ZSBmaWxlJzsNCiRsYW5nWydlcnJvcl9maWxlbm90ZXhpc3QnXSA9ICdGaWxlICJbZmlsZV0iIG5vdCBleGlzdCc7DQokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ1RoZXJlIGFyZSBubyBmaWxlcyc7DQokbGFuZ1snZXJyb3JfY291bGRub3RwYXJzZXhtbCddID0gJ0Vycm9yIHBhcnNpbmcgWE1MIGZpbGUuIFBsZWFzZSBtYWtlIHN1cmUgeW91IGFyZSB1cGxvYWRpbmcgYSAueG1sIGZpbGUgYW5kIG5vdCBhIC50YXIuZ3ogb3IgemlwIGZpbGUuJzsNCiRsYW5nWydlcnJvcl9jb3VsZG5vdHJlYWR0cGxwcm9wcyddID0gJ0NvdWxkIG5vdCBsb2FkIHRlbXBsYXRlIHByb3BzLic7DQokbGFuZ1snZXJyb3JfY291bGRub3R3cml0ZXRwbHByb3BzJ10gPSAnQ291bGQgbm90IHNhdmUgdGVtcGxhdGUgcHJvcHMnOw0KJGxhbmdbJ2Vycm9yX3RlbXBsYXRlZmlsZW5vdGZvdW5kJ10gPSAndGVtcGxhdGUgZmlsZSBub3QgZm91bmQnOw0KJGxhbmdbJ2Vycm9yX3Vua25vd25wYXJhbSddID0gJ1Vua25vd24gcGFyYW1ldGVyJzsNCiRsYW5nWydlcnJvcl9jdXJsJ10gPSAnQ3VybCBtdXN0IGJlIGVuYWJsZWQnOw0KJGxhbmdbJ2Vycm9yX25vdGVtcGxhdGVzJ10gPSAnVGhlcmUgYXJlIG5vIHRlbXBsYXRlcyc7DQokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOw0KJGxhbmdbJ2V4cG9ydF90ZW1wbGF0ZSddID0gJ0V4cG9ydCB0ZW1wbGF0ZSc7DQoNCg0KIyBGDQokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVG9vbEJveCc7DQokbGFuZ1snZnJvbXVybCddID0gJ1JlZmVyZXIgVVJMJzsNCg0KIyBHDQokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWwnOw0KDQojIEgNCiRsYW5nWydoZWxwJ10gPSA8PDxFT1QNCg0KPGRpdiBpZD0icGFnZV90YWJzIj4gICAgIA0KICA8ZGl2IGlkPSJnZW5lcmFsIj4NCiAgICBHZW5lcmFsIEluZm8NCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0icmVkaXJlY3QiPg0KICAgIFJlZGlyZWN0cyAvIEVycm9yIFRyYWNraW5nDQogIDwvZGl2PiANCiAgPGRpdiBpZD0iYXV0b2xpZ2h0Ym94Ij4NCiAgICBBdXRvTGlnaHRCb3ggIA0KICA8L2Rpdj4gICANCiAgPGRpdiBpZD0ic29jaWFsc2hhcmVwcml2YWN5Ij4NCiAgICBTb2NpYWxTaGFyZVByaXZhY3kgICANCiAgPC9kaXY+ICAgDQogIDxkaXYgaWQ9InR3aXR0ZXJmZWVkIj4NCiAgICBUd2l0dGVyZmVlZCAgIA0KICA8L2Rpdj4gICANCiAgPGRpdiBpZD0idGFpbCI+DQogICAgdGFpbCAgDQogIDwvZGl2PiAgICAgICANCiAgPGRpdiBpZD0ic21hcnR5dG9vbHMiPg0KICAgIFNtYXJ0eSBUb29scyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJtb2JpbGVkZXRlY3QiPg0KICBNb2JpbGUgRGV0ZWN0DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJwbHVnaW5zIj4NCiAgICBQbHVnaW5zICAgDQogIDwvZGl2PiAgICAgDQo8L2Rpdj4gICANCjxkaXYgY2xhc3M9ImNsZWFyYiI+ICANCg0KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gIA0KICA8ZGl2IGlkPSJnZW5lcmFsX2MiPg0KDQoNCjxoMz5XaGF0IERvZXMgSXQgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyB3aGljaCBtYXkgYmUgdXNlZnVsIGZvciB3ZWJtYXN0ZXJzLiBDdXJyZW50IGZ1bmN0aW9uczo8L3A+DQo8dWw+DQoJPGxpPjMwMS1SZWRpcmVjdHMgKGUuZy4gb2YgZGVsZXRlZCBwYWdlcykgaW5jbHVzaW5nIHRoZSBwb3NzaWJpbGl0eSB0byBzZXQgcnVsZXMgdXNpbmcgcmVndWxhciBleHByZXNzaW9ucy48L2xpPg0KCTxsaT40MDQtRXJyb3ItVHJhY2tpbmcgKGFsc28gZm9yIGltYWdlcywgUERGLWZpbGVzLCBldGMuKSAtIGluY2x1c2l2ZSBpZ25vcmUtZmlsdGVyIGFuZCBsaW5raW5nIHRvIHRoZSAzMDEtZnVuY3Rpb25hbGl0eS48L2xpPg0KCTxsaT5Tb2NpYWxTaGFyZVByaXZhY3kgLSBGdW5jdGlvbmFsaXR5IHRvIGluc2VydCAyLUNsaWNrIFNvY2lhbC1NZWRpYSBCdXR0b25zLCB0byBoYXZlIGEgYmV0dGVyIHByaXZhY3kgZm9yIHRoZSB3ZWJzaXRlIHZpc2l0b3JzLjwvbGk+DQoJPGxpPlNtYXJ0eSAtIFNvbWUgY29udGVudCBmdW5jdGlvbnM8L2xpPg0KCTxsaT5TbWFydHkgLSBTb21lIHBsdWdpbnM8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIE1hZGUgc2ltcGxlIHdlYnNpdGU6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5kZTwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgRm9ydW06IDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OTwvYT48L2xpPg0KPGxpPlRoZSBhdXRob3IsIEx1a2FzIEJsYXR0ZXIsIGNhbiBiZSByZWFjaGVkIHVzaW5nIGhpcyB3ZWJzaXRlOiA8YSBocmVmPSJodHRwOi8vd3d3LmJsYXR0ZXJ0ZWNoLmNoIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5ibGF0dGVydGVjaC5jaDwvYT48L2xpPg0KPGxpPlRoZSBhdXRob3IsIEFuZGkgUGV0em9sZHQsIGNhbiBiZSByZWFjaGVkIHVzaW5nIGhpcyB3ZWJzaXRlOiA8YSBocmVmPSJodHRwOi8vYW5kaW1pbmlzdHJhdG9yLmRlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2FuZGltaW5pc3RyYXRvci5kZTwvYT48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+DQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8cD5Db3B5cmlnaHQgwqkgMjAxMSwgTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2ggYW5kIEFuZGkgUGV0em9sZHQgPGFuZGlAcGV0em9sZHQubmV0Pi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0icmVkaXJlY3RfYyI+DQoNCjxoMz5Ib3cgY2FuIEkgdXNlIDMwMS1Gb3J3YXJkaW5nIG9mIHBhZ2VzIG9yIDQwNC1FcnJvci1UcmFja2luZz88L2gzPg0KPHA+PHN0cm9uZz4xLiBDb25maWd1cmUgdGhlIG1vZHVsZTwvc3Ryb25nPjwvcD4NCjxwPlRoZSBtb2R1bGUgaXMgYWxyZWFkeSBhY3RpdmUgdGhyb3VnaCB0aGUgQ01TbXMtaW50ZWdyYXRlZCBldmVudCBtYW5hZ2VtZW50LjwvcD4NCjxwPkJ1dCB5b3UgY2FuIGRlYWN0aXZhdGUgdGhlIG1vZHVsZSBjYWxsaW5nIHRocm91Z2ggZXZlbnQgbWFuYWdlbWVudCBpbiB0aGUgc2V0dGluZ3Mgb2YgdGhlIG1vZHVsZS4gSWYgeW91IHVzZSB0aGlzIG9wdGlvbiwgeW91IG5lZWQgdG8gaW5jbHVkZSB0aGUgbW9kdWxlIGNhbGxpbmcgYXQgdGhlIGJlZ2lubmluZyBvZiB5b3VyIHBhZ2UtdGVtcGxhdGUocyk6PGJyIC8+PGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPSdUb29sQm94J308L2NvZGU+PGJyIC8+DQpUaGUgYmVzdCBwbGFjZSB0byBpbmNsdWRlIGl0IGlzIHJpZ2h0IGFmdGVyIHtwcm9jZXNzX3BhZ2VkYXRhfS48L3A+DQo8cD5Ob3cgeW91IGNhbiBhY3RpdmF0ZSB0aGUgZnVuY3Rpb25zIHlvdSB3YW50IHRvIHVzZSB3aXRoaW4gdGhlIG1vZHVsZSBzZXR0aW5ncy48L3A+DQo8cD48c3Ryb25nPjIuIENvbmZpZ3VyZSB0aGUgZGlmZmVyZW50IFRvb2xCb3ggZnVuY3Rpb25zPC9zdHJvbmc+PC9wPg0KPHA+VXAgdG8gbm93LCB0aGUgbW9kdWxlIGlzbid0IGRvaW5nIGFueXRoaW5nLiBZb3UgbmVlZCB0byBjb25maWd1cmUgdGhlIHNldHRpbmdzL3J1bGVzIG9mIHRoZSBkaWZmZXJlbnQgVG9vbEJveCBmdW5jdGlvbnMuPC9wPg0KDQoNCjwvZGl2Pg0KPGRpdiBpZD0iYXV0b2xpZ2h0Ym94X2MiPg0KCTxoMz5XaWUgYmVudXR6ZSBpY2ggQXV0b0xpZ2h0Qm94PzwvaDM+DQoJPHA+QXV0b2xpZ2h0Ym94IGlzdCBkaWUgZWluZmFjaHN0ZSBNw7ZnbGljaGtlaXQgZWluZSBMaWdodGJveCBlaW5lcyBCaWxkZXIgenUgZXJ6ZXVnZW4uIERhcyBHcnVuZHByaW56aXAgZnVua3Rpb25pZXJ0IHNvOjwvcD4NCgk8cD5CZWltIFNwZWljaGVybiBlaW5lciBTZWl0ZSwgZWluZXMgQmxvZy0gb2RlciBlaW5lcyBOZXdzZWludHJhZ3Mgd2lyZCBkZXIgSW5oYWx0IG5hY2ggQmlsZGVybiBkdXJjaHN1Y2h0LiBEYWJlaSB2ZXJnbGVpY2h0IGRhcyBTY3JpcHQgb2IgZGFzIEJpbGQgbWl0IGRlciBrb3JyZWt0ZW4gR3LDtnNzZSBvZGVyIHZlcmtsZWluZXJ0IGVpbmdlYnVuZGVuIGlzdC4gSXN0IGRhcyBCaWxkIHZlcmtsZWluZXJ0IGVpbmdlYnVuZGVuLCB3aXJkIGVpbiBUaHVtYm5haWwgZ2VuZXJpZXJ0IHVuZCBkaWUgQmlsZC1VUkwgYXVmIGRhcyBUaHVtYm5haWwgYW5nZXBhc3N0LiBadXPDpHR6bGljaCB3aXJkIHVtIGRhcyBCaWxkIGVpbmVuIExpbmsgYXVmIGRhcyBPcmlnaW5hbGJpbGQgZXJzdGVsbHQuPC9wPg0KCQ0KCTxwPjxiPldpZSBtdXNzIGljaCBlaW4gQmlsZCBpbiBkZW4gVGV4dCBlaW5mw7xnZW4gZGFtaXQgQXV0b0xpZ2h0Qm94IGFrdGl2IHdpcmQ/PC9iPjwvcD4NCgk8cD5JZGVhbCB3aXJkIGVpbiBCaWxkIHdlbGNoZXMgYXVmIGRlciBXZWJzZWl0ZSBlaW5nZWbDvGd0IHdpcmQgYXVmIGVpbmUgc2lubnZvbGxlIEdyw7Zzc2UgdmVya2xlaW5lcnQuIE9wdGltYWwgaXN0IGVpbiBXZXJ0IHp3aXNjaGVuIDYwMCAtIDEwMDAgUGl4ZWwgYXVmIGRlciBsw6RuZ2VyZW4gS2FudGUuIERhbmFjaCBrYW5uIGRpZXNlcyBCaWxkIG1pdHRlbHMgTWljcm9UaW55IC8gVGlueU1DRSBpbiBkZW4gVGV4dCBlaW5nZWbDvGd0IHdlcmRlbi4gTWl0dGVscyBWZXLDpG5kZXJ1bmcgZGVyIEdyw7Zzc2UgZGFzIEJpbGQgYXVmIGRpZSBvcHRpbWFsZSBHcsO2c3NlIHZlcmtsZWluZXJuLjwvcD4NCgk8cD5CZWltIHNwZWljaGVybiBlcmtlbm50IG51biBBdXRvTGlnaHRCb3gsIGRhc3MgZWluIEJpbGQgdmVya2xlaW5lcnQgZWluZ2Vmw7xndCB3dXJkZSB1bmQgZXJzZXR6dCBkaWVzZXMgQmlsZCBtaXQgZWluZW0gVGh1bWJuYWlsIHVuZCBlcnN0ZWxsdCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkLjwvcD4gDQoJDQoJPHA+PGI+RnVua3Rpb25hbGl0w6R0PC9iPjwvcD4NCgk8dWw+DQoJCTxsaT5BdXRvTGlnaHRCb3ggbW9kaWZpemllcnQgSW5oYWx0ZSAoaW4gamVkZW0gSW5oYWx0c2Jsb2NrKSwgTmV3c2VpbnRyw6RnZSB1bmQgQ0dCbG9nIEluaGFsdGU8L2xpPg0KCQk8bGk+RW50ZGVja3QgQXV0b0xpZ2h0Qm94IGRpZSBHcsO2c3NlbsOkbmRlcnVuZyBlaW5lcyBiZXN0ZWhlbmRlbiBCaWxkZXMsIHNvIHdpcmQgZGFzIFRodW1ibmFpbCBhdXRvbWF0aXNjaCBpbiBkZXIgbmV1ZW4gcmljaHRpZ2VuIEdyw7Zzc2UgZWluZ2VidW5kZW4uPC9saT4NCgkJPGxpPkVzIGthbm4gZWluIHJlbD0gb2RlciBlaW4gY2xhc3M9IEF0dHJpYnV0ZSBkZWZpbmllcnQgd2VyZGVuPC9saT4NCgkJPGxpPk9wdGlvbmFsIGthbm4gZGFzIEphdmFTY3JpcHQgZGVyIExpZ2h0Ym94IGRpcmVrdCBpbSBNb2R1bCBnZW51dHp0IHdlcmRlbjwvbGk+DQoJCTxsaT5BdXRvbWF0aXNjaGUgRWluYmluZHVuZyBkZXMgU3R5bGVzaGVldHMgdW5kIGRlcyBKYXZhU2NyaXB0cyBkZXIgTGlnaHRib3ggaW5zIFRlbXBsYXRlPC9saT4NCgk8L3VsPgkNCiAgPC9kaXY+DQogIDxkaXYgaWQ9InNvY2lhbHNoYXJlcHJpdmFjeV9jIj4NCiAgPGgzPkhvdyBjYW4gSSB1c2UgdGhlIFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPC9oMz4NCiAgPHA+U29jaWFsU2hhcmVQcml2YWN5IGlzIGEgZnJvbSBoZWlzZS5kZSBwb3N0ZWQgUGx1Z2luIHdoaWNoIGdpdmVzIG1vcmUgcHJpdmFjeSBmb3IgU29jaWFsbWVkaWEgQnV0dG9ucy4gVGhlIFBsdWdpbiBtZXJnZXMgdGhlIFNvY2lhbG1lZGlhIGJ1dHRvbnMgb2YgRmFjZWJvb2ssIFR3aXR0ZXIgYW5kIEdvb2dsZSsgb25seSBvbiB0aGUgZXhwcmVzcyBkZXNpcmUgb2YgdGhlIHVzZXJzLjxiciAvPg0KCSBBIGZ1cnRoZXIgYWR2YW50YWdlIG9mIHRoaXMgbWV0aG9kIGlzIHRoYXQgdGhlIGxvYWQgc3BlZWQgb2YgYSBzaWRlIGRvZXMgbm90IHN1ZmZlciBmcm9tIHRoZSBTb2NpYWxtZWRpYSBidXR0b24sIGJlY2F1c2UgZHVyaW5nIHRoZSBmaXJzdCBsb2FkaW5nIHByb2NlZHVyZSBhbGwgZGF0YSBhcmUgbG9hZGVkIGRpcmVjdGx5IGZyb20gdGhlIG93biBzZXJ2ZXIuPC9wPg0KCSANCgkgPHA+SW4gb3JkZXIgdG8gdXNlIFNvY2lhbFNoYXJlUHJpdmF5LCB0aGUgZXh0ZW5zaW9uIHVuZGVyIOKAnHNldHRpbmdz4oCdIG11c3QgYmUgYWN0aXZhdGVkLiBzdWJzZXF1ZW50bHkg4oCcU29jaWFsU2hhcmVQcml2YXnigJ0gaW5kaXZpZHVhbCBhZGp1c3RtZW50cyBjYW4gYmUgbWFkZSBpbiB0aGUgcmVnaXN0ZXIuIFRob3NlIG9mIGJ1dHRvbiBhcmUgaW5zZXJ0ZWQgYXMgZm9sbG93czo8L3A+DQoJIDxjb2RlPntUb29sQm94IG1vZD0ic29jaWFsc2hhcmVwcml2YWN5In08L2NvZGU+DQoJIA0KCSA8cD5JbiB0aGUgc2V0dGluZ3MgaXQgY2FuIGJlIGRlZmluZWQgaWYgalF1ZXJ5IHNob3VsZCBiZSBsb2FkZWQgb3Igbm90LiBUaGF0IGlzIGltcG9ydGFudCwgYmVjYXVzZSBpdCBkZXBlbmRzIGluIHdoaWNoIGhvbWVwYWdlIGpRdWVyeSBhbHJlYWR5IGlzIG1lcmdlZC4gICBJbiB0aGlzIGNhc2UsIGpRdWVyeSBoYXMgbm90IHRvIGJlIGxvYWRlZCBhZ2Fpbi4gPC9wPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idHdpdHRlcmZlZWRfYyI+DQoJICA8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9oZWxwL3R3aXR0ZXJmZWVkLnBuZyIgd2lkdGg9IjM1MyIgaGVpZ2h0PSI0NTQiIGFsdD0iVHdpdHRlcmZlZWQiIHN0eWxlPSJmbG9hdDogcmlnaHQiIC8+DQoJICA8aDM+V2llIGJlbnV0emUgaWNoIFR3aXR0ZXJmZWVkPC9oMz4NCgkgIDxwPlR3aXR0ZXJmZWVkIHdpciB3aWUgZm9sZ3QgZWluZ2VidW5kZW46PC9wPg0KCSAgPGNvZGU+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgY291bnQ9NSB0ZW1wbGF0ZT0ndHdpdHRlcmZlZWQnIGRhdGV0aW1lPSdmcmllbmRseScgY2FjaGV0aW1lPTEwICYjMTI1OzxiciAvPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRldGltZT0nZC5tLlkgSDppJyAmIzEyNTs8YnIgLz4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBsaXN0PSd3ZWJkZXNpZ24nIGNvdW50PTUgJiMxMjU7PGJyIC8+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgc2VhcmNoPScjY21zbXMnIGNvdW50PTEwICYjMTI1Ow0KCSAgPC9jb2RlPg0KCSAgDQoJICA8cD5Gb2xnZW5kZSBQYXJhbWV0ZXIga8O2bm5lbiBnZXfDpGhsdCB3ZXJkZW46PC9wPg0KCSAgPHVsPg0KCSAgCTxsaT51c2VybmFtZSAtIFR3aXR0ZXItVXNlcm5hbWUgKHdpcmQgZGVyIFBhcmFtZXRlciBzZWFyY2ggdmVyd2VuZGV0LCBzbyBtdXNzIGtlaW4gdXNlcm5hbWUgYW5nZWdlYmVuIHdlcmRlbik8L2xpPg0KCSAgCTxsaT50ZW1wbGF0ZSAob3B0aW9uYWwpIC0gTmFtZSBkZXMgVGVtcGxhdGUgZGFzIGdlbnV0enQgd2VyZGVuIHNvbGwuIE9obmUgZGllc2UgRGVmaW5pdGlvbiB3aXJkIGRhcyBTdGFuZGFyZHRlbXBsYXRlIGdlbGFkZW48L2xpPg0KCSAgCTxsaT5saXN0IChvcHRpb25hbCkgLSBOYW1lIGVpbmVyIExpc3RlIGRlcyBCZW51dHplcnMuIElzdCBkaWVzZXIgUGFyYW1ldGVyIGFuZ2VnZWJlbiwgd2lyZCBkaWUgVGltZWxpbmUgZGVyIGdld8OkaGx0ZW4gTGlzdGUgYW5nemVpZ3Q8L2xpPg0KCSAgCTxsaT5zZWFyY2ggKG9wdGlvbmFsKSAtIFN1Y2hiZWdyaWZmIG5hY2ggZGVtIGRpZSBUd2l0dGVyYXBpIGFiZ2VmcmFndCB3aXJkIChvaG5lIEJlbnV0emVybmFtZSk8L2xpPg0KCSAgCTxsaT5kYXRlZm9ybWF0IChvcHRpb25hbCkgDQoJICAJCTx1bD4NCgkgIAkJCTxsaT5mcmllbmRseSA9IFN0YW5kYXJkLVR3aXR0ZXJmb3JtYXQgaW4gZGVyIEFydCA8ZW0+MyBkYXlzIGFnbzwvZW0+PC9saT4NCgkgIAkJCTxsaT5kLm0uWSBIOm06cyAtIERhdGV0aW1lIEZvcm1hdGllcnVuZyBuYWNoIDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZGF0ZXRpbWUuY3JlYXRlZnJvbWZvcm1hdC5waHAiPkRlZmluaXRpb24gcGhwLm5ldDwvYT48L2xpPg0KCSAgCQk8L3VsPg0KCSAgCTwvbGk+DQoJICAJPGxpPmNhY2hldGltZSAob3B0aW9uYWwpIC0gWmVpdCBpbiBNaW51dGVuIGluIHdlbGNoZXIgZGVyIFR3aXR0ZXJmZWVkIGltIENhY2hlIGFiZ2VsZWd0IGJsZWlidC4gU3RhbmRhcmQgMTAgTWludXRlbiwgbWluaW1hbCAxIE1pbnV0ZTwvbGk+DQoJICA8L3VsPg0KCSAgCQ0KCSAgPHA+SW0gVGVtcGxhdGUgc3RlaGVuIGZvbGdlbmRlIFZhcmlhYmxlbiB6dXIgVmVyZsO8Z3VuZzo8L3A+DQoJICA8Y29kZT4NCgkJICAmIzAzNjtpdGVtLSZndDt0ZXh0PGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtkYXRlPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtpbWdfdXJsPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtpbWdfdXJsX2h0dHBzPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lX3VybDxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7YXV0aG9yPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtzb3VyY2U8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2xvY2F0aW9uPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2NvdW50PGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X3NjcmVlbm5hbWU8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfYXV0aG9yPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZWQNCgkgIDwvY29kZT4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9InRhaWxfYyI+DQogIAk8aDM+dGFpbCAtIGEgcGhwL2pxdWVyeSBiYXNlZCBsb2dnaW5nIHN5c3RlbTwvaDM+DQogIAk8cD50YWlsIGlzIHVuZGVyIExpbnV4L1VuaXggYSBjb25zb2xlIHByb2dyYW0gd2hpY2ggbW9uaXRvcnMgbG9nZmlsZXMgbGl2ZS4gSW4gb3RoZXIgd29yZHMsIGlmIGEgbGluZSB3YXMgYWRkZWQgdG8gdGhlIGxvZ2ZpbGUsIHRoYXQgd291bGQgYmUgZGlzcGxheWVkIGltbWVkaWF0ZWx5IHdpdGggdGFpbCwgSWYgdGhlIGxvZ2ZpbGUNCiAgCWlzIG1vbml0b3JlZC4gVGhlIHRhaWwgb2YgZnVuY3Rpb25hbGl0eSBUb29sQm94IHByb3ZpZGVzIGEgc2ltaWxhciBmdW5jdGlvbi4gPC9wPg0KICAJPGgzPkhvdyBkb2VzIGl0IHdvcms/PC9oMz4NCiAgCTxwPkZpcnN0LCB0aGUgbG9nZmlsZSBoYXMgdG8gYmUgZmVkIHdpdGggZGF0YS4gRm9yIHRoaXMgdGhlcmUgYXJlIHR3byBwb3NzaWJpbGl0aWVzOjwvcD4NCiAgCTxwPjxiPkluc3RhbGxhdGlvbiBpbiBhIG1vZHVsZSwgYSBQbHVnaW4gb3IgYW4gVURUPC9iPjwvcD4NCiAgCTxwPkZvciB0aGF0IHRoZSBmb2xsb3dpbmcgY29kZSBtdXN0IGJlIGNyZWF0ZWQgOjwvcD4NCiAgCTxjb2RlPgkmIzAzNjtsb2c9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVG9vbEJveCcpOzxiciAvPg0KCQkJJiMwMzY7bG9nLT5zZXRMb2dGaWxlKCd0YkxvZycpOyAvLyBPcHRpb25hbC4gSGVyZSB0aGUgbmFtZSBvZiB0aGUgbG9nIGZpbGUgY291bGQgYmUgc2V0PGJyIC8+DQoJCQkmIzAzNjtsb2ctPmx3cml0ZSgiSGVyZSB3ZSBjYW4gd3JpdGUgc29tZXRoaW5nIGluIHRoZSBsb2ciKTs8YnIgLz4NCgk8L2NvZGU+DQogIAkNCgk8cD48YnIgLz5BcyBwYXJhbWV0ZXIgd2UgY291bGQgdXNlIG5vcm1hbCB2YXJpYWJsZXMsIG9iamVjdHMgb3IgQXJyYXlzPC9wPg0KCTxwPjxiPkluc3RhbGxhdGlvbiBpbiBhIHRlbXBsYXRlPC9iPjwvcD4NCiAgCTxwPlRoZSBmb2xsb3dpbmcgZGF5IGNhbiBiZSBpbnN0YWxsZWQgaW50byBhIHRlbXBsYXRlOjwvcD4NCiAgCTxjb2RlPnt0YldyaXRlTG9nIGxvZz0id2FzIGbDvHIncyBsb2ciIGxvZ0ZpbGU9InRiTG9nIn08L2NvZGU+DQogIAk8cD48YnIgLz5QYXJhbWV0ZXI6PC9wPg0KICAJPHVsPg0KICAJPGxpPmxvZyAtIFRleHQgd2hpY2ggaGFzIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGxvZyBmaWxlPC9saT4NCiAgCTxsaT5bbG9nRmlsZV0gLSAob3B0aW9uYWwpIEhlcmUsIHlvdSBjb3VsZCBkZWZpbmUgdGhlIG5hbWUgb2YgdGhlIGxvZ2ZpbGU8L2xpPg0KICAJPC91bD4NCiAgDQogIAk8aDM+TW9uaXRvcmluZyB0aGUgbG9nIGZpbGU8L2gzPg0KICAJPHA+SW4gdGhlIHRhYiAidGFpbCBzaWduIiB0aGUgbG9nIGZpbGUgY2FuIG5vdyBiZSBtb25pdG9yZWQuIFRvIHNlbGVjdCBmcm9tIHRoZSBkcm9wIGRvd24gYm94IHRoZSBkZXNpcmVkIGxvZywgYXMgd2VsbCBhcyB0aGUgbnVtYmVyIG9mIHJvd3MsIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgYWZ0ZXIgbG9hZGluZy4gUGFyYWxlbGwsIA0KICAJbG9nIGZpbGVzIGNhbiBiZSBtb25pdG9yZWQuPC9wPg0KICAJDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJzbWFydHl0b29sc19jIj4NCiAgCTxoMz5XaGF0IGZlYXR1cmVzIGhhcyB0aGUgU21hcnR5LU9iamVjdD88L2gzPg0KCTxwPlRvb2xCb3ggY29udGFpbnMgaXRzIG93biBTbWFydHkgQ2xhc3MgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCBmZWF0dXJlLCBhcyB3ZWxsIGFzIHNvbWUgcGx1Zy1pbnMgd2hpY2ggaXMgZm9yIGV4YW1wbGUgY2FuIGJlIHVzZWQgd2l0aCBBZHZhbmNlZCBDb250ZW50LiA8L3A+DQoJPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KCTxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCgk8aDQ+QXZhaWxhYmxlIEZ1bmN0aW9uczo8L2g0Pg0KCTxwPiZuYnNwOzwvcD4NCgk8dWw+DQoJPGxpPjxzdHJvbmc+c2VsZlVybDwvc3Ryb25nPihbJiMwMzY7YXNzaWduXSkNCgkgICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4NCgkgICAgPHA+QXJndW1lbnRzOg0KCSAgICAgICA8dWw+DQoJICAgICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQoJICAgICAgPC91bD4gIA0KCSAgICA8YnIvPjwvcD4NCgk8L2xpPg0KCQ0KPGxpPjxzdHJvbmc+Z2V0UGFnZVVybDwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KCSAgICA8cD5SZXR1cm4gVVJMIG9mIGEgc3BlY2lmaWVkIHBhZ2U8L3A+DQoJCSAgIDxwPkFyZ3VtZW50cw0KCSAgICAgICA8dWw+DQoJICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KCSAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQoJICAgICAgIDwvdWw+ICANCgkgICAgPGJyLz48L3A+DQoJICAgIDxwPkV4YW1wbGU6PGJyLz4NCgkgICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgVVJMIGlzICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFBhZ2VVcmwoJ2hvbWUnKSYjMTI1OzwvcHJlPjxici8+DQogICAgCTwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmlzRGVmYXVsdFBhZ2U8L3N0cm9uZz4oJiMwMzY7YWxpYXMsWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+Q2hlY2sgaWYgcGFnZSBpcyBkZWZhdWx0IHBhZ2U8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgPHVsPg0KCSAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+JiMxMjM7aWYgJiMwMzY7dGJ0b29scy0+aXNEZWZhdWx0UGFnZSgpJiMxMjU7SGVsbG8gYW5kIHdlbGNvbWUgdG8gbXkgc2l0ZSYjMTIzO2Vsc2UmIzEyNTthbm90aGVyIHBhZ2UmIzEyMzsvaWYmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KCQ0KDQo8bGk+PHN0cm9uZz5nZXRQYXJlbnRBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50cw0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRQYXJlbnRBbGlhcygpJiMxMjU7PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRMZXZlbEFsaWFzPC9zdHJvbmc+KCYjMDM2O2xldmVsLFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+U3BlY2lmaWVzIHRoZSBhbGlhcyBvZiB0aGUgcGFyZW50IHNpZGUgb2YgYSBjZXJ0YWluIGJhY2suIElmIHRoZSBzcGVjaWZpZWQgbGV2ZWwgaXMgaGlnaGVyIHRoYW4gdGhhdCBvZiB0aGUgY3VycmVudCBwYWdlLCBhbiBlbXB0eSBzdHJpbmcgd291bGQgYmUgcmV0dXJuZWQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2xldmVsICAgLSBOdW1iZXIgb2YgbGV2ZWxzIGZyb20gd2hpY2ggdGhlIGFsaWFzIGhhcyB0byBiZSByZXR1cm5lZCAoMSA9IDEuIExldmVsLCAyID0gMi4gTGV2ZWwsIGV0Yy4pPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgdGhlIHBhZ2UgYWxpYXMgb3IgSUQgb2YgdGhlIHBhZ2UsIHRoZSBwYXJlbnQgb2YgdGhlIHNwZWNpZmllZCBsZXZlbCB3aGljaCBoYXMgdG8gYmUgZm91bmQuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSB3b3VsZCBiZSB1c2VkLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSwgdGhhdCB0aGUgcmVzdWx0IGhhcyB0byBiZSBhc3NpZ25lZC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgYWxpYXMgb2YgdGhlIHBhcmVudCBzaWRlIG9mIHRoZSBwYWdlIG9uIGxldmVsIDEgaXMgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0TGV2ZWxBbGlhcygxKSYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldFJvb3RBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KCTxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0Um9vdEFsaWFzKCkmIzEyNTs8L3ByZT48YnIvPg0KICAgIDwvcD4gICAgDQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRQYWdlVGl0bGU8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkNCgk8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0UGFnZVRpdGxlKCkmIzEyNTs8L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldFBhZ2VNZW51dGV4dDwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KCTxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRQYWdlTWVudXRleHQoKSYjMTI1OzwvcHJlPjxici8+DQogICAgPC9wPiAgICANCjwvbGk+DQoNCjxsaT48c3Ryb25nPmhhc0NoaWxkcmVuPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQoJPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPiYjMTIzOyYjMDM2O3RidG9vbHMtPmhhc0NoaWxkcmVuKCIiLCJoYXNDaGlsZHJlbiIpJiMxMjU7DQogICAgJiMxMjM7aWYgJiMwMzY7aGFzQ2hpbGRyZW4mIzEyNTtUaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbiYjMTIzO2Vsc2UmIzEyNTtUaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbiYjMTIzOy9pZiYjMTI1OzwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0Rmlyc3RDaGlsZEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0sWyYjMDM2O29ubHlJbk1lbnVdID0gdHJ1ZSkNCiAgICA8cD5SZXR1cm4gdGhlIGFsaWFzIG9mIHRoZSBmaXJzdCBjaGlsZCBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjtvbmx5SW5NZW51XSAtIChvcHRpb25hbCkgb25seSBhY3RpdmUgcGFnZXMgaW4gbWVudS48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT4mIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRGaXJzdENoaWxkQWxpYXMoIiIsImZpcnN0Q2hpbGRBbGlhcyIpJiMxMjU7DQogICAgCVRoZSBhbGlhcyBvZiB0aGUgZmlyc3QgY2hpbGQgcGFnZSBpcyB7JiMwMzY7Zmlyc3RDaGlsZEFsaWFzfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCg0KPGxpPjxzdHJvbmc+Z2V0Q2hpbGRyZW48L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7c2hvd2luYWN0aXZlXSxbJiMwMzY7YXNzaWduXSkNCgk8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7c2hvd2luYWN0aXZlXSAtIChvcHRpb25hbCkgV2V0aGVyIGluYWN0aXZlIHBhZ2VzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IChkZWZhdWx0cyB0byBmYWxzZSkuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkZpZWxkczoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+aWQgLSB0aGUgcGFnZSBpZCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT50aXRsZSAtIHRoZSB0aXRsZSBwYWdlIG9mIHRoZSBjaGlsZCBwYWdlLjwvbGk+DQogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5zaG93X2luX21lbnUgLSB3ZXRoZXIgdGhpcyBjaGlsZCBwYWdlIGlzIHZpc2libGUgaW4gbWVudXMuPC9saT4NCiAgICAgICA8bGk+YWN0aXZlIC0gd2V0aGVyIHRoaXMgY2hpbGQgcGFnZSBpcyBhY3RpdmUuPC9saT4NCiAgICAgICA8bGk+dHlwZSAtIFRoZSB0eXBlIG9mIGNoaWxkIGNvbnRlbnQgb2JqZWN0LjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT4NCiYjMTIzOyYjMDM2O3RidG9vbHMtPmdldENoaWxkcmVuKCIiLCIiLCJjaGlsZHJlbiIpJiMxMjU7DQp7aWYgY291bnQoJiMwMzY7Y2hpbGRyZW4pJiMxMjU7DQogICB7Zm9yZWFjaCBmcm9tPSYjMDM2O2NoaWxkcmVuIGl0ZW09ImNoaWxkIn0NCiAgICAgIHtpZiAmIzAzNjtjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSAmIzEyMzsmIzAzNjtjaGlsZC5pZCYjMTI1OyBBbGlhcyA9ICYjMTIzOyYjMDM2O2NoaWxkLmFsaWFzJiMxMjU7PGJyIC8+DQogICAgICB7L2lmfQ0KICAgey9mb3JlYWNofQ0Key9pZn19DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+ICAgDQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRQYWdlQ29udGVudDwvc3Ryb25nPigmIzAzNjthbGlhcyxbJiMwMzY7YmxvY2tdLFsmIzAzNjthc3NpZ25dKQ0KCTxwPlJldHVybnMgdGhlIHRleHQgb2YgYSBzcGVjaWZpYyBjb250ZW50IGJsb2NrIG9mIGFub3RoZXIgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JiMwMzY7YWxpYXMgLSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQgdGhlIHZhbHVlIG9mIHRoZSBkZWZhdWx0IGNvbnRlbnQgYmxvY2sgPGVtPihjb250ZW50X2VuKTwvZW0+IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbiAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlICdzZWNvbmQnIGJsb2NrIG9mIHRoZSAnYWJvdXQnIHBhZ2UgaXMgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0UGFnZUNvbnRlbnQoJ2Fib3V0Jywnc2Vjb25kJywnZm9vJykmIzEyNTsmIzEyMztldmFsIHZhcj1cJGZvbyYjMTI1OzwvcHJlPjxici8+DQogICAgPC9wPiAgICANCjwvbGk+DQoNCjxsaT48c3Ryb25nPmhhc0ZldUdyb3VwQWNjZXNzPC9zdHJvbmc+KCYjMDM2O2ZldWdyb3VwcyxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5HaXZlcyBhIHRydWUvZmFsc2UgYmFjaywgaWYgdGhlIGxvZ2dlZCBGcm9udEVuZFVzZXIgaXMgYXNzaWduZWQgdG8gb25lIG9mIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cHM8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JiMwMzY7ZmV1Z3JvdXBzIC0gSURzIG9mIHRoZSB1c2VyIGdyb3Vwcy4gU2VydmFsIHVzZXIgZ3JvdXBzIHNob3VsZCBiZSBzZXBhcmF0ZWQgd2l0aCBhIGNvbW1hLiBGb3IgZXhhbXBsZTogMSwyLDQ8L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+JiMxMjM7aWYgJiMwMzY7dGJ0b29scy0+aGFzRmV1R3JvdXBBY2Nlc3MoIjEsMiwzKSYjMTI1O1VzZXIgaGFzIHBlcm1pc3Npb24mIzEyMztlbHNlJiMxMjU7VGhlIHVzZXIgaGFzIG5vIHBlcm1pc3Npb24mIzEyMzsvaWYmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KPGxpPjxzdHJvbmc+aXNMb2dnZWRJbjwvc3Ryb25nPihbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB1c2VyIElEIG9mIHRoZSBsb2dnZWQgaW4gZnJvbnQtZW5kIHVzZXI8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPiYjMTIzO2lmICYjMDM2O3RidG9vbHMtPmlzTG9nZ2VkSW4oKSYjMTI1O1VzZXIgaXMgbG9nZ2VkIGluJiMxMjM7ZWxzZSYjMTI1O1RoZXJlIGlzIG5vIHVzZXIgbG9nZ2VkIGluJiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldFNpYmxpbmc8L3N0cm9uZz4oJiMwMzY7ZGlyZWN0aW9uLFsmIzAzNjthc3NpZ25dLFsmIzAzNjthbGlhc10pDQoJPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIG5leHQgb3IgcHJldmlvdXMgc2libGluZyB0byB0aGUgc3BlY2lmaWVkDQogICAgICAgcGFnZS4gb3IgZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2RpcmVjdGlvbiAtIHRoZSBkaXJlY3Rpb24gdG8gbG9vayBpbi4gIHBvc3NpYmxlIHZhbHVlcyBhcmUgcHJldixwcmV2aW91cywtMSxuZXh0LDE8L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBzaWJsaW5nIGZvci4gIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgPGJyLz48L3A+DQogICAgICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRfc2libGluZygmcXVvdDtwcmV2JnF1b3Q7LCZxdW90O3ByZXZfc2libGluZyZxdW90OykmIzEyNTsmIzEyMztpZiAhZW1wdHkoJiMwMzY7cHJldl9zaWJsaW5nKSYjMTI1OyYjMTIzO2Ntc19zZWxmbGluayBwYWdlPSZxdW90OyYjMDM2O3ByZXZfc2libGluZyZxdW90OyB0ZXh0PSZxdW90O1ByZXZpb3VzJnF1b3Q7JiMxMjU7JiMxMjM7L2lmJiMxMjU7PC9wcmU+PGJyLz4NCiAgICA8L2xpPiAgICANCg0KPGxpPjxzdHJvbmc+Z2V0QXJyYXlBc1RhYmxlPC9zdHJvbmc+KCYjMDM2O2FycmF5KQ0KICAgIDxwPlJldHVybnMgYSBtdWx0aWRpbWVuc2lvbmFsIGFycmF5IGFzIGEgdGFibGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JiMwMzY7YXJyYXkgLSB0aGUgYXJyYXkgd2hpY2ggc2hvdWxkIGJlIGxhdWNoZWQgYXMgYSB0YWJsZS48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT4mIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRBcnJheUFzVGFibGUoJiMwMzY7YXJyYXkpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KDQoNCg0KPC91bD4NCjwvZGl2Pg0KDQoNCjxkaXYgaWQ9Im1vZGlmaWVyX2MiPg0KDQo8aDM+U21hcnR5IE1vZGlmaWVydDwvaDM+DQo8dWw+DQo8bGk+PHN0cm9uZz50YlRydW5jYXRlQmV0dGVyPC9zdHJvbmc+KCYjMDM2O3N0cmluZywgJiMwMzY7bGVuZ3RoID0gODAsICYjMDM2O2V0YyA9ICcuLi4nLCAmIzAzNjtsaW5rID0gJycsICYjMDM2O2xpbmtfdGV4dCA9ICcnKSkNCiAgICA8cEN1dCBhIHN0cmluZyBwcmVzZXJ2aW5nIGFueSB0YWcgbmVzdGluZyBhbmQgbWF0Y2hpbmcuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O3N0cmluZyAtIHRleHQuPC9saT4NCiAgICAgICA8bGk+JiMwMzY7bGVuZ2h0IC0gKG9wdGlvbmFsLCA4MCBzdGFuZGFyZCkgbnVtYmVyIG9mIHNpZ24uPC9saT4NCiAgICAgICA8bGk+JiMwMzY7ZXRjIC0gKG9wdGlvbmFsLCAuLi4gc3RhbmRhcmQpIG1vcmUgdGV4dC48L2xpPg0KICAgICAgIDxsaT4mIzAzNjtsaW5rIC0gKG9wdGlvbmFsKSBMaW5rIFVSTDwvbGk+DQogICAgICAgPGxpPiYjMDM2O2xpbmtfdGV4dCAtIChvcHRpb25hbCkgbGluayB0ZXh0PC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICBCb3RoIHBhcmFtZXRlciAmIzAzNjtlbnRyeS0+Y29udGVudCB1bmQgJiMwMzY7ZW50cnktPm1vcmVsaW5rIGFyZSBleGFtcGxlcw0KICAgIDxiciAvPg0KICAgIDxwcmU+JiMxMjM7JiMwMzY7ZW50cnktPmNvbnRlbnR8dGJUcnVuY2F0ZUJldHRlcjoxMDA6JyAuLi4nOiYjMDM2O2VudHJ5LT5tb3JlbGluazonW3JlYWQgbW9yZV0nJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KDQo8L3VsPg0KDQo8L2Rpdj4NCg0KPGRpdiBpZD0ibW9iaWxlZGV0ZWN0X2MiPg0KDQo8aDM+TW9iaWxlIERldGVjdDwvaDM+DQoNCjxwPjxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHAtbW9iaWxlLWRldGVjdC93aWtpL01vYmlsZV9EZXRlY3QiIHRhcmdldD0iX2JsYW5rIj5Nb2JpbGVfRGV0ZWN0PC9hPg0KIGlzIGEgbGlnaHR3ZWlnaHQgUEhQIGNsYXNzIGZvciBkZXRlY3RpbmcgbW9iaWxlIGRldmljZXMuIEl0IHVzZXMgdGhlIFVzZXItQWdlbnQgc3RyaW5nIGNvbWJpbmVkIHdpdGggDQogc3BlY2lmaWMgSFRUUCBoZWFkZXJzIHRvIGRldGVjdCB0aGUgbW9iaWxlIGVudmlyb25tZW50LiA8L3A+DQogDQogPGg0PlVzYWdlPC9oND4NCiA8cD48aT5DaGVjayBmb3IgYSBzcGVjaWZpYyBwbGF0Zm9ybTo8L3A+DQo8cD48cHJlPg0Ke2lmICYjMDM2O3RibW9iaWxlLT5pc2lPUygpIH0gDQogIC8vIGNvZGUgdG8gcnVuIGZvciB0aGUgQXBwbGUgaU9TIHBsYXRmb3JtLiANCnsvaWZ9IA0KIDwvcHJlPiA8L3A+DQo8cD48cHJlPg0Ke2lmICYjMDM2O3RibW9iaWxlLT5pc0FuZHJvaWRPUygpIH0gDQogIC8vIGNvZGUgdG8gcnVuIGZvciB0aGUgR29vZ2xlIEFuZHJvaWQgcGxhdGZvcm0uIA0Key9pZn0NCjwvcHJlPjwvcD4NCg0KIDxwPk90aGVyIGNhc2UgaW5zZW5zaXRpdmUgYXZhaWxhYmxlIG1ldGhvZHMgYXJlIGlzSXBob25lKCksIGlzSXBhZCgpLCBpc0JsYWNrQmVycnkoKSwgaXNLaW5kbGUoKSwgaXNPcGVyYSgpLCBldGMuIEZvciB0aGUgZnVsbCBsaXN0IG9mIGF2YWlsYWJsZSBtZXRob2RzIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHAtbW9iaWxlLWRldGVjdC93aWtpL01vYmlsZV9EZXRlY3QiIHRhcmdldD1fYmxhbmsiPmNoZWNrIHRoZSB3aWtpLjwvYT48L3A+DQoNCjxwPkFsdGVybmF0aXZlbHksIGlmIHlvdSBhcmUgb25seSBpbnRlcmVzdGVkIGluIGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgdXNlciBpcyB1c2luZyBhIG1vYmlsZSBkZXZpY2UsIHdpdGhvdXQgY2FyaW5nIGZvciBzcGVjaWZpYyBwbGF0Zm9ybTo8L3A+DQo8cD48cHJlPg0Ke2lmICgmIzAzNjt0Ym1vYmlsZS0+aXNNb2JpbGUoKSl9DQogIC8vIGFueSBtb2JpbGUgcGxhdGZvcm0NCnsvaWZ9DQo8L3ByZT48L3A+DQo8cD48cHJlPg0Ke2lmKCYjMDM2O3RibW9iaWxlLT5pc1RhYmxldCgpKX0NCiAgLy8gYW55IHRhYmxldA0Key9pZn0NCjwvcHJlPjwvcD4NCg0KDQoJDQo8L2Rpdj4NCg0KPGRpdiBpZD0icGx1Z2luc19jIj4NCg0KPGgzPlBsdWdpbnM8L2gzPg0KPHA+PGI+R2VuZXJhbCBQbHVnaW5zPC9iPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCg0KIDxsaT48c3Ryb25nPnt0YlNlc3Npb25TZXR9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIHN0b3JlIGRhdGEgaW4gdGhlIHVzZXIgc2Vzc2lvbi4gVGhpcyBkYXRhIGlzIHRoZW4gYWNjZXNzaWJsZSB2aWEgdGhlICYjMDM2O3NtYXJ0eS5zZXNzaW9uIGFycmF5IGluIHN1YnNlcXVlbnQgcGFnZXMuPC9wPg0KICAgIDxwPkFyZ3VtZW50czo8L3A+DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNyZWF0ZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIgLz4NCiAgICA8cHJlPnt0YlNlc3Npb25TZXQgbmFtZT0mcXVvdDt0ZXN0JnF1b3Q7IHZhbHVlPSZxdW90O2JsYWgmcXVvdDt9PC9wcmU+PC9wPg0KIDwvbGk+DQoNCiA8bGk+PHN0cm9uZz4mIzEyMzt0YlNlc3Npb25VbnNldCYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIgLz4NCiAgICA8cHJlPiYjMTIzO3RiU2Vzc2lvblVuc2V0IG5hbWU9JnF1b3Q7dGVzdCZxdW90OyYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPg0KIA0KIDxsaT48c3Ryb25nPiYjMTIzO3RiVmFyRXhwb3J0JiMxMjU7PC9zdHJvbmc+DQogICAgPHA+V2l0aCB0aGlzIHBsdWdpbiBhbiBhcnJheSBjYW4gYmUgcHJlcGFyZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBmb3IgZXhwb3J0cy4gVGhlIGdlcmVyYXRlZCB0ZXh0IGlzIHNlcmlhbGl6ZWQgYW5kIGNhbiBiZSBpbnNlcnRlZCBpbiBhIGRpZmZlcmVudCBwbGFjZSBvZiB0aGUgZW52aXJvbm1lbnQgaW5kZXBlbmRlbnRseS48YnIgLz4NCiAgICBBZHZhbnRhZ2Ugb2YgdGhpcyBtZXRob2QgaXMsIHRoYXQgYSBwcm9ibGVtIGluY2x1ZGluZyB0aGUgdXNlZCBkYXRhICwgY2FuIGJlIHJlY29uc3RydWN0ZWQgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24sIHdpdGhvdXQgdGhlIGVudGlyZSBlbnZpcm9ubWVudCBtdXN0IGJlIHJlY3JlYXRlZC48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bmFtZSAtIE5hbWUgb2YgdGhlIHZhcmlhYmxlIHRoYXQgc2hvdWxkIGJlIGV4cG9ydGVkLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJWYXJFeHBvcnQgbmFtZT0mcXVvdDtpdGVtcyZxdW90OyYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPg0KIDwvdWw+DQogDQogPHA+PGI+VG9vbEJveCBmdW5jdGlvbmFsaXRpZXM8L2I+PC9wPg0KIDxwPiZuYnNwOzwvcD4NCiA8dWw+DQogPGxpPjxzdHJvbmc+JiMxMjM7dGJXcml0ZUxvZyYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPldpdGggdGhpcyBQbHVnaW4gYSBzdHJpbmcsIGFuIGFycmF5IG9yIGFuIG9iamVjdCBjYW4gYmUgd3JpdHRlbiBpbiB0aGUgdGFpbCBsb2cgb2YgdGhlIHRvb2wgYm94IGluIGEgVGVtcGxhdGUgb3Igb24gYSBzaWRlLiBUaGlzIFBsdWdpbiBpcyBpbnRlcmVzdGluZyBmb3IgZGVidWdnaW5nIG9mIHB1cnBvc2VzIG9yIHRvIG1vbml0b3IgZGlmZmVyZW50IGFjdGlvbnMuIDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5sb2cgLSBUaGUgdGV4dCB3aGljaCBzaG91bGQgYmUgd3JpdHRlbiBpbiB0aGUgbG9nIGZpbGUgKGNvdWxkIGJlIGEgc3RyaW5nLCBhbiBhcnJheSBvciBhbiBvYmplY3QpLjwvbGk+DQogICAgICAgPGxpPltsb2dGaWxlXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGxvZyBmaWxlIHdoaWNoIHRoZSB0ZXh0IHNob3VsZCBiZSB3cml0dGVuLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJXcml0ZUxvZyBsb2c9IndoaWNoIGZvciB0aGUgbG9nIiBsb2dGaWxlPSJ0YkxvZyI7JiMxMjU7PC9wcmU+DQogICAgPC9wPg0KIDwvbGk+IA0KIDwvdWw+DQogDQogDQogPHA+PGI+UGx1Z2lucyBmb3IgQWR2YW5jZWRDb250ZW50PC9iPjwvcD4NCiA8cD4mbmJzcDs8L3A+DQogPHVsPg0KIA0KIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0UGFnZUhpZXJhcmNoeSYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPldpdGggdGhpcyBQbHVnaW4gdGhlIGVudGlyZSBzaWRlIGhpZXJhcmNoeSBjYW4gYmUgcmVwcmVzZW50ZWQuIFRoZSBlbXBsb3ltZW50IG9mIHRoaXMgUGx1Z2luIGlzIHByYWN0aWNhbCBpbiBjb25uZWN0aW9uIHdpdGggQWR2YW5jZWRDb250ZW50LiBTbyB0aGF0IGEgZHJvcCBkb3duIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGFsbCBQYWdlcyBpbiB0aGUgQWRjYW5jZWQgQ29udGVudCA8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+W2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBTZXBhcmF0b3IgYmV0d2VlbiB0aGUgZW50cmllcy4gU3RhbmRhcmQ6IHwuPC9saT4NCiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIHdpdGggb3V0cHV0PSJpZCIgYWxsIGNvbnRlbnQgSURzIGlzc3VlZC4gT3RoZXJ3aXNlLCB0aGUgbWVudSB0ZXh0IGlzIGRpc3BsYXllZC48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkgb3V0cHV0PSJpZCI7JiMxMjU7PC9wcmU+PGJyIC8+DQogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgbGFiZWw9IlNlaXRlIiBibG9ja190eXBlPSJkcm9wZG93biIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRQYWdlSGllcmFyY2h5Ojo6IiB2YWx1ZXM9Ijo6OnRiR2V0UGFnZUhpZXJhcmNoeSBvdXRwdXQ9J2lkJzo6OiIgc21hcnR5PXRydWUgJiMxMjU7PC9wPg0KIDwvbGk+IA0KIA0KICA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9zdHJvbmc+DQogICAgPHA+V2l0aCB0aGlzIHBsdWdpbiwgYWxsIG5ld3MgY2F0ZWdvcmllcyBhcmUgaXNzdWVkLiBQcmFjdGljYWxseSwgdGhlIHVzZSBvZiB0aGlzIHBsdWdpbiBpbiBjb25qdW5jdGlvbiB3aXRoIEFkdmFuY2VkIGNvbnRlbnQuIFRodXMsIGluIGEgTXVsdGlwbGUgU2VsZWN0IGZpZWxkIHRoZSBkZXNpcmVkIG5ldyBjYXRlZ29yaWVzIGNvdWxkIGJlIHNlbGVjdGVkPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgU2VwYXJhdG9yIGJldHdlZW4gdGhlIGVudHJpZXMuIFN0YW5kYXJkOiB8LjwvbGk+DQogICAgICAgPGxpPltvdXRwdXRdIC0gKG9wdGlvbmFsKSB3aXRoIG91dHB1dD0iaWQiIGFsbCBjb250ZW50IElEcyBpc3N1ZWQuIE90aGVyd2lzZSwgdGhlIG1lbnUgdGV4dCBpcyBkaXNwbGF5ZWQuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXROZXdzQ2F0ZWdvcmllczsmIzEyNTs8L3ByZT48YnIgLz4NCiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBibG9jaz0ibmV3cyIgbGFiZWw9Ik5ld3MgS2F0ZWdvcmllbi4iIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXROZXdzQ2F0ZWdvcmllczo6OiIgc21hcnR5PXRydWUgJiMxMjU7PC9wPg0KIDwvbGk+IA0KIA0KIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPldpdGggdGhpcyBwbHVnaW4sIGFsbCBuZXdzIGNhdGVnb3JpZXMgY291bGQgYmUgaXNzdWVkLiBQcmFjdGljYWxseSwgdGhlIHVzZSBvZiB0aGlzIHBsdWdpbiBpbiBjb25qdW5jdGlvbiB3aXRoIEFkdmFuY2VkIGNvbnRlbnQuIFRodXMsIGluIGEgTXVsdGlwbGUgU2VsZWN0IGZpZWxkIHRoZSBkZXNpcmVkIG5ldyBjYXRlZ29yaWVzIGNvdWxkIGJlIHNlbGVjdGVkPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDxsaT5bZ3JvdXBzX29ubHldIC0gKG9wdGlvbmFsKSBEaXNwbGF5cyBvbmx5IHRoZSB1c2VyIGdyb3VwcyAoaW5kaXZpZHVhbCB1c2VycyB3aWxsIG5vdCBiZSBzaG93bik8L2xpPg0KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgU2VwYXJhdG9yIGJldHdlZW4gdGhlIGVudHJpZXMuIFN0YW5kYXJkOiB8LjwvbGk+DQogICAgICAgPGxpPltvdXRwdXRdIC0gKG9wdGlvbmFsKSB3aXRoIG91dHB1dD0iaWQiIGFsbCBjb250ZW50IElEcyBpc3N1ZWQuIE90aGVyd2lzZSwgdGhlIG1lbnUgdGV4dCBpcyBkaXNwbGF5ZWQuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRVc2VyR3JvdXBzOyYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJlZGl0b3JzIiBsYWJlbD0iVXNlcnMgd2hvIGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhlc2UgcGFnZXMiIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWU6OjoiIHZhbHVlcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWUgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT10cnVlICYjMTI1OzwvcD4NCiA8L2xpPiANCg0KIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0R2FsbGVyeVRyZWUmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrw7ZubmVuIGFsbGUgR2FsbGVyeSBPcmRuZXIgKE1vZHVsIEdhbGxlcnkpIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGRpZSBHYWxsZXJ5cyBpbiBlaW5lbSBEcm9wZG93biBGZWxkIGF1c2dlZ2ViZW4gd2VyZGVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bc3ViZGlyXSAtIChvcHRpb25hbCkgVW50ZXJvcmRuZXIgZGVyIEdhbGxlcnkgYWIgd2VsY2hlbSBhbGxlciBlbnRoYWx0ZW5lbiBPcmRuZXIgYXVmZ2VsaXN0ZXQgd2VyZGVuIHNvbGxlbiAuPC9saT4NCiAgICAgICA8bGk+W2FjdGlvbl0gLSAob3B0aW9uYWwpIDx1bD4NCiAgICAgICAJCQkJCQkJCTxsaT5hY3Rpb249InVybCIgLT4gUGZhZCB6dW0gT3JkbmVyPC9saT4NCiAgICAgICAJCQkJCQkJCTxsaT4gYWN0aW9uID0gIiIgLT4gUGZhZCBkZXMgT3JkbmVycyBpbmtsLiBCaWxkYW56YWhsPC9saT4NCiAgICAgICAJCQkJCQkJPC91bD4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJnYWxsZXJ5IiBsYWJlbD0iR2FsbGVyeSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIGFsbG93X25vbmU9dHJ1ZSBpdGVtcz0iS2VpbmUgR2FsbGVyeXw6Ojp0YkdldEdhbGxlcnlUcmVlIDo6OiIgdmFsdWVzPSJ8Ojo6dGJHZXRHYWxsZXJ5VHJlZSBhY3Rpb249J3VybCc6OjoiIHNtYXJ0eT1iYWNrZW5kIGFzc2lnbj0iYnRHYWxsZXJ5UGF0aCIgbm9fY29sbGFwc2U9dHJ1ZSAmIzEyNTs8L3ByZT48L3A+DQogICAgDQogPC9saT4gIA0KIA0KPC91bD4NCiAgDQo8L2Rpdj4NCjwvZGl2Pg0KRU9UOw0KDQojIEkNCiRsYW5nWydpZCddID0gJ0lEJzsNCiRsYW5nWydpZ25vcmUnXSA9ICdJZ25vcmUnOw0KJGxhbmdbJ2lnbm9yZWxpc3QnXSA9ICdJZ25vcmUgbGlzdGluZyc7DQokbGFuZ1snaW5hY3RpdmUnXSA9ICdJbmFjdGl2ZSc7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnaW5zdGFsbGVkJzsNCiRsYW5nWydpcCddID0gJ0lQIE51bWJlcic7DQokbGFuZ1snaXVybCddID0gJ1VSTCB0byBpZ25vcmUnOw0KJGxhbmdbJ2ltcG9ydHhtbF90aXRsZSddID0gJ0ltcG9ydCB0ZW1wbGF0ZSB2aWEgWE1MIGZpbGUnOw0KJGxhbmdbJ2ltcG9ydHhtbG5vdGUnXSA9ICdPbmx5IFRvb2xCb3ggWE1MIGZpbGVzIGFyZSBhbGxvd2VkJzsNCiRsYW5nWydpbXBvcnR4bWwnXSA9ICdJbXBvcnQgdGVtcGxhdGUgWE1MJzsNCiRsYW5nWydpbXBvcnR4bWxub3RlJ10gPSAnWE1MIGZpbGVzIGNvbnRhaW5pbmcgdmFyaW91cyBUb29sQm94IHRlbXBsYXRlcyBjYW4gYmUgZm91bmQgYXQgdGhlIE1vZHVsZSBGb3JnZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3QvZmlsZXMvMTA3NSIgdGFyZ2V0PSJfYmxhbmsiPlRvb2xCb3ggcGFnZTwvYT4uIFJlYWQgdGhlIHJlbGVhc2Utbm90ZXMgYmVmb3JlIHVwbG9hZGluZyEnOw0KDQoNCiMgSg0KDQojIEsNCiRsYW5nWydrZXl3b3JkJ10gPSAnS2V5d29yZCc7DQoNCiMgTA0KJGxhbmdbJ2xpbmt2YWx1ZSddID0gJ1R5cGUgb2YgcmV0dXJuIHZhbHVlIG9mIHRoZSBsaW5rJzsNCg0KIyBNDQokbGFuZ1snbWFpbiddID0gJ01haW4nOw0KJGxhbmdbJ21ha2VhY3RpdmUnXSA9ICdBY3RpdmF0ZSc7DQokbGFuZ1snbWFrZWluYWN0aXZlJ10gPSAnRGVhY3RpdmF0ZSc7DQokbGFuZ1snbWF4XzQwNCddID0gJ01heC4gRXJyb3JzJzsNCiRsYW5nWydtYXhfNDA0X2hlbHAnXSA9ICdTZXQgaG93IG1hbnkgZXJyb3JzIHNob3VsZCBiZSBsb2dnZWQgKG1heC4pJzsNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyB3aGljaCBtYXkgYmUgdXNlZnVsIGZvciB3ZWJtYXN0ZXJzOiBBdXRvTGlnaHRCb3gsIFNvY2lhbFNoYXJlUHJpdmFjeSwgVHdpdHRlcmZlZWQsIDMwMS1SZWRpcmVjdHMsIDQwNC1FcnJvci1UcmFja2luZyc7DQokbGFuZ1snbW9kaWZpZWQnXSA9ICdMYXN0IHRpbWUnOw0KJGxhbmdbJ21vbnRoJ10gPSAnTW9udGgnOw0KJGxhbmdbJ21vbnRocyddID0gJ01vbnRocyc7DQokbGFuZ1snaW1wb3J0X211bHRpZG9tYWlucyddID0gJ0ltcG9ydCBkYXRhIGZyb20gdGhlIG1vZHVsZSBNdWx0aURvbWFpbnMnOw0KJGxhbmdbJ2ltcG9ydF9tdWx0aWRvbWFpbnNfaGVscCddID0gJ0F0dGVudGlvbjogVGhlIGRhdGEgaW1wb3J0IGZyb20gTXVsdGlEb21haW5zIHdhcyBhbHJlYWR5IGRvbmUgKCVzIHRpbWVzKSEhISc7DQokbGFuZ1snZHJvcF9tdWx0aWRvbWFpbnMnXSA9ICdEcm9wIHRhYmxlcyBmcm9tIG9sZCBNdWx0aURvbWFpbnMgbW9kdWxlPyc7DQokbGFuZ1snbWFpbl9ldmVudF9oYW5kbGVyX2FjdGl2ZSddID0gJ1Rvb2xCb3ggaXMgYWN0aXZlIGluIHRoZSBldmVudCBoYW5kbGVyJzsNCiRsYW5nWydtYWluX2V2ZW50X2hhbmRsZXJfaW5hY3RpdmUnXSA9ICdUaGUgdG9vbCBib3ggbXVzdCBiZSBhY3RpdmF0ZWQgaW4gdGhlIFRlbXBsYXRlIHdpdGgge1Rvb2xCb3h9JzsNCiRsYW5nWydtYWluX3N0YXRzX2FjdGl2ZSddID0gJ1N0YXRpc3RpY3MnOw0KJGxhbmdbJ21haW5fc3RhdHNfaW5hY3RpdmUnXSA9ICdTdGF0aXN0aWNzJzsNCiRsYW5nWydtYWluX3N0YXRzXzQwNF9hY3RpdmUnXSA9ICc0MDQgRXJyb3IgVHJhY2tpbmcnOwkJDQokbGFuZ1snbWFpbl9zdGF0c180MDRfaW5hY3RpdmUnXSA9ICc0MDQgRXJyb3IgVHJhY2tpbmcnOw0KJGxhbmdbJ21haW5fb2xkdXJsX2FjdGl2ZSddID0gJ1VSTCByZWRpcmVjdHMnOw0KJGxhbmdbJ21haW5fb2xkdXJsX2luYWN0aXZlJ10gPSAnVVJMIHJlZGlyZWN0cyc7DQokbGFuZ1snbWFpbl9hdXRvbGlnaHRib3hfYWN0aXZlJ10gPSAnQXV0b0xpZ2h0Qm94JzsNCiRsYW5nWydtYWluX2F1dG9saWdodGJveF9pbmFjdGl2ZSddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1snbWFpbl9zb2NpYWxzaGFyZXByaXZhY3lfYWN0aXZlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsNCiRsYW5nWydtYWluX3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7DQokbGFuZ1snbWFpbl90YWlsX2FjdGl2ZSddID0gJ3RhaWwgTG9nIGZ1bmN0aW9uYWxpdHknOw0KJGxhbmdbJ21haW5fdGFpbF9pbmFjdGl2ZSddID0gJ3RhaWwgTG9nIGZ1bmN0aW9uYWxpdHknOw0KJGxhbmdbJ21haW5fZGVidWdfYWN0aXZlJ10gPSAnRGVidWdnaW5nJzsNCiRsYW5nWydtYWluX2RlYnVnX2luYWN0aXZlJ10gPSAnRGVidWdnaW5nJzsNCiRsYW5nWydtYWluX3NtYXJ0eXBsdWdpbnNfYWN0aXZlJ10gPSAnU21hcnR5IFBsdWdpbiAkdGJ0b29scyBpcyBhY3RpdmUnOw0KJGxhbmdbJ21haW5fbW9iaWxlZGV0ZWN0X2FjdGl2ZSddID0gJ1NtYXJ0eSBQbHVnaW4gJHRibW9iaWxlIGlzIGFjdGl2ZSAtIGRldGVjdCBtb2JpbGUgZGV2aWNlcyc7DQokbGFuZ1snbWFpbl9mdW5jdGlvbnNfYWN0aXZlJ10gPSAnVGhlIFRvb2xib3ggcGx1Z2lucyBhcmUgYXZhaWxhYmxlJzsNCiRsYW5nWydtYWluX2Z1bmN0aW9uc19hY3RpdmUnXSA9ICdUaGUgVG9vbGJveCBtb2RpZmllciBhcmUgYXZhaWxhYmxlJzsNCiRsYW5nWydtb2R1bGVvcHMnXSA9ICdNb2R1bGUgT3BlcmF0aW9ucyc7DQokbGFuZ1snbW9kdWxlb3BzX3VzZSddID0gJ3VzZSBNb2R1bGUgT3BlcmF0aW9ucyAtPiBiYWNrdXAgYW5kIHJlY292ZXJ5IG9mIG1vZHVsZSBwcmVmZXJlbmNlcyc7DQokbGFuZ1snbXNnX3NhdmV0ZW1wbGF0ZXByZWYnXSA9ICdEaWUgVGVtcGxhdGVlaW5zdGVsbHVuZ2VuIHd1cmRlbiBlcmZvbGdyZWljaCBnZXNwZWljaGVydCc7DQokbGFuZ1snbXNnX3NhdmVwcmVmJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0JzsNCiRsYW5nWydtc2dfcmVzZXRwcmVmJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIHp1csO8Y2tnZXNldHp0JzsNCiRsYW5nWydkZXNrdG9wdHBsJ10gPSAnTW9iaWxlIHRlbXBsYXRlJzsNCg0KIyBODQokbGFuZ1snbmV2ZXInXSA9ICdOZXZlcic7DQokbGFuZ1snbmV3J10gPSAnKG5ldyknOw0KJGxhbmdbJ25ld3JlZGlyZWN0J10gPSAnTmV3IFVSTCBSZWRpcmVjdCc7DQokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7DQokbGFuZ1snbm9fZmlsZXMnXSA9ICJGb3IgdGhpcyB0ZW1wbGF0ZSwgdGhlcmUgYXJlIG5vIGZpbGVzLiI7DQoNCg0KIyBPDQokbGFuZ1snb2xkdXJsX3VzZSddID0gJ0FjdGl2YXRlIHRhYiBmb3IgVVJMIHJlZGlyZWN0cyc7DQokbGFuZ1snb3ZlcndyaXRlJ10gPSAnT3ZlcndyaXRlIGV4aXN0aW5nIG1vZHVsZSB0ZW1wbGF0ZXMnOw0KDQojIFANCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7DQokbGFuZ1sncGFnZWlkJ10gPSAnUGFnZSBJRCc7DQokbGFuZ1sncGFnZWFsaWFzJ10gPSAnUGFnZSBBbGlhcyc7DQokbGFuZ1sncGFyYW1faW52YWxpZCddID0gJ3tUb29sQm94fSB0aGUgcGFyYW1ldGVyIG1vZD0iW21vZF0iIGlzIGludmFsaWQnOw0KJGxhbmdbJ3BhcmFtX2VtcHR5J10gPSAne1Rvb2xCb3h9IHRoZSBwYXJhbWV0ZXIgIltwYXJhbV0iIGlzIGVtcHR5JzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBUb29sQm94IG1vZHVsZSBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkLiBZb3UgY2FuIGFjY2VzcyB0aGUgbW9kdWxlIGJhY2tlbmQgaW4gRXh0ZW5zaW9ucyAvIFRvb2xCb3guIFRoZSBtb2R1bGUgaXMgdXNpbmcgdGhlIHBlcm1pc3Npb25zICJNYW5hZ2UgVG9vbEJveCIuJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFRvb2xCb3ggbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiByZW1vdmVkJzsNCiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsNCiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdBcmUgeW91IHJlYWxseSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGUgbW9kdWxlIFRvb2xCb3g/JzsNCiRsYW5nWydwYXJhbW1vZCddID0gJ1Rvb2xib3ggbW9kdWwgcGFydCwgZXhhbXBsZTogbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kiJzsNCiRsYW5nWydwYXJhbXVzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOw0KJGxhbmdbJ3BhcmFtbGlzdCddID0gJ2xpc3QgbmFtZSc7DQokbGFuZ1sncGFyYW1zZWFyY2gnXSA9ICdzZWFyY2gga2V5JzsNCiRsYW5nWydwYXJhbXRlbXBsYXRlJ10gPSAnTmFtZSBkZXMgVGVtcGxhdGVzIHdlbGNoZXMgdmVyd2VuZGV0IHdpcmQuIERpZXNlcyBUZW1wbGF0ZSBtdXNzIGV4aXN0aWVyZW4gaW0gUmVpdGVyIGRlcyB2ZXJ3ZW5kZXRlbiBUb29sYm94IE1vZHVscyBzaWNodGJhciBzZWluLiBPaG5lIGRpZXNlbiBQYXJhbWV0ZXIgd2lyZCBkYXMgYWxzIFN0YW5kYXJkLVRlbXBsYXRlIGRlZmluaWVydGUgVGVtcGxhdGUgdmVyd2VuZGV0Lic7DQokbGFuZ1sncGFyYW1jb3VudCddID0gJ0FuemFobCBEYXRlbnPDpHR6ZSBkaWUgYW5nZXplaWd0IHdlcmRlbiBzb2xsZW4nOw0KJGxhbmdbJ3BhcmFtZGF0ZWZvcm1hdCddID0gJ0RhdHVtc2Zvcm1hdCBpbiBkZXIgRm9ybSBkLW0tWSBIOmk6cyc7DQokbGFuZ1sncGFyYW1ub2NhY2hlJ10gPSAnRGF0ZW4gd2VyZGVuIG5pY2h0IGdlc3BlaWNoZXJ0JzsNCiRsYW5nWydwYXJhbWNhY2hldGltZSddID0gJ1plaXQgaW4gTWludXRlbiBpbiBkZW5lbiBkYXMgUmVzdWx0YXQgaW0gQ2FjaGUgZ2VzcGVpY2hlcnQgYmxlaWJ0LiBTdGFuZGFyZCBpc3QgMTAgTWludXRlbiAoMTApJzsNCiRsYW5nWydwYXJhbWltYWdlJ10gPSAnUGF0aCB0byBwaWN0dXJlJzsNCiRsYW5nWydwYXJhbWhlaWdodCddID0gJ0hlaWdodCBpbiBwaXhlbCc7DQokbGFuZ1sncGFyYW13aWR0aCddID0gJ1dpZHRoIGluIHBpeGVsJzsNCiRsYW5nWydwYXJhbWFsdCddID0gJ2FsdCBBdHRyaWJ1dGUnOw0KJGxhbmdbJ3BhcmFtdGl0bGUnXSA9ICd0aXRsZSBBdHRyaWJ1dGUnOw0KJGxhbmdbJ3BhcmFtY2xhc3MnXSA9ICdjbGFzcyBBdHRyaWJ1dGUnOw0KJGxhbmdbJ3BhcmFtaWQnXSA9ICdpZCBBdHRyaWJ1dGUnOw0KJGxhbmdbJ3BhcmFtc3R5bGUnXSA9ICdzdHlsZSBBdHRyaWJ1dGUnOw0KJGxhbmdbJ3BhcmFtbm90YWcnXSA9ICdyYXcgcmVzdWx0IHdpdGhvdXQgdGFnJzsNCiRsYW5nWydwYXJhbWRldGFpbHRlbXBsYXRlJ10gPSAnRGV0YWlsIHRlbXBsYXRlJzsNCiRsYW5nWydwYXJhbWZpbGUnXSA9ICdGaWxlJzsNCiRsYW5nWydwYXJhbWZpbGVjaGFyc2V0J10gPSAnRmlsZSBjaGFyc2V0JzsNCiRsYW5nWydwcm9tcHRfaW1wb3J0dGVtcGxhdGUnXSA9ICdJbXBvcnQgdGVtcGxhdGUnOw0KJGxhbmdbJ3BhcmFtYWN0aW9uJ10gPSAnQWN0aW9uJzsNCiRsYW5nWydwYXJhbXNvcnRieSddID0gJ1NvcnQgYnknOw0KJGxhbmdbJ3BhcmFtc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7DQokbGFuZ1sncGFyYW1kZWxpbWl0ZXInXSA9ICdEZWxpbWl0ZXInOw0KJGxhbmdbJ3Byb21wdF9hYm91dCddID0gJ0Fib3V0JzsNCiRsYW5nWydwcm9tcHRfYWN0aXZlJ10gPSAnQWN0aXZlJzsNCiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ0RlZmF1bHQnOw0KJGxhbmdbJ3Byb21wdF9kZWxldGUnXSA9ICdEZWxldGUnOw0KJGxhbmdbJ3Byb21wdF9lZGl0dGVtcGxhdGUnXSA9ICdFZGl0IFRlbXBsYXRlJzsNCiRsYW5nWydwcm9tcHRfZmlsZSddID0gJ0ZpbGUnOw0KJGxhbmdbJ3Byb21wdF9qcXVlcnknXSA9ICd1c2UgalF1ZXJ5JzsNCiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOw0KJGxhbmdbJ3Byb21wdF9uZXd0ZW1wbGF0ZSddID0gJ0NyZWF0ZSBhIG5ldyB0ZW1wbGF0ZSc7DQokbGFuZ1sncHJvbXB0X3NpemUnXSA9ICdTaXplJzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnVGVtcGxhdGUtTmFtZSc7DQokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbWFuYWdlbWVudCddID0gJ1RlbXBsYXRlIE1hbmFnZW1lbnQnOw0KJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZWNzcyddID0gJ1RlbXBsYXRlIENTUy1zdHlsZXNoZWV0JzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVqcyddID0gJ1RlbXBsYXRlIEphdmFTY3JpcHQnOw0KJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIFNvdXJjZSc7DQokbGFuZ1sncHJvbXB0X3RlbXBsYXRlZmlsZXMnXSA9ICdUZW1wbGF0ZSBGaWxlcyc7DQokbGFuZ1sncHJvbXB0X3VwbG9hZGZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7DQokbGFuZ1sncHJvbXB0X3ZlcnNpb24nXSA9ICdWZXJzaW9uJzsNCiRsYW5nWydwcm9tcHRfdmlzaWJsZSddID0gJ1Zpc2libGUgaW4gdGVtcGxhdGUgZHJvcGRvd24nOw0KJGxhbmdbJ3Byb21wdF9vbGR1cmxfdGl0bGUnXSA9ICdVUkwgcmVkaXJlY3RzJzsNCiRsYW5nWydwcm9tcHRfc3RhdHNfNDA0X3RpdGxlJ10gPSAnNDA0IExvZ2dpbmcnOw0KJGxhbmdbJ3Byb21wdF9hdXRvbGlnaHRib3hfdGl0bGUnXSA9ICdBdXRvTGlnaHRCb3g/JzsNCiRsYW5nWydwcm9tcHRfc29jaWFsc2hhcmVwcml2YWN5X3RpdGxlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsNCiRsYW5nWydwcm9tcHRfc3RhdHNfdGl0bGUnXSA9ICdTdGF0aXN0aWNzJzsNCiRsYW5nWydwcm9tcHRfZGVidWdfdGl0bGUnXSA9ICdEZWJ1Zyc7DQokbGFuZ1sncHJvbXB0X3RhaWxfdGl0bGUnXSA9ICdMb2dnaW5nJzsNCiRsYW5nWydwcm9tcHRfcHJlZnNfdGl0bGUnXSA9ICdQcmVmZXJlbmNlcyc7DQokbGFuZ1sncHJvbXB0X211bHRpZG9tYWluX3RpdGxlJ10gPSAnTXVsdGlkb21haW5zJzsNCiRsYW5nWydwcm9tcHRfaW1hZ2VtYW5pcHVsYXRpb25fc29jaWFscGx1Z2luJ10gPSAnSW1hZ2UgbWFuaXB1bGF0aW9uIC8gc29jaWFsIHBsdWdpbnMnOw0KJGxhbmdbJ3Byb21wdF90cmFja2luZ19sb2dnaW5nJ10gPSAnTG9nZ2luZyAgLyB0cmFja2luZyc7DQokbGFuZ1sncHJvbXB0X2dlbmVyYWxfcHJlZnMnXSA9ICdHZW5lcmFsIHByZWZlcmVuY2VzJzsNCiRsYW5nWydwcm9tcHRfamF2YXNjcmlwdF9mb290ZXInXSA9ICdJbmNsdWRlIGphdmFzY3JpcHQgYmVmb3IgJmx0Oy9ib2R5Jmd0Oyc7DQokbGFuZ1sncHJvbXB0X3R3aXR0ZXJmZWVkX3RpdGxlJ10gPSAnVHdpdHRlcmZlZWQnOw0KJGxhbmdbJ3Byb21wdF9wYXJhbWV0ZXInXSA9ICdQYXJhbWV0ZXInOw0KJGxhbmdbJ3Byb21wdF9jc3ZfdGl0bGUnXSA9ICdDU1YgTGlzdEl0JzsNCiRsYW5nWydwcm9tcHRfbWluaWZ5J10gPSAnTWluaWZ5IEphdmFTY3JpcHQgYW5kIENTUy1zdHlsZXNoZWV0JzsNCiRsYW5nWydwcm9tcHRfc3VtbWFyeXRlbXBsYXRlJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZSc7DQokbGFuZ1sncHJvbXB0X2RldGFpbHRlbXBsYXRlJ10gPSAnRGV0YWlsIFRlbXBsYXRlJzsNCiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRGVsaW1pdGVyIGRlciBDU1YgRGF0ZWknOw0KJGxhbmdbJ3Byb21wdF9jaGFyc2V0ZmlsZSddID0gJ0NoYXJzZXQgQ1NWIERhdGVpJzsNCiRsYW5nWydwcm9tcHRfY2hhcnNldGNtcyddID0gJ0NoYXJzZXQgQ01TIFN5c3RlbSc7DQokbGFuZ1sncHJvbXB0X3VybHR5cGUnXSA9ICdVUkwgdHlwZSc7DQokbGFuZ1sncHJvbXB0X3VzZV9tb2JpbGV0ZW1wbGF0ZSddID0gJ1VzZSBtb2JpbGUgdGVtcGxhdGUnOw0KDQojIFENCg0KIyBSDQokbGFuZ1sncmVhbGx5bWFrZWFjdGl2ZSddID0gJ0RvIHlvdSB3YW50IHRvIGFjdGl2YXRlIHRoaXMgcmVhbGx5Pyc7DQokbGFuZ1sncmVhbGx5aWdub3JlJ10gPSAnRG8geW91IHdhbnQgdG8gaWdub3JlIHRoaXMgdXJsIGluIGVycm9yIGxpc3Q/JzsNCiRsYW5nWydyZWFsbHltYWtlaW5hY3RpdmUnXSA9ICdEbyB5b3Ugd2FudCB0byBkZWFjdGl2YXRlIHRoaXMgcmVhbGx5Pyc7DQokbGFuZ1sncmVhbGx5ZGVsZXRlJ10gPSAnRG8geW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgcmVhbGx5Pyc7DQokbGFuZ1sncmVkaXJlY3QnXSA9ICdVUkwgUmVkaXJlY3QnOw0KJGxhbmdbJ3JlZGlyZWN0ZWRpdCddID0gJ0VkaXQgUmVkaXJlY3QgVVJMJzsNCiRsYW5nWydyZWRpcmVjdHMnXSA9ICdSZWRpcmVjdCBVUkxzJzsNCiRsYW5nWydyZWZlcmVyJ10gPSAnUmVmZXJlcic7DQokbGFuZ1sncmVnZXhwJ10gPSAnUmVnRXhwJzsNCiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsNCiRsYW5nWydyZXNldG9yaWdpbmFsJ10gPSAnUmVzZXQgdG8gb3JpZ2luYWwnOw0KJGxhbmdbJ3Jlc2V0b3JpZ2luYWx3YXJuaW5nJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSB0ZW1wbGF0ZSBjb2RlIHRvIGl0cyBvcmlnaW5hbCBjb2RlPyc7DQokbGFuZ1sncmVzZXRvcmlnaW5hbHdhcm5pbmcyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSBwcmVmZXJlbmNlcyB0byBpdHMgb3JpZ2luYWw/JzsNCg0KIyBTDQokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7DQokbGFuZ1snc2VhcmNodGVtcGxhdGUnXSA9ICdTZWFyY2ggVGVtcGxhdGUnOw0KJGxhbmdbJ3NlYXJjaGVuZ2luZSddID0gJ1NlYXJjaCBFbmdpbmUnOw0KJGxhbmdbJ3NlbmQnXSA9ICdTdWJtaXQnOw0KJGxhbmdbJ3Nlc3Npb25faWQnXSA9ICdTZXNzaW9uIElEJzsNCiRsYW5nWydzZXRmYWxzZSddID0gJ1NldCBGYWxzZSc7DQokbGFuZ1snc2V0dHJ1ZSddID0gJ1NldCBUcnVlJzsNCiRsYW5nWydzbWFydHl0YWdzJ10gPSAnWW91IGNhbiB1c2UgU21hcnR5LXRhZ3MgbGlrZSBbW3Jvb3RfdXJsXV0nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF9hZHZhbmNlZCddID0gJ0FkdmFuY2VkIHNldHRpbmdzIGVuYWJsZSAoSFRNTCwgU3R5bGVzaGVldCBhbmQgSmF2YVNjcmlwdCBUZW1wbGF0ZSBlZGl0IGRpcmVjdGx5KSc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X2Rlc2NyaXB0aW9uJ10gPSAnPHA+U29jaWFsU2hhcmVQcml2YWN5IGlzIGEgcGx1Z2luIHRvIHR3by1zdGVwIGludGVncmF0aW9uIG9mIEZhY2Vib29rLCBUd2l0dGVyIGFuZCBHb29nbGVQbHVzLiBPbmx5IGFmdGVyIGNsaWNraW5nIG9uIHRoZSBidXR0b24sIGRhdGEgaXMgdHJhbnNtaXR0ZWQgb24gdGhlIHNlcnZpY2UuPGJyIC8+PGJyIC8+U29jaWFsU2hhcmVQcml2YWN5IGlzIGhlcmVieSBpbmNvcnBvcmF0ZWQgYXMgZm9sbG93czoge1Rvb2xCb3ggbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kifTwvcD4nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSBpcyBub3QgYWN0aXZlISc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF9pbmZvbGluayddID0gJ0xpbmsgdG8gYW4gaW5mb3JtYXRpb24gcGFnZSB3aGljaCBpcyBleHBsYWluaW5nIGZ1bmN0aW9uYWxpdHlzJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2pxdWVyeSddID0gJ0VtYmVkIGpRdWVyeSc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZV9pbmZvJ10gPSAnRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHVzZSBvZiBTb2NpYWxTaGFyZVByaXZhY3kgYW5kIHRoZSB2YXJpb3VzIG9wdGlvbnMgY2FuIGJlIGZvdW5kIGhlcmU6IDxhIGhyZWY9Imh0dHA6Ly93d3cuaGVpc2UuZGUvZXh0cmFzL3NvY2lhbHNoYXJlcHJpdmFjeS8iPmh0dHA6Ly93d3cuaGVpc2UuZGUvZXh0cmFzL3NvY2lhbHNoYXJlcHJpdmFjeS88L2E+IChnZXJtYW4pJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlJ10gPSAnSFRNTCc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZWNzcyddID0gJ1N0eWxlc2hlZXQnOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGVqcyddID0gJ0phdmFTY3JpcHQnOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9zZXR0aW5nc3Blcm1hJ10gPSAnQWdyZWUgYWN0aXZhdGUgcGVybWFuZW50bHkgYW5kIGRhdGEgdHJhbnNmZXI6JzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJpbmZvJ10gPSAnMiBjbGlja3MgZm9yIGJldHRlciBkYXRhIHByb3RlY3Rpb246IE9ubHkgd2hlbiB5b3UgY2xpY2sgaGVyZSwgdGhlIGJ1dHRvbiB3aWxsIGJlY29tZSBhY3RpdmUgYW5kIHlvdSBjYW4gc2VuZCB5b3VyIHJlY29tbWVuZGF0aW9uIHRvIEZhY2Vib29rLiBFdmVuIHdoZW4gZW5hYmxpbmcgZGF0YSB0byBiZSB0cmFuc2ZlcnJlZCB0byB0aGlyZCBwYXJ0aWVzICZuZGFzaDsgc2VlIEkuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvZmYnXSA9ICdub3QgbGlua2VkIHRvIEZhY2Vib29rJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvbiddID0gJ2Nvbm5lY3RlZCB0byBGYWNlYm9vayc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dHR3aXR0ZXJpbmZvJ10gPSAnMiBjbGlja3MgZm9yIGJldHRlciBkYXRhIHByb3RlY3Rpb246IE9ubHkgd2hlbiB5b3UgY2xpY2sgaGVyZSwgdGhlIGJ1dHRvbiB3aWxsIGJlY29tZSBhY3RpdmUgYW5kIHlvdSBjYW4gc2VuZCB5b3VyIHJlY29tbWVuZGF0aW9uIHRvIFR3aXR0ZXIuIEV2ZW4gd2hlbiBlbmFibGluZyBkYXRhIHRvIGJlIHRyYW5zZmVycmVkIHRvIHRoaXJkIHBhcnRpZXMgJm5kYXNoOyBzZWUgSS4nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHR0d2l0dGVyb2ZmJ10gPSAnbm90IGxpbmtlZCB0byBUd2l0dGVyJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9uJ10gPSAnY29ubmVjdGVkIHRvIFR3aXR0ZXInOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRncGx1c2luZm8nXSA9ICcyIGNsaWNrcyBmb3IgYmV0dGVyIGRhdGEgcHJvdGVjdGlvbjogT25seSB3aGVuIHlvdSBjbGljayBoZXJlLCB0aGUgYnV0dG9uIHdpbGwgYmVjb21lIGFjdGl2ZSBhbmQgeW91IGNhbiBzZW5kIHlvdXIgcmVjb21tZW5kYXRpb24gdG8gR29vZ2xlKy4gRXZlbiB3aGVuIGVuYWJsaW5nIGRhdGEgdG8gYmUgdHJhbnNmZXJyZWQgdG8gdGhpcmQgcGFydGllcyAmbmRhc2g7IHNlZSBJLic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzb2ZmJ10gPSAnbm90IGxpbmtlZCB0byBHb29nbGUrJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNvbiddID0gJ2Nvbm5lY3RlZCB0byBHb29nbGUrJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0aGVscCddID0gJ0lmIHlvdSBzZWxlY3QgdGhpcyBmaWVsZCB3aXRoIGEgY2xpY2ssIGluZm9ybWF0aW9uIG9uIEZhY2Vib29rLCBUd2l0dGVyIGFuZCBHb29nbGUgYXJlIHRyYW5zZmVycmVkIHRvIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCBtYXkgYWxzbyBiZSBzdG9yZWQgdGhlcmUuIERldGFpbHMgeW91IGtub3cgYnkgY2xpY2tpbmcgb24gdGhlIEkuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdGl0bGUnXSA9ICdTb2NpYWxTaGFyZVByaXZhY3kgLSBTb2NpYWwtTWVkaWEgQnV0dG9ucyB3aXRoIDItQ2xpY2sgUnVsZSc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddID0gJ1VzZSBTb2NpYWxTaGFyZVByaXZhY3knOw0KJGxhbmdbJ3N0YW5kYXJkJ10gPSAnU3RhbmRhcmQnOw0KJGxhbmdbJ3N0YXRzJ10gPSAnU3RhdGlzdGljcyc7DQokbGFuZ1snc3RhdHNfNDA0J10gPSAnU2hvdyA0MDQgZXJyb3IgcmVwb3J0JzsNCiRsYW5nWydzdGF0c19kYWlseSddID0gJ1VzZSBkYWlseSBzdGF0aXN0aWNzJzsNCiRsYW5nWydzdGF0c19lbWFpbCddID0gJ0VNYWlsIGZvciBtb250aGx5IHN0YXRpc3RpY3MnOw0KJGxhbmdbJ3N0YXRzX2VtYWlsX2hlbHAnXSA9ICdMZWF2ZSBlbXB0eSwgaWYgeW91IHdvblwndCB1c2UgaXQnOw0KJGxhbmdbJ3N0YXRzX2VtYWlsX3N1YmplY3QnXSA9ICdUb29sQm94IFN0YXRpc3RpY3MgJXUgb2YgJW0nOw0KJGxhbmdbJ3N0YXRzX3VzZSddID0gJ1VzZSBzdGF0aXN0aWNzJzsNCiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOw0KJGxhbmdbJ3N1Ym1pdCddID0gJ1NhdmUnOw0KDQojIFQNCg0KJGxhbmdbJ3RhaWxfcHJvbXB0X2ZpbGVuYW1lJ10gPSAnU2VsZWN0IHRoZSBsb2cgZmlsZSB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkJzsNCiRsYW5nWyd0YWlsX3Byb21wdF9saW5lcyddID0gJ051bWJlciBvZiByb3dzIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXQgdGhlIGZpcnN0IHJlYWRpbmcgcHJvY2VzcyBmcm9tIHRoZSBsb2cgZmlsZSc7DQokbGFuZ1sndGFpbF9wcm9tcHRfbG9nJ10gPSAnTG9nZmlsZSBpc3N1ZSc7DQokbGFuZ1sndGFpbF9zdGFydCddID0gJ1N0YXJ0IGxvZ2dpbmcnOw0KJGxhbmdbJ3RhaWxfc3RvcCddID0gJ1N0b3AgbG9nZ2luZyc7DQokbGFuZ1sndGFpbF90aXRsZSddID0gJ0xvZyBmaWxlIGlzc3VlIHRocm91Z2ggalF1ZXJ5IFRhaWwnOw0KJGxhbmdbJ3RhaWxfdXNlJ10gPSAnTG9nIGZpbGUgaXNzdWUgdGhyb3VnaCBqcXVlcnkvdGFpbCBhY3RpdmF0ZS4gVGhpcyBpcyBvbmUgb2YgdGhlIFVuaXggZnVuY3Rpb24gZGlzcGxheXMgInRhaWwiIHNpbWlsYXIgZnVuY3Rpb25zIGluIGxvZyBmaWxlIGluIHJlYWwgdGltZS4nOw0KJGxhbmdbJ3RhcmdldHBhZ2UnXSA9ICdUYXJnZXQgUGFnZSc7DQokbGFuZ1sndGFyZ2V0dXJsJ10gPSAnVGFyZ2V0IFVSTCc7DQokbGFuZ1sndGltZSddID0gJ1RpbWUnOw0KJGxhbmdbJ3RvdXJsJ10gPSAnTWlzc2luZyBQYWdlJzsNCiRsYW5nWyd0ZW1wbGF0ZWltcG9ydCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7DQokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7DQokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGVtcGxhdGUgZGVsZXRlZCc7DQokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOw0KJGxhbmdbJ3RpdGxlX2ltcG9ydHhtbCddID0gJ0ltcG9ydCB0ZW1wbGF0ZSB2aWEgWE1MIGZpbGUnOw0KJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUtRWRpdG9yJzsNCiRsYW5nWyd0d2l0dGVyZmVlZCddID0gJ1R3aXR0ZXJmZWVkJzsNCiRsYW5nWyd0d2l0dGVyZmVlZF91c2UnXSA9ICdVc2UgVHdpdHRlcmZlZWQnOw0KJGxhbmdbJ3R3aXR0ZXJmZWVkX2Rlc2NyaXB0aW9uJ10gPSA8PDxFT1QNCgk8cD5NaXQgVHdpdHRlcmZlZWQga8O2bm5lbiBrYW5uIGRlciBGZWVkIGVpbmVzIFR3aXR0ZXItQWNjb3VudHMgaW4gZGllIFdlYnNlaXRlIGVpbmdlYnVuZGVuIHdlcmRlbi4gRGllIERhcnN0ZWxsdW5nIGRlcyBGZWVkcyBrYW5uIGluIGVpbmVtIFRlbXBsYXRlIGRlZmluaWVydCB3ZXJkZW4uPC9wPjxjb2RlPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRldGltZT0nZnJpZW5kbHknIGNhY2hldGltZT0xMCAmIzEyNTs8YnIgLz4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZXRpbWU9J2QubS5ZIEg6aScgJiMxMjU7PGJyIC8+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgbGlzdD0nd2ViZGVzaWduJyBjb3VudD01ICYjMTI1OzxiciAvPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHNlYXJjaD0nI2Ntc21zJyBjb3VudD0xMCAmIzEyNTsNCgkgIDwvY29kZT4NCiAgPC9jb2RlPiANCkVPVDsNCg0KDQojIFUNCiRsYW5nWyd1cmwnXSA9ICdVUkwnOw0KJGxhbmdbJ3VybHMnXSA9ICdVUkxzJzsNCiRsYW5nWyd1cGRhdGVkJ10gPSAndXBkYXRlZCc7DQoNCiMgVg0KJGxhbmdbJ3Zpc2l0cyddID0gJ1Zpc2l0cyc7DQokbGFuZ1sndmlldyddID0gJ1ZpZXcnOw0KDQojIFcNCg0KIyBYDQoNCiMgWQ0KJGxhbmdbJ3llYXInXSA9ICdZZWFyJzsNCiRsYW5nWyd5ZWFycyddID0gJ1llYXJzJzsNCg0KIyBaDQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMNCjxGaWxlcyB+ICJcLihwaHB8cGhwM3xwaHA0fHBocDV8cGh0bWx8cGx8Y2dpKSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjwvRmlsZXM+ICANCg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQojIDAtOQ0KJGxhbmdbJzQwNCddID0gJzQwNCBGZWhsZXInOw0KDQojIEENCiRsYW5nWydhY3RpdmUnXSA9ICdBa3Rpdic7DQokbGFuZ1snYWx0ZXJuYXRpdmVfdXJsJ10gPSAnRmFsbHMgZXMgc2ljaCB1bSBlaW5lIGV4dGVybmUgVVJMIG9kZXIgZWluIEJpbGQgaGFuZGVsdCwga2FubiBpbSBmb2xnZW5kZW4gRmVsZCBlaW5lIFVSTCBmcmVpIGVpbmdlZ2ViZW4gd2VyZGVuLiBEaWUgWmllbC1TZWl0ZSBhdXMgZGVtIG9iZXJlbiBGZWxkIHdpcmQgZGFubiBpZ25vcmllcnQuJzsNCiRsYW5nWydhbHdheXMnXSA9ICdJbW1lcic7DQokbGFuZ1snYXV0b2xpZ2h0Ym94J10gPSAnQXV0b0xpZ2h0Qm94JzsNCiRsYW5nWydhdXRvbGlnaHRib3hfdXNlJ10gPSAnQXV0b0xpZ2h0Qm94IGFrdGl2aWVyZW4nOw0KJGxhbmdbJ2F1dG9saWdodGJveF9kZXNjcmlwdGlvbiddID0gJzxwPk1pdCBkZXIgQXV0b0xpZ2h0Qm94IHdlcmRlbiBkaWUgQmlsZGVyIGlocmVyIFdlYnNlaXRlIGltbWVyIGluIGRlciBrb3JyZWt0ZW4gR3LDtnNzZSBnZXNwZWljaGVydC4gSXN0IGRhcyBlaW5nZWbDvGd0ZSBCaWxkIGdyw7Zzc2VyIGFscyBkYXMgT3JpZ2luYWxiaWxkLCBzbyBlcnN0ZWxsdCBBdXRvTGlnaHRCb3ggYXV0b21hdGlzY2ggZWluZSBLb3BpZSB1bmQgZXJzdGVsbHQgZWluZSBWZXJrbsO8cGZ1bmcgenVtIE9yaWdpbmFsYmlsZC4gTWl0IGFrdGl2aWVydGVyIExpZ2h0Ym94IEZ1bmt0aW9uIHdpcmQgZGFzIE9yaWdpbmFsYmlsZCBiZWltIEtsaWNrIGF1ZiBkYXMgdmVya2xlaW5lcnRlIEJpbGQgaW4gZWluZXIgTGlnaHRib3ggZ2XDtmZmbmV0LjwvcD4nOw0KJGxhbmdbJ2F1dG9saWdodGJveF90aXRsZSddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF9yZWwnXSA9ICdJbmhhbHQgZGVyICJyZWwiLUF0dHJpYnV0cyBkZXMgQmlsZC1MaW5rcyAoa2FubiBsZWVyIHNlaW4pJzsNCiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2NsYXNzJ10gPSAnSW5oYWx0IGRlciAiY2xhc3MiLUF0dHJpYnV0cyBkZXMgQmlsZC1MaW5rcyAoa2FubiBsZWVyIHNlaW4pJzsNCiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2xpZ2h0Ym94J10gPSAnTGlnaHRib3hlaW5iaW5kdW5nIGRlciBCaWxkZXIgZHVyY2ggQXV0b0xpZ2h0Qm94IHN0ZXVlcm4gKGRhcyBub3R3ZW5kaWdlIFN0eWxlc2hlZXQgdW5kIEphdmFTY3JpcHQgd2lyZCBhdXRvbWF0aXNjaCBlaW5nZWJ1bmRlbiknOw0KJGxhbmdbJ2FwcGx5J10gPSAnQW53ZW5kZW4nOw0KJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXb2xsZW4gU2llIGRpZXMgd2lya2xpY2ggbCZvdW1sO3NjaGVuPyc7DQokbGFuZ1snYWRkZmlsZXMnXSA9ICdEYXRlaWVuIGhpbnp1ZsO8Z2VuJzsNCg0KDQojIEINCiRsYW5nWydiYWNrdXByZWNvdmVyeSddID0gJ0JhY2t1cCAvIFdpZWRlcmhlcnN0ZWxsdW5nJzsNCg0KIyBDDQokbGFuZ1snY2FjaGUnXSA9ICdad2lzY2hlbnNwZWljaGVybic7DQokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsNCiRsYW5nWydjc3YnXSA9ICdDU1YgTGlzdEl0JzsNCiRsYW5nWydjc3ZmaWxlcyddID0gJ0RhdGVpZW4nOw0KJGxhbmdbJ2Nzdl9kZXNjcmlwdGlvbiddID0gJ01pdCBDU1YgTGlzdEl0IGvDtm5uZW4gSW5oYWx0ZSB2b24gQ1NWIERhdGVpZW4gZWluZmFjaCBkYXJnZXN0ZWxsdCB1bmQgZHVyY2hzdWNodCB3ZXJkZW4nOw0KJGxhbmdbJ2Nzdl91c2UnXSA9ICdDU1YgTGlzdEl0IGFrdGl2aWVyZW4nOw0KJGxhbmdbJ2NoYW5nZWxvZyddID0gPDw8RU9UDQo8dWw+DQo8bGk+MS4yLjUgLSAxMC4wOC4yMDEyPGJyIC8+DQpUd2l0dGVyZmVlZCBoaW56dWdlZsO8Z3Q8YnIgLz4NClNtYXJ0eSBrYW5uIG51biBpbiBTdHlsZXNoZWV0cyB1bmQgSmF2YXNjcmlwdHMgZ2VudXR6dCB3ZXJkZW46IHouQi4gW1tyb290X3VybF1dPGJyIC8+IA0KRmVobGVyYmVoZWJ1bmcgQXV0b0xpZ2h0Qm94PGJyIC8+DQpJbmtvbXBhdGliaWxpdMOkdCB6d2lzY2hlbiBBdXRvTGlnaHRCb3ggdW5kIFNvY2lhbFNoYXJlUHJpdmFjeSBiZWhvYmVuPGJyIC8+DQpKYXZhc2NyaXB0IGthbm4gbnVuIGF1Y2ggaW0gRm9vdGVyIGVpbmdlbGVzZW4gd2VyZGVuPGJyIC8+DQpEYXJzdGVsbHVuZyB1bmQgR3J1cHBpZXJ1bmcgZGVyIEVpbnN0ZWxsdW5nZW4gw7xiZXJhcmJlaXRldCANCjwvbGk+DQo8bGk+MS4yLjQgLSAyMC4wNy4yMDEyPGJyIC8+DQpBZGQgQXV0b0xpZ2h0Qm94IHRlbXBsYXRlIG1hbmFnZW1lbnQgDQo8L2xpPg0KPGxpPjEuMi4zIC0gMjYuMDYuMjAxMjxiciAvPg0KQnVnZml4ZXMgaW4gQXV0b0xpZ2h0Qm94DQo8L2xpPg0KPGxpPjEuMi4yPGJyIC8+DQpNaW5vciBCdWdmaXhlcw0KPC9saT4NCjxsaT4xLjIuMTxiciAvPg0KTWlub3IgQnVnZml4ZXM8L2xpPg0KDQo8bGk+MS4yLjA8YnIgLz4NCkFkZGVkIEF1dG9MaWdodEJveDxiciAvPg0KQWRkZWQgdGVtcGxhdGUgaW1wb3J0DQo8L2xpPg0KDQo8bGk+MS4xLjE8YnIgLz4NCm1pbm9yIGJ1Z2ZpeGVzPGJyIC8+DQp1cGRhdGUgU29jaWFsU2hhcmVQcml2YWN5IDEuNA0KPC9saT4NCg0KPGxpPjEuMS4wPGJyIC8+DQpBZGRlZCBTbWFydHkgcGx1Z2luIFwkdGJ0b29scy4gVGhpcyBlbmFibGVzIHlvdSB0byB1c2UgZGlmZmVyZW50IGZ1bmN0aW9ucyB0byBtb2RpZnkgY29udGVudC48YnIgLz4NCkFkZGVkIGRpZmZlcmVudCBwbHVnaW5zLjxiciAvPg0KQWRkZWQgcGx1Z2luIHRvIGV4dGVuZCBBZHZhbmNlZENvbnRlbnQ8YnIgLz4NCkFkZGVkIHBsdWdpbiB0byBzaG93IFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPGJyIC8+DQpBZGRlZCBhIFRhaWwtTG9nIFRhYjxiciAvPg0KTW9kdWxlIGhlbHAgaXMgbm93IG11Y2ggYmlnZ2VyIDopPGJyIC8+DQpUb29sQm94IGNhbGwgaXMgbm93IHBvc3NpYmxlIHdpdGgge1Rvb2xCb3h9DQo8L2xpPg0KDQo8bGk+MS4wLjEgLSBEZXplbWJlciAyMDExPC9saT4NCjxwPktsZWluZXJlIEZlaGxlci1CZXNlaXRpZ3VuZ2VuLjwvcD48L2xpPg0KPGxpPjEuMCAtIERlemVtYmVyIDIwMTENCjxwPkVyc3RlcyBSZWxlYXNlIGRlcyBNb2R1bHMgVG9vbEJveC48L3A+PC9saT4NCjwvdWw+DQpFT1Q7DQokbGFuZ1snY3JlYXRlZCddID0gJ0Vyc3RlcyBBdWZ0cmV0ZW4nOw0KJGxhbmdbJ2NvcHknXSA9ICdLb3BpZXJlbic7DQoNCiMgRA0KJGxhbmdbJ2RheSddID0gJ1RhZyc7DQokbGFuZ1snZGF5cyddID0gJ1RhZ2UnOw0KJGxhbmdbJ2RlYnVnJ10gPSAnRGVidWcnOw0KJGxhbmdbJ2RlYnVnX2xvZyddID0gJ0RlYnVnIExvZyc7DQokbGFuZ1snZGVidWdfdXNlJ10gPSAnRGVidWcgUmVpdGVyIHZlcndlbmRlbic7DQokbGFuZ1snZGVsZXRlJ10gPSAnTCZvdW1sO3NjaGVuJzsNCiRsYW5nWydkZWxldGVhbGwnXSA9ICdBbGxlIGzDtnNjaGVuJzsNCiRsYW5nWydkbyddID0gJ0FrdGlvbic7DQokbGFuZ1snZG9udF91c2VfZXZlbnRfaGFuZGxlciddID0gJ01vZHVsIGluIGRlciBFcmVpZ25pc3ZlcndhbHR1bmcgZGVha3RpdmllcmVuJzsNCiRsYW5nWydkb250X3VzZV9ldmVudF9oYW5kbGVyX2hlbHAnXSA9ICdXZW5uIGRhcyBNb2R1bCBhdXMgZGVyIEVyZWlnbmlzdmVyd2FsdHVuZyBkZWFrdGl2aWVydCB3aXJkLCBtdXNzIGRpZSBTbWFydHktQW53ZWlzdW5nIHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1Rvb2xCb3hcJ30gYW4gZGVuIEFuZmFuZyBkZXIgU2VpdGVuLVRlbXBsYXRlcyBlaW5nZXNldHp0IHdlcmRlbi4nOw0KJGxhbmdbJ2RvbmF0ZSddID0gJzxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0Ij48Zm9ybSBhY3Rpb249Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3IiIG1ldGhvZD0icG9zdCI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0ZWRfYnV0dG9uX2lkIiB2YWx1ZT0iRUQ4UFhDWTg5VTRURyI+PGlucHV0IHR5cGU9ImltYWdlIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL1dFQlNDUi02NDAtMjAxMTAzMDYtMS9kZV9ERS9ERS9pL2J0bi9idG5fZG9uYXRlX1NNLmdpZiIgYm9yZGVyPSIwIiBuYW1lPSJzdWJtaXQiIGFsdD0iSmV0enQgZWluZmFjaCwgc2NobmVsbCB1bmQgc2ljaGVyIG9ubGluZSBiZXphaGxlbiDigJMgbWl0IFBheVBhbC4iPjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9XRUJTQ1ItNjQwLTIwMTEwMzA2LTEvZGVfREUvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2Zvcm0+PC9kaXY+JzsNCiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhcmQnOw0KJGxhbmdbJ2Rlc2t0b3B0cGwnXSA9ICdEZXNrdG9wIFRlbXBsYXRlJzsNCg0KIyBFDQokbGFuZ1snZWRpdCddID0gJ0JlYXJiZWl0ZW4nOw0KJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdadWdyaWZmIHZlcndlaWdlcnQnOw0KJGxhbmdbJ2Vycm9ybGlzdCddID0gJ0ZlaGxlcmxpc3RlJzsNCiRsYW5nWydleHRyYWRvbWFpbnMnXSA9ICdFeHRyYSBEb21haW5zJzsNCiRsYW5nWydlcnJvcl90ZW1wbGF0ZWV4aXN0cyddID0gJ0RhcyBNb2R1bC1UZW1wbGF0ZSBleGlzdGllcnQgYmVyZWl0cyB1bmQga2FubiBuaWNodCAmdXVtbDtiZXJzY2hyaWViZW4gd2VyZGVuLic7DQokbGFuZ1snZXJyb3JfdGVtcGxhdGV1bmtub3duJ10gPSAnRGFzIE1vZHVsLVRlbXBsYXRlIFt0ZW1wbGF0ZV0gaXN0IHVuYmVrYW5udCc7DQokbGFuZ1snZXJyb3JfZGlyZWN0b3J5bm90d3JpdGFibGUnXSA9ICdEYXMgVmVyemVpY2huaXMgaXN0IG5pY2h0IGJlc2NocmVpYmJhci4nOw0KJGxhbmdbJ2Vycm9yX2luY29tcGxldGV4bWwnXSA9ICdYTUwgdW52b2xsc3QmYXVtbDtuZGlnLic7DQokbGFuZ1snZXJyb3JfdGVtcGxhdGVmaWxlbm90Zm91bmQnXSA9ICdUZW1wbGF0ZWRhdGVpIHd1cmRlIG5pY2h0IGdlZnVuZGVuJzsNCiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyJ10gPSAnS29ubnRlIGRhcyBWZXJ6ZWljaG5pcyBuaWNodCBlcnN0ZWxsZW4nOw0KJGxhbmdbJ2Vycm9yX2NhbnRjcmVhdGVmaWxlJ10gPSAnS29ubnRlIGRpZSBEYXRlaSBuaWNodCBlcnN0ZWxsZW4nOw0KJGxhbmdbJ2Vycm9yX2ZpbGVub3RleGlzdCddID0gJ0RpZSBEYXRlaSAiW2ZpbGVdIiBleGlzdGllcnQgbmljaHQnOw0KJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdFcyBleGlzdGllcmVuIGtlaW5lIERhdGVpZW4nOw0KJGxhbmdbJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnXSA9ICdGZWhsZXIgYmVpIGRlciBTeW50YXhhbmFseXNlIGRlciBYTUwtRGF0ZWkuIEJpdHRlIHN0ZWxsZW4gU2llIHNpY2hlciwgZGFzcyBTaWUgZWluZSBYTUwtRGF0ZWkgdW5kIG5pY2h0IGVpbmUgLnRhci5nei0gb2RlciAuemlwLURhdGVpIGhvY2hsYWRlbi4nOw0KJGxhbmdbJ2Vycm9yX2NvdWxkbm90cmVhZHRwbHByb3BzJ10gPSAnRGllIFRlbXBsYXRlIEVpbnN0ZWxsdW5nZW4ga8O2bm5lbiBuaWNodCBnZWxhZGVuIHdlcmRlbi4nOw0KJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGV0cGxwcm9wcyddID0gJ0RpZSBUZW1wbGF0ZSBFaW5zdGVsbHVuZ2VuIGvDtm5uZW4gbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuLic7DQokbGFuZ1snZXJyb3JfdW5rbm93bnBhcmFtJ10gPSAnVW5iZWthbm50ZXIgUGFyYW1ldGVyJzsNCiRsYW5nWydlcnJvcl9jdXJsJ10gPSAnQ3VybCBtdXNzIGluIFBIUCBha3RpdiBzZWluJzsNCiRsYW5nWydlcnJvcl9ub3RlbXBsYXRlcyddID0gJ0VzIGlzdCBrZWluIFRlbXBsYXRlIGluIGRlciBEYXRlbmJhbmsgZ2VzcGVpY2hlcnQnOw0KJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyISc7DQokbGFuZ1snZXhwb3J0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZXhwb3J0aWVyZW4nOw0KDQojIEYNCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdUb29sQm94JzsNCiRsYW5nWydmcm9tdXJsJ10gPSAnVmVyd2Vpcy1VUkwnOw0KDQojIEcNCiRsYW5nWydnZW5lcmFsJ10gPSAnQWxsZ2VtZWluJzsNCg0KIyBIDQokbGFuZ1snaGVscCddID0gPDw8RU9UDQoNCg0KPGRpdiBpZD0icGFnZV90YWJzIj4gICAgIA0KICA8ZGl2IGlkPSJnZW5lcmFsIj4NCiAgICBBbGxnZW1laW5lIEluZm9zICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0icmVkaXJlY3QiPg0KICAgIFdlaXRlcmxlaXR1bmdlbiAvIEZlaGxlciBUcmFja2luZyAgIA0KICA8L2Rpdj4gDQogIDxkaXYgaWQ9ImF1dG9saWdodGJveCI+DQogICAgQXV0b0xpZ2h0Qm94ICAgDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3kiPg0KICAgIFNvY2lhbFNoYXJlUHJpdmFjeSAgIA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idHdpdHRlcmZlZWQiPg0KICAgIFR3aXR0ZXJmZWVkICAgDQogIDwvZGl2PiAgICANCiAgPGRpdiBpZD0idGFpbCI+DQogICAgVGFpbCAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJzbWFydHl0b29scyI+DQogICAgU21hcnR5IFRvb2xzICAgDQogIDwvZGl2PiAgIA0KICA8ZGl2IGlkPSJtb2RpZmllciI+DQogICAgTW9kaWZpZXIgDQogIDwvZGl2PiAgICANCiAgPGRpdiBpZD0ibW9iaWxlZGV0ZWN0Ij4NCiAgICBNb2JpbGUgRGV0ZWN0ICANCiAgPC9kaXY+IA0KICA8ZGl2IGlkPSJwbHVnaW5zIj4NCiAgICBQbHVnaW5zICAgDQogIDwvZGl2PiAgICAgDQo8L2Rpdj4gICANCjxkaXYgY2xhc3M9ImNsZWFyYiI+ICANCg0KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gIA0KICA8ZGl2IGlkPSJnZW5lcmFsX2MiPg0KCTxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQoJPHA+RGllc2VzIE1vZHVsIGlzdCBlaW5lIFNhbW1sdW5nIHZvbiBUb29scywgZGllIGbDvHIgU2VpdGVuYmV0cmVpYmVyIG7DvHR6bGljaCBzaW5kLiBEZXJ6ZWl0aWdlIEZ1bmt0aW9uZW46PC9wPg0KCTx1bD4NCgk8bGk+MzAxLVdlaXRlcmxlaXR1bmdlbiAoei5CLiB2b24gZ2Vsw7ZzY2h0ZW4gU2VpdGVuKSBpbmtsdXNpdmUgZGVyIE3DtmdsaWNoa2VpdCwgZGllIFJlZ2VsbiBpbiByZWd1bMOkcmVuIEF1c2Ryw7xja2VuIGFuenVnZWJlbi48L2xpPg0KCTxsaT40MDQtRmVobGVyIFRyYWNraW5nIChhdWNoIHZvbiBCaWxkZXJuLCBQREYsIGV0Yy4pIC0gaW5rbHVzaXZlIElnbm9yaWVyLUZpbHRlciB1bmQgQW5rbsO8cGZ1bmcgYW4gZGllIDMwMS1GdW5rdGlvbi48L2xpPg0KCTxsaT5BdXRvTGlnaHRCb3ggLSBFcnN0ZWxsdCBhdXRvbWF0aXNjaCBlaW5lIExpZ2h0Qm94IFZlcmtuw7xwZnVuZywgd2VubiBzaWUgZWluIEJpbGQgaW4gZGVuIEluaGFsdCBlaW5mw7xnZW4gdW5kIHZlcmtsZWluZXJuLjwvbGk+DQoJPGxpPlNvY2lhbFNoYXJlUHJpdmFjeSAtIFByaXZhdHNwaMOkcmUgaW0gU29jaWFsIE1lZGlhIEJlcmVpY2ggZHVyY2ggZGllIDItS2xpY2sgUmVnZWwgc2ljaGVyc3RlbGxlbi48L2xpPg0KCTxsaT5Ud2l0dGVyZmVlZCAtIFplaWd0IGRlbiBUd2l0dGVyZmVlZCBlaW5lcyBCZW51dHplcnMgYW4uIERhenUga8O2bm5lbiB2ZXJzY2hpZWRlbmUgVGVtcGxhdGVzIGFuZ2VsZWd0IHdlcmRlbi48L2xpPg0KCTxsaT50YWlsIEZ1bmt0aW9uYWxpdMOkdCBmw7xyIExpdmUtTG9nZ2luZzwvbGk+DQoJPGxpPlNtYXJ0eSAtIENvbnRlbnQgRnVua3Rpb25lbjwvbGk+DQoJPGxpPlNtYXJ0eSAtIFBsdWdpbnM8L2xpPg0KCTwvdWw+DQoJDQoJPGgzPlN1cHBvcnQ8L2gzPg0KCTxwPkRpZXNlcyBNb2R1bCBiZXNpdHp0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuIEplZG9jaCBnaWJ0IGVzIGVpbmlnZSBBbmxhdWZzdGVsbGVuIGbDvHIgSGlsZmVzdGVsbHVuZ2VuOjwvcD4NCgk8dWw+DQoJPGxpPkbDvHIgZGllIG5ldWVzdGUgVmVyc2lvbiBkaWVzZXMgTW9kdWxlcywgRkFRcywgb2RlciB1bSBlaW5lbiBGZWhsZXIgenUgYmVyaWNodGVuLCBiZXN1Y2hlbiBTaWUgYml0dGUgZGllIFdlYnNlaXRlbiB2b24gQ01TIG1hZGUgc2ltcGxlOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUuZGU8L2xpPg0KCTxsaT5adXPDpHR6bGljaGUgRGlza3Vzc2lvbmVuIMO8YmVyIGRpZXNlcyBNb2R1bCBrw7ZubmVuIGF1Y2ggaW0gRm9ydW0gZ2VmdW5kZW4gd2VyZGVuOiA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5kZS92aWV3Zm9ydW0ucGhwP2lkPTkiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5kZS92aWV3Zm9ydW0ucGhwP2lkPTk8L2E+PC9saT4NCgk8bGk+RGVyIEF1dG9yLCBMdWthcyBCbGF0dGVyLCBrYW5uIMO8YmVyIHNlaW5lIFdlYnNlaXRlIGVycmVpY2h0IHdlcmRlbjogPGEgaHJlZj0iaHR0cDovL3d3dy5ibGF0dGVydGVjaC5jaCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYmxhdHRlcnRlY2guY2g8L2E+PC9saT4NCgk8bGk+RGVyIEF1dG9yLCBBbmRpIFBldHpvbGR0LCBrYW5uIMO8YmVyIHNlaW5lIFdlYnNlaXRlIGVycmVpY2h0IHdlcmRlbjogPGEgaHJlZj0iaHR0cDovL2FuZGltaW5pc3RyYXRvci5kZS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vYW5kaW1pbmlzdHJhdG9yLmRlPC9hPjwvbGk+DQoJPGxpPkF1w59lcmRlbSBrYW5uIGRlciBBdXRvciDDvGJlciBzZWluZSBFTWFpbC1BZHJlc3NlIGVycmVpY2h0IHdlcmRlbi48L2xpPg0KCTwvdWw+DQoJDQoJPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQoJPHA+Q29weXJpZ2h0IMKpIDIwMTEsIEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPiB1bmQgQW5kaSBQZXR6b2xkdCA8YW5kaUBwZXR6b2xkdC5uZXQ+LiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi48L3A+DQoJPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciBHUEwgKEdOVSBQdWJsaWMgTGljZW5zZSkgdmVyw7ZmZmVudGxpY2h0LiBTaWUgbcO8c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRpZXNlcyBNb2R1bCBiZW51dHplbi48L3A+DQoJDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJyZWRpcmVjdF9jIj4NCgk8aDM+V2llIGJlbnV0emUgaWNoIGRpZSAzMDEtV2VpdGVybGVpdHVuZ2VuIHVuZCBkYXMgNDA0LUZlaGxlcnRyYWNraW5nPzwvaDM+DQoJPHA+PHN0cm9uZz4xLiBLb25maWd1cmllcmUgZGFzIE1vZHVsPC9zdHJvbmc+PC9wPg0KCTxwPkRhcyBNb2R1bCBpc3QgcGVyIGRlZmF1bHQgw7xiZXIgZGllIEVyZWlnbmlzdmVyd2FsdHVuZyBiZXJlaXRzIGFrdGl2LiBEYXMgaGVpc3N0LCBkaWUgRnVua3Rpb25lbiBzaW5kIGF1dG9tYXRpc2NoIGluIGplZGVtIFRlbXBsYXRlIGFrdGl2LiBEYWR1cmNoIHdlcmRlbiBhdWNoIEZlaGxlciBpbSBCYWNrZW5kIG1pdGdlbG9nZ3QuPC9wPg0KCTxwPkR1IGthbm5zdCBhYmVyIGluIGRlbiBFaW5zdGVsbHVuZ2VuIGRpZSBWZXJ3ZW5kdW5nIGRlciBFcmVpZ25pc3ZlcndhbHR1bmcgYWJzdGVsbGVuLiBTdGF0dGRlc3NlbiBtdXNzIGRlciBNb2R1bGF1ZnJ1ZiBhbiBkZW4gQW5mYW5nIGRlcy9kZXIgU2VpdGVuLVRlbXBsYXRlcyBlaW5nZWJ1bmRlbiB3ZXJkZW46PGJyIC8+PGNvZGU+e1Rvb2xCb3h9PC9jb2RlPjxiciAvPg0KCUFtIGJlc3RlbiBpc3QgZGllc2VyIEF1ZnJ1ZiBnbGVpY2ggaGludGVyIHtwcm9jZXNzX3BhZ2VkYXRhfSBwbGF0emllcnQuPGJyIC8+QW5nZWJsaWNoIHNvbGwgZGFkdXJjaCBhdWNoIGRhcyBlaW5nZWJhdXRlIENhY2hpbmcgdm9uIENNU21zIG5pY2h0IG1laHIgYmVoaW5kZXJ0IHdlcmRlbi48L3A+DQoJPHA+TnVuIG11c3N0IER1IG5vY2ggaW4gZGVuIEVpbnN0ZWxsdW5nZW4gZGVzIE1vZHVscyBkaWUgRnVua3Rpb25lbiBha3RpdmllcmVuLCBkaWUgRHUgYmVudXR6ZW4gd2lsbHN0LjwvcD4NCgk8cD48c3Ryb25nPjIuIEbDvGdlIFJlZ2VsbiBpbiBkZW4gTW9kdWwtRnVua3Rpb25lbiBoaW56dTwvc3Ryb25nPjwvcD4NCgk8cD5Ob2NoIGltbWVyIG1hY2h0IGRhcyBNb2R1bCBnYXIgbmljaHRzLiBEdSBtdXNzdCBpbiBkZW4gZWluemVsbmVuIFJlaXRlcm4gZGVzIE1vZHVscyBub2NoIERlaW5lIGdld8O8bnNjaHRlbiBSZWdlbG4vRWluc3RlbGx1bmdlbiBtYWNoZW4uPC9wPg0KCQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iYXV0b2xpZ2h0Ym94X2MiPg0KCTxoMz5XaWUgYmVudXR6ZSBpY2ggQXV0b0xpZ2h0Qm94PzwvaDM+DQoJPHA+QXV0b2xpZ2h0Ym94IGlzdCBkaWUgZWluZmFjaHN0ZSBNw7ZnbGljaGtlaXQgZWluZSBMaWdodGJveCBlaW5lcyBCaWxkZXIgenUgZXJ6ZXVnZW4uIERhcyBHcnVuZHByaW56aXAgZnVua3Rpb25pZXJ0IHNvOjwvcD4NCgk8cD5CZWltIFNwZWljaGVybiBlaW5lciBTZWl0ZSwgZWluZXMgQmxvZy0gb2RlciBlaW5lcyBOZXdzZWludHJhZ3Mgd2lyZCBkZXIgSW5oYWx0IG5hY2ggQmlsZGVybiBkdXJjaHN1Y2h0LiBEYWJlaSB2ZXJnbGVpY2h0IGRhcyBTY3JpcHQgb2IgZGFzIEJpbGQgbWl0IGRlciBrb3JyZWt0ZW4gR3LDtnNzZSBvZGVyIHZlcmtsZWluZXJ0IGVpbmdlYnVuZGVuIGlzdC4gSXN0IGRhcyBCaWxkIHZlcmtsZWluZXJ0IGVpbmdlYnVuZGVuLCB3aXJkIGVpbiBUaHVtYm5haWwgZ2VuZXJpZXJ0IHVuZCBkaWUgQmlsZC1VUkwgYXVmIGRhcyBUaHVtYm5haWwgYW5nZXBhc3N0LiBadXPDpHR6bGljaCB3aXJkIHVtIGRhcyBCaWxkIGVpbmVuIExpbmsgYXVmIGRhcyBPcmlnaW5hbGJpbGQgZXJzdGVsbHQuPC9wPg0KCQ0KCTxwPjxiPldpZSBtdXNzIGljaCBlaW4gQmlsZCBpbiBkZW4gVGV4dCBlaW5mw7xnZW4gZGFtaXQgQXV0b0xpZ2h0Qm94IGFrdGl2IHdpcmQ/PC9iPjwvcD4NCgk8cD5JZGVhbCB3aXJkIGVpbiBCaWxkIHdlbGNoZXMgYXVmIGRlciBXZWJzZWl0ZSBlaW5nZWbDvGd0IHdpcmQgYXVmIGVpbmUgc2lubnZvbGxlIEdyw7Zzc2UgdmVya2xlaW5lcnQuIE9wdGltYWwgaXN0IGVpbiBXZXJ0IHp3aXNjaGVuIDYwMCAtIDEwMDAgUGl4ZWwgYXVmIGRlciBsw6RuZ2VyZW4gS2FudGUuIERhbmFjaCBrYW5uIGRpZXNlcyBCaWxkIG1pdHRlbHMgTWljcm9UaW55IC8gVGlueU1DRSBpbiBkZW4gVGV4dCBlaW5nZWbDvGd0IHdlcmRlbi4gTWl0dGVscyBWZXLDpG5kZXJ1bmcgZGVyIEdyw7Zzc2UgZGFzIEJpbGQgYXVmIGRpZSBvcHRpbWFsZSBHcsO2c3NlIHZlcmtsZWluZXJuLjwvcD4NCgk8cD5CZWltIHNwZWljaGVybiBlcmtlbm50IG51biBBdXRvTGlnaHRCb3gsIGRhc3MgZWluIEJpbGQgdmVya2xlaW5lcnQgZWluZ2Vmw7xndCB3dXJkZSB1bmQgZXJzZXR6dCBkaWVzZXMgQmlsZCBtaXQgZWluZW0gVGh1bWJuYWlsIHVuZCBlcnN0ZWxsdCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkLjwvcD4gDQoJDQoJPHA+PGI+RnVua3Rpb25hbGl0w6R0PC9iPjwvcD4NCgk8dWw+DQoJCTxsaT5BdXRvTGlnaHRCb3ggbW9kaWZpemllcnQgSW5oYWx0ZSAoaW4gamVkZW0gSW5oYWx0c2Jsb2NrKSwgTmV3c2VpbnRyw6RnZSB1bmQgQ0dCbG9nIEluaGFsdGU8L2xpPg0KCQk8bGk+RW50ZGVja3QgQXV0b0xpZ2h0Qm94IGRpZSBHcsO2c3NlbsOkbmRlcnVuZyBlaW5lcyBiZXN0ZWhlbmRlbiBCaWxkZXMsIHNvIHdpcmQgZGFzIFRodW1ibmFpbCBhdXRvbWF0aXNjaCBpbiBkZXIgbmV1ZW4gcmljaHRpZ2VuIEdyw7Zzc2UgZWluZ2VidW5kZW4uPC9saT4NCgkJPGxpPkVzIGthbm4gZWluIHJlbD0gb2RlciBlaW4gY2xhc3M9IEF0dHJpYnV0ZSBkZWZpbmllcnQgd2VyZGVuPC9saT4NCgkJPGxpPk9wdGlvbmFsIGthbm4gZGFzIEphdmFTY3JpcHQgZGVyIExpZ2h0Ym94IGRpcmVrdCBpbSBNb2R1bCBnZW51dHp0IHdlcmRlbjwvbGk+DQoJCTxsaT5JbiBKYXZhc2NyaXB0IHVuZCBTdHlsZXNoZWV0IGvDtm5uZW4gU21hcnR5LVZhcmlhYmxlbiBpbiBkZXIgRm9ybSBbW3Jvb3RfdXJsXV0gZ2VudXR6dCB3ZXJkZW48L2xpPg0KCQk8bGk+QXV0b21hdGlzY2hlIEVpbmJpbmR1bmcgZGVzIFN0eWxlc2hlZXRzIHVuZCBkZXMgSmF2YVNjcmlwdHMgZGVyIExpZ2h0Ym94IGlucyBUZW1wbGF0ZTwvbGk+DQoJPC91bD4JDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3lfYyI+DQogIDxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL2hlbHAvc29jaWFsc2hhcmVwcml2YWN5MS5wbmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBhbHQ9IjItS2xpY2sgU3lzdGVtIiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiAvPg0KICA8aDM+V2llIGJlbnV0emUgaWNoIFNvY2lhbFNoYXJlUHJpdmFjeTwvaDM+DQogIDxwPlNvY2lhbFNoYXJlUHJpdmFjeSBpc3QgZWluIHZvbiBoZWlzZS5kZSB2ZXLDtmZmZW50bGljaGVzIFBsdWdpbiB3ZWxjaGVzIGbDvHIgbWVociBEYXRlbnNjaHV0eiBiZWkgU29jaWFsbWVkaWEgQnV0dG9ucyBzb3JndC4gRGFzIFBsdWdpbiBiaW5kZXQgZGllIFNvY2lhbG1lZGlhIEJ1dHRvbnMgdm9uIEZhY2Vib29rLCBUd2l0dGVyIHVuZCBHb29nbGUrIGVyc3QgYXVmIGRlbiBhdXNkcsO8Y2tsaWNoZW4gV3Vuc2NoIGRlcyBOdXR6ZXJzIGVpbi48YnIgLz4NCgkgRWluIHdlaXRlcmVyIFZvcnRlaWwgZGllc2VyIE1ldGhvZGUgaXN0LCBkYXNzIGRpZSBMYWRlZ2VzY2h3aW5kaWdrZWl0IGVpbmVyIFNlaXRlIG5pY2h0IHVudGVyIGRlbiBTb2NpYWxtZWRpYSBCdXR0b25zIGxlaWRldCwgZGEgYmVpbSBlcnN0ZW4gTGFkZXZvcmdhbmcgYWxsZSBEYXRlbiBkaXJla3Qgdm9tIGVpZ2VuZW4gU2VydmVyIGdlbGFkZW4gd2VyZGVuLjwvcD4NCgkgDQoJIDxwPlVtIFNvY2lhbFNoYXJlUHJpdmF5IHp1IG51dHplbiwgbXVzcyBkaWUgRXJ3ZWl0ZXJ1bmcgdW50ZXIgIkVpbnN0ZWxsdW5nZW4iIGFrdGl2aWVydCB3ZXJkZW4uIEFuc2NobGllc3NlbiBrw7ZubmVuIGltIFJlaXRlciAiU29jaWFsU2hhcmVQcml2YXkiIGluZGl2aWR1ZWxsZSBBbnBhc3N1bmdlbiB2b3JnZW5vbW1lbiB3ZXJkZW4uIEVpbmdlZsO8Z3Qgd2VyZGVuIGRpZSBCdXR0b25zIHdpZSBmb2xndDo8L3A+DQoJIDxjb2RlPntUb29sQm94IG1vZD0ic29jaWFsc2hhcmVwcml2YWN5In08L2NvZGU+DQoJIA0KCSA8cD48aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9oZWxwL1NvY2lhbHNoYXJlcHJpdmFjeS5qcGciIHdpZHRoPSI1NDYiIGhlaWdodD0iNTQiIGFsdD0iU2NyZWVuc2hvdCBTb2NpYWxTaGFyZVByaXZhY3kiIC8+PC9wPg0KCSANCgkgPHA+SW4gZGVuIEVpbnN0ZWxsdW5nZW4ga2FubiBkZWZpbmllcnQgd2VyZGVuLCBvYiBqUXVlcnkgZ2VsYWRlbiB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0LiBEaWVzIGlzdCB3aWNodGlnLCBkYSBqZSBuYWNoIFNlaXRlIGpRdWVyeSBiZXJlaXRzIGluIGRpZSBTZWl0ZSBlaW5nZWJ1bmRlbiB3dXJkZS4gSW4gZGllc2VtIEZhbGwsIG11c3MgalF1ZXJ5IG5pY2h0IG5vY2htYWxzIGdlbGFkZW4gd2VyZGVuLjwvcD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9InR3aXR0ZXJmZWVkX2MiPg0KCSAgPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvaGVscC90d2l0dGVyZmVlZC5wbmciIHdpZHRoPSIzNTMiIGhlaWdodD0iNDU0IiBhbHQ9IlR3aXR0ZXJmZWVkIiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiAvPg0KCSAgPHA+TWl0IFR3aXR0ZXJmZWVkIGvDtm5uZW4ga2FubiBkZXIgRmVlZCBlaW5lcyBUd2l0dGVyLUFjY291bnRzIGluIGRpZSBXZWJzZWl0ZSBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZSBEYXJzdGVsbHVuZyBkZXMgRmVlZHMga2FubiBpbiBlaW5lbSBUZW1wbGF0ZSBkZWZpbmllcnQgd2VyZGVuLjwvcD4NCgkgIDxoMz5XaWUgYmVudXR6ZSBpY2ggVHdpdHRlcmZlZWQ8L2gzPg0KCSAgPHA+VHdpdHRlcmZlZWQgd2lyZCB3aWUgZm9sZ3QgZWluZ2VidW5kZW46PC9wPg0KCSAgPGNvZGU+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgY291bnQ9NSB0ZW1wbGF0ZT0ndHdpdHRlcmZlZWQnIGRhdGV0aW1lPSdmcmllbmRseScgY2FjaGV0aW1lPTEwICYjMTI1OzxiciAvPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRldGltZT0nZC5tLlkgSDppJyAmIzEyNTs8YnIgLz4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBsaXN0PSd3ZWJkZXNpZ24nIGNvdW50PTUgJiMxMjU7PGJyIC8+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgc2VhcmNoPScjY21zbXMnIGNvdW50PTEwICYjMTI1Ow0KCSAgPC9jb2RlPg0KCSAgDQoJICA8cD5Gb2xnZW5kZSBQYXJhbWV0ZXIga8O2bm5lbiBnZXfDpGhsdCB3ZXJkZW46PC9wPg0KCSAgPHVsPg0KCSAgCTxsaT51c2VybmFtZSAtIFR3aXR0ZXItVXNlcm5hbWUgKHdpcmQgZGVyIFBhcmFtZXRlciBzZWFyY2ggdmVyd2VuZGV0LCBzbyBtdXNzIGtlaW4gdXNlcm5hbWUgYW5nZWdlYmVuIHdlcmRlbik8L2xpPg0KCSAgCTxsaT50ZW1wbGF0ZSAob3B0aW9uYWwpIC0gTmFtZSBkZXMgVGVtcGxhdGUgZGFzIGdlbnV0enQgd2VyZGVuIHNvbGwuIE9obmUgZGllc2UgRGVmaW5pdGlvbiB3aXJkIGRhcyBTdGFuZGFyZHRlbXBsYXRlIGdlbGFkZW48L2xpPg0KCSAgCTxsaT5saXN0IChvcHRpb25hbCkgLSBOYW1lIGVpbmVyIExpc3RlIGRlcyBCZW51dHplcnMuIElzdCBkaWVzZXIgUGFyYW1ldGVyIGFuZ2VnZWJlbiwgd2lyZCBkaWUgVGltZWxpbmUgZGVyIGdld8OkaGx0ZW4gTGlzdGUgYW5nemVpZ3Q8L2xpPg0KCSAgCTxsaT5zZWFyY2ggKG9wdGlvbmFsKSAtIFN1Y2hiZWdyaWZmIG5hY2ggZGVtIGRpZSBUd2l0dGVyYXBpIGFiZ2VmcmFndCB3aXJkIChvaG5lIEJlbnV0emVybmFtZSk8L2xpPg0KCSAgCTxsaT5kYXRlZm9ybWF0IChvcHRpb25hbCkgDQoJICAJCTx1bD4NCgkgIAkJCTxsaT5mcmllbmRseSA9IFN0YW5kYXJkLVR3aXR0ZXJmb3JtYXQgaW4gZGVyIEFydCA8ZW0+MyBkYXlzIGFnbzwvZW0+PC9saT4NCgkgIAkJCTxsaT5kLm0uWSBIOm06cyAtIERhdGV0aW1lIEZvcm1hdGllcnVuZyBuYWNoIDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZGF0ZXRpbWUuY3JlYXRlZnJvbWZvcm1hdC5waHAiPkRlZmluaXRpb24gcGhwLm5ldDwvYT48L2xpPg0KCSAgCQk8L3VsPg0KCSAgCTwvbGk+DQoJICAJPGxpPmNhY2hldGltZSAob3B0aW9uYWwpIC0gWmVpdCBpbiBNaW51dGVuIGluIHdlbGNoZXIgZGVyIFR3aXR0ZXJmZWVkIGltIENhY2hlIGFiZ2VsZWd0IGJsZWlidC4gU3RhbmRhcmQ6IDEwIE1pbnV0ZW47IE1pbmltYWwgMSBNaW51dGU8L2xpPg0KCSAgPC91bD4NCgkgIAkNCgkgIDxwPkltIFRlbXBsYXRlIHN0ZWhlbiBmb2xnZW5kZSBWYXJpYWJsZW4genVyIFZlcmbDvGd1bmc6PC9wPg0KCSAgPGNvZGU+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7dGV4dDxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZGF0ZTxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmF3ZGF0ZTxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7aW1nX3VybDxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7aW1nX3VybF9odHRwczxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7c2NyZWVubmFtZTxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7c2NyZWVubmFtZV91cmw8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O2F1dGhvcjxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7c291cmNlPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtsb2NhdGlvbjxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9jb3VudDxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9zY3JlZW5uYW1lPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2F1dGhvcjxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVkPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtkYXRlX2xpbms8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JlcGx5X2xpbms8YnIvPg0KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfbGluazxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVfbGluazxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmVwbHlfcmF3bGluazxici8+DQoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9yYXdsaW5rPGJyLz4NCgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZV9yYXdsaW5rDQoJICA8L2NvZGU+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJ0YWlsX2MiPg0KICAJPGgzPnRhaWwgLSBlaW4gcGhwL2pxdWVyeSBiYXNpZXJlbmRlcyBMb2dnaW5nc3lzdGVtPC9oMz4NCiAgCTxwPnRhaWwgaXN0IHVudGVyIExpbnV4L1VuaXggZWluIEtvbnNvbGVucHJvZ3JhbW0gbWl0IHdlbGNoZW0gTG9nZmlsZXMgbGl2ZSDDvGJlcndhY2h0IHdlcmRlbiBrw7ZubmVuLiBEYXMgaGVpc3N0LCBzb2JhbGQgZGVtIExvZ2ZpbGUgZWluZSBaZWlsZSBoaW56dWdlZsO8Z3Qgd3VyZGUsIHdpcmQgZGllc2Ugc29mb3J0IG1pdCB0YWlsIGFuZ2V6ZWlndCwgd2VubiBkYXMgTG9nZmlsZQ0KICAJw7xiZXJ3YWNodCB3aXJkLiBEaWUgdGFpbCBGdW5rdGlvbmFsaXTDpHQgdm9uIFRvb2xCb3ggc3RlbGx0IGVpbmUgZ2FueiDDpGhubGljaGUgRnVua3Rpb24genVyIFZlcmbDvGd1bmcuIDwvcD4NCiAgCTxoMz5XaWUgZnVua3Rpb25pZXJ0J3M/PC9oMz4NCiAgCTxwPlp1ZXJzdCBtdXNzIGVpbm1hbCBkYXMgTG9nZmlsZSBtaXQgRGF0ZW4gZ2VzcGllc2VuIHdlcmRlbi4gRGF6dSBnaWJ0IGVzIHp3ZWkgTcO2Z2xpY2hrZWl0ZW46PC9wPg0KICAJPHA+PGI+RWluYmF1IGluIGVpbiBNb2R1bCwgZWluIFBsdWdpbiBvZGVyIGVpbmVuIFVEVDwvYj48L3A+DQogIAk8cD5Gb2xnZW5kZXIgQ29kZSBtdXNzIGRhenUgZWluZ2ViYXV0IHdlcmRlbjo8L3A+DQogIAk8Y29kZT4JJiMwMzY7bG9nPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTs8YnIgLz4NCgkJCSYjMDM2O2xvZy0+c2V0TG9nRmlsZSgndGJMb2cnKTsgLy8gT3B0aW9uYWwuIEhpZXIga2FubiBkZXIgTmFtZSBkZXMgTG9nZmlsZXMgZmVzdGdlbGVndCB3ZXJkZW48YnIgLz4NCgkJCSYjMDM2O2xvZy0+bHdyaXRlKCJTY2hyZWliZW4gd2lyIHdhcyBpbnMgTG9nIik7PGJyIC8+DQoJPC9jb2RlPg0KICAJDQoJPHA+PGJyIC8+QWxzIFBhcmFtZXRlciBrw7ZubmVuIG5vcm1hbGUgVmFyaWFibGVuLCBPYmpla3RlIG9kZXIgYXVjaCBBcnJheSdzIMO8YmVyZ2ViZW4gd2VyZGVuLjwvcD4NCgk8cD48Yj5FaW5iYXUgaW4gZWluIFRlbXBsYXRlPC9iPjwvcD4NCiAgCTxwPkZvbGdlbmRlciBUYWcga2FubiBpbiBlaW4gVGVtcGxhdGUgZWluZ2ViYXV0IHdlcmRlbjo8L3A+DQogIAk8Y29kZT57dGJXcml0ZUxvZyBsb2c9IndhcyBmw7xyJ3MgbG9nIiBsb2dGaWxlPSJ0YkxvZyJ9PC9jb2RlPg0KICAJPHA+PGJyIC8+UGFyYW1ldGVyOjwvcD4NCiAgCTx1bD4NCiAgCTxsaT5sb2cgLSBUZXh0IGRlciBpbnMgTG9nZmlsZSBnZXNjaHJpZWJlbiB3ZXJkZW4gc29sbDwvbGk+DQogIAk8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBoaWVyIGthbm4gZGVyIE5hbWUgZGVzIExvZ2ZpbGVzIGRlZmluaWVydCB3ZXJkZW48L2xpPg0KICAJPC91bD4NCiAgDQogIAk8aDM+TG9nZmlsZSDDnGJlcndhY2h1bmc8L2gzPg0KICAJPHA+SW0gUmVpdGVyICJ0YWlsIExvZyIga2FubiBudW4gZGFzIExvZ2ZpbGUgw7xiZXJ3YWNodCB3ZXJkZW4uIERhenUgaW0gRHJvcGRvd25mZWxkIGRhcyBnZXfDvG5zY2h0ZSBMb2dmaWxlIHfDpGhsZW4sIHNvd2llIGRpZSBBbnphaGwgZGVyIFplaWxlbiwgd2VsY2hlIGJlaW0gZXJzdGVuIGxhZGVuIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbCwgZGVmaW5pZXJlbi4gRXMga8O2bm5lbiANCiAgCXBhcmFsbGVsIGF1Y2ggbWVocmVyZSBMb2dmaWxlcyDDvGJlcndhY2h0IHdlcmRlbjwvcD4NCiAgCQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0ic21hcnR5dG9vbHNfYyI+DQogIAk8aDM+V2VsY2hlIEZ1bmt0aW9uZW4gaGF0IGRhcyBTbWFydHktT2JqZWt0PzwvaDM+DQoJPHA+VG9vbEJveCBlbnRow6RsdCBlaW5lIGVpZ2VuZSBTbWFydHktS2xhc3NlIHVtIHZlcnNjaGllZGVuZSBDb250ZW50IEZ1bmt0aW9uZW4gYXVmenVydWZlbiwgc293aWUgZWluaWdlIFBsdWdpbnMgd2VsY2hlIHouQi4genVzYW1tZW4gbWl0IEFkdmFuY2VkQ29udGVudCBlaW5nZXNldHp0IHdlcmRlbiBrw7ZubmVuLjwvcD4NCgk8aDM+V2llIHdlcmRlbiBkaWUgU21hcnR5LUZ1bmt0aW9uZW4gdW5kIGRpZSBQbHVnaW5zIGVpbmdlc2V0enQ/PC9oMz4NCgk8cD5OYWNoIGRlciBNb2R1bGluc3RhbGxhdGlvbiBpc3QgZGFzIFNtYXJ0eS1PYmpla3QgInRidG9vbHMiIGluIGRlbiBUZW1wbGF0ZXMsIEdsb2JhbGVuIEluaGFsdHNibCZvdW1sO2NrZW4gdW5kIHZlcnNjaGllZGVuZW4gdW5kIGRlbiBNb2R1bC1UZW1wbGF0ZXMgdmVyZsO8Z2Jhci4gRGllc2VzIFNtYXJ0eS1PYmpla3QgaGF0IHZlcnNjaGllZGVuZSBGdW5rdGlvbmVuLCBkaWUgU2llIGplZGVyemVpdCBhdWZydWZlbiBrJm91bWw7bm5lbi48L3A+DQoJPGg0PlZlcmYmdXVtbDtnYmFyZSBGdW5rdGlvbmVuOjwvaDQ+DQoJPHA+Jm5ic3A7PC9wPg0KCTx1bD4NCgk8bGk+PHN0cm9uZz5zZWxmVXJsPC9zdHJvbmc+KFsmIzAzNjthc3NpZ25dKQ0KCSAgICA8cD5HaWJ0IGRpZSBha3R1ZWxsZSBVUkwgenVyJnV1bWw7Y2s8L3A+DQoJICAgIDxwPkFyZ3VtZW50ZToNCgkgICAgICAgPHVsPg0KCSAgICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KCSAgICAgIDwvdWw+ICANCgkgICAgPGJyLz48L3A+DQoJPC9saT4NCgkNCgkNCgk8bGk+PHN0cm9uZz5nZXRQYWdlVXJsPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQoJICAgIDxwPkdpYnQgZGllIFVSTCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSAob2RlciBkZXIgYWt0dWVsbGVuIFNlaXRlKSB6dXLDvGNrPC9wPg0KCSAgICA8cD5Bcmd1bWVudGU6DQoJICAgICAgIDx1bD4NCgkgICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICAJCTxsaT5bJiMwMzY7YXNzaWduXSAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gICAgDQoJICAgIDxici8+PC9wPg0KCSAgICA8cD5CZWlzcGllbDo8YnIvPg0KCSAgICA8cHJlPkRpZSBVUkwgaXN0ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFBhZ2VVcmwoJ2hvbWUnKSYjMTI1OzwvcHJlPg0KCSAgICA8L3A+DQoJPC9saT4NCjxsaT48c3Ryb25nPmlzRGVmYXVsdFBhZ2U8L3N0cm9uZz4oJiMwMzY7YWxpYXMsWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+UHLDvGZ0IG9iIGRpZSBTZWl0ZSBhbHMgU3RhcnRzZWl0ZSBkZWZpbmllcnQgaXN0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2FsaWFzIC0gRGVyIEFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gU3RhdHVzIHp1ciZ1dW1sO2NrIGdlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT4mIzEyMztpZiAmIzAzNjt0YnRvb2xzLT5pc0RlZmF1bHRQYWdlKCkmIzEyNTtTaWUgc2luZCBhdWYgZGVyIFN0YXJ0c2VpdGUmIzEyMztlbHNlJiMxMjU7U2llIHNpbmQgbmljaHQgYXVmIGRlciBTdGFydHNlaXRlJiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldFBhcmVudEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgZWluZXIgZmVzdGdlbGVndGVuIFNlaXRlIHp1ciZ1dW1sO2NrLiBGYWxscyBrZWluZSAmdXVtbDtiZXJnZW9yZG5ldGUgU2VpdGUgdm9yaGFuZGVuIGlzdCwgd2lyZCBlaW4gbGVlcmVyIFN0cmluZyB6dXImdXVtbDtjayBnZWdlYmVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGlzdCAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRQYXJlbnRBbGlhcygpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0TGV2ZWxBbGlhczwvc3Ryb25nPigmIzAzNjtsZXZlbCxbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGVpbmVyIGJlc3RpbW10ZW4gRWJlbmUgKExldmVsKSB6dXImdXVtbDtjay4gRmFsbHMgZGllIGFuZ2VnZWJlbmUgRWJlbmUgaMO2aGVyIGlzdCBhbHMgZGllIGRlciBha3R1ZWxsZW4gU2VpdGUsIHdpcmQgZWluIGxlZXJlciBTdHJpbmcgenVyJnV1bWw7Y2sgZ2VnZWJlbi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JiMwMzY7bGV2ZWwgICAtIE51bW1lciBkZXIgRWJlbmUgdm9uIHdlbGNoZXIgZGVyIEFsaWFzIHp1csO8Y2tnZWdlYmVuIHdlcmRlbiBzb2xsICgxID0gMS4gRWJlbmUsIDIgPSAyLiBFYmVuZSwgZXRjLik8L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGRlciBkZWZpbmllcnRlbiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIFNlaXRlbi1BbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBkZXIgU2VpdGUgYXVmIGRlciBFYmVuZSAxIGlzdCAmIzEyMzsmIzAzNjt0YnRvb2xzLT5nZXRMZXZlbEFsaWFzKDEpJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0Um9vdEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgZGVyIDEuIEViZW5lIHp1ciZ1dW1sO2NrLiBGYWxscyBrZWluZSAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlbiBleGlzdGllcmVuLCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXJlbiAmdXVtbDtiZXJnZW9yZG5ldGUgU2VpdGUgZGVyIDEuIEViZW5lIGdlZnVuZGVuIHdlcmRlbiBzb2xsLiAgV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgU2VpdGVuLUFsaWFzIGRlciBvYmVyc3RlbiwgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBpc3QgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0Um9vdEFsaWFzKCkmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRQYWdlVGl0bGU8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBUaXRlbCBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIERlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXJlbiBUaXRlbCBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgVGl0ZWwgZGVyIGFrdHVlbGxlbiBTZWl0ZSBpc3QgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0UGFnZVRpdGxlKCkmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRQYWdlTWVudXRleHQ8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBNZW4mdXVtbDt0ZXh0IGVpbmVyIGZlc3RnZWxlZ3RlbiBTZWl0ZSB6dXImdXVtbDtjay48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgRGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlc3NlbiBNZW4mdXVtbDt0ZXh0IGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBNZW4mdXVtbDt0ZXh0IGRlciBha3R1ZWxsZSBTZWl0ZSBpc3QgJiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0UGFnZU1lbnV0ZXh0KCkmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPlByJnV1bWw7ZnQsIG9iIGVpbmUgZmVzdGdlbGVndGUgU2VpdGUgdW50ZXJnZW9yZG5ldGUgU2VpdGVuIGhhdC48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgenUgcHImdXVtbDtmZW5kZW4gU2VpdGUuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPiYjMTIzOyYjMDM2O3RidG9vbHMtPmhhc0NoaWxkcmVuKCIiLCJoYXNDaGlsZHJlbiIpJiMxMjU7DQogICAgCXtpZiAmIzAzNjtoYXNDaGlsZHJlbn1EaWUgYWt0dWVsbGUgU2VpdGUgaGF0IHVudGVyZ2VvcmRuZXRlIFNlaXRlbntlbHNlfURpZSBha3R1ZWxsZSBTZWl0ZSBoYXQga2VpbmUgdW50ZXJnZW9yZG5ldGVuIFNlaXRlbnsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0Rmlyc3RDaGlsZEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0sWyYjMDM2O29ubHlJbk1lbnVdID0gdHJ1ZSkNCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgZXJzdGVuIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZSB6dXLDvGNrLiBJc3QgZGllIGVyc3RlIFNlaXRlIGVpbiBTZWN0aW9uaGVhZGVyLCBUcmVubmVyIG9kZXIgZXh0ZXJuZXIgTGluaywgd2lyZCBkaWUgZXJzdGUgVW50ZXJzZWl0ZSBkZXIgZXJzdGVuIFNlaXRlIG9kZXIgZGllIG7DpGNoc3RlIFNlaXRlIGdld8OkaGx0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIHp1IHByJnV1bWw7ZmVuZGVuIFNlaXRlLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjtvbmx5SW5NZW51XSAtIChvcHRpb25hbCkgTnVyIFNlaXRlbiB3ZWxjaGUgaW0gTWVuw7wgc2ljaHRiYXIgc2luZC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+JiMxMjM7JiMwMzY7dGJ0b29scy0+Z2V0Rmlyc3RDaGlsZEFsaWFzKCIiLCJmaXJzdENoaWxkQWxpYXMiKSYjMTI1Ow0KICAgIAlEZXIgQWxpYXMgZGVyIGVyc3RlbiBVbnRlcnNlaXRlIGlzdCB7JiMwMzY7Zmlyc3RDaGlsZEFsaWFzfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldENoaWxkcmVuPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O3Nob3dpbmFjdGl2ZV0sWyYjMDM2O2Fzc2lnbl0pDQogICA8cD5HaWJ0IGVpbiBBcnJheSB6dXImdXVtbDtjaywgd2VsY2hlcyBJbmZvcm1hdGlvbmVuICZ1dW1sO2JlciBkaWUgdW50ZXJnZW9yZG5ldGVuIFNlaXRlbiBlbnRoJmF1bWw7bHQgKGZhbGxzIHZvcmhhbmRlbik8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgenUgcHImdXVtbDtmZW5kZW4gU2VpdGUuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7c2hvd2luYWN0aXZlXSAtIChvcHRpb25hbCkgaGllciBrYW5uIGVpbmdlc3RlbGx0IHdlcmRlbiwgb2IgaW5ha3RpdmUgU2VpdGVuIGltIEVyZ2VibmlzIGVudGhhbHRlbiBzZWluIHNvbGxlbiAoU3RhbmRhcmQgaXN0IGZhbHNlKS48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RmVsZGVyOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+YWxpYXMgLSBkZXIgU2VpdGVuLUFsaWFzIGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPg0KICAgICAgIDxsaT5pZCAtIGRpZSBTZWl0ZW4tSUQgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gZGVyIFNlaXRlbnRpdGVsIGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPg0KICAgICAgIDxsaT5tZW51dGV4dCAtIGRlciBNZW4mdXVtbDt0ZXh0IGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPg0KICAgICAgIDxsaT5zaG93X2luX21lbnUgLSBpc3QgZGllIFVudGVyc2VpdGUgaW0gTWVuw7wgc2ljaHRiYXIuPC9saT4NCiAgICAgICA8bGk+YWN0aXZlIC0gaXN0IGRpZSBVbnRlcnNlaXRlIGFrdGl2LjwvbGk+DQogICAgICAgPGxpPnR5cGUgLSBUeXAgZGVzIENvbnRlbnQgRWxlbWVudHMuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT4NCiYjMTIzOyYjMDM2O3RidG9vbHMtPmdldENoaWxkcmVuKCIiLCIiLCJjaGlsZHJlbiIpJiMxMjU7DQp7aWYgY291bnQoJiMwMzY7Y2hpbGRyZW4pJiMxMjU7DQogICB7Zm9yZWFjaCBmcm9tPSYjMDM2O2NoaWxkcmVuIGl0ZW09ImNoaWxkIn0NCiAgICAgIHtpZiAmIzAzNjtjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIFVudGVyZ2VvcmRuZXRlIFNlaXRlOiAgaWQgPSAmIzEyMzsmIzAzNjtjaGlsZC5pZCYjMTI1OyBBbGlhcyA9ICYjMTIzOyYjMDM2O2NoaWxkLmFsaWFzJiMxMjU7PGJyIC8+DQogICAgICB7L2lmfQ0KICAgey9mb3JlYWNofQ0Key9pZn0NCiAgICA8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRQYWdlQ29udGVudDwvc3Ryb25nPigmIzAzNjthbGlhcyxbJiMwMzY7YmxvY2tdLFsmIzAzNjthc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEluaGFsdCBlaW5lcyBmZXN0Z2VsZWd0ZW4gQ29udGVudC1CbG9ja3MgZWluZXIgYW5kZXJlbiBTZWl0ZSB6dXImdXVtbDtjay48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JiMwMzY7YWxpYXMgLSBEZXIgQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXJlbiBJbmhhbHQgenVyJnV1bWw7Y2sgZ2VnZWJlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YmxvY2tdIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXMgQ29udGVudC1CbG9ja3MgZGVyIGZlc3RnZWxlZ3RlbiBTZWl0ZS4gT2huZSBWb3JnYWJlIHdpcmQgZGVyIFdlcnQgYXVzICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIHp3ZWl0ZSBJbmhhbHQgZGVyICdhYm91dCcgU2VpdGUgaXN0ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldFBhZ2VDb250ZW50KCdhYm91dCcsJ3NlY29uZCcsJ2ZvbycpJiMxMjU7JiMxMjM7ZXZhbCB2YXI9XCRmb28mIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNGZXVHcm91cEFjY2Vzczwvc3Ryb25nPigmIzAzNjtmZXVncm91cHMsWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBlaW4gdHJ1ZS9mYWxzZSB6dXLDvGNrLCBvYiBkZXIgZWluZ2Vsb2dndGUgRnJvbnRFbmRVc2VyIEJlbnV0emVyIGVpbmVyIGRlciBhbmdlZ2ViZW5lbiBHcnVwcGVuIHp1Z2VvcmRuZXQgaXN0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O2ZldWdyb3VwcyAtIElEcyBkZXIgQmVudXR6ZXJncnVwcGVuLiBNZWhyZXJlIEJlbnV0emVyZ3J1cHBlbiBzaW5kIG1pdCBlaW5lbSBLb21tYSB6dSB0cmVubmVuLiBaLkIuOiAxLDIsNDwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+JiMxMjM7aWYgJiMwMzY7dGJ0b29scy0+aGFzRmV1R3JvdXBBY2Nlc3MoIjEsMiwzKSYjMTI1O0JlbnV0emVyIGhhdCBkaWUgQmVyZWNodGlndW5nJiMxMjM7ZWxzZSYjMTI1O0RlciBCZW51dHplciBoYXQga2VpbmUgQmVyZWNodGlndW5nJiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmlzTG9nZ2VkSW48L3N0cm9uZz4oWyYjMDM2O2Fzc2lnbl0pDQogICAgPHA+R2lidCBkaWUgQmVudXR6ZXItSUQgZGVzIGVpbmdlbG9nZ3RlbiBGcm9udEVuZFVzZXIgQmVudXR6ZXJzIHp1csO8Y2s8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT4mIzEyMztpZiAmIzAzNjt0YnRvb2xzLT5pc0xvZ2dlZEluKCkmIzEyNTtCZW51dHplciBpc3QgZWluZ2Vsb2dndCYjMTIzO2Vsc2UmIzEyNTtFcyBpc3Qga2VpbiBCZW51dHplciBlaW5nZWxvZ2d0JiMxMjM7L2lmJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldFNpYmxpbmc8L3N0cm9uZz4oJiMwMzY7ZGlyZWN0aW9uLFsmIzAzNjthc3NpZ25dLFsmIzAzNjthbGlhc10pDQogICAgPHA+R2lidCBkZW4gU2VpdGVuLUFsaWFzIGRlciBuJmF1bWw7Y2hzdGVuIG9kZXIgdm9yaGVyZ2VoZW5kZW4gU2VpdGUgZGVyIGdsZWljaGVuIEViZW5lIGRlciB2b3JnZWdlYmVuZW4NCiAgICAgICBTZWl0ZSBhbi4gT2RlciBhdWNoIGZhbHNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4mIzAzNjtkaXJlY3Rpb24gLSBkaWUgUmljaHR1bmcsIGluIGRpZSBnZXNjaGF1dCB3ZXJkZW4gc29sbC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHByZXYscHJldmlvdXMsLTEsbmV4dCwxLjwvbGk+DQogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgQWxpYXMgZGVyIFNlaXRlLCBkZXNzZW4gU2VpdGVuIGRlciBnbGVpY2hlbiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbGVuLiBPaG5lIFZvcmdhYmUgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICAgICA8cHJlPkxpbmsgYXVmIGRpZSB2b3JoZXJpZ2UgU2VpdGU6ICYjMTIzOyYjMDM2O3RidG9vbHMtPmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KSYjMTI1OyYjMTIzO2lmICFlbXB0eSgmIzAzNjtwcmV2X3NpYmxpbmcpJiMxMjU7JiMxMjM7Y21zX3NlbGZsaW5rIHBhZ2U9JnF1b3Q7JiMwMzY7cHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDsmIzEyNTsmIzEyMzsvaWYmIzEyNTs8L3ByZT48YnIvPg0KPC9saT4NCjxsaT48c3Ryb25nPmdldEFycmF5QXNUYWJsZTwvc3Ryb25nPigmIzAzNjthcnJheSkNCiAgICA8cD5HaWJ0IGVpbiBNdWx0aWRpbWVuc2lvbmFsZXMgQXJyYXkgYWxzIFRhYmVsbGUgenVyw7xjazwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4mIzAzNjthcnJheSAtIGRhcyBBcnJheSB3ZWxjaGVzIGFscyBUYWJlbGxlIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPiYjMTIzOyYjMDM2O3RidG9vbHMtPmdldEFycmF5QXNUYWJsZSgmIzAzNjthcnJheSkmIzEyNTs8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQoNCg0KDQo8L3VsPg0KPC9kaXY+DQoNCjxkaXYgaWQ9Im1vZGlmaWVyX2MiPg0KDQo8aDM+U21hcnR5IE1vZGlmaWVydDwvaDM+DQo8dWw+DQo8bGk+PHN0cm9uZz50YlRydW5jYXRlQmV0dGVyPC9zdHJvbmc+KCYjMDM2O3N0cmluZywgJiMwMzY7bGVuZ3RoID0gODAsICYjMDM2O2V0YyA9ICcuLi4nLCAmIzAzNjtsaW5rID0gJycsICYjMDM2O2xpbmtfdGV4dCA9ICcnKSkNCiAgICA8cD5Lw7xyenQgZWluZW4gVGV4dCB1bmQgc2NobGllc3N0IGRpZSBhYmdlc2Nobml0dGVuZW4gVGFncyBrb3JyZWt0PC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiYjMDM2O3N0cmluZyAtIFRleHQgZGVyIGdla8O8cnp0IHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPiYjMDM2O2xlbmdodCAtIChvcHRpb25hbCwgODAgU3RhbmRhcmQpIEFuemFobCBaZWljaGVuIG5hY2ggd2VsY2hlciBkZXIgVGV4dCBnZWvDvHJ6dCB3aXJkLjwvbGk+DQogICAgICAgPGxpPiYjMDM2O2V0YyAtIChvcHRpb25hbCwgLi4uIFN0YW5kYXJkKSBaZWljaGVuIGRhcyBhbiBkZW4gU2NobHVzcyBkZXMgZ2Vrw7xyenRlbiBUZXh0cyBnZXNldHp0IHdpcmQuPC9saT4NCiAgICAgICA8bGk+JiMwMzY7bGluayAtIChvcHRpb25hbCkgTGluayBVUkw8L2xpPg0KICAgICAgIDxsaT4mIzAzNjtsaW5rX3RleHQgLSAob3B0aW9uYWwpIFRleHQgZGVyIHp1bSBMaW5rIGFuZ2V6ZWlndCB3aXJkLiBEZXIgTGluayB3aXJkIGFuIGRlbiBTY2hsdXNzIGRlcyBnZWvDvHJ6dGVuIFRleHRlcyBnZXNldHp0PC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICBEaWUgYmVpZGVuIHZlcndlbmRldGVuIFBhcmFtZXRlciAmIzAzNjtlbnRyeS0+Y29udGVudCB1bmQgJiMwMzY7ZW50cnktPm1vcmVsaW5rIG3DvHNzZW4gbmF0w7xybGljaCBtaXQgZGVuIHJlYWwgZXhpc3RpZXJlbmRlbiBQYXJhbWV0ZXJuIGVyc2V0enQgd2VyZGVuDQogICAgPGJyIC8+DQogICAgPHByZT4mIzEyMzsmIzAzNjtlbnRyeS0+Y29udGVudHx0YlRydW5jYXRlQmV0dGVyOjEwMDonIC4uLic6JiMwMzY7ZW50cnktPm1vcmVsaW5rOidbd2VpdGVybGVzZW5dJyYjMTI1OzwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCg0KPC91bD4NCg0KPC9kaXY+DQoNCjxkaXYgaWQ9Im1vYmlsZWRldGVjdF9jIj4NCg0KPGgzPk1vYmlsZSBEZXRlY3Q8L2gzPg0KDQo8cD48YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLW1vYmlsZS1kZXRlY3Qvd2lraS9Nb2JpbGVfRGV0ZWN0IiB0YXJnZXQ9Il9ibGFuayI+TW9iaWxlX0RldGVjdDwvYT4NCiBpc3QgZWluZSBrbGVpbmUgUEhQIEtsYXNzZSB1bSBtb2JpbGUgR2Vyw6R0ZSB6dSBpZGVudGlmaXppZXJlbi4gRXMgbnV0enQgZGVuIFVzZXItQWdlbnQgVGV4dCBrb21iaW5pZXJ0IG1pdCANCiBzcGV6aWZpc2NoZW4gSFRUUCBIZWFkZXJzIHVtIGRpZSBtb2JpbGVuIEdlcsOkdGUgenUgaWRlbnRpZml6aWVyZW4uPC9wPg0KIA0KIDxoND5OdXR6dW5nPC9oND4NCiA8cD48aT5BdWYgZWluZSBkZWZpbmllcnRlIFBsYXRmb3JtIHByw7xmZW46PC9wPg0KPHA+PHByZT4NCntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNpT1MoKSB9IA0KICAvLyBEYXRlbiBmw7xyIEFwcGxlIGlPUyBQbGF0Zm9ybSBhbnplaWdlbi4gDQp7L2lmfSANCiA8L3ByZT4gPC9wPg0KPHA+PHByZT4NCntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNBbmRyb2lkT1MoKSB9IA0KICAvLyBEYXRlbiBmw7xyIEdvb2dsZSBBbmRyb2lkIFBsYXRmb3JtIGFuemVpZ2VuLiANCnsvaWZ9DQo8L3ByZT48L3A+DQoNCiA8cD5XZWl0ZXJlIE1ldGhvZGVuIHNpbmQgIGlzSXBob25lKCksIGlzSXBhZCgpLCBpc0JsYWNrQmVycnkoKSwgaXNLaW5kbGUoKSwgaXNPcGVyYSgpLCBldGMuIEVpbmUgdm9sbHN0w6RuZGlnZSBMaXN0ZSBhbGxlciB2ZXJmw7xnYmFyZW4gTWV0aG9kZW4gPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BocC1tb2JpbGUtZGV0ZWN0L3dpa2kvTW9iaWxlX0RldGVjdCIgdGFyZ2V0PV9ibGFuayI+aXN0IGltIFdpa2kgdmVyZsO8Z2Jhci48L2E+PC9wPg0KDQo8cD5BbHRlcm5hdGl2IGthbm4gbmF0w7xybGljaCBhdWNoIGVpbmZhY2ggZ2VwcsO8ZnQgd2VyZGVuIG9iIGVpbiBCZXN1Y2hlciBtaXQgZWluZW0gbW9iaWxlbiBHZXLDpHQgYXVmIGRpZSBXZWJzZWl0ZSB6dWdyZWlmdCBvaG5lIGVpbmUgYmVzdGltbXRlIFBsYXRmb3JtIHp1IGlkZW50aWZpemllcmVuOjwvcD4NCjxwPjxwcmU+DQp7aWYgKCYjMDM2O3RibW9iaWxlLT5pc01vYmlsZSgpKX0NCiAgLy8gYWxsZSBtb2JpbGVuIFBsYXR0Zm9ybWVuDQp7L2lmfQ0KPC9wcmU+PC9wPg0KPHA+PHByZT4NCntpZigmIzAzNjt0Ym1vYmlsZS0+aXNUYWJsZXQoKSl9DQogIC8vIGFsbGUgVGFibGV0cw0Key9pZn0NCjwvcHJlPjwvcD4NCg0KDQoJDQo8L2Rpdj4NCg0KPGRpdiBpZD0icGx1Z2luc19jIj4NCg0KPGgzPlBsdWdpbnM8L2gzPg0KPHA+PGI+QWxsZ2VtZWluZSBQbHVnaW5zPC9iPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCg0KIDxsaT48c3Ryb25nPnt0YlNlc3Npb25TZXR9PC9zdHJvbmc+DQogICAgPHA+RWluIFNtYXJ0eS1QbHVnaW4sIG1pdCBkZW0gRGF0ZW4gaW4gZGVyIFVzZXItU2Vzc2lvbiBnZXNwZWljaGVydCB3ZXJkZW4gayZvdW1sO25uZW4uIEF1ZiBkaWVzZSBEYXRlbiBrYW5uIGF1ZiBkZW4gZW50c3ByZWNoZW5kZW4gU2VpdGVuIGRhbm4gJnV1bWw7YmVyIGRhcyBBcnJheSAmIzAzNjtzbWFydHkuc2Vzc2lvbi5uYW1lX2Rlcl92YXJpYWJsZW4genVnZWdyaWZmZW4gd2VyZGVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6PC9wPg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlbiwgZGllIGluIGRlciBTZXNzaW9uIGVyemV1Z3Qgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+dmFsdWUgLSBEZXIgZW50c3ByZWNoZW5kZSBXZXJ0IGRpZXNlciBWYXJpYWJsZW4uPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+e3RiU2Vzc2lvblNldCBuYW1lPSZxdW90O3Rlc3QmcXVvdDsgdmFsdWU9JnF1b3Q7YmxhaCZxdW90O308L3ByZT48L3A+DQogPC9saT4NCg0KIA0KIA0KICA8bGk+PHN0cm9uZz4mIzEyMzt0YlNlc3Npb25VbnNldCYjMTI1Ozwvc3Ryb25nPg0KICAgIDxwPkVpbiBTbWFydHktUGx1Z2luLCBtaXQgZGVtIERhdGVuIGF1cyBlaW5lciBVc2VyLVNlc3Npb24gZ2VsJm91bWw7c2NodCB3ZXJkZW4gayZvdW1sO25uZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm5hbWUgLSBOYW1lIGRlciBWYXJpYWJsZSwgZGllIGluIGRlciBTZXNzaW9uIGdlbCZvdW1sO3NjaHQgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJTZXNzaW9uVW5zZXQgbmFtZT0mcXVvdDt0ZXN0JnF1b3Q7JiMxMjU7PC9wcmU+PC9wPg0KIDwvbGk+DQogDQogPGxpPjxzdHJvbmc+JiMxMjM7dGJWYXJFeHBvcnQmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGVpbiBBcnJheSB6dSBEZWJ1Z2dpbmd6d2Vja2VuIHp1bSBFeHBvcnQgdm9yYmVyZWl0ZXQgd2VyZGVuLiBEZXIgZ2VuZXJpZXJ0ZSBUZXh0IGlzdCBzZXJpYWxpemVkIHVuZCBrYW5uIHVuYWJow6RuZ2lnIHZvbiBkZXIgVW1nZWJ1bmcgYW4gZWluZW0gYW5kZXJlbiBPcnQgd2llZGVyIGVpbmdlZsO8Z3QgdW5kIHZlcmFyYmVpdGV0IHdlcmRlbi48YnIgLz4NCiAgICBWb3J0ZWlsIGRpZXNlciBNZXRob2RlIGlzdCwgZGFzcyBlaW4gUHJvYmxlbSBpbmtsLiBkZXIgdmVyd2VuZGV0ZW4gRGF0ZW4gYW4gZWluZW0gYW5kZXJlbiBPcnQgbmFjaHZvbGx6b2dlbiB3ZXJkZW4ga2Fubiwgb2huZSBkYXNzIGRpZSBnZXNhbXRlIFVtZ2VidW5nIG5hY2hnZWJhdXQgd2VyZGVuIG11c3MuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm5hbWUgLSBOYW1lIGRlciBWYXJpYWJsZSwgd2VsY2hlIGV4cG9ydGllcnQgd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJWYXJFeHBvcnQgbmFtZT0mcXVvdDtpdGVtcyZxdW90OyYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPg0KIDwvdWw+DQogDQogPHA+PGI+VG9vbEJveCBGdW5rdGlvbmFsaXTDpHRlbjwvYj48L3A+DQogPHA+Jm5ic3A7PC9wPg0KIDx1bD4NCiA8bGk+PHN0cm9uZz4mIzEyMzt0YldyaXRlTG9nJiMxMjU7PC9zdHJvbmc+DQogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga2FubiBpbiBlaW5lbSBUZW1wbGF0ZSBvZGVyIGF1ZiBlaW5lciBTZWl0ZSBlaW4gU3RyaW5nLCBlaW4gQXJyYXkgb2RlciBlaW4gT2JqZWt0IGlucyB0YWlsLUxvZyBkZXIgVG9vbEJveCBnZXNjaHJpZWJlbiB3ZXJkZW4uIERpZXNlcyBQbHVnaW4gaXN0IGbDvHIgRGVidWdnaW5nIFp3ZWNrZSBvZGVyIHp1bSBNaXRsb2dnZW4gdmVyc2NoaWVkZW5lciBBa3Rpb25lbiBpbnRlcmVzc2FudC4gPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmxvZyAtIFRleHQgZGVyIGlucyBMb2dmaWxlIGdlc2NocmllYmVuIHdlcmRlbiBzb2xsIChrYW5uIGVpbiBTdHJpbmcsIGVpbiBBcnJheSBvZGVyIGVpbiBPYmpla3Qgc2VpbikuPC9saT4NCiAgICAgICA8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBOYW1lIGRlcyBMb2dmaWxlcyBpbiB3ZWxjaGVzIGRlciBUZXh0IGdlc2NocmllYmVuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICA8cHJlPiYjMTIzO3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2ciJiMxMjU7PC9wcmU+DQogICAgPC9wPg0KIDwvbGk+IA0KIDwvdWw+DQogDQogDQogPHA+PGI+UGx1Z2lucyBmw7xyIEFkdmFuY2VkQ29udGVudDwvYj48L3A+DQogPHA+Jm5ic3A7PC9wPg0KIDx1bD4NCiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGRpZSBnZXNhbXRlIFNlaXRlbi1IaWVyYXJjaGllIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrYW5uIGluIEFDIGVpbiBEcm9wZG93biBGZWxkIG1pdCBhbGxlbiBTZWl0ZW4gYXVzZ2VnZWJlbiB3ZXJkZW4uIDwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+W2RlbGltaXRlcl0gLSAob3B0aW9uYWwpIFRyZW5uemVpY2hlbiB6d2lzY2hlbiBkZW4gRWludHLDpGdlbi4gU3RhbmRhcmQ6IHwuPC9saT4NCiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIG1pdCBvdXRwdXQ9ImlkIiB3ZXJkZW4gYWxsZSBDb250ZW50LUlEcyBhdXNnZWdlYmVuLiBBbnNvbnN0ZW4gd2lyZCBkZXIgTWVuw7x0ZXh0IGF1c2dlZ2ViZW4uPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRQYWdlSGllcmFyY2h5IG91dHB1dD0iaWQiJiMxMjU7PC9wcmU+PGJyIC8+DQogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgbGFiZWw9IlNlaXRlIiBibG9ja190eXBlPSJkcm9wZG93biIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRQYWdlSGllcmFyY2h5Ojo6IiB2YWx1ZXM9Ijo6OnRiR2V0UGFnZUhpZXJhcmNoeSBvdXRwdXQ9J2lkJzo6OiIgc21hcnR5PWJhY2tlbmQgJiMxMjU7PC9wcmU+PC9wPg0KIDwvbGk+IA0KIA0KICA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9zdHJvbmc+DQogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIE5ld3NrYXRlZ29yaWVuIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGluIGVpbmVtIE11bHRpcGxlIFNlbGVjdCBGZWxkIGRpZSBnZXfDvG5zY2h0ZW4gTmV3c2thdGVnb3JpZW4gZ2V3w6RobHQgd2VyZGVuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgVHJlbm56ZWljaGVuIHp3aXNjaGVuIGRlbiBFaW50csOkZ2VuLiBTdGFuZGFyZDogfC48L2xpPg0KICAgICAgIDxsaT5bb3V0cHV0XSAtIChvcHRpb25hbCkgbWl0IG91dHB1dD0iaWQiIHdlcmRlbiBhbGxlIENvbnRlbnQtSURzIGF1c2dlZ2ViZW4uIEFuc29uc3RlbiB3aXJkIGRlciBNZW7DvHRleHQgYXVzZ2VnZWJlbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9wcmU+PGJyIC8+DQogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgYmxvY2s9Im5ld3MiIGxhYmVsPSJOZXdzIEthdGVnb3JpZW4uIiBibG9ja190eXBlPSJzZWxlY3RfbXVsdGlwbGUiIG5vX2NvbGxhcHNlPXRydWUgaXRlbXM9Ijo6OnRiR2V0TmV3c0NhdGVnb3JpZXM6OjoiIHNtYXJ0eT1iYWNrZW5kICYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPiANCiANCiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFVzZXJHcm91cHMmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrw7ZubmVuIGFsbGUgTmV3c2thdGVnb3JpZW4gYXVzZ2VnZWJlbiB3ZXJkZW4uIFByYWt0aXNjaCBpc3QgZGVyIEVpbnNhdHogZGllc2VzIFBsdWdpbiBpbiBWZXJiaW5kdW5nIG1pdCBBZHZhbmNlZENvbnRlbnQuIFNvIGvDtm5uZW4gaW4gZWluZW0gTXVsdGlwbGUgU2VsZWN0IEZlbGQgZGllIGdld8O8bnNjaHRlbiBOZXdza2F0ZWdvcmllbiBnZXfDpGhsdCB3ZXJkZW48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+W2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPGxpPltncm91cHNfb25seV0gLSAob3B0aW9uYWwpIFplaWd0IG51ciBkaWUgQmVudXR6ZXJncnVwcGVuIChlaW56ZWxuZSBCZW51dHplciB3ZXJkZW4gbmljaHQgYW5nZXplaWd0KTwvbGk+DQogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBUcmVubnplaWNoZW4gendpc2NoZW4gZGVuIEVpbnRyw6RnZW4uIFN0YW5kYXJkOiB8LjwvbGk+DQogICAgICAgPGxpPltvdXRwdXRdIC0gKG9wdGlvbmFsKSBtaXQgb3V0cHV0PSJpZCIgd2VyZGVuIGFsbGUgQ29udGVudC1JRHMgYXVzZ2VnZWJlbi4gQW5zb25zdGVuIHdpcmQgZGVyIE1lbsO8dGV4dCBhdXNnZWdlYmVuLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICA8cHJlPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJlZGl0b3JzIiBsYWJlbD0iQmVudXR6ZXIgd2VsY2hlIGRpZXNlIFNlaXRlbiBiZWFyYmVpdGVuIGTDvHJmZW4iIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWU6OjoiIHZhbHVlcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWUgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT1iYWNrZW5kICYjMTI1OzwvcHJlPjwvcD4NCiA8L2xpPiAgDQogDQogIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0R2FsbGVyeVRyZWUmIzEyNTs8L3N0cm9uZz4NCiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrw7ZubmVuIGFsbGUgR2FsbGVyeSBPcmRuZXIgKE1vZHVsIEdhbGxlcnkpIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGRpZSBHYWxsZXJ5cyBpbiBlaW5lbSBEcm9wZG93biBGZWxkIGF1c2dlZ2ViZW4gd2VyZGVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bc3ViZGlyXSAtIChvcHRpb25hbCkgVW50ZXJvcmRuZXIgZGVyIEdhbGxlcnkgYWIgd2VsY2hlbSBhbGxlciBlbnRoYWx0ZW5lbiBPcmRuZXIgYXVmZ2VsaXN0ZXQgd2VyZGVuIHNvbGxlbiAuPC9saT4NCiAgICAgICA8bGk+W2FjdGlvbl0gLSAob3B0aW9uYWwpIDx1bD4NCiAgICAgICAJCQkJCQkJCTxsaT5hY3Rpb249InVybCIgLT4gUGZhZCB6dW0gT3JkbmVyPC9saT4NCiAgICAgICAJCQkJCQkJCTxsaT4gYWN0aW9uID0gIiIgLT4gUGZhZCBkZXMgT3JkbmVycyBpbmtsLiBCaWxkYW56YWhsPC9saT4NCiAgICAgICAJCQkJCQkJPC91bD4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxiciAvPg0KICAgIDxwcmU+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1OzwvcHJlPjxiciAvPg0KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJnYWxsZXJ5IiBsYWJlbD0iR2FsbGVyeSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIGFsbG93X25vbmU9dHJ1ZSBpdGVtcz0iS2VpbmUgR2FsbGVyeXw6Ojp0YkdldEdhbGxlcnlUcmVlIDo6OiIgdmFsdWVzPSJ8Ojo6dGJHZXRHYWxsZXJ5VHJlZSBhY3Rpb249J3VybCc6OjoiIHNtYXJ0eT1iYWNrZW5kIGFzc2lnbj0iYnRHYWxsZXJ5UGF0aCIgbm9fY29sbGFwc2U9dHJ1ZSAmIzEyNTs8L3ByZT48L3A+DQogICAgDQogPC9saT4gIA0KIA0KPC91bD4NCiAgDQoNCg0KICANCiAgPC9kaXY+DQo8L2Rpdj4NCg0KRU9UOw0KDQojIEkNCiRsYW5nWydpZCddID0gJ0lEJzsNCiRsYW5nWydpZ25vcmUnXSA9ICdJZ25vcmllcmVuJzsNCiRsYW5nWydpZ25vcmVsaXN0J10gPSAnSWdub3JpZXItTGlzdGUnOw0KJGxhbmdbJ2luYWN0aXZlJ10gPSAnSW5ha3Rpdic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnaW5zdGFsbGllcnQnOw0KJGxhbmdbJ2lwJ10gPSAnSVAgTnVtbWVyJzsNCiRsYW5nWydpdXJsJ10gPSAnWnUgaWdub3JpZXJlbmRlIFVSTCc7DQokbGFuZ1snaW1wb3J0eG1sX3RpdGxlJ10gPSAnVGVtcGxhdGUgdmlhIFhNTC1EYXRlaSBpbXBvcnRpZXJlbic7DQokbGFuZ1snaW1wb3J0eG1sJ10gPSAnVGVtcGxhdGUtWE1MIGltcG9ydGllcmVuJzsNCiRsYW5nWydpbXBvcnR4bWxub3RlJ10gPSAnWE1MLURhdGVpZW4gbWl0IHZlcnNjaGllZGVuZW4gVG9vbEJveC1Wb3JsYWdlbiBrJm91bWw7bm5lbiBpbSBQcm9qZWt0dmVyemVpY2huaXMgZGVzIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdC9maWxlcy8xMDc1IiB0YXJnZXQ9Il9ibGFuayI+VG9vbEJveC1Nb2R1bHM8L2E+IGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4uIEJpdHRlIGxlc2VuIFNpZSBkaWUgVmVyc2lvbnMtSGlud2Vpc2Ugdm9yIGRlbSBIb2NobGFkZW4hJzsNCg0KIyBKDQoNCiMgSw0KJGxhbmdbJ2tleXdvcmQnXSA9ICdTdWNoYmVncmlmZic7DQoNCiMgTA0KJGxhbmdbJ2xpbmt2YWx1ZSddID0gJ1LDvGNrZ2FiZXdlcnQgZGVzIExpbmtzJzsNCg0KIyBNDQokbGFuZ1snbWFpbiddID0gJ8OcYmVyc2ljaHQnOw0KJGxhbmdbJ21ha2VhY3RpdmUnXSA9ICdBa3RpdmllcmVuJzsNCiRsYW5nWydtYWtlaW5hY3RpdmUnXSA9ICdEZWFrdGl2aWVyZW4nOw0KJGxhbmdbJ21heF80MDQnXSA9ICdBbnphaGwgNDA0IEZlaGxlcic7DQokbGFuZ1snbWF4XzQwNF9oZWxwJ10gPSAnV2llIHZpZWxlIEZlaGxlciBzb2xsZW4gbWF4aW1hbCBtaXRnZWxvZ2d0IHdlcmRlbj8nOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRGllc2VzIE1vZHVsIGlzdCBlaW5lIFNhbW1sdW5nIHZvbiBuw7x0emxpY2hlbiBUb29sczogQXV0b0xpZ2h0Qm94LCBTb2NpYWxTaGFyZVByaXZhY3ksIFR3aXR0ZXJmZWVkICwgU21hcnR5LVRvb2xzLCAzMDEtV2VpdGVybGVpdHVuZ2VuLCA0MDQtRmVobGVydHJhY2tpbmcnOw0KJGxhbmdbJ21vZGlmaWVkJ10gPSAnTGV0enRlcyBBdWZ0cmV0ZW4nOw0KJGxhbmdbJ21vbnRoJ10gPSAnTW9uYXQnOw0KJGxhbmdbJ21vbnRocyddID0gJ01vbmF0ZSc7DQokbGFuZ1snaW1wb3J0X211bHRpZG9tYWlucyddID0gJ0RhdGVuIGF1cyBNdWx0aURvbWFpbnMtTW9kdWwgaW1wb3J0aWVyZW4nOw0KJGxhbmdbJ2ltcG9ydF9tdWx0aWRvbWFpbnNfaGVscCddID0gJ0hpbndlaXM6IEVzIHd1cmRlbiBiZXJlaXRzICVzIE1hbCBEYXRlbiBpbXBvcnRpZXJ0ISEhJzsNCiRsYW5nWydkcm9wX211bHRpZG9tYWlucyddID0gJ1RhYmVsbGVuIGRlcyBhbHRlbiBNb2R1bHMgTXVsdGlEb21haW5zIGzDtnNjaGVuPyc7DQokbGFuZ1snbWFpbl9ldmVudF9oYW5kbGVyX2FjdGl2ZSddID0gJ1Rvb2xCb3ggaXN0IGltIEV2ZW50SGFuZGxlciBha3Rpdic7DQokbGFuZ1snbWFpbl9ldmVudF9oYW5kbGVyX2luYWN0aXZlJ10gPSAnRGllIFRvb2xCb3ggbXVzcyBpbSBUZW1wbGF0ZSBtaXQge1Rvb2xCb3h9IGFrdGl2aWVydCB3ZXJkZW4nOw0KJGxhbmdbJ21haW5fc3RhdHNfYWN0aXZlJ10gPSAnU3RhdGlzdGlrZW4nOw0KJGxhbmdbJ21haW5fc3RhdHNfaW5hY3RpdmUnXSA9ICdTdGF0aXN0aWtlbic7DQokbGFuZ1snbWFpbl9zdGF0c180MDRfYWN0aXZlJ10gPSAnNDA0IEZlaGxlci1UcmFja2luZyc7CQkNCiRsYW5nWydtYWluX3N0YXRzXzQwNF9pbmFjdGl2ZSddID0gJzQwNCBGZWhsZXItVHJhY2tpbmcnOw0KJGxhbmdbJ21haW5fb2xkdXJsX2FjdGl2ZSddID0gJ1VSTC1VbWxlaXR1bmdlbic7DQokbGFuZ1snbWFpbl9vbGR1cmxfaW5hY3RpdmUnXSA9ICdVUkwgVW1sZWl0dW5nZW4nOw0KJGxhbmdbJ21haW5fYXV0b2xpZ2h0Ym94X2FjdGl2ZSddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1snbWFpbl9hdXRvbGlnaHRib3hfaW5hY3RpdmUnXSA9ICdBdXRvTGlnaHRCb3gnOw0KJGxhbmdbJ21haW5fc29jaWFsc2hhcmVwcml2YWN5X2FjdGl2ZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7DQokbGFuZ1snbWFpbl9zb2NpYWxzaGFyZXByaXZhY3lfaW5hY3RpdmUnXSA9ICdTb2NpYWxTaGFyZVByaXZhY3knOw0KJGxhbmdbJ21haW5fdGFpbF9hY3RpdmUnXSA9ICd0YWlsIExvZyBGdW5rdGlvbmFsaXTDpHQnOw0KJGxhbmdbJ21haW5fdGFpbF9pbmFjdGl2ZSddID0gJ3RhaWwgTG9nIEZ1bmt0aW9uYWxpdMOkdCc7DQokbGFuZ1snbWFpbl9kZWJ1Z19hY3RpdmUnXSA9ICdEZWJ1Z2dpbmcnOw0KJGxhbmdbJ21haW5fZGVidWdfaW5hY3RpdmUnXSA9ICdEZWJ1Z2dpbmcnOw0KJGxhbmdbJ21haW5fc21hcnR5cGx1Z2luc19hY3RpdmUnXSA9ICdTbWFydHkgUGx1Z2luICR0YnRvb2xzIGlzdCBha3Rpdic7DQokbGFuZ1snbWFpbl9tb2JpbGVkZXRlY3RfYWN0aXZlJ10gPSAnU21hcnR5IFBsdWdpbiAkdGJtb2JpbGUgaXN0IGFrdGl2IC0gbW9iaWxlIEdlcsOkdGUgZXJrZW5uZW4nOw0KJGxhbmdbJ21haW5fZnVuY3Rpb25zX2FjdGl2ZSddID0gJ0RpZSBUb29sQm94IFBsdWdpbnMgc3RlaGVuIHp1ciBWZXJmw7xndW5nJzsNCiRsYW5nWydtYWluX21vZGlmaWVyX2FjdGl2ZSddID0gJ0RpZSBUb29sQm94IE1vZGlmaWVyIHN0ZWhlbiB6dXIgVmVyZsO8Z3VuZyc7DQokbGFuZ1snbW9kdWxlb3BzJ10gPSAnTW9kdWxlIE9wZXJhdGlvbnMnOw0KJGxhbmdbJ21vZHVsZW9wc191c2UnXSA9ICdNb2R1bGUgT3BlcmF0aW9ucyBudXR6ZW4gLT4gQmFja3VwIHVuZCBXaWVkZXJoZXJzdGVsbHVuZyB2b24gTW9kdWxlaW5zdGVsbHVuZ2VuJzsNCiRsYW5nWydtc2dfc2F2ZXRlbXBsYXRlcHJlZiddID0gJ0RpZSBUZW1wbGF0ZWVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0JzsNCiRsYW5nWydtc2dfc2F2ZXByZWYnXSA9ICdEaWUgRWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQnOw0KJGxhbmdbJ21zZ19yZXNldHByZWYnXSA9ICdEaWUgRWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggenVyw7xja2dlc2V0enQnOw0KJGxhbmdbJ21vYmlsZXRwbCddID0gJ01vYmlsZSBUZW1wbGF0ZSc7DQoNCiMgTg0KJGxhbmdbJ25ldmVyJ10gPSAnTmllbWFscyc7DQokbGFuZ1snbmV3J10gPSAnKG5ldSknOw0KJGxhbmdbJ25ld3JlZGlyZWN0J10gPSAnTmV1ZSBVUkwgVW1sZWl0dW5nJzsNCiRsYW5nWydub3RlcyddID0gJ05vdGl6ZW4nOw0KJGxhbmdbJ25vX2ZpbGVzJ10gPSAiWnUgZGllc2VtIFRlbXBsYXRlIGV4aXN0aWVyZW4ga2VpbmUgRGF0ZWllbi4iOw0KDQojIE8NCiRsYW5nWydvbGR1cmxfdXNlJ10gPSAnUmVpdGVyIGbDvHIgVVJMLVVtbGVpdHVuZ2VuIGFrdGl2aWVyZW4nOw0KJGxhbmdbJ292ZXJ3cml0ZSddID0gJ0RpZSBiZXJlaXRzIGJlc3RlaGVuZGVuIFRlbXBsYXRlZGF0ZW4gJnV1bWw7YmVyc2NocmVpYmVuJzsNCiRsYW5nWydvdmVyd3JpdGUnXSA9ICdEaWUgYmVyZWl0cyBleGlzdGllcmVuZGVuIE1vZHVsLVRlbXBsYXRlcyAmdXVtbDtiZXJzY2hyZWliZW4nOw0KDQoNCiMgUA0KJGxhbmdbJ3NldHRpbmdzJ10gPSAnRWluc3RlbGx1bmdlbic7DQokbGFuZ1sncGFnZSddID0gJ1NlaXRlJzsNCiRsYW5nWydwYWdlaWQnXSA9ICdTZWl0ZW4tSUQnOw0KJGxhbmdbJ3BhZ2VhbGlhcyddID0gJ1NlaXRlbi1BbGlhcyc7DQokbGFuZ1sncGFyYW1faW52YWxpZCddID0gJ3tUb29sQm94fSBEZXIgUGFyYW1ldGVyIG1vZD0iW21vZF0iIGlzdCBuaWNodCBnw7xsdGlnJzsNCiRsYW5nWydwYXJhbV9lbXB0eSddID0gJ3tUb29sQm94fSBEZXIgUGFyYW1ldGVyICJbcGFyYW1dIiBpc3QgbmljaHQgZGVmaW5pZXJ0JzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RhcyBNb2R1bCBUb29sQm94IHd1cmRlIGVyZm9sZ3JlaWNoIGluc3RhbGxpZXJ0LiBTaWUgZXJyZWljaGVuIGRhcyBNb2R1bC1CYWNrZW5kIMO8YmVyIEVyd2VpdGVydW5nZW4gLyBUb29sQm94LiBEYXMgTW9kdWwgbnV0enQgZGllIEJlcmVjaHRpZ3VuZyAiTWFuYWdlIFRvb2xCb3giLic7DQokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBNb2R1bCBUb29sQm94IHd1cmRlIGVyZm9sZ3JlaWNoIGRlaW5zdGFsbGllcnQuJzsNCiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOw0KJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGFzIE1vZHVsIFRvb2xCb3ggd2lya2xpY2ggZGVpbnN0YWxsaWVyZW4ga8O2bm5lbj8nOw0KJGxhbmdbJ3BhcmFtbW9kJ10gPSAnVG9vbGJveCBNb2R1bCBFbGVtZW50LCBCZWlzcGllbDogbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kiIGbDvHIgZGFzIFNvY2lhbFNoYXJlUHJpdmF5IEVsZW1lbnQnOw0KJGxhbmdbJ3BhcmFtdXNlcm5hbWUnXSA9ICdCZW51dHplcm5hbWUnOw0KJGxhbmdbJ3BhcmFtbGlzdCddID0gJ05hbWUgZGVyIExpc3RlJzsNCiRsYW5nWydwYXJhbXNlYXJjaCddID0gJ1N1Y2hiZWdyaWZmJzsNCiRsYW5nWydwYXJhbXRlbXBsYXRlJ10gPSAnTmFtZSBkZXMgVGVtcGxhdGVzIHdlbGNoZXMgdmVyd2VuZGV0IHdpcmQuIERpZXNlcyBUZW1wbGF0ZSBtdXNzIGV4aXN0aWVyZW4gaW0gUmVpdGVyIGRlcyB2ZXJ3ZW5kZXRlbiBUb29sYm94IE1vZHVscyBzaWNodGJhciBzZWluLiBPaG5lIGRpZXNlbiBQYXJhbWV0ZXIgd2lyZCBkYXMgYWxzIFN0YW5kYXJkLVRlbXBsYXRlIGRlZmluaWVydGUgVGVtcGxhdGUgdmVyd2VuZGV0Lic7DQokbGFuZ1sncGFyYW1jb3VudCddID0gJ0FuemFobCBEYXRlbnPDpHR6ZSBkaWUgYW5nZXplaWd0IHdlcmRlbiBzb2xsZW4nOw0KJGxhbmdbJ3BhcmFtZGF0ZWZvcm1hdCddID0gJ0RhdHVtc2Zvcm1hdCBpbiBkZXIgRm9ybSBkLW0tWSBIOmk6cyc7DQokbGFuZ1sncGFyYW1jYWNoZXRpbWUnXSA9ICdaZWl0IGluIE1pbnV0ZW4gaW4gZGVuZW4gZGFzIFJlc3VsdGF0IGltIENhY2hlIGdlc3BlaWNoZXJ0IGJsZWlidC4gU3RhbmRhcmQgaXN0IDEwIE1pbnV0ZW4gKDEwKS4nOw0KJGxhbmdbJ3BhcmFtaW1hZ2UnXSA9ICdQZmFkIHp1bSBCaWxkJzsNCiRsYW5nWydwYXJhbWhlaWdodCddID0gJ0jDtmhlIGluIFBpeGVsJzsNCiRsYW5nWydwYXJhbXdpZHRoJ10gPSAnQnJlaXRlIGluIFBpeGVsJzsNCiRsYW5nWydwYXJhbWFsdCddID0gJ2FsdCBBdHRyaWJ1dCc7DQokbGFuZ1sncGFyYW10aXRsZSddID0gJ3RpdGxlIEF0dHJpYnV0JzsNCiRsYW5nWydwYXJhbWNsYXNzJ10gPSAnY2xhc3MgQXR0cmlidXQnOw0KJGxhbmdbJ3BhcmFtaWQnXSA9ICdpZCBBdHRyaWJ1dCc7DQokbGFuZ1sncGFyYW1zdHlsZSddID0gJ3N0eWxlIEF0dHJpYnV0JzsNCiRsYW5nWydwYXJhbW5vdGFnJ10gPSAnUmVzdWx0YXQgb2huZSBUYWdzICh6LkIuIFVSTCBkZXMgQmlsZGVzKSc7DQokbGFuZ1sncGFyYW1kZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbHRlbXBsYXRlJzsNCiRsYW5nWydwYXJhbWZpbGUnXSA9ICdEYXRlaSc7DQokbGFuZ1sncGFyYW1maWxlY2hhcnNldCddID0gJ1plaWNoZW5zYXR6IChjaGFyc2V0KSBkZXIgRGF0ZWknOw0KJGxhbmdbJ3BhcmFtYWN0aW9uJ10gPSAnQWN0aW9uJzsNCiRsYW5nWydwYXJhbXNvcnRieSddID0gJ1NvcnRpZXJlbiBuYWNoJzsNCiRsYW5nWydwYXJhbXNvcnRvcmRlciddID0gJ1NvcnRpZXJyZWloZW5mb2xnZSc7DQokbGFuZ1sncGFyYW1kZWxpbWl0ZXInXSA9ICdEZWxpbWl0ZXIgKFRyZW5uemVpY2hlbiknOw0KJGxhbmdbJ3Byb21wdF9pbXBvcnR0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGltcG9ydGllcmVuJzsNCiRsYW5nWydwcm9tcHRfYWJvdXQnXSA9ICcmVXVtbDtiZXInOw0KJGxhbmdbJ3Byb21wdF9hY3RpdmUnXSA9ICdBa3Rpdic7DQokbGFuZ1sncHJvbXB0X2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7DQokbGFuZ1sncHJvbXB0X2RlZmF1bHQnXSA9ICdTdGFuZGFyZCc7DQokbGFuZ1sncHJvbXB0X2VkaXR0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGJlYXJiZWl0ZW4nOw0KJGxhbmdbJ3Byb21wdF9maWxlJ10gPSAnRGF0ZWknOw0KJGxhbmdbJ3Byb21wdF9qcXVlcnknXSA9ICdqUXVlcnkgZWluYmluZGVuJzsNCiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOw0KJGxhbmdbJ3Byb21wdF9uZXd0ZW1wbGF0ZSddID0gJ05ldWVzIFRlbXBsYXRlIGVyc3RlbGxlbic7DQokbGFuZ1sncHJvbXB0X3NpemUnXSA9ICdHcsO2c3NlJzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVjc3MnXSA9ICdTdHlsZXNoZWV0JzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVqcyddID0gJ0phdmFTY3JpcHQnOw0KJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ0hUTUwnOw0KJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdUZW1wbGF0ZS1OYW1lJzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVtYW5hZ2VtZW50J10gPSAnVGVtcGxhdGV2ZXJ3YWx0dW5nJzsNCiRsYW5nWydwcm9tcHRfdGVtcGxhdGVmaWxlcyddID0gJ1RlbXBsYXRlIERhdGVpZW4nOw0KJGxhbmdbJ3Byb21wdF91cGxvYWRmaWxlJ10gPSAnRGF0ZWkgYXVzdyZhdW1sO2hsZW4nOw0KJGxhbmdbJ3Byb21wdF92ZXJzaW9uJ10gPSAnVmVyc2lvbic7DQokbGFuZ1sncHJvbXB0X3Zpc2libGUnXSA9ICdJbSBUZW1wbGF0ZS1MaXN0ZW5mZWxkbWVuJnV1bWw7IHNpY2h0YmFyJzsNCiRsYW5nWydwcm9tcHRfb2xkdXJsX3RpdGxlJ10gPSAnVVJMIFdlaXRlcmxlaXR1bmcnOw0KJGxhbmdbJ3Byb21wdF9zdGF0c180MDRfdGl0bGUnXSA9ICc0MDQgTG9nZ2luZyc7DQokbGFuZ1sncHJvbXB0X2F1dG9saWdodGJveF90aXRsZSddID0gJ0F1dG9MaWdodEJveCc7DQokbGFuZ1sncHJvbXB0X3NvY2lhbHNoYXJlcHJpdmFjeV90aXRsZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7DQokbGFuZ1sncHJvbXB0X3N0YXRzX3RpdGxlJ10gPSAnU3RhdGlzaWsnOw0KJGxhbmdbJ3Byb21wdF9kZWJ1Z190aXRsZSddID0gJ0RlYnVnJzs7DQokbGFuZ1sncHJvbXB0X3RhaWxfdGl0bGUnXSA9ICdMb2dnaW5nJzsNCiRsYW5nWydwcm9tcHRfcHJlZnNfdGl0bGUnXSA9ICdFaW5zdGVsbHVuZ2VuJzsNCiRsYW5nWydwcm9tcHRfbXVsdGlkb21haW5fdGl0bGUnXSA9ICdNdWx0aWRvbWFpbnMnOw0KJGxhbmdbJ3Byb21wdF9pbWFnZW1hbmlwdWxhdGlvbl9zb2NpYWxwbHVnaW4nXSA9ICdCaWxkYmVhcmJlaXR1bmcgLyBTb2NpYWwgUGx1Z2lucyc7DQokbGFuZ1sncHJvbXB0X3RyYWNraW5nX2xvZ2dpbmcnXSA9ICdMb2dnaW5nICAvIFRyYWNraW5nJzsNCiRsYW5nWydwcm9tcHRfZ2VuZXJhbF9wcmVmcyddID0gJ0FsbGdlbWVpbmUgRWluc3RlbGx1bmdlbic7DQokbGFuZ1sncHJvbXB0X2phdmFzY3JpcHRfZm9vdGVyJ10gPSAnRGFzIGF1dG9tYXRpc2NoIGVpbmdlYnVuZGVuZSBKYXZhc2NyaXB0IHZvciBkZW0gJmx0Oy9ib2R5Jmd0OyBlaW5iaW5kZW4nOw0KJGxhbmdbJ3Byb21wdF90d2l0dGVyZmVlZF90aXRsZSddID0gJ1R3aXR0ZXJmZWVkJzsNCiRsYW5nWydwcm9tcHRfcGFyYW1ldGVyJ10gPSAnRm9sZ2VuZGUgUGFyYW1ldGVyIGvDtm5uZW4gaW0gVGVtcGxhdGUgdmVyd2VuZGV0IHdlcmRlbic7DQokbGFuZ1sncHJvbXB0X2Nzdl90aXRsZSddID0gJ0NTViBMaXN0SXQnOw0KJGxhbmdbJ3Byb21wdF9taW5pZnknXSA9ICdKYXZhc2NyaXB0IHVuZCBTdHlsZXNoZWV0cyBtaXQgTWluaWZ5IGtvbXByaW1pZXJ0IGVpbmJpbmRlbic7DQokbGFuZ1sncHJvbXB0X3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1p1c2FtbWVuZmFzc3VuZ3MgVGVtcGxhdGUnOw0KJGxhbmdbJ3Byb21wdF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7DQokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0RlbGltaXRlciBkZXIgQ1NWIERhdGVpJzsNCiRsYW5nWydwcm9tcHRfY2hhcnNldGZpbGUnXSA9ICdDaGFyc2V0IENTViBEYXRlaSc7DQokbGFuZ1sncHJvbXB0X2NoYXJzZXRjbXMnXSA9ICdDaGFyc2V0IENNUyBTeXN0ZW0nOw0KJGxhbmdbJ3Byb21wdF91cmx0eXBlJ10gPSAnVVJMIFR5cCc7DQokbGFuZ1sncHJvbXB0X3VzZV9tb2JpbGV0ZW1wbGF0ZSddID0gJ01vYmlsZXMgVGVtcGxhdGUgYWt0aXZpZXJlbic7DQoNCg0KIyBRDQoNCiMgUg0KJGxhbmdbJ3JlYWxseW1ha2VhY3RpdmUnXSA9ICdXaXJrbGljaCBha3RpdmllcmVuPyc7DQokbGFuZ1sncmVhbGx5aWdub3JlJ10gPSAnRGllc2UgVVJMIGluIGRlciBGZWhsZXJsaXN0ZSBpZ25vcmllcmVuPyc7DQokbGFuZ1sncmVhbGx5bWFrZWluYWN0aXZlJ10gPSAnV2lya2xpY2ggZGVha3RpdmllcmVuPyc7DQokbGFuZ1sncmVhbGx5ZGVsZXRlJ10gPSAnV2lya2xpY2ggbMO2c2NoZW4/JzsNCiRsYW5nWydyZWRpcmVjdCddID0gJ1VSTCBVbWxlaXR1bmcnOw0KJGxhbmdbJ3JlZGlyZWN0ZWRpdCddID0gJ1VSTCBVbWxlaXR1bmcgYmVhcmJlaXRlbic7DQokbGFuZ1sncmVkaXJlY3RzJ10gPSAnVVJMcyB1bWxlaXRlbic7DQokbGFuZ1sncmVmZXJlciddID0gJ0hlcmt1bmZ0JzsNCiRsYW5nWydyZWdleHAnXSA9ICdSZWdFeHAnOw0KJGxhbmdbJ3Jlc2V0J10gPSAnWnVyw7xja3NldHplbic7DQokbGFuZ1sncmVzZXRvcmlnaW5hbCddID0gJ0F1ZiBkaWUgcHJvZ3JhbW1zZWl0aWdlbiBWb3JlaW5zdGVsbHVuZ2VuIHp1ciZ1dW1sO2Nrc2V0emVuJzsNCiRsYW5nWydyZXNldG9yaWdpbmFsd2FybmluZyddID0gJ1dvbGxlbiBTaWUgZGFzIFRlbXBsYXRlIHdpcmtsaWNoIG1pdCBkZW4gT3JpZ2luYWxkYXRlbiB6dXLDvGNrc2V0emVuPyc7DQokbGFuZ1sncmVzZXRvcmlnaW5hbHdhcm5pbmcyJ10gPSAnV29sbGVuIFNpZSBkaWUgRWluc3RlbGx1bmdlbiB3aXJrbGljaCBtaXQgZGVuIE9yaWdpbmFsZGF0ZW4genVyw7xja3NldHplbj8nOw0KDQoNCiMgUw0KJGxhbmdbJ3NlYXJjaHRlbXBsYXRlJ10gPSAnU3VjaHRlbXBsYXRlJzsNCiRsYW5nWydzZWFyY2hlbmdpbmUnXSA9ICdTdWNobWFzY2hpbmUnOw0KJGxhbmdbJ3NlbmQnXSA9ICdBYnNlbmRlbic7DQokbGFuZ1snc2Vzc2lvbl9pZCddID0gJ1Nlc3Npb24gSUQnOw0KJGxhbmdbJ3NldGZhbHNlJ10gPSAnRGVha3RpdmllcmVuJzsNCiRsYW5nWydzZXR0cnVlJ10gPSAnQWt0aXZpZXJlbic7DQokbGFuZ1snc21hcnR5dGFncyddID0gJ0luIGRpZXNlbSBUZW1wbGF0ZSBrw7ZubmVuIFNtYXJ0eS1UYWdzIGVpbmdlc2V0enQgd2VyZGVuLiBGb3JtYXQ6IFtbcm9vdF91cmxdXSc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5J10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2FkdmFuY2VkJ10gPSAnRXJ3ZWl0ZXJ0ZSBFaW5zdGVsbHVuZ2VuIGFrdGl2aWVyZW4gKEhUTUwsIFN0eWxlc2hlZXQgdW5kIEphdmFTY3JpcHQgVGVtcGxhdGUgZGlyZWt0IGJlYXJiZWl0ZW4pJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfZGVzY3JpcHRpb24nXSA9ICc8cD5Tb2NpYWxTaGFyZVByaXZhY3kgaXN0IGVpbiBQbHVnaW4genVtIHp3ZWlzdHVmaWdlbiBFaW5iaW5kdW5nIHZvbiBGYWNlYm9vaywgVHdpdHRlciB1bmQgR29vZ2xlUGx1cy4gRXJzdCBuYWNoIGVpbmVtIEtsaWNrIGF1ZiBkZW4gU2NoYWx0ZXIsIHdlcmRlbiBEYXRlbiB2b20gamV3ZWlsaWdlbiBEaWVuc3Qgw7xiZXJ0cmFnZW4uPGJyIC8+PGJyIC8+U29jaWFsU2hhcmVQcml2YWN5IHdpcmQgd2llIGZvbGd0IGVpbmdlYnVuZGVuOiB7VG9vbEJveCBtb2Q9InNvY2lhbHNoYXJlcHJpdmFjeSJ9PC9wPic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X2luYWN0aXZlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5IGlzdCBuaWNodCBha3RpdiEnOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfaW5mb2xpbmsnXSA9ICdMaW5rIHp1IGVpbmVyIEluZm8tU2VpdGUgYXVmIGRlciBkaWUgRnVua3Rpb25hbGl0w6R0IGVya2zDpHJ0IHdpcmQnOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfanF1ZXJ5J10gPSAnalF1ZXJ5IGVpbmJpbmRlbic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZV9pbmZvJ10gPSAnV2VpdGVyZSBJbmZvcyB6dW0gRWluc2F0eiB2b24gU29jaWFsU2hhcmVQcml2YWN5IHVuZCBkaWUgdmVyc2NoaWVkZW5lbiBPcHRpb25lbiBmaW5kZXQgc2ljaCBoaWVyOiA8YSBocmVmPSJodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvIj5odHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvPC9hPic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZSddID0gJ0hUTUwnOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGVjc3MnXSA9ICdTdHlsZXNoZWV0JzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlanMnXSA9ICdKYXZhU2NyaXB0JzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfc2V0dGluZ3NwZXJtYSddID0gJ0RhdWVyaGFmdCBha3RpdmllcmVuIHVuZCBEYXRlbiZ1dW1sO2JlciZzaHk7dHJhZ3VuZyB6dXN0aW1tZW46JzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJpbmZvJ10gPSAnMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBGYWNlYm9vayBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlIEkuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvZmYnXSA9ICduaWNodCBtaXQgRmFjZWJvb2sgdmVyYnVuZGVuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvbiddID0gJ21pdCBGYWNlYm9vayB2ZXJidW5kZW4nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHR0d2l0dGVyaW5mbyddID0gJzIgS2xpY2tzIGYmdXVtbDtyIG1laHIgRGF0ZW5zY2h1dHo6IEVyc3Qgd2VubiBTaWUgaGllciBrbGlja2VuLCB3aXJkIGRlciBCdXR0b24gYWt0aXYgdW5kIFNpZSBrJm91bWw7bm5lbiBJaHJlIEVtcGZlaGx1bmcgYW4gVHdpdHRlciBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlIEkuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9mZiddID0gJ25pY2h0IG1pdCBUd2l0dGVyIHZlcmJ1bmRlbic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dHR3aXR0ZXJvbiddID0gJ21pdCBUd2l0dGVyIHZlcmJ1bmRlbic7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzaW5mbyddID0gJzIgS2xpY2tzIGYmdXVtbDtyIG1laHIgRGF0ZW5zY2h1dHo6IEVyc3Qgd2VubiBTaWUgaGllciBrbGlja2VuLCB3aXJkIGRlciBCdXR0b24gYWt0aXYgdW5kIFNpZSBrJm91bWw7bm5lbiBJaHJlIEVtcGZlaGx1bmcgYW4gR29vZ2xlKyBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlIEkuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNvZmYnXSA9ICduaWNodCBtaXQgR29vZ2xlKyB2ZXJidW5kZW4nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRncGx1c29uJ10gPSAnbWl0IEdvb2dsZSsgdmVyYnVuZGVuJzsNCiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0aGVscCddID0gJ1dlbm4gU2llIGRpZXNlIEZlbGRlciBkdXJjaCBlaW5lbiBLbGljayBha3RpdmllcmVuLCB3ZXJkZW4gSW5mb3JtYXRpb25lbiBhbiBGYWNlYm9vaywgVHdpdHRlciBvZGVyIEdvb2dsZSBpbiBkaWUgVVNBICZ1dW1sO2JlcnRyYWdlbiB1bmQgdW50ZXIgVW1zdCZhdW1sO25kZW4gYXVjaCBkb3J0IGdlc3BlaWNoZXJ0LiBOJmF1bWw7aGVyZXMgZXJmYWhyZW4gU2llIGR1cmNoIGVpbmVuIEtsaWNrIGF1ZiBkYXMgSS4nOw0KJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90aXRsZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSAtIFNvY2lhbC1NZWRpYSBCdXR0b25zIG1pdCBkZXIgMi1LbGljayBSZWdlbCc7DQokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSB2ZXJ3ZW5kZW4nOw0KJGxhbmdbJ3N0YW5kYXJkJ10gPSAnU3RhbmRhcmQnOw0KJGxhbmdbJ3N0YXRzJ10gPSAnU3RhdGlzdGlrZW4nOw0KJGxhbmdbJ3N0YXRzXzQwNCddID0gJzQwNCBGZWhsZXItVHJhY2tpbmcgYmVudXR6ZW4nOw0KJGxhbmdbJ3N0YXRzX2RhaWx5J10gPSAnVMOkZ2xpY2hlIFN0YXRpc3RpayB2ZXJ3ZW5kZW4nOw0KJGxhbmdbJ3N0YXRzX2VtYWlsJ10gPSAnRS1NYWlsIGbDvHIgbW9uYXRsaWNoZSBTdGF0aXN0aWsnOw0KJGxhbmdbJ3N0YXRzX2VtYWlsX2hlbHAnXSA9ICdMZWVyIGxhc3Nlbiwgd2VubiBrZWluZSBFLU1haWxzIHZlcnNhbmR0IHdlcmRlbiBzb2xsZW4nOw0KJGxhbmdbJ3N0YXRzX2VtYWlsX3N1YmplY3QnXSA9ICdUb29sQm94IFN0YXRpc3RpayAldSB2b24gJW0nOw0KJGxhbmdbJ3N0YXRzX3VzZSddID0gJ1N0YXRpc3RpayB2ZXJ3ZW5kZW4nOw0KJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7DQokbGFuZ1snc3VibWl0J10gPSAnU3BlaWNoZXJuJzsNCg0KIyBUDQokbGFuZ1sndGFpbCddID0gJ3RhaWwgTG9nJzsNCiRsYW5nWyd0YWlsX2Rlc2NyaXB0aW9uJ10gPSAnSGllciBkaWUgQmVzY2hyZWlidW5nIHJlaW4uJzsNCiRsYW5nWyd0YWlsX3Byb21wdF9maWxlbmFtZSddID0gJ0F1c3dhaGwgd2VsY2hlcyBMb2dmaWxlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbCc7DQokbGFuZ1sndGFpbF9wcm9tcHRfbGluZXMnXSA9ICdBbnphaGwgZGVyIFplaWxlbiB3ZWxjaGUgYmVpbSBlcnN0ZW4gTGVzZXZvcmdhbmcgYXVzIGRlbSBMb2dmaWxlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuJzsNCiRsYW5nWyd0YWlsX3Byb21wdF9sb2cnXSA9ICdMb2dmaWxlIEF1c2dhYmUnOw0KJGxhbmdbJ3RhaWxfc3RhcnQnXSA9ICdMb2dnaW5nIHN0YXJ0ZW4nOw0KJGxhbmdbJ3RhaWxfc3RvcCddID0gJ0xvZ2dpbmcgc3RvcHBlbic7DQokbGFuZ1sndGFpbF90aXRsZSddID0gJ0xvZ2ZpbGUgQXVzZ2FiZSBtaXR0ZWxzIGpRdWVyeSBUYWlsJzsNCiRsYW5nWyd0YWlsX3VzZSddID0gJ0xvZ2ZpbGUgQXVzd2VydHVuZyBtaXR0ZWxzIGpxdWVyeS90YWlsIGFrdGl2aWVyZW4uIERhYmVpIHdpcmQgbWl0IGVpbmVyIGRlciBVbml4ZnVua3Rpb24gInRhaWwiIMOkaG5saWNoZW4gRnVua3Rpb24gaW4gTG9nZmlsZSBpbiBSZWFsVGltZSBhbmdlemVpZ3QuJzsNCiRsYW5nWyd0YXJnZXRwYWdlJ10gPSAnWmllbC1TZWl0ZSc7DQokbGFuZ1sndGFyZ2V0dXJsJ10gPSAnWmllbC1VUkwnOw0KJGxhbmdbJ3RlbXBsYXRlaW1wb3J0J10gPSAnRGFzIFRlbXBsYXRlIHd1cmRlIGVyZm9sZ3JlaWNoIGltcG9ydGllcnQuJzsNCiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgYWt0dWFsaXNpZXJ0Lic7DQokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ0RhcyBUZW1wbGF0ZSB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0Lic7DQokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGVtcGxhdGUgZ2VsJm91bWw7c2NodCc7DQokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZS1FZGl0b3InOw0KJGxhbmdbJ3RpdGxlX2ltcG9ydHhtbCddID0gJ1RlbXBsYXRlIHZpYSBYTUwtRGF0ZWkgaW1wb3J0aWVyZW4nOw0KJGxhbmdbJ3RpbWUnXSA9ICdaZWl0JzsNCiRsYW5nWyd0b3VybCddID0gJ0ZlaGxlbmRlIFNlaXRlJzsNCiRsYW5nWyd0d2l0dGVyZmVlZCddID0gJ1R3aXR0ZXJmZWVkJzsNCiRsYW5nWyd0d2l0dGVyZmVlZF91c2UnXSA9ICdUd2l0dGVyZmVlZCBha3RpdmllcmVuJzsNCiRsYW5nWyd0d2l0dGVyZmVlZF9kZXNjcmlwdGlvbiddID0gPDw8RU9UDQoJPHA+TWl0IFR3aXR0ZXJmZWVkIGvDtm5uZW4ga2FubiBkZXIgRmVlZCBlaW5lcyBUd2l0dGVyLUFjY291bnRzIGluIGRpZSBXZWJzZWl0ZSBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZSBEYXJzdGVsbHVuZyBkZXMgRmVlZHMga2FubiBpbiBlaW5lbSBUZW1wbGF0ZSBkZWZpbmllcnQgd2VyZGVuLjwvcD48Y29kZT4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZXRpbWU9J2ZyaWVuZGx5JyBjYWNoZXRpbWU9MTAgJiMxMjU7PGJyIC8+DQoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgY291bnQ9NSB0ZW1wbGF0ZT0ndHdpdHRlcmZlZWQnIGRhdGV0aW1lPSdkLm0uWSBIOmknICYjMTI1OzxiciAvPg0KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGxpc3Q9J3dlYmRlc2lnbicgY291bnQ9NSAmIzEyNTs8YnIgLz4NCgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyBzZWFyY2g9JyNjbXNtcycgY291bnQ9MTAgJiMxMjU7DQoJICA8L2NvZGU+DQogIDwvY29kZT4gDQpFT1Q7DQoNCg0KIyBVDQokbGFuZ1sndXJsJ10gPSAnVVJMJzsNCiRsYW5nWyd1cmxzJ10gPSAnVVJMcyc7DQokbGFuZ1sndXBkYXRlZCddID0gJ2FrdHVhbGlzaWVydCc7DQoNCiMgVg0KJGxhbmdbJ3Zpc2l0cyddID0gJ0Jlc3VjaGVyJzsNCiRsYW5nWyd2aWV3J10gPSAnQW5zY2hhdWVuJzsNCg0KIyBXDQoNCiMgWA0KDQojIFkNCiRsYW5nWyd5ZWFyJ10gPSAnSmFocic7DQokbGFuZ1sneWVhciddID0gJ0phaHJlJzsNCg0KIyBaDQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPg0K]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPg0K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KZmluYWwgY2xhc3MgQXV0b2xpZ2h0Ym94DQp7DQoJIyBjaGFuZ2UgdGhpcyB0byAnYWJzb2x1dGUnIG9yICdyZWxhdGl2ZScgaWYgbmVlZGVkOg0KCXByaXZhdGUgc3RhdGljICRfdGh1bWJfdXJsX3R5cGUgPSAncmVsYXRpdmUnOw0KCXByaXZhdGUgc3RhdGljICRfaW1nX3VybF90eXBlICAgPSAnYWJzb2x1dGUnOw0KCQ0KCXByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQ0KCXByaXZhdGUgZnVuY3Rpb24gX19jbG9uZSgpIHt9DQoJDQoJDQoJLyoqDQoJICogcmVwbGFjZSBpbWFnZXMgd2lkdGggdGh1bWJzDQoJICogQHBhcmFtIHN0cmluZyAkdHh0IC0gdGV4dCB3aXRoIGltYWdlIHRhZyhzKQ0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBJbWcyVGh1bWIoJHR4dCwgJGF0dHJpYnV0ZXMgPSBhcnJheSgpLCAkc2V0dGluZ3MgPSBhcnJheSgpKQ0KCXsNCgkJJGF0dHJpYnV0ZXNbJ2NsYXNzJ10gPSBpc3NldCgkYXR0cmlidXRlc1snY2xhc3MnXSkgPyB0cmltKCdhdXRvbGlnaHRib3ggJyAuICRhdHRyaWJ1dGVzWydjbGFzcyddKSA6ICdhdXRvbGlnaHRib3gnOw0KCQkNCgkJaWYgKGlzc2V0KCRzZXR0aW5nc1sndXJsdHlwZSddKSkgew0KCQkJc2VsZjo6JF90aHVtYl91cmxfdHlwZSA9ICRzZXR0aW5nc1sndXJsdHlwZSddOw0KCQkJc2VsZjo6JF9pbWdfdXJsX3R5cGUgPSAkc2V0dGluZ3NbJ3VybHR5cGUnXTsNCgkJfQ0KCQkNCgkJDQoJCSRhdHRyaWJzID0gJyc7DQoJCWZvcmVhY2goJGF0dHJpYnV0ZXMgYXMgJGsgPT4gJHYpDQoJCXsNCgkJCSRhdHRyaWJzIC49ICRrIC4gJz0iJyAuICR2IC4gJyIgJzsNCgkJfQ0KCQkNCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkNCgkJJGRlYnVnID0gJGNvbmZpZ1snZGVidWcnXTsNCgkJJGRlYnVnID0gZmFsc2U7DQoJCQ0KCQlpZigkZGVidWcpDQoJCXsNCgkJCWVjaG8gJzxwcmU+PGgxPmNvbnRlbnQgYmVmb3JlOiA8L2gxPjxici8+JzsNCgkJCWVjaG8gaHRtbGVudGl0aWVzKCR0eHQpOw0KCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7DQoJCX0NCgkJDQoJCSRhbF90aHVtYl9wYXRoID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10gLiAnL0F1dG9MaWdodEJveCc7DQoJCSRhbF90aHVtYl91cmwgID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXSAgLiAnL0F1dG9MaWdodEJveCc7DQoJCSRhbF9wcmVmaXggICAgID0gYmFzZW5hbWUoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10pIC4gJy9BdXRvTGlnaHRCb3gnOw0KCQkNCgkJaWYoJGRlYnVnKQ0KCQl7DQoJCQllY2hvICc8cHJlPjxoMT5hdXRvIGxpZ2h0Ym94IHByZWZpeDogPC9oMT48YnIvPic7DQoJCQllY2hvICRhbF9wcmVmaXg7DQoJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsNCgkJfQ0KCQkNCgkJaWYoIWlzX2RpcigkYWxfdGh1bWJfcGF0aCkpDQoJCQlAbWtkaXIoJGFsX3RodW1iX3BhdGgsIDA3NzcpOw0KCQkNCgkJJGltZ3MgID0gc2VsZjo6X2ZpbmRfaW1ncygkdHh0KTsNCgkJZm9yZWFjaCgkaW1ncyBhcyAkaW1nKQ0KCQl7DQoJCQlpZihzdGFydHN3aXRoKCRpbWdbJ3NyYyddLCAkY29uZmlnWydpbWFnZV91cGxvYWRzX3VybCddKSkNCgkJCXsNCgkJCQkkcmVsYXRpdmVfcHJlZml4ID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nICwgdHJpbShzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3BhdGgnXSwgJycsICRjb25maWdbJ2ltYWdlX3VwbG9hZHNfcGF0aCddKSwgJy8nIC4gRElSRUNUT1JZX1NFUEFSQVRPUikpIC4gJy8nOw0KCQkJCSRzcmNfcHJlZml4ICAgICAgPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3VybCddOw0KCQkJfQ0KCQkJZWxzZSBpZihzdGFydHN3aXRoKCRpbWdbJ3NyYyddLCAkY29uZmlnWyd1cGxvYWRzX3VybCddKSkNCgkJCXsNCgkJCQkkcmVsYXRpdmVfcHJlZml4ID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nICwgdHJpbShzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3BhdGgnXSwgJycsICRjb25maWdbJ3VwbG9hZHNfcGF0aCddKSwgJy8nIC4gRElSRUNUT1JZX1NFUEFSQVRPUikpIC4gJy8nOw0KCQkJCSRzcmNfcHJlZml4ICAgICAgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRyZWxhdGl2ZV9wcmVmaXggPSAnJzsNCgkJCQkkc3JjX3ByZWZpeCAgICAgID0gJGNvbmZpZ1sncm9vdF91cmwnXTsNCgkJCX0NCgkJCQ0KCQkJJHNyYyA9ICRyZWxhdGl2ZV9wcmVmaXggLiB0cmltKHN0cl9yZXBsYWNlKCRzcmNfcHJlZml4IC4gJy8nLCAnJywgJGltZ1snc3JjJ10pLCAnLycpOw0KCQkJDQoJCQlpZigkZGVidWcpDQoJCQl7DQoJCQkJZWNobyAnPHByZT48aDE+aW1nIGFycmF5IDFzdDogPC9oMT48YnIvPic7DQoJCQkJcHJpbnRfcigkaW1nKTsNCgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsNCgkJCQllY2hvICc8cHJlPjxoMT5yZWxhdGl2ZSBzcmM6IDwvaDE+PGJyLz4nOw0KCQkJCWVjaG8oJHNyYyk7DQoJCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7DQoJCQl9DQoJCQkNCgkJCSMgVG9EbzogdXNlIF9iYXNlNjR1cmxfZW5jb2RlKCkgdG8ga2VlcCB0aGUgb3JpZ2luYWwgbG9jYXRpb24gaW5zdGVhZCBvZiByZWJ1aWxkIHRoZSB3aG9sZSBsb2NhdGlvbiBpbiB0aGUgdGh1bWJzIGRpcg0KCQkJIyRkaXIgICAgICAgICAgPSBzZWxmOjpfYmFzZTY0dXJsX2VuY29kZSh0cmltKGRpcm5hbWUoJHNyYyksICcvJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IpKTsNCgkJCSRkaXIgICAgICAgICAgPSB0cmltKGRpcm5hbWUoJHNyYyksICcvJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IpOw0KCQkJJGZpbGVfbmFtZSAgICA9IGJhc2VuYW1lKCRzcmMpOw0KCQkJJHRodW1iX3ByZWZpeCA9IG1kNSgkaW1nWyd3aWR0aCddIC4gJGltZ1snaGVpZ2h0J10pIC4gJ18nOw0KCQkJDQoJCQlpZihzdGFydHN3aXRoKCRzcmMsICRhbF9wcmVmaXgpKQ0KCQkJew0KCQkJCSNhbHJlYWR5IGEgdGh1bWI/IC0+IGdldCB0aGUgb3JpZ2luYWwgZmlsZW5hbWUNCgkJCQkkZmlsZV9uYW1lICA9IHN1YnN0cigkZmlsZV9uYW1lLCBzdHJsZW4oJHRodW1iX3ByZWZpeCkpOw0KCQkJCSRzcmMgICAgICAgID0gc3Vic3RyKCRkaXIsIHN0cmxlbigkYWxfcHJlZml4IC4gJy8nKSkgLiAnLycgLiAkZmlsZV9uYW1lOw0KCQkJCSRkaXIgICAgICAgID0gdHJpbShkaXJuYW1lKCRzcmMpLCAnLycgLiBESVJFQ1RPUllfU0VQQVJBVE9SKTsNCgkJCQkkaW1nWydzcmMnXSA9ICRzcmM7DQoJCQl9DQoJCQkNCgkJCWlmKCRkZWJ1ZykNCgkJCXsNCgkJCQllY2hvICc8cHJlPjxoMT5pbWcgYXJyYXkgMm5kOiA8L2gxPjxici8+JzsNCgkJCQlwcmludF9yKCRpbWcpOw0KCQkJCWVjaG8gJzwvcHJlPjxici8+PGJyLz4nOw0KCQkJfQ0KCQkJDQoJCQkkdGh1bWJfbmFtZSA9ICR0aHVtYl9wcmVmaXggLiAkZmlsZV9uYW1lOw0KCQkJJHRodW1iX3BhdGggPSAkYWxfdGh1bWJfcGF0aCAuICcvJyAuICRkaXIgLiAnLycgLiAkdGh1bWJfbmFtZTsNCgkJCSR0aHVtYl91cmwgID0gKHNlbGY6OiRfdGh1bWJfdXJsX3R5cGUgPT0gJ2Fic29sdXRlJyA/ICRhbF90aHVtYl91cmwgOiAkYWxfcHJlZml4KSAuICcvJyAuICRkaXIgLiAnLycgLiAkdGh1bWJfbmFtZTsNCgkJCQ0KCQkJaWYoJGRlYnVnKQ0KCQkJew0KCQkJCWVjaG8gJzxwcmU+PGgxPnRodW1iIG5hbWU6IDwvaDE+PGJyLz4nOw0KCQkJCWVjaG8gJHRodW1iX25hbWU7DQoJCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7DQoJCQkJZWNobyAnPHByZT48aDE+dGh1bWIgcGF0aDogPC9oMT48YnIvPic7DQoJCQkJZWNobyAkdGh1bWJfcGF0aDsNCgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsNCgkJCQllY2hvICc8cHJlPjxoMT50aHVtYiB1cmw6IDwvaDE+PGJyLz4nOw0KCQkJCWVjaG8gJHRodW1iX3VybDsNCgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsNCgkJCX0NCgkJCQ0KCQkJJHRpdGxlICA9ICRpbWdbJ3RpdGxlJ10gIT0gJycgPyAndGl0bGU9IicgLiAkaW1nWyd0aXRsZSddIC4gJyIgJyA6ICgkaW1nWydhbHQnXSAhPSAnJyA/ICd0aXRsZT0iJy4kaW1nWydhbHQnXSAuICciICcgOiAnJyk7DQoJCQkNCgkJCSRyZXN1bHQgPSBzZWxmOjpfY3JlYXRlX3RodW1iKA0KCQkJCSRjb25maWdbJ3Jvb3RfcGF0aCddIC4gJy8nIC4gJHNyYywNCgkJCQkkdGh1bWJfcGF0aCwNCgkJCQkkaW1nWyd3aWR0aCddLA0KCQkJCSRpbWdbJ2hlaWdodCddDQoJCQkpOw0KCQkJDQoJCQlpZigkcmVzdWx0KQ0KCQkJew0KCQkJCSMgcmVwbGFjZSBzcmMgb2YgaW1nIHRhZw0KCQkJCSRwYXR0ZXJuICAgICA9ICdAKDxpbWdbXj5dKnNyYz1bXCciXSlbXlwnXiJdKyhbXCciXVtePl0qPilAaSc7DQoJCQkJJHJlcGxhY2VtZW50ID0gJyQxJyAuICR0aHVtYl91cmwgLiAnJDInOw0KCQkJCSRpbWdfdGFnICAgICA9IHByZWdfcmVwbGFjZSgkcGF0dGVybiwgJHJlcGxhY2VtZW50LCAkaW1nWyd0YWcnXSk7DQoJCQkJDQoJCQkJIyByZXBsYWNlIGltZyB0YWdzIG9mIGxpZ2h0Ym94IGxpbmtzIChpZiBhbnkpDQoJCQkJJHBhdHRlcm4xICAgICA9ICdAPGFbXj5dKmNsYXNzPSJhdXRvbGlnaHRib3giP1tePl0qPltcblxzXHRdKicuJGltZ1sndGFnJ10uJ1tcblxzXHRdKjwvYT5AaSc7DQoJCQkJJHJlcGxhY2VtZW50MSA9ICc8YSB0YXJnZXQ9Il9ibGFuayIgJyAuICR0aXRsZSAuICRhdHRyaWJzIC4gJyBocmVmPSInIC4gJGltZ1snc3JjJ10gLiAnIj4nIC4gJGltZ190YWcgLiAnPC9hPic7DQoJCQkJDQoJCQkJIyBvdGhlciBsaW5rcyB3aXRoIHNjYWxlZCBpbWFnZXMNCgkJCQkkcGF0dGVybjIgICAgID0gJ0AoPGFbXj5dKj4uKiknLiRpbWdbJ3RhZyddLicoLio8L2E+KUBpJzsNCgkJCQkkcmVwbGFjZW1lbnQyID0gJyQxJyAuICRpbWdfdGFnIC4gJyQyJzsNCgkJCQkNCgkJCQlpZihwcmVnX21hdGNoKCRwYXR0ZXJuMSwgJHR4dCkpDQoJCQkJew0KCQkJCQkkdHh0ID0gcHJlZ19yZXBsYWNlKCRwYXR0ZXJuMSwgJHJlcGxhY2VtZW50MSwgJHR4dCk7DQoJCQkJCQ0KCQkJCQlpZigkZGVidWcpDQoJCQkJCXsNCgkJCQkJCWVjaG8gJzxwcmU+PGgxPmNvbnRlbnQgYWZ0ZXIgbGlnaHRib3ggbGluayByZXBsYWNlbWVudDogPC9oMT48YnIvPic7DQoJCQkJCQllY2hvIGh0bWxlbnRpdGllcygkdHh0KTsNCgkJCQkJCWVjaG8gJzwvcHJlPjxici8+PGJyLz4nOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWVsc2UgaWYocHJlZ19tYXRjaCgkcGF0dGVybjIsICR0eHQpKQ0KCQkJCXsNCgkJCQkJJHR4dCA9IHByZWdfcmVwbGFjZSgkcGF0dGVybjIsICRyZXBsYWNlbWVudDIsICR0eHQpOw0KCQkJCQkNCgkJCQkJaWYoJGRlYnVnKQ0KCQkJCQl7DQoJCQkJCQllY2hvICc8cHJlPjxoMT5jb250ZW50IGFmdGVyIG90aGVyIGxpbmsgcmVwbGFjZW1lbnQ6IDwvaDE+PGJyLz4nOw0KCQkJCQkJZWNobyBodG1sZW50aXRpZXMoJHR4dCk7DQoJCQkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsNCgkJCQkJfQ0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkjIHJlcGxhY2Ugc2luZ2xlIGltZyB0YWdzDQoJCQkJCSRwYXR0ZXJuMSA9ICdAJy4kaW1nWyd0YWcnXS4nQGknOw0KCQkJCQkkdHh0ICAgICA9IHByZWdfcmVwbGFjZSgkcGF0dGVybjEsICRyZXBsYWNlbWVudDEsICR0eHQpOw0KCQkJCQkNCgkJCQkJaWYoJGRlYnVnKQ0KCQkJCQl7DQoJCQkJCQllY2hvICc8cHJlPjxoMT5jb250ZW50IGFmdGVyIGltZyByZXBsYWNlbWVudDogPC9oMT48YnIvPic7DQoJCQkJCQllY2hvIGh0bWxlbnRpdGllcygkdHh0KTsNCgkJCQkJCWVjaG8gJzwvcHJlPjxici8+PGJyLz4nOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZSBpZigkcmVsYXRpdmVfcHJlZml4ID09ICcnICYmIHNlbGY6OiRfaW1nX3VybF90eXBlID09ICdhYnNvbHV0ZScgJiYgJGNvbmZpZ1sndXBsb2Fkc191cmwnXSAhPSAkY29uZmlnWydyb290X3VybCddKQ0KCQkJew0KCQkJCSR1cmwgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddOw0KCQkJCQ0KCQkJCWlmIChzdHJwb3MoJGNvbmZpZ1sndXBsb2Fkc191cmwnXSwkY29uZmlnWydyb290X3VybCddKSAhPT0gRkFMU0UJKQ0KCQkJCQkkdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXTsNCgkJCQllbHNlIHsNCgkJCQkJd2hpbGUoZGlybmFtZSgkdXJsKSAhPSAnaHR0cDonKQl7DQoJCQkJCQkkdXJsID0gZGlybmFtZSgkdXJsKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkJDQoJCQkJIyByZXBsYWNlIHNyYyBvZiBpbWcgdGFnIHRvIGZvcmNlIHVzYWdlIG9mIHVwbG9hZHMgdXJsDQoJCQkJJGltZ191cmwgICAgID0gJHVybCAuICcvJyAuICRkaXIgLiAnLycgLiAkZmlsZV9uYW1lOw0KCQkJCSRwYXR0ZXJuICAgICA9ICdAKDxpbWdbXj5dKnNyYz1bXCciXSlbXlwnXiJdKyhbXCciXVtePl0qPilAaSc7DQoJCQkJJHJlcGxhY2VtZW50ID0gJyQxJyAuICRpbWdfdXJsIC4gJyQyJzsNCgkJCQkkaW1nX3RhZyAgICAgPSBwcmVnX3JlcGxhY2UoJHBhdHRlcm4sICRyZXBsYWNlbWVudCwgJGltZ1sndGFnJ10pOw0KCQkJCSR0eHQgICAgICAgICA9IHByZWdfcmVwbGFjZSgnQCcgLiAkaW1nWyd0YWcnXSAuICdAaScsICRpbWdfdGFnLCAkdHh0KTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHR4dDsNCgl9DQoJDQoJcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2ZpbmRfaW1ncygkdHh0KQ0KCXsNCgkJaWYoIXByZWdfbWF0Y2hfYWxsKCIvPGltZ1tePl0qPi9pIiwgJHR4dCwgJGltZ19tYXRjaGVzLCBQUkVHX1BBVFRFUk5fT1JERVIpKQ0KCQkJcmV0dXJuIGFycmF5KCk7DQoJCQ0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CQ0KCQkNCgkJJGltZ3MgICA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGltZ19tYXRjaGVzWzBdIGFzICRpbWdfdGFnKQ0KCQl7DQoJCQkkaW1nX3RhZyA9IHV0ZjhfZW5jb2RlKCRpbWdfdGFnKTsNCgkJCQ0KCQkJJGRvYyA9IG5ldyBET01Eb2N1bWVudCgpOw0KCQkgICAgJGRvYy0+bG9hZEhUTUwoJGltZ190YWcpOw0KCQkgICAgJGltYWdlVGFncyA9ICRkb2MtPmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKTsNCgkJICAgDQoJCSAgICAgIGZvcmVhY2goJGltYWdlVGFncyBhcyAkdGFnKSB7DQoJCSAgICAgICAgJGltZ19zcmMgPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ3NyYycpOw0KCQkgICAgICAgICRpbWdfd2lkdGggPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ3dpZHRoJyk7DQoJCSAgICAgICAgJGltZ19oZWlnaHQgPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpOw0KCQkgICAgICAgICRpbWdfdGl0bGUgPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyk7DQoJCSAgICAgICAgJGltZ19hbHQgPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ2FsdCcpOw0KCQkgICAgfQ0KCQkJDQoJCQlpZihlbXB0eSgkaW1nX3NyYykpCWNvbnRpbnVlOw0KCQkJCQ0KCQkJDQoJCQkkc3JjID0gdHJpbSgNCgkJCQlzdHJfcmVwbGFjZSgNCgkJCQkJYXJyYXkoDQoJCQkJCQkkY29uZmlnWydyb290X3VybCddLA0KCQkJCQkJJGNvbmZpZ1sndXBsb2Fkc191cmwnXSwNCgkJCQkJCSRjb25maWdbJ2ltYWdlX3VwbG9hZHNfdXJsJ10NCgkJCQkJKSwNCgkJCQkJJycsDQoJCQkJCSRpbWdfc3JjDQoJCQkJKSwNCgkJCQknLycNCgkJCSk7DQoJCQkNCgkJCWlmKHN0YXJ0c3dpdGgoJHNyYywgJ2h0dHAnKQl8fCBzdGFydHN3aXRoKCRzcmMsICd3d3cuJykpIAljb250aW51ZTsgIyBza2lwIGV4dGVybmFsIGltYWdlcw0KCQkJaWYoZW1wdHkoJGltZ193aWR0aCkgJiYgZW1wdHkoJGltZ19oZWlnaHQpKQkJCQkJY29udGludWU7ICMgc2tpcCBpbWFnZSB3aXRob3V0IHNpemUgZGF0YQ0KCQkJDQoJCQkkaW1nc1tdID0gYXJyYXkoDQoJCQkJJ3NyYycgICAgICA9PiAkaW1nX3NyYywNCgkJCQknd2lkdGgnICAgID0+ICFlbXB0eSgkaW1nX3dpZHRoKSAgPyAkaW1nX3dpZHRoICA6IGZhbHNlLA0KCQkJCSdoZWlnaHQnICAgPT4gIWVtcHR5KCRpbWdfaGVpZ2h0KSA/ICRpbWdfaGVpZ2h0IDogZmFsc2UsDQoJCQkJJ3RpdGxlJyAgICA9PiAhZW1wdHkoJGltZ190aXRsZSkgID8gJGltZ190aXRsZSAgOiBmYWxzZSwNCgkJCQknYWx0JyAgICAgID0+ICFlbXB0eSgkaW1nX2FsdCkgICAgPyAkaW1nX2FsdCAgICA6IGZhbHNlLA0KCQkJCSd0YWcnICAgICAgPT4gJGltZ190YWcNCgkJCSk7DQoJCX0NCgkJDQoJCXJldHVybiAkaW1nczsNCgl9DQoJDQoJcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2NyZWF0ZV90aHVtYigkc3JjLCAkb3V0LCAkbmV3X3dpZHRoLCAkbmV3X2hlaWdodCwgJGtlZXBfYXNwZWN0cmF0aW8gPSBmYWxzZSwgJGFsbG93X3Vwc2NhbGluZyA9IGZhbHNlLCAkcXVhbGl0eSA9IDc1KQ0KCXsNCgkJJGNvbmZpZyAgICAgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJJHRodW1iX3BhdGggPSBkaXJuYW1lKCRvdXQpOw0KCQkNCgkJaWYoJG5ld193aWR0aCA8PSAwIHx8ICRuZXdfaGVpZ2h0IDw9IDApDQoJCQkka2VlcF9hc3BlY3RyYXRpbyA9IHRydWU7DQoJCQ0KCQkjIHRodW1iIGFscmVhZHkgZXhpc3RzPw0KCQkjIC0+IGNoZWNrIGlmIGl0IG5lZWRzIHVwZGF0ZQ0KCQlpZihpc19maWxlKCRvdXQpKQ0KCQl7DQoJCQkkaW1nX2RhdGEgPSBnZXRpbWFnZXNpemUoJG91dCk7DQoJCQlpZihmaWxlY3RpbWUoJHNyYykgPiBmaWxlY3RpbWUoJG91dCkNCgkJCQl8fCAoJGltZ19kYXRhWzBdICE9ICRuZXdfd2lkdGggfHwgJGltZ19kYXRhWzFdICE9ICRuZXdfaGVpZ2h0KSkNCgkJCXsNCgkJCQkjIG9yZ2luYWwgaGFzIGNoYW5nZWQgb3Igd2lkdGgvaGVpZ2h0IGF0dHJpYnV0ZXMgaGF2ZSBjaGFuZ2VkDQoJCQkJIyAtPiBkZWxldGUgdGh1bWJuYWlsDQoJCQkJQHVubGluaygkb3V0KTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KCQkNCgkJDQoJCQ0KCQkkaW1nX2RhdGEgPSBAZ2V0aW1hZ2VzaXplKCRzcmMpOw0KCQlpZiAoISRpbWdfZGF0YSB8fCAoJGltZ19kYXRhWzBdIDw9ICRuZXdfd2lkdGggJiYgJGltZ19kYXRhWzFdIDw9ICRuZXdfaGVpZ2h0KSkNCgkJew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkjIG5lZWRzIHRvIHJlc2l6ZT8NCgkJaWYgKCEkaW1nX2RhdGEgfHwgKCRpbWdfZGF0YVswXSA9PSAkbmV3X3dpZHRoICYmICRpbWdfZGF0YVsxXSA9PSAkbmV3X2hlaWdodCkpDQoJCXsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQkNCgkJaWYoIWlzX2RpcigkdGh1bWJfcGF0aCkpDQoJCXsNCgkJCUBta2RpcigkdGh1bWJfcGF0aCwgMDc3NywgdHJ1ZSk7DQoJCX0NCgkJDQoJCSRvcmlnX2ltYWdlID0gJyc7DQoJCXN3aXRjaCgkaW1nX2RhdGFbJ21pbWUnXSkNCgkJew0KCQkJY2FzZSAnaW1hZ2UvanBlZyc6DQoJCQkJJG9yaWdfaW1hZ2UgPSBAaW1hZ2VjcmVhdGVmcm9tanBlZygkc3JjKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ2ltYWdlL2dpZicgOg0KCQkJCSRvcmlnX2ltYWdlID0gQGltYWdlY3JlYXRlZnJvbWdpZigkc3JjKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ2ltYWdlL3BuZycgOg0KCQkJCSRvcmlnX2ltYWdlID0gQGltYWdlY3JlYXRlZnJvbXBuZygkc3JjKTsNCgkJCQlicmVhazsNCgkJCWRlZmF1bHQ6DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkkb3JpZ193aWR0aCAgPSBAaW1hZ2VzeCgkb3JpZ19pbWFnZSk7DQoJCSRvcmlnX2hlaWdodCA9IEBpbWFnZXN5KCRvcmlnX2ltYWdlKTsNCgkJJGFzcGVjdHJhdGlvID0gJG9yaWdfd2lkdGggLyAkb3JpZ19oZWlnaHQ7DQoJCQ0KCQkkbmV3X3dpZHRoICA9IGZsb29yKCRuZXdfd2lkdGgpOw0KCQkkbmV3X2hlaWdodCA9IGZsb29yKCRuZXdfaGVpZ2h0KTsNCgkJDQoJCWlmKCRuZXdfd2lkdGggPD0gMCAmJiAkbmV3X2hlaWdodCA+IDApIA0KCQl7IC8vIGZvcmNlIGhlaWdodA0KCQkJJG5ld193aWR0aCA9ICRvcmlnX3dpZHRoOw0KCQkJaWYoJG5ld19oZWlnaHQgPiAkb3JpZ19oZWlnaHQgJiYgISRhbGxvd191cHNjYWxpbmcpDQoJCQl7DQoJCQkJJG5ld19oZWlnaHQgPSAkb3JpZ19oZWlnaHQ7DQoJCQl9DQoJCQlpZigka2VlcF9hc3BlY3RyYXRpbykNCgkJCXsNCgkJCQkkbmV3X3dpZHRoID0gZmxvb3IoJG5ld19oZWlnaHQgKiAkYXNwZWN0cmF0aW8pOw0KCQkJfQ0KCQl9DQoJCWVsc2UgaWYoJG5ld19oZWlnaHQgPD0gMCAmJiAkbmV3X3dpZHRoID4gMCkgDQoJCXsgLy8gZm9yY2Ugd2lkdGgNCgkJCSRuZXdfaGVpZ2h0ID0gJG9yaWdfaGVpZ2h0Ow0KCQkJaWYoJG5ld193aWR0aCA+ICRvcmlnX3dpZHRoICYmICEkYWxsb3dfdXBzY2FsaW5nKQ0KCQkJew0KCQkJCSRuZXdfd2lkdGggPSAkb3JpZ193aWR0aDsNCgkJCX0NCgkJCWlmKCRrZWVwX2FzcGVjdHJhdGlvKQ0KCQkJew0KCQkJCSRuZXdfaGVpZ2h0ID0gZmxvb3IoJG5ld193aWR0aCAvICRhc3BlY3RyYXRpbyk7DQoJCQl9DQoJCX0NCgkJZWxzZSBpZigkbmV3X2hlaWdodCA+IDAgJiYgJG5ld193aWR0aCA+IDApIA0KCQl7IC8vIGJvdGgNCgkJCWlmKCRuZXdfd2lkdGggPiAkb3JpZ193aWR0aCAmJiAhJGFsbG93X3Vwc2NhbGluZykNCgkJCXsNCgkJCQkkbmV3X3dpZHRoID0gJG9yaWdfd2lkdGg7DQoJCQl9DQoJCQlpZigkbmV3X2hlaWdodCA+ICRvcmlnX2hlaWdodCAmJiAhJGFsbG93X3Vwc2NhbGluZykNCgkJCXsNCgkJCQkkbmV3X2hlaWdodCA9ICRvcmlnX2hlaWdodDsNCgkJCX0NCgkJCSRuZXdfYXNwZWN0cmF0aW8gPSAkbmV3X3dpZHRoIC8gJG5ld19oZWlnaHQ7DQoJCQlpZigka2VlcF9hc3BlY3RyYXRpbykNCgkJCXsNCgkJCQlpZigkYXNwZWN0cmF0aW8gPiAxICYmICRuZXdfYXNwZWN0cmF0aW8gPCAxKQ0KCQkJCXsgLy8gbGFuZHNjYXBlIHRvIHBvcnRyYWl0DQoJCQkJCSRfdG1wID0gZmxvb3IoJG5ld193aWR0aCAvICRhc3BlY3RyYXRpbyk7DQoJCQkJCWlmKCRfdG1wID4gMCAmJiAkX3RtcCA8PSAkbmV3X2hlaWdodCkNCgkJCQkJew0KCQkJCQkJJG5ld19oZWlnaHQgPSAkX3RtcDsNCgkJCQkJfQ0KCQkJCX0NCgkJCQllbHNlIGlmKCRhc3BlY3RyYXRpbyA8IDEgJiYgJG5ld19hc3BlY3RyYXRpbyA+IDEpDQoJCQkJeyAvLyBwb3J0cmFpdCB0byBsYW5kc2NhcGUNCgkJCQkJJF90bXAgPSBmbG9vcigkbmV3X2hlaWdodCAqICRhc3BlY3RyYXRpbyk7DQoJCQkJCWlmKCRfdG1wID4gMCAmJiAkX3RtcCA8PSAkbmV3X3dpZHRoKQ0KCQkJCQl7DQoJCQkJCQkkbmV3X3dpZHRoID0gJF90bXA7DQoJCQkJCX0NCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJaWYoJG5ld19hc3BlY3RyYXRpbyA8ICRhc3BlY3RyYXRpbykNCgkJCQkJew0KCQkJCQkJJF90bXAgPSBmbG9vcigkbmV3X3dpZHRoIC8gJGFzcGVjdHJhdGlvKTsNCgkJCQkJCWlmKCRfdG1wID4gMCAmJiAkX3RtcCA8PSAkbmV3X2hlaWdodCkNCgkJCQkJCXsNCgkJCQkJCQkkbmV3X2hlaWdodCA9ICRfdG1wOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWVsc2UgaWYoJG5ld19hc3BlY3RyYXRpbyA+ICRhc3BlY3RyYXRpbykNCgkJCQkJew0KCQkJCQkJJF90bXAgPSBmbG9vcigkbmV3X2hlaWdodCAqICRhc3BlY3RyYXRpbyk7DQoJCQkJCQlpZigkX3RtcCA+IDAgJiYgJF90bXAgPD0gJG5ld193aWR0aCkNCgkJCQkJCXsNCgkJCQkJCQkkbmV3X3dpZHRoID0gJF90bXA7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkbmV3X2hlaWdodCA9ICRvcmlnX2hlaWdodDsNCgkJCSRuZXdfd2lkdGggID0gJG9yaWdfd2lkdGg7DQoJCX0NCgkJDQoJCWlmKCRuZXdfd2lkdGggPCAxKQ0KCQl7DQoJCQkkbmV3X3dpZHRoID0gMTsNCgkJfQ0KCQlpZigkbmV3X2hlaWdodCA8IDEpDQoJCXsNCgkJCSRuZXdfaGVpZ2h0ID0gMTsNCgkJfQ0KCQkNCgkJJG5ld19pbWFnZSA9IEBpbWFnZWNyZWF0ZXRydWVjb2xvcihmbG9vcigkbmV3X3dpZHRoKSwgZmxvb3IoJG5ld19oZWlnaHQpKTsNCgkJDQoJCS8vIGhhbmRsZSB0cmFuc3BhcmVuY3kgKGFkYXB0ZWQgZnJvbSBzdXBlcnNpemVyIHBsdWdpbikNCgkJaWYoJGltZ19kYXRhWydtaW1lJ10gPT0gJ2ltYWdlL2dpZicpDQoJCXsNCgkJCWltYWdldHJ1ZWNvbG9ydG9wYWxldHRlKCRuZXdfaW1hZ2UsIHRydWUsIDI1Nik7DQoJCQlpbWFnZWFscGhhYmxlbmRpbmcoJG5ld19pbWFnZSwgZmFsc2UpOw0KCQkJaW1hZ2VzYXZlYWxwaGEoJG5ld19pbWFnZSx0cnVlKTsNCgkJCSR0cmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRuZXdfaW1hZ2UsIDI1NSwgMjU1LCAyNTUsIDEyNyk7DQoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkbmV3X2ltYWdlLCAwLCAwLCAkbmV3X3dpZHRoLCAkbmV3X2hlaWdodCwgJHRyYW5zcGFyZW50KTsNCgkJCWltYWdlY29sb3J0cmFuc3BhcmVudCgkbmV3X2ltYWdlLCAkdHJhbnNwYXJlbnQpOw0KCQl9DQoJCWVsc2UgaWYgKCRpbWdfZGF0YVsnbWltZSddID09ICdpbWFnZS9wbmcnKQ0KCQl7DQoJCQlpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJG5ld19pbWFnZSwgaW1hZ2Vjb2xvcmFsbG9jYXRlKCRuZXdfaW1hZ2UsIDAsIDAsIDApKTsgICANCgkJCWltYWdlYWxwaGFibGVuZGluZygkbmV3X2ltYWdlLCBmYWxzZSk7DQoJCQkkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkbmV3X2ltYWdlLCAwLCAwLCAwLCAxMjcpOw0KCQkJaW1hZ2VmaWxsKCRuZXdfaW1hZ2UsIDAsIDAsICRjb2xvcik7DQoJCQlpbWFnZXNhdmVhbHBoYSgkbmV3X2ltYWdlLCB0cnVlKTsNCgkJfQ0KCQlAaW1hZ2Vjb3B5cmVzYW1wbGVkKCRuZXdfaW1hZ2UsICRvcmlnX2ltYWdlLCAwLCAwLCAwLCAwLCAkbmV3X3dpZHRoLCAkbmV3X2hlaWdodCwgJG9yaWdfd2lkdGgsICRvcmlnX2hlaWdodCk7DQoJCXN3aXRjaCgkaW1nX2RhdGFbJ21pbWUnXSkNCgkJew0KCQkJY2FzZSAnaW1hZ2UvanBlZyc6IHJldHVybiBAaW1hZ2VqcGVnKCRuZXdfaW1hZ2UsICRvdXQsICRxdWFsaXR5KTsNCgkJCWNhc2UgJ2ltYWdlL2dpZicgOiByZXR1cm4gQGltYWdlZ2lmKCRuZXdfaW1hZ2UsICRvdXQpOw0KCQkJY2FzZSAnaW1hZ2UvcG5nJyA6IHJldHVybiBAaW1hZ2VwbmcoJG5ld19pbWFnZSwgJG91dCk7DQoJCQlkZWZhdWx0ICAgICAgICAgIDogcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCQ0KCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9iYXNlNjR1cmxfZW5jb2RlKCRkYXRhKSB7DQoJCXJldHVybiBydHJpbShzdHJ0cihiYXNlNjRfZW5jb2RlKCRkYXRhKSwgJysvJywgJy1fJyksICc9Jyk7DQoJfQ0KCQ0KCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9iYXNlNjR1cmxfZGVjb2RlKCRkYXRhKSB7DQoJCXJldHVybiBiYXNlNjRfZGVjb2RlKHN0cl9wYWQoc3RydHIoJGRhdGEsICctXycsICcrLycpLCBzdHJsZW4oJGRhdGEpICUgNCwgJz0nLCBTVFJfUEFEX1JJR0hUKSk7DQoJfSANCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.btMinify.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiAJCVRvb2xCb3gNCiMgQ2xhc3M6ICAJCXRiVXRpbHMNCiMgQXV0aG9yOiAJCWJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgLSBMdWthcyBCbGF0dGVyIC0gd3d3LmJsYXR0ZXJ0ZWNoLmNoDQojIEVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaA0KIyBDb3B5cmlnaHQ6IAlibGF0dGVydGVjaCBpbmZvcm1hdGlrIC0gTHVrYXMgQmxhdHRlciAtIHd3dy5ibGF0dGVydGVjaC5jaA0KIyBMaWNlbmNlOgkJR1BMIDINCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBidE1pbmlmeQ0Kew0KCQkNCglwcml2YXRlIHN0YXRpYwkJDQoJCSRzZXR0aW5ncyA9IGFycmF5KA0KCQknZ3ppcCcgPT4gdHJ1ZSwNCgkJJ2NvbXByZXNzaW9uTGV2ZWwnID0+IDksDQoJCSdnemlwRXhjZXB0aW9ucycgPT4gYXJyYXkoJ2dpZicsJ2pwZWcnLCdqcGcnLCdwbmcnLCdzd2YnLCdpY28nKSwNCgkJJ2VtYmVkJyA9PiB0cnVlLA0KCQknZW1iZWRNYXhTaXplJyA9PiA1MTIwLA0KCQknZW1iZWRFeGNlcHRpb25zJyA9PiBhcnJheSgnaHRjJyksDQoJKTsNCgkNCgkvL21pbWUgdHlwZXMNCglwcm90ZWN0ZWQgc3RhdGljICRtaW1lVHlwZXMgPSBhcnJheSgNCgkJImpzIgk9PiAidGV4dC9qYXZhc2NyaXB0IiwNCgkJImNzcyIJPT4gInRleHQvY3NzIiwNCgkJImh0bSIJPT4gInRleHQvaHRtbCIsDQoJCSJodG1sIgk9PiAidGV4dC9odG1sIiwNCgkJInhtbCIJPT4gInRleHQveG1sIiwNCgkJInR4dCIJPT4gInRleHQvcGxhaW4iLA0KCQkianBnIgk9PiAiaW1hZ2UvanBlZyIsDQoJCSJqcGVnIgk9PiAiaW1hZ2UvanBlZyIsDQoJCSJwbmciCT0+ICJpbWFnZS9wbmciLA0KCQkiZ2lmIgk9PiAiaW1hZ2UvZ2lmIiwNCgkJInN3ZiIJPT4gImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiwNCgkJImljbyIJPT4gImltYWdlL3gtaWNvbiIsDQoJKTsJDQoJDQoJLyoqDQoJICogDQoJICogRXh0cmFoaWVydCBKUyB1bmQgQ1NTIGF1cyBlaW5lbSBIVE1MIFN0cmluZyB1bmQgbWluaW1pZXJ0IGRlbiBJbmhhbHQgdW5kIGdpYnQgaW4genVzYW1tZW5nZWZhc3N0IHp1csO8Y2sNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSBzdHJpbmcgJHNyYw0KCSAqIEByZXR1cm4gc3RkQ2xhc3MNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG1pbmlmeUZyb21IdG1sKCRzcmMpDQoJew0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCSRjc3MgPSBhcnJheSgpOw0KCQkkanMgPSBhcnJheSgpOw0KCQkkanNzcmMgPSBhcnJheSgpOw0KCQkNCgkJaWYgKCEkc3JjKQlyZXR1cm4gYnRUb29sczo6YXJyYXlUb09iamVjdChhcnJheSgnY3NzJz0+JycsJ2pzJz0+JycsJ2pzc3JjJz0+JycpKTsNCgkJDQoJCSRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoKTsNCgkgICAgJGRvYy0+bG9hZEhUTUwoJHNyYyk7DQoJICAgICRjc3NUYWdzID0gJGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmsnKTsNCgkgICAgJGpzVGFncyA9ICRkb2MtPmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsNCgkgICAgDQoJICAgIGZvcmVhY2goJGNzc1RhZ3MgYXMgJHRhZykgew0KCSAgICAJJGZpbGUgPSBzdHJfcmVwbGFjZSgiLyIsIERJUkVDVE9SWV9TRVBBUkFUT1Isc3RyX3JlcGxhY2UoJGNvbmZpZ1sncm9vdF91cmwnXSwgJGNvbmZpZ1sncm9vdF9wYXRoJ10sICR0YWctPmdldEF0dHJpYnV0ZSgnaHJlZicpKSk7DQoJCQkkY3NzW2ZpbGVtdGltZSgkZmlsZSkubWQ1KCRmaWxlKV0gPSAkZmlsZTsNCgkgICAgfQ0KDQoJCWZvcmVhY2goJGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpIGFzICR0YWcpIHsNCgkJCSRmaWxlID0gc3RyX3JlcGxhY2UoIi8iLCBESVJFQ1RPUllfU0VQQVJBVE9SLHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfdXJsJ10sICRjb25maWdbJ3Jvb3RfcGF0aCddLCAkdGFnLT5nZXRBdHRyaWJ1dGUoJ3NyYycpKSk7DQoJCQkkdmFsdWUgPSAkdGFnLT5ub2RlVmFsdWU7DQoJCQlpZiAoJGZpbGUgIT0gJycpICRqc1tmaWxlbXRpbWUoJGZpbGUpLm1kNSgkZmlsZSldID0gJGZpbGU7DQoJCQlpZiAoJHZhbHVlICE9ICcnKSAkanNzcmNbXSA9ICR2YWx1ZTsNCgkJfQ0KCQkNCgkJJGhhc2hKUyA9IG1kNShpbXBsb2RlKCJ8IiwgYXJyYXlfa2V5cygkanMpKSk7DQoJCSRoYXNoSlNTcmMgPSBtZDUoaW1wbG9kZSgiLCIsJGpzc3JjKSk7DQoJCSRoYXNoQ1NTID0gbWQ1KGltcGxvZGUoInwiLCBhcnJheV9rZXlzKCRjc3MpKSk7DQoJCQ0KCQkkY2FjaGVwYXRoID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4ndG1wJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjYWNoZScuRElSRUNUT1JZX1NFUEFSQVRPUjsNCgkJDQoJCSRjYWNoZWNzcyA9J1Rvb2xCb3hfY29tYmluZWRfJy4kaGFzaENTUy4nLmNzcyc7IA0KCQkkY2FjaGVqcyA9ICdUb29sQm94X2NvbWJpbmVkXycuJGhhc2hKUy4nLmpzJzsNCg0KCQkkZmlsZXMgPSBhcnJheSgpOw0KCQkNCgkJaWYgKCFpc19maWxlKCRjYWNoZXBhdGguJGNhY2hlY3NzKSkJZmlsZV9wdXRfY29udGVudHMoJGNhY2hlcGF0aC4kY2FjaGVjc3MsIHNlbGY6Om1pbmlmeUNzcyhzZWxmOjpnZXRGaWxlc0NvbnRlbnQoJGNzcykpKTsNCgkJaWYgKCFpc19maWxlKCRjYWNoZXBhdGguJGNhY2hlanMpKSB7DQoJCQkkanNjb250ZW50ID0gc2VsZjo6Z2V0RmlsZXNDb250ZW50KCRqcyk7DQoJCQlmaWxlX3B1dF9jb250ZW50cygkY2FjaGVwYXRoLiRjYWNoZWpzLCBzZWxmOjptaW5pZnlKcygkanNjb250ZW50KSk7DQoJCX0JDQoJCQ0KCSAgICAkZmlsZXNbJ2NzcyddID0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL3RtcC9jYWNoZS8nLiRjYWNoZWNzcy4nIiBtZWRpYT0ic2NyZWVuIiAvPicuIlxuIjsNCiAJICAgICRmaWxlc1snanMnXSAgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvdG1wL2NhY2hlLycuJGNhY2hlanMuJyI+PC9zY3JpcHQ+Jy4iXG4iOw0KIAkgICAgaWYgKCFlbXB0eSgkanNzcmMpKQkkZmlsZXNbJ2pzc3JjJ10gPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPicuc2VsZjo6bWluaWZ5SnMoaW1wbG9kZSgiXG4iLCRqc3NyYykpLic8L3NjcmlwdD4nLiJcbiI7DQogCSAgICBlbHNlICRmaWxlc1snanNzcmMnXSA9ICcnOw0KCSAgICANCgkgICAgcmV0dXJuIGJ0VG9vbHM6OmFycmF5VG9PYmplY3QoJGZpbGVzKTsNCgl9DQoNCgkNCgkvKioNCgkgKiANCgkgKiBSZXR1cm4gY29udGVudCBvZiBvbmUgb3IgbW9yZSBmaWxlcw0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsIA0KCSAqIEBwYXJhbSBtaXhlZCAkZmlsZXMNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZXNDb250ZW50KCRmaWxlcykgew0KCQkNCgkJJGZpbGVzID0gaXNfYXJyYXkoJGZpbGVzKSA/ICRmaWxlcyA6IGV4cGxvZGUoJywnLCRmaWxlcyk7DQoJCSRzdHIgPSAnJzsNCgkJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpIHsNCgkJCWlmIChpc19maWxlKCRmaWxlKSkgJHN0ciAuPSBmaWxlX2dldF9jb250ZW50cygkZmlsZSkuIlxuIjsNCgkJfQ0KCQkNCgkJcmV0dXJuICRzdHI7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEVudGVyIGRlc2NyaXB0aW9uIGhlcmUgLi4uDQoJICogQGF1dGhvcjogU21hcnRPcHRpbWl6ZXINCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSAkdXJsDQoJICogQHBhcmFtICRjb3VudA0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gY29udmVydFVybCgkdXJsLCAkY291bnQpDQoJew0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCSRmaWxlRGlyID0gIi4uLy4uLyI7DQoJCXN0YXRpYyAkYmFzZVVybCA9ICcnOw0KCQkNCgkJJHVybCA9IHRyaW0oJHVybCk7DQoJCQ0KCQlpZiAocHJlZ19tYXRjaCgnQF5bXi9dKzpAJywgJHVybCkpIHJldHVybiAkdXJsOw0KCQkNCgkJJGZpbGVUeXBlID0gc3Vic3RyKHN0cnJjaHIoJHVybCwgJy4nKSwgMSk7DQoJCWlmIChpc3NldChzZWxmOjokbWltZVR5cGVzWyRmaWxlVHlwZV0pKSAkbWltZVR5cGUgPSBzZWxmOjokbWltZVR5cGVzWyRmaWxlVHlwZV07DQoJCWVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdtaW1lX2NvbnRlbnRfdHlwZScpKSAkbWltZVR5cGUgPSBtaW1lX2NvbnRlbnRfdHlwZSgkdXJsKTsNCgkJZWxzZSAkbWltZVR5cGUgPSBudWxsOw0KCQkNCgkJaWYgKCFzZWxmOjokc2V0dGluZ3NbJ2VtYmVkJ10gfHwNCgkJCSFmaWxlX2V4aXN0cygkZmlsZURpci4kdXJsKSB8fA0KCQkJKHNlbGY6OiRzZXR0aW5nc1snZW1iZWRNYXhTaXplJ10gPiAwICYmIGZpbGVzaXplKCRmaWxlRGlyLiR1cmwpID4gc2VsZjo6JHNldHRpbmdzWydlbWJlZE1heFNpemUnXSkgfHwNCgkJCSEkZmlsZVR5cGUgfHwNCgkJCWluX2FycmF5KCRmaWxlVHlwZSwgc2VsZjo6JHNldHRpbmdzWydlbWJlZEV4Y2VwdGlvbnMnXSkgfHwNCgkJCSEkbWltZVR5cGUgfHwNCgkJCSRjb3VudCA+IDEpIHsNCgkJCWlmIChzdHJwb3MoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10sICRfU0VSVkVSWydTQ1JJUFRfTkFNRSddLic/JykgPT09IDAgfHwNCgkJCQlzdHJwb3MoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10sIHJ0cmltKGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pLCAnXC8nKS4nLz8nKSA9PT0gMCkgew0KCQkJCWlmICghJGJhc2VVcmwpIHJldHVybiAkZmlsZURpciAuICR1cmw7DQoJCQl9DQoJCQlyZXR1cm4gJGJhc2VVcmwgLiAkdXJsOw0KCQl9DQoJCQ0KCQkkY29udGVudHMgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZURpci4kdXJsKTsNCgkJIA0KCQlpZiAoJGZpbGVUeXBlID09ICdjc3MnKSB7DQoJCQkkb2xkRmlsZURpciA9ICRmaWxlRGlyOw0KCQkJJGZpbGVEaXIgPSBydHJpbShkaXJuYW1lKCRmaWxlRGlyLiR1cmwpLCAnXC8nKS4nLyc7DQoJCQkkb2xkQmFzZVVybCA9ICRiYXNlVXJsOw0KCQkJJGJhc2VVcmwgPSAnaHR0cCcuKEAkX1NFUlZFUlsnSFRUUFMnXT8ncyc6JycpLic6Ly8nLiRfU0VSVkVSWydIVFRQX0hPU1QnXS5ydHJpbShkaXJuYW1lKCRfU0VSVkVSWydTQ1JJUFRfTkFNRSddKSwgJ1wvJykuJy8nLiRmaWxlRGlyOw0KCQkJJGNvbnRlbnRzID0gc2VsZjo6bWluaWZ5Q3NzKCRjb250ZW50cyk7CQkNCgkJCSRmaWxlRGlyID0gJG9sZEZpbGVEaXI7DQoJCQkkYmFzZVVybCA9ICRvbGRCYXNlVXJsOw0KCQl9DQoJCQ0KCQkkYmFzZTY0ICAgPSBiYXNlNjRfZW5jb2RlKCRjb250ZW50cyk7IA0KCQlyZXR1cm4gJ2RhdGE6JyAuICRtaW1lVHlwZSAuICc7YmFzZTY0LCcgLiAkYmFzZTY0Ow0KCX0NCg0KCS8qKg0KCSAqIA0KCSAqIE1pbmlmeSBDU1MNCgkgKiBAYXV0aG9yOiBTbWFydE9wdGltaXplcg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtICR1cmwNCgkgKiBAcGFyYW0gJGNvdW50DQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBtaW5pZnlDc3MoJHN0cikgDQoJew0KCQkkcmVzID0gJyc7DQoJCSRpPTA7DQoJCSRpbnNpZGVfYmxvY2sgPSBmYWxzZTsNCgkJJGN1cnJlbnRfY2hhciA9ICcnOw0KCQl3aGlsZSAoJGkrMTxzdHJsZW4oJHN0cikpIHsNCgkJCWlmICgkc3RyWyRpXT09JyInIHx8ICRzdHJbJGldPT0iJyIpIHsvL3F1b3RlZCBzdHJpbmcgZGV0ZWN0ZWQNCgkJCQkkcmVzIC49ICRxdW90ZSA9ICRzdHJbJGkrK107DQoJCQkJJHVybCA9ICcnOw0KCQkJCXdoaWxlICgkaTxzdHJsZW4oJHN0cikgJiYgJHN0clskaV0hPSRxdW90ZSkgew0KCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgew0KCQkJCQkJJHVybCAuPSAkc3RyWyRpKytdOw0KCQkJCQl9DQoJCQkJCSR1cmwgLj0gJHN0clskaSsrXTsNCgkJCQl9DQoJCQkJaWYgKHN0cnRvbG93ZXIoc3Vic3RyKCRyZXMsIC01LCA0KSk9PSd1cmwoJyB8fCBzdHJ0b2xvd2VyKHN1YnN0cigkcmVzLCAtOSwgOCkpID09ICdAaW1wb3J0ICcpIHsNCgkJCQkJJHVybCA9IHNlbGY6OmNvbnZlcnRVcmwoJHVybCwgc3Vic3RyX2NvdW50KCRzdHIsICR1cmwpKTsNCgkJCQl9DQoJCQkJJHJlcyAuPSAkdXJsOw0KCQkJCSRyZXMgLj0gJHN0clskaSsrXTsNCgkJCQljb250aW51ZTsNCgkJCX0gZWxzZWlmIChzdHJ0b2xvd2VyKHN1YnN0cigkcmVzLCAtNCkpPT0ndXJsKCcpIHsvL3VybCBkZXRlY3RlZA0KCQkJCSR1cmwgPSAnJzsNCgkJCQlkbyB7DQoJCQkJCWlmICgkc3RyWyRpXSA9PSAnXFwnKSB7DQoJCQkJCQkkdXJsIC49ICRzdHJbJGkrK107DQoJCQkJCX0NCgkJCQkJJHVybCAuPSAkc3RyWyRpKytdOw0KCQkJCX0gd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpXSE9JyknKTsNCgkJCQkkdXJsID0gc2VsZjo6Y29udmVydFVybCgkdXJsLCBzdWJzdHJfY291bnQoJHN0ciwgJHVybCkpOw0KCQkJCSRyZXMgLj0gJHVybDsNCgkJCQkkcmVzIC49ICRzdHJbJGkrK107DQoJCQkJY29udGludWU7DQoJCQl9IGVsc2VpZiAoJHN0clskaV0uJHN0clskaSsxXT09Jy8qJykgey8vY3NzIGNvbW1lbnQgZGV0ZWN0ZWQNCgkJCQkkaSs9MzsNCgkJCQl3aGlsZSAoJGk8c3RybGVuKCRzdHIpICYmICRzdHJbJGktMV0uJHN0clskaV0hPScqLycpICRpKys7DQoJCQkJaWYgKCRjdXJyZW50X2NoYXIgPT0gIlxuIikgJHN0clskaV0gPSAiXG4iOw0KCQkJCWVsc2UgJHN0clskaV0gPSAnICc7DQoJCQl9DQoJCQkNCgkJCWlmIChzdHJsZW4oJHN0cikgPD0gJGkrMSkgYnJlYWs7DQoJCQkNCgkJCSRjdXJyZW50X2NoYXIgPSAkc3RyWyRpXTsNCgkJCQ0KCQkJaWYgKCRpbnNpZGVfYmxvY2sgJiYgJGN1cnJlbnRfY2hhciA9PSAnfScpIHsNCgkJCQkkaW5zaWRlX2Jsb2NrID0gZmFsc2U7DQoJCQl9DQoJCQkNCgkJCWlmICgkY3VycmVudF9jaGFyID09ICd7Jykgew0KCQkJCSRpbnNpZGVfYmxvY2sgPSB0cnVlOw0KCQkJfQ0KCQkJDQoJCQlpZiAocHJlZ19tYXRjaCgnL1tcblxyXHQgXS8nLCAkY3VycmVudF9jaGFyKSkgJGN1cnJlbnRfY2hhciA9ICIgIjsNCgkJCQ0KCQkJaWYgKCRjdXJyZW50X2NoYXIgPT0gIiAiKSB7DQoJCQkJJHBhdHRlcm4gPSAkaW5zaWRlX2Jsb2NrPycvXltee307LDpcblxyXHQgXXsyfSQvJzonL15bXnt9Oyw+K1xuXHJcdCBdezJ9JC8nOw0KCQkJCWlmIChzdHJsZW4oJHJlcykgJiYJcHJlZ19tYXRjaCgkcGF0dGVybiwgJHJlc1tzdHJsZW4oJHJlcyktMV0uJHN0clskaSsxXSkpDQoJCQkJCSRyZXMgLj0gJGN1cnJlbnRfY2hhcjsNCgkJCX0gZWxzZSAkcmVzIC49ICRjdXJyZW50X2NoYXI7DQoJCQkNCgkJCSRpKys7DQoJCX0NCgkJaWYgKCRpPHN0cmxlbigkc3RyKSAmJiBwcmVnX21hdGNoKCcvW15cblxyXHQgXS8nLCAkc3RyWyRpXSkpICRyZXMgLj0gJHN0clskaV07DQoJCXJldHVybiAkcmVzOw0KCX0NCiAgICANCgkvKioNCgkgKiANCgkgKiBNaW5pZnkgSlMNCgkgKiBAYXV0aG9yOiBTbWFydE9wdGltaXplcg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtICR1cmwNCgkgKiBAcGFyYW0gJGNvdW50DQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBtaW5pZnlKcygkc3RyKSB7DQoJCQ0KCQkkcmVzID0gJyc7DQoJCSRtYXliZV9yZWdleCA9IHRydWU7DQoJCSRpPTA7DQoJCSRjdXJyZW50X2NoYXIgPSAnJzsNCgkJd2hpbGUgKCRpKzE8c3RybGVuKCRzdHIpKSB7DQoJCQlpZiAoJG1heWJlX3JlZ2V4ICYmICRzdHJbJGldPT0nLycgJiYgJHN0clskaSsxXSE9Jy8nICYmICRzdHJbJGkrMV0hPScqJyAmJiBAJHN0clskaS0xXSE9JyonKSB7Ly9yZWdleCBkZXRlY3RlZA0KCQkJCWlmIChzdHJsZW4oJHJlcykgJiYgJHJlc1tzdHJsZW4oJHJlcyktMV0gPT09ICcvJykgJHJlcyAuPSAnICc7DQoJCQkJZG8gew0KCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgew0KCQkJCQkJJHJlcyAuPSAkc3RyWyRpKytdOw0KCQkJCQl9IGVsc2VpZiAoJHN0clskaV0gPT0gJ1snKSB7DQoJCQkJCQlkbyB7DQoJCQkJCQkJaWYgKCRzdHJbJGldID09ICdcXCcpIHsNCgkJCQkJCQkJJHJlcyAuPSAkc3RyWyRpKytdOw0KCQkJCQkJCX0NCgkJCQkJCQkkcmVzIC49ICRzdHJbJGkrK107DQoJCQkJCQl9IHdoaWxlICgkaTxzdHJsZW4oJHN0cikgJiYgJHN0clskaV0hPSddJyk7DQoJCQkJCX0NCgkJCQkJJHJlcyAuPSAkc3RyWyRpKytdOw0KCQkJCX0gd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpXSE9Jy8nKTsNCgkJCQkkcmVzIC49ICRzdHJbJGkrK107DQoJCQkJJG1heWJlX3JlZ2V4ID0gZmFsc2U7DQoJCQkJY29udGludWU7DQoJCQl9IGVsc2VpZiAoJHN0clskaV09PSciJyB8fCAkc3RyWyRpXT09IiciKSB7Ly9xdW90ZWQgc3RyaW5nIGRldGVjdGVkDQoJCQkJJHF1b3RlID0gJHN0clskaV07DQoJCQkJZG8gew0KCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgew0KCQkJCQkJJHJlcyAuPSAkc3RyWyRpKytdOw0KCQkJCQl9DQoJCQkJCSRyZXMgLj0gJHN0clskaSsrXTsNCgkJCQl9IHdoaWxlICgkaTxzdHJsZW4oJHN0cikgJiYgJHN0clskaV0hPSRxdW90ZSk7DQoJCQkJJHJlcyAuPSAkc3RyWyRpKytdOw0KCQkJCWNvbnRpbnVlOw0KCQkJfSBlbHNlaWYgKCRzdHJbJGldLiRzdHJbJGkrMV09PScvKicgJiYgQCRzdHJbJGkrMl0hPSdAJykgey8vbXVsdGktbGluZSBjb21tZW50IGRldGVjdGVkDQoJCQkJJGkrPTM7DQoJCQkJd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpLTFdLiRzdHJbJGldIT0nKi8nKSAkaSsrOw0KCQkJCWlmICgkY3VycmVudF9jaGFyID09ICJcbiIpICRzdHJbJGldID0gIlxuIjsNCgkJCQllbHNlICRzdHJbJGldID0gJyAnOw0KCQkJfSBlbHNlaWYgKCRzdHJbJGldLiRzdHJbJGkrMV09PScvLycpIHsvL3NpbmdsZS1saW5lIGNvbW1lbnQgZGV0ZWN0ZWQNCgkJCQkkaSs9MjsNCgkJCQl3aGlsZSAoJGk8c3RybGVuKCRzdHIpICYmICRzdHJbJGldIT0iXG4iICYmICRzdHJbJGldIT0iXHIiKSAkaSsrOw0KCQkJfQ0KCQkJDQoJDQoJDQoJCQkkTEZfbmVlZGVkID0gZmFsc2U7DQoJCQlpZiAocHJlZ19tYXRjaCgnL1tcblxyXHQgXS8nLCAkc3RyWyRpXSkpIHsNCgkJCQlpZiAoc3RybGVuKCRyZXMpICYmIHByZWdfbWF0Y2goJy9bXG4gXS8nLCAkcmVzW3N0cmxlbigkcmVzKS0xXSkpIHsNCgkJCQkJaWYgKCRyZXNbc3RybGVuKCRyZXMpLTFdID09ICJcbiIpICRMRl9uZWVkZWQgPSB0cnVlOw0KCQkJCQkkcmVzID0gc3Vic3RyKCRyZXMsIDAsIC0xKTsNCgkJCQl9DQoJCQkJd2hpbGUgKCRpKzE8c3RybGVuKCRzdHIpICYmIHByZWdfbWF0Y2goJy9bXG5cclx0IF0vJywgJHN0clskaSsxXSkpIHsNCgkJCQkJaWYgKCEkTEZfbmVlZGVkICYmIHByZWdfbWF0Y2goJy9bXG5ccl0vJywgJHN0clskaV0pKSAkTEZfbmVlZGVkID0gdHJ1ZTsNCgkJCQkJJGkrKzsNCgkJCQl9DQoJCQl9DQoJCQkNCgkJCWlmIChzdHJsZW4oJHN0cikgPD0gJGkrMSkgYnJlYWs7DQoJCQkNCgkJCSRjdXJyZW50X2NoYXIgPSAkc3RyWyRpXTsNCgkJCQ0KCQkJaWYgKCRMRl9uZWVkZWQpICRjdXJyZW50X2NoYXIgPSAiXG4iOw0KCQkJZWxzZWlmICgkY3VycmVudF9jaGFyID09ICJcdCIpICRjdXJyZW50X2NoYXIgPSAiICI7DQoJCQllbHNlaWYgKCRjdXJyZW50X2NoYXIgPT0gIlxyIikgJGN1cnJlbnRfY2hhciA9ICJcbiI7DQoJCQkNCgkJCS8vIGRldGVjdCB1bm5lY2Vzc2FyeSB3aGl0ZSBzcGFjZXMNCgkJCWlmICgkY3VycmVudF9jaGFyID09ICIgIikgew0KCQkJCWlmIChzdHJsZW4oJHJlcykgJiYNCgkJCQkJKA0KCQkJCQlwcmVnX21hdGNoKCcvXlteKCl7fVtcXT0rXC0qXC8lJnwhPjw/On5eLDsiXCddezJ9JC8nLCAkcmVzW3N0cmxlbigkcmVzKS0xXS4kc3RyWyRpKzFdKSB8fA0KCQkJCQlwcmVnX21hdGNoKCcvXihcK1wrKXwoLS0pJC8nLCAkcmVzW3N0cmxlbigkcmVzKS0xXS4kc3RyWyRpKzFdKSAvLyBmb3IgZXhhbXBsZSBpKyArK2o7DQoJCQkJCSkpICRyZXMgLj0gJGN1cnJlbnRfY2hhcjsNCgkJCX0gZWxzZWlmICgkY3VycmVudF9jaGFyID09ICJcbiIpIHsNCgkJCQlpZiAoc3RybGVuKCRyZXMpICYmDQoJCQkJCSgNCgkJCQkJcHJlZ19tYXRjaCgnL15bXih7Wz0rXC0qJSZ8IT48Pzp+Xiw7XC9dW14pfVxdPStcLSolJnw+PD86LDtcL10kLycsICRyZXNbc3RybGVuKCRyZXMpLTFdLiRzdHJbJGkrMV0pIHx8DQoJCQkJCShzdHJsZW4oJHJlcyk+MSAmJiBwcmVnX21hdGNoKCcvXihcK1wrKXwoLS0pJC8nLCAkcmVzW3N0cmxlbigkcmVzKS0yXS4kcmVzW3N0cmxlbigkcmVzKS0xXSkpIHx8DQoJCQkJCShzdHJsZW4oJHN0cik+JGkrMiAmJiBwcmVnX21hdGNoKCcvXihcK1wrKXwoLS0pJC8nLCAkc3RyWyRpKzFdLiRzdHJbJGkrMl0pKSB8fA0KCQkJCQlwcmVnX21hdGNoKCcvXihcK1wrKXwoLS0pJC8nLCAkcmVzW3N0cmxlbigkcmVzKS0xXS4kc3RyWyRpKzFdKS8vIHx8IC8vIGZvciBleGFtcGxlIGkrICsrajsNCgkJCQkJKSkgJHJlcyAuPSAkY3VycmVudF9jaGFyOw0KCQkJfSBlbHNlICRyZXMgLj0gJGN1cnJlbnRfY2hhcjsNCgkJCQ0KCQkJLy8gaWYgdGhlIG5leHQgY2hhcmFjaHRlciBiZSBhIHNsYXNoLCBkZXRlY3RzIGlmIGl0IGlzIGEgZGl2aWRlIG9wZXJhdG9yIG9yIHN0YXJ0IG9mIGEgcmVnZXgNCgkJCWlmIChwcmVnX21hdGNoKCcvWyh7Wz0rXC0qXC8lJnwhPjw/On5eLDtdLycsICRjdXJyZW50X2NoYXIpKSAkbWF5YmVfcmVnZXggPSB0cnVlOw0KCQkJZWxzZWlmICghcHJlZ19tYXRjaCgnL1tcbiBdLycsICRjdXJyZW50X2NoYXIpKSAkbWF5YmVfcmVnZXggPSBmYWxzZTsNCgkJCQkNCgkJCSRpKys7DQoJCX0NCgkJaWYgKCRpPHN0cmxlbigkc3RyKSAmJiBwcmVnX21hdGNoKCcvW15cblxyXHQgXS8nLCAkc3RyWyRpXSkpICRyZXMgLj0gJHN0clskaV07DQoJCXJldHVybiAkcmVzOw0KCX0NCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.btTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KTW9kdWxlOgkJVG9vbEJveA0KVGl0bGU6CQlibGF0dGVydGVjaCB0b29scyBjbGFzcw0KVmVyc2lvbjoJMS4wDQpEZXNjcmlwdC46CXNvbWUgdXNlZnVsIGZ1bmN0aW9ucw0KTGFzdCBNb2QuOgkyNi4wMS4yMDEyDQpBdXRob3I6CQlMdWthcyBCbGF0dGVyDQpFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gNCk5vdGVzOg0KTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCgkJCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQoJCQl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCgkJCUhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KCQkJYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQoJCQlNYWRlIFNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4NCgkJCXNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuDQoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOg0KCQkJaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy8NCgkJCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCgkJCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCgkJCUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KCQkJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCgkJCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCg0KY2xhc3MgYnRUb29scw0Kew0KDQoJLyoqDQoJICogQ2FsY3VsYXRlIGhhc2h2YWx1ZSBmb3IgcGFyYW1zDQoJICoNCgkgKiBAc291cmNlCWh0dHA6Ly9ibG9nLmViZW5lNy5jb20vMjAxMi8wMS8wNC9laW5mYWNoZS1hYnNpY2hlcnVuZy12b24tcGFyYW1ldGVybi8NCgkgKiBAcGFyYW0JYXJyYXkgJHBhcmFtcw0KCSAqIEBwYXJhbQlzdHJpbmcgJHNhbHQNCgkgKiBAcGFyYW0Jc3RyaW5nICRjYWxsYmFjayBPUFRJT05BTCAoZGVmYXVsdD0nc2hhMScpDQoJICogQHJldHVybglzdHJpbmcNCgkgKiANCgkgKiBEZW1vDQoJICogJHBhcmFtczEgPSBhcnJheSgNCgkgKgkgICAgJ2tleTEnID0+ICd2YWx1ZTEnLA0KCSAqCSAgICAna2V5MicgPT4gJ3ZhbHVlMicNCgkgKgkpOw0KCSAqCQ0KCSAqCSRwYXJhbXMyID0gYXJyYXkoDQoJICoJICAgICdrZXkyJyA9PiAndmFsdWUyJywNCgkgKgkgICAgJ2tleTEnID0+ICd2YWx1ZTEnDQoJICoJKTsNCgkgKgkNCgkgKgkkc2FsdCA9ICdibGFibHViYic7DQoJICoJDQoJICoJZWNobyAncDEtaGFzaDogJyAuIGdldFBhcmFtc0hhc2goJHBhcmFtczEsICRzYWx0LCAnbWQ1JykgLiAnPGJyLz4nOw0KCSAqCWVjaG8gJ3AyLWhhc2g6ICcgLiBnZXRQYXJhbXNIYXNoKCRwYXJhbXMyLCAkc2FsdCwgJ21kNScpIC4gJzxici8+JzsNCgkgKglEaWUgQXVzZ2FiZSBpc3QgdW5hYmjDpG5naWcgdm9uIGRlciBSZWloZW5mb2xnZSBkZXIgV2VydGUgaW0gQXJyYXkgaWRlbnRpc2NoLg0KCSAqCXAxLWhhc2g6IDNlNzFlZGE3Yjg1Mzk3OTFlYTJmZDhmMTU5YjVlNTdiDQoJICoJcDItaGFzaDogM2U3MWVkYTdiODUzOTc5MWVhMmZkOGYxNTliNWU1N2INCgkgKiANCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhcmFtc0hhc2goYXJyYXkgJHBhcmFtcywgJHNhbHQsICRjYWxsYmFjayA9ICdzaGExJykgew0KCSAgICAkcGFyYW1zWydfX1NBTFRfXyddID0gJHNhbHQ7DQoJICAgIGtzb3J0KCRwYXJhbXMpOw0KCSAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmMoJGNhbGxiYWNrLCBpbXBsb2RlKCcsJywgJHBhcmFtcykpOw0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIHByaW50TXNnQXJyYXkoJGFycmF5ID0gYXJyYXkoKSwgJGNsYXNzKSB7DQoJDQoJCSRyZXR2YWwgPSAiIjsNCgkJDQoJCWlmIChjb3VudCgkYXJyYXkpKSB7DQoJCQkkcmV0dmFsLj0gIlxuIi4nPGRpdiBjbGFzcz0iJy4kY2xhc3MuJyI+JzsNCgkJCWlmIChjb3VudCgkYXJyYXkpID4gMSkgew0KCQkJCSRyZXR2YWwuPSAiXG48dWw+XG4iOw0KCQkJCWZvcmVhY2goJGFycmF5IGFzICRpdGVtKSB7DQoJCQkJCSRyZXR2YWwuPSAiPGxpPiIuJGl0ZW0uIjwvbGk+XG4iOw0KCQkJCX0NCgkJCQkkcmV0dmFsLj0gIjwvdWw+XG4iOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJHJldHZhbC49ICRhcnJheVswXTsNCgkJCX0NCgkJCSRyZXR2YWwuPSAiPC9kaXY+IjsNCgkJfQ0KCQllbHNlDQoJCQlyZXR1cm4gJyc7DQoJCQkNCgkJcmV0dXJuICRyZXR2YWw7CQ0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGlzQ3VybEVuYWJsZWQoKSB7DQoJCWlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc1VybGZvcGVuRW5hYmxlZCgpIHsNCgkJaWYgKCFpbmlfZ2V0KCdhbGxvd191cmxfZm9wZW4nKSkNCgkJCXJldHVybiBmYWxzZTsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEdpYnQgYWxsZSBUYWdzIGRlciBnZWZ1bmRlbmVuIEJpbGRlciB6dXLDvGNrDQoJICogQHBhcmFtICR0ZXh0IC0gSFRNTA0KCSAqIEByZXR1cm4gYXJyYXkNCiAJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRJbWdUYWdzKCR0ZXh0KSB7DQoJCS8vIEFsbGUgSW1nLVRhZ3MgYXVzbGVzZW4NCgkJJG1hdGNoZXMgPSBhcnJheSgpOw0KCQlwcmVnX21hdGNoX2FsbCgnLzxpbWcoLio/KVwvPi8nLCAkdGV4dCwgJG1hdGNoZXMpOw0KDQoJCS8vIEZ1bmRlIGR1cmNobGF1ZmVuIHVuZCBBdHRyaWJ1dGUgZXJtaXR0ZWxuDQoJCSRpbWFnZXMgPSBhcnJheSgpOw0KCQlmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAkbWF0Y2gpIHsNCgkJCS8vIEF0dHJpYnV0ZSBhdXN0cmVubmVuDQoJCQkkYXR0cmlidXRlcyA9IGFycmF5KCk7DQoJCQlwcmVnX21hdGNoX2FsbCgnLyhbYS16XSo/KT0iKC4qPykiLycsICRtYXRjaCwgJGF0dHJpYnV0ZXMpOw0KDQoJCQkvLyBBdHRyaWJ1dGUgYWJzcGVpY2hlcm4NCgkJCSRpbWFnZSA9IGFycmF5KCk7DQoJCQlmb3JlYWNoICgkYXR0cmlidXRlc1sxXSBhcyAka2V5ID0+ICR2YWx1ZSkgew0KCQkJCSRpbWFnZVskdmFsdWVdID0gJGF0dHJpYnV0ZXNbMl1bJGtleV07DQoJCQl9DQoJCQkkaW1hZ2VzW10gPSAkaW1hZ2U7DQoJCX0NCg0KCQkvLyBEYXRlbiB6dXLDvGNrZ2ViZW4NCgkJcmV0dXJuICRpbWFnZXM7DQoJfQ0KCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIENvbnZlcnQgYSBvYmplY3QgdG8gYW4gYXJyYXkNCgkgKiBAcGFyYW0gJGQgLSBvYmplY3QNCgkgKiBAY29weXJpZ2h0IGh0dHA6Ly93d3cuaWYtbm90LXRydWUtdGhlbi1mYWxzZS5jb20vMjAwOS9waHAtdGlwLWNvbnZlcnQtc3RkY2xhc3Mtb2JqZWN0LXRvLW11bHRpZGltZW5zaW9uYWwtYXJyYXktYW5kLWNvbnZlcnQtbXVsdGlkaW1lbnNpb25hbC1hcnJheS10by1zdGRjbGFzcy1vYmplY3QvDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBvYmplY3RUb0FycmF5KCRkYXRhKQ0KCXsNCgkgICAgaWYgKGlzX2FycmF5KCRkYXRhKSB8fCBpc19vYmplY3QoJGRhdGEpKQ0KCSAgICB7DQoJICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsNCgkgICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbHVlKQ0KCSAgICAgICAgew0KCSAgICAgICAgICAgICRyZXN1bHRbJGtleV0gPSBzZWxmOjpvYmplY3RUb0FycmF5KCR2YWx1ZSk7DQoJICAgICAgICB9DQoJICAgICAgICByZXR1cm4gJHJlc3VsdDsNCgkgICAgfQ0KCSAgICByZXR1cm4gJGRhdGE7DQoJfQ0KCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIENvbnZlcnQgYSBvYmplY3QgdG8gYW4gYXJyYXkNCgkgKiBAcGFyYW0gJGFycmF5DQoJICogQHJldHVybiBvYmplY3QNCgkgKiBAY29weXJpZ2h0IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg2OTA5MS9jb252ZXJ0LWFycmF5LXRvLW9iamVjdC1waHANCgkgKi8NCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBhcnJheV90b19vYmooJGFycmF5LCAmJG9iaikNCgl7DQoJCWZvcmVhY2ggKCRhcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkNCgkJew0KCQkJaWYgKGlzX2FycmF5KCR2YWx1ZSkpDQoJCQl7DQoJCQkJJG9iai0+JGtleSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJCXNlbGY6OmFycmF5X3RvX29iaigkdmFsdWUsICRvYmotPiRrZXkpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRvYmotPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRvYmo7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBhcnJheVRvT2JqZWN0KCRhcnJheSkNCgl7DQoJCSRvYmplY3Q9IG5ldyBzdGRDbGFzcygpOw0KCQlyZXR1cm4gc2VsZjo6YXJyYXlfdG9fb2JqKCRhcnJheSwkb2JqZWN0KTsNCgl9DQoJDQoJDQoJDQoJLyoqDQoJICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDE5MDc2L2hvdy10by1zZWFyY2gtYnkta2V5LXZhbHVlLWluLWEtbXVsdGlkaW1lbnNpb25hbC1hcnJheS1pbi1waHANCgkgKiBTZWFyY2ggYSBNdWx0aWRpbWVuc2lvbmFsIEFycmF5CSANCgkgKiBAcGFyYW0gYXJyYXkgJGFycmF5DQoJICogQHBhcmFtIHN0cmluZyAka2V5DQoJICogQHBhcmFtIHN0cmluZyAkdmFsdWUNCgkgKiBAcmV0dXJuIGFycmF5DQoJICovDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZWFyY2hBcnJheSgkYXJyYXksICRrZXksICR2YWx1ZSkNCgkJew0KCQkJJHJlc3VsdHMgPSBhcnJheSgpOw0KDQoJCQlpZiAoaXNfYXJyYXkoJGFycmF5KSkNCgkJCXsNCgkJCQlpZiAoaXNzZXQoJGFycmF5WyRrZXldKSAmJiBzdHJ0b2xvd2VyKCRhcnJheVska2V5XSkgPT0gc3RydG9sb3dlcigkdmFsdWUpKQ0KCQkJCSRyZXN1bHRzW10gPSAkYXJyYXk7DQoNCgkJCQlmb3JlYWNoICgkYXJyYXkgYXMgJHN1YmFycmF5KQ0KCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoJHJlc3VsdHMsIHNlbGY6OnNlYXJjaEFycmF5KCRzdWJhcnJheSwgJGtleSwgJHZhbHVlKSk7DQoJCQl9DQoNCgkJCXJldHVybiAkcmVzdWx0czsNCgkJfQ0KCQ0KCQ0KDQoJLyoqDQoJICogDQoJICogR2lidCBkaWUgw7xiZXJnZWJlbmUgTnVtbWVyIGFscyAxc3QsIDJuZCwgM3JkLCA0dGgsIGV0Yy4genVyw7xjaw0KCSAqIEBwYXJhbSAkbnVtDQoJICogQGNvcHlyaWdodCBodHRwOi8vd3d3LmlmLW5vdC10cnVlLXRoZW4tZmFsc2UuY29tLzIwMTAvcGhwLTFzdC0ybmQtM3JkLTR0aC01dGgtNnRoLXBocC1hZGQtb3JkaW5hbC1udW1iZXItc3VmZml4Lw0KCSAqLw0KCS8vIDFzdAkgMm5kCSAzcmQJIDR0aAkgNXRoCSA2dGgJIDd0aAkgOHRoCSA5dGgJIDEwdGgNCgkvLyAxMXRoCTEydGgJMTN0aAkxNHRoCTE1dGgJMTZ0aAkxN3RoCTE4dGgJMTl0aAkyMHRoCQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBhZGRPcmRpbmFsTnVtYmVyU3VmZml4KCRudW0pIHsNCgkJaWYgKCFpbl9hcnJheSgoJG51bSAlIDEwMCksYXJyYXkoMTEsMTIsMTMpKSl7DQoJCQlzd2l0Y2ggKCRudW0gJSAxMCkgew0KCSAJCQkvLyBIYW5kbGUgMXN0LCAybmQsIDNyZA0KCQkJCWNhc2UgMTogIHJldHVybiAkbnVtLidzdCc7DQoJIAkJCWNhc2UgMjogIHJldHVybiAkbnVtLiduZCc7DQoJCQkJY2FzZSAzOiAgcmV0dXJuICRudW0uJ3JkJzsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJG51bS4ndGgnOw0KCSB9DQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageWorkshop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLy9uYW1lc3BhY2UgUEhQSW1hZ2VXb3Jrc2hvcDsNCg0KLy91c2UgUEhQSW1hZ2VXb3Jrc2hvcFxJbWFnZVdvcmtzaG9wRXhjZXB0aW9uOw0KDQovL3JlcXVpcmVfb25jZShfX0RJUl9fLicvSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbi5waHAnKTsgLy8gSWYgbm8gYXV0b2xvYWRlciwgdW5jb21tZW50IHRoaXMgbGluZQ0KDQpjbGFzcyBJbWFnZVdvcmtzaG9wRXhjZXB0aW9uIGV4dGVuZHMgXEV4Y2VwdGlvbg0Kew0KICAgIC8qKg0KICAgICAqIENvbnN0cnVjdG9yDQogICAgICogDQogICAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb2RlDQogICAgICogQHBhcmFtIEV4Y2VwdGlvbiAkcHJldmlvdXMNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1lc3NhZ2UsICRjb2RlID0gMCwgXEV4Y2VwdGlvbiAkcHJldmlvdXMgPSBudWxsKQ0KICAgIHsNCiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUsICRwcmV2aW91cyk7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIF9fdG9TdHJpbmcgbWV0aG9kDQogICAgICoNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkNCiAgICB7DQogICAgICAgIHJldHVybiBfX0NMQVNTX18uIjogW3skdGhpcy0+Y29kZX1dOiB7JHRoaXMtPm1lc3NhZ2V9XG4iOw0KICAgIH0NCn0NCg0KDQovKioNCiAqIEltYWdlV29ya3Nob3AgY2xhc3MNCiAqDQogKiBQb3dlcmZ1bCBQSFAgY2xhc3MgdXNpbmcgR0QgbGlicmFyeSB0byB3b3JrIGVhc2lseSB3aXRoIGltYWdlcyBpbmNsdWRpbmcgbGF5ZXIgbm90aW9uIChsaWtlIFBob3Rvc2hvcCBvciBHSU1QKS4NCiAqIEltYWdlV29ya3Nob3AgY2FuIGJlIHVzZWQgYXMgYSBsYXllciwgYSBncm91cCBvciBhIGRvY3VtZW50Lg0KICoNCiAqIEB2ZXJzaW9uIDEuMy4zDQogKiBAbGluayBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20NCiAqIEBhdXRob3IgU3liaW8gKENsw6ltZW50IEd1aWxsZW1haW4gIC8gQFN5YmlvMDEpDQogKiBAbGljZW5zZSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwIEdOVSBQdWJsaWMgTGljZW5zZQ0KICogQGNvcHlyaWdodCBDbMOpbWVudCBHdWlsbGVtYWluDQogKi8NCmNsYXNzIEltYWdlV29ya3Nob3ANCnsNCiAgICAvLyBQcm9wZXJ0aWVzDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIC8qKg0KICAgICAqIEB2YXIgd2lkdGgNCiAgICAgKg0KICAgICAqIFdpZHRoIG9mIHRoZSBncm91cCBtb2RlbA0KICAgICAqIERlZmF1bHQ6IDgwMA0KICAgICAqLw0KICAgIHByb3RlY3RlZCAkd2lkdGg7DQoNCiAgICAvKioNCiAgICAgKiBAdmFyIGhlaWdodA0KICAgICAqDQogICAgICogSGVpZ2h0IG9mIHRoZSBncm91cCBtb2RlbA0KICAgICAqIERlZmF1bHQ6IDYwMA0KICAgICAqLw0KICAgIHByb3RlY3RlZCAkaGVpZ2h0Ow0KDQogICAgLyoqDQogICAgICogQHZhciBsYXllcnMNCiAgICAgKg0KICAgICAqIExheWVycyAoYW5kIGdyb3VwcykNCiAgICAgKi8NCiAgICBwdWJsaWMgJGxheWVyczsNCg0KICAgIC8qKg0KICAgICAqIEB2YXIgbGF5ZXJMZXZlbHMNCiAgICAgKg0KICAgICAqIExldmVscyBvZiB0aGUgc3VibGF5ZXJzIGluIHRoZSBzdGFjaw0KICAgICAqLw0KICAgIHByb3RlY3RlZCAkbGF5ZXJMZXZlbHM7DQoNCiAgICAvKioNCiAgICAgKiBAdmFyIGxheWVyUG9zaXRpb25zDQogICAgICoNCiAgICAgKiBQb3NpdGlvbnMgKHggYW5kIHkpIG9mIHRoZSBzdWJsYXllcnMgaW4gdGhlIHN0YWNrDQogICAgICovDQogICAgcHJvdGVjdGVkICRsYXllclBvc2l0aW9uczsNCg0KICAgIC8qKg0KICAgICAqIEB2YXIgbGFzdExheWVySWQNCiAgICAgKg0KICAgICAqIElkIG9mIHRoZSBsYXN0IGluZGV4ZWQgc3VibGF5ZXIgaW4gdGhlIHN0YWNrDQogICAgICovDQogICAgcHJvdGVjdGVkICRsYXN0TGF5ZXJJZDsNCg0KICAgIC8qKg0KICAgICAqIEB2YXIgaGlnaGVzdExheWVyTGV2ZWwNCiAgICAgKg0KICAgICAqIFRoZSBoaWdoZXN0IHN1YmxheWVyIGxldmVsDQogICAgICovDQogICAgcHJvdGVjdGVkICRoaWdoZXN0TGF5ZXJMZXZlbDsNCg0KICAgIC8qKg0KICAgICAqIEB2YXIgaW1hZ2UNCiAgICAgKg0KICAgICAqIEJhY2tncm91bmQgSW1hZ2UNCiAgICAgKi8NCiAgICBwcm90ZWN0ZWQgJGltYWdlOw0KICAgIA0KICAgIC8qKg0KICAgICAqIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgY29uc3QgVU5JVF9QSVhFTCA9ICdwaXhlbCc7DQogICAgDQogICAgLyoqDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8gICAgDQogICAgY29uc3QgVU5JVF9QRVJDRU5UID0gJ3BlcmNlbnQnOw0KDQogICAgLyoqDQogICAgICogQHZhciBpbnRlZ2VyDQogICAgICovDQogICAgY29uc3QgRVJST1JfR0RfTk9UX0lOU1RBTExFRCA9IDE7DQogICAgDQogICAgLyoqDQogICAgICogQHZhciBpbnRlZ2VyDQogICAgICovDQogICAgY29uc3QgRVJST1JfTk9UX0FOX0lNQUdFX0ZJTEUgPSAyOw0KICAgIA0KICAgIC8qKg0KICAgICAqIEB2YXIgaW50ZWdlcg0KICAgICAqLw0KICAgIGNvbnN0IEVSUk9SX1BIUF9JTUFHRV9WQVJfTk9UX1VTRUQgPSAzOw0KICAgIA0KICAgIC8qKg0KICAgICAqIEB2YXIgaW50ZWdlcg0KICAgICAqLw0KICAgIGNvbnN0IEVSUk9SX0lNQUdFX05PVF9GT1VORCA9IDQ7DQoNCiAgICAvLyBNZXRob2RzDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIC8qKg0KICAgICAqIENvbnN0cnVjdG9yDQogICAgICoNCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcw0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcGFyYW1zID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAgIGlmICghZXh0ZW5zaW9uX2xvYWRlZCgnZ2QnKSkgew0KICAgICAgICAgICAgdGhyb3cgbmV3IEltYWdlV29ya3Nob3BFeGNlcHRpb24oJ1BIUEltYWdlV29ya3Nob3AgcmVxdWlyZXMgdGhlIEdEIGV4dGVuc2lvbiB0byBiZSBsb2FkZWQuJywgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfR0RfTk9UX0lOU1RBTExFRCk7DQogICAgICAgIH0NCiAgICAJDQogICAgICAgICR0aGlzLT53aWR0aCA9IDgwMDsNCiAgICAgICAgJHRoaXMtPmhlaWdodCA9IDYwMDsNCiAgICAgICAgJHRoaXMtPmxheWVycyA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5sYXllckxldmVscyA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5sYXllclBvc2l0aW9ucyA9IGFycmF5KCk7DQogICAgICAgICRpbWFnZUZyb21QYXRoID0gbnVsbDsNCiAgICAgICAgJGltYWdlVmFyID0gbnVsbDsNCiAgICAgICAgJGltYWdlU3RyaW5nID0gbnVsbDsNCiAgICAgICAgJGJhY2tncm91bmRDb2xvciA9IG51bGw7DQogICAgICAgICR0ZXh0ID0gbnVsbDsNCiAgICAgICAgJGZvbnRQYXRoID0gbnVsbDsNCiAgICAgICAgJGZvbnRTaXplID0gMTM7DQogICAgICAgICRmb250Q29sb3IgPSAnZmZmZmZmJzsNCiAgICAgICAgJHRleHRSb3RhdGlvbiA9IDA7DQogICAgICAgICRmaWxlT2JqZWN0ID0gbnVsbDsNCiAgICAgICAgJHRtcE5hbWUgPSBudWxsOw0KICAgICAgICAkbWltZVR5cGUgPSBudWxsOw0KDQogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCd3aWR0aCcsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkdGhpcy0+d2lkdGggPSAkcGFyYW1zWyd3aWR0aCddOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2hlaWdodCcsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkdGhpcy0+aGVpZ2h0ID0gJHBhcmFtc1snaGVpZ2h0J107DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnaW1hZ2VGcm9tUGF0aCcsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkaW1hZ2VGcm9tUGF0aCA9ICRwYXJhbXNbJ2ltYWdlRnJvbVBhdGgnXTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdpbWFnZVZhcicsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkaW1hZ2VWYXIgPSAkcGFyYW1zWydpbWFnZVZhciddOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnaW1hZ2VGcm9tU3RyaW5nJywgJHBhcmFtcykpIHsNCiAgICAgICAgICAgICRpbWFnZVN0cmluZyA9ICRwYXJhbXNbJ2ltYWdlRnJvbVN0cmluZyddOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2JhY2tncm91bmRDb2xvcicsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkYmFja2dyb3VuZENvbG9yID0gJHBhcmFtc1snYmFja2dyb3VuZENvbG9yJ107DQogICAgICAgIH0NCg0KICAgICAgICAvLyBUZXh0IGxheWVyDQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ3RleHQnLCAkcGFyYW1zKSkgew0KICAgICAgICAgICAgJHRleHQgPSAkcGFyYW1zWyd0ZXh0J107DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnZm9udFBhdGgnLCAkcGFyYW1zKSkgew0KICAgICAgICAgICAgJGZvbnRQYXRoID0gJHBhcmFtc1siZm9udFBhdGgiXTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdmb250U2l6ZScsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkZm9udFNpemUgPSAkcGFyYW1zWydmb250U2l6ZSddOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2ZvbnRDb2xvcicsICRwYXJhbXMpKSB7DQogICAgICAgICAgICAkZm9udENvbG9yID0gJHBhcmFtc1snZm9udENvbG9yJ107DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygndGV4dFJvdGF0aW9uJywgJHBhcmFtcykpIHsNCiAgICAgICAgICAgICR0ZXh0Um90YXRpb24gPSAkcGFyYW1zWyd0ZXh0Um90YXRpb24nXTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIFVwbG9hZGVkIGZpbGUgb2JqZWN0IGxheWVyDQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2ZpbGVPYmplY3QnLCAkcGFyYW1zKSkgew0KDQogICAgICAgICAgICAkZmlsZU9iamVjdCA9ICRwYXJhbXNbJ2ZpbGVPYmplY3QnXTsNCg0KICAgICAgICB9IGVsc2VpZiAoYXJyYXlfa2V5X2V4aXN0cygndG1wTmFtZScsICRwYXJhbXMpKSB7DQoNCiAgICAgICAgICAgICR0bXBOYW1lID0gJHBhcmFtc1sndG1wTmFtZSddOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRoaXMtPmNsZWFyU3RhY2soKTsNCg0KICAgICAgICAvLyBJbml0aWFsaXphdGlvbiBvZiB0aGUgbGF5ZXIgZGltZW5zaW9ucyBhbmQgYmFja2dyb3VuZCBpbWFnZQ0KDQogICAgICAgIGlmICgkaW1hZ2VGcm9tUGF0aCB8fCAkZmlsZU9iamVjdCB8fCAkdG1wTmFtZSkgew0KDQogICAgICAgICAgICBpZiAoJGZpbGVPYmplY3QpIHsNCg0KICAgICAgICAgICAgICAgICRpbWFnZUZyb21QYXRoID0gJGZpbGVPYmplY3RbJ3RtcF9uYW1lJ107DQoNCiAgICAgICAgICAgIH0gZWxzZWlmICgkdG1wTmFtZSkgew0KDQogICAgICAgICAgICAgICAgJGltYWdlRnJvbVBhdGggPSAkdG1wTmFtZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZUZyb20oJGltYWdlRnJvbVBhdGgpOw0KDQogICAgICAgIH0gZWxzZWlmICgkaW1hZ2VWYXIpIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZVdpdGgoJGltYWdlVmFyKTsNCiAgICAgICAgICAgIA0KICAgICAgICB9IGVsc2VpZiAoJGltYWdlU3RyaW5nKSB7DQoNCiAgICAgICAgICAgICRpbWFnZVZhciA9IGltYWdlY3JlYXRlZnJvbXN0cmluZygkaW1hZ2VTdHJpbmcpOw0KICAgIA0KICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZVdpdGgoJGltYWdlVmFyKTsNCiAgICAgICAgICAgIA0KICAgICAgICB9IGVsc2VpZiAoJHRleHQgJiYgJGZvbnRQYXRoKSB7DQoNCiAgICAgICAgICAgICR0aGlzLT5pbml0aWFsaXplVGV4dEltYWdlKCR0ZXh0LCAkZm9udFBhdGgsICRmb250U2l6ZSwgJGZvbnRDb2xvciwgJHRleHRSb3RhdGlvbiwgJGJhY2tncm91bmRDb2xvcik7DQoNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZSgkYmFja2dyb3VuZENvbG9yKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsb25lIG1ldGhvZDogdXNlIGl0IGlmIHlvdSB3YW50IHRvIHJldXNlIGFuIGV4aXN0aW5nIEltYWdlV29ya3Nob3Agb2JqZWN0IGluIGFub3RoZXIgdmFyaWFibGUNCiAgICAgKiBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIGltZyByZXNvdXJjZSB2YXIgcmVmZXJlbmNlcyBhbGwgdGhlIHNhbWUgaW1hZ2UgaW4gUEhQLg0KICAgICAqIEV4YW1wbGU6ICRiID0gY2xvbmUgJGE7IChuZXZlciBkbyAkYiA9ICRhOykNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jbG9uZSgpDQogICAgew0KICAgICAgICAkdGhpcy0+Y3JlYXRlTmV3VmFyRnJvbUJhY2tncm91bmRJbWFnZSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFBhc3RlIGFuIGltYWdlIG9uIHRoZSBsYXllcg0KICAgICAqIFlvdSBjYW4gc3BlY2lmeSB0aGUgcG9zaXRpb24gbGVmdCAoaW4gcGl4ZWxzKSBhbmQgdGhlIHBvc2l0aW9uIHRvcCAoaW4gcGl4ZWxzKSBvZiB0aGUgYWRkZWQgaW1hZ2UgcmVsYXRpdmVzIHRvIHRoZSBsYXllcg0KICAgICAqIE90aGVyd2lzZSwgaXQgd2lsbCBiZSBzZXQgYXQgMCBhbmQgMA0KICAgICAqDQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCBVc2Ugb25lIG9mIGBVTklUXypgIGNvbnN0YW50cywgIlVOSVRfUElYRUwiIGJ5IGRlZmF1bHQNCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJGltYWdlDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFzdGVJbWFnZSgkdW5pdCA9IHNlbGY6OlVOSVRfUElYRUwsICRpbWFnZSwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwKQ0KICAgIHsNCiAgICAgICAgaWYgKCR1bml0ID09IHNlbGY6OlVOSVRfUEVSQ0VOVCkgew0KDQogICAgICAgICAgICAkcG9zaXRpb25YID0gcm91bmQoKCRwb3NpdGlvblggLyAxMDApICogJHRoaXMtPndpZHRoKTsNCiAgICAgICAgICAgICRwb3NpdGlvblkgPSByb3VuZCgoJHBvc2l0aW9uWSAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGltYWdlY29weSgkdGhpcy0+aW1hZ2UsICRpbWFnZSwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgMCwgMCwgJGltYWdlLT5nZXRXaWR0aCgpLCAkaW1hZ2UtPmdldEhlaWdodCgpKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBBZGQgYW4gZXhpc3RpbmcgSW1hZ2VXb3Jrc2hvcCBzdWJsYXllciBhbmQgc2V0IGl0IGluIHRoZSBzdGFjayBhdCBhIGdpdmVuIGxldmVsDQogICAgICogUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzdWJsYXllciBpZCBpbiB0aGUgc3RhY2sgYW5kIGl0cyBjb3JyZWN0ZWQgbGV2ZWw6DQogICAgICogYXJyYXkoImxheWVyTGV2ZWwiID0+IGludGVnZXIsICJpZCIgPT4gaW50ZWdlcikNCiAgICAgKg0KICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbA0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyTGV2ZWwNCiAgICAgKiBAcGFyYW0gSW1hZ2VXb3Jrc2hvcCAkbGF5ZXINCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICoNCiAgICAgKiBAcmV0dXJuIGFycmF5DQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGFkZExheWVyKCRsYXllckxldmVsLCAkbGF5ZXIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIikNCiAgICB7DQogICAgICAgIHJldHVybiAkdGhpcy0+aW5kZXhMYXllcigkbGF5ZXJMZXZlbCwgJGxheWVyLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZCBhbiBleGlzdGluZyBJbWFnZVdvcmtzaG9wIHN1YmxheWVyIGFuZCBzZXQgaXQgaW4gdGhlIHN0YWNrIGF0IHRoZSBoaWdoZXN0IGxldmVsDQogICAgICogUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzdWJsYXllciBpZCBpbiB0aGUgc3RhY2sgYW5kIHRoZSBoaWdoZXN0IGxldmVsOg0KICAgICAqIGFycmF5KCJsYXllckxldmVsIiA9PiBpbnRlZ2VyLCAiaWQiID0+IGludGVnZXIpDQogICAgICoNCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wICRsYXllcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24NCiAgICAgKg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkTGF5ZXJPblRvcCgkbGF5ZXIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIikNCiAgICB7DQogICAgICAgIHJldHVybiAkdGhpcy0+aW5kZXhMYXllcigkdGhpcy0+aGlnaGVzdExheWVyTGV2ZWwgKyAxLCAkbGF5ZXIsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQWRkIGFuIGV4aXN0aW5nIEltYWdlV29ya3Nob3Agc3VibGF5ZXIgYW5kIHNldCBpdCBpbiB0aGUgc3RhY2sgYXQgbGV2ZWwgMQ0KICAgICAqIFJldHVybiBhbiBhcnJheSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgc3VibGF5ZXIgaWQgaW4gdGhlIHN0YWNrIGFuZCBsZXZlbCAxOg0KICAgICAqIGFycmF5KCJsYXllckxldmVsIiA9PiBpbnRlZ2VyLCAiaWQiID0+IGludGVnZXIpDQogICAgICoNCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wICRsYXllcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24NCiAgICAgKg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkTGF5ZXJCZWxvdygkbGF5ZXIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIikNCiAgICB7DQogICAgICAgIHJldHVybiAkdGhpcy0+aW5kZXhMYXllcigxLCAkbGF5ZXIsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogTWVyZ2UgYSBzdWJsYXllciB3aXRoIGFub3RoZXIgc3VibGF5ZXIgYmVsb3cgaXQgaW4gdGhlIHN0YWNrDQogICAgICogTm90ZTogdGhlIHJlc3VsdCBsYXllciB3aWxsIGNvbnNlcnZlIHRoZSBnaXZlbiBpZA0KICAgICAqIFJldHVybiB0cnVlIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQgb3IgZG9lc24ndCBoYXZlIGEgbGF5ZXIgdW5kZXIgaXQgaW4gdGhlIHN0YWNrDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqDQogICAgICogQHJldHVybiBib29sZWFuDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIG1lcmdlRG93bigkbGF5ZXJJZCkNCiAgICB7DQogICAgICAgIC8vIGlmIHRoZSBsYXllciBleGlzdHMgaW4gZG9jdW1lbnQNCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsNCg0KICAgICAgICAgICAgJGxheWVyTGV2ZWwgPSAkdGhpcy0+Z2V0TGF5ZXJMZXZlbCgkbGF5ZXJJZCk7DQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvbnMgPSAkdGhpcy0+Z2V0TGF5ZXJQb3NpdGlvbnMoJGxheWVySWQpOw0KDQogICAgICAgICAgICAkbGF5ZXIgPSAkdGhpcy0+Z2V0TGF5ZXIoJGxheWVySWQpOw0KICAgICAgICAgICAgJGxheWVyV2lkdGggPSAkbGF5ZXItPmdldFdpZHRoKCk7DQogICAgICAgICAgICAkbGF5ZXJIZWlnaHQgPSAkbGF5ZXItPmdldEhlaWdodCgpOw0KICAgICAgICAgICAgJGxheWVyUG9zaXRpb25YID0gJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsieCJdOw0KICAgICAgICAgICAgJGxheWVyUG9zaXRpb25ZID0gJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsieSJdOw0KDQogICAgICAgICAgICBpZiAoJGxheWVyTGV2ZWwgPiAxKSB7DQoNCiAgICAgICAgICAgICAgICAkdW5kZXJMYXllcklkID0gJHRoaXMtPmxheWVyTGV2ZWxzWyRsYXllckxldmVsIC0gMV07DQogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXIgPSAkdGhpcy0+Z2V0TGF5ZXIoJHVuZGVyTGF5ZXJJZCk7DQogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXJXaWR0aCA9ICR1bmRlckxheWVyLT5nZXRXaWR0aCgpOw0KICAgICAgICAgICAgICAgICR1bmRlckxheWVySGVpZ2h0ID0gJHVuZGVyTGF5ZXItPmdldEhlaWdodCgpOw0KICAgICAgICAgICAgICAgICR1bmRlckxheWVyUG9zaXRpb25YID0gJHRoaXMtPmxheWVyUG9zaXRpb25zWyR1bmRlckxheWVySWRdWyJ4Il07DQogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXJQb3NpdGlvblkgPSAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJHVuZGVyTGF5ZXJJZF1bInkiXTsNCg0KICAgICAgICAgICAgICAgICR0b3RhbFdpZHRoTGF5ZXIgPSAkbGF5ZXJXaWR0aCArICRsYXllclBvc2l0aW9uWDsNCiAgICAgICAgICAgICAgICAkdG90YWxIZWlnaHRMYXllciA9ICRsYXllckhlaWdodCArICRsYXllclBvc2l0aW9uWTsNCg0KICAgICAgICAgICAgICAgICR0b3RhbFdpZHRoVW5kZXJMYXllciA9ICR1bmRlckxheWVyV2lkdGggKyAkdW5kZXJMYXllclBvc2l0aW9uWDsNCiAgICAgICAgICAgICAgICAkdG90YWxIZWlnaHRVbmRlckxheWVyID0gJHVuZGVyTGF5ZXJIZWlnaHQgKyAkdW5kZXJMYXllclBvc2l0aW9uWTsNCg0KICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWCA9ICRsYXllclBvc2l0aW9uWDsNCg0KICAgICAgICAgICAgICAgIGlmICgkbGF5ZXJQb3NpdGlvblggPiAkdW5kZXJMYXllclBvc2l0aW9uWCkgew0KDQogICAgICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWCA9ICR1bmRlckxheWVyUG9zaXRpb25YOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWSA9ICRsYXllclBvc2l0aW9uWTsNCg0KICAgICAgICAgICAgICAgIGlmICgkbGF5ZXJQb3NpdGlvblkgPiAkdW5kZXJMYXllclBvc2l0aW9uWSkgew0KDQogICAgICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWSA9ICR1bmRlckxheWVyUG9zaXRpb25ZOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmICgkdG90YWxXaWR0aExheWVyID4gJHRvdGFsV2lkdGhVbmRlckxheWVyKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wV2lkdGggPSAkdG90YWxXaWR0aExheWVyIC0gJG1pbkxheWVyUG9zaXRpb25YOw0KDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgICAgICAkbGF5ZXJUbXBXaWR0aCA9ICR0b3RhbFdpZHRoVW5kZXJMYXllciAtICRtaW5MYXllclBvc2l0aW9uWDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAoJHRvdGFsSGVpZ2h0TGF5ZXIgPiAkdG90YWxIZWlnaHRVbmRlckxheWVyKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wSGVpZ2h0ID0gJHRvdGFsSGVpZ2h0TGF5ZXIgLSAkbWluTGF5ZXJQb3NpdGlvblk7DQoNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgICRsYXllclRtcEhlaWdodCA9ICR0b3RhbEhlaWdodFVuZGVyTGF5ZXIgLSAkbWluTGF5ZXJQb3NpdGlvblk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgJGxheWVyVG1wID0gbmV3IHN0YXRpYyhhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgIndpZHRoIiA9PiAkbGF5ZXJUbXBXaWR0aCwNCiAgICAgICAgICAgICAgICAgICAgImhlaWdodCIgPT4gJGxheWVyVG1wSGVpZ2h0LA0KICAgICAgICAgICAgICAgICkpOw0KDQogICAgICAgICAgICAgICAgJGxheWVyVG1wLT5hZGRMYXllcigxLCAkdW5kZXJMYXllciwgJHVuZGVyTGF5ZXJQb3NpdGlvblggLSAkbWluTGF5ZXJQb3NpdGlvblgsICR1bmRlckxheWVyUG9zaXRpb25ZIC0gJG1pbkxheWVyUG9zaXRpb25ZKTsNCiAgICAgICAgICAgICAgICAkbGF5ZXJUbXAtPmFkZExheWVyKDIsICRsYXllciwgJGxheWVyUG9zaXRpb25YIC0gJG1pbkxheWVyUG9zaXRpb25YLCAkbGF5ZXJQb3NpdGlvblkgLSAkbWluTGF5ZXJQb3NpdGlvblkpOw0KDQogICAgICAgICAgICAgICAgLy8gVXBkYXRlIGxheWVycw0KICAgICAgICAgICAgICAgICRsYXllclRtcC0+bWVyZ2VBbGwoKTsNCg0KICAgICAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJHVuZGVyTGF5ZXJJZF0gPSBjbG9uZSAkbGF5ZXJUbXA7DQogICAgICAgICAgICAgICAgJHRoaXMtPmNoYW5nZVBvc2l0aW9uKCR1bmRlckxheWVySWQsICRtaW5MYXllclBvc2l0aW9uWCwgJG1pbkxheWVyUG9zaXRpb25YKTsNCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgICRsYXllclRtcCA9IG5ldyBzdGF0aWMoYXJyYXkoDQogICAgICAgICAgICAgICAgICAgICJpbWFnZVZhciIgPT4gJHRoaXMtPmltYWdlLA0KICAgICAgICAgICAgICAgICkpOw0KDQogICAgICAgICAgICAgICAgJGxheWVyVG1wLT5hZGRMYXllcigxLCAkbGF5ZXIsICRsYXllclBvc2l0aW9uWCwgJGxheWVyUG9zaXRpb25ZKTsNCg0KICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBiYWNrZ3JvdW5kIGltYWdlDQogICAgICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGxheWVyVG1wLT5nZXRSZXN1bHQoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdW5zZXQoJGxheWVyVG1wKTsNCg0KICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBtZXJnZWQgbGF5ZXIgZnJvbSB0aGUgc3RhY2sNCiAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJGxheWVySWQpOw0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBNZXJnZSBzdWJsYXllcnMgaW4gdGhlIHN0YWNrIG9uIHRoZSBsYXllciBiYWNrZ3JvdW5kDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIG1lcmdlQWxsKCkNCiAgICB7DQogICAgICAgICR0aGlzLT5pbWFnZSA9ICR0aGlzLT5nZXRSZXN1bHQoKTsNCiAgICAgICAgJHRoaXMtPmNsZWFyU3RhY2soKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBNb3ZlIGEgc3VibGF5ZXIgb24gdGhlIHRvcCBvZiBhIGdyb3VwIHN0YWNrDQogICAgICogUmV0dXJuIG5ldyBzdWJsYXllciBsZXZlbCBpZiBzdWNjZXNzIG9yIGZhbHNlIG90aGVyd2lzZQ0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQNCiAgICAgKiBAcmV0dXJuIG1peGVkDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIG1vdmVUb3AoJGxheWVySWQpDQogICAgew0KICAgICAgICByZXR1cm4gJHRoaXMtPm1vdmVUbygkbGF5ZXJJZCwgJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsLCBmYWxzZSk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogTW92ZSBhIHN1YmxheWVyIHRvIHRoZSBsZXZlbCAxIG9mIGEgZ3JvdXAgc3RhY2sNCiAgICAgKiBSZXR1cm4gbmV3IHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2Ugb3RoZXJ3aXNlDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZXZlbA0KICAgICAqDQogICAgICogQHJldHVybiBtaXhlZA0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBtb3ZlQm90dG9tKCRsYXllcklkKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5tb3ZlVG8oJGxheWVySWQsIDEsIHRydWUpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIE1vdmUgYSBzdWJsYXllciB0byB0aGUgbGV2ZWwgJGxldmVsIG9mIGEgZ3JvdXAgc3RhY2sNCiAgICAgKiBSZXR1cm4gbmV3IHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQNCiAgICAgKg0KICAgICAqIFNldCAkaW5zZXJ0VW5kZXJUYXJnZXRlZExheWVyIHRydWUgaWYgeW91IHdhbnQgdG8gbW92ZSB0aGUgc3VibGF5ZXIgdW5kZXIgdGhlIG90aGVyIHN1YmxheWVyIGF0IHRoZSB0YXJnZXRlZCBsZXZlbCwNCiAgICAgKiBvciBmYWxzZSB0byBpbnNlcnQgaXQgb24gdGhlIHRvcCBvZiB0aGUgb3RoZXIgc3VibGF5ZXIgYXQgdGhlIHRhcmdldGVkIGxldmVsDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZXZlbA0KICAgICAqIEBwYXJhbSBib29sZWFuICRpbnNlcnRVbmRlclRhcmdldGVkTGF5ZXINCiAgICAgKg0KICAgICAqIEByZXR1cm4gbWl4ZWQNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gbW92ZVRvKCRsYXllcklkLCAkbGV2ZWwsICRpbnNlcnRVbmRlclRhcmdldGVkTGF5ZXIgPSB0cnVlKQ0KICAgIHsNCiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiBzdGFjaw0KICAgICAgICBpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgew0KDQogICAgICAgICAgICAkbGF5ZXJPbGRMZXZlbCA9ICR0aGlzLT5nZXRMYXllckxldmVsKCRsYXllcklkKTsNCg0KICAgICAgICAgICAgaWYgKCRsZXZlbCA8IDEpIHsNCiAgICAgICAgICAgICAgICAkbGV2ZWwgPSAxOw0KICAgICAgICAgICAgICAgICRpbnNlcnRVbmRlclRhcmdldGVkTGF5ZXIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoJGxldmVsID4gJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsKSB7DQoNCiAgICAgICAgICAgICAgICAkbGV2ZWwgPSAkdGhpcy0+aGlnaGVzdExheWVyTGV2ZWw7DQogICAgICAgICAgICAgICAgJGluc2VydFVuZGVyVGFyZ2V0ZWRMYXllciA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBOb3QgdGhlIHNhbWUgbGV2ZWwgdGhhbiB0aGUgY3VycmVudCBsZXZlbA0KICAgICAgICAgICAgaWYgKCRsYXllck9sZExldmVsICE9ICRsZXZlbCkgew0KDQogICAgICAgICAgICAgICAgJGlzVW5kZXJBbmROZXdMZXZlbEhpZ2hlciA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICRpc1VuZGVyQW5kTmV3TGV2ZWxMb3dlciA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICRpc09uVG9wQW5kTmV3TGV2ZWxIaWdoZXIgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAkaXNPblRvcEFuZE5ld0xldmVsTG93ZXIgPSBmYWxzZTsNCg0KICAgICAgICAgICAgICAgIGlmICgkaW5zZXJ0VW5kZXJUYXJnZXRlZExheWVyKSB7IC8vIFVuZGVyIGxldmVsDQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRsZXZlbCA+ICRsYXllck9sZExldmVsKSB7IC8vIG5ldyBsZXZlbCBoaWdoZXINCg0KICAgICAgICAgICAgICAgICAgICAgICAgJGluY3JlbWVudG9yU3RhcnRpbmdWYWx1ZSA9ICRsYXllck9sZExldmVsOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHN0b3BMb29wV2hlblNtYWxsZXJUaGFuID0gJGxldmVsOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGlzVW5kZXJBbmROZXdMZXZlbEhpZ2hlciA9IHRydWU7DQoNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgLy8gbmV3IGxldmVsIGxvd2VyDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmNyZW1lbnRvclN0YXJ0aW5nVmFsdWUgPSAkbGV2ZWw7DQogICAgICAgICAgICAgICAgICAgICAgICAkc3RvcExvb3BXaGVuU21hbGxlclRoYW4gPSAkbGF5ZXJPbGRMZXZlbDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpc1VuZGVyQW5kTmV3TGV2ZWxMb3dlciA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vIG9uIHRoZSB0b3ANCg0KICAgICAgICAgICAgICAgICAgICBpZiAoJGxldmVsID4gJGxheWVyT2xkTGV2ZWwpIHsgLy8gbmV3IGxldmVsIGhpZ2hlcg0KDQogICAgICAgICAgICAgICAgICAgICAgICAkaW5jcmVtZW50b3JTdGFydGluZ1ZhbHVlID0gJGxheWVyT2xkTGV2ZWw7DQogICAgICAgICAgICAgICAgICAgICAgICAkc3RvcExvb3BXaGVuU21hbGxlclRoYW4gPSAkbGV2ZWw7DQogICAgICAgICAgICAgICAgICAgICAgICAkaXNPblRvcEFuZE5ld0xldmVsSGlnaGVyID0gdHJ1ZTsNCg0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBuZXcgbGV2ZWwgbG93ZXINCg0KICAgICAgICAgICAgICAgICAgICAgICAgJGluY3JlbWVudG9yU3RhcnRpbmdWYWx1ZSA9ICRsZXZlbDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRzdG9wTG9vcFdoZW5TbWFsbGVyVGhhbiA9ICRsYXllck9sZExldmVsOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGlzT25Ub3BBbmROZXdMZXZlbExvd2VyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGtzb3J0KCR0aGlzLT5sYXllckxldmVscyk7DQogICAgICAgICAgICAgICAgJGxheWVyTGV2ZWxzVG1wID0gJHRoaXMtPmxheWVyTGV2ZWxzOw0KDQogICAgICAgICAgICAgICAgaWYgKCRpc09uVG9wQW5kTmV3TGV2ZWxMb3dlcikgew0KICAgICAgICAgICAgICAgICAgICAkbGV2ZWwrKzsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBmb3IgKCRpID0gJGluY3JlbWVudG9yU3RhcnRpbmdWYWx1ZTsgJGkgPCAkc3RvcExvb3BXaGVuU21hbGxlclRoYW47ICRpKyspIHsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoJGlzVW5kZXJBbmROZXdMZXZlbEhpZ2hlciB8fCAkaXNPblRvcEFuZE5ld0xldmVsSGlnaGVyKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5sYXllckxldmVsc1skaV0gPSAkbGF5ZXJMZXZlbHNUbXBbJGkgKyAxXTsNCg0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJMZXZlbHNbJGkgKyAxXSA9ICRsYXllckxldmVsc1RtcFskaV07DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB1bnNldCgkbGF5ZXJMZXZlbHNUbXApOw0KDQogICAgICAgICAgICAgICAgaWYgKCRpc1VuZGVyQW5kTmV3TGV2ZWxIaWdoZXIpIHsNCiAgICAgICAgICAgICAgICAgICAgJGxldmVsLS07DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWyRsZXZlbF0gPSAkbGF5ZXJJZDsNCg0KICAgICAgICAgICAgICAgIHJldHVybiAkbGV2ZWw7DQoNCiAgICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gJGxldmVsOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIE1vdmUgdXAgYSBzdWJsYXllciBpbiB0aGUgc3RhY2sgKGxldmVsICsxKQ0KICAgICAqIFJldHVybiBuZXcgc3VibGF5ZXIgbGV2ZWwgaWYgc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqDQogICAgICogQHJldHVybiBtaXhlZA0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBtb3ZlVXAoJGxheWVySWQpDQogICAgew0KICAgICAgICAvLyBpZiB0aGUgc3VibGF5ZXIgZXhpc3RzIGluIHRoZSBzdGFjaw0KICAgICAgICBpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgew0KDQogICAgICAgICAgICAkbGF5ZXJPbGRMZXZlbCA9ICR0aGlzLT5nZXRMYXllckxldmVsKCRsYXllcklkKTsNCg0KICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tb3ZlVG8oJGxheWVySWQsICRsYXllck9sZExldmVsICsgMSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIE1vdmUgZG93biBhIHN1YmxheWVyIGluIHRoZSBzdGFjayAobGV2ZWwgLTEpDQogICAgICogUmV0dXJuIG5ldyBzdWJsYXllciBsZXZlbCBpZiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkDQogICAgICoNCiAgICAgKiBAcmV0dXJuIG1peGVkDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIG1vdmVEb3duKCRsYXllcklkKQ0KICAgIHsNCiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sNCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsNCg0KICAgICAgICAgICAgJGxheWVyT2xkTGV2ZWwgPSAkdGhpcy0+Z2V0TGF5ZXJMZXZlbCgkbGF5ZXJJZCk7DQoNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bW92ZVRvKCRsYXllcklkLCAkbGF5ZXJPbGRMZXZlbCAtIDEsIHRydWUpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIERlbGV0ZSBhIGxheWVyIChyZXR1cm4gdHJ1ZSBpZiBzdWNjZXNzLCBmYWxzZSBpZiBubyBzdWJsYXllciBpcyBmb3VuZCkNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkDQogICAgICoNCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlKCRsYXllcklkKQ0KICAgIHsNCiAgICAgICAgLy8gaWYgdGhlIGxheWVyIGV4aXN0cyBpbiBkb2N1bWVudA0KICAgICAgICBpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgew0KDQogICAgICAgICAgICAkbGF5ZXJUb0RlbGV0ZUxldmVsID0gJHRoaXMtPmdldExheWVyTGV2ZWwoJGxheWVySWQpOw0KDQogICAgICAgICAgICAvLyBkZWxldGUNCiAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5kZWxldGUoKTsNCiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllcnNbJGxheWVySWRdKTsNCiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllckxldmVsc1skbGF5ZXJUb0RlbGV0ZUxldmVsXSk7DQogICAgICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdKTsNCg0KICAgICAgICAgICAgLy8gT25lIG9yIHBsdXJhbCBsYXllcnMgYXJlIHN1YiBvZiB0aGUgZGVsZXRlZCBsYXllcg0KICAgICAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoKCRsYXllclRvRGVsZXRlTGV2ZWwgKyAxKSwgJHRoaXMtPmxheWVyTGV2ZWxzKSkgew0KDQogICAgICAgICAgICAgICAga3NvcnQoJHRoaXMtPmxheWVyTGV2ZWxzKTsNCg0KICAgICAgICAgICAgICAgICRsYXllckxldmVsc1RtcCA9ICR0aGlzLT5sYXllckxldmVsczsNCg0KICAgICAgICAgICAgICAgICRtYXhPbGRlc3RMZXZlbCA9IDE7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxheWVyTGV2ZWxzVG1wIGFzICRsZXZlbFRtcCA9PiAkbGF5ZXJJZFRtcCkgew0KDQogICAgICAgICAgICAgICAgICAgIGlmICgkbGV2ZWxUbXAgPiAkbGF5ZXJUb0RlbGV0ZUxldmVsKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJMZXZlbHNbKCRsZXZlbFRtcCAtIDEpXSA9ICRsYXllcklkVG1wOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJG1heE9sZGVzdExldmVsKys7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHVuc2V0KCRsYXllckxldmVsc1RtcCk7DQogICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyTGV2ZWxzWyRtYXhPbGRlc3RMZXZlbF0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkdGhpcy0+aGlnaGVzdExheWVyTGV2ZWwtLTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogR2V0IHRoZSBsZXZlbCBvZiBhIHN1YmxheWVyDQogICAgICogUmV0dXJuIHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkDQogICAgICoNCiAgICAgKiBAcmV0dXJuIG1peGVkDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVyTGV2ZWwoJGxheWVySWQpDQogICAgew0KICAgICAgICAvLyBpZiB0aGUgbGF5ZXIgZXhpc3RzIGluIGRvY3VtZW50DQogICAgICAgIGlmICgkdGhpcy0+aXNMYXllckluSW5kZXgoJGxheWVySWQpKSB7DQogICAgICAgICAgICByZXR1cm4gYXJyYXlfc2VhcmNoKCRsYXllcklkLCAkdGhpcy0+bGF5ZXJMZXZlbHMpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENoZWNrIGlmIGEgc3VibGF5ZXIgZXhpc3RzIGluIHRoZSBzdGFjayBmb3IgYSBnaXZlbiBpZA0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQNCiAgICAgKg0KICAgICAqIEByZXR1cm4gYm9vbGVhbg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0xheWVySW5JbmRleCgkbGF5ZXJJZCkNCiAgICB7DQogICAgICAgIC8vIGlmIHRoZSBsYXllciBleGlzdHMgaW4gZG9jdW1lbnQNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGxheWVySWQsICR0aGlzLT5sYXllcnMpKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZW5lcmF0ZSBhIG5ldyBpbWFnZSByZXNvdXJjZSB2YXINCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRvcGFjaXR5DQogICAgICoNCiAgICAgKiBAcmV0dXJuIHJlc291cmNlDQogICAgICovDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZUltYWdlKCR3aWR0aCA9IDEwMCwgJGhlaWdodCA9IDEwMCwgJGNvbG9yID0gImZmZmZmZiIsICRvcGFjaXR5ID0gMTI3KQ0KICAgIHsNCiAgICAgICAgJFJHQkNvbG9ycyA9IHN0YXRpYzo6Y29udmVydEhleFRvUkdCKCRjb2xvcik7DQoNCiAgICAgICAgJGltYWdlID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkaGVpZ2h0KTsNCiAgICAgICAgaW1hZ2VzYXZlYWxwaGEoJGltYWdlLCB0cnVlKTsNCiAgICAgICAgJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGltYWdlLCAkUkdCQ29sb3JzWyJSIl0sICRSR0JDb2xvcnNbIkciXSwgJFJHQkNvbG9yc1siQiJdLCAkb3BhY2l0eSk7DQogICAgICAgIGltYWdlZmlsbCgkaW1hZ2UsIDAsIDAsICRjb2xvcik7DQoNCiAgICAgICAgcmV0dXJuICRpbWFnZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXNpemUgdGhlIGxheWVyIGJ5IHNwZWNpZnlpbmcgcGl4ZWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdXaWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdIZWlnaHQNCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbg0KICAgICAqIA0KICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbA0KICAgICAqIA0KICAgICAqICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbiBjYW4gYmUgaWdub3JlZCB1bmxlc3MgeW91IGNob29zZSBhIG5ldyB3aWR0aCBBTkQgYSBuZXcgaGVpZ2h0IEFORCB0byBjb25zZXJ2ZSBwcm9wb3J0aW9uLg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVJblBpeGVsKCRuZXdXaWR0aCA9IG51bGwsICRuZXdIZWlnaHQgPSBudWxsLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gJ01NJykNCiAgICB7DQogICAgICAgICR0aGlzLT5yZXNpemUoJ3BpeGVsJywgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY29udmVyc2VQcm9wb3J0aW9uLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJlc2l6ZSB0aGUgbGF5ZXIgYnkgc3BlY2lmeWluZyBhIHBlcmNlbnQNCiAgICAgKg0KICAgICAqIEBwYXJhbSBmbG9hdCAkcGVyY2VudFdpZHRoDQogICAgICogQHBhcmFtIGZsb2F0ICRwZXJjZW50SGVpZ2h0DQogICAgICogQHBhcmFtIGJvb2xlYW4gJGNvbnZlcnNlUHJvcG9ydGlvbg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24NCiAgICAgKiANCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKiANCiAgICAgKiAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24gY2FuIGJlIGlnbm9yZWQgdW5sZXNzIHlvdSBjaG9vc2UgYSBuZXcgd2lkdGggQU5EIGEgbmV3IGhlaWdodCBBTkQgdG8gY29uc2VydmUgcHJvcG9ydGlvbi4NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplSW5QZXJjZW50KCRwZXJjZW50V2lkdGggPSBudWxsLCAkcGVyY2VudEhlaWdodCA9IG51bGwsICRjb252ZXJzZVByb3BvcnRpb24gPSBmYWxzZSwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAnTU0nKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnJlc2l6ZShzZWxmOjpVTklUX1BFUkNFTlQsICRwZXJjZW50V2lkdGgsICRwZXJjZW50SGVpZ2h0LCAkY29udmVyc2VQcm9wb3J0aW9uLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBSZXNpemUgdGhlIGxheWVyDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IFVzZSBvbmUgb2YgYFVOSVRfKmAgY29uc3RhbnRzLCAiVU5JVF9QSVhFTCIgYnkgZGVmYXVsdA0KICAgICAqIEBwYXJhbSBmbG9hdCAkcGVyY2VudFdpZHRoDQogICAgICogQHBhcmFtIGZsb2F0ICRwZXJjZW50SGVpZ2h0DQogICAgICogQHBhcmFtIGJvb2xlYW4gJGNvbnZlcnNlUHJvcG9ydGlvbg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24NCiAgICAgKiANCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKiANCiAgICAgKiAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24gY2FuIGJlIGlnbm9yZWQgdW5sZXNzIHlvdSBjaG9vc2UgYSBuZXcgd2lkdGggQU5EIGEgbmV3IGhlaWdodCBBTkQgdG8gY29uc2VydmUgcHJvcG9ydGlvbi4NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplKCR1bml0ID0gc2VsZjo6VU5JVF9QSVhFTCwgJG5ld1dpZHRoID0gbnVsbCwgJG5ld0hlaWdodCA9IG51bGwsICRjb252ZXJzZVByb3BvcnRpb24gPSBmYWxzZSwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAnTU0nKQ0KICAgIHsNCiAgICAgICAgaWYgKCRuZXdXaWR0aCB8fCAkbmV3SGVpZ2h0KSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmICgkdW5pdCA9PSBzZWxmOjpVTklUX1BFUkNFTlQpIHsNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICBpZiAoJG5ld1dpZHRoKSB7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkbmV3V2lkdGggPSByb3VuZCgoJG5ld1dpZHRoIC8gMTAwKSAqICR0aGlzLT53aWR0aCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGlmICgkbmV3SGVpZ2h0KSB7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkbmV3SGVpZ2h0ID0gcm91bmQoKCRuZXdIZWlnaHQgLyAxMDApICogJHRoaXMtPmhlaWdodCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGlmICgkY29udmVyc2VQcm9wb3J0aW9uKSB7IC8vIFByb3BvcnRpb24gYXJlIGNvbnNlcnZlZA0KDQogICAgICAgICAgICAgICAgaWYgKCRuZXdXaWR0aCAmJiAkbmV3SGVpZ2h0KSB7IC8vIFByb3BvcnRpb25zICsgJG5ld1dpZHRoICsgJG5ld0hlaWdodA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpID4gJHRoaXMtPmdldEhlaWdodCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdXaWR0aCwgbnVsbCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0SGVpZ2h0KCkgPiAkbmV3SGVpZ2h0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJlc2l6ZUluUGl4ZWwobnVsbCwgJG5ld0hlaWdodCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJlc2l6ZUluUGl4ZWwobnVsbCwgJG5ld0hlaWdodCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0V2lkdGgoKSA+ICRuZXdXaWR0aCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdXaWR0aCwgbnVsbCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Z2V0V2lkdGgoKSAhPSAkbmV3V2lkdGggfHwgJHRoaXMtPmdldEhlaWdodCgpICE9ICRuZXdIZWlnaHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wID0gbmV3IHN0YXRpYyhhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnID0+ICRuZXdXaWR0aCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JyA9PiAkbmV3SGVpZ2h0LA0KICAgICAgICAgICAgICAgICAgICAgICAgKSk7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRsYXllclRtcC0+YWRkTGF5ZXIoMSwgJHRoaXMsIHJvdW5kKCRwb3NpdGlvblggKiAoJG5ld1dpZHRoIC8gMTAwKSksIHJvdW5kKCRwb3NpdGlvblkgKiAoJG5ld0hlaWdodCAvIDEwMCkpLCAkcG9zaXRpb24pOw0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+d2lkdGggPSAkbGF5ZXJUbXAtPmdldFdpZHRoKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aGVpZ2h0ID0gJGxheWVyVG1wLT5nZXRIZWlnaHQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJMZXZlbHMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyUG9zaXRpb25zKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllcnMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGxheWVyVG1wLT5nZXRJbWFnZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzID0gJGxheWVyVG1wLT5nZXRMYXllckxldmVscygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zID0gJGxheWVyVG1wLT5nZXRMYXllclBvc2l0aW9ucygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVycyA9ICRsYXllclRtcC0+Z2V0TGF5ZXJzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkbGF5ZXJUbXApOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkbmV3V2lkdGgpIHsNCg0KICAgICAgICAgICAgICAgICAgICAkd2lkdGhSZXNpemVQZXJjZW50ID0gJG5ld1dpZHRoIC8gKCR0aGlzLT53aWR0aCAvIDEwMCk7DQoNCiAgICAgICAgICAgICAgICAgICAgJG5ld0hlaWdodCA9IHJvdW5kKCgkd2lkdGhSZXNpemVQZXJjZW50IC8gMTAwKSAqICR0aGlzLT5oZWlnaHQpOw0KICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0UmVzaXplUGVyY2VudCA9ICR3aWR0aFJlc2l6ZVBlcmNlbnQ7DQoNCiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJG5ld0hlaWdodCkgew0KDQogICAgICAgICAgICAgICAgICAgICRoZWlnaHRSZXNpemVQZXJjZW50ID0gJG5ld0hlaWdodCAvICgkdGhpcy0+aGVpZ2h0IC8gMTAwKTsNCg0KICAgICAgICAgICAgICAgICAgICAkbmV3V2lkdGggPSByb3VuZCgoJGhlaWdodFJlc2l6ZVBlcmNlbnQgLyAxMDApICogJHRoaXMtPndpZHRoKTsNCiAgICAgICAgICAgICAgICAgICAgJHdpZHRoUmVzaXplUGVyY2VudCA9ICRoZWlnaHRSZXNpemVQZXJjZW50Ow0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfSBlbHNlaWYgKCgkbmV3V2lkdGggJiYgISRuZXdIZWlnaHQpIHx8ICghJG5ld1dpZHRoICYmICRuZXdIZWlnaHQpKSB7IC8vIE5ldyB3aWR0aCBPUiBuZXcgaGVpZ2h0IGlzIGdpdmVuDQoNCiAgICAgICAgICAgICAgICBpZiAoJG5ld1dpZHRoKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJHdpZHRoUmVzaXplUGVyY2VudCA9ICRuZXdXaWR0aCAvICgkdGhpcy0+d2lkdGggLyAxMDApOw0KDQogICAgICAgICAgICAgICAgICAgICRoZWlnaHRSZXNpemVQZXJjZW50ID0gMTAwOw0KICAgICAgICAgICAgICAgICAgICAkbmV3SGVpZ2h0ID0gJHRoaXMtPmhlaWdodDsNCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJGhlaWdodFJlc2l6ZVBlcmNlbnQgPSAkbmV3SGVpZ2h0IC8gKCR0aGlzLT5oZWlnaHQgLyAxMDApOw0KDQogICAgICAgICAgICAgICAgICAgICR3aWR0aFJlc2l6ZVBlcmNlbnQgPSAxMDA7DQogICAgICAgICAgICAgICAgICAgICRuZXdXaWR0aCA9ICR0aGlzLT53aWR0aDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0gZWxzZSB7IC8vIE5ldyB3aWR0aCBBTkQgbmV3IGhlaWdodCBhcmUgZ2l2ZW4NCg0KICAgICAgICAgICAgICAgICR3aWR0aFJlc2l6ZVBlcmNlbnQgPSAkbmV3V2lkdGggLyAoJHRoaXMtPndpZHRoIC8gMTAwKTsNCg0KICAgICAgICAgICAgICAgICRoZWlnaHRSZXNpemVQZXJjZW50ID0gJG5ld0hlaWdodCAvICgkdGhpcy0+aGVpZ2h0IC8gMTAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBsYXllciBwb3NpdGlvbnMgaW4gdGhlIHN0YWNrDQoNCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllclBvc2l0aW9ucyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXJQb3NpdGlvbikgew0KDQogICAgICAgICAgICAgICAgJG5ld1Bvc1ggPSByb3VuZCgoJHdpZHRoUmVzaXplUGVyY2VudCAvIDEwMCkgKiAkbGF5ZXJQb3NpdGlvblsneCddKTsNCiAgICAgICAgICAgICAgICAkbmV3UG9zWSA9IHJvdW5kKCgkaGVpZ2h0UmVzaXplUGVyY2VudCAvIDEwMCkgKiAkbGF5ZXJQb3NpdGlvblsneSddKTsNCg0KICAgICAgICAgICAgICAgICR0aGlzLT5jaGFuZ2VQb3NpdGlvbigkbGF5ZXJJZCwgJG5ld1Bvc1gsICRuZXdQb3NZKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gUmVzaXplIGxheWVycyBpbiB0aGUgc3RhY2sNCg0KICAgICAgICAgICAgJGxheWVycyA9ICR0aGlzLT5sYXllcnM7DQoNCiAgICAgICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsNCg0KICAgICAgICAgICAgICAgICRsYXllci0+cmVzaXplSW5QZXJjZW50KCR3aWR0aFJlc2l6ZVBlcmNlbnQsICRoZWlnaHRSZXNpemVQZXJjZW50KTsNCiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJzWyRrZXldID0gJGxheWVyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBSZXNpemUgdGhlIGxheWVyDQoNCiAgICAgICAgICAgICR0aGlzLT5yZXNpemVCYWNrZ3JvdW5kKCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXNpemUgdGhlIGxheWVyIGJ5IGl0cyBsYXJnZXN0IHNpZGUgYnkgc3BlY2lmeWluZyBwaXhlbA0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJG5ld0xhcmdlc3RTaWRlV2lkdGgNCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsKCRuZXdMYXJnZXN0U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpDQogICAgew0KICAgICAgICAkdGhpcy0+cmVzaXplQnlMYXJnZXN0U2lkZSgncGl4ZWwnLCAkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbGFyZ2VzdCBzaWRlIGJ5IHNwZWNpZnlpbmcgcGVyY2VudA0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJG5ld0xhcmdlc3RTaWRlV2lkdGggcGVyY2VudA0KICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudCgkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbiA9IGZhbHNlKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPnJlc2l6ZUJ5TGFyZ2VzdFNpZGUoc2VsZjo6VU5JVF9QRVJDRU5ULCAkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbGFyZ2VzdCBzaWRlDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0DQogICAgICogQHBhcmFtIGludGVnZXIgJG5ld0xhcmdlc3RTaWRlV2lkdGggcGVyY2VudA0KICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplQnlMYXJnZXN0U2lkZSgkdW5pdCA9IHNlbGY6OlVOSVRfUElYRUwsICRuZXdMYXJnZXN0U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpDQogICAgew0KICAgICAgICBpZiAoJHVuaXQgPT0gc2VsZjo6VU5JVF9QRVJDRU5UKSB7DQoNCiAgICAgICAgICAgICRuZXdMYXJnZXN0U2lkZVdpZHRoID0gcm91bmQoKCRuZXdMYXJnZXN0U2lkZVdpZHRoIC8gMTAwKSAqICR0aGlzLT5nZXRMYXJnZXN0U2lkZVdpZHRoKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpID4gJHRoaXMtPmdldEhlaWdodCgpKSB7DQoNCiAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdMYXJnZXN0U2lkZVdpZHRoLCBudWxsLCAkY29udmVyc2VQcm9wb3J0aW9uKTsNCg0KICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAkdGhpcy0+cmVzaXplSW5QaXhlbChudWxsLCAkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXNpemUgdGhlIGxheWVyIGJ5IGl0cyBuYXJyb3cgc2lkZSBieSBzcGVjaWZ5aW5nIHBpeGVsDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3TmFycm93U2lkZVdpZHRoDQogICAgICogQHBhcmFtIGJvb2xlYW4gJGNvbnZlcnNlUHJvcG9ydGlvbg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsKCRuZXdOYXJyb3dTaWRlV2lkdGgsICRjb252ZXJzZVByb3BvcnRpb24gPSBmYWxzZSkNCiAgICB7DQogICAgICAgICR0aGlzLT5yZXNpemVCeU5hcnJvd1NpZGUoJ3BpeGVsJywgJG5ld05hcnJvd1NpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbmFycm93IHNpZGUgYnkgc3BlY2lmeWluZyBwZXJjZW50DQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3TmFycm93U2lkZVdpZHRoIHBlcmNlbnQNCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCgkbmV3TmFycm93U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpDQogICAgew0KICAgICAgICAkdGhpcy0+cmVzaXplQnlOYXJyb3dTaWRlKHNlbGY6OlVOSVRfUEVSQ0VOVCwgJG5ld05hcnJvd1NpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbmFycm93IHNpZGUNCiAgICAgKg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3TmFycm93U2lkZVdpZHRoDQogICAgICogQHBhcmFtIGJvb2xlYW4gJGNvbnZlcnNlUHJvcG9ydGlvbg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVCeU5hcnJvd1NpZGUoJHVuaXQgPSAicGl4ZWwiLCAkbmV3TmFycm93U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpDQogICAgew0KICAgICAgICBpZiAoJHVuaXQgPT0gc2VsZjo6VU5JVF9QRVJDRU5UKSB7DQoNCiAgICAgICAgICAgICRuZXdOYXJyb3dTaWRlV2lkdGggPSByb3VuZCgoJG5ld05hcnJvd1NpZGVXaWR0aCAvIDEwMCkgKiAkdGhpcy0+Z2V0TmFycm93U2lkZVdpZHRoKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpIDwgJHRoaXMtPmdldEhlaWdodCgpKSB7DQoNCiAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdOYXJyb3dTaWRlV2lkdGgsIG51bGwsICRjb252ZXJzZVByb3BvcnRpb24pOw0KDQogICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKG51bGwsICRuZXdOYXJyb3dTaWRlV2lkdGgsICRjb252ZXJzZVByb3BvcnRpb24pOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ3JvcCB0aGUgZG9jdW1lbnQgYnkgc3BlY2lmeWluZyBwaXhlbHMNCiAgICAgKg0KICAgICAqICRiYWNrZ3JvdW5kQ29sb3I6IGNhbiBiZSBzZXQgdHJhbnNwYXJlbnQgKFRoZSBzY3JpcHQgd2lsbCBiZSBsb25nZXIgdG8gZXhlY3V0ZSkNCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BJblBpeGVsKCR3aWR0aCA9IDAsICRoZWlnaHQgPSAwLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikNCiAgICB7DQogICAgICAgICR0aGlzLT5jcm9wKCJwaXhlbCIsICR3aWR0aCwgJGhlaWdodCwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHBvc2l0aW9uLCAkYmFja2dyb3VuZENvbG9yKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDcm9wIHRoZSBkb2N1bWVudCBieSBzcGVjaWZ5aW5nIHBlcmNlbnQNCiAgICAgKg0KICAgICAqICRiYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB0cmFuc3BhcmVudCAoYnV0IHNjcmlwdCBjb3VsZCBiZSBsb25nIHRvIGV4ZWN1dGUpDQogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sDQogICAgICoNCiAgICAgKiBAcGFyYW0gZmxvYXQgJHBlcmNlbnRXaWR0aA0KICAgICAqIEBwYXJhbSBmbG9hdCAkcGVyY2VudEhlaWdodA0KICAgICAqIEBwYXJhbSBmbG9hdCAkcG9zaXRpb25YUGVyY2VudA0KICAgICAqIEBwYXJhbSBmbG9hdCAkcG9zaXRpb25ZUGVyY2VudA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BJblBlcmNlbnQoJHBlcmNlbnRXaWR0aCA9IDAsICRwZXJjZW50SGVpZ2h0ID0gMCwgJHBvc2l0aW9uWFBlcmNlbnQgPSAwLCAkcG9zaXRpb25ZUGVyY2VudCA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikNCiAgICB7DQogICAgICAgICR0aGlzLT5jcm9wKHNlbGY6OlVOSVRfUEVSQ0VOVCwgJHBlcmNlbnRXaWR0aCwgJHBlcmNlbnRIZWlnaHQsICRwb3NpdGlvblhQZXJjZW50LCAkcG9zaXRpb25ZUGVyY2VudCwgJHBvc2l0aW9uLCAkYmFja2dyb3VuZENvbG9yKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDcm9wIHRoZSBkb2N1bWVudA0KICAgICAqDQogICAgICogJGJhY2tncm91bmRDb2xvciBjYW4gYmUgc2V0IHRyYW5zcGFyZW50IChidXQgc2NyaXB0IGNvdWxkIGJlIGxvbmcgdG8gZXhlY3V0ZSkNCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgVXNlIG9uZSBvZiBgVU5JVF8qYCBjb25zdGFudHMsICJVTklUX1BJWEVMIiBieSBkZWZhdWx0DQogICAgICogQHBhcmFtIGZsb2F0ICR3aWR0aA0KICAgICAqIEBwYXJhbSBmbG9hdCAkaGVpZ2h0DQogICAgICogQHBhcmFtIGZsb2F0ICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gZmxvYXQgJHBvc2l0aW9uWQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3AoJHVuaXQgPSBzZWxmOjpVTklUX1BJWEVMLCAkd2lkdGggPSAwLCAkaGVpZ2h0ID0gMCwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAiTFQiLCAkYmFja2dyb3VuZENvbG9yID0gImZmZmZmZiIpDQogICAgew0KICAgICAgICBpZiAoJHVuaXQgPT0gc2VsZjo6VU5JVF9QRVJDRU5UKSB7DQoNCiAgICAgICAgICAgICR3aWR0aCA9IHJvdW5kKCgkd2lkdGggLyAxMDApICogJHRoaXMtPndpZHRoKTsNCiAgICAgICAgICAgICRoZWlnaHQgPSByb3VuZCgoJGhlaWdodCAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsNCg0KICAgICAgICAgICAgJHBvc2l0aW9uWCA9IHJvdW5kKCgkcG9zaXRpb25YIC8gMTAwKSAqICR0aGlzLT53aWR0aCk7DQogICAgICAgICAgICAkcG9zaXRpb25ZID0gcm91bmQoKCRwb3NpdGlvblkgLyAxMDApICogJHRoaXMtPmhlaWdodCk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGlmICgoJHdpZHRoICE9ICR0aGlzLT53aWR0aCB8fCAkcG9zaXRpb25YID09IDApIHx8ICgkaGVpZ2h0ICE9ICR0aGlzLT5oZWlnaHQgfHwgJHBvc2l0aW9uWSA9PSAwKSkgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAkbGF5ZXJUbXAgPSBuZXcgc3RhdGljKGFycmF5KA0KICAgICAgICAgICAgICAgICd3aWR0aCcgPT4gJHdpZHRoLA0KICAgICAgICAgICAgICAgICdoZWlnaHQnID0+ICRoZWlnaHQsDQogICAgICAgICAgICAgICAgJ2JhY2tncm91bmRDb2xvcicgPT4gJGJhY2tncm91bmRDb2xvciwNCiAgICAgICAgICAgICkpOw0KICAgICAgICAgICAgDQogICAgICAgICAgICAkbGF5ZXJDbG9uZSA9IG5ldyBzdGF0aWMoYXJyYXkoDQogICAgICAgICAgICAgICAgJ3dpZHRoJyA9PiAkdGhpcy0+d2lkdGgsDQogICAgICAgICAgICAgICAgJ2hlaWdodCcgPT4gJHRoaXMtPmhlaWdodCwNCiAgICAgICAgICAgICkpOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpbWFnZWRlc3Ryb3koJGxheWVyQ2xvbmUtPmltYWdlKTsNCiAgICAgICAgICAgICRsYXllckNsb25lLT5pbWFnZSA9ICR0aGlzLT5pbWFnZTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgJGxheWVyVG1wLT5hZGRMYXllcigxLCAkbGF5ZXJDbG9uZSwgLSRwb3NpdGlvblgsIC0kcG9zaXRpb25ZLCAkcG9zaXRpb24pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICAkbmV3UG9zID0gJGxheWVyVG1wLT5nZXRMYXllclBvc2l0aW9ucygpOw0KICAgICAgICAgICAgJGxheWVyTmV3UG9zWCA9ICRuZXdQb3NbMV1bJ3gnXTsNCiAgICAgICAgICAgICRsYXllck5ld1Bvc1kgPSAkbmV3UG9zWzFdWyd5J107DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgbGF5ZXINCiAgICAgICAgICAgICR0aGlzLT53aWR0aCA9ICRsYXllclRtcC0+Z2V0V2lkdGgoKTsNCiAgICAgICAgICAgICR0aGlzLT5oZWlnaHQgPSAkbGF5ZXJUbXAtPmdldEhlaWdodCgpOw0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGxheWVyVG1wLT5nZXRSZXN1bHQoKTsNCiAgICAgICAgICAgIHVuc2V0KCRsYXllclRtcCk7DQogICAgICAgICAgICB1bnNldCgkbGF5ZXJDbG9uZSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgICR0aGlzLT51cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyQ3JvcHBpbmcoJGxheWVyTmV3UG9zWCwgJGxheWVyTmV3UG9zWSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDcm9wIHRoZSBtYXhpbXVtIHBvc3NpYmxlIGZyb20gbGVmdCB0b3AgKCJMVCIpLCAiUlQiLi4uIGJ5IHNwZWNpZnlpbmcgYSBzaGlmdCBpbiBwaXhlbA0KICAgICAqDQogICAgICogJGJhY2tncm91bmRDb2xvciBjYW4gYmUgc2V0IHRyYW5zcGFyZW50IChidXQgc2NyaXB0IGNvdWxkIGJlIGxvbmcgdG8gZXhlY3V0ZSkNCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BNYXhpbXVtSW5QaXhlbCgkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikNCiAgICB7DQogICAgICAgICR0aGlzLT5jcm9wTWF4aW11bShzZWxmOjpVTklUX1BJWEVMLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENyb3AgdGhlIG1heGltdW0gcG9zc2libGUgZnJvbSBsZWZ0IHRvcCAoIkxUIiksICJSVCIuLi4gYnkgc3BlY2lmeWluZyBhIHNoaWZ0IGluIHBlcmNlbnQNCiAgICAgKg0KICAgICAqICRiYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB0cmFuc3BhcmVudCAoYnV0IHNjcmlwdCBjb3VsZCBiZSBsb25nIHRvIGV4ZWN1dGUpDQogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkd2lkdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkaGVpZ2h0DQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWFBlcmNlbnQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZUGVyY2VudA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BNYXhpbXVtSW5QZXJjZW50KCRwb3NpdGlvblhQZXJjZW50ID0gMCwgJHBvc2l0aW9uWVBlcmNlbnQgPSAwLCAkcG9zaXRpb24gPSAiTFQiLCAkYmFja2dyb3VuZENvbG9yID0gImZmZmZmZiIpDQogICAgew0KICAgICAgICAkdGhpcy0+Y3JvcE1heGltdW0oc2VsZjo6VU5JVF9QRVJDRU5ULCAkcG9zaXRpb25YUGVyY2VudCwgJHBvc2l0aW9uWVBlcmNlbnQsICRwb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvcik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ3JvcCB0aGUgbWF4aW11bSBwb3NzaWJsZSBmcm9tIGxlZnQgdG9wDQogICAgICoNCiAgICAgKiAkYmFja2dyb3VuZENvbG9yIGNhbiBiZSBzZXQgdHJhbnNwYXJlbnQgKGJ1dCBzY3JpcHQgY291bGQgYmUgbG9uZyB0byBleGVjdXRlKQ0KICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbA0KICAgICAqDQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BNYXhpbXVtKCR1bml0ID0gInBpeGVsIiwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAiTFQiLCAkYmFja2dyb3VuZENvbG9yID0gImZmZmZmZiIpDQogICAgew0KICAgICAgICAkbmFycm93U2lkZSA9ICR0aGlzLT5nZXROYXJyb3dTaWRlV2lkdGgoKTsNCiAgICAgICAgaWYgKCR1bml0ID09IHNlbGY6OlVOSVRfUEVSQ0VOVCkgew0KDQogICAgICAgICAgICAkcG9zaXRpb25YID0gcm91bmQoKCRwb3NpdGlvblggLyAxMDApICogJHRoaXMtPndpZHRoKTsNCiAgICAgICAgICAgICRwb3NpdGlvblkgPSByb3VuZCgoJHBvc2l0aW9uWSAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsNCiAgICAgICAgfQ0KDQogICAgICAgICR0aGlzLT5jcm9wSW5QaXhlbCgkbmFycm93U2lkZSwgJG5hcnJvd1NpZGUsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvcik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUm90YXRlIGxheWVyDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRkZWdyZWUNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcm90YXRlTGF5ZXIoJGxheWVySWQsICRkZWdyZWUpDQogICAgew0KICAgICAgICAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+cm90YXRlKCRkZWdyZWUpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJvdGF0ZSB0aGUgbGF5ZXIgKGluIGRlZ3JlZSkNCiAgICAgKg0KICAgICAqIEBwYXJhbSBmbG9hdCAkZGVncmVlcw0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiByb3RhdGUoJGRlZ3JlZXMpDQogICAgew0KICAgICAgICBpZiAoJGRlZ3JlZXMgIT0gMCkgew0KDQogICAgICAgICAgICBpZiAoJGRlZ3JlZXMgPCAtMzYwIHx8ICRkZWdyZWVzID4gMzYwKSB7DQoNCiAgICAgICAgICAgICAgICAkZGVncmVlcyA9ICRkZWdyZWVzICUgMzYwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoJGRlZ3JlZXMgPCAwICYmICRkZWdyZWVzID49IC0zNjApIHsNCg0KICAgICAgICAgICAgICAgICRkZWdyZWVzID0gMzYwICsgJGRlZ3JlZXM7DQogICAgICAgICAgICB9DQoNCgkJCS8vIFJvdGF0ZSB0aGUgbGF5ZXIgYmFja2dyb3VuZCBpbWFnZQ0KICAgICAgICAgICAgJGltYWdlUm90YXRlZCA9IGltYWdlcm90YXRlKCR0aGlzLT5pbWFnZSwgLSRkZWdyZWVzLCAtMSk7DQogICAgICAgICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJGltYWdlUm90YXRlZCwgdHJ1ZSk7DQogICAgICAgICAgICBpbWFnZXNhdmVhbHBoYSgkaW1hZ2VSb3RhdGVkLCB0cnVlKTsNCg0KICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsNCg0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGltYWdlUm90YXRlZDsNCg0KICAgICAgICAgICAgJG9sZFdpZHRoID0gJHRoaXMtPndpZHRoOw0KICAgICAgICAgICAgJG9sZEhlaWdodCA9ICR0aGlzLT5oZWlnaHQ7DQoNCiAgICAgICAgICAgICR0aGlzLT53aWR0aCA9IGltYWdlc3goJHRoaXMtPmltYWdlKTsNCiAgICAgICAgICAgICR0aGlzLT5oZWlnaHQgPSBpbWFnZXN5KCR0aGlzLT5pbWFnZSk7DQoNCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllcnMgYXMgJGxheWVySWQgPT4gJGxheWVyKSB7DQoNCiAgICAgICAgICAgICAgICAkbGF5ZXJTZWxmT2xkQ2VudGVyUG9zaXRpb24gPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgIngiID0+ICRsYXllci0+d2lkdGggLyAyLA0KICAgICAgICAgICAgICAgICAgICAieSIgPT4gJGxheWVyLT5oZWlnaHQgLyAyLA0KICAgICAgICAgICAgICAgICk7DQoNCiAgICAgICAgICAgICAgICAkc21hbGxJbWFnZUNlbnRlciA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAieCIgPT4gJGxheWVyU2VsZk9sZENlbnRlclBvc2l0aW9uWyJ4Il0gKyAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ4Il0sDQogICAgICAgICAgICAgICAgICAgICJ5IiA9PiAkbGF5ZXJTZWxmT2xkQ2VudGVyUG9zaXRpb25bInkiXSArICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bInkiXSwNCiAgICAgICAgICAgICAgICApOw0KDQogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPnJvdGF0ZSgkZGVncmVlcyk7DQoNCiAgICAgICAgICAgICAgICAkcm8gPSBzcXJ0KHBvdygkc21hbGxJbWFnZUNlbnRlclsieCJdLCAyKSArIHBvdygkc21hbGxJbWFnZUNlbnRlclsieSJdLCAyKSk7DQoNCiAgICAgICAgICAgICAgICAkdGV0YSA9IChhY29zKCRzbWFsbEltYWdlQ2VudGVyWyJ4Il0gLyAkcm8pKSAqIDE4MCAvIHBpKCk7DQoNCiAgICAgICAgICAgICAgICAkYSA9ICRybyAqIGNvcygoJHRldGEgKyAkZGVncmVlcykgKiBwaSgpIC8gMTgwKTsNCiAgICAgICAgICAgICAgICAkYiA9ICRybyAqIHNpbigoJHRldGEgKyAkZGVncmVlcykgKiBwaSgpIC8gMTgwKTsNCg0KICAgICAgICAgICAgICAgIGlmICgkZGVncmVlcyA+IDAgJiYgJGRlZ3JlZXMgPD0gOTApIHsNCg0KICAgICAgICAgICAgICAgICAgICAkbmV3UG9zaXRpb25YID0gJGEgLSAoJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPndpZHRoIC8gMikgKyAkb2xkSGVpZ2h0ICogc2luKCgkZGVncmVlcyAqIHBpKCkpIC8gMTgwKTsNCiAgICAgICAgICAgICAgICAgICAgJG5ld1Bvc2l0aW9uWSA9ICRiIC0gKCR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5oZWlnaHQgLyAyKTsNCg0KICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkZGVncmVlcyA+IDkwICYmICRkZWdyZWVzIDw9IDE4MCkgew0KDQogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblggPSAkYSAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+d2lkdGggLyAyKSArICR0aGlzLT53aWR0aDsNCiAgICAgICAgICAgICAgICAgICAgJG5ld1Bvc2l0aW9uWSA9ICRiIC0gKCR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5oZWlnaHQgLyAyKSArICRvbGRIZWlnaHQgKiAoLWNvcygoJGRlZ3JlZXMpICogcGkoKSAvIDE4MCkpOw0KDQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRkZWdyZWVzID4gMTgwICYmICRkZWdyZWVzIDw9IDI3MCkgew0KDQogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblggPSAkYSAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+d2lkdGggLyAyKSArICRvbGRXaWR0aCAqICgtY29zKCgkZGVncmVlcykgKiBwaSgpIC8gMTgwKSk7DQogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblkgPSAkYiAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+aGVpZ2h0IC8gMikgKyAkdGhpcy0+aGVpZ2h0Ow0KDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgICAgICAkbmV3UG9zaXRpb25YID0gJGEgLSAoJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPndpZHRoIC8gMik7DQogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblkgPSAkYiAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+aGVpZ2h0IC8gMikgKyAkb2xkV2lkdGggKiAoLXNpbigoJGRlZ3JlZXMpICogcGkoKSAvIDE4MCkpOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF0gPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgIngiID0+ICRuZXdQb3NpdGlvblgsDQogICAgICAgICAgICAgICAgICAgICJ5IiA9PiAkbmV3UG9zaXRpb25ZLA0KICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDaGFuZ2UgdGhlIG9wYWNpdHkgb2YgYSBsYXllcg0KICAgICAqICRyZWN1cnNpdmU6IGFwcGx5IGl0IG9uIHN1YmxheWVycw0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkb3BhY2l0eQ0KICAgICAqIEBwYXJhbSBib29sZWFuICRyZWN1cnNpdmUNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gbGF5ZXJPcGFjaXR5KCRsYXllcklkLCAkb3BhY2l0eSwgJHJlY3Vyc2l2ZSA9IHRydWUpDQogICAgew0KICAgICAgICAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+b3BhY2l0eSgkb3BhY2l0eSwgJHJlY3Vyc2l2ZSk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ2hhbmdlIHRoZSBvcGFjaXR5IG9mIHRoZSBsYXllcg0KICAgICAqICRyZWN1cnNpdmU6IGFwcGx5IGl0IG9uIHN1YmxheWVycw0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJG9wYWNpdHkNCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkcmVjdXJzaXZlDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIG9wYWNpdHkoJG9wYWNpdHksICRyZWN1cnNpdmUgPSB0cnVlKQ0KICAgIHsNCiAgICAgICAgaWYgKCRyZWN1cnNpdmUpIHsNCg0KICAgICAgICAgICAgJGxheWVycyA9ICR0aGlzLT5sYXllcnM7DQoNCiAgICAgICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsNCg0KICAgICAgICAgICAgICAgICRsYXllci0+b3BhY2l0eSgkb3BhY2l0eSwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyc1ska2V5XSA9ICRsYXllcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICR0cmFuc3BhcmVudEltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT5nZXRXaWR0aCgpLCAkdGhpcy0+Z2V0SGVpZ2h0KCkpOw0KDQogICAgICAgIHN0YXRpYzo6aW1hZ2Vjb3B5bWVyZ2VhbHBoYSgkdHJhbnNwYXJlbnRJbWFnZSwgJHRoaXMtPmltYWdlLCAwLCAwLCAwLCAwLCAkdGhpcy0+Z2V0V2lkdGgoKSwgJHRoaXMtPmdldEhlaWdodCgpLCAkb3BhY2l0eSk7DQoNCiAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsNCiAgICAgICAgJHRoaXMtPmltYWdlID0gJHRyYW5zcGFyZW50SW1hZ2U7DQogICAgICAgIHVuc2V0KCR0cmFuc3BhcmVudEltYWdlKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBBZGQgYSB0ZXh0IG9uIHRoZSBiYWNrZ3JvdW5kIGltYWdlIG9mIHRoZSBsYXllciB1c2luZyBhIGRlZmF1bHQgZm9udCByZWdpc3RlcmVkIGluIEdEDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0DQogICAgICogQHBhcmFtIGludGVnZXIgJGZvbnQNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIHN0cmluZyAkYWxpZ24NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gd3JpdGVUZXh0KCR0ZXh0LCAkZm9udCA9IDEsICRjb2xvciA9ICJmZmZmZmYiLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRhbGlnbiA9ICJob3Jpem9udGFsIikNCiAgICB7DQogICAgICAgICRSR0JUZXh0Q29sb3IgPSBzdGF0aWM6OmNvbnZlcnRIZXhUb1JHQigkY29sb3IpOw0KICAgICAgICAkdGV4dENvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbWFnZSwgJFJHQlRleHRDb2xvclsiUiJdLCAkUkdCVGV4dENvbG9yWyJHIl0sICRSR0JUZXh0Q29sb3JbIkIiXSk7DQoNCiAgICAgICAgaWYgKCRhbGlnbiA9PSAiaG9yaXpvbnRhbCIpIHsNCg0KICAgICAgICAgICAgaW1hZ2VzdHJpbmcoJHRoaXMtPmltYWdlLCAkZm9udCwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHRleHQsICR0ZXh0Q29sb3IpOw0KDQogICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgIGltYWdlc3RyaW5ndXAoJHRoaXMtPmltYWdlLCAkZm9udCwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHRleHQsICR0ZXh0Q29sb3IpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQWRkIGEgdGV4dCBvbiB0aGUgYmFja2dyb3VuZCBpbWFnZSBvZiB0aGUgbGF5ZXIgdXNpbmcgYSBmb250IGxvY2FsaXplZCBhdCAkZm9udFBhdGgNCiAgICAgKiBSZXR1cm4gdGhlIHRleHQgY29vcmRvbmF0ZXMNCiAgICAgKg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZm9udFBhdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZm9udFNpemUNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICogQHBhcmFtIGludGVnZXIgJGZvbnRSb3RhdGlvbg0KICAgICAqDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiB3cml0ZSgkdGV4dCwgJGZvbnRQYXRoLCAkZm9udFNpemUgPSAxMywgJGNvbG9yID0gImZmZmZmZiIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJGZvbnRSb3RhdGlvbiA9IDApDQogICAgew0KICAgICAgICAkUkdCVGV4dENvbG9yID0gc3RhdGljOjpjb252ZXJ0SGV4VG9SR0IoJGNvbG9yKTsNCiAgICAgICAgJHRleHRDb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW1hZ2UsICRSR0JUZXh0Q29sb3JbIlIiXSwgJFJHQlRleHRDb2xvclsiRyJdLCAkUkdCVGV4dENvbG9yWyJCIl0pOw0KDQogICAgICAgIHJldHVybiBpbWFnZXR0ZnRleHQoJHRoaXMtPmltYWdlLCAkZm9udFNpemUsICRmb250Um90YXRpb24sICRwb3NpdGlvblgsICRwb3NpdGlvblksICR0ZXh0Q29sb3IsICRmb250UGF0aCwgJHRleHQpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJldHVybiBhIG1lcmdlZCByZXNvdXJjZSBpbWFnZQ0KICAgICAqDQogICAgICogJGJhY2tncm91bmRDb2xvciBpcyByZWFsbHkgdXNlZnVsbCBpZiB5b3Ugd2FudCB0byBzYXZlIGEgSlBHIG9yIEdJRiwgYmVjYXVzZSB0aGUgdHJhbnNwYXJlbmN5IG9mIHRoZSBiYWNrZ3JvdW5kDQogICAgICogd291bGQgYmUgcmVtb3ZlIGZvciBhIGNvbG9yZWQgYmFja2dyb3VuZCwgc28geW91IHNob3VsZCBjaG9vc2UgYSBjb2xvciBsaWtlICJmZmZmZmYiICh3aGl0ZSkNCiAgICAgKg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcg0KICAgICAqDQogICAgICogQHJldHVybiByZXNvdXJjZQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXN1bHQoJGJhY2tncm91bmRDb2xvciA9IG51bGwpDQogICAgew0KICAgICAgICAkaW1hZ2VzVG9NZXJnZSA9IGFycmF5KCk7DQoNCiAgICAgICAga3NvcnQoJHRoaXMtPmxheWVyTGV2ZWxzKTsNCg0KICAgICAgICBmb3JlYWNoICgkdGhpcy0+bGF5ZXJMZXZlbHMgYXMgJGxheWVyTGV2ZWwgPT4gJGxheWVySWQpIHsNCg0KICAgICAgICAgICAgJGltYWdlc1RvTWVyZ2VbJGxheWVyTGV2ZWxdID0gJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmdldFJlc3VsdCgpOw0KDQogICAgICAgICAgICAvLyBMYXllciBwb3NpdGlvbnMNCiAgICAgICAgICAgIGlmICgkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ4Il0gIT0gMCB8fCAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il0gIT0gMCkgew0KDQogICAgICAgICAgICAgICAgJHZpcmdpbkxheW91dEltYWdlVG1wID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7DQogICAgICAgICAgICAgICAgc3RhdGljOjptZXJnZVR3b0ltYWdlcygkdmlyZ2luTGF5b3V0SW1hZ2VUbXAsICRpbWFnZXNUb01lcmdlWyRsYXllckxldmVsXSwgJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsieCJdLCAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il0sIDAsIDApOw0KICAgICAgICAgICAgICAgICRpbWFnZXNUb01lcmdlWyRsYXllckxldmVsXSA9ICR2aXJnaW5MYXlvdXRJbWFnZVRtcDsNCiAgICAgICAgICAgICAgICB1bnNldCgkdmlyZ2luTGF5b3V0SW1hZ2VUbXApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgJGl0ZXJhdG9yID0gMTsNCiAgICAgICAgJG1lcmdlZEltYWdlID0gJHRoaXMtPmltYWdlOw0KICAgICAgICBrc29ydCgkaW1hZ2VzVG9NZXJnZSk7DQoNCiAgICAgICAgZm9yZWFjaCAoJGltYWdlc1RvTWVyZ2UgYXMgJGltYWdlTGV2ZWwgPT4gJGltYWdlKSB7DQoNCiAgICAgICAgICAgIHN0YXRpYzo6bWVyZ2VUd29JbWFnZXMoJG1lcmdlZEltYWdlLCAkaW1hZ2UpOw0KDQogICAgICAgICAgICAkaXRlcmF0b3IrKzsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgJG9wYWNpdHkgPSAxMjc7DQogICAgICAgIA0KICAgICAgICBpZiAoJGJhY2tncm91bmRDb2xvciAmJiAkYmFja2dyb3VuZENvbG9yICE9ICd0cmFuc3BhcmVudCcpIHsNCiAgICAgICAgICAgICRvcGFjaXR5ID0gMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgJGJhY2tncm91bmRJbWFnZSA9IHN0YXRpYzo6Z2VuZXJhdGVJbWFnZSgkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQsICRiYWNrZ3JvdW5kQ29sb3IsICRvcGFjaXR5KTsNCiAgICAgICAgc3RhdGljOjptZXJnZVR3b0ltYWdlcygkYmFja2dyb3VuZEltYWdlLCAkbWVyZ2VkSW1hZ2UpOw0KICAgICAgICAkbWVyZ2VkSW1hZ2UgPSAkYmFja2dyb3VuZEltYWdlOw0KICAgICAgICB1bnNldCgkYmFja2dyb3VuZEltYWdlKTsNCg0KICAgICAgICByZXR1cm4gJG1lcmdlZEltYWdlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNhdmUgdGhlIHJlc3VsdGluZyBpbWFnZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGgNCiAgICAgKg0KICAgICAqICRiYWNrZ3JvdW5kQ29sb3IgaXMgcmVhbGx5IHVzZWZ1bGwgaWYgeW91IHdhbnQgdG8gc2F2ZSBhIEpQRyBvciBHSUYsIGJlY2F1c2UgdGhlIHRyYW5zcGFyZW5jeSBvZiB0aGUgYmFja2dyb3VuZA0KICAgICAqIHdvdWxkIGJlIHJlbW92ZSBmb3IgYSBjb2xvcmVkIGJhY2tncm91bmQsIHNvIHlvdSBzaG91bGQgY2hvb3NlIGEgY29sb3IgbGlrZSAiZmZmZmZmIiAod2hpdGUpDQogICAgICoNCiAgICAgKiBJZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cywgaXQgd2lsbCBiZSBvdmVycmlkZSAhDQogICAgICoNCiAgICAgKiAkaW1hZ2VRdWFsaXR5IGlzIHVzZWxlc3MgZm9yIEdJRg0KICAgICAqDQogICAgICogRXg6ICRmb2xkZXIgPSBfX0RJUl9fLiIvLi4vd2ViL2ltYWdlcy8yMDEyIg0KICAgICAqICAgICAkaW1hZ2VOYW1lID0gImJ1dHRlcmZseS5qcGciDQogICAgICogICAgICRjcmVhdGVGb2xkZXJzID0gdHJ1ZQ0KICAgICAqICAgICAkaW1hZ2VRdWFsaXR5ID0gOTUNCiAgICAgKiAgICAgJGJhY2tncm91bmRDb2xvciA9ICJmZmZmZmYiDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb2xkZXINCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpbWFnZU5hbWUNCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY3JlYXRlRm9sZGVycw0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRpbWFnZVF1YWxpdHkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgkZm9sZGVyLCAkaW1hZ2VOYW1lLCAkY3JlYXRlRm9sZGVycyA9IHRydWUsICRiYWNrZ3JvdW5kQ29sb3IgPSBudWxsLCAkaW1hZ2VRdWFsaXR5ID0gNzUpDQogICAgew0KICAgICAgICBpZiAoIWlzX2ZpbGUoJGZvbGRlcikpIHsNCg0KICAgICAgICAgICAgaWYgKGlzX2RpcigkZm9sZGVyKSB8fCAkY3JlYXRlRm9sZGVycykgew0KDQogICAgICAgICAgICAgICAgLy8gQ3JlYXRpbmcgdGhlIGZvbGRlcnMgaWYgdGhleSBkb24ndCBleGlzdA0KICAgICAgICAgICAgICAgIGlmICghaXNfZGlyKCRmb2xkZXIpICYmICRjcmVhdGVGb2xkZXJzKSB7DQogICAgICAgICAgICAgICAgICAgICRvbGRVbWFzayA9IHVtYXNrKDApOw0KICAgICAgICAgICAgICAgICAgICBta2RpcigkZm9sZGVyLCAwNzc3LCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgdW1hc2soJG9sZFVtYXNrKTsNCiAgICAgICAgICAgICAgICAgICAgY2htb2QoJGZvbGRlciwgMDc3Nyk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgJGV4dGVuc2lvbiA9IGV4cGxvZGUoIi4iLCAkaW1hZ2VOYW1lKTsNCiAgICAgICAgICAgICAgICAkZXh0ZW5zaW9uID0gc3RydG9sb3dlcigkZXh0ZW5zaW9uW2NvdW50KCRleHRlbnNpb24pIC0gMV0pOw0KDQogICAgICAgICAgICAgICAgJGZpbGVuYW1lID0gJGZvbGRlci4iLyIuJGltYWdlTmFtZTsNCg0KICAgICAgICAgICAgICAgIGlmICgoJGV4dGVuc2lvbiA9PSAianBnIiB8fCAkZXh0ZW5zaW9uID09ICJqcGVnIiB8fCAkZXh0ZW5zaW9uID09ICJnaWYiKSAmJiAoISRiYWNrZ3JvdW5kQ29sb3IgfHwgJGJhY2tncm91bmRDb2xvciA9PSAidHJhbnNwYXJlbnQiKSkgew0KICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZENvbG9yID0gImZmZmZmZiI7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgJGltYWdlID0gJHRoaXMtPmdldFJlc3VsdCgkYmFja2dyb3VuZENvbG9yKTsNCg0KICAgICAgICAgICAgICAgIGlmICgkZXh0ZW5zaW9uID09ICJqcGciIHx8ICRleHRlbnNpb24gPT0gImpwZWciKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2VqcGVnKCRpbWFnZSwgJGZpbGVuYW1lLCAkaW1hZ2VRdWFsaXR5KTsNCiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGltYWdlKTsNCg0KICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkZXh0ZW5zaW9uID09ICJnaWYiKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2VnaWYoJGltYWdlLCAkZmlsZW5hbWUpOw0KICAgICAgICAgICAgICAgICAgICB1bnNldCgkaW1hZ2UpOw0KDQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRleHRlbnNpb24gPT0gInBuZyIpIHsNCg0KICAgICAgICAgICAgICAgICAgICAkaW1hZ2VRdWFsaXR5ID0gJGltYWdlUXVhbGl0eSAvIDEwOw0KICAgICAgICAgICAgICAgICAgICAkaW1hZ2VRdWFsaXR5IC09IDE7DQoNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2VwbmcoJGltYWdlLCAkZmlsZW5hbWUsICRpbWFnZVF1YWxpdHkpOw0KICAgICAgICAgICAgICAgICAgICB1bnNldCgkaW1hZ2UpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFwcGx5IGEgZmlsdGVyIG9uIHRoZSBsYXllcg0KICAgICAqIEJlIGNhcmVmdWw6IHNvbWUgZmlsdGVycyBjYW4gZGFtYWdlIHRyYW5zcGFyZW50IGltYWdlcywgdXNlIGl0IHNwYXJpbmdseSAhIChBIGdvb2QgcHJhdGljZSBpcyB0byB1c2UgbWVyZ2VBbGwgb24geW91ciBsYXllciBiZWZvcmUgYXBwbHlpbmcgYSBmaWx0ZXIpDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ICRmaWx0ZXJUeXBlIChodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmltYWdlZmlsdGVyLnBocCkNCiAgICAgKiBAcGFyYW0gaW50ICRhcmcxDQogICAgICogQHBhcmFtIGludCAkYXJnMg0KICAgICAqIEBwYXJhbSBpbnQgJGFyZzMNCiAgICAgKiBAcGFyYW0gaW50ICRhcmc0DQogICAgICogQHBhcmFtIGJvb2xlYW4gJHJlY3Vyc2l2ZQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBhcHBseUZpbHRlcigkZmlsdGVyVHlwZSwgJGFyZzEgPSBudWxsLCAkYXJnMiA9IG51bGwsICRhcmczID0gbnVsbCwgJGFyZzQgPSBudWxsLCAkcmVjdXJzaXZlID0gZmFsc2UpDQogICAgew0KICAgICAgICBpZiAoJGZpbHRlclR5cGUgPT0gSU1HX0ZJTFRFUl9DT0xPUklaRSkgew0KICAgICAgICAgICAgDQogICAgICAgICAgICBpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2UsICRmaWx0ZXJUeXBlLCAkYXJnMSwgJGFyZzIsICRhcmczLCAkYXJnNCk7DQogICAgICAgICAgICANCiAgICAgICAgfSBlbHNlaWYgKCRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfQlJJR0hUTkVTUyB8fCAkZmlsdGVyVHlwZSA9PSBJTUdfRklMVEVSX0NPTlRSQVNUIHx8ICRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfU01PT1RIKSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZSwgJGZpbHRlclR5cGUsICRhcmcxKTsNCiAgICAgICAgDQogICAgICAgIH0gZWxzZWlmICgkZmlsdGVyVHlwZSA9PSBJTUdfRklMVEVSX1BJWEVMQVRFKSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZSwgJGZpbHRlclR5cGUsICRhcmcxLCAkYXJnMik7DQogICAgICAgICAgICANCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlLCAkZmlsdGVyVHlwZSk7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJHJlY3Vyc2l2ZSkgew0KDQogICAgICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsNCg0KICAgICAgICAgICAgZm9yZWFjaCgkbGF5ZXJzIGFzICRsYXllcklkID0+ICRsYXllcikgew0KDQogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmFwcGx5RmlsdGVyKCRmaWx0ZXJUeXBlLCAkYXJnMSwgJGFyZzIsICRhcmczLCAkYXJnNCwgdHJ1ZSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXR1cm4gdGhlIG5hcnJvdyBzaWRlIHdpZHRoIG9mIHRoZSBsYXllcg0KICAgICAqDQogICAgICogQHJldHVybiBpbnRlZ2VyDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldE5hcnJvd1NpZGVXaWR0aCgpDQogICAgew0KICAgICAgICAkbmFycm93U2lkZVdpZHRoID0gJHRoaXMtPmdldFdpZHRoKCk7DQoNCiAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWlnaHQoKSA8ICRuYXJyb3dTaWRlV2lkdGgpIHsNCg0KICAgICAgICAgICAgJG5hcnJvd1NpZGVXaWR0aCA9ICR0aGlzLT5nZXRIZWlnaHQoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkbmFycm93U2lkZVdpZHRoOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJldHVybiB0aGUgbGFyZ2VzdCBzaWRlIHdpZHRoIG9mIHRoZSBsYXllcg0KICAgICAqDQogICAgICogQHJldHVybiBpbnRlZ2VyDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldExhcmdlc3RTaWRlV2lkdGgoKQ0KICAgIHsNCiAgICAgICAgJGxhcmdlc3RTaWRlV2lkdGggPSAkdGhpcy0+Z2V0V2lkdGgoKTsNCg0KICAgICAgICBpZiAoJHRoaXMtPmdldEhlaWdodCgpID4gJGxhcmdlc3RTaWRlV2lkdGgpIHsNCg0KICAgICAgICAgICAgJGxhcmdlc3RTaWRlV2lkdGggPSAkdGhpcy0+Z2V0SGVpZ2h0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGxhcmdlc3RTaWRlV2lkdGg7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIENoYW5nZSB0aGUgcG9zaXRpb24gb2YgYSBzdWJsYXllciBmb3IgbmV3IHBvc2l0aW9ucw0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3UG9zWA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdQb3NZDQogICAgICoNCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4NCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gY2hhbmdlUG9zaXRpb24oJGxheWVySWQsICRuZXdQb3NYID0gbnVsbCwgJG5ld1Bvc1kgPSBudWxsKQ0KICAgIHsNCiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sNCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKCRuZXdQb3NYICE9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsneCddID0gJG5ld1Bvc1g7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmICgkbmV3UG9zWSAhPT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bJ3knXSA9ICRuZXdQb3NZOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQogICAgDQogICAgLyoqDQogICAgICogQXBwbHkgYSB0cmFuc2xhdGlvbiBvbiBhIHN1YmxheWVyIHRoYXQgY2hhbmdlIGl0cyBwb3NpdGlvbnMNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkDQogICAgICogQHBhcmFtIGludGVnZXIgJGFkZGVkUG9zWA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRhZGRlZFBvc1kNCiAgICAgKg0KICAgICAqIEByZXR1cm4gbWl4ZWQgKGFycmF5IG9mIG5ldyBwb3NpdGlvbnMgb3IgZmFsc2UgaWYgZmFpbCkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gYXBwbHlUcmFuc2xhdGlvbigkbGF5ZXJJZCwgJGFkZGVkUG9zWCA9IG51bGwsICRhZGRlZFBvc1kgPSBudWxsKQ0KICAgIHsNCiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sNCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKCRhZGRlZFBvc1ggIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyd4J10gKz0gJGFkZGVkUG9zWDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKCRhZGRlZFBvc1kgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyd5J10gKz0gJGFkZGVkUG9zWTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIEFwcGx5IGhvcml6b250YWwgb3IgdmVydGljYWwgZmxpcC4gKFRyYW5zZm9ybWF0aW9uKQ0KICAgICAqIA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZmxpcCgkdHlwZSA9ICdob3Jpem9udGFsJykNCiAgICB7DQogICAgICAgICRsYXllcnMgPSAkdGhpcy0+bGF5ZXJzOw0KDQogICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsNCg0KICAgICAgICAgICAgJGxheWVyLT5mbGlwKCR0eXBlKTsNCiAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJGtleV0gPSAkbGF5ZXI7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICR0ZW1wID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7DQogICAgICAgIA0KICAgICAgICBpZiAoJHR5cGUgPT0gJ2hvcml6b250YWwnKSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGltYWdlY29weXJlc2FtcGxlZCgkdGVtcCwgJHRoaXMtPmltYWdlLCAwLCAwLCAkdGhpcy0+d2lkdGggLSAxLCAwLCAkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQsIC0kdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQpOw0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJHRlbXA7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllclBvc2l0aW9ucyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXJQb3NpdGlvbnMpIHsNCiAgICANCiAgICAgICAgICAgICAgICAkdGhpcy0+Y2hhbmdlUG9zaXRpb24oJGxheWVySWQsICR0aGlzLT53aWR0aCAtICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5nZXRXaWR0aCgpIC0gJGxheWVyUG9zaXRpb25zWyd4J10sICRsYXllclBvc2l0aW9uc1sneSddKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICB9IGVsc2VpZiAoJHR5cGUgPT0gJ3ZlcnRpY2FsJykgew0KICAgICAgICAgICAgDQogICAgICAgICAgICBpbWFnZWNvcHlyZXNhbXBsZWQoJHRlbXAsICR0aGlzLT5pbWFnZSwgMCwgMCwgMCwgJHRoaXMtPmhlaWdodCAtIDEsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJHRoaXMtPndpZHRoLCAtJHRoaXMtPmhlaWdodCk7DQogICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSAkdGVtcDsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxheWVyUG9zaXRpb25zIGFzICRsYXllcklkID0+ICRsYXllclBvc2l0aW9ucykgew0KICAgIA0KICAgICAgICAgICAgICAgICR0aGlzLT5jaGFuZ2VQb3NpdGlvbigkbGF5ZXJJZCwgJGxheWVyUG9zaXRpb25zWyd4J10sICR0aGlzLT5oZWlnaHQgLSAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+Z2V0SGVpZ2h0KCkgLSAkbGF5ZXJQb3NpdGlvbnNbJ3knXSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHVuc2V0KCR0ZW1wKTsNCiAgICB9DQoNCiAgICAvLyBJbnRlcm5hbHMNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFVwZGF0ZSB0aGUgcG9zaXRpb25zIG9mIGxheWVycyBpbiB0aGUgc3RhY2sgYWZ0ZXIgY3JvcHBpbmcNCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJDcm9wcGluZygkcG9zaXRpb25YLCAkcG9zaXRpb25ZKQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxheWVycyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXIpIHsNCg0KICAgICAgICAgICAgJG9sZExheWVyUG9zWCA9ICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bIngiXTsNCiAgICAgICAgICAgICRvbGRMYXllclBvc1kgPSAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il07DQoNCiAgICAgICAgICAgICRuZXdMYXllclBvc1ggPSAkb2xkTGF5ZXJQb3NYICsgJHBvc2l0aW9uWDsNCiAgICAgICAgICAgICRuZXdMYXllclBvc1kgPSAkb2xkTGF5ZXJQb3NZICsgJHBvc2l0aW9uWTsNCg0KICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgICR0aGlzLT5jaGFuZ2VQb3NpdGlvbigkbGF5ZXJJZCwgJG5ld0xheWVyUG9zWCwgJG5ld0xheWVyUG9zWSk7DQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgLyoqDQogICAgICogUmVzaXplIHRoZSBiYWNrZ3JvdW5kIG9mIGEgbGF5ZXINCiAgICAgKg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdXaWR0aA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdIZWlnaHQNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplQmFja2dyb3VuZCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpDQogICAgew0KICAgICAgICAkb2xkV2lkdGggPSAkdGhpcy0+d2lkdGg7DQogICAgICAgICRvbGRIZWlnaHQgPSAkdGhpcy0+aGVpZ2h0Ow0KDQogICAgICAgICR0aGlzLT53aWR0aCA9ICRuZXdXaWR0aDsNCiAgICAgICAgJHRoaXMtPmhlaWdodCA9ICRuZXdIZWlnaHQ7DQoNCiAgICAgICAgJHZpcmdpbkxheW91dEltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7DQoNCiAgICAgICAgaW1hZ2Vjb3B5cmVzYW1wbGVkKCR2aXJnaW5MYXlvdXRJbWFnZSwgJHRoaXMtPmltYWdlLCAwLCAwLCAwLCAwLCAkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQsICRvbGRXaWR0aCwgJG9sZEhlaWdodCk7DQoNCiAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsNCiAgICAgICAgJHRoaXMtPmltYWdlID0gJHZpcmdpbkxheW91dEltYWdlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENhbGxlZCB0byBpbml0aWFsaXplIGEgdmlyZ2luIGltYWdlIHZhcg0KICAgICAqDQogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGluaXRpYWxpemVJbWFnZSgkYmFja2dyb3VuZENvbG9yID0gbnVsbCkNCiAgICB7DQogICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7DQoNCiAgICAgICAgaWYgKCRiYWNrZ3JvdW5kQ29sb3IpIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJGJhY2tncm91bmRDb2xvciwgMCk7DQoNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDYWxsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgaW1hZ2UgdmFyIGZyb20gYSBnaXZlbiBwYXRoDQogICAgICogKFVwZGF0ZSBsYXllciB3aWR0aCBhbmQgaGVpZ2h0KQ0KICAgICAqDQogICAgICogQHBhcmFtIFN0cmluZyAkcGF0aA0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBpbml0aWFsaXplSW1hZ2VGcm9tKCRwYXRoKQ0KICAgIHsNCiAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsNCg0KICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGgpKSB7DQoNCiAgICAgICAgICAgICRpbWFnZVNpemVJbmZvcyA9IGdldGltYWdlc2l6ZSgkcGF0aCk7DQoNCiAgICAgICAgICAgICR0aGlzLT53aWR0aCA9ICRpbWFnZVNpemVJbmZvc1swXTsNCiAgICAgICAgICAgICR0aGlzLT5oZWlnaHQgPSAkaW1hZ2VTaXplSW5mb3NbMV07DQoNCiAgICAgICAgICAgICRtaW1lQ29udGVudFR5cGUgPSBleHBsb2RlKCIvIiwgJGltYWdlU2l6ZUluZm9zWyJtaW1lIl0pOw0KICAgICAgICAgICAgJG1pbWVDb250ZW50VHlwZSA9ICRtaW1lQ29udGVudFR5cGVbMV07DQoNCiAgICAgICAgICAgIHN3aXRjaCAoJG1pbWVDb250ZW50VHlwZSkgew0KICAgICAgICAgICAgICAgIGNhc2UgImpwZWciOg0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSBpbWFnZWNyZWF0ZWZyb21qcGVnKCRwYXRoKTsNCiAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgICAgIGNhc2UgImdpZiI6DQogICAgICAgICAgICAgICAgICAgICR0aGlzLT5pbWFnZSA9IGltYWdlY3JlYXRlZnJvbWdpZigkcGF0aCk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgICAgICAgICAgICBjYXNlICJwbmciOg0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJHBhdGgpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEltYWdlV29ya3Nob3BFeGNlcHRpb24oJ05vdCBhbiBpbWFnZSBmaWxlIChqcGVnL3BuZy9naWYpIGF0ICInLiRwYXRoLiciJywgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfTk9UX0FOX0lNQUdFX0ZJTEUpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbignTm8gc3VjaCBmaWxlIGZvdW5kIGF0ICInLiRwYXRoLiciJywgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfSU1BR0VfTk9UX0ZPVU5EKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENhbGxlZCB0byBpbml0aWFsaXplIHRoZSBpbWFnZSB2YXIgZnJvbSBhIHBocCBpbWFnZSB2YXINCiAgICAgKiAoVXBkYXRlIGxheWVyIHdpZHRoIGFuZCBoZWlnaHQpDQogICAgICoNCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJGltYWdlDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGluaXRpYWxpemVJbWFnZVdpdGgoJGltYWdlKQ0KICAgIHsNCiAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsNCg0KICAgICAgICBpZiAoZ2V0dHlwZSgkaW1hZ2UpICE9ICJyZXNvdXJjZSIpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBJbWFnZVdvcmtzaG9wRXhjZXB0aW9uKCJZb3UgbXVzdCBnaXZlIGEgcGhwIGltYWdlIHZhciBieSB1c2luZyBpbml0aWFsaXplSW1hZ2VXaXRoIiwgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfUEhQX0lNQUdFX1ZBUl9OT1RfVVNFRCk7DQogICAgICAgIH0NCg0KICAgICAgICAkdGhpcy0+d2lkdGggPSBpbWFnZXN4KCRpbWFnZSk7DQogICAgICAgICR0aGlzLT5oZWlnaHQgPSBpbWFnZXN5KCRpbWFnZSk7DQogICAgICAgICR0aGlzLT5pbWFnZSA9ICRpbWFnZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDYWxsZWQgdG8gaW5pdGlhbGl6ZSBhIHRleHQgbGF5ZXINCiAgICAgKiAoVXBkYXRlIGxheWVyIHdpZHRoIGFuZCBoZWlnaHQpDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0DQogICAgICogQHBhcmFtIHN0cmluZyAkZm9udFBhdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZm9udFNpemUNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb250Q29sb3INCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkdGV4dFJvdGF0aW9uDQogICAgICogQHBhcmFtIGludGVnZXIgJGJhY2tncm91bmRDb2xvcg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBpbml0aWFsaXplVGV4dEltYWdlKCR0ZXh0LCAkZm9udFBhdGgsICRmb250U2l6ZSA9IDEzLCAkZm9udENvbG9yID0gImZmZmZmZiIsICR0ZXh0Um90YXRpb24gPSAwLCAkYmFja2dyb3VuZENvbG9yID0gbnVsbCkNCiAgICB7DQogICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7DQoNCiAgICAgICAgJHRleHREaW1lbnNpb25zID0gSW1hZ2VXb3Jrc2hvcDo6Z2V0VGV4dEJveERpbWVuc2lvbigkZm9udFNpemUsICR0ZXh0Um90YXRpb24sICRmb250UGF0aCwgJHRleHQpOw0KDQogICAgICAgICR0aGlzLT53aWR0aCA9ICR0ZXh0RGltZW5zaW9uc1sid2lkdGgiXTsNCiAgICAgICAgJHRoaXMtPmhlaWdodCA9ICR0ZXh0RGltZW5zaW9uc1siaGVpZ2h0Il07DQoNCiAgICAgICAgaWYgKCRiYWNrZ3JvdW5kQ29sb3IpIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJGJhY2tncm91bmRDb2xvciwgMCk7DQoNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7DQogICAgICAgIH0NCg0KICAgICAgICAkdGhpcy0+d3JpdGUoJHRleHQsICRmb250UGF0aCwgJGZvbnRTaXplLCAkZm9udENvbG9yLCAkdGV4dERpbWVuc2lvbnNbImxlZnQiXSwgJHRleHREaW1lbnNpb25zWyJ0b3AiXSwgJHRleHRSb3RhdGlvbik7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogSW5kZXggYSBzdWJsYXllciBpbiB0aGUgbGF5ZXIgc3RhY2sNCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIHN1YmxheWVyIGlkIGFuZCBpdHMgY29ycmVjdGVkIGxldmVsOg0KICAgICAqIGFycmF5KCJsYXllckxldmVsIiA9PiBpbnRlZ2VyLCAiaWQiID0+IGludGVnZXIpDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJMZXZlbA0KICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wTGF5ZXIgJGxheWVyDQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbg0KICAgICAqDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbmRleExheWVyKCRsYXllckxldmVsLCAkbGF5ZXIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uKQ0KICAgIHsNCiAgICAgICAgLy8gQ2hvb3NlIGFuIGlkIGZvciB0aGUgYWRkZWQgbGF5ZXINCiAgICAgICAgJGxheWVySWQgPSAkdGhpcy0+bGFzdExheWVySWQgKyAxOw0KDQogICAgICAgIC8vIENsb25lICRsYXllciB0byBkdXBsaWNhdGUgaW1hZ2UgcmVzb3VyY2UgdmFyDQogICAgICAgICRsYXllciA9IGNsb25lICRsYXllcjsNCg0KICAgICAgICAvLyBBZGQgdGhlIGxheWVyIGluIHRoZSBzdGFjaw0KICAgICAgICAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXSA9ICRsYXllcjsNCg0KICAgICAgICAvLyBBZGQgdGhlIGxheWVyIHBvc2l0aW9ucyBpbiB0aGUgbWFpbiBsYXllcg0KICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdID0gc3RhdGljOjpjYWxjdWxhdGVQb3NpdGlvbnMoJHRoaXMtPmdldFdpZHRoKCksICR0aGlzLT5nZXRIZWlnaHQoKSwgJGxheWVyLT5nZXRXaWR0aCgpLCAkbGF5ZXItPmdldEhlaWdodCgpLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOw0KDQogICAgICAgIC8vIFVwZGF0ZSB0aGUgbGFzdExheWVySWQgb2YgdGhlIHdvcmtzaG9wDQogICAgICAgICR0aGlzLT5sYXN0TGF5ZXJJZCA9ICRsYXllcklkOw0KDQogICAgICAgIC8vIEFkZCB0aGUgbGF5ZXIgbGV2ZWwgaW4gdGhlIHN0YWNrDQogICAgICAgICRsYXllckxldmVsID0gJHRoaXMtPmluZGV4TGV2ZWxJbkRvY3VtZW50KCRsYXllckxldmVsLCAkbGF5ZXJJZCk7DQoNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgImxheWVyTGV2ZWwiID0+ICRsYXllckxldmVsLA0KICAgICAgICAgICAgImlkIiA9PiAkbGF5ZXJJZCwNCiAgICAgICAgKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBJbmRleCBhIGxheWVyIGxldmVsIGFuZCB1cGRhdGUgdGhlIGxheWVycyBsZXZlbHMgaW4gdGhlIGRvY3VtZW50DQogICAgICogUmV0dXJuIHRoZSBjb3JyZWN0ZWQgbGV2ZWwgb2YgdGhlIGxheWVyDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJMZXZlbA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkDQogICAgICoNCiAgICAgKiBAcmV0dXJuIGludGVnZXINCiAgICAgKi8NCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5kZXhMZXZlbEluRG9jdW1lbnQoJGxheWVyTGV2ZWwsICRsYXllcklkKQ0KICAgIHsNCiAgICAgICAgLy8gTGV2ZWwgYWxyZWFkeSBleGlzdHMNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGxheWVyTGV2ZWwsICR0aGlzLT5sYXllckxldmVscykpIHsNCg0KICAgICAgICAgICAgLy8gQWxsIGxheWVycyBhZnRlciB0aGlzIGxldmVsIGFuZCB0aGUgbGF5ZXIgd2hpY2ggaGF2ZSB0aGlzIGxldmVsIGFyZSB1cGRhdGVkDQogICAgICAgICAgICBrc29ydCgkdGhpcy0+bGF5ZXJMZXZlbHMpOw0KICAgICAgICAgICAgJGxheWVyTGV2ZWxzVG1wID0gJHRoaXMtPmxheWVyTGV2ZWxzOw0KDQogICAgICAgICAgICBmb3JlYWNoICgkbGF5ZXJMZXZlbHNUbXAgYXMgJGxldmVsVG1wID0+ICRsYXllcklkVG1wKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoJGxldmVsVG1wID49ICRsYXllckxldmVsKSB7DQogICAgICAgICAgICAgICAgICAgICR0aGlzLT5sYXllckxldmVsc1skbGV2ZWxUbXAgKyAxXSA9ICRsYXllcklkVG1wOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdW5zZXQoJGxheWVyTGV2ZWxzVG1wKTsNCg0KICAgICAgICB9IGVsc2UgeyAvLyBMZXZlbCBpc24ndCB0YWtlbg0KDQogICAgICAgICAgICAvLyBJZiBnaXZlbiBsZXZlbCBpcyB0b28gaGlnaCwgcHJvY2VlZCBhZGp1c3RlbWVudA0KICAgICAgICAgICAgaWYgKCR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCA8ICRsYXllckxldmVsKSB7DQogICAgICAgICAgICAgICAgJGxheWVyTGV2ZWwgPSAkdGhpcy0+aGlnaGVzdExheWVyTGV2ZWwgKyAxOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWyRsYXllckxldmVsXSA9ICRsYXllcklkOw0KDQogICAgICAgIC8vIFVwZGF0ZSAkaGlnaGVzdExheWVyTGV2ZWwNCiAgICAgICAgJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsID0gbWF4KGFycmF5X2ZsaXAoJHRoaXMtPmxheWVyTGV2ZWxzKSk7DQoNCiAgICAgICAgcmV0dXJuICRsYXllckxldmVsOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIERlbGV0ZSB0aGUgY3VycmVudCBvYmplY3QNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkNCiAgICB7DQogICAgICAgIGltYWdlZGVzdHJveSgkdGhpcy0+aW1hZ2UpOw0KICAgICAgICAkdGhpcy0+Y2xlYXJTdGFjaygpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIE1lcmdlIHR3byBpbWFnZSB2YXINCiAgICAgKg0KICAgICAqIEBwYXJhbSByZXNvdXJjZSAkZGVzdGluYXRpb25JbWFnZQ0KICAgICAqIEBwYXJhbSByZXNvdXJjZSAkc291cmNlSW1hZ2UNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZGVzdGluYXRpb25Qb3NYDQogICAgICogQHBhcmFtIGludGVnZXIgJGRlc3RpbmF0aW9uUG9zWQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRzb3VyY2VQb3NYDQogICAgICogQHBhcmFtIGludGVnZXIgJHNvdXJjZVBvc1kNCiAgICAgKi8NCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG1lcmdlVHdvSW1hZ2VzKCYkZGVzdGluYXRpb25JbWFnZSwgJHNvdXJjZUltYWdlLCAkZGVzdGluYXRpb25Qb3NYID0gMCwgJGRlc3RpbmF0aW9uUG9zWSA9IDAsICRzb3VyY2VQb3NYID0gMCwgJHNvdXJjZVBvc1kgPSAwKQ0KICAgIHsNCiAgICAgICAgaW1hZ2Vjb3B5KCRkZXN0aW5hdGlvbkltYWdlLCAkc291cmNlSW1hZ2UsICRkZXN0aW5hdGlvblBvc1gsICRkZXN0aW5hdGlvblBvc1ksICRzb3VyY2VQb3NYLCAkc291cmNlUG9zWSwgaW1hZ2VTWCgkc291cmNlSW1hZ2UpLCBpbWFnZVNZKCRzb3VyY2VJbWFnZSkpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENvbnZlcnQgSGV4IGNvbG9yIHRvIFJHQiBjb2xvciBmb3JtYXQNCiAgICAgKg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGhleA0KICAgICAqDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29udmVydEhleFRvUkdCKCRoZXgpDQogICAgew0KICAgICAgICByZXR1cm4gYXJyYXkoDQogICAgICAgICAgICAiUiIgPT4gYmFzZV9jb252ZXJ0KHN1YnN0cigkaGV4LCAwLCAyKSwgMTYsIDEwKSwNCiAgICAgICAgICAgICJHIiA9PiBiYXNlX2NvbnZlcnQoc3Vic3RyKCRoZXgsIDIsIDIpLCAxNiwgMTApLA0KICAgICAgICAgICAgIkIiID0+IGJhc2VfY29udmVydChzdWJzdHIoJGhleCwgNCwgMiksIDE2LCAxMCksDQogICAgICAgICk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ29weSBhbiBpbWFnZSBvbiBhbm90aGVyIG9uZSBhbmQgY29udmVyc2UgdHJhbnNwYXJlbmN5DQogICAgICoNCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJGRlc3RJbWcNCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHNyY0ltZw0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRkZXN0WA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRkZXN0WQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRzcmNYDQogICAgICogQHBhcmFtIGludGVnZXIgJHNyY1kNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkc3JjVw0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRzcmNIDQogICAgICogQHBhcmFtIGludGVnZXIgJHBjdA0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW1hZ2Vjb3B5bWVyZ2VhbHBoYSgmJGRlc3RJbWcsICYkc3JjSW1nLCAkZGVzdFgsICRkZXN0WSwgJHNyY1gsICRzcmNZLCAkc3JjVywgJHNyY0gsICRwY3QgPSAwKQ0KICAgIHsNCiAgICAgICAgJGRlc3RYID0gKGludCkgJGRlc3RYOw0KICAgICAgICAkZGVzdFkgPSAoaW50KSAkZGVzdFk7DQogICAgICAgICRzcmNYID0gKGludCkgJHNyY1g7DQogICAgICAgICRzcmNZID0gKGludCkgJHNyY1k7DQogICAgICAgICRzcmNXID0gKGludCkgJHNyY1c7DQogICAgICAgICRzcmNIID0gKGludCkgJHNyY0g7DQogICAgICAgICRwY3QgPSAoaW50KSAkcGN0Ow0KICAgICAgICAkZGVzdFcgPSBpbWFnZXN4KCRkZXN0SW1nKTsNCiAgICAgICAgJGRlc3RIID0gaW1hZ2VzeSgkZGVzdEltZyk7DQoNCiAgICAgICAgZm9yICgkeSA9IDA7ICR5IDwgJHNyY0ggKyAkc3JjWTsgJHkrKykgew0KDQogICAgICAgICAgICBmb3IgKCR4ID0gMDsgJHggPCAkc3JjVyArICRzcmNYOyAkeCsrKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoJHggKyAkZGVzdFggPj0gMCAmJiAkeCArICRkZXN0WCA8ICRkZXN0VyAmJiAkeCArICRzcmNYID49IDAgJiYgJHggKyAkc3JjWCA8ICRzcmNXICYmICR5ICsgJGRlc3RZID49IDAgJiYgJHkgKyAkZGVzdFkgPCAkZGVzdEggJiYgJHkgKyAkc3JjWSA+PSAwICYmICR5ICsgJHNyY1kgPCAkc3JjSCkgew0KDQogICAgICAgICAgICAgICAgICAgICRkZXN0UGl4ZWwgPSBpbWFnZWNvbG9yc2ZvcmluZGV4KCRkZXN0SW1nLCBpbWFnZWNvbG9yYXQoJGRlc3RJbWcsICR4ICsgJGRlc3RYLCAkeSArICRkZXN0WSkpOw0KICAgICAgICAgICAgICAgICAgICAkc3JjSW1nQ29sb3JhdCA9IGltYWdlY29sb3JhdCgkc3JjSW1nLCAkeCArICRzcmNYLCAkeSArICRzcmNZKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGlmICgkc3JjSW1nQ29sb3JhdCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkc3JjUGl4ZWwgPSBpbWFnZWNvbG9yc2ZvcmluZGV4KCRzcmNJbWcsICRzcmNJbWdDb2xvcmF0KTsNCiAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRzcmNBbHBoYSA9IDEgLSAoJHNyY1BpeGVsWydhbHBoYSddIC8gMTI3KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRkZXN0QWxwaGEgPSAxIC0gKCRkZXN0UGl4ZWxbJ2FscGhhJ10gLyAxMjcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJG9wYWNpdHkgPSAkc3JjQWxwaGEgKiAkcGN0IC8gMTAwOw0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRkZXN0QWxwaGEgPj0gJG9wYWNpdHkpIHsNCiAgICAJCQkJCQkkYWxwaGEgPSAkZGVzdEFscGhhOw0KICAgIAkJCQkJfQ0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRkZXN0QWxwaGEgPCAkb3BhY2l0eSkgew0KICAgIAkJCQkJCSRhbHBoYSA9ICRvcGFjaXR5Ow0KICAgIAkJCQkJfQ0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhbHBoYSA+IDEpIHsNCiAgICAJCQkJCQkkYWxwaGEgPSAxOw0KICAgIAkJCQkJfQ0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRvcGFjaXR5ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXN0UmVkID0gcm91bmQoKCgkZGVzdFBpeGVsWydyZWQnXSAqICRkZXN0QWxwaGEgKiAoMSAtICRvcGFjaXR5KSkpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGVzdEdyZWVuID0gcm91bmQoKCgkZGVzdFBpeGVsWydncmVlbiddICogJGRlc3RBbHBoYSAqICgxIC0gJG9wYWNpdHkpKSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXN0Qmx1ZSA9IHJvdW5kKCgoJGRlc3RQaXhlbFsnYmx1ZSddICogJGRlc3RBbHBoYSAqICgxIC0gJG9wYWNpdHkpKSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcmNSZWQgPSByb3VuZCgoKCRzcmNQaXhlbFsncmVkJ10gKiAkb3BhY2l0eSkpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3JjR3JlZW4gPSByb3VuZCgoKCRzcmNQaXhlbFsnZ3JlZW4nXSAqICRvcGFjaXR5KSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcmNCbHVlID0gcm91bmQoKCgkc3JjUGl4ZWxbJ2JsdWUnXSAqICRvcGFjaXR5KSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWQgPSByb3VuZCgoJGRlc3RSZWQgKyAkc3JjUmVkICApIC8gKCRkZXN0QWxwaGEgKiAoMSAtICRvcGFjaXR5KSArICRvcGFjaXR5KSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyZWVuID0gcm91bmQoKCRkZXN0R3JlZW4gKyAkc3JjR3JlZW4pIC8gKCRkZXN0QWxwaGEgKiAoMSAtICRvcGFjaXR5KSArICRvcGFjaXR5KSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUgPSByb3VuZCgoJGRlc3RCbHVlICsgJHNyY0JsdWUgKSAvICgkZGVzdEFscGhhICogKDEgLSAkb3BhY2l0eSkgKyAkb3BhY2l0eSkpOw0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcmVkICAgPiAyNTUpIHsNCiAgICAJCQkJCQkJJHJlZCAgID0gMjU1Ow0KICAgIAkJCQkJCX0NCiAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGdyZWVuID4gMjU1KSB7DQogICAgCQkJCQkJCSRncmVlbiA9IDI1NTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgDQogICAgCQkJCQkJaWYgKCRibHVlICA+IDI1NSkgew0KICAgIAkJCQkJCQkkYmx1ZSAgPSAyNTU7DQogICAgCQkJCQkJfQ0KICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHBoYSA9IHJvdW5kKCgxIC0gJGFscGhhKSAqIDEyNyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGRlc3RJbWcsICRyZWQsICRncmVlbiwgJGJsdWUsICRhbHBoYSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VzZXRwaXhlbCgkZGVzdEltZywgJHggKyAkZGVzdFgsICR5ICsgJGRlc3RZLCAkY29sb3IpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmVzZXQgdGhlIGxheWVyIHN0YWNrDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGNsZWFyU3RhY2soKQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxheWVycyBhcyAkbGF5ZXIpIHsNCiAgICAgICAgICAgICRsYXllci0+ZGVsZXRlKCk7DQogICAgICAgIH0NCg0KICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJzKTsNCiAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyTGV2ZWxzKTsNCiAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyUG9zaXRpb25zKTsNCg0KICAgICAgICAkdGhpcy0+bGFzdExheWVySWQgPSAwOw0KICAgICAgICAkdGhpcy0+bGF5ZXJzID0gYXJyYXkoKTsNCiAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzID0gYXJyYXkoKTsNCiAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zID0gYXJyYXkoKTsNCiAgICAgICAgJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsID0gMDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXR1cm4gZGltZW5zaW9uIG9mIGEgdGV4dA0KICAgICAqDQogICAgICogQHBhcmFtICRmb250U2l6ZQ0KICAgICAqIEBwYXJhbSAkZm9udEFuZ2xlDQogICAgICogQHBhcmFtICRmb250RmlsZQ0KICAgICAqIEBwYXJhbSAkdGV4dA0KICAgICAqDQogICAgICogQHJldHVybiBhcnJheSBvciBib29sZWFuDQogICAgICovDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRUZXh0Qm94RGltZW5zaW9uKCRmb250U2l6ZSwgJGZvbnRBbmdsZSwgJGZvbnRGaWxlLCAkdGV4dCkNCiAgICB7DQogICAgICAgICRib3ggPSBpbWFnZXR0ZmJib3goJGZvbnRTaXplLCAkZm9udEFuZ2xlLCAkZm9udEZpbGUsICR0ZXh0KTsNCg0KCQlpZiAoISRib3gpIHsNCg0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCiAgICAgICAgJG1pblggPSBtaW4oYXJyYXkoJGJveFswXSwgJGJveFsyXSwgJGJveFs0XSwgJGJveFs2XSkpOw0KICAgICAgICAkbWF4WCA9IG1heChhcnJheSgkYm94WzBdLCAkYm94WzJdLCAkYm94WzRdLCAkYm94WzZdKSk7DQogICAgICAgICRtaW5ZID0gbWluKGFycmF5KCRib3hbMV0sICRib3hbM10sICRib3hbNV0sICRib3hbN10pKTsNCiAgICAgICAgJG1heFkgPSBtYXgoYXJyYXkoJGJveFsxXSwgJGJveFszXSwgJGJveFs1XSwgJGJveFs3XSkpOw0KICAgICAgICAkd2lkdGggPSAoJG1heFggLSAkbWluWCk7DQogICAgICAgICRoZWlnaHQgPSAoJG1heFkgLSAkbWluWSk7DQogICAgICAgICRsZWZ0ID0gYWJzKCRtaW5YKSArICR3aWR0aDsNCiAgICAgICAgJHRvcCA9IGFicygkbWluWSkgKyAkaGVpZ2h0Ow0KDQogICAgICAgIC8vIHRvIGNhbGN1bGF0ZSB0aGUgZXhhY3QgYm91bmRpbmcgYm94LCB3ZSB3cml0ZSB0aGUgdGV4dCBpbiBhIGxhcmdlIGltYWdlDQogICAgICAgICRpbWcgPSBAaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoIDw8IDIsICRoZWlnaHQgPDwgMik7DQogICAgICAgICR3aGl0ZSA9IGltYWdlY29sb3JhbGxvY2F0ZSgkaW1nLCAyNTUsIDI1NSwgMjU1KTsNCiAgICAgICAgJGJsYWNrID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbWcsIDAsIDAsIDApOw0KICAgICAgICBpbWFnZWZpbGxlZHJlY3RhbmdsZSgkaW1nLCAwLCAwLCBpbWFnZXN4KCRpbWcpLCBpbWFnZXN5KCRpbWcpLCAkYmxhY2spOw0KDQogICAgICAgIC8vIGZvciBlbnN1cmUgdGhhdCB0aGUgdGV4dCBpcyBjb21wbGV0ZWx5IGluIHRoZSBpbWFnZQ0KICAgICAgICBpbWFnZXR0ZnRleHQoJGltZywgJGZvbnRTaXplLCAkZm9udEFuZ2xlLCAkbGVmdCwgJHRvcCwgJHdoaXRlLCAkZm9udEZpbGUsICR0ZXh0KTsNCg0KICAgICAgICAvLyBzdGFydCBzY2FubmluZyAoMD0+IGJsYWNrID0+IGVtcHR5KQ0KICAgICAgICAkcmxlZnQgPSAkdzQgPSAkd2lkdGg8PDI7DQogICAgICAgICRycmlnaHQgPSAwOw0KICAgICAgICAkcmJvdHRvbSA9IDA7DQogICAgICAgICRydG9wID0gJGg0ID0gJGhlaWdodDw8MjsNCg0KICAgICAgICBmb3IgKCR4ID0gMDsgJHggPCAkdzQ7ICR4KyspIHsNCg0KCQkJZm9yICgkeSA9IDA7ICR5IDwgJGg0OyAkeSsrKSB7DQoNCgkJCQlpZiAoaW1hZ2Vjb2xvcmF0KCRpbWcsICR4LCAkeSkpIHsNCg0KCQkJCQkkcmxlZnQgPSBtaW4oJHJsZWZ0LCAkeCk7DQoJCQkJCSRycmlnaHQgPSBtYXgoJHJyaWdodCwgJHgpOw0KCQkJCQkkcnRvcCA9IG1pbigkcnRvcCwgJHkpOw0KCQkJCQkkcmJvdHRvbSA9IG1heCgkcmJvdHRvbSwgJHkpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQogICAgICAgIC8vIGRlc3Ryb3kgaW1nDQogICAgICAgIGltYWdlZGVzdHJveSgkaW1nKTsNCg0KICAgICAgICByZXR1cm4gYXJyYXkoDQogICAgICAgICAgICAibGVmdCIgPT4gJGxlZnQgLSAkcmxlZnQsDQogICAgICAgICAgICAidG9wIiA9PiAkdG9wIC0gJHJ0b3AsDQogICAgICAgICAgICAid2lkdGgiID0+ICRycmlnaHQgLSAkcmxlZnQgKyAxLA0KICAgICAgICAgICAgImhlaWdodCIgPT4gJHJib3R0b20gLSAkcnRvcCArIDEsDQogICAgICAgICk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ3JlYXRlIGEgbmV3IGJhY2tncm91bmQgaW1hZ2UgdmFyIGZyb20gdGhlIG9sZCBiYWNrZ3JvdW5kIGltYWdlIHZhcg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVOZXdWYXJGcm9tQmFja2dyb3VuZEltYWdlKCkNCiAgICB7DQogICAgICAgIC8vIENyZWF0aW9uIG9mIGEgbmV3IGJhY2tncm91bmQgaW1hZ2UNCiAgICAgICAgJHZpcmdpbkltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT5nZXRXaWR0aCgpLCAkdGhpcy0+Z2V0SGVpZ2h0KCkpOw0KDQogICAgICAgIHN0YXRpYzo6bWVyZ2VUd29JbWFnZXMoJHZpcmdpbkltYWdlLCAkdGhpcy0+aW1hZ2UsIDAsIDAsIDAsIDApOw0KICAgICAgICB1bnNldCgkdGhpcy0+aW1hZ2UpOw0KDQogICAgICAgICR0aGlzLT5pbWFnZSA9ICR2aXJnaW5JbWFnZTsNCiAgICAgICAgdW5zZXQoJHZpcmdpbkltYWdlKTsNCg0KICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsNCg0KICAgICAgICBmb3JlYWNoKCRsYXllcnMgYXMgJGxheWVySWQgPT4gJGxheWVyKSB7DQoNCiAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJGxheWVySWRdID0gY2xvbmUgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF07DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXQgYSBsYXllciBpbiB0aGUgc3RhY2sNCiAgICAgKiBEb24ndCBmb3JnZXQgdG8gdXNlIGNsb25lIG1ldGhvZDogJGIgPSBjbG9uZSAkYS0+Z2V0TGF5ZXIoMyk7DQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZA0KICAgICAqDQogICAgICogQHJldHVybiBJbWFnZVdvcmtzaG9wDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVyKCRsYXllcklkKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllcnNbJGxheWVySWRdOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBDYWxjdWxhdGUgdGhlIHJpZ2h0IHBvc2l0aW9ucyBvZiBhIGxheWVyIGluIGEgcGFyZW50IGNvbnRhaW5lciAobGF5ZXIpDQogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sDQogICAgICoNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkY29udGFpbmVyV2lkdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkY29udGFpbmVySGVpZ2h0DQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyV2lkdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJIZWlnaHQNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJQb3NpdGlvblgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJQb3NpdGlvblkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbg0KICAgICAqDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FsY3VsYXRlUG9zaXRpb25zKCRjb250YWluZXJXaWR0aCwgJGNvbnRhaW5lckhlaWdodCwgJGxheWVyV2lkdGgsICRsYXllckhlaWdodCwgJGxheWVyUG9zaXRpb25YLCAkbGF5ZXJQb3NpdGlvblksICRwb3NpdGlvbiA9ICJMVCIpDQogICAgew0KICAgICAgICAkcG9zaXRpb24gPSBzdHJ0b2xvd2VyKCRwb3NpdGlvbik7DQoNCiAgICAgICAgaWYgKCRwb3NpdGlvbiA9PSAicnQiKSB7DQoNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICRjb250YWluZXJXaWR0aCAtICRsYXllcldpZHRoIC0gJGxheWVyUG9zaXRpb25YOw0KDQogICAgICAgIH0gZWxzZWlmICgkcG9zaXRpb24gPT0gImxiIikgew0KDQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0IC0gJGxheWVyUG9zaXRpb25ZOw0KDQogICAgICAgIH0gZWxzZWlmICgkcG9zaXRpb24gPT0gInJiIikgew0KDQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblggPSAkY29udGFpbmVyV2lkdGggLSAkbGF5ZXJXaWR0aCAtICRsYXllclBvc2l0aW9uWDsNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWSA9ICRjb250YWluZXJIZWlnaHQgLSAkbGF5ZXJIZWlnaHQgLSAkbGF5ZXJQb3NpdGlvblk7DQoNCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAibW0iKSB7DQoNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICgoJGNvbnRhaW5lcldpZHRoIC0gJGxheWVyV2lkdGgpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblg7DQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAoKCRjb250YWluZXJIZWlnaHQgLSAkbGF5ZXJIZWlnaHQpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblk7DQoNCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAibXQiKSB7DQoNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICgoJGNvbnRhaW5lcldpZHRoIC0gJGxheWVyV2lkdGgpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblg7DQoNCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAibWIiKSB7DQoNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICgoJGNvbnRhaW5lcldpZHRoIC0gJGxheWVyV2lkdGgpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblg7DQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0IC0gJGxheWVyUG9zaXRpb25ZOw0KDQogICAgICAgIH0gZWxzZWlmICgkcG9zaXRpb24gPT0gImxtIikgew0KDQogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAoKCRjb250YWluZXJIZWlnaHQgLSAkbGF5ZXJIZWlnaHQpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblk7DQoNCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAicm0iKSB7DQoNCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICRjb250YWluZXJXaWR0aCAtICRsYXllcldpZHRoIC0gJGxheWVyUG9zaXRpb25YOw0KICAgICAgICAgICAgJGxheWVyUG9zaXRpb25ZID0gKCgkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0KSAvIDIpICsgJGxheWVyUG9zaXRpb25ZOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgIngiID0+ICRsYXllclBvc2l0aW9uWCwNCiAgICAgICAgICAgICJ5IiA9PiAkbGF5ZXJQb3NpdGlvblksDQogICAgICAgICk7DQogICAgfQ0KDQogICAgLy8gR2V0dGVyIC8gU2V0dGVyDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIC8qKg0KICAgICAqIEdldHRlciB3aWR0aA0KICAgICAqDQogICAgICogQHJldHVybiBpbnRlZ2VyDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldFdpZHRoKCkNCiAgICB7DQogICAgICAgIHJldHVybiAkdGhpcy0+d2lkdGg7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogR2V0dGVyIGhlaWdodA0KICAgICAqDQogICAgICogQHJldHVybiBpbnRlZ2VyDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlaWdodCgpDQogICAgew0KICAgICAgICByZXR1cm4gJHRoaXMtPmhlaWdodDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgaW1hZ2UNCiAgICAgKg0KICAgICAqIEByZXR1cm4gcmVzb3VyY2UNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW1hZ2UoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5pbWFnZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgbGF5ZXJzDQogICAgICoNCiAgICAgKiBAcmV0dXJuIGFycmF5DQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVycygpDQogICAgew0KICAgICAgICByZXR1cm4gJHRoaXMtPmxheWVyczsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgbGF5ZXJMZXZlbHMNCiAgICAgKg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGF5ZXJMZXZlbHMoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllckxldmVsczsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgbGF5ZXJQb3NpdGlvbnMNCiAgICAgKiANCiAgICAgKiBHZXQgYWxsIHRoZSBwb3NpdGlvbnMgb2YgdGhlIHN1YmxheWVycywNCiAgICAgKiBvciB3aGVuIHNwZWNpZnlpbmcgJGxheWVySWQsIGdldCB0aGUgcG9zaXRpb24gb2YgdGhpcyBzdWJsYXllcg0KICAgICAqDQogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQNCiAgICAgKiANCiAgICAgKiBAcmV0dXJuIG1peGVkIChhcnJheSBvciBib29sZWFuKQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXllclBvc2l0aW9ucygkbGF5ZXJJZCA9IG51bGwpDQogICAgew0KICAgICAgICBpZiAoISRsYXllcklkKSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bGF5ZXJQb3NpdGlvbnM7DQogICAgICAgICAgICANCiAgICAgICAgfSBlbHNlaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgaGlnaGVzdExheWVyTGV2ZWwNCiAgICAgKg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGlnaGVzdExheWVyTGV2ZWwoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBHZXR0ZXIgbGFzdExheWVySWQNCiAgICAgKg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdExheWVySWQoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXN0TGF5ZXJJZDsNCiAgICB9DQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageWorkshopException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KbmFtZXNwYWNlIFBIUEltYWdlV29ya3Nob3A7DQoNCi8qKg0KICogSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbg0KICogDQogKiBNYW5hZ2UgSW1hZ2VXb3Jrc2hvcCBleGNlcHRpb25zDQogKi8NCmNsYXNzIEltYWdlV29ya3Nob3BFeGNlcHRpb24gZXh0ZW5kcyBcRXhjZXB0aW9uDQp7DQogICAgLyoqDQogICAgICogQ29uc3RydWN0b3INCiAgICAgKiANCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlDQogICAgICogQHBhcmFtIGludGVnZXIgJGNvZGUNCiAgICAgKiBAcGFyYW0gRXhjZXB0aW9uICRwcmV2aW91cw0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUgPSAwLCBcRXhjZXB0aW9uICRwcmV2aW91cyA9IG51bGwpDQogICAgew0KICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRtZXNzYWdlLCAkY29kZSwgJHByZXZpb3VzKTsNCiAgICB9DQogICAgDQogICAgLyoqDQogICAgICogX190b1N0cmluZyBtZXRob2QNCiAgICAgKg0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuIF9fQ0xBU1NfXy4iOiBbeyR0aGlzLT5jb2RlfV06IHskdGhpcy0+bWVzc2FnZX1cbiI7DQogICAgfQ0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Mobile_Detect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICogTUlUIExpY2Vuc2UNCiAqID09PT09PT09PT09DQogKg0KICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nDQogKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUNCiAqICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcNCiAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwNCiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bw0KICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvDQogKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQogKg0KICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQNCiAqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KICoNCiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTDQogKiBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GDQogKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuDQogKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQ0KICogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwNCiAqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFDQogKiBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4NCiAqDQogKg0KICogQGF1dGhvciAgICAgIFNlcmJhbiBHaGl0YSA8c2VyYmFuZ2hpdGFAZ21haWwuY29tPg0KICogICAgICAgICAgICAgIFZpY3RvciBTdGFuY2l1IDx2aWMuc3RhbmNpdUBnbWFpbC5jb20+ICh1bnRpbCB2LjEuMCkNCiAqIEBsaWNlbnNlICAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCAgTUlUIExpY2Vuc2UNCiAqIEBsaW5rICAgICAgICBodHRwOi8vbW9iaWxlZGV0ZWN0Lm5ldA0KICogICAgICAgICAgICAgIEdvb2dsZSBDb2RlIFJlcG9zaXRvcnk6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHAtbW9iaWxlLWRldGVjdC8NCiAqICAgICAgICAgICAgICBHaXRIdWIgUmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3NlcmJhbmdoaXRhL01vYmlsZS1EZXRlY3QNCiAqIEB2ZXJzaW9uICAgICAyLjEgUkMyDQogKi8NCg0KY2xhc3MgTW9iaWxlX0RldGVjdCB7DQoNCiAgICAvLyBFeHRlcm5hbCBpbmZvLg0KICAgIHByb3RlY3RlZCAkdXNlckFnZW50ID0gbnVsbDsNCiAgICBwcm90ZWN0ZWQgJGh0dHBIZWFkZXJzOw0KDQogICAgLy8gQXJyYXlzIGhvbGRpbmcgYWxsIGRldGVjdGlvbiBydWxlcy4NCiAgICBwcm90ZWN0ZWQgJG1vYmlsZURldGVjdGlvblJ1bGVzID0gbnVsbDsNCiAgICBwcm90ZWN0ZWQgJG1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQgPSBudWxsOw0KICAgIC8vIFR5cGUgb2YgZGV0ZWN0aW9uIHRvIHVzZS4NCiAgICBwcm90ZWN0ZWQgJGRldGVjdGlvblR5cGUgPSAnbW9iaWxlJzsgLy8gbW9iaWxlLCBleHRlbmRlZCBAdG9kbzogcmVmYWN0b3IgdGhpcy4NCg0KICAgIC8vIExpc3Qgb2YgbW9iaWxlIGRldmljZXMgKHBob25lcykNCiAgICBwcm90ZWN0ZWQgJHBob25lRGV2aWNlcyA9IGFycmF5KA0KICAgICAgICAnaVBob25lJyAgICAgICAgPT4gJyhpUGhvbmUuKk1vYmlsZXxpUG9kfGlUdW5lcyknLA0KICAgICAgICAnQmxhY2tCZXJyeScgICAgPT4gJ0JsYWNrQmVycnl8cmltWzAtOV0rJywNCiAgICAgICAgJ0hUQycgICAgICAgICAgID0+ICdIVEN8SFRDLiooU2Vuc2F0aW9ufEV2b3xWaXNpb258RXhwbG9yZXJ8NjgwMHw4MTAwfDg5MDB8QTcyNzJ8UzUxMGV8QzExMGV8TGVnZW5kfERlc2lyZXxUODI4Mil8QVBYNTE1Q0tUfFF0ZWs5MDkwfEFQQTkyOTJLVHxIRF9taW5pfFNlbnNhdGlvbi4qWjcxMGV8UEc4NjEwMHxaNzE1ZXxEZXNpcmUuKihBODE4MXxIRCl8QURSNjIwMHxBRFI2NDI1fDAwMUhUJywNCiAgICAgICAgJ05leHVzJyAgICAgICAgID0+ICdOZXh1cyBPbmV8TmV4dXMgU3xHYWxheHkuKk5leHVzfEFuZHJvaWQuKk5leHVzLipNb2JpbGUnLA0KICAgICAgICAnRGVsbCcgICAgICAgICAgPT4gJ0RlbGwuKlN0cmVha3xEZWxsLipBZXJvfERlbGwuKlZlbnVlfERFTEwuKlZlbnVlIFByb3xEZWxsIEZsYXNofERlbGwgU21va2V8RGVsbCBNaW5pIDNpWHxYQ0QyOHxYQ0QzNScsDQogICAgICAgICdNb3Rvcm9sYScgICAgICA9PiAnTW90b3JvbGF8XGJEcm9pZFxiLipCdWlsZHxEUk9JRFh8SFJJMzl8TU9ULXxBMTI2MHxBMTY4MHxBNTU1fEE4NTN8QTg1NXxBOTUzfEE5NTV8QTk1NnxNb3Rvcm9sYS4qRUxFQ1RSSUZZfE1vdG9yb2xhLippMXxpODY3fGk5NDB8TUIyMDB8TUIzMDB8TUI1MDF8TUI1MDJ8TUI1MDh8TUI1MTF8TUI1MjB8TUI1MjV8TUI1MjZ8TUI2MTF8TUI2MTJ8TUI2MzJ8TUI4MTB8TUI4NTV8TUI4NjB8TUI4NjF8TUI4NjV8TUI4NzB8TUU1MDF8TUU1MDJ8TUU1MTF8TUU1MjV8TUU2MDB8TUU2MzJ8TUU3MjJ8TUU4MTF8TUU4NjB8TUU4NjN8TUU4NjV8TVQ2MjB8TVQ3MTB8TVQ3MTZ8TVQ3MjB8TVQ4MTB8TVQ4NzB8TVQ5MTd8TW90b3JvbGEuKlRJVEFOSVVNfFdYNDM1fFdYNDQ1fFhUMzAwfFhUMzAxfFhUMzExfFhUMzE2fFhUMzE3fFhUMzE5fFhUMzIwfFhUMzkwfFhUNTAyfFhUNTMwfFhUNTMxfFhUNTMyfFhUNTM1fFhUNjAzfFhUNjEwfFhUNjExfFhUNjE1fFhUNjgxfFhUNzAxfFhUNzAyfFhUNzExfFhUNzIwfFhUODAwfFhUODA2fFhUODYwfFhUODYyfFhUODc1fFhUODgyfFhUODgzfFhUODk0fFhUOTA5fFhUOTEwfFhUOTEyfFhUOTI4JywNCiAgICAgICAgJ1NhbXN1bmcnICAgICAgID0+ICdTYW1zdW5nfEJHVC1TNTIzMHxHVC1CMjEwMHxHVC1CMjcwMHxHVC1CMjcxMHxHVC1CMzIxMHxHVC1CMzMxMHxHVC1CMzQxMHxHVC1CMzczMHxHVC1CMzc0MHxHVC1CNTUxMHxHVC1CNTUxMnxHVC1CNTcyMnxHVC1CNjUyMHxHVC1CNzMwMHxHVC1CNzMyMHxHVC1CNzMzMHxHVC1CNzM1MHxHVC1CNzUxMHxHVC1CNzcyMnxHVC1CNzgwMHxHVC1DMzAxMHxHVC1DMzAxMXxHVC1DMzA2MHxHVC1DMzIwMHxHVC1DMzIxMnxHVC1DMzIxMkl8R1QtQzMyMjJ8R1QtQzMzMDB8R1QtQzMzMDBLfEdULUMzMzAzfEdULUMzMzAzS3xHVC1DMzMxMHxHVC1DMzMyMnxHVC1DMzMzMHxHVC1DMzM1MHxHVC1DMzUwMHxHVC1DMzUxMHxHVC1DMzUzMHxHVC1DMzYzMHxHVC1DMzc4MHxHVC1DNTAxMHxHVC1DNTIxMnxHVC1DNjYyMHxHVC1DNjYyNXxHVC1DNjcxMnxHVC1FMTA1MHxHVC1FMTA3MHxHVC1FMTA3NXxHVC1FMTA4MHxHVC1FMTA4MXxHVC1FMTA4NXxHVC1FMTA4N3xHVC1FMTEwMHxHVC1FMTEwN3xHVC1FMTExMHxHVC1FMTEyMHxHVC1FMTEyNXxHVC1FMTEzMHxHVC1FMTE2MHxHVC1FMTE3MHxHVC1FMTE3NXxHVC1FMTE4MHxHVC1FMTE4MnxHVC1FMTIwMHxHVC1FMTIxMHxHVC1FMTIyNXxHVC1FMTIzMHxHVC1FMTM5MHxHVC1FMjEwMHxHVC1FMjEyMHxHVC1FMjEyMXxHVC1FMjE1MnxHVC1FMjIyMHxHVC1FMjIyMnxHVC1FMjIzMHxHVC1FMjIzMnxHVC1FMjI1MHxHVC1FMjM3MHxHVC1FMjU1MHxHVC1FMjY1MnxHVC1FMzIxMHxHVC1FMzIxM3xHVC1JNTUwMHxHVC1JNTUwM3xHVC1JNTcwMHxHVC1JNTgwMHxHVC1JNTgwMXxHVC1JNjQxMHxHVC1JNjQyMHxHVC1JNzExMHxHVC1JNzQxMHxHVC1JNzUwMHxHVC1JODAwMHxHVC1JODE1MHxHVC1JODE2MHxHVC1JODMyMHxHVC1JODMzMHxHVC1JODM1MHxHVC1JODUzMHxHVC1JODcwMHxHVC1JODcwM3xHVC1JODkxMHxHVC1JOTAwMHxHVC1JOTAwMXxHVC1JOTAwM3xHVC1JOTAxMHxHVC1JOTAyMHxHVC1JOTAyM3xHVC1JOTA3MHxHVC1JOTEwMHxHVC1JOTEwM3xHVC1JOTIyMHxHVC1JOTI1MHxHVC1JOTMwMHxHVC1JOTMwMCB8R1QtTTM1MTB8R1QtTTU2NTB8R1QtTTc1MDB8R1QtTTc2MDB8R1QtTTc2MDN8R1QtTTg4MDB8R1QtTTg5MTB8R1QtTjcwMDB8R1QtUDY4MTB8R1QtUDcxMDB8R1QtUzMxMTB8R1QtUzMzMTB8R1QtUzMzNTB8R1QtUzMzNTN8R1QtUzMzNzB8R1QtUzM2NTB8R1QtUzM2NTN8R1QtUzM3NzB8R1QtUzM4NTB8R1QtUzUyMTB8R1QtUzUyMjB8R1QtUzUyMjl8R1QtUzUyMzB8R1QtUzUyMzN8R1QtUzUyNTB8R1QtUzUyNTN8R1QtUzUyNjB8R1QtUzUyNjN8R1QtUzUyNzB8R1QtUzUzMDB8R1QtUzUzMzB8R1QtUzUzNTB8R1QtUzUzNjB8R1QtUzUzNjN8R1QtUzUzNjl8R1QtUzUzODB8R1QtUzUzODBEfEdULVM1NTYwfEdULVM1NTcwfEdULVM1NjAwfEdULVM1NjAzfEdULVM1NjEwfEdULVM1NjIwfEdULVM1NjYwfEdULVM1NjcwfEdULVM1NjkwfEdULVM1NzUwfEdULVM1NzgwfEdULVM1ODMwfEdULVM1ODM5fEdULVM2MTAyfEdULVM2NTAwfEdULVM3MDcwfEdULVM3MjAwfEdULVM3MjIwfEdULVM3MjMwfEdULVM3MjMzfEdULVM3MjUwfEdULVM3NTAwfEdULVM3NTMwfEdULVM3NTUwfEdULVM4MDAwfEdULVM4MDAzfEdULVM4NTAwfEdULVM4NTMwfEdULVM4NjAwfFNDSC1BMzEwfFNDSC1BNTMwfFNDSC1BNTcwfFNDSC1BNjEwfFNDSC1BNjMwfFNDSC1BNjUwfFNDSC1BNzkwfFNDSC1BNzk1fFNDSC1BODUwfFNDSC1BODcwfFNDSC1BODkwfFNDSC1BOTMwfFNDSC1BOTUwfFNDSC1BOTcwfFNDSC1BOTkwfFNDSC1JMTAwfFNDSC1JMTEwfFNDSC1JNDAwfFNDSC1JNDA1fFNDSC1JNTAwfFNDSC1JNTEwfFNDSC1JNTE1fFNDSC1JNjAwfFNDSC1JNzMwfFNDSC1JNzYwfFNDSC1JNzcwfFNDSC1JODMwfFNDSC1JOTEwfFNDSC1JOTIwfFNDSC1MQzExfFNDSC1OMTUwfFNDSC1OMzAwfFNDSC1SMTAwfFNDSC1SMzAwfFNDSC1SMzUxfFNDSC1SNDAwfFNDSC1SNDEwfFNDSC1UMzAwfFNDSC1VMzEwfFNDSC1VMzIwfFNDSC1VMzUwfFNDSC1VMzYwfFNDSC1VMzY1fFNDSC1VMzcwfFNDSC1VMzgwfFNDSC1VNDEwfFNDSC1VNDMwfFNDSC1VNDUwfFNDSC1VNDYwfFNDSC1VNDcwfFNDSC1VNDkwfFNDSC1VNTQwfFNDSC1VNTUwfFNDSC1VNjIwfFNDSC1VNjQwfFNDSC1VNjUwfFNDSC1VNjYwfFNDSC1VNzAwfFNDSC1VNzQwfFNDSC1VNzUwfFNDSC1VODEwfFNDSC1VODIwfFNDSC1VOTAwfFNDSC1VOTQwfFNDSC1VOTYwfFNDUy0yNlVDfFNHSC1BMTA3fFNHSC1BMTE3fFNHSC1BMTI3fFNHSC1BMTM3fFNHSC1BMTU3fFNHSC1BMTY3fFNHSC1BMTc3fFNHSC1BMTg3fFNHSC1BMTk3fFNHSC1BMjI3fFNHSC1BMjM3fFNHSC1BMjU3fFNHSC1BNDM3fFNHSC1BNTE3fFNHSC1BNTk3fFNHSC1BNjM3fFNHSC1BNjU3fFNHSC1BNjY3fFNHSC1BNjg3fFNHSC1BNjk3fFNHSC1BNzA3fFNHSC1BNzE3fFNHSC1BNzI3fFNHSC1BNzM3fFNHSC1BNzQ3fFNHSC1BNzY3fFNHSC1BNzc3fFNHSC1BNzk3fFNHSC1BODE3fFNHSC1BODI3fFNHSC1BODM3fFNHSC1BODQ3fFNHSC1BODY3fFNHSC1BODc3fFNHSC1BODg3fFNHSC1BODk3fFNHSC1BOTI3fFNHSC1CMTAwfFNHSC1CMTMwfFNHSC1CMjAwfFNHSC1CMjIwfFNHSC1DMTAwfFNHSC1DMTEwfFNHSC1DMTIwfFNHSC1DMTMwfFNHSC1DMTQwfFNHSC1DMTYwfFNHSC1DMTcwfFNHSC1DMTgwfFNHSC1DMjAwfFNHSC1DMjA3fFNHSC1DMjEwfFNHSC1DMjI1fFNHSC1DMjMwfFNHSC1DNDE3fFNHSC1DNDUwfFNHSC1EMzA3fFNHSC1EMzQ3fFNHSC1EMzU3fFNHSC1ENDA3fFNHSC1ENDE1fFNHSC1ENzgwfFNHSC1EODA3fFNHSC1EOTgwfFNHSC1FMTA1fFNHSC1FMjAwfFNHSC1FMzE1fFNHSC1FMzE2fFNHSC1FMzE3fFNHSC1FMzM1fFNHSC1FNTkwfFNHSC1FNjM1fFNHSC1FNzE1fFNHSC1FODkwfFNHSC1GMzAwfFNHSC1GNDgwfFNHSC1JMjAwfFNHSC1JMzAwfFNHSC1JMzIwfFNHSC1JNTUwfFNHSC1JNTc3fFNHSC1JNjAwfFNHSC1JNjA3fFNHSC1JNjE3fFNHSC1JNjI3fFNHSC1JNjM3fFNHSC1JNjc3fFNHSC1JNzAwfFNHSC1JNzE3fFNHSC1JNzI3fFNHSC1JNzc3fFNHSC1JNzgwfFNHSC1JODI3fFNHSC1JODQ3fFNHSC1JODU3fFNHSC1JODk2fFNHSC1JODk3fFNHSC1JOTAwfFNHSC1JOTA3fFNHSC1JOTE3fFNHSC1JOTI3fFNHSC1JOTM3fFNHSC1JOTk3fFNHSC1KMTUwfFNHSC1KMjAwfFNHSC1MMTcwfFNHSC1MNzAwfFNHSC1NMTEwfFNHSC1NMTUwfFNHSC1NMjAwfFNHSC1OMTA1fFNHSC1ONTAwfFNHSC1ONjAwfFNHSC1ONjIwfFNHSC1ONjI1fFNHSC1ONzAwfFNHSC1ONzEwfFNHSC1QMTA3fFNHSC1QMjA3fFNHSC1QMzAwfFNHSC1QMzEwfFNHSC1QNTIwfFNHSC1QNzM1fFNHSC1QNzc3fFNHSC1RMTA1fFNHSC1SMjEwfFNHSC1SMjIwfFNHSC1SMjI1fFNHSC1TMTA1fFNHSC1TMzA3fFNHSC1UMTA5fFNHSC1UMTE5fFNHSC1UMTM5fFNHSC1UMjA5fFNHSC1UMjE5fFNHSC1UMjI5fFNHSC1UMjM5fFNHSC1UMjQ5fFNHSC1UMjU5fFNHSC1UMzA5fFNHSC1UMzE5fFNHSC1UMzI5fFNHSC1UMzM5fFNHSC1UMzQ5fFNHSC1UMzU5fFNHSC1UMzY5fFNHSC1UMzc5fFNHSC1UNDA5fFNHSC1UNDI5fFNHSC1UNDM5fFNHSC1UNDU5fFNHSC1UNDY5fFNHSC1UNDc5fFNHSC1UNDk5fFNHSC1UNTA5fFNHSC1UNTE5fFNHSC1UNTM5fFNHSC1UNTU5fFNHSC1UNTg5fFNHSC1UNjA5fFNHSC1UNjE5fFNHSC1UNjI5fFNHSC1UNjM5fFNHSC1UNjU5fFNHSC1UNjY5fFNHSC1UNjc5fFNHSC1UNzA5fFNHSC1UNzE5fFNHSC1UNzI5fFNHSC1UNzM5fFNHSC1UNzQ2fFNHSC1UNzQ5fFNHSC1UNzU5fFNHSC1UNzY5fFNHSC1UODA5fFNHSC1UODE5fFNHSC1UODM5fFNHSC1UOTE5fFNHSC1UOTI5fFNHSC1UOTM5fFNHSC1UOTU5fFNHSC1UOTg5fFNHSC1VMTAwfFNHSC1VMjAwfFNHSC1VODAwfFNHSC1WMjA1fFNHSC1WMjA2fFNHSC1YMTAwfFNHSC1YMTA1fFNHSC1YMTIwfFNHSC1YMTQwfFNHSC1YNDI2fFNHSC1YNDI3fFNHSC1YNDc1fFNHSC1YNDk1fFNHSC1YNDk3fFNHSC1YNTA3fFNHSC1YNjAwfFNHSC1YNjEwfFNHSC1YNjIwfFNHSC1YNjMwfFNHSC1YNzAwfFNHSC1YODIwfFNHSC1YODkwfFNHSC1aMTMwfFNHSC1aMTUwfFNHSC1aMTcwfFNHSC1aWDEwfFNHSC1aWDIwfFNIVy1NMTEwfFNQSC1BMTIwfFNQSC1BNDAwfFNQSC1BNDIwfFNQSC1BNDYwfFNQSC1BNTAwfFNQSC1BNTYwfFNQSC1BNjAwfFNQSC1BNjIwfFNQSC1BNjYwfFNQSC1BNzAwfFNQSC1BNzQwfFNQSC1BNzYwfFNQSC1BNzkwfFNQSC1BODAwfFNQSC1BODIwfFNQSC1BODQwfFNQSC1BODgwfFNQSC1BOTAwfFNQSC1BOTQwfFNQSC1BOTYwfFNQSC1ENjAwfFNQSC1ENzAwfFNQSC1ENzEwfFNQSC1ENzIwfFNQSC1JMzAwfFNQSC1JMzI1fFNQSC1JMzMwfFNQSC1JMzUwfFNQSC1JNTAwfFNQSC1JNjAwfFNQSC1JNzAwfFNQSC1MNzAwfFNQSC1NMTAwfFNQSC1NMjIwfFNQSC1NMjQwfFNQSC1NMzAwfFNQSC1NMzA1fFNQSC1NMzIwfFNQSC1NMzMwfFNQSC1NMzUwfFNQSC1NMzYwfFNQSC1NMzcwfFNQSC1NMzgwfFNQSC1NNTEwfFNQSC1NNTQwfFNQSC1NNTUwfFNQSC1NNTYwfFNQSC1NNTcwfFNQSC1NNTgwfFNQSC1NNjEwfFNQSC1NNjIwfFNQSC1NNjMwfFNQSC1NODAwfFNQSC1NODEwfFNQSC1NODUwfFNQSC1NOTAwfFNQSC1NOTEwfFNQSC1NOTIwfFNQSC1NOTMwfFNQSC1OMTAwfFNQSC1OMjAwfFNQSC1OMjQwfFNQSC1OMzAwfFNQSC1ONDAwfFNQSC1aNDAwfFNXQy1FMTAwJywNCiAgICAgICAgJ1NvbnknICAgICAgICAgID0+ICdFMTBpfFNvbnlFcmljc3NvbnxTb255RXJpY3Nzb25MVDE1aXYnLA0KICAgICAgICAnQXN1cycgICAgICAgICAgPT4gJ0FzdXMuKkdhbGF4eScsDQogICAgICAgICdQYWxtJyAgICAgICAgICA9PiAnUGFsbVNvdXJjZXxQYWxtJywgLy8gYXZhbnRnb3xibGF6ZXJ8ZWxhaW5lfGhpcHRvcHxwbHVja2VyfHhpaW5vIDsgQHRvZG8gLSBjb21wbGV0ZSB0aGUgcmVnZXguDQogICAgICAgICdWZXJ0dScgICAgICAgICA9PiAnVmVydHV8VmVydHUuKkx0ZHxWZXJ0dS4qQXNjZW50fFZlcnR1LipBeXh0YXxWZXJ0dS4qQ29uc3RlbGxhdGlvbihGfFF1ZXN0KT98VmVydHUuKk1vbmlrYXxWZXJ0dS4qU2lnbmF0dXJlJywgLy8gSnVzdCBmb3IgZnVuIDspDQogICAgICAgICdHZW5lcmljUGhvbmUnICA9PiAnUERBO3xQUEM7fFNBR0VNfG1tcHxwb2NrZXR8cHNwfHN5bWJpYW58U21hcnRwaG9uZXxzbWFydGZvbnx0cmVvfHVwLmJyb3dzZXJ8dXAubGlua3x2b2RhZm9uZXx3YXB8bm9raWF8U2VyaWVzNDB8U2VyaWVzNjB8UzYwfFNvbnlFcmljc3NvbnxOOTAwfE1BVUkuKldBUC4qQnJvd3NlcnxMRy1QNTAwJw0KICAgICk7DQogICAgLy8gTGlzdCBvZiB0YWJsZXQgZGV2aWNlcy4NCiAgICBwcm90ZWN0ZWQgJHRhYmxldERldmljZXMgPSBhcnJheSgNCiAgICAgICAgJ0JsYWNrQmVycnlUYWJsZXQnICA9PiAnUGxheUJvb2t8UklNIFRhYmxldCcsDQogICAgICAgICdpUGFkJyAgICAgICAgICAgICAgPT4gJ2lQYWR8aVBhZC4qTW9iaWxlJywgLy8gQHRvZG86IGNoZWNrIGZvciBtb2JpbGUgZnJpZW5kbHkgZW1haWxzIHRvcGljLg0KICAgICAgICAnTmV4dXNUYWJsZXQnICAgICAgID0+ICdeLipBbmRyb2lkLipOZXh1cyg/Oig/IU1vYmlsZSkuKSokJywNCiAgICAgICAgLy8gQHJlZmVyZW5jZTogaHR0cDovL3d3dy5sYWJub2wub3JnL3NvZnR3YXJlL2tpbmRsZS11c2VyLWFnZW50LXN0cmluZy8yMDM3OC8NCiAgICAgICAgJ0tpbmRsZScgICAgICAgICAgICA9PiAnS2luZGxlfFNpbGsuKkFjY2VsZXJhdGVkJywNCiAgICAgICAgJ1NhbXN1bmdUYWJsZXQnICAgICA9PiAnU0FNU1VORy4qVGFibGV0fEdhbGF4eS4qVGFifEdULVAxMDAwfEdULVAxMDEwfEdULVA2MjEwfEdULVA2ODAwfEdULVA2ODEwfEdULVA3MTAwfEdULVA3MzAwfEdULVA3MzEwfEdULVA3NTAwfEdULVA3NTEwfFNDSC1JODAwfFNDSC1JODE1fFNDSC1JOTA1fFNHSC1JOTU3fFNHSC1JOTg3fFNHSC1UODQ5fFNHSC1UODU5fFNHSC1UODY5fFNQSC1QMTAwfEdULVAxMDAwfEdULVAzMTAwfEdULVAzMTEwfEdULVA1MTAwfEdULVA1MTEwfEdULVA2MjAwfEdULVA3MzAwfEdULVA3MzIwfEdULVA3NTAwfEdULVA3NTEwfEdULVA3NTExJywNCiAgICAgICAgJ0hUQ3RhYmxldCcgICAgICAgICA9PiAnSFRDIEZseWVyfEhUQyBKZXRzdHJlYW18SFRDLVA3MTVhfEhUQyBFVk8gVmlldyA0R3xQRzQxMjAwJywNCiAgICAgICAgJ01vdG9yb2xhVGFibGV0JyAgICA9PiAneG9vbXxzaG9sZXN0fE1aNjE1fE1aNjA1fE1aNTA1fE1aNjAxfE1aNjAyfE1aNjAzfE1aNjA0fE1aNjA2fE1aNjA3fE1aNjA4fE1aNjA5fE1aNjE1fE1aNjE2fE1aNjE3JywNCiAgICAgICAgJ0FzdXNUYWJsZXQnICAgICAgICA9PiAnVHJhbnNmb3JtZXJ8VEYxMDEnLA0KICAgICAgICAnTm9va1RhYmxldCcgICAgICAgID0+ICdBbmRyb2lkLipOb29rfE5vb2tDb2xvcnxub29rIGJyb3dzZXJ8Qk5UVjI1MEF8TG9naWNQRCBab29tMicsDQogICAgICAgICdBY2VyVGFibGV0JyAgICAgICAgPT4gJ0FuZHJvaWQuKlxiKEExMDB8QTEwMXxBMjAwfEE1MDB8QTUwMXxBNTEwfFc1MDB8VzUwMFB8VzUwMXxXNTAxUClcYicsDQogICAgICAgICdZYXJ2aWtUYWJsZXQnICAgICAgPT4gJ0FuZHJvaWQuKihUQUIyMTB8VEFCMjExfFRBQjIyNHxUQUIyNTB8VEFCMjYwfFRBQjI2NHxUQUIzMTB8VEFCMzYwfFRBQjM2NHxUQUI0MTB8VEFCNDExfFRBQjQyMHxUQUI0MjR8VEFCNDUwfFRBQjQ2MHxUQUI0NjF8VEFCNDY0fFRBQjQ2NXxUQUI0Njd8VEFCNDY4KScsDQogICAgICAgICdNZWRpb25UYWJsZXQnICAgICAgPT4gJ0FuZHJvaWQuKlxiT1lPXGJ8TElGRS4qKFA5MjEyfFA5NTE0fFA5NTE2fFM5NTEyKXxMSUZFVEFCJywNCiAgICAgICAgJ0Fybm92YVRhYmxldCcgICAgICA9PiAnQU4xMEcyfEFON2JHM3xBTjdmRzN8QU44RzN8QU44Y0czfEFON0czfEFOOUczfEFON2RHM3xBTjdkRzNTVHxBTjdkRzNDaGlsZFBhZHxBTjEwYkczfEFOMTBiRzNEVCcsDQogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly93aWtpLmFyY2hvc2ZhbnMuY29tL2luZGV4LnBocD90aXRsZT1NYWluX1BhZ2UNCiAgICAgICAgJ0FyY2hvc1RhYmxldCcgICAgICA9PiAnQW5kcm9pZC4qQVJDSE9TfDEwMUc5fDgwRzknLA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL05PVk83DQogICAgICAgICdBaW5vbFRhYmxldCcgICAgICAgPT4gJ05PVk83fE5vdm83QXVyb3JhfE5vdm83QmFzaWN8Tk9WTzdQQUxBRElOJywNCiAgICAgICAgLy8gQHRvZG86IGluc3BlY3QgaHR0cDovL2VzdXBwb3J0LnNvbnkuY29tL1VTL3Avc2VsZWN0LXN5c3RlbS5wbD9ESVJFQ1RPUj1EUklWRVINCiAgICAgICAgJ1NvbnlUYWJsZXQnICAgICAgICA9PiAnU29ueSBUYWJsZXR8U29ueSBUYWJsZXQgUycsDQogICAgICAgICdHZW5lcmljVGFibGV0JyAgICAgPT4gJ1RhYmxldCg/IS4qUEMpfFZpZXdQYWQ3fExHLVY5MDl8TUlENzAxNXxCTlRWMjUwQXxMb2dpY1BEIFpvb20yfFxiQTdFQlxifENhdE5vdmE4fEExXzA3fENUNzA0fENUMTAwMnxcYk03MjFcYnxocC10YWJsZXQnLA0KICAgICk7DQogICAgLy8gTGlzdCBvZiBtb2JpbGUgT3BlcmF0aW5nIFN5c3RlbXMuDQogICAgcHJvdGVjdGVkICRvcGVyYXRpbmdTeXN0ZW1zID0gYXJyYXkoDQogICAgICAgICdBbmRyb2lkT1MnICAgICAgICAgPT4gJ0FuZHJvaWQnLA0KICAgICAgICAnQmxhY2tCZXJyeU9TJyAgICAgID0+ICdibGFja2JlcnJ5fHJpbSB0YWJsZXQgb3MnLA0KICAgICAgICAnUGFsbU9TJyAgICAgICAgICAgID0+ICdQYWxtT1N8YXZhbnRnb3xibGF6ZXJ8ZWxhaW5lfGhpcHRvcHxwYWxtfHBsdWNrZXJ8eGlpbm8nLA0KICAgICAgICAnU3ltYmlhbk9TJyAgICAgICAgID0+ICdTeW1iaWFufFN5bWJPU3xTZXJpZXM2MHxTZXJpZXM0MHxTWUItWzAtOV0rfFxiUzYwXGInLA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dpbmRvd3NfTW9iaWxlDQogICAgICAgICdXaW5kb3dzTW9iaWxlT1MnICAgPT4gJ1dpbmRvd3MgQ0UuKihQUEN8U21hcnRwaG9uZXxNb2JpbGV8WzAtOV17M314WzAtOV17M30pfFdpbmRvdyBNb2JpbGV8V2luZG93cyBQaG9uZSBbMC05Ll0rfFdDRTsnLA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dpbmRvd3NfUGhvbmUNCiAgICAgICAgLy8gaHR0cDovL3dpZmVuZy5jbi8/cj1ibG9nJmE9dmlldyZpZD0xMDYNCiAgICAgICAgLy8gaHR0cDovL25pY2tzbmV0dHJhdmVscy5idWlsdHRvcm9hbS5jb20vcG9zdC8yMDExLzAxLzEwL0JvZ3VzLVdpbmRvd3MtUGhvbmUtNy1Vc2VyLUFnZW50LVN0cmluZy5hc3B4DQogICAgICAgICdXaW5kb3dzUGhvbmVPUycgICA9PiAnV2luZG93cyBQaG9uZSBPU3xYQkxXUDd8WnVuZVdQNycsDQogICAgICAgICdpT1MnICAgICAgICAgICAgICAgPT4gJ2lwaG9uZXxpcG9kfGlwYWQnLA0KICAgICAgICAnRmxhc2hMaXRlT1MnICAgICAgID0+ICcnLA0KICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01lZUdvDQogICAgICAgIC8vIEB0b2RvOiByZXNlYXJjaCBNZWVHbyBpbiBVQXMNCiAgICAgICAgJ01lZUdvT1MnICAgICAgICAgICA9PiAnTWVlR28nLA0KICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01hZW1vDQogICAgICAgIC8vIEB0b2RvOiByZXNlYXJjaCBNYWVtbyBpbiBVQXMNCiAgICAgICAgJ01hZW1vT1MnICAgICAgICAgICA9PiAnTWFlbW8nLA0KICAgICAgICAnSmF2YU9TJyAgICAgICAgICAgID0+ICdKMk1FL01JRFB8SmF2YS8nLA0KICAgICAgICAnd2ViT1MnICAgICAgICAgICAgID0+ICd3ZWJPU3xocHdPUycsDQogICAgICAgICdiYWRhT1MnICAgICAgICAgICAgPT4gJ1xiQmFkYVxiJywNCiAgICAgICAgJ0JSRVdPUycgICAgICAgICAgICA9PiAnQlJFVycsDQogICAgKTsNCiAgICAvLyBMaXN0IG9mIG1vYmlsZSBVc2VyIEFnZW50cy4NCiAgICBwcm90ZWN0ZWQgJHVzZXJBZ2VudHMgPSBhcnJheSgNCiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vY2hyb21lL21vYmlsZS9kb2NzL3VzZXItYWdlbnQNCiAgICAgICAgJ0Nocm9tZScgICAgICAgICAgPT4gJ1xiQ3JNb1xifEFuZHJvaWQuKkNocm9tZS9bLjAtOV0qICg/IU1vYmlsZSl8Q3JpT1MnLA0KICAgICAgICAnRG9sZmluJyAgICAgICAgICA9PiAnXGJEb2xmaW5cYicsDQogICAgICAgICdPcGVyYScgICAgICAgICAgID0+ICdPcGVyYS4qTWluaXxPcGVyYS4qTW9iaXxBbmRyb2lkLipPcGVyYScsDQogICAgICAgICdTa3lmaXJlJyAgICAgICAgID0+ICdTa3lmaXJlJywNCiAgICAgICAgJ0lFJyAgICAgICAgICAgICAgPT4gJ0lFTW9iaWxlfE1TSUVNb2JpbGUnLA0KICAgICAgICAnRmlyZWZveCcgICAgICAgICA9PiAnZmVubmVjfGZpcmVmb3guKm1hZW1vfChNb2JpbGV8VGFibGV0KS4qRmlyZWZveHxGaXJlZm94LipNb2JpbGUnLA0KICAgICAgICAnQm9sdCcgICAgICAgICAgICA9PiAnYm9sdCcsDQogICAgICAgICdUZWFTaGFyaycgICAgICAgID0+ICd0ZWFzaGFyaycsDQogICAgICAgICdCbGF6ZXInICAgICAgICAgID0+ICdCbGF6ZXInLA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS8jZG9jdW1lbnRhdGlvbi9BcHBsZUFwcGxpY2F0aW9ucy9SZWZlcmVuY2UvU2FmYXJpV2ViQ29udGVudC9PcHRpbWl6aW5nZm9yU2FmYXJpb25pUGhvbmUvT3B0aW1pemluZ2ZvclNhZmFyaW9uaVBob25lLmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9UUDQwMDA2NTE3LVNXMw0KICAgICAgICAnU2FmYXJpJyAgICAgICAgICA9PiAnVmVyc2lvbi4qTW9iaWxlLipTYWZhcml8U2FmYXJpLipNb2JpbGUnLA0KICAgICAgICAnTWlkb3JpJyAgICAgICAgICA9PiAnbWlkb3JpJywNCiAgICAgICAgJ1RpemVuJyAgICAgICAgICAgPT4gJ1RpemVuJywNCiAgICAgICAgJ1VDQnJvd3NlcicgICAgICAgPT4gJ1VDIEJyb3dzZXJ8VUNXRUInLA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01pbmltbw0KICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Zpc2lvbl9Nb2JpbGVfQnJvd3Nlcg0KICAgICAgICAnR2VuZXJpY0Jyb3dzZXInICA9PiAnTm9raWFCcm93c2VyfE92aUJyb3dzZXJ8U0VNQy4qQnJvd3NlcnxGbHlGbG93fE1pbmltb3xOZXRGcm9udHxOb3ZhcnJhLVZpc2lvbicNCiAgICApOw0KICAgIC8vIFV0aWxpdGllcy4NCiAgICBwcm90ZWN0ZWQgJHV0aWxpdGllcyA9IGFycmF5KA0KICAgICAgICAnV2ViS2l0JyAgICAgICAgPT4gJyh3ZWJraXQpWyAvXShbXHcuXSspJywNCiAgICAgICAgJ0JvdCcgICAgICAgICAgID0+ICdHb29nbGVib3R8RG9Db01vfFlhbmRleEJvdHxiaW5nYm90fGlhX2FyY2hpdmVyfEFocmVmc0JvdHxFem9vbXN8R1NMRmJvdHxXQlNlYXJjaEJvdHxUd2l0dGVyYm90fFR3ZWV0bWVtZUJvdHxUd2lrbGV8UGFwZXJMaUJvdHxXb3Rib3h8VW53aW5kRmV0Y2hvcnxmYWNlYm9va2V4dGVybmFsaGl0JywNCiAgICAgICAgJ01vYmlsZUJvdCcgICAgID0+ICdHb29nbGVib3QtTW9iaWxlfERvQ29Nb3xZYWhvb1NlZWtlci9NMUExLVIyRDInLA0KICAgICk7DQogICAgLy8gUHJvcGVydGllcyBsaXN0Lg0KICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly91c2VyLWFnZW50LXN0cmluZy5pbmZvL2xpc3Qtb2YtdWEjTW9iaWxlIEJyb3dzZXINCiAgICBjb25zdCBWRVIgPSAnKFtcdy5fXSspJzsNCiAgICBwcm90ZWN0ZWQgJHByb3BlcnRpZXMgPSBhcnJheSgNCg0KICAgICAgICAvLyBCdWlsZA0KICAgICAgICAnTW9iaWxlJyAgICAgICAgPT4gJ01vYmlsZS9bVkVSXScsDQogICAgICAgICdCdWlsZCcgICAgICAgICA9PiAnQnVpbGQvW1ZFUl0nLA0KICAgICAgICAnVmVyc2lvbicgICAgICAgPT4gJ1ZlcnNpb24vW1ZFUl0nLA0KICAgICAgICAnVmVuZG9ySUQnICAgICAgPT4gJ1ZlbmRvcklEL1tWRVJdJywNCg0KICAgICAgICAvLyBEZXZpY2VzDQogICAgICAgICdpUGFkJyAgICAgICAgICA9PiAnaVBhZC4qQ1BVW2EteiBdK1tWRVJdJywNCiAgICAgICAgJ2lQaG9uZScgICAgICAgID0+ICdpUGhvbmUuKkNQVVthLXogXStbVkVSXScsDQogICAgICAgICdpUG9kJyAgICAgICAgICA9PiAnaVBvZC4qQ1BVW2EteiBdK1tWRVJdJywNCiAgICAgICAgLy8nQmxhY2tCZXJyeScgICAgPT4gYXJyYXkoJ0JsYWNrQmVycnlbVkVSXScsICdCbGFja0JlcnJ5IFtWRVJdOycpLA0KICAgICAgICAnS2luZGxlJyAgICAgICAgPT4gJ0tpbmRsZS9bVkVSXScsDQoNCiAgICAgICAgLy8gQnJvd3Nlcg0KICAgICAgICAnQ2hyb21lJyAgICAgICAgPT4gJ0Nocm9tZS9bVkVSXScsDQogICAgICAgICdDcmlPUycgICAgICAgICA9PiAnQ3JpT1MvW1ZFUl0nLA0KICAgICAgICAnRG9sZmluJyAgICAgICAgPT4gJ0RvbGZpbi9bVkVSXScsDQogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvVXNlcl9BZ2VudF9TdHJpbmdzX1JlZmVyZW5jZQ0KICAgICAgICAnRmlyZWZveCcgICAgICAgPT4gJ0ZpcmVmb3gvW1ZFUl0nLA0KICAgICAgICAnRmVubmVjJyAgICAgICAgPT4gJ0Zlbm5lYy9bVkVSXScsDQogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNzUwMyh2PXZzLjg1KS5hc3B4DQogICAgICAgICdJRU1vYmlsZScgICAgICA9PiBhcnJheSgnSUVNb2JpbGUvW1ZFUl07JywgJ0lFTW9iaWxlIFtWRVJdJyksDQogICAgICAgICdNU0lFJyAgICAgICAgICA9PiAnTVNJRSBbVkVSXTsnLA0KICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL05ldEZyb250DQogICAgICAgICdOZXRGcm9udCcgICAgICA9PiAnTmV0RnJvbnQvW1ZFUl0nLA0KICAgICAgICAnTm9raWFCcm93c2VyJyAgPT4gJ05va2lhQnJvd3Nlci9bVkVSXScsDQogICAgICAgICdOb2tpYUJyb3dzZXInICA9PiAnTm9raWFCcm93c2VyL1tWRVJdJywNCiAgICAgICAgJ09wZXJhJyAgICAgICAgID0+ICdWZXJzaW9uL1tWRVJdJywNCiAgICAgICAgJ09wZXJhIE1pbmknICAgID0+ICdPcGVyYSBNaW5pL1tWRVJdJywNCiAgICAgICAgJ09wZXJhIE1vYmknICAgID0+ICdWZXJzaW9uL1tWRVJdJywNCiAgICAgICAgJ1VDIEJyb3dzZXInICAgID0+ICdVQyBCcm93c2VyW1ZFUl0nLA0KICAgICAgICAnU2FmYXJpJyAgICAgICAgPT4gJ1ZlcnNpb24vW1ZFUl0nLA0KICAgICAgICAnU2t5ZmlyZScgICAgICAgPT4gJ1NreWZpcmUvW1ZFUl0nLA0KICAgICAgICAnVGl6ZW4nICAgICAgICAgPT4gJ1RpemVuL1tWRVJdJywNCiAgICAgICAgJ1dlYmtpdCcgICAgICAgID0+ICd3ZWJraXRbIC9dW1ZFUl0nLA0KDQogICAgICAgIC8vIEVuZ2luZQ0KICAgICAgICAnR2Vja28nICAgICAgICAgPT4gJ0dlY2tvL1tWRVJdJywNCiAgICAgICAgJ1RyaWRlbnQnICAgICAgID0+ICdUcmlkZW50L1tWRVJdJywNCiAgICAgICAgJ1ByZXN0bycgICAgICAgID0+ICdQcmVzdG8vW1ZFUl0nLA0KDQogICAgICAgIC8vIE9TDQogICAgICAgICdBbmRyb2lkJyAgICAgICAgICA9PiAnQW5kcm9pZCBbVkVSXScsDQogICAgICAgICdCbGFja0JlcnJ5JyAgICAgICA9PiBhcnJheSgnQmxhY2tCZXJyeVtcd10rL1tWRVJdJywgJ0JsYWNrQmVycnkuKlZlcnNpb24vW1ZFUl0nKSwNCiAgICAgICAgJ0JSRVcnICAgICAgICAgICAgID0+ICdCUkVXIFtWRVJdJywNCiAgICAgICAgJ0phdmEnICAgICAgICAgICAgID0+ICdKYXZhL1tWRVJdJywNCiAgICAgICAgLy8gQHJlZmVyZW5jZTogaHR0cDovL3dpbmRvd3N0ZWFtYmxvZy5jb20vd2luZG93c19waG9uZS9iL3dwZGV2L2FyY2hpdmUvMjAxMS8wOC8yOS9pbnRyb2R1Y2luZy10aGUtaWU5LW9uLXdpbmRvd3MtcGhvbmUtbWFuZ28tdXNlci1hZ2VudC1zdHJpbmcuYXNweA0KICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dpbmRvd3NfTlQjUmVsZWFzZXMNCiAgICAgICAgJ1dpbmRvd3MgUGhvbmUgT1MnID0+ICdXaW5kb3dzIFBob25lIE9TIFtWRVJdJywNCiAgICAgICAgJ1dpbmRvd3MgUGhvbmUnICAgID0+ICdXaW5kb3dzIFBob25lIFtWRVJdJywNCiAgICAgICAgJ1dpbmRvd3MgQ0UnICAgICAgID0+ICdXaW5kb3dzIENFL1tWRVJdJywNCiAgICAgICAgLy8gaHR0cDovL3NvY2lhbC5tc2RuLm1pY3Jvc29mdC5jb20vRm9ydW1zL2VuLVVTL3dpbmRvd3NkZXZlbG9wZXJwcmV2aWV3Z2VuZXJhbC90aHJlYWQvNmJlMzkyZGEtNGQyZi00MWI0LTgzNTQtOGRjZWUyMGM4NWNkDQogICAgICAgICdXaW5kb3dzIE5UJyAgICAgICA9PiAnV2luZG93cyBOVCBbVkVSXScsDQogICAgICAgICdTeW1iaWFuJyAgICAgICAgICA9PiBhcnJheSgnU3ltYmlhbk9TL1tWRVJdJywgJ1N5bWJpYW4vW1ZFUl0nKSwNCiAgICAgICAgJ3dlYk9TJyAgICAgICAgICAgID0+IGFycmF5KCd3ZWJPUy9bVkVSXScsICdocHdPUy9bVkVSXTsnKSwNCg0KDQogICAgKTsNCg0KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7DQoNCiAgICAgICAgJHRoaXMtPnNldEh0dHBIZWFkZXJzKCk7DQogICAgICAgICR0aGlzLT5zZXRVc2VyQWdlbnQoKTsNCg0KICAgICAgICAkdGhpcy0+c2V0TW9iaWxlRGV0ZWN0aW9uUnVsZXMoKTsNCiAgICAgICAgJHRoaXMtPnNldE1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQoKTsNCg0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIdHRwSGVhZGVycygkaHR0cEhlYWRlcnMgPSBudWxsKXsNCg0KICAgICAgICBpZighZW1wdHkoJGh0dHBIZWFkZXJzKSl7DQogICAgICAgICAgICAkdGhpcy0+aHR0cEhlYWRlcnMgPSAkaHR0cEhlYWRlcnM7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBmb3JlYWNoKCRfU0VSVkVSIGFzICRrZXkgPT4gJHZhbHVlKXsNCiAgICAgICAgICAgICAgICBpZihzdWJzdHIoJGtleSwwLDUpPT0nSFRUUF8nKXsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmh0dHBIZWFkZXJzWyRrZXldID0gJHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHNldFVzZXJBZ2VudCgkdXNlckFnZW50ID0gbnVsbCl7DQoNCiAgICAgICAgaWYoIWVtcHR5KCR1c2VyQWdlbnQpKXsNCiAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnQgPSAkdXNlckFnZW50Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCAgICA9IGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9VU0VSX0FHRU5UJ10pID8gJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1VTRVJfQUdFTlQnXSA6IG51bGw7DQoNCiAgICAgICAgICAgIGlmKGVtcHR5KCR0aGlzLT51c2VyQWdlbnQpKXsNCiAgICAgICAgICAgICAgICAkdGhpcy0+dXNlckFnZW50ID0gaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfREVWSUNFX1VTRVJfQUdFTlQnXSkgPyAkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9ERVZJQ0VfVVNFUl9BR0VOVCddIDogbnVsbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIEhlYWRlciBjYW4gb2NjdXIgb24gZGV2aWNlcyB1c2luZyBPcGVyYSBNaW5pIChjYW4gZXhwb3NlIHRoZSByZWFsIGRldmljZSB0eXBlKS4gTGV0J3MgY29uY2F0ZW5hdGUgaXQgKHdlIG5lZWQgdGhpcyBleHRyYSBpbmZvIGluIHRoZSByZWdleGVzKS4NCiAgICAgICAgICAgIGlmKCFlbXB0eSgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9PUEVSQU1JTklfUEhPTkVfVUEnXSkpew0KICAgICAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnQgLj0gJyAnLiR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX09QRVJBTUlOSV9QSE9ORV9VQSddOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzZXREZXRlY3Rpb25UeXBlKCR0eXBlID0gbnVsbCl7DQoNCiAgICAgICAgJHRoaXMtPmRldGVjdGlvblR5cGUgPSAoIWVtcHR5KCR0eXBlKSA/ICR0eXBlIDogJ21vYmlsZScpOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogTWV0aG9kIHNldHMgdGhlIG1vYmlsZSBkZXRlY3Rpb24gcnVsZXMuDQogICAgICoNCiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGZvciB0aGUgbWFnaWMgbWV0aG9kcyAkZGV0ZWN0LT5pcyooKQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRNb2JpbGVEZXRlY3Rpb25SdWxlcygpew0KICAgICAgICAvLyBNZXJnZSBhbGwgcnVsZXMgdG9nZXRoZXIuDQogICAgICAgICR0aGlzLT5tb2JpbGVEZXRlY3Rpb25SdWxlcyA9IGFycmF5X21lcmdlKA0KICAgICAgICAgICAgJHRoaXMtPnBob25lRGV2aWNlcywNCiAgICAgICAgICAgICR0aGlzLT50YWJsZXREZXZpY2VzLA0KICAgICAgICAgICAgJHRoaXMtPm9wZXJhdGluZ1N5c3RlbXMsDQogICAgICAgICAgICAkdGhpcy0+dXNlckFnZW50cw0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogTWV0aG9kIHNldHMgdGhlIG1vYmlsZSBkZXRlY3Rpb24gcnVsZXMgKyB1dGlsaXRpZXMuDQogICAgICogVGhlIHJlYXNvbiB0aGlzIGlzIHNlcGFyYXRlIGlzIGJlY2F1c2UgdXRpbGl0aWVzIHJ1bGVzDQogICAgICogZG9uJ3QgbmVjZXNzYXJ5IGltcGx5IG1vYmlsZS4NCiAgICAgKg0KICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgaW5zaWRlIHRoZSBuZXcgJGRldGVjdC0+aXMoJ3N0dWZmJykgbWV0aG9kLg0KICAgICAqDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIHNldE1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQoKXsNCg0KICAgICAgICAvLyBNZXJnZSBhbGwgcnVsZXMgdG9nZXRoZXIuDQogICAgICAgICR0aGlzLT5tb2JpbGVEZXRlY3Rpb25SdWxlc0V4dGVuZGVkID0gYXJyYXlfbWVyZ2UoDQogICAgICAgICAgICAkdGhpcy0+cGhvbmVEZXZpY2VzLA0KICAgICAgICAgICAgJHRoaXMtPnRhYmxldERldmljZXMsDQogICAgICAgICAgICAkdGhpcy0+b3BlcmF0aW5nU3lzdGVtcywNCiAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnRzLA0KICAgICAgICAgICAgJHRoaXMtPnV0aWxpdGllcw0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSdWxlcygpDQogICAgew0KDQogICAgICAgIGlmKCR0aGlzLT5kZXRlY3Rpb25UeXBlPT0nZXh0ZW5kZWQnKXsNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bW9iaWxlRGV0ZWN0aW9uUnVsZXNFeHRlbmRlZDsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bW9iaWxlRGV0ZWN0aW9uUnVsZXM7DQogICAgICAgIH0NCg0KICAgIH0NCg0KLyoqDQoqIENoZWNrIHRoZSBIVFRQIGhlYWRlcnMgZm9yIHNpZ25zIG9mIG1vYmlsZS4NCiogVGhpcyBpcyB0aGUgZmFzdGVzdCBtb2JpbGUgY2hlY2sgcG9zc2libGU7IGl0J3MgdXNlZA0KKiBpbnNpZGUgaXNNb2JpbGUoKSBtZXRob2QuDQoqIEByZXR1cm4gYm9vbGVhbg0KKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tIdHRwSGVhZGVyc0Zvck1vYmlsZSgpew0KDQogICAgICAgIGlmKA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX0FDQ0VQVCddKSAmJg0KICAgICAgICAgICAgICAgIChzdHJwb3MoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX0FDQ0VQVCddLCAnYXBwbGljYXRpb24veC1vYm1sMmQnKSAhPT0gZmFsc2UgfHwgLy8gT3BlcmEgTWluaTsgQHJlZmVyZW5jZTogaHR0cDovL2Rldi5vcGVyYS5jb20vYXJ0aWNsZXMvdmlldy9vcGVyYS1iaW5hcnktbWFya3VwLWxhbmd1YWdlLw0KICAgICAgICAgICAgICAgICBzdHJwb3MoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX0FDQ0VQVCddLCAnYXBwbGljYXRpb24vdm5kLnJpbS5odG1sJykgIT09IGZhbHNlIHx8IC8vIEJsYWNrQmVycnkgZGV2aWNlcy4NCiAgICAgICAgICAgICAgICAgc3RycG9zKCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9BQ0NFUFQnXSwgJ3RleHQvdm5kLndhcC53bWwnKSAhPT0gZmFsc2UgfHwNCiAgICAgICAgICAgICAgICAgc3RycG9zKCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9BQ0NFUFQnXSwgJ2FwcGxpY2F0aW9uL3ZuZC53YXAueGh0bWwreG1sJykgIT09IGZhbHNlKSB8fA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfV0FQX1BST0ZJTEUnXSkgICAgICAgICAgICAgfHwgLy8gQHRvZG86IHZhbGlkYXRlDQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9XQVBfQ0xJRU5USUQnXSkgICAgICAgICAgICB8fA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1dBUF9DT05ORUNUSU9OJ10pICAgICAgICAgICAgfHwNCiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9QUk9GSUxFJ10pICAgICAgICAgICAgICAgICAgIHx8DQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9PUEVSQU1JTklfUEhPTkVfVUEnXSkgICAgICB8fCAvLyBSZXBvcnRlZCBieSBOb2tpYSBkZXZpY2VzIChlZy4gQzMpDQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9OT0tJQV9JUEFERFJFU1MnXSkgICAgICAgICB8fA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfTk9LSUFfR0FURVdBWV9JRCddKSAgICAgICAgfHwNCiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX09SQU5HRV9JRCddKSAgICAgICAgICAgICAgIHx8DQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9WT0RBRk9ORV8zR1BEUENPTlRFWFQnXSkgICB8fA0KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfSFVBV0VJX1VTRVJJRCddKSAgICAgICAgICAgfHwNCiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9VQV9PUyddKSAgICAgICAgICAgICAgICAgICAgIHx8IC8vIFJlcG9ydGVkIGJ5IFdpbmRvd3MgU21hcnRwaG9uZXMuDQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9NT0JJTEVfR0FURVdBWSddKSAgICAgICAgICB8fCAvLyBSZXBvcnRlZCBieSBWZXJpem9uLCBWb2RhZm9uZSBwcm94eSBzeXN0ZW0uDQogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9BVFRfREVWSUNFSUQnXSkgICAgICAgICAgICB8fCAvLyBTZWVuZCB0aGlzIG9uIEhUQyBTZW5zYXRpb24uIEByZWY6IFNlbnNhdGlvblhFX0JlYXRzX1o3MTVlDQogICAgICAgICAgICAvL0hUVFBfWF9ORVRXT1JLX1RZUEUgPSBXSUZJDQogICAgICAgICAgICAoIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9VQV9DUFUnXSkgJiYNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1VBX0NQVSddID09ICdBUk0nICAgICAgICAgIC8vIFNlZW4gdGhpcyBvbiBhIEhUQy4NCiAgICAgICAgICAgICkNCiAgICAgICAgKXsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIE1hZ2ljIG92ZXJsb2FkaW5nIG1ldGhvZC4NCiAgICAgKg0KICAgICAqIEBtZXRob2QgYm9vbGVhbiBpc1suLi5dKCkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lDQogICAgICogQHBhcmFtIGFycmF5ICRhcmd1bWVudHMNCiAgICAgKiBAcmV0dXJuIG1peGVkDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkbmFtZSwgJGFyZ3VtZW50cykNCiAgICB7DQoNCiAgICAgICAgJHRoaXMtPnNldERldGVjdGlvblR5cGUoJ21vYmlsZScpOw0KDQogICAgICAgICRrZXkgPSBzdWJzdHIoJG5hbWUsIDIpOw0KICAgICAgICByZXR1cm4gJHRoaXMtPm1hdGNoVUFBZ2FpbnN0S2V5KCRrZXkpOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgKiBGaW5kIGEgZGV0ZWN0aW9uIHJ1bGUgdGhhdCBtYXRjaGVzIHRoZSBjdXJyZW50IFVzZXItYWdlbnQuDQogICAgKg0KICAgICogQHBhcmFtIG51bGwgJHVzZXJBZ2VudCBkZXByZWNhdGVkDQogICAgKiBAcmV0dXJuIGJvb2xlYW4NCiAgICAqLw0KICAgIHByaXZhdGUgZnVuY3Rpb24gbWF0Y2hEZXRlY3Rpb25SdWxlc0FnYWluc3RVQSgkdXNlckFnZW50ID0gbnVsbCl7DQoNCiAgICAgICAgLy8gQmVnaW4gZ2VuZXJhbCBzZWFyY2guDQogICAgICAgIGZvcmVhY2goJHRoaXMtPmdldFJ1bGVzKCkgYXMgJF9yZWdleCl7DQogICAgICAgICAgICBpZihlbXB0eSgkX3JlZ2V4KSl7IGNvbnRpbnVlOyB9DQogICAgICAgICAgICBpZiggJHRoaXMtPm1hdGNoKCRfcmVnZXgsICR1c2VyQWdlbnQpICl7DQogICAgICAgICAgICAgICAgLy92YXJfZHVtcCggJF9yZWdleCApOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgKiBTZWFyY2ggZm9yIGEgY2VydGFpbiBrZXkgaW4gdGhlIHJ1bGVzIGFycmF5Lg0KICAgICogSWYgdGhlIGtleSBpcyBmb3VuZCB0aGUgdHJ5IHRvIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nDQogICAgKiByZWdleCBhZ2FpbnMgdGhlIFVzZXItYWdlbnQuDQogICAgKg0KICAgICogQHBhcmFtIHN0cmluZyAka2V5DQogICAgKiBAcGFyYW0gbnVsbCAkdXNlckFnZW50IGRlcHJlY2F0ZWQNCiAgICAqIEByZXR1cm4gbWl4ZWQNCiAgICAqLw0KICAgIHByaXZhdGUgZnVuY3Rpb24gbWF0Y2hVQUFnYWluc3RLZXkoJGtleSwgJHVzZXJBZ2VudCA9IG51bGwpew0KDQogICAgICAgIC8vIE1ha2UgdGhlIGtleXMgbG93ZXJjYXNlIHNvIHdlIGNhbiBtYXRjaDogaXNJcGhvbmUoKSwgaXNpUGhvbmUoKSwgaXNpcGhvbmUoKSwgZXRjLg0KICAgICAgICAka2V5ID0gc3RydG9sb3dlcigka2V5KTsNCiAgICAgICAgJF9ydWxlcyA9IGFycmF5X2NoYW5nZV9rZXlfY2FzZSgkdGhpcy0+Z2V0UnVsZXMoKSk7DQoNCiAgICAgICAgaWYoYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkX3J1bGVzKSl7DQogICAgICAgICAgICBpZihlbXB0eSgkX3J1bGVzWyRrZXldKSl7IHJldHVybiBudWxsOyB9DQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1hdGNoKCRfcnVsZXNbJGtleV0sICR1c2VyQWdlbnQpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgKiBDaGVjayBpZiB0aGUgZGV2aWNlIGlzIG1vYmlsZS4NCiAgICAqIFJldHVybnMgdHJ1ZSBpZiBhbnkgdHlwZSBvZiBtb2JpbGUgZGV2aWNlIGRldGVjdGVkLCBpbmNsdWRpbmcgc3BlY2lhbCBvbmVzDQogICAgKiBAcGFyYW0gbnVsbCAkdXNlckFnZW50IGRlcHJlY2F0ZWQNCiAgICAqIEBwYXJhbSBudWxsICRodHRwSGVhZGVycyBkZXByZWNhdGVkDQogICAgKiBAcmV0dXJuIGJvb2wNCiAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc01vYmlsZSgkdXNlckFnZW50ID0gbnVsbCwgJGh0dHBIZWFkZXJzID0gbnVsbCkgew0KDQogICAgICAgIGlmKCRodHRwSGVhZGVycyl7ICR0aGlzLT5zZXRIdHRwSGVhZGVycygkaHR0cEhlYWRlcnMpOyB9DQogICAgICAgIGlmKCR1c2VyQWdlbnQpeyAkdGhpcy0+c2V0VXNlckFnZW50KCR1c2VyQWdlbnQpOyB9DQoNCiAgICAgICAgJHRoaXMtPnNldERldGVjdGlvblR5cGUoJ21vYmlsZScpOw0KDQogICAgICAgIGlmICgkdGhpcy0+Y2hlY2tIdHRwSGVhZGVyc0Zvck1vYmlsZSgpKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bWF0Y2hEZXRlY3Rpb25SdWxlc0FnYWluc3RVQSgpOw0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICAvKioNCiAgICAqIENoZWNrIGlmIHRoZSBkZXZpY2UgaXMgYSB0YWJsZXQuDQogICAgKiBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHlwZSBvZiB0YWJsZXQgZGV2aWNlIGlzIGRldGVjdGVkLg0KICAgICAqDQogICAgICogQHBhcmFtIG51bGwgJHVzZXJBZ2VudCBkZXByZWNhdGVkDQogICAgICogQHBhcmFtIG51bGwgJGh0dHBIZWFkZXJzIGRlcHJlY2F0ZWQNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1RhYmxldCgkdXNlckFnZW50ID0gbnVsbCwgJGh0dHBIZWFkZXJzID0gbnVsbCkgew0KDQogICAgICAgICR0aGlzLT5zZXREZXRlY3Rpb25UeXBlKCdtb2JpbGUnKTsNCg0KICAgICAgICBmb3JlYWNoKCR0aGlzLT50YWJsZXREZXZpY2VzIGFzICRfcmVnZXgpew0KICAgICAgICAgICAgaWYoJHRoaXMtPm1hdGNoKCRfcmVnZXgsICR1c2VyQWdlbnQpKXsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQoJICAgIHJldHVybiBmYWxzZTsNCg0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFRoaXMgbWV0aG9kIGNoZWNrcyBmb3IgYSBjZXJ0YWluIHByb3BlcnR5IGluIHRoZQ0KICAgICAqIHVzZXJBZ2VudC4NCiAgICAgKiBAdG9kbzogVGhlIGh0dHBIZWFkZXJzIHBhcnQgaXMgbm90IHlldCB1c2VkLg0KICAgICAqDQogICAgICogQHBhcmFtICRrZXkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyQWdlbnQgZGVwcmVjYXRlZA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGh0dHBIZWFkZXJzIGRlcHJlY2F0ZWQNCiAgICAgKiBAcmV0dXJuIGJvb2x8aW50fG51bGwNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gaXMoJGtleSwgJHVzZXJBZ2VudCA9IG51bGwsICRodHRwSGVhZGVycyA9IG51bGwpew0KDQoNCiAgICAgICAgLy8gU2V0IHRoZSBVQSBhbmQgSFRUUCBoZWFkZXJzIG9ubHkgaWYgbmVlZGVkIChlZy4gYmF0Y2ggbW9kZSkuDQogICAgICAgIGlmKCRodHRwSGVhZGVycykgJHRoaXMtPnNldEh0dHBIZWFkZXJzKCRodHRwSGVhZGVycyk7DQogICAgICAgIGlmKCR1c2VyQWdlbnQpICR0aGlzLT5zZXRVc2VyQWdlbnQoJHVzZXJBZ2VudCk7DQoNCiAgICAgICAgJHRoaXMtPnNldERldGVjdGlvblR5cGUoJ2V4dGVuZGVkJyk7DQoNCiAgICAgICAgcmV0dXJuICR0aGlzLT5tYXRjaFVBQWdhaW5zdEtleSgka2V5KTsNCg0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRPcGVyYXRpbmdTeXN0ZW1zKCl7DQoNCiAgICAgICAgcmV0dXJuICR0aGlzLT5vcGVyYXRpbmdTeXN0ZW1zOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogU29tZSBkZXRlY3Rpb24gcnVsZXMgYXJlIHJlbGF0aXZlIChub3Qgc3RhbmRhcmQpLA0KICAgICAqIGJlY2F1c2Ugb2YgdGhlIGRpdmVyc2l0eSBvZiBkZXZpY2VzLCB2ZW5kb3JzIGFuZA0KICAgICAqIHRoZWlyIGNvbnZlbnRpb25zIGluIHJlcHJlc2VudGluZyB0aGUgVXNlci1BZ2VudCBvcg0KICAgICAqIHRoZSBIVFRQIGhlYWRlcnMuDQogICAgICoNCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgY3VzdG9tIHJlZ2V4ZXMgYWdhaW5zdA0KICAgICAqIHRoZSBVc2VyLUFnZW50IHN0cmluZy4NCiAgICAgKg0KICAgICAqIEBwYXJhbSAkcmVnZXgNCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyQWdlbnQNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKg0KICAgICAqIEB0b2RvOiBzZWFyY2ggaW4gdGhlIEhUVFAgaGVhZGVycyB0b28uDQogICAgICovDQogICAgZnVuY3Rpb24gbWF0Y2goJHJlZ2V4LCAkdXNlckFnZW50PW51bGwpew0KDQogICAgICAgIC8vIEVzY2FwZSB0aGUgc3BlY2lhbCBjaGFyYWN0ZXIgd2hpY2ggaXMgdGhlIGRlbGltaXRlci4NCiAgICAgICAgJHJlZ2V4ID0gc3RyX3JlcGxhY2UoJy8nLCAnXC8nLCAkcmVnZXgpOw0KDQogICAgICAgIHJldHVybiAoYm9vbClwcmVnX21hdGNoKCcvJy4kcmVnZXguJy9pcycsICghZW1wdHkoJHVzZXJBZ2VudCkgPyAkdXNlckFnZW50IDogJHRoaXMtPnVzZXJBZ2VudCkpOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogR2V0IHRoZSBwcm9wZXJ0aWVzIGFycmF5Lg0KICAgICAqIEByZXR1cm4gYXJyYXkNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBnZXRQcm9wZXJ0aWVzKCl7DQoNCiAgICAgICAgcmV0dXJuICR0aGlzLT5wcm9wZXJ0aWVzOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogUHJlcGFyZSB0aGUgdmVyc2lvbiBudW1iZXIuDQogICAgICoNCiAgICAgKiBAcGFyYW0gJHZlcg0KICAgICAqIEByZXR1cm4gaW50DQogICAgICovDQogICAgZnVuY3Rpb24gcHJlcGFyZVZlcnNpb25ObygkdmVyKXsNCg0KICAgICAgICAkdmVyID0gc3RyX3JlcGxhY2UoYXJyYXkoJ18nLCAnICcsICcvJyksIGFycmF5KCcuJywgJy4nLCAnLicpLCAkdmVyKTsNCiAgICAgICAgJGFyclZlciA9IGV4cGxvZGUoJy4nLCAkdmVyLCAyKTsNCiAgICAgICAgJGFyclZlclsxXSA9IEBzdHJfcmVwbGFjZSgnLicsICcnLCAkYXJyVmVyWzFdKTsgLy8gQHRvZG86IHRyZWF0IHN0cmluZ3MgdmVyc2lvbnMuDQogICAgICAgICR2ZXIgPSAoZmxvYXQpaW1wbG9kZSgnLicsICRhcnJWZXIpOw0KDQogICAgICAgIHJldHVybiAkdmVyOw0KDQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ2hlY2sgdGhlIHZlcnNpb24gb2YgdGhlIGdpdmVuIHByb3BlcnR5IGluIHRoZSBVc2VyLUFnZW50Lg0KICAgICAqIFdpbGwgcmV0dXJuIGEgZmxvYXQgbnVtYmVyLiAoZWcuIDJfMCB3aWxsIHJldHVybiAyLjAsIDQuMy4xIHdpbGwgcmV0dXJuIDQuMzEpDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwcm9wZXJ0eU5hbWUNCiAgICAgKiBAcmV0dXJuIG1peGVkICR2ZXJzaW9uDQogICAgICovDQogICAgZnVuY3Rpb24gdmVyc2lvbigkcHJvcGVydHlOYW1lKXsNCg0KICAgICAgICAkcHJvcGVydGllcyA9ICR0aGlzLT5nZXRQcm9wZXJ0aWVzKCk7DQoNCiAgICAgICAgLy8gSWYgdGhlIHByb3BlcnR5IGlzIGZvdW5kIGluIHRoZSBVc2VyLUFnZW50IHRoZW4gbW92ZSB0byB0aGUgbmV4dCBzdGVwLg0KICAgICAgICBpZihzdHJpcG9zKCR0aGlzLT51c2VyQWdlbnQsICRwcm9wZXJ0eU5hbWUpIT09ZmFsc2Upew0KDQogICAgICAgICAgICAvLyBQcmVwYXJlIHRoZSBwYXR0ZXJuIHRvIGJlIG1hdGNoZWQuDQogICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlYWwgd2l0aCBhbiBhcnJheSAoc3RyaW5nIGlzIGNvbnZlcnRlZCkuDQogICAgICAgICAgICAkcHJvcGVydGllc1skcHJvcGVydHlOYW1lXSA9IChhcnJheSkkcHJvcGVydGllc1skcHJvcGVydHlOYW1lXTsNCg0KICAgICAgICAgICAgZm9yZWFjaCgkcHJvcGVydGllc1skcHJvcGVydHlOYW1lXSBhcyAkcHJvcGVydHlNYXRjaFN0cmluZyl7DQoNCiAgICAgICAgICAgICAgICAkcHJvcGVydHlQYXR0ZXJuID0gc3RyX3JlcGxhY2UoJ1tWRVJdJywgc2VsZjo6VkVSLCAkcHJvcGVydHlNYXRjaFN0cmluZyk7DQoNCiAgICAgICAgICAgICAgICAvLyBFc2NhcGUgdGhlIHNwZWNpYWwgY2hhcmFjdGVyIHdoaWNoIGlzIHRoZSBkZWxpbWl0ZXIuDQogICAgICAgICAgICAgICAgJHByb3BlcnR5UGF0dGVybiA9IHN0cl9yZXBsYWNlKCcvJywgJ1wvJywgJHByb3BlcnR5UGF0dGVybik7DQoNCiAgICAgICAgICAgICAgICAvLyBJZGVudGlmeSBhbmQgZXh0cmFjdCB0aGUgdmVyc2lvbi4NCiAgICAgICAgICAgICAgICBwcmVnX21hdGNoKCcvJy4kcHJvcGVydHlQYXR0ZXJuLicvaXMnLCAkdGhpcy0+dXNlckFnZW50LCAkbWF0Y2gpOw0KDQogICAgICAgICAgICAgICAgaWYoIWVtcHR5KCRtYXRjaFsxXSkpew0KICAgICAgICAgICAgICAgICAgICAkdmVyc2lvbiA9ICR0aGlzLT5wcmVwYXJlVmVyc2lvbk5vKCRtYXRjaFsxXSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdmVyc2lvbjsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIDA7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vYmlsZUdyYWRlKCl7DQoNCiAgICAgICAgJGlzTW9iaWxlID0gJHRoaXMtPmlzTW9iaWxlKCk7DQoNCiAgICAgICAgaWYoDQogICAgICAgICAgICAvLyBBcHBsZSBpT1MgMy4yLTUuMSAtIFRlc3RlZCBvbiB0aGUgb3JpZ2luYWwgaVBhZCAoNC4zIC8gNS4wKSwgaVBhZCAyICg0LjMpLCBpUGFkIDMgKDUuMSksIG9yaWdpbmFsIGlQaG9uZSAoMy4xKSwgaVBob25lIDMgKDMuMiksIDNHUyAoNC4zKSwgNCAoNC4zIC8gNS4wKSwgYW5kIDRTICg1LjEpDQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignaVBhZCcpPj00LjMgfHwNCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdpUGhvbmUnKT49My4xIHx8DQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignaVBvZCcpPj0zLjEgfHwNCg0KICAgICAgICAgICAgLy8gQW5kcm9pZCAyLjEtMi4zIC0gVGVzdGVkIG9uIHRoZSBIVEMgSW5jcmVkaWJsZSAoMi4yKSwgb3JpZ2luYWwgRHJvaWQgKDIuMiksIEhUQyBBcmlhICgyLjEpLCBHb29nbGUgTmV4dXMgUyAoMi4zKS4gRnVuY3Rpb25hbCBvbiAxLjUgJiAxLjYgYnV0IHBlcmZvcm1hbmNlIG1heSBiZSBzbHVnZ2lzaCwgdGVzdGVkIG9uIEdvb2dsZSBHMSAoMS41KQ0KICAgICAgICAgICAgLy8gQW5kcm9pZCAzLjEgKEhvbmV5Y29tYikgIC0gVGVzdGVkIG9uIHRoZSBTYW1zdW5nIEdhbGF4eSBUYWIgMTAuMSBhbmQgTW90b3JvbGEgWE9PTQ0KICAgICAgICAgICAgLy8gQW5kcm9pZCA0LjAgKElDUykgIC0gVGVzdGVkIG9uIGEgR2FsYXh5IE5leHVzLiBOb3RlOiB0cmFuc2l0aW9uIHBlcmZvcm1hbmNlIGNhbiBiZSBwb29yIG9uIHVwZ3JhZGVkIGRldmljZXMNCiAgICAgICAgICAgIC8vIEFuZHJvaWQgNC4xIChKZWxseSBCZWFuKSAgLSBUZXN0ZWQgb24gYSBHYWxheHkgTmV4dXMgYW5kIEdhbGF4eSA3DQogICAgICAgICAgICAoICR0aGlzLT52ZXJzaW9uKCdBbmRyb2lkJyk+Mi4xICYmICR0aGlzLT5pcygnV2Via2l0JykgKSB8fA0KDQogICAgICAgICAgICAvLyBXaW5kb3dzIFBob25lIDctNy41IC0gVGVzdGVkIG9uIHRoZSBIVEMgU3Vycm91bmQgKDcuMCkgSFRDIFRyb3BoeSAoNy41KSwgTEctRTkwMCAoNy41KSwgTm9raWEgTHVtaWEgODAwDQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignV2luZG93cyBQaG9uZSBPUycpPj03LjAgfHwNCg0KICAgICAgICAgICAgLy8gQmxhY2tiZXJyeSA3IC0gVGVzdGVkIG9uIEJsYWNrQmVycnnCriBUb3JjaCA5ODEwDQogICAgICAgICAgICAvLyBCbGFja2JlcnJ5IDYuMCAtIFRlc3RlZCBvbiB0aGUgVG9yY2ggOTgwMCBhbmQgU3R5bGUgOTY3MA0KICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ0JsYWNrQmVycnknKT49Ni4wIHx8DQogICAgICAgICAgICAvLyBCbGFja2JlcnJ5IFBsYXlib29rICgxLjAtMi4wKSAtIFRlc3RlZCBvbiBQbGF5Qm9vaw0KICAgICAgICAgICAgJHRoaXMtPm1hdGNoKCdQbGF5Ym9vay4qVGFibGV0JykgfHwNCg0KICAgICAgICAgICAgLy8gUGFsbSBXZWJPUyAoMS40LTIuMCkgLSBUZXN0ZWQgb24gdGhlIFBhbG0gUGl4aSAoMS40KSwgUHJlICgxLjQpLCBQcmUgMiAoMi4wKQ0KICAgICAgICAgICAgKCAkdGhpcy0+dmVyc2lvbignd2ViT1MnKT49MS40ICYmICR0aGlzLT5tYXRjaCgnUGFsbXxQcmV8UGl4aScpICkgfHwNCiAgICAgICAgICAgIC8vIFBhbG0gV2ViT1MgMy4wICAtIFRlc3RlZCBvbiBIUCBUb3VjaFBhZA0KICAgICAgICAgICAgJHRoaXMtPm1hdGNoKCdocC4qVG91Y2hQYWQnKSB8fA0KDQogICAgICAgICAgICAvLyBGaXJlZm94IE1vYmlsZSAoMTIgQmV0YSkgLSBUZXN0ZWQgb24gQW5kcm9pZCAyLjMgZGV2aWNlDQogICAgICAgICAgICAoICR0aGlzLT5pcygnRmlyZWZveCcpICYmICR0aGlzLT52ZXJzaW9uKCdGaXJlZm94Jyk+PTEyICkgfHwNCg0KICAgICAgICAgICAgLy8gQ2hyb21lIGZvciBBbmRyb2lkIC0gVGVzdGVkIG9uIEFuZHJvaWQgNC4wLCA0LjEgZGV2aWNlDQogICAgICAgICAgICAoICR0aGlzLT5pcygnQ2hyb21lJykgJiYgJHRoaXMtPmlzKCdBbmRyb2lkT1MnKSAmJiAkdGhpcy0+dmVyc2lvbignQW5kcm9pZCcpPj00LjAgKSB8fA0KDQogICAgICAgICAgICAvLyBTa3lmaXJlIDQuMSAtIFRlc3RlZCBvbiBBbmRyb2lkIDIuMyBkZXZpY2UNCiAgICAgICAgICAgICggJHRoaXMtPmlzKCdTa3lmaXJlJykgJiYgJHRoaXMtPnZlcnNpb24oJ1NreWZpcmUnKT49NC4xICYmICR0aGlzLT5pcygnQW5kcm9pZE9TJykgJiYgJHRoaXMtPnZlcnNpb24oJ0FuZHJvaWQnKT49Mi4zICkgfHwNCg0KICAgICAgICAgICAgLy8gT3BlcmEgTW9iaWxlIDExLjUtMTI6IFRlc3RlZCBvbiBBbmRyb2lkIDIuMw0KICAgICAgICAgICAgKCAkdGhpcy0+aXMoJ09wZXJhJykgJiYgJHRoaXMtPnZlcnNpb24oJ09wZXJhIE1vYmknKT4xMSAmJiAkdGhpcy0+aXMoJ0FuZHJvaWRPUycpICkgfHwNCg0KICAgICAgICAgICAgLy8gTWVlZ28gMS4yIC0gVGVzdGVkIG9uIE5va2lhIDk1MCBhbmQgTjkNCiAgICAgICAgICAgICR0aGlzLT5pcygnTWVlR29PUycpIHx8DQoNCiAgICAgICAgICAgIC8vIFRpemVuIChwcmUtcmVsZWFzZSkgLSBUZXN0ZWQgb24gZWFybHkgaGFyZHdhcmUNCiAgICAgICAgICAgICR0aGlzLT5pcygnVGl6ZW4nKSB8fA0KDQogICAgICAgICAgICAvLyBTYW1zdW5nIEJhZGEgMi4wIC0gVGVzdGVkIG9uIGEgU2Ftc3VuZyBXYXZlIDMsIERvbHBoaW4gYnJvd3Nlcg0KICAgICAgICAgICAgLy8gQHRvZG86IG1vcmUgdGVzdHMgaGVyZSENCiAgICAgICAgICAgICR0aGlzLT5pcygnRG9sZmluJykgJiYgJHRoaXMtPnZlcnNpb24oJ0JhZGEnKT49Mi4wIHx8DQoNCiAgICAgICAgICAgIC8vIFVDIEJyb3dzZXIgLSBUZXN0ZWQgb24gQW5kcm9pZCAyLjMgZGV2aWNlDQogICAgICAgICAgICAoICgkdGhpcy0+aXMoJ1VDIEJyb3dzZXInKSB8fCAkdGhpcy0+aXMoJ0RvbGZpbicpKSAmJiAkdGhpcy0+dmVyc2lvbignQW5kcm9pZCcpPj0yLjMgKSB8fA0KDQogICAgICAgICAgICAvLyBLaW5kbGUgMyBhbmQgRmlyZSAgLSBUZXN0ZWQgb24gdGhlIGJ1aWx0LWluIFdlYktpdCBicm93c2VyIGZvciBlYWNoDQogICAgICAgICAgICAoICR0aGlzLT5tYXRjaCgnS2luZGxlIEZpcmUnKSB8fA0KICAgICAgICAgICAgJHRoaXMtPmlzKCdLaW5kbGUnKSAmJiAkdGhpcy0+dmVyc2lvbignS2luZGxlJyk+PTMuMCApIHx8DQoNCiAgICAgICAgICAgIC8vIE5vb2sgQ29sb3IgMS40LjEgLSBUZXN0ZWQgb24gb3JpZ2luYWwgTm9vayBDb2xvciwgbm90IE5vb2sgVGFibGV0DQogICAgICAgICAgICAkdGhpcy0+aXMoJ0FuZHJvaWRPUycpICYmICR0aGlzLT5pcygnTm9va1RhYmxldCcpIHx8DQoNCiAgICAgICAgICAgIC8vIENocm9tZSBEZXNrdG9wIDExLTIxIC0gVGVzdGVkIG9uIE9TIFggMTAuNyBhbmQgV2luZG93cyA3DQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignQ2hyb21lJyk+PTExICYmICEkaXNNb2JpbGUgfHwNCg0KICAgICAgICAgICAgLy8gU2FmYXJpIERlc2t0b3AgNC01IC0gVGVzdGVkIG9uIE9TIFggMTAuNyBhbmQgV2luZG93cyA3DQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignU2FmYXJpJyk+PTUuMCAmJiAhJGlzTW9iaWxlIHx8DQoNCiAgICAgICAgICAgIC8vIEZpcmVmb3ggRGVza3RvcCA0LTEzIC0gVGVzdGVkIG9uIE9TIFggMTAuNyBhbmQgV2luZG93cyA3DQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignRmlyZWZveCcpPj00LjAgJiYgISRpc01vYmlsZSB8fA0KDQogICAgICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA3LTkgLSBUZXN0ZWQgb24gV2luZG93cyBYUCwgVmlzdGEgYW5kIDcNCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdNU0lFJyk+PTcuMCAmJiAhJGlzTW9iaWxlIHx8DQoNCiAgICAgICAgICAgIC8vIE9wZXJhIERlc2t0b3AgMTAtMTIgLSBUZXN0ZWQgb24gT1MgWCAxMC43IGFuZCBXaW5kb3dzIDcNCiAgICAgICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9teS5vcGVyYS5jb20vY29tbXVuaXR5L29wZW53ZWIvaWRvcGVyYS8NCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdPcGVyYScpPj0xMCAmJiAhJGlzTW9iaWxlDQoNCg0KICAgICAgICApew0KICAgICAgICAgICAgcmV0dXJuICdBJzsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKA0KICAgICAgICAgICAgLy8gQmxhY2tiZXJyeSA1LjA6IFRlc3RlZCBvbiB0aGUgU3Rvcm0gMiA5NTUwLCBCb2xkIDk3NzANCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdCbGFja0JlcnJ5Jyk+PTUgJiYgJHRoaXMtPnZlcnNpb24oJ0JsYWNrQmVycnknKTw2IHx8DQoNCiAgICAgICAgICAgIC8vT3BlcmEgTWluaSAoNS4wLTYuNSkgLSBUZXN0ZWQgb24gaU9TIDMuMi80LjMgYW5kIEFuZHJvaWQgMi4zDQogICAgICAgICAgICAoICR0aGlzLT52ZXJzaW9uKCdPcGVyYSBNaW5pJyk+PTUuMCAmJiAkdGhpcy0+dmVyc2lvbignT3BlcmEgTWluaScpPD02LjUgJiYNCiAgICAgICAgICAgICgkdGhpcy0+dmVyc2lvbignQW5kcm9pZCcpPj0yLjMgfHwgJHRoaXMtPmlzKCdpT1MnKSkgKSB8fA0KDQogICAgICAgICAgICAvLyBOb2tpYSBTeW1iaWFuXjMgLSBUZXN0ZWQgb24gTm9raWEgTjggKFN5bWJpYW5eMyksIEM3IChTeW1iaWFuXjMpLCBhbHNvIHdvcmtzIG9uIE45NyAoU3ltYmlhbl4xKQ0KICAgICAgICAgICAgJHRoaXMtPm1hdGNoKCdOb2tpYU44fE5va2lhQzd8Tjk3LipTZXJpZXM2MHxTeW1iaWFuLzMnKSB8fA0KDQogICAgICAgICAgICAvLyBAdG9kbzogcmVwb3J0IHRoaXMgKHRlc3RlZCBvbiBOb2tpYSBONzEpDQogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignT3BlcmEgTW9iaScpPj0xMSAmJiAkdGhpcy0+aXMoJ1N5bWJpYW5PUycpDQoNCiAgICAgICAgICAgICl7DQogICAgICAgICAgICByZXR1cm4gJ0InOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoDQogICAgICAgICAgICAvLyBCbGFja2JlcnJ5IDQueCAtIFRlc3RlZCBvbiB0aGUgQ3VydmUgODMzMA0KICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ0JsYWNrQmVycnknKTw1LjAgfHwNCiAgICAgICAgICAgIC8vIFdpbmRvd3MgTW9iaWxlIC0gVGVzdGVkIG9uIHRoZSBIVEMgTGVvIChXaW5NbyA1LjIpDQogICAgICAgICAgICAkdGhpcy0+bWF0Y2goJ01TSUVNb2JpbGV8V2luZG93cyBDRS4qTW9iaWxlJykgfHwgJHRoaXMtPnZlcnNpb24oJ1dpbmRvd3MgTW9iaWxlJyk8PTUuMg0KDQoNCiAgICAgICAgKXsNCg0KICAgICAgICAgICAgcmV0dXJuICdDJzsNCg0KICAgICAgICB9DQoNCiAgICAgICAgLy8gQWxsIG9sZGVyIHNtYXJ0cGhvbmUgcGxhdGZvcm1zIGFuZCBmZWF0dXJlcGhvbmVzIC0gQW55IGRldmljZSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzIHdpbGwgcmVjZWl2ZSB0aGUgYmFzaWMsIEMgZ3JhZGUgZXhwZXJpZW5jZQ0KICAgICAgICByZXR1cm4gJ0MnOw0KDQoNCiAgICB9DQoNCg0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.parseCSV.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIHBhcnNlQ1NWIHsKCi8qCgoJQ2xhc3M6IHBhcnNlQ1NWIHYwLjQuMyBiZXRhCglodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGFyc2Vjc3YtZm9yLXBocC8KCgoJRnVsbHkgY29uZm9ybXMgdG8gdGhlIHNwZWNpZmljYXRpb25zIGxpbmVkIG91dCBvbiB3aWtpcGVkaWE6CgkgLSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbW1hLXNlcGFyYXRlZF92YWx1ZXMKCglCYXNlZCBvbiB0aGUgY29uY2VwdCBvZiBNaW5nIEhvbmcgTmcncyBDc3ZGaWxlUGFyc2VyIGNsYXNzOgoJIC0gaHR0cDovL21pbmdob25nLmJsb2dzcG90LmNvbS8yMDA2LzA3L2Nzdi1wYXJzZXItZm9yLXBocC5odG1sCgoKCglDb3B5cmlnaHQgKGMpIDIwMDcgSmltIE15aHJiZXJnIChqaW1AenlkZXYuaW5mbykuCgoJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQoJb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKCWluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKCXRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKCWNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwoJZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCglUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgoJYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgoJVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKCUlNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoJRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCglBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCglMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAoJT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgoJVEhFIFNPRlRXQVJFLgoKCgoJQ29kZSBFeGFtcGxlcwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBnZW5lcmFsIHVzYWdlCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCdkYXRhLmNzdicpOwoJcHJpbnRfcigkY3N2LT5kYXRhKTsKCS0tLS0tLS0tLS0tLS0tLS0KCSMgdGFiIGRlbGltaXRlZCwgYW5kIGVuY29kaW5nIGNvbnZlcnNpb24KCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPmVuY29kaW5nKCdVVEYtMTYnLCAnVVRGLTgnKTsKCSRjc3YtPmRlbGltaXRlciA9ICJcdCI7CgkkY3N2LT5wYXJzZSgnZGF0YS50c3YnKTsKCXByaW50X3IoJGNzdi0+ZGF0YSk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIGF1dG8tZGV0ZWN0IGRlbGltaXRlciBjaGFyYWN0ZXIKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPmF1dG8oJ2RhdGEuY3N2Jyk7CglwcmludF9yKCRjc3YtPmRhdGEpOwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBtb2RpZnkgZGF0YSBpbiBhIGNzdiBmaWxlCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5zb3J0X2J5ID0gJ2lkJzsKCSRjc3YtPnBhcnNlKCdkYXRhLmNzdicpOwoJIyAiNCIgaXMgdGhlIHZhbHVlIG9mIHRoZSAiaWQiIGNvbHVtbiBvZiB0aGUgQ1NWIHJvdwoJJGNzdi0+ZGF0YVs0XSA9IGFycmF5KCdmaXJzdG5hbWUnID0+ICdKb2huJywgJ2xhc3RuYW1lJyA9PiAnRG9lJywgJ2VtYWlsJyA9PiAnam9obkBkb2UuY29tJyk7CgkkY3N2LT5zYXZlKCk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIGFkZCByb3cvZW50cnkgdG8gZW5kIG9mIENTViBmaWxlCgkjICAtIG9ubHkgcmVjb21tZW5kZWQgd2hlbiB5b3Uga25vdyB0aGUgZXh0YWN0IHNjdHJ1Y3R1cmUgb2YgdGhlIGZpbGUKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPnNhdmUoJ2RhdGEuY3N2JywgYXJyYXkoJzE5ODYnLCAnSG9tZScsICdOb3doZXJlJywgJycpLCB0cnVlKTsKCS0tLS0tLS0tLS0tLS0tLS0KCSMgY29udmVydCAyRCBhcnJheSB0byBjc3YgZGF0YSBhbmQgc2VuZCBoZWFkZXJzCgkjIHRvIGJyb3dzZXIgdG8gdHJlYXQgb3V0cHV0IGFzIGEgZmlsZSBhbmQgZG93bmxvYWQgaXQKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPm91dHB1dCAodHJ1ZSwgJ21vdmllcy5jc3YnLCAkYXJyYXkpOwoJLS0tLS0tLS0tLS0tLS0tLQoKCiovCgoKCS8qKgoJICogQ29uZmlndXJhdGlvbgoJICogLSBzZXQgdGhlc2Ugb3B0aW9ucyB3aXRoICRvYmplY3QtPnZhcl9uYW1lID0gJ3ZhbHVlJzsKCSAqLwoKCSMgdXNlIGZpcnN0IGxpbmUvZW50cnkgYXMgZmllbGQgbmFtZXMKCXZhciAkaGVhZGluZyA9IHRydWU7CgoJIyBvdmVycmlkZSBmaWVsZCBuYW1lcwoJdmFyICRmaWVsZHMgPSBhcnJheSgpOwoKCSMgc29ydCBlbnRyaWVzIGJ5IHRoaXMgZmllbGQKCXZhciAkc29ydF9ieSA9IG51bGw7Cgl2YXIgJHNvcnRfcmV2ZXJzZSA9IGZhbHNlOwoKCSMgc29ydCBiZWhhdmlvciBwYXNzZWQgdG8ga3NvcnQva3Jzb3J0IGZ1bmN0aW9ucwoJIyByZWd1bGFyID0gU09SVF9SRUdVTEFSCgkjIG51bWVyaWMgPSBTT1JUX05VTUVSSUMKCSMgc3RyaW5nICA9IFNPUlRfU1RSSU5HCgl2YXIgJHNvcnRfdHlwZSA9IG51bGw7CgoJIyBkZWxpbWl0ZXIgKGNvbW1hKSBhbmQgZW5jbG9zdXJlIChkb3VibGUgcXVvdGUpCgl2YXIgJGRlbGltaXRlciA9ICcsJzsKCXZhciAkZW5jbG9zdXJlID0gJyInOwoKCSMgYmFzaWMgU1FMLWxpa2UgY29uZGl0aW9ucyBmb3Igcm93IG1hdGNoaW5nCgl2YXIgJGNvbmRpdGlvbnMgPSBudWxsOwoKCSMgbnVtYmVyIG9mIHJvd3MgdG8gaWdub3JlIGZyb20gYmVnaW5uaW5nIG9mIGRhdGEKCXZhciAkb2Zmc2V0ID0gbnVsbDsKCgkjIGxpbWl0cyB0aGUgbnVtYmVyIG9mIHJldHVybmVkIHJvd3MgdG8gc3BlY2lmaWVkIGFtb3VudAoJdmFyICRsaW1pdCA9IG51bGw7CgoJIyBudW1iZXIgb2Ygcm93cyB0byBhbmFseXplIHdoZW4gYXR0ZW1wdGluZyB0byBhdXRvLWRldGVjdCBkZWxpbWl0ZXIKCXZhciAkYXV0b19kZXB0aCA9IDE1OwoKCSMgY2hhcmFjdGVycyB0byBpZ25vcmUgd2hlbiBhdHRlbXB0aW5nIHRvIGF1dG8tZGV0ZWN0IGRlbGltaXRlcgoJdmFyICRhdXRvX25vbl9jaGFycyA9ICJhLXpBLVowLTlcblxyIjsKCgkjIHByZWZlcnJlZCBkZWxpbWl0ZXIgY2hhcmFjdGVycywgb25seSB1c2VkIHdoZW4gYWxsIGZpbHRlcmluZyBtZXRob2QKCSMgcmV0dXJucyBtdWx0aXBsZSBwb3NzaWJsZSBkZWxpbWl0ZXJzIChoYXBwZW5zIHZlcnkgcmFyZWx5KQoJdmFyICRhdXRvX3ByZWZlcnJlZCA9ICIsO1x0Ljp8IjsKCgkjIGNoYXJhY3RlciBlbmNvZGluZyBvcHRpb25zCgl2YXIgJGNvbnZlcnRfZW5jb2RpbmcgPSBmYWxzZTsKCXZhciAkaW5wdXRfZW5jb2RpbmcgPSAnSVNPLTg4NTktMSc7Cgl2YXIgJG91dHB1dF9lbmNvZGluZyA9ICdJU08tODg1OS0xJzsKCgkjIHVzZWQgYnkgdW5wYXJzZSgpLCBzYXZlKCksIGFuZCBvdXRwdXQoKSBmdW5jdGlvbnMKCXZhciAkbGluZWZlZWQgPSAiXHJcbiI7CgoJIyBvbmx5IHVzZWQgYnkgb3V0cHV0KCkgZnVuY3Rpb24KCXZhciAkb3V0cHV0X2RlbGltaXRlciA9ICcsJzsKCXZhciAkb3V0cHV0X2ZpbGVuYW1lID0gJ2RhdGEuY3N2JzsKCgkjIGtlZXAgcmF3IGZpbGUgZGF0YSBpbiBtZW1vcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBwYXJzaW5nICh1c2VmdWwgZm9yIGRlYnVnZ2luZykKCXZhciAka2VlcF9maWxlX2RhdGEgPSBmYWxzZTsKCgkvKioKCSAqIEludGVybmFsIHZhcmlhYmxlcwoJICovCgoJIyBjdXJyZW50IGZpbGUKCXZhciAkZmlsZTsKCgkjIGxvYWRlZCBmaWxlIGNvbnRlbnRzCgl2YXIgJGZpbGVfZGF0YTsKCgkjIGVycm9yIHdoaWxlIHBhcnNpbmcgaW5wdXQgZGF0YQoJIyAgMCA9IE5vIGVycm9ycyBmb3VuZC4gRXZlcnl0aGluZyBzaG91bGQgYmUgZmluZSA6KQoJIyAgMSA9IEhvcGVmdWxseSBjb3JyZWN0YWJsZSBzeW50YXggZXJyb3Igd2FzIGZvdW5kLgoJIyAgMiA9IEVuY2xvc3VyZSBjaGFyYWN0ZXIgKGRvdWJsZSBxdW90ZSBieSBkZWZhdWx0KQoJIyAgICAgIHdhcyBmb3VuZCBpbiBub24tZW5jbG9zZWQgZmllbGQuIFRoaXMgbWVhbnMKCSMgICAgICB0aGUgZmlsZSBpcyBlaXRoZXIgY29ycnVwdCwgb3IgZG9lcyBub3QKCSMgICAgICBzdGFuZGFyZCBDU1YgZm9ybWF0dGluZy4gUGxlYXNlIHZhbGlkYXRlCgkjICAgICAgdGhlIHBhcnNlZCBkYXRhIHlvdXJzZWxmLgoJdmFyICRlcnJvciA9IDA7CgoJIyBkZXRhaWxlZCBlcnJvciBpbmZvCgl2YXIgJGVycm9yX2luZm8gPSBhcnJheSgpOwoKCSMgYXJyYXkgb2YgZmllbGQgdmFsdWVzIGluIGRhdGEgcGFyc2VkCgl2YXIgJHRpdGxlcyA9IGFycmF5KCk7CgoJIyB0d28gZGltZW50aW9uYWwgYXJyYXkgb2YgQ1NWIGRhdGEKCXZhciAkZGF0YSA9IGFycmF5KCk7CgoKCS8qKgoJICogQ29uc3RydWN0b3IKCSAqIEBwYXJhbSAgIGlucHV0ICAgQ1NWIGZpbGUgb3Igc3RyaW5nCgkgKiBAcmV0dXJuICBub3RoaW5nCgkgKi8KCWZ1bmN0aW9uIHBhcnNlQ1NWICgkaW5wdXQgPSBudWxsLCAkb2Zmc2V0ID0gbnVsbCwgJGxpbWl0ID0gbnVsbCwgJGNvbmRpdGlvbnMgPSBudWxsKSB7CgkJaWYgKCAkb2Zmc2V0ICE9PSBudWxsICkgJHRoaXMtPm9mZnNldCA9ICRvZmZzZXQ7CgkJaWYgKCAkbGltaXQgIT09IG51bGwgKSAkdGhpcy0+bGltaXQgPSAkbGltaXQ7CgkJaWYgKCBjb3VudCgkY29uZGl0aW9ucykgPiAwICkgJHRoaXMtPmNvbmRpdGlvbnMgPSAkY29uZGl0aW9uczsKCQlpZiAoICFlbXB0eSgkaW5wdXQpICkgJHRoaXMtPnBhcnNlKCRpbnB1dCk7Cgl9CgoKCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCS8vIC0tLS0tIFsgTWFpbiBGdW5jdGlvbnMgXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgkvKioKCSAqIFBhcnNlIENTViBmaWxlIG9yIHN0cmluZwoJICogQHBhcmFtICAgaW5wdXQgICBDU1YgZmlsZSBvciBzdHJpbmcKCSAqIEByZXR1cm4gIG5vdGhpbmcKCSAqLwoJZnVuY3Rpb24gcGFyc2UgKCRpbnB1dCA9IG51bGwsICRvZmZzZXQgPSBudWxsLCAkbGltaXQgPSBudWxsLCAkY29uZGl0aW9ucyA9IG51bGwpIHsKCQlpZiAoICRpbnB1dCA9PT0gbnVsbCApICRpbnB1dCA9ICR0aGlzLT5maWxlOwoJCWlmICggIWVtcHR5KCRpbnB1dCkgKSB7CgkJCWlmICggJG9mZnNldCAhPT0gbnVsbCApICR0aGlzLT5vZmZzZXQgPSAkb2Zmc2V0OwoJCQlpZiAoICRsaW1pdCAhPT0gbnVsbCApICR0aGlzLT5saW1pdCA9ICRsaW1pdDsKCQkJaWYgKCBjb3VudCgkY29uZGl0aW9ucykgPiAwICkgJHRoaXMtPmNvbmRpdGlvbnMgPSAkY29uZGl0aW9uczsKCQkJaWYgKCBpc19yZWFkYWJsZSgkaW5wdXQpICkgewoJCQkJJHRoaXMtPmRhdGEgPSAkdGhpcy0+cGFyc2VfZmlsZSgkaW5wdXQpOwoJCQl9IGVsc2UgewoJCQkJJHRoaXMtPmZpbGVfZGF0YSA9ICYkaW5wdXQ7CgkJCQkkdGhpcy0+ZGF0YSA9ICR0aGlzLT5wYXJzZV9zdHJpbmcoKTsKCQkJfQoJCQlpZiAoICR0aGlzLT5kYXRhID09PSBmYWxzZSApIHJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyoqCgkgKiBTYXZlIGNoYW5nZXMsIG9yIG5ldyBmaWxlIGFuZC9vciBkYXRhCgkgKiBAcGFyYW0gICBmaWxlICAgICBmaWxlIHRvIHNhdmUgdG8KCSAqIEBwYXJhbSAgIGRhdGEgICAgIDJEIGFycmF5IHdpdGggZGF0YQoJICogQHBhcmFtICAgYXBwZW5kICAgYXBwZW5kIGN1cnJlbnQgZGF0YSB0byBlbmQgb2YgdGFyZ2V0IENTViBpZiBleGlzdHMKCSAqIEBwYXJhbSAgIGZpZWxkcyAgIGZpZWxkIG5hbWVzCgkgKiBAcmV0dXJuICB0cnVlIG9yIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIHNhdmUgKCRmaWxlID0gbnVsbCwgJGRhdGEgPSBhcnJheSgpLCAkYXBwZW5kID0gZmFsc2UsICRmaWVsZHMgPSBhcnJheSgpKSB7CgkJaWYgKCBlbXB0eSgkZmlsZSkgKSAkZmlsZSA9ICYkdGhpcy0+ZmlsZTsKCQkkbW9kZSA9ICggJGFwcGVuZCApID8gJ2F0JyA6ICd3dCcgOwoJCSRpc19waHAgPSAoIHByZWdfbWF0Y2goJy9cLnBocCQvaScsICRmaWxlKSApID8gdHJ1ZSA6IGZhbHNlIDsKCQlyZXR1cm4gJHRoaXMtPl93ZmlsZSgkZmlsZSwgJHRoaXMtPnVucGFyc2UoJGRhdGEsICRmaWVsZHMsICRhcHBlbmQsICRpc19waHApLCAkbW9kZSk7Cgl9CgoJLyoqCgkgKiBHZW5lcmF0ZSBDU1YgYmFzZWQgc3RyaW5nIGZvciBvdXRwdXQKCSAqIEBwYXJhbSAgIGZpbGVuYW1lICAgIGlmIHNwZWNpZmllZCwgaGVhZGVycyBhbmQgZGF0YSB3aWxsIGJlIG91dHB1dCBkaXJlY3RseSB0byBicm93c2VyIGFzIGEgZG93bmxvYWJsZSBmaWxlCgkgKiBAcGFyYW0gICBkYXRhICAgICAgICAyRCBhcnJheSB3aXRoIGRhdGEKCSAqIEBwYXJhbSAgIGZpZWxkcyAgICAgIGZpZWxkIG5hbWVzCgkgKiBAcGFyYW0gICBkZWxpbWl0ZXIgICBkZWxpbWl0ZXIgdXNlZCB0byBzZXBhcmF0ZSBkYXRhCgkgKiBAcmV0dXJuICBDU1YgZGF0YSB1c2luZyBkZWxpbWl0ZXIgb2YgY2hvaWNlLCBvciBkZWZhdWx0CgkgKi8KCWZ1bmN0aW9uIG91dHB1dCAoJGZpbGVuYW1lID0gbnVsbCwgJGRhdGEgPSBhcnJheSgpLCAkZmllbGRzID0gYXJyYXkoKSwgJGRlbGltaXRlciA9IG51bGwpIHsKCQlpZiAoIGVtcHR5KCRmaWxlbmFtZSkgKSAkZmlsZW5hbWUgPSAkdGhpcy0+b3V0cHV0X2ZpbGVuYW1lOwoJCWlmICggJGRlbGltaXRlciA9PT0gbnVsbCApICRkZWxpbWl0ZXIgPSAkdGhpcy0+b3V0cHV0X2RlbGltaXRlcjsKCQkkZGF0YSA9ICR0aGlzLT51bnBhcnNlKCRkYXRhLCAkZmllbGRzLCBudWxsLCBudWxsLCAkZGVsaW1pdGVyKTsKCQlpZiAoICRmaWxlbmFtZSAhPT0gbnVsbCApIHsKCQkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2NzdicpOwoJCQloZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiRmaWxlbmFtZS4nIicpOwoJCQllY2hvICRkYXRhOwoJCX0KCQlyZXR1cm4gJGRhdGE7Cgl9CgoJLyoqCgkgKiBDb252ZXJ0IGNoYXJhY3RlciBlbmNvZGluZwoJICogQHBhcmFtICAgaW5wdXQgICAgaW5wdXQgY2hhcmFjdGVyIGVuY29kaW5nLCB1c2VzIGRlZmF1bHQgaWYgbGVmdCBibGFuawoJICogQHBhcmFtICAgb3V0cHV0ICAgb3V0cHV0IGNoYXJhY3RlciBlbmNvZGluZywgdXNlcyBkZWZhdWx0IGlmIGxlZnQgYmxhbmsKCSAqIEByZXR1cm4gIG5vdGhpbmcKCSAqLwoJZnVuY3Rpb24gZW5jb2RpbmcgKCRpbnB1dCA9IG51bGwsICRvdXRwdXQgPSBudWxsKSB7CgkJJHRoaXMtPmNvbnZlcnRfZW5jb2RpbmcgPSB0cnVlOwoJCWlmICggJGlucHV0ICE9PSBudWxsICkgJHRoaXMtPmlucHV0X2VuY29kaW5nID0gJGlucHV0OwoJCWlmICggJG91dHB1dCAhPT0gbnVsbCApICR0aGlzLT5vdXRwdXRfZW5jb2RpbmcgPSAkb3V0cHV0OwoJfQoKCS8qKgoJICogQXV0by1EZXRlY3QgRGVsaW1pdGVyOiBGaW5kIGRlbGltaXRlciBieSBhbmFseXppbmcgYSBzcGVjaWZpYyBudW1iZXIgb2YKCSAqIHJvd3MgdG8gZGV0ZXJtaW5lIG1vc3QgcHJvYmFibGUgZGVsaW1pdGVyIGNoYXJhY3RlcgoJICogQHBhcmFtICAgZmlsZSAgICAgICAgICAgbG9jYWwgQ1NWIGZpbGUKCSAqIEBwYXJhbSAgIHBhcnNlICAgICAgICAgIHRydWUvZmFsc2UgcGFyc2UgZmlsZSBkaXJlY3RseQoJICogQHBhcmFtICAgc2VhcmNoX2RlcHRoICAgbnVtYmVyIG9mIHJvd3MgdG8gYW5hbHl6ZQoJICogQHBhcmFtICAgcHJlZmVycmVkICAgICAgcHJlZmVycmVkIGRlbGltaXRlciBjaGFyYWN0ZXJzCgkgKiBAcGFyYW0gICBlbmNsb3N1cmUgICAgICBlbmNsb3N1cmUgY2hhcmFjdGVyLCBkZWZhdWx0IGlzIGRvdWJsZSBxdW90ZSAoIikuCgkgKiBAcmV0dXJuICBkZWxpbWl0ZXIgY2hhcmFjdGVyCgkgKi8KCWZ1bmN0aW9uIGF1dG8gKCRmaWxlID0gbnVsbCwgJHBhcnNlID0gdHJ1ZSwgJHNlYXJjaF9kZXB0aCA9IG51bGwsICRwcmVmZXJyZWQgPSBudWxsLCAkZW5jbG9zdXJlID0gbnVsbCkgewoKCQlpZiAoICRmaWxlID09PSBudWxsICkgJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQlpZiAoIGVtcHR5KCRzZWFyY2hfZGVwdGgpICkgJHNlYXJjaF9kZXB0aCA9ICR0aGlzLT5hdXRvX2RlcHRoOwoJCWlmICggJGVuY2xvc3VyZSA9PT0gbnVsbCApICRlbmNsb3N1cmUgPSAkdGhpcy0+ZW5jbG9zdXJlOwoKCQlpZiAoICRwcmVmZXJyZWQgPT09IG51bGwgKSAkcHJlZmVycmVkID0gJHRoaXMtPmF1dG9fcHJlZmVycmVkOwoKCQlpZiAoIGVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgewoJCQlpZiAoICR0aGlzLT5fY2hlY2tfZGF0YSgkZmlsZSkgKSB7CgkJCQkkZGF0YSA9ICYkdGhpcy0+ZmlsZV9kYXRhOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0gZWxzZSB7CgkJCSRkYXRhID0gJiR0aGlzLT5maWxlX2RhdGE7CgkJfQoKCQkkY2hhcnMgPSBhcnJheSgpOwoJCSRzdHJsZW4gPSBzdHJsZW4oJGRhdGEpOwoJCSRlbmNsb3NlZCA9IGZhbHNlOwoJCSRuID0gMTsKCQkkdG9fZW5kID0gdHJ1ZTsKCgkJLy8gd2FsayBzcGVjaWZpYyBkZXB0aCBmaW5kaW5nIHBvc3NzaWJsZSBkZWxpbWl0ZXIgY2hhcmFjdGVycwoJCWZvciAoICRpPTA7ICRpIDwgJHN0cmxlbjsgJGkrKyApIHsKCQkJJGNoID0gJGRhdGF7JGl9OwoJCQkkbmNoID0gKCBpc3NldCgkZGF0YXskaSsxfSkgKSA/ICRkYXRheyRpKzF9IDogZmFsc2UgOwoJCQkkcGNoID0gKCBpc3NldCgkZGF0YXskaS0xfSkgKSA/ICRkYXRheyRpLTF9IDogZmFsc2UgOwoKCQkJLy8gb3BlbiBhbmQgY2xvc2luZyBxdW90ZXMKCQkJaWYgKCAkY2ggPT0gJGVuY2xvc3VyZSApIHsKCQkJCWlmICggISRlbmNsb3NlZCB8fCAkbmNoICE9ICRlbmNsb3N1cmUgKSB7CgkJCQkJJGVuY2xvc2VkID0gKCAkZW5jbG9zZWQgKSA/IGZhbHNlIDogdHJ1ZSA7CgkJCQl9IGVsc2VpZiAoICRlbmNsb3NlZCApIHsKCQkJCQkkaSsrOwoJCQkJfQoKCQkJLy8gZW5kIG9mIHJvdwoJCQl9IGVsc2VpZiAoICgkY2ggPT0gIlxuIiAmJiAkcGNoICE9ICJcciIgfHwgJGNoID09ICJcciIpICYmICEkZW5jbG9zZWQgKSB7CgkJCQlpZiAoICRuID49ICRzZWFyY2hfZGVwdGggKSB7CgkJCQkJJHN0cmxlbiA9IDA7CgkJCQkJJHRvX2VuZCA9IGZhbHNlOwoJCQkJfSBlbHNlIHsKCQkJCQkkbisrOwoJCQkJfQoKCQkJLy8gY291bnQgY2hhcmFjdGVyCgkJCX0gZWxzZWlmICghJGVuY2xvc2VkKSB7CgkJCQlpZiAoICFwcmVnX21hdGNoKCcvWycucHJlZ19xdW90ZSgkdGhpcy0+YXV0b19ub25fY2hhcnMsICcvJykuJ10vaScsICRjaCkgKSB7CgkJCQkJaWYgKCAhaXNzZXQoJGNoYXJzWyRjaF1bJG5dKSApIHsKCQkJCQkJJGNoYXJzWyRjaF1bJG5dID0gMTsKCQkJCQl9IGVsc2UgewoJCQkJCQkkY2hhcnNbJGNoXVskbl0rKzsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgoJCS8vIGZpbHRlcmluZwoJCSRkZXB0aCA9ICggJHRvX2VuZCApID8gJG4tMSA6ICRuIDsKCQkkZmlsdGVyZWQgPSBhcnJheSgpOwoJCWZvcmVhY2goICRjaGFycyBhcyAkY2hhciA9PiAkdmFsdWUgKSB7CgkJCWlmICggJG1hdGNoID0gJHRoaXMtPl9jaGVja19jb3VudCgkY2hhciwgJHZhbHVlLCAkZGVwdGgsICRwcmVmZXJyZWQpICkgewoJCQkJJGZpbHRlcmVkWyRtYXRjaF0gPSAkY2hhcjsKCQkJfQoJCX0KCgkJLy8gY2FwdHVyZSBtb3N0IHByb2JhYmxlIGRlbGltaXRlcgoJCWtzb3J0KCRmaWx0ZXJlZCk7CgkJJHRoaXMtPmRlbGltaXRlciA9IHJlc2V0KCRmaWx0ZXJlZCk7CgoJCS8vIHBhcnNlIGRhdGEKCQlpZiAoICRwYXJzZSApICR0aGlzLT5kYXRhID0gJHRoaXMtPnBhcnNlX3N0cmluZygpOwoKCQlyZXR1cm4gJHRoaXMtPmRlbGltaXRlcjsKCgl9CgoKCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCS8vIC0tLS0tIFsgQ29yZSBGdW5jdGlvbnMgXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgkvKioKCSAqIFJlYWQgZmlsZSB0byBzdHJpbmcgYW5kIGNhbGwgcGFyc2Vfc3RyaW5nKCkKCSAqIEBwYXJhbSAgIGZpbGUgICBsb2NhbCBDU1YgZmlsZQoJICogQHJldHVybiAgMkQgYXJyYXkgd2l0aCBDU1YgZGF0YSwgb3IgZmFsc2Ugb24gZmFpbHVyZQoJICovCglmdW5jdGlvbiBwYXJzZV9maWxlICgkZmlsZSA9IG51bGwpIHsKCQlpZiAoICRmaWxlID09PSBudWxsICkgJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQlpZiAoIGVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgJHRoaXMtPmxvYWRfZGF0YSgkZmlsZSk7CgkJcmV0dXJuICggIWVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgPyAkdGhpcy0+cGFyc2Vfc3RyaW5nKCkgOiBmYWxzZSA7Cgl9CgoJLyoqCgkgKiBQYXJzZSBDU1Ygc3RyaW5ncyB0byBhcnJheXMKCSAqIEBwYXJhbSAgIGRhdGEgICBDU1Ygc3RyaW5nCgkgKiBAcmV0dXJuICAyRCBhcnJheSB3aXRoIENTViBkYXRhLCBvciBmYWxzZSBvbiBmYWlsdXJlCgkgKi8KCWZ1bmN0aW9uIHBhcnNlX3N0cmluZyAoJGRhdGEgPSBudWxsKSB7CgkJaWYgKCBlbXB0eSgkZGF0YSkgKSB7CgkJCWlmICggJHRoaXMtPl9jaGVja19kYXRhKCkgKSB7CgkJCQkkZGF0YSA9ICYkdGhpcy0+ZmlsZV9kYXRhOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0KCgkJJHdoaXRlX3NwYWNlcyA9IHN0cl9yZXBsYWNlKCR0aGlzLT5kZWxpbWl0ZXIsICcnLCAiIFx0XHgwQlwwIik7CgoJCSRyb3dzID0gYXJyYXkoKTsKCQkkcm93ID0gYXJyYXkoKTsKCQkkcm93X2NvdW50ID0gMDsKCQkkY3VycmVudCA9ICcnOwoJCSRoZWFkID0gKCAhZW1wdHkoJHRoaXMtPmZpZWxkcykgKSA/ICR0aGlzLT5maWVsZHMgOiBhcnJheSgpIDsKCQkkY29sID0gMDsKCQkkZW5jbG9zZWQgPSBmYWxzZTsKCQkkd2FzX2VuY2xvc2VkID0gZmFsc2U7CgkJJHN0cmxlbiA9IHN0cmxlbigkZGF0YSk7CgoJCS8vIHdhbGsgdGhyb3VnaCBlYWNoIGNoYXJhY3RlcgoJCWZvciAoICRpPTA7ICRpIDwgJHN0cmxlbjsgJGkrKyApIHsKCQkJJGNoID0gJGRhdGF7JGl9OwoJCQkkbmNoID0gKCBpc3NldCgkZGF0YXskaSsxfSkgKSA/ICRkYXRheyRpKzF9IDogZmFsc2UgOwoJCQkkcGNoID0gKCBpc3NldCgkZGF0YXskaS0xfSkgKSA/ICRkYXRheyRpLTF9IDogZmFsc2UgOwoKCQkJLy8gb3Blbi9jbG9zZSBxdW90ZXMsIGFuZCBpbmxpbmUgcXVvdGVzCgkJCWlmICggJGNoID09ICR0aGlzLT5lbmNsb3N1cmUgKSB7CgkJCQlpZiAoICEkZW5jbG9zZWQgKSB7CgkJCQkJaWYgKCBsdHJpbSgkY3VycmVudCwgJHdoaXRlX3NwYWNlcykgPT0gJycgKSB7CgkJCQkJCSRlbmNsb3NlZCA9IHRydWU7CgkJCQkJCSR3YXNfZW5jbG9zZWQgPSB0cnVlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSR0aGlzLT5lcnJvciA9IDI7CgkJCQkJCSRlcnJvcl9yb3cgPSBjb3VudCgkcm93cykgKyAxOwoJCQkJCQkkZXJyb3JfY29sID0gJGNvbCArIDE7CgkJCQkJCWlmICggIWlzc2V0KCR0aGlzLT5lcnJvcl9pbmZvWyRlcnJvcl9yb3cuJy0nLiRlcnJvcl9jb2xdKSApIHsKCQkJCQkJCSR0aGlzLT5lcnJvcl9pbmZvWyRlcnJvcl9yb3cuJy0nLiRlcnJvcl9jb2xdID0gYXJyYXkoCgkJCQkJCQkJJ3R5cGUnID0+IDIsCgkJCQkJCQkJJ2luZm8nID0+ICdTeW50YXggZXJyb3IgZm91bmQgb24gcm93ICcuJGVycm9yX3Jvdy4nLiBOb24tZW5jbG9zZWQgZmllbGRzIGNhbiBub3QgY29udGFpbiBkb3VibGUtcXVvdGVzLicsCgkJCQkJCQkJJ3JvdycgPT4gJGVycm9yX3JvdywKCQkJCQkJCQknZmllbGQnID0+ICRlcnJvcl9jb2wsCgkJCQkJCQkJJ2ZpZWxkX25hbWUnID0+ICghZW1wdHkoJGhlYWRbJGNvbF0pKSA/ICRoZWFkWyRjb2xdIDogbnVsbCwKCQkJCQkJCSk7CgkJCQkJCX0KCQkJCQkJJGN1cnJlbnQgLj0gJGNoOwoJCQkJCX0KCQkJCX0gZWxzZWlmICgkbmNoID09ICR0aGlzLT5lbmNsb3N1cmUpIHsKCQkJCQkkY3VycmVudCAuPSAkY2g7CgkJCQkJJGkrKzsKCQkJCX0gZWxzZWlmICggJG5jaCAhPSAkdGhpcy0+ZGVsaW1pdGVyICYmICRuY2ggIT0gIlxyIiAmJiAkbmNoICE9ICJcbiIgKSB7CgkJCQkJZm9yICggJHg9KCRpKzEpOyBpc3NldCgkZGF0YXskeH0pICYmIGx0cmltKCRkYXRheyR4fSwgJHdoaXRlX3NwYWNlcykgPT0gJyc7ICR4KysgKSB7fQoJCQkJCWlmICggJGRhdGF7JHh9ID09ICR0aGlzLT5kZWxpbWl0ZXIgKSB7CgkJCQkJCSRlbmNsb3NlZCA9IGZhbHNlOwoJCQkJCQkkaSA9ICR4OwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmICggJHRoaXMtPmVycm9yIDwgMSApIHsKCQkJCQkJCSR0aGlzLT5lcnJvciA9IDE7CgkJCQkJCX0KCQkJCQkJJGVycm9yX3JvdyA9IGNvdW50KCRyb3dzKSArIDE7CgkJCQkJCSRlcnJvcl9jb2wgPSAkY29sICsgMTsKCQkJCQkJaWYgKCAhaXNzZXQoJHRoaXMtPmVycm9yX2luZm9bJGVycm9yX3Jvdy4nLScuJGVycm9yX2NvbF0pICkgewoJCQkJCQkJJHRoaXMtPmVycm9yX2luZm9bJGVycm9yX3Jvdy4nLScuJGVycm9yX2NvbF0gPSBhcnJheSgKCQkJCQkJCQkndHlwZScgPT4gMSwKCQkJCQkJCQknaW5mbycgPT4KCQkJCQkJCQkJJ1N5bnRheCBlcnJvciBmb3VuZCBvbiByb3cgJy4oY291bnQoJHJvd3MpICsgMSkuJy4gJy4KCQkJCQkJCQkJJ0Egc2luZ2xlIGRvdWJsZS1xdW90ZSB3YXMgZm91bmQgd2l0aGluIGFuIGVuY2xvc2VkIHN0cmluZy4gJy4KCQkJCQkJCQkJJ0VuY2xvc2VkIGRvdWJsZS1xdW90ZXMgbXVzdCBiZSBlc2NhcGVkIHdpdGggYSBzZWNvbmQgZG91YmxlLXF1b3RlLicsCgkJCQkJCQkJJ3JvdycgPT4gY291bnQoJHJvd3MpICsgMSwKCQkJCQkJCQknZmllbGQnID0+ICRjb2wgKyAxLAoJCQkJCQkJCSdmaWVsZF9uYW1lJyA9PiAoIWVtcHR5KCRoZWFkWyRjb2xdKSkgPyAkaGVhZFskY29sXSA6IG51bGwsCgkJCQkJCQkpOwoJCQkJCQl9CgkJCQkJCSRjdXJyZW50IC49ICRjaDsKCQkJCQkJJGVuY2xvc2VkID0gZmFsc2U7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQkkZW5jbG9zZWQgPSBmYWxzZTsKCQkJCX0KCgkJCS8vIGVuZCBvZiBmaWVsZC9yb3cKCQkJfSBlbHNlaWYgKCAoJGNoID09ICR0aGlzLT5kZWxpbWl0ZXIgfHwgJGNoID09ICJcbiIgfHwgJGNoID09ICJcciIpICYmICEkZW5jbG9zZWQgKSB7CgkJCQkka2V5ID0gKCAhZW1wdHkoJGhlYWRbJGNvbF0pICkgPyAkaGVhZFskY29sXSA6ICRjb2wgOwoJCQkJJGtleSA9IHN0cnRvbG93ZXIoc3RyX3JlcGxhY2UoIiAiLCAiXyIsICRrZXkpKTsKCQkJCSRyb3dbJGtleV0gPSAoICR3YXNfZW5jbG9zZWQgKSA/ICRjdXJyZW50IDogdHJpbSgkY3VycmVudCkgOwoJCQkJJGN1cnJlbnQgPSAnJzsKCQkJCSR3YXNfZW5jbG9zZWQgPSBmYWxzZTsKCQkJCSRjb2wrKzsKCgkJCQkvLyBlbmQgb2Ygcm93CgkJCQlpZiAoICRjaCA9PSAiXG4iIHx8ICRjaCA9PSAiXHIiICkgewoJCQkJCWlmICggJHRoaXMtPl92YWxpZGF0ZV9vZmZzZXQoJHJvd19jb3VudCkgJiYgJHRoaXMtPl92YWxpZGF0ZV9yb3dfY29uZGl0aW9ucygkcm93LCAkdGhpcy0+Y29uZGl0aW9ucykgKSB7CgkJCQkJCWlmICggJHRoaXMtPmhlYWRpbmcgJiYgZW1wdHkoJGhlYWQpICkgewoJCQkJCQkJJGhlYWQgPSAkcm93OwoJCQkJCQl9IGVsc2VpZiAoIGVtcHR5KCR0aGlzLT5maWVsZHMpIHx8ICghZW1wdHkoJHRoaXMtPmZpZWxkcykgJiYgKCgkdGhpcy0+aGVhZGluZyAmJiAkcm93X2NvdW50ID4gMCkgfHwgISR0aGlzLT5oZWFkaW5nKSkgKSB7CgkJCQkJCQlpZiAoICFlbXB0eSgkdGhpcy0+c29ydF9ieSkgJiYgIWVtcHR5KCRyb3dbJHRoaXMtPnNvcnRfYnldKSApIHsKCQkJCQkJCQlpZiAoIGlzc2V0KCRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXSkgKSB7CgkJCQkJCQkJCSRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldLidfMCddID0gJiRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXTsKCQkJCQkJCQkJdW5zZXQoJHJvd3NbJHJvd1skdGhpcy0+c29ydF9ieV1dKTsKCQkJCQkJCQkJZm9yICggJHNuPTE7IGlzc2V0KCRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldLidfJy4kc25dKTsgJHNuKysgKSB7fQoJCQkJCQkJCQkkcm93c1skcm93WyR0aGlzLT5zb3J0X2J5XS4nXycuJHNuXSA9ICRyb3c7CgkJCQkJCQkJfSBlbHNlICRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXSA9ICRyb3c7CgkJCQkJCQl9IGVsc2UgJHJvd3NbXSA9ICRyb3c7CgkJCQkJCX0KCQkJCQl9CgkJCQkJJHJvdyA9IGFycmF5KCk7CgkJCQkJJGNvbCA9IDA7CgkJCQkJJHJvd19jb3VudCsrOwoJCQkJCWlmICggJHRoaXMtPnNvcnRfYnkgPT09IG51bGwgJiYgJHRoaXMtPmxpbWl0ICE9PSBudWxsICYmIGNvdW50KCRyb3dzKSA9PSAkdGhpcy0+bGltaXQgKSB7CgkJCQkJCSRpID0gJHN0cmxlbjsKCQkJCQl9CgkJCQkJaWYgKCAkY2ggPT0gIlxyIiAmJiAkbmNoID09ICJcbiIgKSAkaSsrOwoJCQkJfQoKCQkJLy8gYXBwZW5kIGNoYXJhY3RlciB0byBjdXJyZW50IGZpZWxkCgkJCX0gZWxzZSB7CgkJCQkkY3VycmVudCAuPSAkY2g7CgkJCX0KCQl9CgkJJHRoaXMtPnRpdGxlcyA9ICRoZWFkOwoJCWlmICggIWVtcHR5KCR0aGlzLT5zb3J0X2J5KSApIHsKCQkJJHNvcnRfdHlwZSA9IFNPUlRfUkVHVUxBUjsKCQkJaWYgKCAkdGhpcy0+c29ydF90eXBlID09ICdudW1lcmljJyApIHsKCQkJCSRzb3J0X3R5cGUgPSBTT1JUX05VTUVSSUM7CgkJCX0gZWxzZWlmICggJHRoaXMtPnNvcnRfdHlwZSA9PSAnc3RyaW5nJyApIHsKCQkJCSRzb3J0X3R5cGUgPSBTT1JUX1NUUklORzsKCQkJfQoJCQkoICR0aGlzLT5zb3J0X3JldmVyc2UgKSA/IGtyc29ydCgkcm93cywgJHNvcnRfdHlwZSkgOiBrc29ydCgkcm93cywgJHNvcnRfdHlwZSkgOwoJCQlpZiAoICR0aGlzLT5vZmZzZXQgIT09IG51bGwgfHwgJHRoaXMtPmxpbWl0ICE9PSBudWxsICkgewoJCQkJJHJvd3MgPSBhcnJheV9zbGljZSgkcm93cywgKCR0aGlzLT5vZmZzZXQgPT09IG51bGwgPyAwIDogJHRoaXMtPm9mZnNldCkgLCAkdGhpcy0+bGltaXQsIHRydWUpOwoJCQl9CgkJfQoJCWlmICggISR0aGlzLT5rZWVwX2ZpbGVfZGF0YSApIHsKCQkJJHRoaXMtPmZpbGVfZGF0YSA9IG51bGw7CgkJfQoJCXJldHVybiAkcm93czsKCX0KCgkvKioKCSAqIENyZWF0ZSBDU1YgZGF0YSBmcm9tIGFycmF5CgkgKiBAcGFyYW0gICBkYXRhICAgICAgICAyRCBhcnJheSB3aXRoIGRhdGEKCSAqIEBwYXJhbSAgIGZpZWxkcyAgICAgIGZpZWxkIG5hbWVzCgkgKiBAcGFyYW0gICBhcHBlbmQgICAgICBpZiB0cnVlLCBmaWVsZCBuYW1lcyB3aWxsIG5vdCBiZSBvdXRwdXQKCSAqIEBwYXJhbSAgIGlzX3BocCAgICAgIGlmIGEgcGhwIGRpZSgpIGNhbGwgc2hvdWxkIGJlIHB1dCBvbiB0aGUgZmlyc3QKCSAqICAgICAgICAgICAgICAgICAgICAgIGxpbmUgb2YgdGhlIGZpbGUsIHRoaXMgaXMgbGF0ZXIgaWdub3JlZCB3aGVuIHJlYWQuCgkgKiBAcGFyYW0gICBkZWxpbWl0ZXIgICBmaWVsZCBkZWxpbWl0ZXIgdG8gdXNlCgkgKiBAcmV0dXJuICBDU1YgZGF0YSAodGV4dCBzdHJpbmcpCgkgKi8KCWZ1bmN0aW9uIHVucGFyc2UgKCAkZGF0YSA9IGFycmF5KCksICRmaWVsZHMgPSBhcnJheSgpLCAkYXBwZW5kID0gZmFsc2UgLCAkaXNfcGhwID0gZmFsc2UsICRkZWxpbWl0ZXIgPSBudWxsKSB7CgkJaWYgKCAhaXNfYXJyYXkoJGRhdGEpIHx8IGVtcHR5KCRkYXRhKSApICRkYXRhID0gJiR0aGlzLT5kYXRhOwoJCWlmICggIWlzX2FycmF5KCRmaWVsZHMpIHx8IGVtcHR5KCRmaWVsZHMpICkgJGZpZWxkcyA9ICYkdGhpcy0+dGl0bGVzOwoJCWlmICggJGRlbGltaXRlciA9PT0gbnVsbCApICRkZWxpbWl0ZXIgPSAkdGhpcy0+ZGVsaW1pdGVyOwoKCQkkc3RyaW5nID0gKCAkaXNfcGhwICkgPyAiPD9waHAgaGVhZGVyKCdTdGF0dXM6IDQwMycpOyBkaWUoJyAnKTsgPz4iLiR0aGlzLT5saW5lZmVlZCA6ICcnIDsKCQkkZW50cnkgPSBhcnJheSgpOwoKCQkvLyBjcmVhdGUgaGVhZGluZwoJCWlmICggJHRoaXMtPmhlYWRpbmcgJiYgISRhcHBlbmQgJiYgIWVtcHR5KCRmaWVsZHMpICkgewoJCQlmb3JlYWNoKCAkZmllbGRzIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkJJGVudHJ5W10gPSAkdGhpcy0+X2VuY2xvc2VfdmFsdWUoJHZhbHVlKTsKCQkJfQoJCQkkc3RyaW5nIC49IGltcGxvZGUoJGRlbGltaXRlciwgJGVudHJ5KS4kdGhpcy0+bGluZWZlZWQ7CgkJCSRlbnRyeSA9IGFycmF5KCk7CgkJfQoKCQkvLyBjcmVhdGUgZGF0YQoJCWZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHJvdyApIHsKCQkJZm9yZWFjaCggJHJvdyBhcyAkZmllbGQgPT4gJHZhbHVlICkgewoJCQkJJGVudHJ5W10gPSAkdGhpcy0+X2VuY2xvc2VfdmFsdWUoJHZhbHVlKTsKCQkJfQoJCQkkc3RyaW5nIC49IGltcGxvZGUoJGRlbGltaXRlciwgJGVudHJ5KS4kdGhpcy0+bGluZWZlZWQ7CgkJCSRlbnRyeSA9IGFycmF5KCk7CgkJfQoKCQlyZXR1cm4gJHN0cmluZzsKCX0KCgkvKioKCSAqIExvYWQgbG9jYWwgZmlsZSBvciBzdHJpbmcKCSAqIEBwYXJhbSAgIGlucHV0ICAgbG9jYWwgQ1NWIGZpbGUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gbG9hZF9kYXRhICgkaW5wdXQgPSBudWxsKSB7CgkJJGRhdGEgPSBudWxsOwoJCSRmaWxlID0gbnVsbDsKCQlpZiAoICRpbnB1dCA9PT0gbnVsbCApIHsKCQkJJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQl9IGVsc2VpZiAoIGZpbGVfZXhpc3RzKCRpbnB1dCkgKSB7CgkJCSRmaWxlID0gJGlucHV0OwoJCX0gZWxzZSB7CgkJCSRkYXRhID0gJGlucHV0OwoJCX0KCQlpZiAoICFlbXB0eSgkZGF0YSkgfHwgJGRhdGEgPSAkdGhpcy0+X3JmaWxlKCRmaWxlKSApIHsKCQkJaWYgKCAkdGhpcy0+ZmlsZSAhPSAkZmlsZSApICR0aGlzLT5maWxlID0gJGZpbGU7CgkJCWlmICggcHJlZ19tYXRjaCgnL1wucGhwJC9pJywgJGZpbGUpICYmIHByZWdfbWF0Y2goJy88XD8uKj9cPz4oLiopL2ltcycsICRkYXRhLCAkc3RyaXApICkgewoJCQkJJGRhdGEgPSBsdHJpbSgkc3RyaXBbMV0pOwoJCQl9CgkJCWlmICggJHRoaXMtPmNvbnZlcnRfZW5jb2RpbmcgKSAkZGF0YSA9IGljb252KCR0aGlzLT5pbnB1dF9lbmNvZGluZywgJHRoaXMtPm91dHB1dF9lbmNvZGluZywgJGRhdGEpOwoJCQlpZiAoIHN1YnN0cigkZGF0YSwgLTEpICE9ICJcbiIgKSAkZGF0YSAuPSAiXG4iOwoJCQkkdGhpcy0+ZmlsZV9kYXRhID0gJiRkYXRhOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCgkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkvLyAtLS0tLSBbIEludGVybmFsIEZ1bmN0aW9ucyBdIC0tLS0tLS0tLS0tLS0tLS0tCgkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoJLyoqCgkgKiBWYWxpZGF0ZSBhIHJvdyBhZ2FpbnN0IHNwZWNpZmllZCBjb25kaXRpb25zCgkgKiBAcGFyYW0gICByb3cgICAgICAgICAgYXJyYXkgd2l0aCB2YWx1ZXMgZnJvbSBhIHJvdwoJICogQHBhcmFtICAgY29uZGl0aW9ucyAgIHNwZWNpZmllZCBjb25kaXRpb25zIHRoYXQgdGhlIHJvdyBtdXN0IG1hdGNoCgkgKiBAcmV0dXJuICB0cnVlIG9mIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF92YWxpZGF0ZV9yb3dfY29uZGl0aW9ucyAoJHJvdyA9IGFycmF5KCksICRjb25kaXRpb25zID0gbnVsbCkgewoJCWlmICggIWVtcHR5KCRyb3cpICkgewoJCQlpZiAoICFlbXB0eSgkY29uZGl0aW9ucykgKSB7CgkJCQkkY29uZGl0aW9ucyA9IChzdHJwb3MoJGNvbmRpdGlvbnMsICcgT1IgJykgIT09IGZhbHNlKSA/IGV4cGxvZGUoJyBPUiAnLCAkY29uZGl0aW9ucykgOiBhcnJheSgkY29uZGl0aW9ucykgOwoJCQkJJG9yID0gJyc7CgkJCQlmb3JlYWNoKCAkY29uZGl0aW9ucyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCQlpZiAoIHN0cnBvcygkdmFsdWUsICcgQU5EICcpICE9PSBmYWxzZSApIHsKCQkJCQkJJHZhbHVlID0gZXhwbG9kZSgnIEFORCAnLCAkdmFsdWUpOwoJCQkJCQkkYW5kID0gJyc7CgkJCQkJCWZvcmVhY2goICR2YWx1ZSBhcyAkayA9PiAkdiApIHsKCQkJCQkJCSRhbmQgLj0gJHRoaXMtPl92YWxpZGF0ZV9yb3dfY29uZGl0aW9uKCRyb3csICR2KTsKCQkJCQkJfQoJCQkJCQkkb3IgLj0gKHN0cnBvcygkYW5kLCAnMCcpICE9PSBmYWxzZSkgPyAnMCcgOiAnMScgOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRvciAuPSAkdGhpcy0+X3ZhbGlkYXRlX3Jvd19jb25kaXRpb24oJHJvdywgJHZhbHVlKTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gKHN0cnBvcygkb3IsICcxJykgIT09IGZhbHNlKSA/IHRydWUgOiBmYWxzZSA7CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCgkvKioKCSAqIFZhbGlkYXRlIGEgcm93IGFnYWluc3QgYSBzaW5nbGUgY29uZGl0aW9uCgkgKiBAcGFyYW0gICByb3cgICAgICAgICAgYXJyYXkgd2l0aCB2YWx1ZXMgZnJvbSBhIHJvdwoJICogQHBhcmFtICAgY29uZGl0aW9uICAgc3BlY2lmaWVkIGNvbmRpdGlvbiB0aGF0IHRoZSByb3cgbXVzdCBtYXRjaAoJICogQHJldHVybiAgdHJ1ZSBvZiBmYWxzZQoJICovCglmdW5jdGlvbiBfdmFsaWRhdGVfcm93X2NvbmRpdGlvbiAoJHJvdywgJGNvbmRpdGlvbikgewoJCSRvcGVyYXRvcnMgPSBhcnJheSgKCQkJJz0nLCAnZXF1YWxzJywgJ2lzJywKCQkJJyE9JywgJ2lzIG5vdCcsCgkJCSc8JywgJ2lzIGxlc3MgdGhhbicsCgkJCSc+JywgJ2lzIGdyZWF0ZXIgdGhhbicsCgkJCSc8PScsICdpcyBsZXNzIHRoYW4gb3IgZXF1YWxzJywKCQkJJz49JywgJ2lzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbHMnLAoJCQknY29udGFpbnMnLAoJCQknZG9lcyBub3QgY29udGFpbicsCgkJKTsKCQkkb3BlcmF0b3JzX3JlZ2V4ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkb3BlcmF0b3JzIGFzICR2YWx1ZSApIHsKCQkJJG9wZXJhdG9yc19yZWdleFtdID0gcHJlZ19xdW90ZSgkdmFsdWUsICcvJyk7CgkJfQoJCSRvcGVyYXRvcnNfcmVnZXggPSBpbXBsb2RlKCd8JywgJG9wZXJhdG9yc19yZWdleCk7CgkJaWYgKCBwcmVnX21hdGNoKCcvXiguKykgKCcuJG9wZXJhdG9yc19yZWdleC4nKSAoLispJC9pJywgdHJpbSgkY29uZGl0aW9uKSwgJGNhcHR1cmUpICkgewoJCQkkZmllbGQgPSAkY2FwdHVyZVsxXTsKCQkJJG9wID0gJGNhcHR1cmVbMl07CgkJCSR2YWx1ZSA9ICRjYXB0dXJlWzNdOwoJCQlpZiAoIHByZWdfbWF0Y2goJy9eKFtcJ1wiXXsxfSkoLiopKFtcJ1wiXXsxfSkkL2knLCAkdmFsdWUsICRjYXB0dXJlKSApIHsKCQkJCWlmICggJGNhcHR1cmVbMV0gPT0gJGNhcHR1cmVbM10gKSB7CgkJCQkJJHZhbHVlID0gJGNhcHR1cmVbMl07CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcbiIsICJcbiIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcciIsICJcciIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcdCIsICJcdCIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7CgkJCQl9CgkJCX0KCQkJaWYgKCBhcnJheV9rZXlfZXhpc3RzKCRmaWVsZCwgJHJvdykgKSB7CgkJCQlpZiAoICgkb3AgPT0gJz0nIHx8ICRvcCA9PSAnZXF1YWxzJyB8fCAkb3AgPT0gJ2lzJykgJiYgJHJvd1skZmllbGRdID09ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICchPScgfHwgJG9wID09ICdpcyBub3QnKSAmJiAkcm93WyRmaWVsZF0gIT0gJHZhbHVlICkgewoJCQkJCXJldHVybiAnMSc7CgkJCQl9IGVsc2VpZiAoICgkb3AgPT0gJzwnIHx8ICRvcCA9PSAnaXMgbGVzcyB0aGFuJyApICYmICRyb3dbJGZpZWxkXSA8ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICc+JyB8fCAkb3AgPT0gJ2lzIGdyZWF0ZXIgdGhhbicpICYmICRyb3dbJGZpZWxkXSA+ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICc8PScgfHwgJG9wID09ICdpcyBsZXNzIHRoYW4gb3IgZXF1YWxzJyApICYmICRyb3dbJGZpZWxkXSA8PSAkdmFsdWUgKSB7CgkJCQkJcmV0dXJuICcxJzsKCQkJCX0gZWxzZWlmICggKCRvcCA9PSAnPj0nIHx8ICRvcCA9PSAnaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFscycpICYmICRyb3dbJGZpZWxkXSA+PSAkdmFsdWUgKSB7CgkJCQkJcmV0dXJuICcxJzsKCQkJCX0gZWxzZWlmICggJG9wID09ICdjb250YWlucycgJiYgcHJlZ19tYXRjaCgnLycucHJlZ19xdW90ZSgkdmFsdWUsICcvJykuJy9pJywgJHJvd1skZmllbGRdKSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAkb3AgPT0gJ2RvZXMgbm90IGNvbnRhaW4nICYmICFwcmVnX21hdGNoKCcvJy5wcmVnX3F1b3RlKCR2YWx1ZSwgJy8nKS4nL2knLCAkcm93WyRmaWVsZF0pICkgewoJCQkJCXJldHVybiAnMSc7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiAnMCc7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICcxJzsKCX0KCgkvKioKCSAqIFZhbGlkYXRlcyBpZiB0aGUgcm93IGlzIHdpdGhpbiB0aGUgb2Zmc2V0IG9yIG5vdCBpZiBzb3J0aW5nIGlzIGRpc2FibGVkCgkgKiBAcGFyYW0gICBjdXJyZW50X3JvdyAgIHRoZSBjdXJyZW50IHJvdyBudW1iZXIgYmVpbmcgcHJvY2Vzc2VkCgkgKiBAcmV0dXJuICB0cnVlIG9mIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF92YWxpZGF0ZV9vZmZzZXQgKCRjdXJyZW50X3JvdykgewoJCWlmICggJHRoaXMtPnNvcnRfYnkgPT09IG51bGwgJiYgJHRoaXMtPm9mZnNldCAhPT0gbnVsbCAmJiAkY3VycmVudF9yb3cgPCAkdGhpcy0+b2Zmc2V0ICkgcmV0dXJuIGZhbHNlOwoJCXJldHVybiB0cnVlOwoJfQoKCS8qKgoJICogRW5jbG9zZSB2YWx1ZXMgaWYgbmVlZGVkCgkgKiAgLSBvbmx5IHVzZWQgYnkgdW5wYXJzZSgpCgkgKiBAcGFyYW0gICB2YWx1ZSAgIHN0cmluZyB0byBwcm9jZXNzCgkgKiBAcmV0dXJuICBQcm9jZXNzZWQgdmFsdWUKCSAqLwoJZnVuY3Rpb24gX2VuY2xvc2VfdmFsdWUgKCR2YWx1ZSA9IG51bGwpIHsKCQlpZiAoICR2YWx1ZSAhPT0gbnVsbCAmJiAkdmFsdWUgIT0gJycgKSB7CgkJCSRkZWxpbWl0ZXIgPSBwcmVnX3F1b3RlKCR0aGlzLT5kZWxpbWl0ZXIsICcvJyk7CgkJCSRlbmNsb3N1cmUgPSBwcmVnX3F1b3RlKCR0aGlzLT5lbmNsb3N1cmUsICcvJyk7CgkJCWlmICggcHJlZ19tYXRjaCgiLyIuJGRlbGltaXRlci4ifCIuJGVuY2xvc3VyZS4ifFxufFxyL2kiLCAkdmFsdWUpIHx8ICgkdmFsdWV7MH0gPT0gJyAnIHx8IHN1YnN0cigkdmFsdWUsIC0xKSA9PSAnICcpICkgewoJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoJHRoaXMtPmVuY2xvc3VyZSwgJHRoaXMtPmVuY2xvc3VyZS4kdGhpcy0+ZW5jbG9zdXJlLCAkdmFsdWUpOwoJCQkJJHZhbHVlID0gJHRoaXMtPmVuY2xvc3VyZS4kdmFsdWUuJHRoaXMtPmVuY2xvc3VyZTsKCQkJfQoJCX0KCQlyZXR1cm4gJHZhbHVlOwoJfQoKCS8qKgoJICogQ2hlY2sgZmlsZSBkYXRhCgkgKiBAcGFyYW0gICBmaWxlICAgbG9jYWwgZmlsZW5hbWUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gX2NoZWNrX2RhdGEgKCRmaWxlID0gbnVsbCkgewoJCWlmICggZW1wdHkoJHRoaXMtPmZpbGVfZGF0YSkgKSB7CgkJCWlmICggJGZpbGUgPT09IG51bGwgKSAkZmlsZSA9ICR0aGlzLT5maWxlOwoJCQlyZXR1cm4gJHRoaXMtPmxvYWRfZGF0YSgkZmlsZSk7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCgkvKioKCSAqIENoZWNrIGlmIHBhc3NlZCBpbmZvIG1pZ2h0IGJlIGRlbGltaXRlcgoJICogIC0gb25seSB1c2VkIGJ5IGZpbmRfZGVsaW1pdGVyKCkKCSAqIEByZXR1cm4gIHNwZWNpYWwgc3RyaW5nIHVzZWQgZm9yIGRlbGltaXRlciBzZWxlY3Rpb24sIG9yIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF9jaGVja19jb3VudCAoJGNoYXIsICRhcnJheSwgJGRlcHRoLCAkcHJlZmVycmVkKSB7CgkJaWYgKCAkZGVwdGggPT0gY291bnQoJGFycmF5KSApIHsKCQkJJGZpcnN0ID0gbnVsbDsKCQkJJGVxdWFsID0gbnVsbDsKCQkJJGFsbW9zdCA9IGZhbHNlOwoJCQlmb3JlYWNoKCAkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkJCQlpZiAoICRmaXJzdCA9PSBudWxsICkgewoJCQkJCSRmaXJzdCA9ICR2YWx1ZTsKCQkJCX0gZWxzZWlmICggJHZhbHVlID09ICRmaXJzdCAmJiAkZXF1YWwgIT09IGZhbHNlKSB7CgkJCQkJJGVxdWFsID0gdHJ1ZTsKCQkJCX0gZWxzZWlmICggJHZhbHVlID09ICRmaXJzdCsxICYmICRlcXVhbCAhPT0gZmFsc2UgKSB7CgkJCQkJJGVxdWFsID0gdHJ1ZTsKCQkJCQkkYWxtb3N0ID0gdHJ1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJJGVxdWFsID0gZmFsc2U7CgkJCQl9CgkJCX0KCQkJaWYgKCAkZXF1YWwgKSB7CgkJCQkkbWF0Y2ggPSAoICRhbG1vc3QgKSA/IDIgOiAxIDsKCQkJCSRwcmVmID0gc3RycG9zKCRwcmVmZXJyZWQsICRjaGFyKTsKCQkJCSRwcmVmID0gKCAkcHJlZiAhPT0gZmFsc2UgKSA/IHN0cl9wYWQoJHByZWYsIDMsICcwJywgU1RSX1BBRF9MRUZUKSA6ICc5OTknIDsKCQkJCXJldHVybiAkcHJlZi4kbWF0Y2guJy4nLig5OTk5OSAtIHN0cl9wYWQoJGZpcnN0LCA1LCAnMCcsIFNUUl9QQURfTEVGVCkpOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0KCX0KCgkvKioKCSAqIFJlYWQgbG9jYWwgZmlsZQoJICogQHBhcmFtICAgZmlsZSAgIGxvY2FsIGZpbGVuYW1lCgkgKiBAcmV0dXJuICBEYXRhIGZyb20gZmlsZSwgb3IgZmFsc2Ugb24gZmFpbHVyZQoJICovCglmdW5jdGlvbiBfcmZpbGUgKCRmaWxlID0gbnVsbCkgewoJCWlmICggaXNfcmVhZGFibGUoJGZpbGUpICkgewoJCQlpZiAoICEoJGZoID0gZm9wZW4oJGZpbGUsICdyJykpICkgcmV0dXJuIGZhbHNlOwoJCQkkZGF0YSA9IGZyZWFkKCRmaCwgZmlsZXNpemUoJGZpbGUpKTsKCQkJZmNsb3NlKCRmaCk7CgkJCXJldHVybiAkZGF0YTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8qKgoJICogV3JpdGUgdG8gbG9jYWwgZmlsZQoJICogQHBhcmFtICAgZmlsZSAgICAgbG9jYWwgZmlsZW5hbWUKCSAqIEBwYXJhbSAgIHN0cmluZyAgIGRhdGEgdG8gd3JpdGUgdG8gZmlsZQoJICogQHBhcmFtICAgbW9kZSAgICAgZm9wZW4oKSBtb2RlCgkgKiBAcGFyYW0gICBsb2NrICAgICBmbG9jaygpIG1vZGUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gX3dmaWxlICgkZmlsZSwgJHN0cmluZyA9ICcnLCAkbW9kZSA9ICd3YicsICRsb2NrID0gMikgewoJCWlmICggJGZwID0gZm9wZW4oJGZpbGUsICRtb2RlKSApIHsKCQkJZmxvY2soJGZwLCAkbG9jayk7CgkJCSRyZSA9IGZ3cml0ZSgkZnAsICRzdHJpbmcpOwoJCQkkcmUyID0gZmNsb3NlKCRmcCk7CgkJCWlmICggJHJlICE9IGZhbHNlICYmICRyZTIgIT0gZmFsc2UgKSByZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbArrayMultisort.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qDQphcnJfbXVsdGlzb3J0IDEuMQ0KQ29weXJpZ2h0OiBMZWZ0DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClZlcnNpb246ICAgICAgICAxLjINCkRhdGU6ICAgICAgICAgICAwMi4wOS4yMDEyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkF1dGhvcjogICAgICAgIEFsZXhhbmRlciBNaW5rb3Zza3kgKGFfbWlua292c2t5QGhvdG1haWwuY29tKQ0KQXV0aG9yOiAgICAgICAgTHVrYXMgQmxhdHRlciAobGJAYmxhdHRlcnRlY2guY2gpICANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTGljZW5zZTogICAgICAgIENob29zZSB0aGUgbW9yZSBhcHByb3ByaWF0ZWQgZm9yIFlvdSAtIEkgZG9uJ3QgY2FyZS4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRGVzY3JpcHRpb246DQpDbGFzcyBtYWtlcyBtdWx0aWNvbHVtbiBzb3J0aW5nIG9mIGFzc29jaWF0aXZlIGFycmF5cyBpbiBmb3JtYXQgcHJvdmlkZWQgZm9yIGV4YW1wbGUgYnkgbXlzcWxfZmV0Y2hfYXNzb2MuDQpDb2x1bW4gbmFtZXMgdG8gYmUgdXNlZCB3aGVuIHNvcnRpbmcgY2FuIGJlIHNwZWNpZmllZCBhcyB3ZWxsIHRoZSBzb3J0aW5nIGRpcmVjdGlvbiBmb3IgZWFjaCBjb2x1bW4uDQpPcHRpb25hbCBleHRlcm5hbCB0byB0aGUgY2xhc3MgY29tcGFyZSBmdW5jdGlvbnMgY2FuIGJlIHNwZWNpZmllZCBmb3IgZWFjaCBjb2x1bW4uDQpMb29rIGJlbG93IGZvciByZXF1aXJlbWVudHMgY29uY2VybmluZyBleHRlcm5hbCBjb21wYXJlIGZ1bmN0aW9ucy4NCklmIGV4dGVybmFsIGNvbXBhcmUgZnVuY3Rpb25zIGFyZSBub3Qgc3VwcGxpZWQsIHRoZSBpbnRlcm5hbCBfY29tcGFyZSBtZXRob2QgaXMgdXNlZC4NCkRhdGVzIGFyZSBzb3J0ZWQgY29ycmVjdGx5IHVzaW5nIHRoZSBpbnRlcm5hbCBjb21wYXJlIGlmIHRoZXkgY29tcGx5IHdpdGggR05VIGRhdGUgc3ludGF4DQooaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3Rhci9tYW51YWwvaHRtbF9jaGFwdGVyL3Rhcl83Lmh0bWwpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkV4YW1wbGUgdXNhZ2U6IHNlZSBleGFtcGxlLnBocA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KDQpkZWZpbmUoIlNSVF9BU0MiLDEpOw0KZGVmaW5lKCJTUlRfREVTQyIsLTEpOw0KDQpjbGFzcyB0YkFycmF5TXVsdGlzb3J0ew0KDQoJLy8gVGhlIGFycmF5IHRvIGJlIHNvcnRlZA0KCXByaXZhdGUgJGFyciA9IE5VTEw7DQoNCgkvKg0KCSBTb3J0aW5nIGRlZmluaXRpb24NCgkgRm9ybWF0OiBhcnJheSAoDQoJIGFycmF5KA0KCSAiY29sTmFtZSIgICA9PiAgICJzb21lIGNvbHVtbiBuYW1lIiwNCgkgImNvbERpciIgICAgPT4gICBTUlRfQVNDLA0KCSAiY29tcGFyZUZ1bmMiID0+ICJteUNvbXBhcmVGdW5jdGlvbiINCgkgKSwNCgkgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4NCgkgKQ0KCSAiY29tcGFyZUZ1bmMiIGVsZW1lbnQgaXMgb3B0aW9uYWwgLSBOVUxMIGJ5IGRlZmF1bHQgYW5kIGJ5IGRlZmF1bHQgdGhlIGNsYXNzIGludGVybmFsIGNvbXBhcmUgaXMgdXNlZC4NCgkgSWYgRXh0ZXJuYWwgY29tcGFyZSBmdW5jdGlvbiBpcyBzdXBwbGllZCBpdCBtdXN0IGNvbmZvcm0gdG8gdGhlIGZvbGxvd2luZyByZXF1aXJlbWVudHM6DQoJIH4gQWNjZXB0IHR3byBUX1NUUklORyBwYXJhbWV0ZXJzIGFuZCByZXR1cm46DQoJIDAgIC0gaWYgcGFyYW1ldGVycyBhcmUgZXF1YWwNCgkgMSAgLSBpZiBmaXJzdCBwYXJhbWV0ZXIgaXMgZ3JlYXRlciB0aGFuIHNlY29uZA0KCSAtMSAtIGlmIHNlY29uZCBwYXJhbWV0ZXIgaXMgZ3JlYXRlciB0aGFuIGZpcnN0DQoJICovDQoJcHJpdmF0ZSAkc29ydERlZiA9IE5VTEw7DQoNCgkvL0NvbnN0cnVjdG9yDQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgDQoJew0KCQkkdGhpcy0+YXJyID0gYXJyYXkoKTsNCgkJJHRoaXMtPnNvcnREZWYgPSBhcnJheSgpOw0KCX0NCgkgDQoNCgkvL3NldEFycmF5IG1ldGhvZCAtIHNldHMgdGhlIGFycmF5IHRvIGJlIHNvcnRlZA0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBzZXRBcnJheSgmJGFycil7DQoJCSR0aGlzLT5hcnIgPSAkYXJyOw0KCX0NCg0KCS8qDQoJIGFkZENvbHVtbiBtZXRob2QgLSBhZHMgZW50cnkgdG8gc29ydGluZyBkZWZpbml0aW9uDQoJIElmIGNvbHVtbiBleGlzdHMsIHZhbHVlcyBhcmUgb3ZlcndyaXRlbi4NCgkgKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gYWRkQ29sdW1uKCRjb2xOYW1lPSIiLCRjb2xEaXI9U1JUX0FTQywkY29tcGFyZUZ1bmM9TlVMTCl7DQoJCSRpZHggPSAkdGhpcy0+X2dldENvbElkeCgkY29sTmFtZSk7DQoJCWlmKCRpZHggPCAwKXsNCgkJCSR0aGlzLT5zb3J0RGVmW10gPSBhcnJheSgpOw0KCQkJJGlkeCA9IGNvdW50KCR0aGlzLT5zb3J0RGVmKS0xOw0KCQl9DQoJCSR0aGlzLT5zb3J0RGVmWyRpZHhdWyJjb2xOYW1lIl0gPSAkY29sTmFtZTsNCgkJJHRoaXMtPnNvcnREZWZbJGlkeF1bImNvbERpciJdID0gJGNvbERpcjsNCgkJJHRoaXMtPnNvcnREZWZbJGlkeF1bImNvbXBhcmVGdW5jIl0gPSAkY29tcGFyZUZ1bmM7DQoJfQ0KDQoJLy9yZW1vdmVDb2x1bW4gbWV0aG9kIC0gcmVtb3ZlcyBlbnRyeSBmcm9tIHNvcnRpbmcgZGVmaW5pdGlvbg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiByZW1vdmVDb2x1bW4oJGNvbE5hbWU9IiIpew0KCQkkaWR4ID0gJHRoaXMtPl9nZXRDb2xJZHgoJGNvbE5hbWUpOw0KCQlpZigkaWR4ID49IDApIGFycmF5X3NwbGljZSgkdGhpcy0+c29ydERlZiwkaWR4LDEpOw0KCX0NCg0KCS8vcmVzZXRDb2x1bW5zIC0gcmVtb3ZlcyBhbnkgY29sdW1ucyBmcm9tIHNvcnRpbmcgZGVmaW5pdGlvbi4gQXJyYXkgdG8gc29ydCBpcyBub3QgYWZmZWN0ZWQuDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIHJlc2V0Q29sdW1ucygpew0KCQkkdGhpcy0+c29ydERlZiA9IGFycmF5KCk7DQoJfQ0KDQoJLy9zb3J0KCkgbWV0aG9kDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uICZzb3J0KCl7DQoJCXVzb3J0KCR0aGlzLT5hcnIsYXJyYXkoJHRoaXMsIl9jb21wYXJlIikpOw0KCQlyZXR1cm4gJHRoaXMtPmFycjsNCgl9DQoNCgkvL19nZXRDb2xJZHggbWV0aG9kIFtQUklWQVRFXQ0KCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gX2dldENvbElkeCgkY29sTmFtZSl7DQoJCSRpZHggPSAtMTsNCgkJZm9yKCRpPTA7JGk8Y291bnQoJHRoaXMtPnNvcnREZWYpOyRpKyspew0KCQkJJGNvbERlZiA9ICR0aGlzLT5zb3J0RGVmWyRpXTsNCgkJCWlmKCRjb2xEZWZbImNvbE5hbWUiXSA9PSAkY29sTmFtZSkgJGlkeCA9ICRpOw0KCQl9DQoJCXJldHVybiAkaWR4Ow0KCX0NCg0KCS8vQ29tcGFyaXNvbiBmdW5jdGlvbiBbUFJJVkFURV0NCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIF9jb21wYXJlKCRhLCRiLCRpZHggPSAwKXsNCgkJaWYoY291bnQoJHRoaXMtPnNvcnREZWYpID09IDApIHJldHVybiAwOw0KCQkkY29sRGVmID0gJHRoaXMtPnNvcnREZWZbJGlkeF07DQoJCSRhX2NtcCA9ICRhWyRjb2xEZWZbImNvbE5hbWUiXV07DQoJCSRiX2NtcCA9ICRiWyRjb2xEZWZbImNvbE5hbWUiXV07DQoJCWlmKGlzX251bGwoJGNvbERlZlsiY29tcGFyZUZ1bmMiXSkpew0KCQkJJGFfZHQgPSBzdHJ0b3RpbWUoJGFfY21wKTsNCgkJCSRiX2R0ID0gc3RydG90aW1lKCRiX2NtcCk7DQoJCQlpZigoJGFfZHQgPT0gLTEpIHx8ICgkYl9kdCA9PSAtMSkgfHwgKCRhX2R0ID09IGZhbHNlKSB8fCAoJGJfZHQgPT0gZmFsc2UpKQ0KCQkJJHJldCA9ICRjb2xEZWZbImNvbERpciJdKnN0cm5hdGNhc2VjbXAoJGFfY21wLCRiX2NtcCk7DQoJCQllbHNlew0KCQkJCSRyZXQgPSAkY29sRGVmWyJjb2xEaXIiXSooKCRhX2R0ID4gJGJfZHQpPzE6KCgkYV9kdCA8ICRiX2R0KT8tMTowKSk7DQoJCQl9DQoJCX0NCgkJZWxzZXsNCgkJCSRjb2RlID0gJyRyZXQgPSAnIC4gJGNvbERlZlsiY29tcGFyZUZ1bmMiXSAuICcoIicgLiAkYV9jbXAgLiAnIiwiJyAuICRiX2NtcCAuICciKTsnOw0KCQkJZXZhbCgkY29kZSk7DQoJCQkkcmV0ID0gJGNvbERlZlsiY29sRGlyIl0qJHJldDsNCgkJfQ0KCQlpZigkcmV0ID09IDApew0KCQkJaWYoJGlkeCA8IChjb3VudCgkdGhpcy0+c29ydERlZiktMSkpDQoJCQlyZXR1cm4gJHRoaXMtPl9jb21wYXJlKCRhLCRiLCRpZHgrMSk7DQoJCQllbHNlDQoJCQlyZXR1cm4gJHJldDsNCgkJfQ0KCQllbHNlDQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbLogUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KY2xhc3MgdGJMb2dVcGRhdGVyIHsNCg0KCXB1YmxpYyBmaW5hbCBzdGF0aWMgZnVuY3Rpb24gZ2V0TG9nTGluZXMoJGxvZ0ZpbGUsICRyYW5kb21rZXksICRsaW5lcyA9IDIwKSB7DQoJCQ0KCQlpZiAoIWlzX2ZpbGUoJGxvZ0ZpbGUpKSByZXR1cm4gJ0xvZ0ZpbGUgbm90IEZvdW5kJzsNCgkJDQoJCWlmIChlbXB0eSgkX1NFU1NJT04pKSB7DQoJCQkkc2Vzc2lvbl9uYW1lID0gInRiTG9nVXBkYXRlciI7DQoJCQlzZXNzaW9uX25hbWUoJHNlc3Npb25fbmFtZSk7DQoJCX0NCgkJDQoJCWlmICghaXNzZXQoJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4kcmFuZG9ta2V5LidfVHMnXSkgb3IgJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4kcmFuZG9ta2V5LidfVHMnXSA9PSAnJyApIHsNCgkJCXJldHVybiBzZWxmOjpyZWFkTGFzdExvZ0xpbmVzKCRsb2dGaWxlLCAkcmFuZG9ta2V5LCAkbGluZXMpLiJcbiI7DQoJCX0NCgkJZWxzZSB7DQoJCQlyZXR1cm4gc2VsZjo6dXBkYXRlTG9nTGluZXMoJGxvZ0ZpbGUsICRyYW5kb21rZXkpOwkNCgkJfQ0KCX0NCgkNCgkvKioNCgkgKiANCgkgKiBha3R1YWxpc2llcnQgbmFjaCBnZXNwZWljaGVydGVtIExvZ1RpbWVTdGFtcCBkYXMgdGFpbCBuYWNoIMOEbmRlcnVuZ2VuDQoJICogQHBhcmFtIHN0cmluZyAkbG9nRmlsZSAtIFBmYWQgenVtIExvZ2ZpbGUNCgkgKiBAcGFyYW0gc3RyaW5nICRrZXkgLSByYW5kb20ga2V5IHVtIHZlcnNjaGllZGVuZSBTZXNzaW9ucyB0cmVubmVuIHp1IGvDtm5uZW4NCgkgKi8NCgkNCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIHVwZGF0ZUxvZ0xpbmVzKCRsb2dGaWxlLCRrZXkpDQoJew0KCQkkbG9nZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dGaWxlKTsNCgkJJHVzZXJMYXN0VHMgPSBpc3NldCgkX1NFU1NJT05bJ3RiTG9nVXBkYXRlcl8nLiRrZXkuJ19UcyddKSA/ICRfU0VTU0lPTlsndGJMb2dVcGRhdGVyXycuJGtleS4nX1RzJ10gOiAnJzsNCgkJaWYgKCEkdXNlckxhc3RUcykgeyByZXR1cm47CX0NCgkNCgkJJHRzcyA9IHNlbGY6OmdldFRpbWVzdGFtcHMoJGxvZ2RhdGEpOw0KCQkkbGFzdFRzID0gZW5kKCR0c3MpOw0KCQ0KCQlpZigkbGFzdFRzPT1udWxsKSB7DQoJCQlyZXR1cm4gJyc7DQoJCX0NCgkJZWxzZSB7DQoJCQkkX1NFU1NJT05bJ3RiTG9nVXBkYXRlcl8nLiRrZXkuJ19UcyddID0gJGxhc3RUczsNCgkJCXJldHVybiBzdWJzdHIoJGxvZ2RhdGEsIHN0cmlwb3MoJGxvZ2RhdGEsICRsYXN0VHMpKTsNCgkJfQ0KCX0NCgkNCgkvKioNCgkgKiANCgkgKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlIC4uLg0KCSAqIEBiYXNlIGh0dHA6Ly93d3cucGhwZ2FuZ3N0YS5kZS90YWcvcGhwLXRhaWwNCgkgKiBAcGFyYW0gc3RyaW5nICRsb2dGaWxlDQoJICogQHBhcmFtIGludCAkbGluZXMNCgkgKi8NCg0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gcmVhZExhc3RMb2dMaW5lcygkbG9nRmlsZSwgJGtleSwgJGxpbmVzID0gMjApIHsNCgkgICAgJGhhbmRsZSA9IGZvcGVuKCRsb2dGaWxlLCAiciIpOw0KCSAgICBpZiAoISRoYW5kbGUpIHsNCgkgICAgICAgIHJldHVybiBhcnJheSgpOw0KCSAgICB9DQoJICAgICRsaW5lY291bnRlciA9ICRsaW5lczsNCgkgICAgJHBvcyA9IC0yOw0KCSAgICAkYmVnaW5uaW5nID0gZmFsc2U7DQoJICAgICR0ZXh0ID0gYXJyYXkoKTsNCgkgICAgd2hpbGUgKCRsaW5lY291bnRlciA+IDApIHsNCgkgICAgICAgICR0ID0gIiAiOw0KCSAgICAgICAgd2hpbGUgKCR0ICE9ICJcbiIpIHsNCgkgICAgICAgICAgICBpZihmc2VlaygkaGFuZGxlLCAkcG9zLCBTRUVLX0VORCkgPT0gLTEpIHsNCgkgICAgICAgICAgICAgICAgJGJlZ2lubmluZyA9IHRydWU7DQoJICAgICAgICAgICAgICAgIGJyZWFrOw0KCSAgICAgICAgICAgIH0NCgkgICAgICAgICAgICAkdCA9IGZnZXRjKCRoYW5kbGUpOw0KCSAgICAgICAgICAgICRwb3MtLTsNCgkgICAgICAgIH0NCgkgICAgICAgICRsaW5lY291bnRlci0tOw0KCSAgICAgICAgaWYgKCRiZWdpbm5pbmcpIHsNCgkgICAgICAgICAgICByZXdpbmQoJGhhbmRsZSk7DQoJICAgICAgICB9DQoJICAgICAgICAkdGV4dFskbGluZXMtJGxpbmVjb3VudGVyLTFdID0gc3RyX3JlcGxhY2UoYXJyYXkoIlxyIiwgIlxuIiwgIlx0IiksICcnLCBmZ2V0cygkaGFuZGxlKSk7DQoJICAgICAgICBpZiAoJGJlZ2lubmluZykgYnJlYWs7DQoJICAgIH0NCgkgICAgZmNsb3NlKCRoYW5kbGUpOw0KCSAgICANCgkgICAgJGxpbmVzID0gYXJyYXlfcmV2ZXJzZSgkdGV4dCk7DQoJICAgICRsb2cgPSBpbXBsb2RlKCJcbiIsJGxpbmVzKTsNCgkgICAgDQoJICAgICR0cyA9IHNlbGY6OmdldFRpbWVzdGFtcHMoJGxvZyk7DQoJICAgICRsYXN0VHMgPSBlbmQoJHRzKTsNCgkgICAgDQoJICAgIGlmICgkbGFzdFRzID09IG51bGwpIHt9DQoJICAgIGVsc2Ugew0KCSAgICAJJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4ka2V5LidfVHMnXSA9ICRsYXN0VHM7DQoJICAgIH0NCgkgICAgDQoJICAgIHJldHVybiAkbG9nOw0KCX0NCgkgIA0KCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFRpbWVzdGFtcHMoJHJhd19kYXRhKQ0KCXsNCgkJJHJvd3MgPSBwcmVnX21hdGNoX2FsbCgnLyhbMC05XSl7NH1cLShbMC05XSl7Mn1cLShbMC05XSl7Mn1ccyhbMC05XSl7Mn06KFswLTldKXsyfTooWzAtOV0pezJ9LycsICRyYXdfZGF0YSwgJG1hdGNoZXMpOw0KCQlyZXR1cm4gJG1hdGNoZXNbMF07DQoJfQ0KCQ0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbModuleOps.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KZmluYWwgY2xhc3MgdGJNb2R1bGVPcHMgew0KCQ0KCXByaXZhdGUgJG1vZHVsZTsNCglwcml2YXRlICRwcmVmczsNCglwcml2YXRlICRldmVudHM7DQoJcHJpdmF0ZSAkZGI7DQoJcHJpdmF0ZSAkY29uZmlnOw0KCXByaXZhdGUgJHhtbF9leGNsdWRlX2ZpbGVzID0gYXJyYXkoJ15cLnN2bicgLCAnXkNWUyQnICwgJ15cIy4qXCMkJyAsICd+JCcsICdcLmJhayQnICk7DQoJcHJpdmF0ZSAkeG1sZHRkID0gJw0KPCFET0NUWVBFIG1vZHVsZSBbDQogIDwhRUxFTUVOVCBtb2R1bGUgKGR0ZHZlcnNpb24sbmFtZSx2ZXJzaW9uLHByZWZlcmVuY2VzKixldmVudHMqLHRlbXBsYXRlcyosdGFibGVzKik+DQogIDwhRUxFTUVOVCBkdGR2ZXJzaW9uICgjUENEQVRBKT4NCiAgPCFFTEVNRU5UIG5hbWUgKCNQQ0RBVEEpPg0KICA8IUVMRU1FTlQgdmVyc2lvbiAoI1BDREFUQSk+DQogIDwhRUxFTUVOVCBwcmVmZXJlbmNlcyAoI1BDREFUQSk+DQogIDwhRUxFTUVOVCBldmVudHMgKCNQQ0RBVEEpPg0KICA8IUVMRU1FTlQgdGVtcGxhdGVzICgjUENEQVRBKT4NCiAgPCFFTEVNRU5UIHRhYmxlcyAoI1BDREFUQSk+DQpdPic7DQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtb2R1bGVuYW1lKSANCgl7DQoJCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZW5hbWUpOw0KCQlpZiAoIWlzX29iamVjdCgkbW9kdWxlKSkNCgkJCXJldHVybiBmYWxzZTsNCgkJCQ0KCQkkdGhpcy0+ZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkkdGhpcy0+Y29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CQ0KDQoJCSR0aGlzLT5tb2R1bGUgPSAkbW9kdWxlOyAJDQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRDdXJyZW50TW9kdWxlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+bW9kdWxlOw0KCX0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0TW9kdWxlUHJlZnMoKQ0KCXsNCgkJaWYgKCFpc19vYmplY3QoJHRoaXMtPm1vZHVsZSkpIHJldHVybiBmYWxzZTsNCgkJDQoJCXJldHVybiAkdGhpcy0+Z2V0UHJlZnMoKTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldE1vZHVsZUV2ZW50cygpDQoJew0KCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJcmV0dXJuICR0aGlzLT5nZXRFdmVudHMoKTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldE1vZHVsZVRlbXBsYXRlcygpDQoJew0KCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJcmV0dXJuICR0aGlzLT5nZXRUZW1wbGF0ZXMoKTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldE1vZHVsZVRhYmxlcygpDQoJew0KCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJcmV0dXJuICR0aGlzLT5nZXRUYWJsZXMoKTsNCgl9DQoJDQoJDQoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBnZXRQcmVmcygpDQoJew0KCQkkbW9kID0gJHRoaXMtPm1vZHVsZTsNCgkJDQoJCSRmaWx0ZXIgPSAkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCkgLiAiX21hcGlfcHJlZl8iOw0KDQoJCSRxdWVyeSA9ICdTRUxFQ1Qgc2l0ZXByZWZfbmFtZSxzaXRlcHJlZl92YWx1ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidzaXRlcHJlZnMgd2hlcmUgc2l0ZXByZWZfbmFtZSBsaWtlIFwnJy4kZmlsdGVyLiclXCcnOw0KCQkkZGJyID0gJHRoaXMtPmRiLT5HZXRBcnJheSgkcXVlcnkpOw0KCQlpZiggaXNfYXJyYXkoJGRicikgKQ0KCQl7DQoJCQkkcHJlZnMgPSBhcnJheSgpOw0KCQkJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRicik7ICRpKysgKQ0KCQkJew0KCQkJCSRyb3cgPSAkZGJyWyRpXTsNCgkJCQkkcHJlZnNbc3RyX3JlcGxhY2UoJGZpbHRlciwgIiIsICRyb3dbJ3NpdGVwcmVmX25hbWUnXSldID0gJHJvd1snc2l0ZXByZWZfdmFsdWUnXTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuICRwcmVmczsNCgl9DQoJDQoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBnZXRFdmVudHMoKQ0KCXsNCgkJJHEgPSAiU0VMRUNUIG9yaWdpbmF0b3IsIGV2ZW50X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iZXZlbnRfaGFuZGxlcnMgaW5uZXIgam9pbiAiLmNtc19kYl9wcmVmaXgoKS4iZXZlbnRzIG9uICIuY21zX2RiX3ByZWZpeCgpLiJldmVudHMuZXZlbnRfaWQgPSAiLmNtc19kYl9wcmVmaXgoKS4iZXZlbnRfaGFuZGxlcnMuZXZlbnRfaWQgIFdIRVJFIG1vZHVsZV9uYW1lID0gPyI7DQoJCSRwYXJhbXNbXSA9ICR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKTsNCgkJJHJlc3VsdCA9ICR0aGlzLT5kYi0+R2V0QWxsKCAkcSwgJHBhcmFtcyApOw0KCQkNCgkJaWYgKCEkcmVzdWx0KSByZXR1cm4gZmFsc2U7DQoJCQ0KCQlyZXR1cm4gJHJlc3VsdDsJCQ0KCX0NCgkNCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIGdldFRlbXBsYXRlcygpDQoJew0KLy8NCi8vCQkkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdGVtcGxhdGVzIFdIRVJFIG1vZHVsZV9uYW1lID0gPyI7DQovLwkJJHBhcmFtc1tdID0gJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpOw0KLy8JCSRyZXN1bHQgPSAkdGhpcy0+ZGItPkdldEFsbCggJHEsICRwYXJhbXMgKTsNCi8vCQlyZXR1cm4gJHJlc3VsdDsJCQ0KCQkNCgkJJGFsbHRlbXBsYXRlcyA9ICR0aGlzLT5tb2R1bGUtPkxpc3RUZW1wbGF0ZXMoKTsNCgkJDQoJCWlmICghJGFsbHRlbXBsYXRlcykgcmV0dXJuIGZhbHNlOw0KCQlyZXR1cm4gJGFsbHRlbXBsYXRlczsNCgl9DQoNCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIGdldFRhYmxlcygpDQoJew0KDQoJCSRxID0gIlNIT1cgVEFCTEVTIEZST00gIiAuICR0aGlzLT5jb25maWdbJ2RiX25hbWUnXTsNCgkJJHBhcmFtc1tdID0gJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpOw0KCQkkc2hvd3RhYmxlcyA9ICR0aGlzLT5kYi0+R2V0QWxsKCAkcSApOw0KDQoJCSR0YWJsZXMgPSBhcnJheSgpOw0KCQlmb3JlYWNoICgkc2hvd3RhYmxlcyBhcyAkdGIgKSB7DQoJCQlmb3JlYWNoKCR0YiBhcyAkdCkgew0KCQkJCWlmIChzdHJwb3MoJHQsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy5zdHJ0b2xvd2VyKCR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKSkpICE9PSBmYWxzZSkNCgkJCQkJJHRhYmxlc1skdF0gPSBhcnJheSgpOw0KCQkJfQ0KCQl9DQoJCQ0KCQlmb3JlYWNoICgkdGFibGVzIGFzICR0YWJsZSA9PiAkZGF0YSkgew0KCQkJJHEgPSAiU0VMRUNUICogRlJPTSAiIC4gJHRhYmxlOw0KCQkJJGRhdGEgPSAkdGhpcy0+ZGItPkdldEFsbCggJHEgKTsNCgkJCSR0YWJsZXNbJHRhYmxlXSA9ICRkYXRhOw0KCQl9DQoJCQ0KCQlyZXR1cm4gJHRhYmxlczsJCQ0KCQkNCgl9DQoJDQoJDQoNCgkvLyBiYXNlZCBvbiBjbGFzcy5tb2R1bGVvcGVyYXRpb25zLmluYy5waHANCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gQ3JlYXRlWE1MUGFja2FnZSgpDQoJew0KCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJLy8gZ2V0IGEgZmlsZSBsaXN0DQovLwkJJGZpbGVjb3VudCA9IDA7DQovLwkJJGRpciA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpOw0KLy8JCSRmaWxlcyA9IGdldF9yZWN1cnNpdmVfZmlsZV9saXN0KCAkZGlyLCAkdGhpcy0+eG1sX2V4Y2x1ZGVfZmlsZXMgKTsNCg0KCQkkeG1sdHh0ICA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+JzsNCgkJJHhtbHR4dCAuPSAkdGhpcy0+eG1sZHRkLiJcbiI7DQoJCSR4bWx0eHQgLj0gIjxtb2R1bGU+XG4iOw0KCQkkeG1sdHh0IC49ICIJPGR0ZHZlcnNpb24+Ii5NT0RVTEVfRFREX1ZFUlNJT04uIjwvZHRkdmVyc2lvbj5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8bmFtZT4iLiR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKS4iPC9uYW1lPlxuIjsNCgkJJHhtbHR4dCAuPSAiCTx2ZXJzaW9uPiIuJHRoaXMtPm1vZHVsZS0+R2V0VmVyc2lvbigpLiI8L3ZlcnNpb24+XG4iOw0KCQkkeG1sdHh0IC49ICIJPHByZWZlcmVuY2VzPiIuYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHRoaXMtPmdldFByZWZzKCkpKS4iPC9wcmVmZXJlbmNlcz5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8ZXZlbnRzPiIuYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHRoaXMtPmdldEV2ZW50cygpKSkuIjwvcHJlZj5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8dGVtcGxhdGVzPiIuYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHRoaXMtPmdldFRlbXBsYXRlcygpKSkuIjwvdGVtcGxhdGVzPlxuIjsNCgkJJHhtbHR4dCAuPSAiCTx0YWJsZXM+Ii5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkdGhpcy0+Z2V0VGFibGVzKCkpKS4iPC90YWJsZXM+XG4iOw0KCQkkeG1sdHh0IC49ICI8L21vZHVsZT5cbiI7DQoJCSRtZXNzYWdlID0gJ1hNTCBwYWNrYWdlIG9mICcuc3RybGVuKCR4bWx0eHQpLicgYnl0ZXMgY3JlYXRlZCBmb3IgJy4kdGhpcy0+bW9kdWxlLT5HZXROYW1lKCk7DQoJCXJldHVybiAkeG1sdHh0Ow0KCX0NCg0KCWZ1bmN0aW9uIEV4cGFuZFhNTFBhY2thZ2UoICR4bWx1cmksICRvdmVyd3JpdGUgPSAwLCAkYnJpZWYgPSAwICkNCgl7DQoJCSRnQ21zID0gY21zbXMoKTsNCg0KCQkvLyBmaXJzdCBtYWtlIHN1cmUgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgd3JpdGUgdG8gdGhlIG1vZHVsZSBkaXJlY3RvcnkNCgkJJGRpciA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiOw0KDQoJCWlmKCAhaXNfd3JpdGFibGUoICRkaXIgKSAmJiAkYnJpZWYgPT0gMCApDQoJCXsNCgkJCS8vIGRpcmVjdG9yeSBub3Qgd3JpdGFibGUNCgkJCSR0aGlzLT5TZXRFcnJvciggbGFuZyggJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnICkgKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCSRyZWFkZXIgPSBuZXcgWE1MUmVhZGVyKCk7DQoJCSRyZXQgPSAkcmVhZGVyLT5vcGVuKCR4bWx1cmkpOw0KCQlpZiggJHJldCA9PSAwICkNCgkJew0KCQkJJHRoaXMtPlNldEVycm9yKCBsYW5nKCAnZXJyb3Jjb3VsZG5vdHBhcnNleG1sJyApICk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQkkaGF2ZWR0ZHZlcnNpb24gPSBmYWxzZTsNCgkJJG1vZHVsZWRldGFpbHMgPSBhcnJheSgpOw0KCQlpZiggaXNfZmlsZSgkeG1sdXJpKSApDQoJCSRtb2R1bGVkZXRhaWxzWydzaXplJ10gPSBmaWxlc2l6ZSgkeG1sdXJpKTsNCgkJJHJlcXVpcmVkID0gYXJyYXkoKTsNCgkJd2hpbGUoICRyZWFkZXItPnJlYWQoKSApDQoJCXsNCgkJCXN3aXRjaCgkcmVhZGVyLT5ub2RlVHlwZSkNCgkJCXsNCgkJCQljYXNlIFhNTFJFQURFUjo6RUxFTUVOVDoNCgkJCQkJew0KCQkJCQkJc3dpdGNoKCBzdHJ0b3VwcGVyKCRyZWFkZXItPmxvY2FsTmFtZSkgKQ0KCQkJCQkJew0KCQkJCQkJCWNhc2UgJ05BTUUnOg0KCQkJCQkJCQl7DQoJCQkJCQkJCQkkcmVhZGVyLT5yZWFkKCk7DQoJCQkJCQkJCQkkbW9kdWxlZGV0YWlsc1snbmFtZSddID0gJHJlYWRlci0+dmFsdWU7DQoJCQkJCQkJCQkvLyBjaGVjayBpZiB0aGlzIG1vZHVsZSBpcyBhbHJlYWR5IGluc3RhbGxlZA0KCQkJCQkJCQkJaWYoIGlzc2V0KCAkdGhpcy0+X21vZHVsZXNbJG1vZHVsZWRldGFpbHNbJ25hbWUnXV0gKSAmJiAkb3ZlcndyaXRlID09IDAgJiYgJGJyaWVmID09IDAgKQ0KCQkJCQkJCQkJew0KCQkJCQkJCQkJCSR0aGlzLT5TZXRFcnJvciggbGFuZyggJ21vZHVsZWluc3RhbGxlZCcgKSApOw0KCQkJCQkJCQkJCXJldHVybiBUUlVFOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCX0NCgkJCQkJCQljYXNlICdEVERWRVJTSU9OJzoNCgkJCQkJCQkJew0KCQkJCQkJCQkJJHJlYWRlci0+cmVhZCgpOw0KCQkJCQkJCQkJaWYoICRyZWFkZXItPnZhbHVlICE9IE1PRFVMRV9EVERfVkVSU0lPTiApDQoJCQkJCQkJCQl7DQoJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKCBsYW5nKCAnZXJyb3JkdGRtaXNtYXRjaCcgKSApOw0KCQkJCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCSRoYXZlZHRkdmVyc2lvbiA9IHRydWU7DQoJCQkJCQkJCQlicmVhazsNCgkJCQkJCQkJfQ0KDQoJCQkJCQkJY2FzZSAnVkVSU0lPTic6DQoJCQkJCQkJCXsNCgkJCQkJCQkJCSRyZWFkZXItPnJlYWQoKTsNCgkJCQkJCQkJCSRtb2R1bGVkZXRhaWxzWyd2ZXJzaW9uJ10gPSAkcmVhZGVyLT52YWx1ZTsNCgkJCQkJCQkJCSR0bXBpbnN0ID0gJHRoaXMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJG1vZHVsZWRldGFpbHNbJ25hbWUnXSk7DQoJCQkJCQkJCQlpZiggJHRtcGluc3QgJiYgJGJyaWVmID09IDAgKQ0KCQkJCQkJCQkJew0KCQkJCQkJCQkJCSR2ZXJzaW9uID0gJHRtcGluc3QtPkdldFZlcnNpb24oKTsNCgkJCQkJCQkJCQlpZiggdmVyc2lvbl9jb21wYXJlKCRtb2R1bGVkZXRhaWxzWyd2ZXJzaW9uJ10sJHZlcnNpb24pIDwgMCApDQoJCQkJCQkJCQkJew0KCQkJCQkJCQkJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoJ2Vycm9yYXR0ZW1wdGVkZG93bmdyYWRlJykgKTsNCgkJCQkJCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQllbHNlIGlmICh2ZXJzaW9uX2NvbXBhcmUoJG1vZHVsZWRldGFpbHNbJ3ZlcnNpb24nXSwkdmVyc2lvbikgPT0gMCApDQoJCQkJCQkJCQkJew0KCQkJCQkJCQkJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoJ21vZHVsZWluc3RhbGxlZCcpICk7DQoJCQkJCQkJCQkJCXJldHVybiBUUlVFOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCX0NCgkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoNCgkJCQkJCQljYXNlICdNSU5DTVNWRVJTSU9OJzoNCgkJCQkJCQljYXNlICdNQVhDTVNWRVJTSU9OJzoNCgkJCQkJCQljYXNlICdERVNDUklQVElPTic6DQoJCQkJCQkJY2FzZSAnRklMRU5BTUUnOg0KCQkJCQkJCWNhc2UgJ0lTRElSJzoNCgkJCQkJCQkJew0KCQkJCQkgICAgJG5hbWUgPSAkcmVhZGVyLT5sb2NhbE5hbWU7DQoJCQkJCSAgICAkcmVhZGVyLT5yZWFkKCk7DQoJCQkJCSAgICAkbW9kdWxlZGV0YWlsc1skbmFtZV0gPSAkcmVhZGVyLT52YWx1ZTsNCgkJCQkJICAgIGJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQkJY2FzZSAnSEVMUCc6DQoJCQkJCQkJY2FzZSAnQUJPVVQnOg0KCQkJCQkJCQl7DQoJCQkJCSAgICAkbmFtZSA9ICRyZWFkZXItPmxvY2FsTmFtZTsNCgkJCQkJICAgICRyZWFkZXItPnJlYWQoKTsNCgkJCQkJICAgICRtb2R1bGVkZXRhaWxzWyRuYW1lXSA9IGJhc2U2NF9kZWNvZGUoJHJlYWRlci0+dmFsdWUpOw0KCQkJCQkgICAgYnJlYWs7DQoJCQkJCQkJCX0NCgkJCQkJCQljYXNlICdSRVFVSVJFRE5BTUUnOg0KCQkJCQkJCQl7DQoJCQkJCQkJCQkkcmVhZGVyLT5yZWFkKCk7DQoJCQkJCQkJCQkkcmVxdWlyZXNbJ25hbWUnXSA9ICRyZWFkZXItPnZhbHVlOw0KCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCX0NCgkJCQkJCQljYXNlICdSRVFVSVJFRFZFUlNJT04nOg0KCQkJCQkJCQl7DQoJCQkJCQkJCQkkcmVhZGVyLT5yZWFkKCk7DQoJCQkJCQkJCQkkcmVxdWlyZXNbJ3ZlcnNpb24nXSA9ICRyZWFkZXItPnZhbHVlOw0KCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCX0NCgkJCQkJCQljYXNlICdEQVRBJzoNCgkJCQkJCQkJew0KCQkJCQkJCQkJJHJlYWRlci0+cmVhZCgpOw0KCQkJCQkJCQkJJG1vZHVsZWRldGFpbHNbJ2ZpbGVkYXRhJ10gPSAkcmVhZGVyLT52YWx1ZTsNCgkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCWNhc2UgWE1MUmVhZGVyOjpFTkRfRUxFTUVOVDoNCgkJCQkJew0KCQkJCQkJc3dpdGNoKCBzdHJ0b3VwcGVyKCRyZWFkZXItPmxvY2FsTmFtZSkgKQ0KCQkJCQkJew0KCQkJCQkJCWNhc2UgJ1JFUVVJUkVTJzoNCgkJCQkJCQkJew0KCQkJCQkJCQkJaWYoIGNvdW50KCRyZXF1aXJlcykgIT0gMiApDQoJCQkJCQkJCQl7DQoJCQkJCQkJCQkJY29udGludWU7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQlpZiggIWlzc2V0KCAkbW9kdWxlZGV0YWlsc1sncmVxdWlyZXMnXSApICkNCgkJCQkJCQkJCXsNCgkJCQkJCQkJCQkkbW9kdWxlZGV0YWlsc1sncmVxdWlyZXMnXSA9IGFycmF5KCk7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQkkbW9kdWxlZGV0YWlsc1sncmVxdWlyZXMnXVtdID0gJHJlcXVpcmVzOw0KCQkJCQkJCQkJJHJlcXVpcmVzID0gYXJyYXkoKTsNCgkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQkJY2FzZSAnRklMRSc6DQoJCQkJCQkJCXsNCgkJCQkJCQkJCWlmKCAkYnJpZWYgIT0gMCApIGNvbnRpbnVlOw0KDQoJCQkJCQkJCQkvLyBmaW5pc2hlZCBhIGZpcnN0IGZpbGUNCgkJCQkJCQkJCWlmKCAhaXNzZXQoICRtb2R1bGVkZXRhaWxzWyduYW1lJ10gKQkgICB8fCAhaXNzZXQoICRtb2R1bGVkZXRhaWxzWyd2ZXJzaW9uJ10gKSB8fA0KCQkJCQkJCQkJIWlzc2V0KCAkbW9kdWxlZGV0YWlsc1snZmlsZW5hbWUnXSApIHx8ICFpc3NldCggJG1vZHVsZWRldGFpbHNbJ2lzZGlyJ10gKSApDQoJCQkJCQkJCQl7DQoJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKCBsYW5nKCdlcnJvcmluY29tcGxldGV4bWwnKSApOw0KCQkJCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJLy8gcmVhZHkgdG8gZ28NCgkJCQkJCQkJCSRtb2R1bGVkaXI9JGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRtb2R1bGVkZXRhaWxzWyduYW1lJ107DQoJCQkJCQkJCQkkZmlsZW5hbWU9JG1vZHVsZWRpci4kbW9kdWxlZGV0YWlsc1snZmlsZW5hbWUnXTsNCgkJCQkJCQkJCWlmKCAhZmlsZV9leGlzdHMoICRtb2R1bGVkaXIgKSApDQoJCQkJCQkJCQl7DQoJCQkJCQkJCQkJaWYoICFAbWtkaXIoICRtb2R1bGVkaXIgKSAmJiAhaXNfZGlyKCAkbW9kdWxlZGlyICkgKQ0KCQkJCQkJCQkJCXsNCgkJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKGxhbmcoJ2Vycm9yY2FudGNyZWF0ZWZpbGUnKS4nICcuJG1vZHVsZWRpcik7DQoJCQkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCX0NCgkJCQkJCQkJCWVsc2UgaWYoICRtb2R1bGVkZXRhaWxzWydpc2RpciddICkNCgkJCQkJCQkJCXsNCgkJCQkJCQkJCQlpZiggIUBta2RpciggJGZpbGVuYW1lICkgJiYgIWlzX2RpciggJGZpbGVuYW1lICkgKQ0KCQkJCQkJCQkJCXsNCgkJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKGxhbmcoJ2Vycm9yY2FudGNyZWF0ZWZpbGUnKS4nICcuJGZpbGVuYW1lKTsNCgkJCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJZWxzZQ0KCQkJCQkJCQkJew0KCQkJCQkJCQkJCSRkYXRhID0gJG1vZHVsZWRldGFpbHNbJ2ZpbGVkYXRhJ107DQoJCQkJCQkJCQkJaWYoIHN0cmxlbiggJGRhdGEgKSApDQoJCQkJCQkJCQkJew0KCQkJCQkJCQkJCQkkZGF0YSA9IGJhc2U2NF9kZWNvZGUoICRkYXRhICk7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCSRmcCA9IEBmb3BlbiggJGZpbGVuYW1lLCAidyIgKTsNCgkJCQkJCQkJCQlpZiggISRmcCApDQoJCQkJCQkJCQkJew0KCQkJCQkJCQkJCQkkdGhpcy0+U2V0RXJyb3IobGFuZygnZXJyb3JjYW50Y3JlYXRlZmlsZScpLicgJy4kZmlsZW5hbWUpOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQlpZiggc3RybGVuKCAkZGF0YSApICkNCgkJCQkJCQkJCQl7DQoJCQkJCQkJCQkJCUBmd3JpdGUoICRmcCwgJGRhdGEgKTsNCgkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJQGZjbG9zZSggJGZwICk7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQl1bnNldCggJG1vZHVsZWRldGFpbHNbJ2ZpbGVkYXRhJ10gKTsNCgkJCQkJCQkJCXVuc2V0KCAkbW9kdWxlZGV0YWlsc1snZmlsZW5hbWUnXSApOw0KCQkJCQkJCQkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydpc2RpciddICk7DQoJCQkJCQkJCQlicmVhazsNCgkJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCX0NCgkJfSAvLyB3aGlsZQ0KDQoJCSRyZWFkZXItPmNsb3NlKCk7DQoJCWlmKCAkaGF2ZWR0ZHZlcnNpb24gPT0gZmFsc2UgKQ0KCQl7DQoJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoICdlcnJvcmR0ZG1pc21hdGNoJyApICk7DQoJCX0NCg0KCQkvLyB3ZSd2ZSBjcmVhdGVkIHRoZSBtb2R1bGUncyBkaXJlY3RvcnkNCgkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydmaWxlZGF0YSddICk7DQoJCXVuc2V0KCAkbW9kdWxlZGV0YWlsc1snZmlsZW5hbWUnXSApOw0KCQl1bnNldCggJG1vZHVsZWRldGFpbHNbJ2lzZGlyJ10gKTsNCg0KCQlpZiggJHRoaXMtPkdldExhc3RFcnJvcigpICE9ICIiICkNCgkJew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgl9DQoJDQoJDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBsaXN0TW9kdWxlcygpDQoJew0KCQkkdGIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTsNCgkJDQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCQ0KCQlpZiAoIWlzX29iamVjdCgkdGIpKSByZXR1cm4gZmFsc2U7DQoJCQ0KCQlnbG9iYWwgJGlkOw0KCQlnbG9iYWwgJHJldHVybmlkOw0KCQkNCgkJJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoJCQ0KCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwkJDQoJCSRtb2RvcHMtPkxvYWRNb2R1bGVzKFRSVUUpOw0KCQkkYWxsbW9kdWxlcyA9ICRtb2RvcHMtPkdldEFsbE1vZHVsZU5hbWVzKCk7DQoNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIGZyb20gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZXMgT1JERVIgQlkgbW9kdWxlX25hbWUiOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCXdoaWxlICgkcmVzdWx0ICYmICRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpKSB7DQoJCQkkZGJtWyRyb3dbJ21vZHVsZV9uYW1lJ11dWydTdGF0dXMnXSA9ICRyb3dbJ3N0YXR1cyddOw0KCQkJJGRibVskcm93Wydtb2R1bGVfbmFtZSddXVsnVmVyc2lvbiddID0gJHJvd1sndmVyc2lvbiddOw0KCQkJJGRibVskcm93Wydtb2R1bGVfbmFtZSddXVsnQWN0aXZlJ10gPSAoJHJvd1snYWN0aXZlJ10gPT0gMT90cnVlOmZhbHNlKTsNCgkJfQ0KCQkNCgkJJGN1cmNsYXNzID0gInJvdzEiOw0KCQkvLyBjb25zdHJ1Y3QgdHJ1ZS9mYWxzZSBidXR0b24gaW1hZ2VzDQoJCSRpbWFnZV90cnVlID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsIGxhbmcoJ3RydWUnKSwnJywnJywnc3lzdGVtaWNvbicpOw0KCQkkaW1hZ2VfZmFsc2UgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsIGxhbmcoJ2ZhbHNlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCg0KCQkkcm93YXJyYXkgPSBhcnJheSgpOw0KCQkkcm93Y2xhc3MgPSAncm93MSc7DQoJCQ0KCQlmb3JlYWNoKCRhbGxtb2R1bGVzIGFzICRrZXkpDQoJCXsNCgkJCWlmICghaXNzZXQoJGRibVska2V5XSkpCXsNCgkJCQljb250aW51ZTsNCgkJCX0NCgkJCQ0KCQkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOw0KCQkJDQovLwkJCSRtb2RpbnN0YW5jZSA9ICRtb2RvcHMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJGtleSwnJyx0cnVlKTsNCgkJCSRyb3ctPm5hbWUgPSAka2V5Ow0KCQkJJHJvdy0+dmVyc2lvbiA9ICRkYm1bJGtleV1bJ1ZlcnNpb24nXTsNCgkJCSRyb3ctPmFjdGl2ZSA9ICRkYm1bJGtleV1bJ0FjdGl2ZSddID8gJGltYWdlX3RydWUgOiAkaW1hZ2VfZmFsc2U7DQoJCQkkcm93LT54bWwgPSAkdGItPkNyZWF0ZUxpbmsoJGlkLCAnZG9fbW9kdWxlb3BzJywgJHJldHVybmlkLA0KCQkJCSAgICAnPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMveG1sX3Jzcy5naWYiYWx0PSInLmxhbmcoJ3htbCcpLiciIC8+JywNCgkJCQkgICAgYXJyYXkoJ20nID0+ICRyb3ctPm5hbWUsJ21vZGUnID0+ICdleHBvcnQnKSk7IA0KCQkJDQoJCQkNCgkJCSRyb3dhcnJheVtdID0gJHJvdzsNCgkJCQ0KCQl9DQoJCQ0KCQlyZXR1cm4gJHJvd2FycmF5Ow0KDQoJIH0NCg0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbRedirectLog.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KY2xhc3MgdGJSZWRpcmVjdExvZyB7DQoJDQoJcHJpdmF0ZSAkdGI7DQoJcHJpdmF0ZSAkZGI7DQoJcHJpdmF0ZSAkY29uZmlnOw0KCXByb3RlY3RlZCAkaHR0cDsNCglwcm90ZWN0ZWQgJGxvZ2dpbmc7DQoJcHJvdGVjdGVkICRyZWZlcmVyOw0KCXByb3RlY3RlZCAkZGVidWdJZDsNCgkNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiR0Ykluc3RhbmNlKSANCgl7DQoJCSR0aGlzLT50YiA9ICR0Ykluc3RhbmNlOw0KCQkkdGhpcy0+ZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkkdGhpcy0+Y29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkdGhpcy0+aHR0cCA9ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddPT00NDMgPyAnaHR0cHM6Ly8nIDogJ2h0dHA6Ly8nOw0KCQkkdGhpcy0+bG9nZ2luZyA9IGZhbHNlOw0KCQkkdGhpcy0+cmVmZXJlciA9IGlzc2V0KCRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSkgPyAkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10gOiAnJzsNCgkJJHRoaXMtPmRlYnVnSWQgPSAwOw0KCX0NCgkNCi8qKg0KCSogQnVpbGRzIGEgc3VtbWFyeSBsb2cgYW5kIHdyaXRlcyBpdCB0byBkYXRhYmFzZQ0KCSogQHBhcmFtIGFycmF5ICRkYXRhIFRoZSBsb2cgZGF0YSBhcyBhcnJheS4NCgkqIEBwYXJhbSBzdHJpbmcgJHBlcmlvZCBUaGUgcGVyaW9kIHRvIGxvZyAoZGF5LCBtb250aCBvciB5ZWFyKS4NCgkqIEBwYXJhbSBpbnQgJHB2YWx1ZSBUaGUgZGF5LCBtb250aCBvciB5ZWFyIGFzIGludGVnZXIgKGUuZy4gZGVjZW1iZXIgd291bGQgYmUgMTIpDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gTG9nU3VtKCRkYXRhLCRwZXJpb2QsJHB2YWx1ZSkgew0KDQoJCS8vIEJ1aWxkIHN1bSBhcnJheXMNCgkJJHVybGxvZyA9IGFycmF5KCk7DQoNCgkJLy8gQ2hlY2sgZGF0YSBhcnJheQ0KCQlpZiAoaXNfYXJyYXkoJGRhdGEpKSB7DQoNCgkJCS8vIEJ1aWxkIHNxbCBpbnNlcnQgcXVlcnkNCgkJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bSAocGVyaW9kLCB2YWx1ZSwgdXJsLCBwYWdlX2lkLCB2aXNpdHMsIHNlYXJjaGVuZ2luZSwga2V5d29yZCwgcmVmZXJlciwgY3JlYXRlZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sIE5PVygpKSc7DQoJCQkjZWNobyAkc3FsLic8aHIgLz4nOw0KDQoJCQkvLyBTZXQgbWFpbCBhcnJheXMNCgkJCSRtYWlsdXJscyA9IGFycmF5KCk7DQoNCgkJCS8vIFdhbGsgdGhyb3VnaCBsb2cgYW5kIGJ1aWxkIGEgc3VtbWFyeSBvZiB0aGUgdmFsdWVzDQoJCQlmb3JlYWNoICgkZGF0YSBhcyAkZCkgew0KCQkJCS8vIFNldCB2aXNpdHMNCgkJCQkkdmlzaXRzID0gaXNzZXQoJGRbJ3Zpc2l0cyddKSA/ICRkWyd2aXNpdHMnXSA6IDE7DQoJCQkJLy8gTG9nIHRvIHVybCBzdW1tYXJ5DQoJCQkJaWYgKCRkWyd1cmwnXSkgew0KCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXSkpIHsNCgkJCQkJCSR1cmxsb2dbJGRbJ3VybCddXSA9IGFycmF5ICgJJ3JlZmVyZXInID0+ICcnLA0KCQkJCQkJCQkJCQkJCQknc2VhcmNoZW5naW5lJyA9PiAnJywNCgkJCQkJCQkJCQkJCQkJJ2tleXdvcmQnID0+ICcnLA0KCQkJCQkJCQkJCQkJCQkncGFnZV9pZCcgPT4gIDAsDQoJCQkJCQkJCQkJCQkJCSd2aXNpdHMnID0+ICAwLA0KCQkJCQkJCQkJCQkJCQknYXJlZmVyZXInID0+IGFycmF5KCksDQoJCQkJCQkJCQkJCQkJCSdhc2VhcmNoZW5naW5lJyA9PiBhcnJheSgpLA0KCQkJCQkJCQkJCQkJCQknYWtleXdvcmQnID0+IGFycmF5KCksDQoJCQkJCQkJCQkJCQkJCSdhcGFnZV9pZCcgPT4gIGFycmF5KCkgKTsNCgkJCQkJfQ0KCQkJCQlpZiAoJGRbJ3JlZmVyZXInXSkgew0KCQkJCQkJaWYgKCFpc3NldCgkdXJsbG9nWyRkWyd1cmwnXV1bJ2FyZWZlcmVyJ11bJGRbJ3JlZmVyZXInXV0pKSANCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FyZWZlcmVyJ11bJGRbJ3JlZmVyZXInXV0gPSAxOw0KCQkJCQkJZWxzZSANCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FyZWZlcmVyJ11bJGRbJ3JlZmVyZXInXV0rKzsNCgkJCQkJfQ0KCQkJCQlpZiAoJGRbJ3NlYXJjaGVuZ2luZSddKSB7DQoJCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXVsnYXNlYXJjaGVuZ2luZSddWyRkWydzZWFyY2hlbmdpbmUnXV0pKQ0KCQkJCQkJCSR1cmxsb2dbJGRbJ3VybCddXVsnYXNlYXJjaGVuZ2luZSddWyRkWydzZWFyY2hlbmdpbmUnXV0gPSAxOw0KCQkJCQkJZWxzZQkNCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FzZWFyY2hlbmdpbmUnXVskZFsnc2VhcmNoZW5naW5lJ11dKys7DQoJCQkJCX0gDQoJCQkJCWlmICgkZFsna2V5d29yZCddKSB7DQoJCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXVsnYWtleXdvcmQnXVskZFsna2V5d29yZCddXSkpDQoJCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dWydha2V5d29yZCddWyRkWydrZXl3b3JkJ11dID0gMTsNCgkJCQkJCWVsc2UNCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FrZXl3b3JkJ11bJGRbJ2tleXdvcmQnXV0rKzsNCgkJCQkJfSANCgkJCQkJaWYgKCRkWydwYWdlX2lkJ10+MCkgew0KCQkJCQkJaWYgKCFpc3NldCgkdXJsbG9nWyRkWyd1cmwnXV1bJ2FwYWdlX2lkJ11bJGRbJ3BhZ2VfaWQnXV0pKQ0KCQkJCQkJCSR1cmxsb2dbJGRbJ3VybCddXVsnYXBhZ2VfaWQnXVskZFsncGFnZV9pZCddXSA9IDE7DQoJCQkJCQllbHNlDQoJCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dWydhcGFnZV9pZCddWyRkWydwYWdlX2lkJ11dKys7DQoJCQkJCX0gDQoJCQkJCSR1cmxsb2dbJGRbJ3VybCddXVsndmlzaXRzJ10rPSAkdmlzaXRzOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gQnVpbGQgdXJsIHN1bW1hcnkNCgkJCWZvcmVhY2ggKCR1cmxsb2cgYXMgJGtleT0+JHZhbHVlKSB7DQoJCQkJLy8gR2V0IGJlc3QgcmVmZXJlcg0KCQkJCWlmIChpc19hcnJheSgkdmFsdWVbJ2FyZWZlcmVyJ10pKSB7DQoJCQkJCSRtZHN1bSA9IDA7DQoJCQkJCWZvcmVhY2ggKCR2YWx1ZVsnYXJlZmVyZXInXSBhcyAka2V5Mj0+JHZhbHVlMikgew0KCQkJCQkJaWYgKCR2YWx1ZTIgPiAkbWRzdW0pIHsNCgkJCQkJCQkkdXJsbG9nWyRrZXldWydyZWZlcmVyJ10gPSAka2V5MjsNCgkJCQkJCQkkbWRzdW0gPSAkdmFsdWUyOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCS8vIEdldCBiZXN0IHNlYXJjaGVuZ2luZQ0KCQkJCWlmIChpc19hcnJheSgkdmFsdWVbJ2FzZWFyY2hlbmdpbmUnXSkpIHsNCgkJCQkJJG1kc3VtID0gMDsNCgkJCQkJZm9yZWFjaCAoJHZhbHVlWydhc2VhcmNoZW5naW5lJ10gYXMgJGtleTI9PiR2YWx1ZTIpIHsNCgkJCQkJCWlmICgkdmFsdWUyID4gJG1kc3VtKSB7DQoJCQkJCQkJJHVybGxvZ1ska2V5XVsnc2VhcmNoZW5naW5lJ10gPSAka2V5MjsNCgkJCQkJCQkkbWRzdW0gPSAkdmFsdWUyOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCS8vIEdldCBiZXN0IGtleXdvcmQNCgkJCQlpZiAoaXNfYXJyYXkoJHZhbHVlWydha2V5d29yZCddKSkgew0KCQkJCQkkbWRzdW0gPSAwOw0KCQkJCQlmb3JlYWNoICgkdmFsdWVbJ2FrZXl3b3JkJ10gYXMgJGtleTI9PiR2YWx1ZTIpIHsNCgkJCQkJCWlmICgkdmFsdWUyID4gJG1kc3VtKSB7DQoJCQkJCQkJJHVybGxvZ1ska2V5XVsna2V5d29yZCddID0gJGtleTI7DQoJCQkJCQkJJG1kc3VtID0gJHZhbHVlMjsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQkvLyBHZXQgYmVzdCBwYWdlX2lkDQoJCQkJaWYgKGlzX2FycmF5KCR2YWx1ZVsnYXBhZ2VfaWQnXSkpIHsNCgkJCQkJJG1kc3VtID0gMDsNCgkJCQkJZm9yZWFjaCAoJHZhbHVlWydhcGFnZV9pZCddIGFzICRrZXkyPT4kdmFsdWUyKSB7DQoJCQkJCQlpZiAoJHZhbHVlMiA+ICRtZHN1bSkgew0KCQkJCQkJCSR1cmxsb2dbJGtleV1bJ3BhZ2VfaWQnXSA9ICRrZXkyOw0KCQkJCQkJCSRtZHN1bSA9ICR2YWx1ZTI7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJLy8gSW5zZXJ0IHZhbHVlcyB0byBkYXRhYmFzZSB0YWJsZQ0KCQkJCSMgcGVyaW9kLCB2YWx1ZSwgdXJsLCBwYWdlX2lkLCB2aXNpdHMsIHNlYXJjaGVuZ2luZSwga2V5d29yZCwgcmVmZXJlcg0KCQkJCSNlY2hvICRwZXJpb2QuJywnLiRwdmFsdWUuJywnLiRrZXkuJywnLiR1cmxsb2dbJGtleV1bJ3BhZ2VfaWQnXS4nLCcuJHVybGxvZ1ska2V5XVsndmlzaXRzJ10uJywnLiR1cmxsb2dbJGtleV1bJ3NlYXJjaGVuZ2luZSddLicsJy4kdXJsbG9nWyRrZXldWydrZXl3b3JkJ10uJywnLiR1cmxsb2dbJGtleV1bJ3JlZmVyZXInXTtleGl0Ow0KCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkcGVyaW9kLCRwdmFsdWUsJGtleSwkdXJsbG9nWyRrZXldWydwYWdlX2lkJ10sJHVybGxvZ1ska2V5XVsndmlzaXRzJ10sJHVybGxvZ1ska2V5XVsnc2VhcmNoZW5naW5lJ10sJHVybGxvZ1ska2V5XVsna2V5d29yZCddLCR1cmxsb2dbJGtleV1bJ3JlZmVyZXInXSkpOw0KCQkJCS8vIEFkZCBkYXRhIHRvIG1haWwgYXJyYXkNCgkJCQkkbWFpbHVybHNbXSA9IGFycmF5ICgJJ3ZhbHVlJwkJCT0+ICRwdmFsdWUsDQoJCQkJCQkJCQkJJ3VybCcJIAkJPT4gJGtleSwNCgkJCQkJCQkJCQkncGFnZScJCQk9PiAkdXJsbG9nWyRrZXldWydwYWdlX2lkJ10sDQoJCQkJCQkJCQkJJ3Zpc2l0cycJCT0+ICR1cmxsb2dbJGtleV1bJ3Zpc2l0cyddLA0KCQkJCQkJCQkJCSdzZWFyY2hlbmdpbmUnCT0+ICR1cmxsb2dbJGtleV1bJ3NlYXJjaGVuZ2luZSddLA0KCQkJCQkJCQkJCSdrZXl3b3JkJwkJPT4gJHVybGxvZ1ska2V5XVsna2V5d29yZCddLA0KCQkJCQkJCQkJCSdyZWZlcmVyJwkJPT4gJHVybGxvZ1ska2V5XVsncmVmZXJlciddDQoJCQkJCQkJCQkpOw0KCQkJfQ0KDQoJCQkvLyBNYWlsIG1vbnRobHkgc3RhdHMNCgkJCWlmICgkcGVyaW9kID09ICdtb250aCcpIHsNCgkJCQkkZW1haWwgPSB0cmltKCR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfZW1haWwnKSk7DQoJCQkJaWYgKCRlbWFpbCkgew0KCQkJCQkvLyBBc3NpZ24gc21hcnR5IHZhcnMNCgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ21vbnRoJywkdGhpcy0+TGFuZygnbW9udGgnKSk7DQoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCd1cmwnLCR0aGlzLT5MYW5nKCd1cmwnKSk7DQoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCdwYWdlJywkdGhpcy0+TGFuZygncGFnZScpKTsNCgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ3Zpc2l0cycsJHRoaXMtPkxhbmcoJ3Zpc2l0cycpKTsNCgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ3NlYXJjaGVuZ2luZScsJHRoaXMtPkxhbmcoJ3NlYXJjaGVuZ2luZScpKTsNCgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ2tleXdvcmQnLCR0aGlzLT5MYW5nKCdrZXl3b3JkJykpOw0KCQkJCQkkdGhpcy0+dGJTbWFydHktPmFzc2lnbigncmVmZXJlcicsJHRoaXMtPkxhbmcoJ3JlZmVyZXInKSk7DQoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCd1cmxzJywkbWFpbHVybHMpOw0KCQkJCQkkdGhpcy0+dGJTbWFydHktPmFzc2lnbignb2xkdXJsX3VzZScsJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdvbGR1cmxfdXNlJykgPyAxIDogMCk7DQoJCQkJCS8vIEJ1aWxkIG1vbnRoIGFuZCB5ZWFyDQoJCQkJCSR5ZWFyID0gJHB2YWx1ZT09MTIgPyBkYXRlKCJZIiktMSA6IGRhdGUoIlkiKTsNCgkJCQkJJG1vbnRoID0gc3ByaW50ZigiJTAyZCAvICUwNGQiLCAkcHZhbHVlLCAkeWVhcik7DQoJCQkJCS8vIEdldCBzdWJqZWN0DQoJCQkJCSRzdWJqZWN0ID0gJHRoaXMtPkxhbmcoJ3N0YXRzX2VtYWlsX3N1YmplY3QnKTsNCgkJCQkJJHN1YmplY3QgPSBzdHJfcmVwbGFjZSAoJyV1JywkX1NFUlZFUlsnSFRUUF9IT1NUJ10sJHN1YmplY3QpOw0KCQkJCQkkc3ViamVjdCA9IHN0cl9yZXBsYWNlICgnJW0nLCRtb250aCwkc3ViamVjdCk7DQoJCQkJCS8vIEdldCBib2R5DQoJCQkJCSRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnc3RhdHNfZW1haWwudHBsJyk7DQoJCQkJCS8vIEdldCBDTVNNYWlsZXINCgkJCQkJJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7DQoJCQkJCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJGVtYWlsLCcnKTsNCgkJCQkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkc3ViamVjdCk7DQoJCQkJCSRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCgkJCQkJJGNtc21haWxlci0+U2V0Qm9keSgkYm9keSk7DQoJCQkJCSRjbXNtYWlsZXItPlNlbmQoKTsNCgkJCQl9DQoJCQl9DQoNCgkJfQ0KDQoJfQ0KDQoJLyoqDQoJKiBQcmVwYXJlcyBWaXNpdCBEYXRhIGZvciBMb2dnaW5nIGFuZCByZXR1cm5zIGl0IGFzIGFycmF5Lg0KCSogQHJldHVybiBhcnJheQ0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFByZXBhcmVMb2dWaXNpdCgpIHsNCg0KCQkvLyBTZXQgcmV0dXJuIGFycmF5DQoJCSRkYXRhID0gYXJyYXkoKTsNCg0KCQkvLyBQcmVwYXJlIGlucHV0IHBhcmFtcw0KCQkjJHRoaXMtPnRiLT5TZXRQcmVmZXJlbmNlKCdkYXknLCcyMDEwMDUyMycpOw0KCQkkbWRkYXkgPSAkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ2RheScpOw0KCQkkbWRtb250aCA9ICR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgnbW9udGgnKTsNCgkJJG1keWVhciA9ICR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgneWVhcicpOw0KCQkkZGF0YVsnYm90J10gPSAnJzsNCgkJJHRyYWNrVXNlckFnZW50ID0gc3RydG9sb3dlcigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pOw0KCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2FyY2hpdmVyJykpICRkYXRhWydib3QnXT0nQWxleGEnOw0KCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2V4YWJvdCcpKSAkZGF0YVsnYm90J109J0V4YWxlYWQnOw0KCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2Zhc3QnKSkgJGRhdGFbJ2JvdCddPSdGYXN0JzsNCgkJaWYgKHN0cmlzdHIoJHRyYWNrVXNlckFnZW50LCdmaXJlZmx5JykpICRkYXRhWydib3QnXT0nRmlyZWJhbGwnOw0KCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2dvb2dsZWJvdCcpKSAkZGF0YVsnYm90J109J0dvb2dsZSc7DQoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwnbXNuYm90JykpICRkYXRhWydib3QnXT0nQmluZyc7DQoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwnc2Nvb3RlcicpKSAkZGF0YVsnYm90J109J0FsdGFWaXN0YSc7DQoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwneWFob28tbW1jcmF3bGVyJykpICRkYXRhWydib3QnXT0nWWFob28nOw0KCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2dpZ2Fib3QnKSkgJGRhdGFbJ2JvdCddPSdHaWdhYm90JzsNCg0KCQkvLyBDaGVjaywgd2hldGhlciB2aXNpdCBzaG91bGQgYmUgbG9nZ2VkDQoJCWlmICghJGRhdGFbJ2JvdCddKSAkdGhpcy0+bG9nZ2luZyA9IHRydWU7DQoJCSMkdGhpcy0+bG9nZ2luZyA9IHRydWU7DQoNCgkJLy8gR2V0IG1vcmUgZGF0YSBhbmQgdXBkYXRlIHZpc2l0IGlmIGl0IGlzbid0IGEgbmV3IHZpc2l0b3INCgkJaWYgKCR0aGlzLT5sb2dnaW5nKSB7DQoJCQkvLyBDaGVjaywgd2hldGhlciB0aGlzIGlzIGEgbmV3IHZpc2l0DQoJCQkkbWR2aXNpdCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nIFdIRVJFIHNlc3Npb25pZCA9ID8gTElNSVQgMScsIGFycmF5KHNlc3Npb25faWQoKSkpOw0KCQkJaWYgKCRtZHZpc2l0KSB7DQoJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZyBTRVQgdmlzaXR0aW1lPU5PVygpIFdIRVJFIGlkPT8nOw0KCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkbWR2aXNpdCkpOw0KCQkJCSR0aGlzLT5sb2dnaW5nID0gZmFsc2U7DQoJCQkvLyBHZXQgcmVmZXJlciwga2V5d29yZHMgYW5kIHNlYXJjaGVuZ2luZQ0KCQkJfSBlbHNlIHsNCgkJCQkvLyBHZXQgUmVmZXJlcg0KCQkJCXByZWdfbWF0Y2ggKCcvXlx3K1wvXC8oW15cL10qKSguKik/JC9pJywkdGhpcy0+cmVmZXJlciwkbWRrZXkpOw0KCQkJCS8qIEFiZnJhZ2Ugd2VnZW4gUEhQIE5vdGljZTogVW5kZWZpbmVkIG9mZnNldDogMSAtIG11c3Mgbu+/vWhlciBnZXBy77+9ZnQgd2VyZGVuICovaWYgKCFpc3NldCgkbWRrZXlbMV0pKSAkbWRrZXlbMV0gPSAnJzsNCgkJCQkkZGF0YVsncmVmZXJlciddID0gJG1ka2V5WzFdIT0kX1NFUlZFUlsnSFRUUF9IT1NUJ10gPyAkdGhpcy0+cmVmZXJlciA6ICcnOw0KCQkJCSMkZGF0YVsncmVmZXJlciddID0gJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9zZWFyY2g/aGw9ZGUmc2FmZT1vZmYmY2xpZW50PWZpcmVmb3gtYSZybHM9b3JnLm1vemlsbGElM0FkZSUzQW9mZmljaWFsJnE9dGVzdCt0JUMzJUE0c3QmYXE9ZiZhcWk9JmFxbD0mb3E9JmdzX3JmYWk9JzsNCgkJCQkjJGRhdGFbJ3JlZmVyZXInXSA9ICdodHRwczovL3d3dy5nb29nbGUuY29tP2hsPWRlJnNhZmU9b2ZmJmNsaWVudD1maXJlZm94LWEmcmxzPW9yZy5tb3ppbGxhJTNBZGUlM0FvZmZpY2lhbCZxPXRlc3QrdCVDMyVBNHN0JzsNCgkJCQkkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnJzsNCgkJCQkkZGF0YVsna2V5d29yZCddID0gJyc7DQoJCQkJJG1kcmVmID0gJGRhdGFbJ3JlZmVyZXInXSA/IHBhcnNlX3VybCgkZGF0YVsncmVmZXJlciddKSA6ICcnOw0KCQkJCSNlY2hvICc8cHJlPic7cHJpbnRfcigkbWRyZWYpO2VjaG8gJzwvcHJlPic7ZXhpdDsNCgkJCQlpZiAoaXNfYXJyYXkoJG1kcmVmKSkgew0KCQkJCQkvLyBHZXQgU2VhcmNoIEVuZ2luZSBhbmQgS2V5d29yZA0KCQkJCQkkbWR0ZW1wID0gZXhwbG9kZSgnLicsJG1kcmVmWydob3N0J10pOw0KCQkJCQkjZWNobyAkbWR0ZW1wW2NvdW50KCRtZHRlbXApLTJdO2V4aXQ7DQoJCQkJCWlmIChjb3VudCgkbWR0ZW1wKT4xKSB7DQoJCQkJCQlzd2l0Y2ggKCRtZHRlbXBbY291bnQoJG1kdGVtcCktMl0pIHsNCgkJCQkJCQljYXNlICdnb29nbGUnOgkkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnR29vZ2xlJzsNCgkJCQkJCQkJCQkJcHJlZ19tYXRjaCAoJy9eLiooXD98JilxPShbXiZdKikoLiopPyQvaScsJGRhdGFbJ3JlZmVyZXInXSwkbWRrZXkpOw0KCQkJCQkJCQkJCQkkZGF0YVsna2V5d29yZCddID0gdXJsZGVjb2RlKCRtZGtleVsyXSk7DQoJCQkJCQkJCQkJCSRkYXRhWydyZWZlcmVyJ10gPSAnJzsNCgkJCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJY2FzZSAnYmluZyc6CSRkYXRhWydzZWFyY2hlbmdpbmUnXSA9ICdCaW5nJzsNCgkJCQkJCQkJCQkJcHJlZ19tYXRjaCAoJy9eLiooXD98JilxPShbXiZdKikoLiopPyQvaScsJGRhdGFbJ3JlZmVyZXInXSwkbWRrZXkpOw0KCQkJCQkJCQkJCQkkZGF0YVsna2V5d29yZCddID0gdXJsZGVjb2RlKCRtZGtleVsyXSk7DQoJCQkJCQkJCQkJCSRkYXRhWydyZWZlcmVyJ10gPSAnJzsNCgkJCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJY2FzZSAneWFob28nOgkkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnWWFob28nOw0KCQkJCQkJCQkJCQlwcmVnX21hdGNoICgnL14uKnA9KFteJl0qKSguKik/JC9pJywkZGF0YVsncmVmZXJlciddLCRtZGtleSk7DQoJCQkJCQkJCQkJCSRkYXRhWydrZXl3b3JkJ10gPSB1cmxkZWNvZGUoJG1ka2V5WzFdKTsNCgkJCQkJCQkJCQkJJGRhdGFbJ3JlZmVyZXInXSA9ICcnOw0KCQkJCQkJCQkJCQlicmVhazsNCgkJCQkJCQlkZWZhdWx0OgkJJGRhdGFbJ3NlYXJjaGVuZ2luZSddID0gJyc7DQoJCQkJCQkJCQkJCSRkYXRhWydrZXl3b3JkJ10gPSAnJzsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCS8vIENhbGN1bGF0ZSBhbmQgc2F2ZSBzdGF0aXN0aWMgc3VtbWFyeSBpZiBuZXcgeWVhcg0KCQlpZiAoZGF0ZSgnWScpID4gJG1keWVhcikgew0KCQkJLy8gR2V0IG9sZCBtb250aA0KCQkJJG1kb2xkeWVhciA9ICR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgneWVhcicpOw0KCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQ0KCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bSBXSEVSRSBwZXJpb2QgPSA/IEFORCB2YWx1ZSA9ID8nLGFycmF5KCd5ZWFyJywkbWRvbGR5ZWFyKSk7DQoJCQkvLyBDYWxjdWxhdGUgbG9nIHN1bW1hcnkNCgkJCSRtZGxvZyA9ICR0aGlzLT5kYi0+R2V0QWxsKCdTRUxFQ1QgdXJsLHBhZ2VfaWQsdmlzaXRzLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLCBhcnJheSgnbW9udGgnKSk7DQoJCQlpZiAoJG1kbG9nKSAkdGhpcy0+TG9nU3VtKCRtZGxvZywneWVhcicsJG1kb2xkeWVhcik7DQoJCQkvLyBEZWxldGUgb2xkIG1vbnRocyBmcm9tIGRhdGFiYXNlDQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLGFycmF5KCdtb250aCcpKTsNCgkJCS8vIFNldCBuZXcgeWVhcg0KCQkJJHRoaXMtPnRiLT5TZXRQcmVmZXJlbmNlKCd5ZWFyJyxkYXRlKCdZJykpOw0KCQl9DQoNCgkJLy8gQ2FsY3VsYXRlIGFuZCBzYXZlIHN0YXRpc3RpYyBzdW1tYXJ5IGlmIG5ldyBtb250aA0KCQlpZiAoZGF0ZSgnWW0nKSA+ICRtZG1vbnRoKSB7DQoJCQkvLyBHZXQgb2xkIG1vbnRoDQoJCQkkbWRvbGRtb250aCA9IHN1YnN0cigkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ21vbnRoJyksLTIpOw0KCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQ0KCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bSBXSEVSRSBwZXJpb2QgPSA/IEFORCB2YWx1ZSA9ID8nLGFycmF5KCdtb250aCcsJG1kb2xkbW9udGgpKTsNCgkJCS8vIENhbGN1bGF0ZSBsb2cgc3VtbWFyeQ0KCQkJJG1kbG9nID0gJHRoaXMtPmRiLT5HZXRBbGwoJ1NFTEVDVCB1cmwscGFnZV9pZCx2aXNpdHMsc2VhcmNoZW5naW5lLGtleXdvcmQscmVmZXJlciBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2dzdW0gV0hFUkUgcGVyaW9kID0gPycsIGFycmF5KCdkYXknKSk7DQoJCQlpZiAoJG1kbG9nKSAkdGhpcy0+TG9nU3VtKCRtZGxvZywnbW9udGgnLCRtZG9sZG1vbnRoKTsNCgkJCS8vIERlbGV0ZSBvbGQgZGF5cyBmcm9tIGRhdGFiYXNlDQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLGFycmF5KCdkYXknKSk7DQoJCQkvLyBTZXQgbmV3IG1vbnRoDQoJCQkkdGhpcy0+dGItPlNldFByZWZlcmVuY2UoJ21vbnRoJyxkYXRlKCdZbScpKTsNCgkJfQ0KDQoJCS8vIENhbGN1bGF0ZSBhbmQgc2F2ZSBzdGF0aXN0aWMgc3VtbWFyeSBpZiBuZXcgZGF5DQoJCWlmIChkYXRlKCdZbWQnKSA+ICRtZGRheSkgew0KCQkJLy8gR2V0IG9sZCBtb250aA0KCQkJJG1kb2xkZGF5ID0gc3Vic3RyKCR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgnZGF5JyksLTIpOw0KCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQ0KCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bSBXSEVSRSBwZXJpb2QgPSA/IEFORCB2YWx1ZSA9ID8nLGFycmF5KCdkYXknLCRtZG9sZGRheSkpOw0KCQkJLy8gQ2FsY3VsYXRlIGxvZyBzdW1tYXJ5DQoJCQkkbWRsb2cgPSAkdGhpcy0+ZGItPkdldEFsbCgnU0VMRUNUIHVybCxwYWdlX2lkLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIsREFURSh2aXNpdHRpbWUpIGFzIHZpc2l0ZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cnLGFycmF5KCkpOw0KCQkJaWYgKCRtZGxvZykgJHRoaXMtPkxvZ1N1bSgkbWRsb2csJ2RheScsJG1kb2xkZGF5KTsNCgkJCS8vIENsZWFyIGxvZyB0YWJsZQ0KCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZycsYXJyYXkoKSk7DQoJCQkvLyBTZXQgbmV3IGRheQ0KCQkJJHRoaXMtPnRiLT5TZXRQcmVmZXJlbmNlKCdkYXknLGRhdGUoJ1ltZCcpKTsNCgkJfQ0KDQoJCS8vIFJldHVybiBkYXRhDQoJCXJldHVybiAkZGF0YTsNCg0KCX0NCg0KCS8qKg0KCSogTG9nIFZpc2l0IHRvIERhdGFiYXNlIChkYXRhIHdlcmUgcHJlcGFyZWQgaW4gUHJlcGFyZUxvZ1Zpc2l0KQ0KCSogQHBhcmFtIGFycmF5ICRkYXRhIEFycmF5IHdpdGggbG9nZ2luZyBkYXRhLg0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIExvZ1Zpc2l0KCRkYXRhLCR1cmw9JycsJHBhZ2U9MCkgew0KDQoJCS8vIENoZWNrIG1haW4gaW5wdXQgZmllbGRzDQoJCWlmICghaXNfYXJyYXkoJGRhdGEpIHx8ICF0cmltKCR1cmwpKSByZXR1cm4gZmFsc2U7DQoJCS8vIENoZWNrIGFycmF5IHZhbHVlcw0KCQkkcGFnZSA9IChpbnQpJHBhZ2U7DQoJCWlmICghaXNzZXQoJGRhdGFbJ3JlZmVyZXInXSkpICRkYXRhWydyZWZlcmVyJ10gPSAnJzsNCgkJaWYgKCFpc3NldCgkZGF0YVsnc2VhcmNoZW5naW5lJ10pKSAkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnJzsNCgkJaWYgKCFpc3NldCgkZGF0YVsnYm90J10pKSAkZGF0YVsnYm90J10gPSAnJzsNCgkJaWYgKCFpc3NldCgkZGF0YVsna2V5d29yZCddKSkgJGRhdGFbJ2tleXdvcmQnXSA9ICcnOw0KDQoJCS8vIExvZyB2aXNpdCBmb3IgcmVmZXJlcg0KCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cgKHVybCwgcGFnZV9pZCwgcmVmZXJlciwgc2VhcmNoZW5naW5lLCBib3QsIGtleXdvcmQsIHNlc3Npb25pZCwgdmlzaXR0aW1lKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sIE5PVygpKSc7DQoJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkdXJsLCAkcGFnZSwgJGRhdGFbJ3JlZmVyZXInXSwgJGRhdGFbJ3NlYXJjaGVuZ2luZSddLCAkZGF0YVsnYm90J10sICRkYXRhWydrZXl3b3JkJ10sIHNlc3Npb25faWQoKSkpOw0KDQoJfQ0KDQoJLyoqDQoJKiBMb2dnaW5nIHZpc2l0cyB0byBkZWJ1ZyBpc3N1ZXMNCgkqIEByZXR1cm4gYXJyYXkNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBEZWJ1Z01EKCl7DQoJCS8vIEdldCByZWZlcmVyIChmcm9tdXJsKSBhbmQgdGFyZ2V0IHVybCAodG91cmwpDQoJCSRmcm9tdXJsID0gJHRoaXMtPnJlZmVyZXI7DQoJCSR0b3VybCA9ICR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQoJCS8vIEluc2VydCBhIG5ldyBkZWJ1Zw0KCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZyAoaXAsc2Vzc2lvbl9pZCxmcm9tdXJsLHRvdXJsLHN0YXR1cyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sTk9XKCksTk9XKCkpJzsNCgkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRfU0VSVkVSWydSRU1PVEVfQUREUiddLHNlc3Npb25faWQoKSwkZnJvbXVybCwkdG91cmwsJ29rJykpOw0KCQkvLyBHZXQgSUQgZnJvbSBsYXN0IGRlYnVnIGVudHJ5DQoJCWlmICgkcmVzKSAkdGhpcy0+ZGVidWdJZCA9IChpbnQpJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZyBXSEVSRSBzZXNzaW9uX2lkPT8gT1JERVIgQlkgbW9kaWZpZWRfZGF0ZSBERVNDIExJTUlUIDEnLCBhcnJheShzZXNzaW9uX2lkKCkpKTsNCgkJLy8gRGVsZXRlIG9sZCBkZWJ1ZyBtZXNzYWdlcw0KCQkkY291bnRkaWQgPSAoaW50KSR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgY291bnQoaWQpIGFzIGFuemFobCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZycsYXJyYXkoKSk7DQoJCWlmICgkY291bnRkaWQ+MTAwKSB7DQoJCQkkbWF4ZGlkID0gKGludCkkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIE9SREVSIEJZIG1vZGlmaWVkX2RhdGUgREVTQyBMSU1JVCA5OSwxJywgYXJyYXkoKSk7DQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcgV0hFUkUgaWQ8PycsYXJyYXkoJG1heGRpZCkpOw0KCQl9DQoJfQ0KDQoJLyoqDQoJKiBSZWRpcmVjdHMgYW4gb2xkIFVSTCB0byBhbiBzcGVjaWZpZWQgcGFnZSAoc2VsZWN0YWJsZSBpbiB0aGUgbW9kdWxlIGJhY2tlbmQpLg0KCSogQHBhcmFtIGFycmF5ICRsb2cgUHJlcGFyZWQgbG9nIGRhdGEuDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gUmVkaXJlY3RVUkwoJGxvZykgew0KDQoJCS8vIFNldCB2YXJpYWJsZXMNCgkJJHJ1cmwgPSAnJzsNCgkJDQoJCS8vIEdldCBlcnJvcnBhZ2UgaWYgb25lIHdhcyBjcmVhdGVkDQoJCSRlNDA0ID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBjb250ZW50X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgdHlwZT0iZXJyb3JwYWdlIicsIGFycmF5KCkpOw0KDQoJCS8vIENoZWNrLCB3aGV0aGVyIHBhZ2UgaXMgYSBub3QgZXhpc3RpbmcgTmV3cw0KCQkkaXNuZXdzID0gMTsNCgkJaWYgKCR0aGlzLT50Yi0+cGFnZUlkPj0wICYmIHByZWdfbWF0Y2goJy9eXFwvbmV3c1xcLyhcZCspXFwvKC4qKS8nLCRfU0VSVkVSWydSRVFVRVNUX1VSSSddLCRuZXdzaW5mbykpIHsNCgkJCSRuZXdzaWQgPSAoaW50KSRuZXdzaW5mb1sxXTsNCgkJCWlmICgkbmV3c2lkKSAkaXNuZXdzID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBuZXdzX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9uZXdzIFdIRVJFIHN0YXR1cz0icHVibGlzaGVkIiBBTkQgbmV3c19pZD0/JywgYXJyYXkoJG5ld3NpZCkpOw0KCQl9DQoNCgkJLy8gTG9vayBmb3IgcmVkaXJlY3QgdXJscw0KCQkjZWNobyAkdGhpcy0+dGItPnBhZ2VJZC4nPGJyIC8+Jy4kZTQwNC4nPGJyIC8+Jy4kaXNuZXdzO2V4aXQ7DQoJCWlmICgkdGhpcy0+dGItPnBhZ2VJZDw9MCB8fCAoJGU0MDQgJiYgJHRoaXMtPnRiLT5wYWdlSWQ9PSRlNDA0KSB8fCAhJGlzbmV3cykgew0KDQoJCQkvLyBHZXQgcmVkaXJlY3QgdXJscw0KCQkJJHVybHMgPSAkdGhpcy0+ZGItPkdldEFsbCgnU0VMRUNUIHBhZ2VfaWQsdG91cmwsaWQsdXJsLHVybF9yZWdleHAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgV0hFUkUgYWN0aXZlPTEgQU5EIChwYWdlX2lkPjAgT1IgdG91cmwhPSIiKScsYXJyYXkoKSk7DQoJCQkvLyBXYWxrIHRocm91Z2ggcmVkaXJlY3QgdXJscw0KCQkJaWYgKCR1cmxzKSB7DQoNCgkJCQkvLyBHZXQgcmVxdWVzdGV0IHVybA0KCQkJCSR1cmwgPSAkdGhpcy0+Y29uZmlnWydyb290X3VybCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddOw0KCQkJCQ0KCQkJCXdoaWxlIChzdWJzdHIoJHVybCwtMSkgPT0gJy8nKSB7ICR1cmwgPSBzdWJzdHIoJHVybCwwLC0xKTsgfQ0KCQkJCS8vIExvb2sgZm9yIG1hdGNoZXMgb2YgdXJscw0KCQkJCWZvcmVhY2ggKCR1cmxzIGFzICR1KSB7DQoJCQkJCS8vIEdldCB0YXJnZXQgdXJsDQoJCQkJCXdoaWxlIChzdWJzdHIoJHVbJ3VybCddLC0xKSA9PSAnLycpIHsgJHVbJ3VybCddID0gc3Vic3RyKCR1Wyd1cmwnXSwwLC0xKTsgfQ0KCQkJCQkvLyBUZXN0IGlmIHVybCBtYXRjaGVzDQoJCQkJCSRyZWdleHBfbWF0Y2ggPSBmYWxzZTsNCgkJCQkJaWYgKCR1Wyd1cmxfcmVnZXhwJ10pIHsNCgkJCQkJCSR2cmVnZXhwID0gJy8nLnN0cl9yZXBsYWNlKCcvJywnXFwvJywkdVsndXJsJ10pLicvJzsNCgkJCQkJCWlmKHByZWdfbWF0Y2goJHZyZWdleHAsJHVybCkpICRyZWdleHBfbWF0Y2ggPSB0cnVlOw0KCQkJCQl9DQoJCQkJCWlmICgkdXJsPT0kdVsndXJsJ10gfHwgJHJlZ2V4cF9tYXRjaCkgew0KCQkJCQkJLy8gR2V0IHRvdXJsLCBpZiBzZXQNCgkJCQkJCSR0b3VybCA9IHRyaW0oJHVbJ3RvdXJsJ10pID8gJHVbJ3RvdXJsJ10gOiAnJzsNCgkJCQkJCWlmICgkdG91cmwpICR1WydwYWdlX2lkJ10gPSAwOw0KCQkJCQkJLy8gQ2hlY2ssIGlmIHJlcXVlc3RlZCBwYWdlIGlzIHN0YW5kYXJkIHBhZ2UNCgkJCQkJCSRkZWZhdWx0ID0gZmFsc2U7DQoJCQkJCQlpZiAoJHVbJ3BhZ2VfaWQnXT4wICYmICEkdG91cmwpIHsgJGRlZmF1bHQgPSAkdVsncGFnZV9pZCddPT1jbXNtcygpLT5nZXRfdmFyaWFibGUoJ2RlZmF1bHRfY29udGVudF9pZCcpID8gdHJ1ZSA6IGZhbHNlOyB9DQoJCQkJCQkvLyBDYXNlLCBpZiBVUkxzIGZvciBwYWdlcyBhcmUgdXNlZA0KCQkJCQkJaWYgKCEkdG91cmwpIHsNCgkJCQkJCQkkcGFnZV91cmwgPSAkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIHBhZ2VfdXJsIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgYWN0aXZlPTEgQU5EIGNvbnRlbnRfaWQ9PycsYXJyYXkoJHVbJ3BhZ2VfaWQnXSkpOw0KCQkJCQkJCWlmICgkcGFnZV91cmwpIHsNCgkJCQkJCQkJJHJ1cmwgPSAkZGVmYXVsdCA/ICR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10gOiAkdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvJy4kcGFnZV91cmw7DQoJCQkJCQkJCWlmICghJGRlZmF1bHQgJiYgISR0aGlzLT5jb25maWdbJ3BhZ2VfZXh0ZW5zaW9uJ10gfHwgJHRoaXMtPmNvbmZpZ1sncGFnZV9leHRlbnNpb24nXT09Jy8nKSAkcnVybC49Jy8nOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJCS8vIENhc2UsIGlmIG9ubHkgYWxpYXNlcyBmb3IgcGFnZXMgYXJlIHVzZWQNCgkJCQkJCWlmICghJHJ1cmwgJiYgISR0b3VybCkgew0KCQkJCQkJCS8vIExvb2sgZm9yIGNvbnRlbnQgcGFnZSBwYXJlbnRzDQoJCQkJCQkJJHBhcmVudHMgPSBhcnJheSgpOw0KCQkJCQkJCSRwYXJlbnRzW10gPSAkdVsncGFnZV9pZCddOw0KCQkJCQkJCWlmICgkdGhpcy0+Y29uZmlnWyd1c2VfaGllcmFyY2h5J10pIHsNCgkJCQkJCQkJJHBhcmVudHRlbXAgPSAkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIHBhcmVudF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGFjdGl2ZT0xIEFORCB0eXBlIT0ic2VjdGlvbmhlYWRlciIgQU5EIHR5cGUhPSJlcnJvcnBhZ2UiIEFORCB0eXBlIT0ic2VwYXJhdG9yIiBBTkQgY29udGVudF9pZCA9ID8nLCBhcnJheSgkdVsncGFnZV9pZCddKSk7DQoJCQkJCQkJCXdoaWxlICgkcGFyZW50dGVtcCA+IDApIHsNCgkJCQkJCQkJCSRwYXJlbnRzW10gPSAkcGFyZW50dGVtcDsNCgkJCQkJCQkJCSRwYXJlbnR0ZW1wID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBwYXJlbnRfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSBhY3RpdmU9MSBBTkQgdHlwZSE9InNlY3Rpb25oZWFkZXIiIEFORCB0eXBlIT0iZXJyb3JwYWdlIiBBTkQgdHlwZSE9InNlcGFyYXRvciIgQU5EIGNvbnRlbnRfaWQgPSA/JywgYXJyYXkoJHBhcmVudHRlbXApKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0NCgkJCQkJCQlmb3JlYWNoICgkcGFyZW50cyBhcyAkcCkgew0KCQkJCQkJCQkkcnVybCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgY29udGVudF9hbGlhcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGFjdGl2ZT0xIEFORCB0eXBlIT0ic2VjdGlvbmhlYWRlciIgQU5EIHR5cGUhPSJlcnJvcnBhZ2UiIEFORCB0eXBlIT0ic2VwYXJhdG9yIiBBTkQgY29udGVudF9pZCA9ID8nLCBhcnJheSgkcCkpLicvJy4kcnVybDsNCgkJCQkJCQl9DQoJCQkJCQkJLy8gQnVpbGQgdXJsDQoJCQkJCQkJaWYgKCRydXJsKSB7DQoJCQkJCQkJCXdoaWxlIChzdWJzdHIoJHJ1cmwsLTEpID09ICcvJykgeyAkcnVybCA9IHN1YnN0cigkcnVybCwwLC0xKTsgfQ0KCQkJCQkJCQlpZiAoJHJ1cmwpICRydXJsID0gJHJ1cmwuJHRoaXMtPmNvbmZpZ1sncGFnZV9leHRlbnNpb24nXTsgDQoJCQkJCQkJfQ0KCQkJCQkJCSRydXJsID0gJGRlZmF1bHQgPyAkdGhpcy0+Y29uZmlnWydyb290X3VybCddIDogJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nLycuJHJ1cmw7DQoJCQkJCQl9DQoJCQkJCQkvLyBMb2cgY3VycmVudCB2aXNpdA0KCQkJCQkJaWYgKCR0aGlzLT5sb2dnaW5nKSAkdGhpcy0+TG9nVmlzaXQoJGxvZywkdXJsLCR1WydwYWdlX2lkJ10pOw0KCQkJCQkJLy8gUmVkaXJlY3QNCgkJCQkJCWlmICghJHRvdXJsICYmICRydXJsIT0kdGhpcy0+aHR0cC4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pIHsNCgkJCQkJCQlpZiAoJHRoaXMtPmRlYnVnSWQpIHsNCgkJCQkJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFNFVCBtb2RpZmllZF9kYXRlPU5PVygpLCBzdGF0dXM9PyBXSEVSRSBpZD0/JzsNCgkJCQkJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCczMDE6Jy4kcnVybCwkdGhpcy0+ZGVidWdJZCkpOw0KCQkJCQkJCX0NCgkJCQkJCQkkdGhpcy0+UmVkaXJlY3ROb3coJHJ1cmwpOw0KCQkJCQkJfSBlbHNlIGlmICgkdG91cmwgJiYgJHRvdXJsIT0kdGhpcy0+aHR0cC4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pIHsNCgkJCQkJCQlpZiAoJHRoaXMtPmRlYnVnSWQpIHsNCgkJCQkJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFNFVCBtb2RpZmllZF9kYXRlPU5PVygpLCBzdGF0dXM9PyBXSEVSRSBpZD0/JzsNCgkJCQkJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCczMDE6Jy4kdG91cmwsJHRoaXMtPmRlYnVnSWQpKTsNCgkJCQkJCQl9DQoJCQkJCQkJJHRoaXMtPlJlZGlyZWN0Tm93KCR0b3VybCk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvKioNCgkqIExvZ3MgYW4gZXJyb3IgKGUuZy4gNDA0KS4NCgkqIEBwYXJhbSBhcnJheSAkbG9nIFByZXBhcmVkIGxvZyBkYXRhLg0KCSovDQoJZnVuY3Rpb24gTG9nRXJyb3IoJGxvZykgew0KDQoJCS8vIFNldCBnbG9iYWwgdmFycw0KCQkkaWQgPSAoaW50KSR0aGlzLT50Yi0+cGFnZUlkOw0KCQkNCgkJJHJlZGlyZWN0ID0gZmFsc2U7DQoJCSRkb21haW4gPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107DQoJCSR1cmwgPSAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsNCg0KCQkvLyBMb2cgZXJyb3JzICg0MDQpDQoJCSRlNDA0ID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBjb250ZW50X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgdHlwZT0iZXJyb3JwYWdlIicsIGFycmF5KCkpOw0KCQkNCgkJLy8gTG9nIGVycm9ycyBpZiBpdCBpcyBvbmUNCgkJaWYgKCRpZDwwIHx8ICgkZTQwNCAmJiAkaWQ9PSRlNDA0KSkgew0KCQkJLy8gU2V0IERlYnVnIG1lc3NhZ2Ugc3RhdHVzIHRvIDQwNA0KCQkJaWYgKCR0aGlzLT5kZWJ1Z0lkKSB7DQoJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFNFVCBtb2RpZmllZF9kYXRlPU5PVygpLCBzdGF0dXM9PyBXSEVSRSBpZD0/JzsNCgkJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJzQwNCcsJHRoaXMtPmRlYnVnSWQpKTsNCgkJCX0NCgkJCS8vIEdldCBpZ25vcmUgZmlsdGVycw0KCQkJJGVmaWx0ZXIgPSAkdGhpcy0+ZGItPkdldEFsbCgnU0VMRUNUIGlkLGl1cmwsaXJlZ2V4cCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlJywgYXJyYXkoKSk7DQoJCQkvLyBHZXQgcmVmZXJlciAoZnJvbXVybCkgYW5kIHRhcmdldCB1cmwgKHRvdXJsKQ0KCQkJJGZyb211cmwgPSBpc3NldCgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pID8gJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddIDogJyc7DQoJCQkkdG91cmwgPSAkdGhpcy0+aHR0cC4kZG9tYWluLiR1cmw7DQoJCQkvLyBDaGVjayBmb3IgaWdub3JlIGZpbHRlcg0KCQkJJGlnbm9yZSA9IGZhbHNlOw0KCQkJZm9yZWFjaCAoJGVmaWx0ZXIgYXMgJGVmKSB7DQoJCQkJaWYgKCRlZlsnaXJlZ2V4cCddPjApIHsNCgkJCQkJJGlyZWdleHAgPSAnLycuc3RyX3JlcGxhY2UoJy8nLCdcXC8nLCRlZlsnaXVybCddKS4nLyc7DQoJCQkJCWlmIChwcmVnX21hdGNoKCRpcmVnZXhwLCR0b3VybCkpICRpZ25vcmUgPSB0cnVlOw0KCQkJCX0gZWxzZSBpZiAoJGVmWydpdXJsJ109PSR0b3VybCkgew0KCQkJCQkkaWdub3JlID0gdHJ1ZTsNCgkJCQl9DQoJCQl9DQoJCQkNCgkJCWlmICghJGlnbm9yZSkgew0KCQkJCS8vIENoZWNrLCBpZiBlcnJvciBhbHJlYWR5IGV4aXN0cw0KCQkJCSRlcnJvcmV4aXN0cyA9ICR0aGlzLT5kYi0+R2V0Um93KCdTRUxFQ1QgaWQsZnJvbXVybCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMgV0hFUkUgdG91cmwgPSA/IEFORCBtb2RpZmllZF9kYXRlID4gVU5JWF9USU1FU1RBTVAoIE5PVygpIC0gNjAgKSBMSU1JVCAxJywgYXJyYXkoJHRvdXJsKSk7DQoJCQkJaWYgKCRlcnJvcmV4aXN0cykgew0KCQkJCQkkZXJyb3JpZCA9ICRlcnJvcmV4aXN0c1snaWQnXTsNCgkJCQkJJHRmcm9tdXJsID0gJGVycm9yZXhpc3RzWydmcm9tdXJsJ10gPyAkZXJyb3JleGlzdHNbJ2Zyb211cmwnXSA6ICcnOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSRlcnJvcmlkID0gMDsNCgkJCQkJJHRmcm9tdXJsID0gJyc7DQoJCQkJfQ0KCQkJCS8vIFVwZGF0ZSBlcnJvciwgaWYgaXQgZXhpc3RzDQoJCQkJaWYgKCRlcnJvcmlkICYmICR0ZnJvbXVybD09JGZyb211cmwpIHsNCgkJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBTRVQgdmlzaXRzID0gdmlzaXRzICsgMSwgbW9kaWZpZWRfZGF0ZT1OT1coKSBXSEVSRSBpZD0/JzsNCgkJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRlcnJvcmlkKSk7DQoJCQkJLy8gSW5zZXJ0IGEgbmV3IGVycm9yDQoJCQkJfSBlbHNlIHsNCgkJCQkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIChmcm9tdXJsLHRvdXJsLHZpc2l0cyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sMSxOT1coKSxOT1coKSknOw0KCQkJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGZyb211cmwsJHRvdXJsKSk7DQoJCQkJfQ0KCQkJCS8vIERlbGV0ZSBvbGQgZXJyb3JzDQoJCQkJJGNvdW50ZGlkID0gKGludCkkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIGNvdW50KGlkKSBhcyBhbnphaGwgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzJyxhcnJheSgpKTsNCgkJCQlpZiAoJGNvdW50ZGlkPjAgJiYgJGNvdW50ZGlkPihpbnQpJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdtYXhfNDA0JykpIHsNCgkJCQkJJG1heGRpZCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIE9SREVSIEJZIG1vZGlmaWVkX2RhdGUgREVTQyBMSU1JVCA/LDEnLCBhcnJheSgoaW50KSR0aGlzLT50Yi0+R2V0UHJlZmVyZW5jZSgnbWF4XzQwNCcpLTEpKTsNCgkJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBXSEVSRSBpZDw/JyxhcnJheSgkbWF4ZGlkKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgl9DQoNCgkvKioNCgkqIFJlZGlyZWN0cyB0byBhIG5ldyBVUkwgYW5kIGFib3J0cyB0aGUgc2NyaXB0Lg0KCSogQHBhcmFtIHN0cmluZyAkdXJsIFVSTCB0byByZWRpcmVjdCB0byAuLi4NCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBSZWRpcmVjdE5vdygkdXJsKSB7DQoJCWlmICh0cmltKCR1cmwpKSB7DQoJCQkjZWNobyB0cmltKCR1cmwpO2V4aXQ7DQoJCQloZWFkZXIoJ0hUVFAvMS4xIDMwMSBNb3ZlZCBQZXJtYW5lbnRseScpOw0KCQkJaGVhZGVyKCdMb2NhdGlvbjogJy50cmltKCR1cmwpKTsNCgkJCWV4aXQoKTsNCgkJfQ0KCX0NCg0KCQkNCgkNCgkNCgkNCn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJRXh0ZW5kZWQgdG9vbHMgY2xhc3MKVmVyc2lvbjoJMS4xCkRlc2NyaXB0LjoJU21hcnR5LUV4dGVuc2lvbiBmb3Igc29tZSB1c2VmdWwgZnVuY3Rpb25zCkxhc3QgTW9kLjoJMDkuMTEuMjAxMgpBdXRob3I6CQlMdWthcyBCbGF0dGVyCkVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaApOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmNsYXNzIHRiVG9vbHMKewoJLyoqCgkgKgoJICogUHLvv71mdCwgb2IgZGVyIGFuZ2VnZWJlbmUgQWxpYXMgZWluZSBQYWdlSUQgaXN0IHVuZCBnaWJ0IGRlbiBBbGlhcyB6dXLvv71jawoJICogQHBhcmFtICRhbGlhcwoJICogQHJldHVybiBzdHJpbmcgJGFsaWFzCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyLCAyMC4xMi4yMDExCgkgKi8KCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gZ2V0QWxpYXMoJGFsaWFzKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCgkJJG1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkYWxpYXMpOwogICAgCWlmICghaXNzZXQoJG5vZGUpKSB7CgkJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOwoJCQlpZiAoaXNzZXQoJG5vZGUpKQoJCQkJJGFsaWFzID0gJG5vZGUtPmdldF90YWcoJGFsaWFzKTsKCQkJZWxzZQoJCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgoJCXJldHVybiAkYWxpYXM7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPnNlbGZfdXJsIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkaWUgYWt0dWVsbGUgU2VpdGVuLVVSTCB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIHN0cmluZyAvIHNtYXJ0eSBhc3NpZ24KCSAqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIHNlbGZVcmwoJGFzc2lnbj0nJykKCXsKCQkkcyA9IGVtcHR5KCRfU0VSVkVSWyJIVFRQUyJdKSA/ICcnIDogKCRfU0VSVkVSWyJIVFRQUyJdID09ICJvbiIpID8gInMiIDogIiI7CgkJJHAgPSBzdHJwb3MoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddLCcvJyk7CgkJJHByb3RvY29sID0gc3RydG9sb3dlcihzdWJzdHIoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddLDAsJHApKS4kczsKCQkkcG9ydCA9ICgkX1NFUlZFUlsiU0VSVkVSX1BPUlQiXSA9PSAiODAiKSA/ICIiIDogKCI6Ii4kX1NFUlZFUlsiU0VSVkVSX1BPUlQiXSk7CgkJJHMgPSAkcHJvdG9jb2wuIjovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJHBvcnQ7CgoJCSR1cmwgPSAkcy4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJGdDbXMgPSBjbXNtcygpOwoJCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkdXJsKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJHVybDsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBBbGlhcyBkZXIgUGFyZW50IFBhZ2Ugb2RlciBkZW4gQWxpYXMgZGVyIFBhcmVudCBQYWdlIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0UGFyZW50QWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKCQkkcGFyZW50aWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQlpZiggJHBhcmVudGlkIDw9IDAgKSByZXR1cm4gJyc7CgkJJGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JZCgkcGFyZW50aWQpOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwogICAgCX0KICAJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBkZXIgUm9vdHNlaXRlIChvYmVyc3RlIEViZW5lKSBha3R1ZWxsZW4gb2RlciBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYWxpYXMKCSAqIEBwYXJhbSB1bmtub3duX3R5cGUgJGFzc2lnbgoJICovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0Um9vdEFsaWFzKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKICAJCSRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKCQl3aGlsZSggJGlkID4gMCApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCQkJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgkJCSRhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpOwoJCQkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQl9CgogICAgCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBlaW5lciBQYXJlbnRzZWl0ZSBhdWYgZWluZW0gYmVzdGltbXRlbiBMZXZlbCBhdXMuCgkgKiBAY29weXJpZ2h0IEx1a2FzIEJsYXR0ZXIKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEByZXR1cm4gc3RyaW5nIC0gcGFnZSBhbGlhcwoJICovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0TGV2ZWxBbGlhcygkbGV2ZWwsICRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKICAJCSRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKCQl3aGlsZSggJGlkID4gMCApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCQkJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgoJCQkkcGFnZWxldmVsID0gc3Vic3RyX2NvdW50KCRjb250ZW50LT5IaWVyYXJjaHkoKSwnLicpICsgMTsKCQkJJGFsaWFzID0gJGNvbnRlbnQtPkFsaWFzKCk7CgkJCSRpZCA9ICRjb250ZW50LT5QYXJlbnRJZCgpOwoKCQkJaWYgKCRwYWdlbGV2ZWwgPT0gJGxldmVsKSB7CgkJCQlicmVhazsKCQkJfQoJCQllbHNlIGlmICgkcGFnZWxldmVsIDwgJGxldmVsKSB7CgkJCQlyZXR1cm4gJyc7CgkJCX0KCQl9CgogICAgCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkYWxpYXM7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBTZWl0ZW50aXRlbCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSBvZGVyIGRlciBha3R1ZWxsZW4gU2VpdGUgenVy77+9Y2sKCSAqIEBwYXJhbSB1bmtub3duX3R5cGUgJGFsaWFzCgkgKiBAcGFyYW0gdW5rbm93bl90eXBlICRhc3NpZ24KCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVGl0bGUoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkgICAgfQoJICAgIGVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiAnJzsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+TmFtZSgpKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGNvbnRlbnQtPk5hbWUoKTsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYWdlX21lbnV0ZXh0KCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBNZW51dGV4dCBlaW5lciBiZXN0aW1tdGVuIFNlaXRlIG9kZXIgZGVyIGFrdHVlbGxlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VNZW51dGV4dCgkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkgICAgZWxzZQoJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5NZW51VGV4dCgpKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGNvbnRlbnQtPk1lbnVUZXh0KCk7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEhhdCBlaW5lIGRlZmluaWVydGUgb2RlciBkaWUgYWt0dWVsbGUgU2VpdGUgd2VpdGVyZSBVbnRlcnNlaXRlbj8KCSAqIEBwYXJhbSAkYWxpYXMKCSAqIEBwYXJhbSAkYXNzaWduCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gaGFzQ2hpbGRyZW4oJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRyZXN1bHQgPSBmYWxzZTsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJICAgIH0KCSAgICBlbHNlCgkgICAgCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKCSAgICBpZighJGFsaWFzKSByZXR1cm4gZmFsc2U7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoaXNfb2JqZWN0KCRjb250ZW50KSApCgkJCSRyZXN1bHQgPSAkY29udGVudC0+SGFzQ2hpbGRyZW4oKTsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHQpOwoJCQlyZXR1cm47CgkgICAgfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCgkvKioKCSAqIEdpYnQgZGVuIEFsaWFzIGRlciBlcnN0ZW4gQ2hpbGRzZWl0ZSBtaXQgSW5oYWx0IGF1cwoJICogQHBhcmFtIHN0cmluZyAkcGFyZW50YWxpYXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQHBhcmFtIHN0cmluZyAkb25seUluTWVudQoJICogQGNvcHlyaWdodCBMdWthcyBCbGF0dGVyCgoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpcnN0Q2hpbGRBbGlhcygkcGFyZW50YWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnLCAkb25seUluTWVudT10cnVlKQoJewoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCgkJJGNoaWxkcmVuID0gJHRoaXMtPmdldENoaWxkcmVuKCRwYXJlbnRhbGlhcyk7CgoJCWlmICghJGNoaWxkcmVuKSByZXR1cm4gZmFsc2U7CgoJCSRhbGlhcyA9IGZhbHNlOwoJCWZvcmVhY2goJGNoaWxkcmVuIGFzICRjaGlsZCkgewoJCQlpZiAoJGNoaWxkWyd0eXBlJ10gPT0gJ2Vycm9ycGFnZScpIGNvbnRpbnVlOwoJCQllbHNlIGlmICgkY2hpbGRbJ3R5cGUnXSA9PSAnc2VjdGlvbmhlYWRlcicgb3IgJGNoaWxkWyd0eXBlJ10gPT0gJ3NlcGFyYXRvcicgb3IgJGNoaWxkWyd0eXBlJ10gPT0gJ2xpbmsnKSB7CgkJCQlpZiAoJHRoaXMtPmhhc0NoaWxkcmVuKCRjaGlsZFsnYWxpYXMnXSkpIHsKCQkJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0Rmlyc3RDaGlsZEFsaWFzKCRjaGlsZFsnYWxpYXMnXSwnJywkb25seUluTWVudSk7CgkJCQkJaWYgKCRhbGlhcykgYnJlYWs7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZiAoJG9ubHlJbk1lbnUgYW5kICRjaGlsZFsnc2hvd19pbl9tZW51J10pIHsKCQkJCSRhbGlhcyA9ICRjaGlsZFsnYWxpYXMnXTsKCQkJCWJyZWFrOwoJCQl9CgkJCWVsc2UgaWYgKCEkb25seUluTWVudSkgewoJCQkJJGFsaWFzID0gJGNoaWxkWydhbGlhcyddOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYgKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRhbGlhcyk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRhbGlhczsKCX0KCgkvKioKCSAqIEdpYnQgZGllIFVSTCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSBhdXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVXJsKCRhbGlhcyA9ICcnLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkgICAgZWxzZQoJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5HZXRVUkwoKSk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRjb250ZW50LT5HZXRVUkwoKTsKCX0KCgkvKioKCSAqCgkgKiBHaWJ0IHp1csO8Y2sgb2IgZWluZSBiZXN0aW1tdGUgU2VpdGUgZGllIERlZmF1bHRzZWl0ZSBpc3QKCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMgLSBhbGlhcyBvciBpZCBvZiBhIHBhZ2UKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbiAtIG5hbWUgb2YgYXNzaWduIHZhcmlhYmxlCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gaXNEZWZhdWx0UGFnZSgkYWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRkZWZhdWx0ID0gZmFsc2U7CgkJJGdDbXMgPSBjbXNtcygpOwoKCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCQlpZighJGFsaWFzKSByZXR1cm4gZmFsc2U7CgoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggaXNfb2JqZWN0KCRjb250ZW50KSApIHsKCQkJJGRlZmF1bHQgPSAkY29udGVudC0+RGVmYXVsdENvbnRlbnQoKTsKCQl9CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkZGVmYXVsdCk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuICRkZWZhdWx0OwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdpYnQgZWluZXIgQXJyYXkgbWl0IGRlbiBQYWdlSWRzIGFsbGVyIENoaWxkIFNlaXRlbiBlaW5lciBiZXN0aW1tdGVuIFNlaXRlIG9kZXIgZGVyIGFrdHVlbGxlbiBTZWl0ZSB6dXLvv71jay4KCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gYm9vbGVhbiAkc2hvd2FsbAoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldENoaWxkcmVuKCRhbGlhcyA9ICcnLCRzaG93YWxsID0gZmFsc2UsICRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkJZWxzZQoJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkJJHBhcmVudCA9ICRobS0+Z2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsKCQlpZiggISRwYXJlbnQgKSB7IHJldHVybiBmYWxzZTsgfQoKCQkkY2hpbGRfbm9kZXMgPSAkcGFyZW50LT5nZXRDaGlsZHJlbihmYWxzZSwkc2hvd2FsbCk7CgkJaWYoICFpc19hcnJheSgkY2hpbGRfbm9kZXMpIHx8IGNvdW50KCRjaGlsZF9ub2RlcykgPT0gMCApIHJldHVybiBmYWxzZTsKCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCWZvcmVhY2goICRjaGlsZF9ub2RlcyBhcyAkbm9kZSApIHsKCQkJJGNvbnRlbnQgPSAkbm9kZS0+Z2V0Q29udGVudCgpOwoJCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSBjb250aW51ZTsKCgkJCSRyb3cgPSBhcnJheSgnYWxpYXMnPT4kY29udGVudC0+QWxpYXMoKSwnaWQnPT4kY29udGVudC0+SWQoKSwKCQkgICAgICd0aXRsZSc9PiRjb250ZW50LT5OYW1lKCksJ21lbnV0ZXh0Jz0+JGNvbnRlbnQtPk1lbnVUZXh0KCksCgkJICAgICAnc2hvd19pbl9tZW51Jz0+JGNvbnRlbnQtPlNob3dJbk1lbnUoKSwndHlwZSc9PiRjb250ZW50LT5UeXBlKCkpOwoJCQkkcmVzdWx0c1tdID0gJHJvdzsKCQl9CgkJaWYoICFjb3VudCgkcmVzdWx0cykgKSByZXR1cm4gZmFsc2U7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0cyk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRyZXN1bHRzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV9jb250ZW50KCkgYnkgY2FsZ3V5MTAwMAoJICogR2lidCBkZW4gSW5oYWx0IGVpbmVzIGJlc3RpbW10ZW4gQ29udGVudCBCbG9ja3MgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgenVy77+9Y2sKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzIC0gYWxpYXMgb3IgaWQgb2YgYSBwYWdlCgkgKiBAcGFyYW0gc3RyaW5nICRibG9jayAtIG5hbWUgb2YgdGhlIGNvbnRlbnRibG9jawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduIC0gbmFtZSBvZiBhc3NpZ24gdmFyaWFibGUKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlQ29udGVudCgkYWxpYXMsICRibG9jayA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkcmVzdWx0ID0gZmFsc2U7CgkJJGdDbXMgPSBjbXNtcygpOwoKCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCQlpZighJGFsaWFzKSByZXR1cm4gZmFsc2U7CgoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRibG9jayA9PSAnJyApICRibG9jayA9ICdjb250ZW50X2VuJzsKCgkJaWYoICRhbGlhcyAhPSAnJyApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQkJaWYoIGlzX29iamVjdCgkY29udGVudCkgKSB7CgkJCQkkcmVzdWx0ID0gJGNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJGJsb2NrKTsKCQkJfQoJICAgIH0KCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRyZXN1bHQpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCS8qKgoJICogSGF0IEJlcmVjaHRpZ3VuZyBpbiBkZW4gZGVmaW5pZXJ0ZW4gRkVVIFVzZXJHcm91cHMKCSAqIEBwYXJhbSBzdHJpbmcgJGZldWdyb3VwcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZS9mYWxzZQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciwgMjAuMTIuMjAxMQoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGhhc0ZldUdyb3VwQWNjZXNzKCRmZXVncm91cHMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiAoISRmZXVncm91cHMpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoKCQkkZmV1c2VycyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoKCQlpZiAoISRmZXVncm91cHMgb3IgIWlzX09iamVjdCgkZmV1c2VycykpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSR1c2VyX2lkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCQkkZ3JvdXBzID0gJGZldXNlcnMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyX2lkKTsKCgkJJGducyA9IGFycmF5KCk7CgkJaWYoJGdyb3VwcyAhPT0gZmFsc2UgKSB7CgkJICAgIGZvcmVhY2goICRncm91cHMgYXMgJGdpZCApIHsKCQkgICAgICAgICRnbnNbXSA9ICRnaWRbJ2dyb3VwaWQnXTsKCQkgICAgfQoJCX0KCgkJJGZldUFycmF5PSBleHBsb2RlKCcsJywkZmV1Z3JvdXBzKTsKCQkkcmV0dmFsID0gZmFsc2U7CgkJZm9yZWFjaCAoJGZldUFycmF5IGFzICRmZXUpIHsKCQkJaWYgKGluX2FycmF5KCRmZXUsJGducykpIHsKCQkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSx0cnVlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gZmFsc2U7CgoJfS8vaWYKCgkvKioKCSAqIElzdCBkZXIgQmVudXR6ZXIgZWluZ2Vsb2dndAoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIGludCB1c2VyX2lkCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyLCAyMC4xMi4yMDExCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gaXNMb2dnZWRJbigkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJJGZldXNlcnMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKCgkJaWYgKCFpc19vYmplY3QoJGZldXNlcnMpKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfS8vaWYKCgkJJHVzZXJfaWQgPSAkZmV1c2Vycy0+TG9nZ2VkSW5JZCgpOwoKCQlpZiAoJHVzZXJfaWQpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksdHJ1ZSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfS8vaWYKCgkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxmYWxzZSk7CgkJCXJldHVybjsKCQl9Ly9pZgoJCXJldHVybiBmYWxzZTsKCgl9Ly9mdW5jdGlvbgoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+Z2V0X3NpbGJpbmcoKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdldCBwcmV2IHNpYmxpbmcKCSAqIEBwYXJhbSAkZGlyCgkgKiBAcGFyYW0gJGFzc2lnbgoJICogQHBhcmFtICRhbGlhcwoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldFNpYmxpbmcoJGRpciwkYXNzaWduID0gJycsJGFsaWFzID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRkYiA9ICRnQ21zLT5HZXREYigpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCgkJaWYoIGVtcHR5KCRhbGlhcykgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuIGZhbHNlOwoKCQkvLyBnZXQgdGhlIGxhc3QgaXRlbSBvdXQgb2YgdGhlIGhpZXJhcmNoeQoJCS8vIGFuZCByZWJ1aWxkCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2FsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQKCQkJCSAgICBXSEVSRSBwYXJlbnRfaWQgPSA/CgkJCQkgICAgICBBTkQgaXRlbV9vcmRlciAlcyA/CgkJCQkgICAgICBBTkQgYWN0aXZlID0gMQoJCQkJICAgIE9SREVSIEJZIGl0ZW1fb3JkZXIgJXMKCQkJCSAgICBMSU1JVCAxJzsKCgkJc3dpdGNoKHN0cnRvbG93ZXIoJGRpcikpIHsKCQkJY2FzZSAnLTEnOgoJCQkJY2FzZSAncHJldic6CgkJCQkJJHRoZWNoYXIgPSAnPCc7CgkJCQkJJG9yZGVyID0gJ0RFU0MnOwoJCQkJYnJlYWs7CgoJCQkJZGVmYXVsdDoKCQkJCQkkdGhlY2hhciA9ICc+JzsKCQkJCQkkb3JkZXIgPSAnQVNDJzsKCQkJCWJyZWFrOwoJCX0vL3N3aXRjaAoKCQkkcmVzID0gJGRiLT5HZXRPbmUoc3ByaW50ZigkcXVlcnksJHRoZWNoYXIsJG9yZGVyKSwKCQlhcnJheSgkY29udGVudC0+UGFyZW50SWQoKSwkY29udGVudC0+SXRlbU9yZGVyKCkpKTsKCQlpZiggIWVtcHR5KCRhc3NpZ24pICkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkcmVzKTsKCQkJcmV0dXJuOwoJCX0vL2lmCgkJcmV0dXJuICRyZXM7Cgl9Ly9mdW5jdGlvbgoKCS8qKgoJICogQ3JlYXRlcyBIVE1MIHRhYmxlIGZyb20gbXVsdGlkaW1lbnNpb25hbCBhcnJheQoJICogYmFzZWQgb24gaHR0cDovL3d3dy50ZXJyYXdlYmRlc2lnbi5jb20vbXVsdGlkaW1lbnNpb25hbC5waHAKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGFycmF5CgkgKiBAcmV0dXJuIHN0cmluZwoJICovCgoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRBcnJheUFzVGFibGUoJGFycmF5KQoJewoJCSRhcnJheSA9ICR0aGlzLT5vYmplY3QyYXJyYXkoJGFycmF5KTsKCgkJJHRhYmxlID0gIjx0YWJsZT5cbiI7CgkJJHRhYmxlIC49ICR0aGlzLT5nZXRBcnJheUFzVGFibGVNYWtlUm93cygkYXJyYXksIDEsIDApOwoJCSR0YWJsZSAuPSAiPC90YWJsZT5cbiI7CgkJcmV0dXJuICR0YWJsZTsKCgl9Ly9mdW5jdGlvbgoKCXByb3RlY3RlZCBmaW5hbCBmdW5jdGlvbiBnZXRBcnJheUFzVGFibGVNYWtlUm93cygkYXJyYXksICRsZXZlbCwgJHN1YikKCXsKCQkkc3RyaW5nID0gIiI7CgoJCWlmIChpc19hcnJheSgkYXJyYXkpID09IDEpeyAgICAgICAgICAvLyBjaGVjayBpZiBpbnB1dCBpcyBhbiBhcnJheQoJCSAgICAgIGZvcmVhY2goJGFycmF5IGFzICRrZXlfdmFsID0+ICR2YWx1ZSkgewoJCSAgICAgICAgICAkb2Zmc2V0ID0gIiI7CgoJCSAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSA9PSAxKXsgICAvLyBhcnJheSBpcyBtdWx0aWRpbWVuc2lvbmFsCgkJICAgICAgICAgIAkkc3RyaW5nIC49ICI8dHI+IjsKCQkgICAgICAgICAgCSRvZmZzZXQgPSAkdGhpcy0+Z2V0QXJyYXlBc1RhYmxlRG9PZmZzZXQoJGxldmVsKTsKCQkgICAgICAgICAgCSRzdHJpbmcgLj0gJG9mZnNldCAuICI8dGQgdmFsaWduPSd0b3AnPiIgLiAka2V5X3ZhbCAuICI8L3RkPiI7CgkJICAgICAgICAgIAkkc3RyaW5nIC49ICR0aGlzLT5nZXRBcnJheUFzVGFibGVNYWtlUm93cygkdmFsdWUsICRsZXZlbCsxLCAxKTsKCQkgICAgICAgICAgfWVsc2V7ICAgICAgICAgICAgICAgICAgICAgIC8vKHN1YilhcnJheSBpcyBub3QgbXVsdGlkaW0KCQkgICAgICAgICAgCWlmICgkc3ViICE9IDEpeyAgICAgICAgICAvLyBmaXJzdCBlbnRyeSBmb3Igc3ViYXJyYXkKCQkgICAgICAgICAgICAgICRzdHJpbmcgLj0gIjx0cj4iOwoJCSAgICAgICAgICAgICAgJG9mZnNldCA9ICR0aGlzLT5nZXRBcnJheUFzVGFibGVEb09mZnNldCgkbGV2ZWwpOwoJCSAgICAgICAgICAJfQoJCSAgICAgICAgICAJJHN1YiA9IDA7CgkJICAgICAgICAgIAkkc3RyaW5nIC49ICRvZmZzZXQgLiAiPHRkIGNsYXNzPSd0aCcgdmFsaWduPSd0b3AnPiIgLiAka2V5X3ZhbCAuCgkJICAgICAgICAgICAgICAiPC90ZD48dGQgdmFsaWduPSd0b3AnPiIgLiAkdmFsdWUgLiAiPC90ZD4iOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAiPC90cj5cbiI7CgkJICAgICAgICAgIH0KCQkgICAgICB9IC8vZm9yZWFjaCAkYXJyYXkKCQkgfS8vaWYKCgkJcmV0dXJuICRzdHJpbmc7CgoJfS8vZnVuY3Rpb24KCglwcm90ZWN0ZWQgZmluYWwgZnVuY3Rpb24gZ2V0QXJyYXlBc1RhYmxlRG9PZmZzZXQoJGxldmVsKQoJewoJICAgICRvZmZzZXQgPSAiIjsgICAgICAgICAgICAgLy8gb2Zmc2V0IGZvciBzdWJhcnJ5CgkgICAgZm9yICgkaT0xOyAkaTwkbGV2ZWw7JGkrKyl7CgkgICAgJG9mZnNldCA9ICRvZmZzZXQgLiAiPHRkPjwvdGQ+IjsKCSAgICB9CgkgICAgcmV0dXJuICRvZmZzZXQ7Cgl9Ly9mdW5jdGlvbgoKCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9maWxlX2xpc3RpbmcoKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdpYnQgZGVuIEluaGFsdCBlaW5lcyBiZXN0aW1tdGVuIE9yZG5lcnMgaW4gZWluZW0gQXJyYXkgenVy77+9Y2sKCSAqIEBwYXJhbSBzdHJpbmcgJGRpcgoJICogQHBhcmFtIHN0cmluZyAkZXhjbHVkZXByZWZpeAoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUxpc3RpbmcoJGRpciwkZXhjbHVkZXByZWZpeD0nJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCgkJJGZpbGVwcmVmaXggPSAnJzsKCQlpZiggIWVtcHR5KCRleGNsdWRlcHJlZml4KSApIHsKCQkJJGZpbGVwcmVmaXggPSAkZXhjbHVkZXByZWZpeDsKCQl9CgkJaWYoIHN0YXJ0c3dpdGgoJGRpciwnLycpICkgcmV0dXJuOwoJCSRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRkaXIpOwoJCSRsaXN0ID0gZ2V0X21hdGNoaW5nX2ZpbGVzKCRkaXIsJycsdHJ1ZSx0cnVlLCRmaWxlcHJlZml4LDEpOwoJCWlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRsaXN0KTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGxpc3Q7Cgl9Ly9mdW5jdGlvbgp9Oy8vIGNsYXNzCgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbTwitterfeed.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KTW9kdWxlOgkJVG9vbEJveA0KVGl0bGU6CQl0d2l0dGVyZmVlZA0KVmVyc2lvbjoJMS4wDQpEZXNjcmlwdC46CWdldCBUd2l0dGVyZmVlZA0KTGFzdCBNb2QuOgkwNC4wOC4yMDEyDQpBdXRob3I6CQlMdWthcyBCbGF0dGVyDQpFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gNCkJhc2VkIG9uOgliaXJkZmVlZCBmcm9tIEJlbiBCb25vcmENCk5vdGVzOg0KTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCgkJCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQoJCQl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCgkJCUhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KCQkJYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQoJCQlNYWRlIFNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4NCgkJCXNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuDQoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOg0KCQkJaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy8NCgkJCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCgkJCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCgkJCUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KCQkJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCgkJCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCmZpbmFsIGNsYXNzIHRiVHdpdHRlcmZlZWQgeyANCgkNCglwcml2YXRlIHN0YXRpYyAkX2RhdGVmb3JtYXQgPSAnZnJpZW5kbHknOw0KCXByaXZhdGUgc3RhdGljICRfcGFyc2VMaW5rcyAgID0gdHJ1ZTsNCglwcml2YXRlIHN0YXRpYyAkX2RiOw0KCXByaXZhdGUgc3RhdGljICRfbG9nOw0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9DQoJcHJpdmF0ZSBmdW5jdGlvbiBfX2Nsb25lKCkge30NCg0KCS8qKg0KCSAqIA0KCSAqIENoZWNrIGlmIEN1cmwgaXMgZW5hYmxlZA0KCSAqLwkNCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGlzQ3VybEVuYWJsZWQoKSB7DQoJCWlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiAmIGdldERiKCkNCgl7DQoJCWlmICghaXNfb2JqZWN0KHNlbGY6OiRfZGIpKSBzZWxmOjokX2RiID0gJiBjbXNtcygpLT5HZXREYigpOw0KCQlyZXR1cm4gc2VsZjo6JF9kYjsgDQoJfQ0KCQ0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gbG9nKCR0eHQpDQoJew0KCQlpZiAoIWlzX29iamVjdChzZWxmOjokX2xvZykpIHsNCgkJCXNlbGY6OiRfbG9nID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUb29sQm94Jyk7DQoJCQlzZWxmOjokX2xvZy0+c2V0TG9nRmlsZSgndGJUd2l0dGVyZmVlZCcpOwkNCgkJfQ0KCQlzZWxmOjokX2xvZy0+bHdyaXRlKCR0eHQpOw0KCX0NCgkNCgkNCglwcm90ZWN0ZWQgc3RhdGljIGZ1bmN0aW9uIGdldFNlY29uZEJldHdlZW5EYXRlKCRkYXRlMSwkZGF0ZTIpDQoJew0KCQkkdGltZUZpcnN0ICA9IHN0cnRvdGltZSgkZGF0ZTEpOw0KCQkkdGltZVNlY29uZCA9IHN0cnRvdGltZSgkZGF0ZTIpOw0KCQkkZGlmZmVyZW5jZUluU2Vjb25kcyA9ICR0aW1lU2Vjb25kIC0gJHRpbWVGaXJzdDsNCg0KCQlyZXR1cm4gJGRpZmZlcmVuY2VJblNlY29uZHM7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEZldGNoIEZlZWQgdmlhIEN1cmwgb2RlciBmaWxlX2dldF9jb250ZW50cw0KCSAqIEBwYXJhbSBzdHJpbmcgJHVybCAtIFR3aXR0ZXIgQVBJIFVSTCBpbmtsLiBQYXJhbWV0ZXINCgkgKiBAcmV0dXJuIGpzb24gLyBmYWxzZQ0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZmV0Y2hGZWVkKCR1cmwpIA0KCXsNCgkJaWYgKCFzZWxmOjppc0N1cmxFbmFibGVkKCkpIHsNCgkJCSRyID0gZmlsZV9nZXRfY29udGVudHMoJHVybCk7DQoJCX0NCgkJZWxzZSB7DQoJCQkkciA9ICcnOw0KCQkJLy8gZmV0Y2ggZmVlZA0KCQkJJGMgPSBjdXJsX2luaXQoKTsNCgkJCWN1cmxfc2V0b3B0X2FycmF5KCRjLCBhcnJheSgNCgkJCQlDVVJMT1BUX1VSTCA9PiAkdXJsLA0KCQkJCUNVUkxPUFRfSEVBREVSID0+IGZhbHNlLA0KCQkJCUNVUkxPUFRfVElNRU9VVCA9PiAxMCwNCgkJCQlDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSwNCgkJCQlDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IHRydWUNCgkJCSkpOw0KCQkJJHIgPSBjdXJsX2V4ZWMoJGMpOw0KCQkJY3VybF9jbG9zZSgkYyk7DQoJCX0NCgkJLy8gcmV0dXJuIEpTT04gYXMgYXJyYXkNCgkJcmV0dXJuICghISRyID8ganNvbl9kZWNvZGUoJHIsIGZhbHNlKSA6IGZhbHNlKTsNCgl9DQoJDQoJLyoqDQoJICogDQoJICogUGFyc2VkIGRpZSBUd2l0dGVybGlua3MNCgkgKiBieSBodHRwOi8vdG9zY2hvLmRlLzIwMTAvdHdpdHRlci1laW5lbi10d2VldC1mb3JtYXRpZXJlbi8NCgkgKiBAcGFyYW0gJHN0cg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBwYXJzZVR3aXR0ZXJMaW5rcygkc3RyKSANCgl7DQoJCSR1cmlfc2NoZW1lcyA9IGFycmF5ICgnbWFpbHRvJywgJ25ld3MnLCAnbm50cCcsICdjYWxsdG8nLCAnZWQyaycsICdpcmMnLCAnc3NoJywgJ3N2bicsJ3M/ZnRwcz8nLCAnaHR0cHM/JyApOw0KICAgIAkkcmVnZXhbJ3VybCddID0gJygnIC4gaW1wbG9kZSgnfCcsICR1cmlfc2NoZW1lcykuICcpOi8vKFstXHdcLl0rKSsoOlxkKyk/KC8oW1x3L19cLl0qKFw/XFMrKT8pPyk/JzsNCiAgICAJJHJlZ2V4Wyd1c2VybmFtZSddID0gIkAoW2EtekEtWl9cZF0rKSI7DQogICAgCSRyZWdleFsnaGFzaHRhZyddICA9ICIoW15ccExdKXswLDF9KCMoWy1fXHBMXGRdKykpIjsNCg0KICAgIA0KCSAgICAvLyBIeXBlcmxpbmtzIHVtd2FuZGVsbg0KCSAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCd+JyAuICRyZWdleFsndXJsJ10gLiAnfnUnLCAnPGEgaHJlZj0iJHswfSIgdGFyZ2V0PSJfYmxhbmsiPiR7MH08L2E+ICcsICRzdHIpOw0KCSAgICAvLyBVc2VybmFtZW4gdmVybGlua2VuDQoJICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoJ34nIC4gJHJlZ2V4Wyd1c2VybmFtZSddIC4gJ351JywnPGEgY2xhc3M9InR3dXNlciIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vJHsxfSI+JHswfTwvYT4nLCRzdHIpOw0KCSAgICAvLyBIYXNodGFncyB2ZXJsaW5rZW4NCgkgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnficgLiAkcmVnZXhbJ2hhc2h0YWcnXSAuICd+dScsJyAkezF9PGEgY2xhc3M9Imhhc2h0YWciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL3NlYXJjaD9xPSUyMyR7M30iPiR7Mn08L2E+Jywkc3RyKTsNCgkNCgkgICAgcmV0dXJuICRzdHI7DQoJfQ0KDQoJLyoqDQoJICogDQoJICogUGFyc2VkIGRhcyBEYXR1bSBkZXMgRWludHJhZ2VzDQoJICogQHBhcmFtICRkYXRlIC0gRGF0dW0gZGVzIEZlZWQtRWludHJhZ2VzDQoJICogQHBhcmFtICRkYXRlZm9ybWF0IC0gRm9ybWF0IGluIHdlbGNoZXMgZGFzIERhdHVtIHVtZ2V3YW5kZWx0IHdlcmRlbiBzb2xsOiBmcmllbmRseSA9IERhdHVtIGluIEZvcm0gdm9uICIyIGRheXMgYWdvIjsgQWx0ZXJuYXRpdmUgZC5tLlkgSDptOnMgLS0+IHNpZWhlIERhdGVUaW1lIERva3VtZW50YXRpb24NCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gcGFyc2VEYXRlKCRkYXRlLCRkYXRlZm9ybWF0KSB7DQoJCQ0KCQkvLyBjdXJyZW50IGRhdGV0aW1lDQoJCSRub3cgPSBuZXcgRGF0ZVRpbWUoKTsNCgkNCgkJJHN0aW1lID0gbmV3IERhdGVUaW1lKCRkYXRlKTsNCgkNCgkJaWYgKCRkYXRlZm9ybWF0PT0gJ2ZyaWVuZGx5Jykgew0KCQ0KCQkJLy8gZnJpZW5kbHkgZGF0ZSBmb3JtYXQNCgkJCSRpdmFsID0gJG5vdy0+ZGlmZigkc3RpbWUpOw0KCQkJCQkNCgkJCSR5ciA9ICRpdmFsLT55Ow0KCQkJJG1oID0gJGl2YWwtPm0gKyAoJGl2YWwtPmQgPiAxNSk7DQoJCQlpZiAoJG1oID4gMTEpICR5ciA9IDE7DQoJCQkkZHkgPSAkaXZhbC0+ZCArICgkaXZhbC0+aCA+IDE1KTsNCgkJCSRociA9ICRpdmFsLT5oOw0KCQkJJG1uID0gJGl2YWwtPmkgKyAoJGl2YWwtPnMgPiAyOSk7DQoJCQkJCQ0KCQkJaWYgKCR5ciA+IDApIHsNCgkJCQlpZiAoJHlyID09IDEpICRkYXRlID0gJ2xhc3QgeWVhcic7DQoJCQkJZWxzZSAkZGF0ZSA9ICR5ciAuICcgeWVhcnMgYWdvJzsNCgkJCX0NCgkJCWVsc2UgaWYgKCRtaCA+IDApIHsNCgkJCQlpZiAoJG1oID09IDEpICRkYXRlID0gJ2xhc3QgbW9udGgnOw0KCQkJCWVsc2UgJGRhdGUgPSAkbWggLiAnIG1vbnRocyBhZ28nOw0KCQkJfQ0KCQkJZWxzZSBpZiAoJGR5ID4gMCkgew0KCQkJCWlmICgkZHkgPT0gMSkgJGRhdGUgPSAneWVzdGVyZGF5JzsNCgkJCQllbHNlIGlmICgkZHkgPCA4KSAkZGF0ZSA9ICRkeSAuICcgZGF5cyBhZ28nOw0KCQkJCWVsc2UgaWYgKCRkeSA8IDE1KSAkZGF0ZSA9ICdsYXN0IHdlZWsnOw0KCQkJCWVsc2UgJGRhdGUgPSByb3VuZCgkZHkgLyA3KSAuICcgd2Vla3MgYWdvJzsNCgkJCX0NCgkJCWVsc2UgaWYgKCRociA+IDApIHsNCgkJCQkkaHIgKz0gKCRpdmFsLT5pID4gMjkpOw0KCQkJCSRkYXRlID0gJGhyIC4gJyBob3VyJyAuICgkaHIgPT0gMSA/ICcnIDogJ3MnKSAuICcgYWdvJzsNCgkJCX0NCgkJCWVsc2Ugew0KCQkJCWlmICgkbW4gPCAzKSAkZGF0ZSA9ICdqdXN0IG5vdyc7DQoJCQkJZWxzZSAkZGF0ZSA9ICRtbiAuICcgbWludXRlcyBhZ28nOw0KCQkJfQ0KCQ0KCQl9DQoJCWVsc2Ugew0KCQkJLy8gc3RhbmRhcmQgUEhQIGRhdGUgZm9ybWF0DQoJCQkkZGF0ZSA9ICRzdGltZS0+Zm9ybWF0KCRkYXRlZm9ybWF0KTsNCgkJfQ0KCQ0KCQlyZXR1cm4gJGRhdGU7DQoJfQ0KCQ0KCQ0KCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEZlZWRGcm9tRGIoJGhhc2gsICRjb3VudCwkZGF0ZWZvcm1hdCA9ICdmcmllbmRseScpDQoJew0KCQkvL3NlbGY6OmxvZygiZ2V0RmVlZEZyb21EQiIpOw0KCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfdHcgd2hlcmUgaGFzaCA9ID8gb3JkZXIgYnkgaWQgZGVzYyBsaW1pdCA/ICc7DQoJCSR0d2VldHMgPSBzZWxmOjpnZXREYigpLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJGhhc2gsJGNvdW50KSk7DQoJCQ0KCQlmb3JlYWNoICgkdHdlZXRzIGFzICR0d2VldCkgew0KCQkJJHJvdyA9IG5ldyBzdGRDbGFzcygpOw0KCQkJJHJvdy0+aWQgPSAkdHdlZXRbJ2lkJ107DQoJCQkkZGF0ZSA9IGRhdGUoIlktbS1kIEg6aTpzIiwgc3RydG90aW1lKCR0d2VldFsndHdkYXRlJ10uJyBHTVQnKSk7DQoJCQkkcm93LT5kYXRlID0gIHNlbGY6OnBhcnNlRGF0ZSgkZGF0ZSwnZnJpZW5kbHknKTsNCgkJCSRyb3ctPnJhd2RhdGUgPSAkdHdlZXRbJ2NyZWF0ZWRfYXQnXTsNCgkJCSRyb3ctPnRleHQgPSBzZWxmOjpwYXJzZVR3aXR0ZXJMaW5rcygkdHdlZXRbJ3RleHQnXSk7DQoJCQkkcm93LT5pbWdfdXJsID0gJHR3ZWV0WydpbWdfdXJsJ107DQoJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJHR3ZWV0WydpbWdfdXJsX2h0dHBzJ107DQoJCQkkcm93LT5hdXRob3IgPSAkdHdlZXRbJ2F1dGhvciddOw0KCQkJJHJvdy0+c2NyZWVubmFtZSA9ICR0d2VldFsnc2NyZWVubmFtZSddOw0KCQkJJHJvdy0+c2NyZWVubmFtZV91cmwgPSAkdHdlZXRbJ3NjcmVlbm5hbWVfdXJsJ107DQoJCQkkcm93LT5zb3VyY2UgPSAkdHdlZXRbJ3NvdXJjZSddOw0KCQkJJHJvdy0+bG9jYXRpb24gPSAkdHdlZXRbJ2xvY2F0aW9uJ107DQoJCQkkcm93LT5yZXR3ZWV0X2NvdW50ID0gJHR3ZWV0WydyZXR3ZWV0X2NvdW50J107DQoJCQkkcm93LT5mYXZvcml0ZWQgPSAkdHdlZXRbJ2Zhdm9yaXRlZCddOw0KCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gJyc7DQoJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICcnOw0KCQkJDQoJCQlpZiAoJHR3ZWV0WydyZXR3ZWV0X2lkJ10pIHsNCgkJCQkkcm93LT50ZXh0ID0gc2VsZjo6cGFyc2VUd2l0dGVybGlua3MoJHR3ZWV0WydyZXR3ZWV0X3RleHQnXSk7DQoJCQkJJHJvdy0+c291cmNlID0gJHR3ZWV0WydyZXR3ZWV0X3NvdXJjZSddOw0KCQkJCSRyb3ctPnNjcmVlbm5hbWUgPSAkdHdlZXRbJ3JldHdlZXRfc2NyZWVubmFtZSddOw0KCQkJCSRyb3ctPmF1dGhvciA9ICR0d2VldFsncmV0d2VldF9zY3JlZW5uYW1lJ107DQoJCQkJJHJvdy0+c2NyZWVubmFtZV91cmwgPSAkdHdlZXRbJ3JldHdlZXRfc2NyZWVubmFtZV91cmwnXTsNCgkJCQkkcm93LT5pbWdfdXJsID0gJHR3ZWV0WydyZXR3ZWV0X2ltZ191cmwnXTsNCgkJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJHR3ZWV0WydyZXR3ZWV0X2ltZ191cmxfaHR0cHMnXTsNCgkJCQkkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWUgPSAkdHdlZXRbJ3NjcmVlbm5hbWUnXTsNCgkJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICR0d2VldFsnYXV0aG9yJ107DQoJCQl9DQoJCQkNCgkJCSRyb3ctPmRhdGVfbGluayA9ICc8YSBjbGFzcz0idHdlZXQtdGltZXN0YW1wIHR3ZWV0LXBvcHVwIiBocmVmPSInLiRyb3ctPnNjcmVlbm5hbWVfdXJsLicvc3RhdHVzLycuJHJvdy0+aWQuJyIgdGltZT0iJy4kcm93LT5yYXdkYXRlLiciIHRhcmdldD0iX2JsYW5rIj4nLnNlbGY6OnBhcnNlRGF0ZSgkZGF0ZSwnZnJpZW5kbHknKS4nPC9hPic7DQoJCQkkcm93LT5yZXBseV9saW5rID0gJzxhIGNsYXNzPSJ0d2VldC1yZXBseSB0d2VldC1wb3B1cCIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/aW5fcmVwbHlfdG89Jy4kcm93LT5pZC4nIiB0YXJnZXQ9Il9ibGFuayI+cmVwbHk8L2E+JzsNCgkJCSRyb3ctPnJldHdlZXRfbGluayA9ICc8YSBjbGFzcz0idHdlZXQtcnQgdHdlZXQtcG9wdXAiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3JldHdlZXQ/dHdlZXRfaWQ9Jy4kcm93LT5pZC4nIiB0YXJnZXQ9Il9ibGFuayI+cmV0d2VldDwvYT4nOw0KCQkJJHJvdy0+ZmF2b3JpdGVfbGluayA9ICc8YSBjbGFzcz0idHdlZXQtZmF2IHR3ZWV0LXBvcHVwIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC9mYXZvcml0ZT90d2VldF9pZD0nLiRyb3ctPmlkLiciIHRhcmdldD0iX2JsYW5rIj5mYXZvcml0ZTwvYT4nOw0KCQkJDQoJCQkkcm93LT5yZXBseV9yYXdsaW5rID0gImh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P2luX3JlcGx5X3RvPSIuJHJvdy0+aWQ7DQoJCQkkcm93LT5yZXR3ZWV0X3Jhd2xpbmsgPSAiaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvcmV0d2VldD90d2VldF9pZD0iLiRyb3ctPmlkOw0KCQkJJHJvdy0+ZmF2b3JpdGVfcmF3bGluayA9ICJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC9mYXZvcml0ZT90d2VldF9pZD0iLiRyb3ctPmlkOw0KCQkJDQoJCQkkZW50cnlzW10gPSAkcm93Ow0KCQl9DQoJCXJldHVybiAkZW50cnlzOw0KCX0NCgkNCgkvKioNCgkgKiANCgkgKiBIb2x0IGRpZSBpZCBkZXMgbGV0enRlbiBUd2VldHMNCgkgKiBAcGFyYW0gJGhhc2gNCgkgKiByZXR1cm4gc3RyaW5nIA0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0TGFzdFR3ZWV0KCRoYXNoKQ0KCXsNCgkJcmV0dXJuIHNlbGY6OmdldERiKCktPkdldE9uZSgnc2VsZWN0IGlkIGZyb20gJyAuY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3R3IHdoZXJlIGhhc2ggPSA/IG9yZGVyIGJ5IHR3ZGF0ZSBkZXNjIixhcnJheSgkaGFzaCkpOw0KCX0NCgkNCgkNCgkvKioNCgkgKiANCgkgKiBCZXJlaXRldCBkZW4gVHdpdHRlcmZlZWQgYXVmDQoJICogQHBhcmFtICRoYXNoIC0gSGFzaCBkZXIgQWJmcmFnZQ0KCSAqIEBwYXJhbSAkdXJsIC0gVVJMIGRlciBUd2l0dGVyYXBpDQoJICogQHBhcmFtICRjb3VudCAtIEFuemFobCBkZXIgVHdlZXRzDQoJICogQHBhcmFtICRjYWNoZXRpbWUgLSBaZWl0IGluIFNla3VuZGVuIG5hY2ggZGVuZW4gZGllIFN1Y2hlIGFrdHVhbGlzaWVydCB3aXJkDQoJICogQHJldHVybiBhcnJheQ0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VHdpdHRlclN0cmVhbSgkaGFzaCwgJHVybCwgJGNvdW50LCAkY2FjaGV0aW1lKQ0KCXsNCgkJJGxhc3R1cGRhdGUgPSBzZWxmOjpnZXREYigpLT5HZXRPbmUoJ3NlbGVjdCB0aW1lc3RhbXAgZnJvbSAnIC5jbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX3Rvb2xib3hfdHd1cGRhdGUgd2hlcmUgaGFzaCA9ID8nLGFycmF5KCRoYXNoKSk7DQoNCgkJJG5vdyA9IGRhdGUoIlktbS1kIEg6aTpzIik7DQoJCQ0KCQkvL3NlbGY6OmxvZygiZ2V0VHdpdHRlclN0cmVhbSAtIGNhY2hldGltZSA9ICIgLiRjYWNoZXRpbWUpOw0KCQkvL3NlbGY6OmxvZygiZ2V0VHdpdHRlclN0cmVhbSAtIGxhc3R1cGRhdGUgPSAiIC4kbGFzdHVwZGF0ZSk7DQoJCS8vc2VsZjo6bG9nKCJnZXRUd2l0dGVyU3RyZWFtIC0gbm93ID0gIiAuJG5vdyk7DQoJCS8vc2VsZjo6bG9nKCJnZXRUd2l0dGVyU3RyZWFtIC0gZ2V0U2Vjb25kQmV0d2VlbkRhdGUgPSAiIC5zZWxmOjpnZXRTZWNvbmRCZXR3ZWVuRGF0ZSgkbGFzdHVwZGF0ZSwgJG5vdykpOw0KCQkNCgkJaWYgKCEkbGFzdHVwZGF0ZSBvciBzZWxmOjpnZXRTZWNvbmRCZXR3ZWVuRGF0ZSgkbGFzdHVwZGF0ZSwgJG5vdykgPiAkY2FjaGV0aW1lICkgew0KCQkgCSRqc29uID0gc2VsZjo6ZmV0Y2hGZWVkKCR1cmwpOw0KCQkgCS8vc2VsZjo6bG9nKCJnZXRUd2l0dGVyU3RyZWFtIC0ganNvbiBnZWhvbHQgdXJsID0gIiAuJHVybCk7DQoJCSAJc2VsZjo6c3RvcmVEYXRhKCRqc29uLCAkaGFzaCk7DQoJCX0NCgkJCQ0KCQlyZXR1cm4gc2VsZjo6Z2V0RmVlZEZyb21EYigkaGFzaCwgJGNvdW50LCAkZGF0ZWZvcm1hdCk7CQ0KCX0NCgkNCgkNCgkNCgkNCgkvKioNCgkgKiANCgkgKiBXZXJ0ZXQgZGVuIFR3aXR0ZXJmZWVkIGF1cyB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjaw0KCSAqIEBwYXJhbSBqc29uIGFycmF5ICRqc29uDQoJICogQHJldHVybiBhcnJheQ0KCSAqLw0KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gc3RvcmVEYXRhKCRqc29uLCRoYXNoKQ0KCXsNCgkJaWYgKGlzc2V0KCRqc29uLT5lcnJvcikpIHsNCgkJCS8vc2VsZjo6bG9nKCJzdG9yZURhdGEgLSBqc29uLT5lcnJvciA9ICIgLiAkanNvbi0+ZXJyb3IpOwkJCQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkkZW50cnlzID0gYXJyYXkoKTsNCgkJDQoJCSRpc1NlYXJjaD0gaXNzZXQoJGpzb24tPnF1ZXJ5KSA/IHRydWUgOiBmYWxzZTsNCgkJJGpzb25hcnJheSA9ICRpc1NlYXJjaCA/ICRqc29uLT5yZXN1bHRzIDogJGpzb247DQoJCQ0KCQkNCgkJZm9yZWFjaCgkanNvbmFycmF5IGFzICRrZXkgPT4gJGl0ZW0pIHsNCgkJCSRyb3cgPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCQ0KCQkJaWYgKCRpc1NlYXJjaCkgew0KCQkJCSRyb3ctPmlkID0gJGl0ZW0tPmlkX3N0cjsNCgkJCQlpZiAoc2VsZjo6Z2V0RGIoKS0+R2V0T25lKCdzZWxlY3QgaWQgZnJvbSAnIC5jbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX3Rvb2xib3hfdHcgd2hlcmUgaWQgPSA/IGFuZCBoYXNoPT8nLGFycmF5KCRyb3ctPmlkLCRoYXNoKSkpIGNvbnRpbnVlOyANCgkJCQ0KCQkJCSRyb3ctPnRleHQgPSAkaXRlbS0+dGV4dDsNCgkJCQkkcm93LT5kYXRlID0gZ21kYXRlKCdZLW0tZCBIOmk6cycsIHN0cnRvdGltZSgkaXRlbS0+Y3JlYXRlZF9hdCkpOw0KCQkJCSRyb3ctPmNyZWF0ZWRfYXQgPSAgJGl0ZW0tPmNyZWF0ZWRfYXQ7DQoJCQkJJHJvdy0+aW1nX3VybCA9ICRpdGVtLT5wcm9maWxlX2ltYWdlX3VybDsNCgkJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJGl0ZW0tPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzOw0KCQkJCSRyb3ctPnNjcmVlbm5hbWUgPSAkaXRlbS0+ZnJvbV91c2VyOw0KCQkJCSRyb3ctPmF1dGhvciA9ICRpdGVtLT5mcm9tX3VzZXJfbmFtZTsNCgkJCQkkcm93LT5zY3JlZW5uYW1lX3VybCA9ICdodHRwOi8vdHdpdHRlci5jb20vJy4kaXRlbS0+ZnJvbV91c2VyOw0KCQkJCSRyb3ctPnNvdXJjZSA9ICRpdGVtLT5zb3VyY2U7DQoJCQkJJHJvdy0+bG9jYXRpb24gPSAiIjsNCgkJCQkkcm93LT5yZXR3ZWV0X2NvdW50ID0gIiI7DQoJCQkJJHJvdy0+ZmF2b3JpdGVkID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9hdXRob3IgPSAiIjsNCgkJCQkkcm93LT5yZXR3ZWV0X2lkID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9kYXRlID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF90ZXh0ID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF91c2VyX2lkID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9pbWdfdXJsID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9pbWdfdXJsX2h0dHBzID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF91c2VyaWQgPSAiIjsNCgkJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICIiOw0KCQkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZSA9ICIiOw0KCQkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZV91cmwgPSAiIjsNCgkJCQkkcm93LT5yZXR3ZWV0X2xvY2F0aW9uID0gIiI7DQoJCQkJJHJvdy0+cmV0d2VldF9zb3VyY2UgPSAiIjsNCgkJCX0NCgkJCWVsc2Ugew0KCQkJCSRyb3ctPmlkID0gJGl0ZW0tPmlkX3N0cjsNCgkJCQlpZiAoc2VsZjo6Z2V0RGIoKS0+R2V0T25lKCdzZWxlY3QgaWQgZnJvbSAnIC5jbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX3Rvb2xib3hfdHcgd2hlcmUgaWQgPSA/IGFuZCBoYXNoPT8nLGFycmF5KCRyb3ctPmlkLCRoYXNoKSkpIGNvbnRpbnVlOyANCgkJCQkNCgkJCQkkcm93LT5jcmVhdGVkX2F0ID0gICRpdGVtLT5jcmVhdGVkX2F0Ow0KCQkJCSRyb3ctPmRhdGUgPSAgZ21kYXRlKCdZLW0tZCBIOmk6cycsIHN0cnRvdGltZSgkaXRlbS0+Y3JlYXRlZF9hdCkpOw0KCQkJCSRyb3ctPnRleHQgPSAkaXRlbS0+dGV4dDsNCgkJCQkkcm93LT51c2VyaWQgPSAkaXRlbS0+dXNlci0+aWQ7DQoJCQkJJHJvdy0+aW1nX3VybCA9ICRpdGVtLT51c2VyLT5wcm9maWxlX2ltYWdlX3VybDsNCgkJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJGl0ZW0tPnVzZXItPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzOw0KCQkJCSRyb3ctPmF1dGhvciA9ICRpdGVtLT51c2VyLT5uYW1lOw0KCQkJCSRyb3ctPnNjcmVlbm5hbWUgPSAkaXRlbS0+dXNlci0+c2NyZWVuX25hbWU7DQoJCQkJJHJvdy0+c2NyZWVubmFtZV91cmwgPSAnaHR0cDovL3R3aXR0ZXIuY29tLycuJGl0ZW0tPnVzZXItPnNjcmVlbl9uYW1lOw0KCQkJCSRyb3ctPnNvdXJjZSA9ICRpdGVtLT5zb3VyY2U7DQoJCQkJJHJvdy0+bG9jYXRpb24gPSAkaXRlbS0+dXNlci0+bG9jYXRpb247DQoJCQkJJHJvdy0+cmV0d2VldF9jb3VudCA9ICRpdGVtLT5yZXR3ZWV0X2NvdW50Ow0KCQkJCSRyb3ctPmZhdm9yaXRlZCA9ICRpdGVtLT5mYXZvcml0ZWQ7DQoJCQkJDQoJCQkJLy8gUmV0d2VldDogSW5mb3MgZGVzIE9yaWdpbmFsdHdlZXRzIGFiZsO8bGxlbg0KCQkJCSRyb3ctPnJldHdlZXRfaWQgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+aWRfc3RyKSA/ICRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT5pZF9zdHIgOiAnJzsNCgkJCQkkcm93LT5yZXR3ZWV0X2RhdGUgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+Y3JlYXRlX2F0KSA/IGdtZGF0ZSgnWS1tLWQgSDppOnMnLCBzdHJ0b3RpbWUoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPmNyZWF0ZWRfYXQpKSA6ICcnOw0KCQkJCSRyb3ctPnJldHdlZXRfdGV4dCA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT50ZXh0KSA/ICRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT50ZXh0IDogJyc7DQoJCQkJJHJvdy0+cmV0d2VldF91c2VyX2lkID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPmlkKSA/ICRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5pZCA6ICcnOw0KCQkJCSRyb3ctPnJldHdlZXRfaW1nX3VybCA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5wcm9maWxlX2ltYWdlX3VybCkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmwgOiAnJzsNCgkJCQkkcm93LT5yZXR3ZWV0X2ltZ191cmxfaHR0cHMgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmxfaHR0cHMpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzIDogJyc7DQoJCQkJJHJvdy0+cmV0d2VldF91c2VyaWQgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+aWQpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPmlkIDogJyc7DQoJCQkJJHJvdy0+cmV0d2VldF9hdXRob3IgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+bmFtZSkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+bmFtZSA6ICcnOw0KCQkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZSA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5zY3JlZW5fbmFtZSkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+c2NyZWVuX25hbWUgOiAnJzsNCgkJCQkkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWVfdXJsID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPnNjcmVlbl9uYW1lKSA/ICdodHRwOi8vdHdpdHRlci5jb20vJy4kaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+c2NyZWVuX25hbWUgOiAnJzsNCgkJCQkkcm93LT5yZXR3ZWV0X2xvY2F0aW9uID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPmxvY2F0aW9uKSA/ICRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5sb2NhdGlvbiA6ICcnOw0KCQkJCSRyb3ctPnJldHdlZXRfc291cmNlID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnNvdXJjZSkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+c291cmNlIDogJyc7DQoJCQl9DQoJCQ0KCQkJJHJvdy0+anNvbmRhdGEgPSAkaXRlbTsNCgkJCQ0KCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdHcNCgkJCQkJKGhhc2gsIGlkLCBjcmVhdGVkX2F0LCB0d2RhdGUsIHVzZXJpZCwgc2NyZWVubmFtZSwgc2NyZWVubmFtZV91cmwsIGltZ191cmwsIGltZ191cmxfaHR0cHMsIGF1dGhvciwgc291cmNlLCBsb2NhdGlvbiwgdGV4dCwgcmV0d2VldF9jb3VudCwgZmF2b3JpdGVkLCANCgkJCQkJcmV0d2VldF9pZCxyZXR3ZWV0X3R3ZGF0ZSwgcmV0d2VldF91c2VyaWQscmV0d2VldF9zY3JlZW5uYW1lLCByZXR3ZWV0X3NjcmVlbm5hbWVfdXJsLHJldHdlZXRfYXV0aG9yLCByZXR3ZWV0X2ltZ191cmwsDQoJCQkJCXJldHdlZXRfaW1nX2h0dHBzLHJldHdlZXRfc291cmNlLCByZXR3ZWV0X2xvY2F0aW9uLHJldHdlZXRfdGV4dCxqc29uZGF0YSkNCgkJCQkJVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPykiOw0KCQkJJGRhdGFhcnJheSA9IGFycmF5KCRoYXNoLCRyb3ctPmlkLCAkcm93LT5jcmVhdGVkX2F0LCAkcm93LT5kYXRlLCAkcm93LT51c2VyaWQsICRyb3ctPnNjcmVlbm5hbWUsICRyb3ctPnNjcmVlbm5hbWVfdXJsLCAkcm93LT5pbWdfdXJsLCAkcm93LT5pbWdfdXJsX2h0dHBzLCANCgkJCQkJCQkgICAkcm93LT5hdXRob3IsICRyb3ctPnNvdXJjZSwgJHJvdy0+bG9jYXRpb24sICRyb3ctPnRleHQsJHJvdy0+cmV0d2VldF9jb3VudCwgJHJvdy0+ZmF2b3JpdGVkLCAkcm93LT5yZXR3ZWV0X2lkLCANCgkJCQkJCQkgICAkcm93LT5yZXR3ZWV0X2RhdGUsJHJvdy0+cmV0d2VldF91c2VyaWQsJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lLCAkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWVfdXJsLCAgJHJvdy0+cmV0d2VldF9hdXRob3IsICRyb3ctPnJldHdlZXRfaW1nX3VybCwgJHJvdy0+cmV0d2VldF9pbWdfdXJsX2h0dHBzLCANCgkJCQkJCQkgICAkcm93LT5yZXR3ZWV0X3NvdXJjZSwkcm93LT5yZXR3ZWV0X2xvY2F0aW9uLCRyb3ctPnJldHdlZXRfdGV4dCwgYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHJvdy0+anNvbmRhdGEpKSk7DQoJCQkNCgkJCSRyZXN1bHQgPSBzZWxmOjpnZXREYigpLT5FeGVjdXRlKCRxdWVyeSwgJGRhdGFhcnJheSk7DQoJCQkNCgkJCWlmKCEkcmVzdWx0KSB7DQoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignc3RvcmVEYXRhKCkgLSBTUUwgRVJST1I6ICcgLiBzZWxmOjpnZXREYigpLT5FcnJvck1zZygpIC4gJygnIC4gc2VsZjo6Z2V0RGIoKS0+c3FsIC4gJyknKTsNCgkJCX0NCgkJfQ0KCQkNCgkJJHRpbWVzdGFtcCA9IGRhdGUoIlktbS1kIEg6aTpzIik7DQoJCQkNCgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdHd1cGRhdGUgKGhhc2gsIHRpbWVzdGFtcCkgdmFsdWVzICgnIi4kaGFzaC4iJywnIi4kdGltZXN0YW1wLiInKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBoYXNoID0gJyIuJGhhc2guIicsIHRpbWVzdGFtcCA9ICciLiR0aW1lc3RhbXAuIiciOw0KCQlzZWxmOjpnZXREYigpLT5FeGVjdXRlKCRxdWVyeSk7DQoJCQ0KCX0NCgkNCi8qKg0KCSAqIA0KCSAqIFdlcnRldCBkZW4gU2VhcmNoZmVlZCBhdXMgdW5kIGdpYnQgaW4gYWxzIHN0ZENsYXNzIEFycmF5IHp1csO8Y2sNCgkgKiBAcGFyYW0ganNvbiBhcnJheSAkanNvbg0KCSAqIEByZXR1cm4gYXJyYXkNCgkgKi8NCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGZldGNoU2VhcmNoRGF0YUFycmF5KCRqc29uKQ0KCXsNCgkJaWYgKGlzc2V0KCRqc29uLT5lcnJvcikpIHJldHVybiBmYWxzZTsNCgkJDQoJCSRlbnRyeXMgPSBhcnJheSgpOw0KCQkNCgkJZm9yZWFjaCgkanNvbi0+cmVzdWx0cyBhcyAka2V5ID0+ICRpdGVtKSB7DQoJCQkkcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoJCQlpZiAoc2VsZjo6JF9wYXJzZUxpbmtzKQkkcm93LT50ZXh0ID0gc2VsZjo6cGFyc2VUd2l0dGVybGlua3MoJGl0ZW0tPnRleHQpOw0KCQkJZWxzZQkJCQkJJHJvdy0+dGV4dCA9ICRpdGVtLT50ZXh0Ow0KCQkJCQ0KCQkJJHJvdy0+ZGF0ZSA9IHNlbGY6OnBhcnNlRGF0ZSgkaXRlbS0+Y3JlYXRlZF9hdCwgc2VsZjo6JF9kYXRlZm9ybWF0KTsNCgkJCSRyb3ctPmltZ191cmwgPSAkaXRlbS0+cHJvZmlsZV9pbWFnZV91cmw7DQoJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJGl0ZW0tPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzOw0KCQkJJHJvdy0+c2NyZWVubmFtZSA9ICRpdGVtLT5mcm9tX3VzZXI7DQoJCQkkcm93LT5hdXRob3IgPSAkaXRlbS0+ZnJvbV91c2VyX25hbWU7DQoJCQkkcm93LT5zY3JlZW5uYW1lX3VybCA9ICdodHRwOi8vdHdpdHRlci5jb20vJy4kaXRlbS0+ZnJvbV91c2VyOw0KCQkJJHJvdy0+c291cmNlID0gJGl0ZW0tPnNvdXJjZTsNCgkJCSRyb3ctPmxvY2F0aW9uID0gIiI7DQoJCQkkcm93LT5yZXR3ZWV0X2NvdW50ID0gIiI7DQoJCQkkcm93LT5mYXZvcml0ZWQgPSAiIjsNCgkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZSA9ICIiOw0KCQkJJHJvdy0+cmV0d2VldF9hdXRob3IgPSAiIjsNCgkJCSRlbnRyeXNbXSA9ICRyb3c7DQoJCX0NCgkJcmV0dXJuICRlbnRyeXM7DQoJfQ0KCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEhvbHQgZGVuIFR3aXR0ZXJmZWVkIGVpbmVzIEJlbnV0emVycyB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjaw0KCSAqIEBwYXJhbSBzdHJpbmcgJHVzZXJuYW1lIC0gVHdpdHRlciBCZW51dHplcm5hbWUNCgkgKiBAcGFyYW0gaW50ICRjb3VudCAtIEFuemFobCBFaW50csOkZ2UNCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRlZm9ybWF0IC0gRGF0dW1zZm9ybWF0DQoJICogQHBhcmFtIGludCAkY2FjaGV0aW1lIC0gWmVpdCBpbiBNaW51dGVuIG5hY2ggd2VsY2hlciBkZXIgRmVlZCBha3R1YWxpc2llcnQgd2lyZA0KCSAqIEByZXR1cm4gYXJyYXkNCgkgKiBAZG9rdSBodHRwczovL2Rldi50d2l0dGVyLmNvbS9kb2NzL2FwaS8xL2dldC9zdGF0dXNlcy91c2VyX3RpbWVsaW5lDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRVc2VyVGltZWxpbmUoJHVzZXJuYW1lLCAkY291bnQgPSAyMCwgJGRhdGVmb3JtYXQgPSAnZnJpZW5kbHknLCAkY2FjaGV0aW1lID0gNSkNCgl7DQoJCSR1c2VybmFtZSA9IHByZWdfcmVwbGFjZSgnL1teQS1aYS16MC05X10vJywnJywgJHVzZXJuYW1lKTsNCgkJJGhhc2ggPSBtZDUoJHVzZXJuYW1lKTsNCgkJaWYgKChpbnQpJGNvdW50IDwgMSkgJGNvdW50ID0gMjA7DQoJCSRjYWNoZXNlY29uZHMgPSAoaW50KSRjYWNoZXRpbWUgPCAxID8gNSAqIDYwIDogJGNhY2hldGltZSAqIDYwOw0KCQkNCgkJJHVybCA9ICdodHRwOi8vYXBpLnR3aXR0ZXIuY29tLzEvc3RhdHVzZXMvdXNlcl90aW1lbGluZS5qc29uP3NjcmVlbl9uYW1lPScuJHVzZXJuYW1lLicmaW5jbHVkZV9ydHM9MSc7DQoJCQ0KCQkkbGFzdHR3ZWV0ID0gc2VsZjo6Z2V0TGFzdFR3ZWV0KCRoYXNoKTsNCgkJDQoJCWlmICghJGxhc3R0d2VldCkgew0KCQkJaWYgKCRjb3VudCA+IDUwKQkkdXJsIC49ICcmY291bnQ9Jy4kY291bnQ7DQoJCQllbHNlCQkJCSR1cmwgLj0gJyZjb3VudD01MCc7DQoJCX0JDQoJCWVsc2UgCQkJCQkkdXJsIC49ICcmc2luY2VfaWQ9Jy4kbGFzdHR3ZWV0Ow0KCQkNCgkJJGZlZWQgPSBzZWxmOjpnZXRUd2l0dGVyU3RyZWFtKCRoYXNoLCAkdXJsLCAkY291bnQsICRjYWNoZXNlY29uZHMpOw0KCQkNCgkJcmV0dXJuICRmZWVkOw0KCX0NCgkNCgkvKioNCgkgKiANCgkgKiBIb2x0IGRlbiBUd2l0dGVyZmVlZCBlaW5lciBMaXN0ZSBlaW5lcyBCZW51dHplciB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjaw0KCSAqIEBwYXJhbSBzdHJpbmcgJHNlYXJjaCAtIFN1Y2hiZWdyaWZmDQoJICogQHBhcmFtIHN0cmluZyBsaXN0IC0gTmFtZSBkZXIgTGlzdGUNCgkgKiBAcGFyYW0gaW50ICRjb3VudCAtIEFuemFobCBFaW50csOkZ2UNCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRlZm9ybWF0IC0gRGF0dW1zZm9ybWF0DQoJICogQHBhcmFtIGludCAkY2FjaGV0aW1lIC0gWmVpdCBpbiBNaW51dGVuIG5hY2ggd2VsY2hlciBkZXIgRmVlZCBha3R1YWxpc2llcnQgd2lyZA0KCSAqIEByZXR1cm4gYXJyYXkNCgkgKiBAZG9rdSBodHRwczovL2Rldi50d2l0dGVyLmNvbS9kb2NzL2FwaS8xL2dldC9saXN0cy9zdGF0dXNlcw0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VXNlckxpc3QgKCR1c2VybmFtZSwgJGxpc3QsICRjb3VudCA9IDIwLCAkZGF0ZWZvcm1hdCA9ICdmcmllbmRseScsICRjYWNoZXRpbWUgPSA1KQ0KCXsNCgkJJHVzZXJuYW1lID0gcHJlZ19yZXBsYWNlKCcvW15BLVphLXowLTlfXS8nLCcnLCAkdXNlcm5hbWUpOw0KCQkkbGlzdCA9IHByZWdfcmVwbGFjZSgnL1teQS1aYS16MC05X10vJywnJywgJGxpc3QpOw0KCQkkaGFzaCA9IG1kNSgkdXNlcm5hbWUuJGxpc3QpOw0KCQlpZiAoKGludCkkY291bnQgPCAxKSAkY291bnQgPSAyMDsNCgkJJGNhY2hlc2Vjb25kcyA9IChpbnQpJGNhY2hldGltZSA8IDEgPyA1ICogNjAgOiAkY2FjaGV0aW1lICogNjA7DQoJCQ0KCQkkdXJsID0gJ2h0dHA6Ly9hcGkudHdpdHRlci5jb20vMS9saXN0cy9zdGF0dXNlcy5qc29uP3NsdWc9Jy4kbGlzdC4nJm93bmVyX3NjcmVlbl9uYW1lPScuJHVzZXJuYW1lLicmaW5jbHVkZV9ydHM9MSZpbmNsdWRlX2VudGl0aWVzPXRydWUmcGFnZT0xJzsNCgkJDQoJCSRsYXN0dHdlZXQgPSBzZWxmOjpnZXRMYXN0VHdlZXQoJGhhc2gpOw0KCQkNCgkJaWYgKCEkbGFzdHR3ZWV0KSB7DQoJCQlpZiAoJGNvdW50ID4gNTApCSR1cmwgLj0gJyZwZXJfcGFnZT0nLiRjb3VudDsNCgkJCWVsc2UJCQkJJHVybCAuPSAnJnBlcl9wYWdlPTUwJzsNCgkJfQkNCgkJZWxzZSAJCQkJCSR1cmwgLj0gJyZzaW5jZV9pZD0nLiRsYXN0dHdlZXQ7DQoJCQ0KCQkNCgkJJGZlZWQgPSBzZWxmOjpnZXRUd2l0dGVyU3RyZWFtKCRoYXNoLCAkdXJsLCAkY291bnQsICRjYWNoZXNlY29uZHMpOw0KCQkNCgkJcmV0dXJuICRmZWVkOw0KCQkNCgl9CQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEhvbHQgZGVuIFNlYXJjaGZlZWQgenUgZWluZW0gZGVmaW5pZXJ0ZW4gU3VjaHdvcnQgYWxzIHN0ZENsYXNzIEFycmF5IHp1csO8Y2sNCgkgKiBAcGFyYW0gc3RyaW5nICRzZWFyY2ggLSBTdWNoYmVncmlmZg0KCSAqIEBwYXJhbSBpbnQgJGNvdW50IC0gQW56YWhsIEVpbnRyw6RnZQ0KCSAqIEBwYXJhbSBzdHJpbmcgJGRhdGVmb3JtYXQgLSBEYXR1bXNmb3JtYXQNCgkgKiBAcGFyYW0gYm9vbCAkcGFyc2VMaW5rcyAtIExpbmtzIGF1c3dlcnRlbg0KCSAqIEBwYXJhbSBib29sICRydHMgLSBSVFMNCgkgKiBAcmV0dXJuIGFycmF5DQoJICogQGRva3UgaHR0cHM6Ly9kZXYudHdpdHRlci5jb20vZG9jcy9hcGkvMS9nZXQvc2VhcmNoDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRTZWFyY2hGZWVkICgkc2VhcmNoLCAkY291bnQgPSAyMCwgJGRhdGVmb3JtYXQgPSAnZnJpZW5kbHknLCAkY2FjaGV0aW1lID0gNSkNCgl7DQoJCSRjb3VudCA9ICRjb3VudCA+IDAgPyAoaW50KSAkY291bnQ6IDEwOw0KCQkkaGFzaCA9IG1kNSgkc2VhcmNoKTsNCgkJaWYgKChpbnQpJGNvdW50IDwgMSkgJGNvdW50ID0gMjA7DQoJCSRjYWNoZXNlY29uZHMgPSAoaW50KSRjYWNoZXRpbWUgPCAxID8gNSAqIDYwIDogJGNhY2hldGltZSAqIDYwOw0KCQkNCgkJJHVybCA9ICdodHRwOi8vc2VhcmNoLnR3aXR0ZXIuY29tL3NlYXJjaC5qc29uP3E9Jy51cmxlbmNvZGUoJHNlYXJjaCkuJyZycHA9Jy4kY291bnQuJyZwYWdlPTEmaW5jbHVkZV9lbnRpdGllcz0xJzsNCgkJDQoJCSRsYXN0dHdlZXQgPSBzZWxmOjpnZXRMYXN0VHdlZXQoJGhhc2gpOw0KCQlpZiAoJGxhc3R0d2VldCkJJHVybCAuPSAnJnNpbmNlX2lkPScuJGxhc3R0d2VldDsNCgkJDQoJCSRmZWVkID0gc2VsZjo6Z2V0VHdpdHRlclN0cmVhbSgkaGFzaCwgJHVybCwgJGNvdW50LCAkY2FjaGVzZWNvbmRzKTsNCgkJDQoJCXJldHVybiAkZmVlZDsNCgl9DQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbUtils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogCQlUb29sQm94DQojIENsYXNzOiAgCQl0YlV0aWxzDQojIEF1dGhvcjogCQlibGF0dGVydGVjaCBpbmZvcm1hdGlrIC0gTHVrYXMgQmxhdHRlciAtIHd3dy5ibGF0dGVydGVjaC5jaA0KIyBFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gNCiMgQ29weXJpZ2h0OiAJYmxhdHRlcnRlY2ggaW5mb3JtYXRpayAtIEx1a2FzIEJsYXR0ZXIgLSB3d3cuYmxhdHRlcnRlY2guY2gNCiMgTGljZW5jZToJCUdQTCAyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgdGJVdGlscw0Kew0KCXN0YXRpYyBwcml2YXRlICRlcnJvcnMgPSBhcnJheSgpOw0KCXN0YXRpYyBwcml2YXRlICR0YjsNCgkNCgkNCglwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQ0KDQoJLyoqDQoJICogDQoJICogZ2V0IENsYXNzIGVycm9ycw0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBmaW5hbA0KCSAqIEByZXR1cm4gYXJyYXkNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEVycm9ycygpIA0KCXsNCgkJaWYgKGlzc2V0KHNlbGY6OiRlcnJvcnNbMF0pKQ0KCQkJcmV0dXJuIHNlbGY6OiRlcnJvcnNbMF07DQoJCWVsc2UNCgkJCXJldHVybiBzZWxmOjokZXJyb3JzOwkNCgl9DQoJDQoJDQoJLyoqDQoJICogDQoJICogQ2xlYXIgQ2xhc3MgZXJyb3MNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEByZXR1cm4NCgkgKi8NCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBjbGVhckVycm9ycygpDQoJew0KCQlzZWxmOjokZXJyb3JzID0gYXJyYXkoKTsNCgl9DQoJDQoJDQoJLyoqDQoJICogDQoJICogRsO8aHJ0IFNtYXJ0eSBpbSDDvGJlcmdlYmVuZW4gU3RyaW5nIGF1cy4gU21hcnR5IGlzdCBtaXQgW1tyb290X3VybF1dIG1hc2tpZXJ0DQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCgkgKiBAcmV0dXJuIHN0cmluZyAoVGVtcGxhdGUgbWl0IGF1c2dlZsO8aHJ0ZW0gU21hcnR5KQ0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCRzdHJpbmcpIHsNCg0KCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQoJCSRzbWFydHktPmxlZnRfZGVsaW1pdGVyID0gJ1tbJzsNCgkJJHNtYXJ0eS0+cmlnaHRfZGVsaW1pdGVyID0gJ11dJzsNCgkJDQoJCWlmICh2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sJzEuMTEnKSA+PSAwICkgew0KCQkJJHRlbXBsYXRlID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiRzdHJpbmcpOw0KCQl9DQoJCWVsc2Ugew0KCQkJJHNtYXJ0eS0+X2NvbXBpbGVfc291cmNlKCd0YlN0eWxlc2hlZXQ6Y29tYmluZWQnLCAkc3RyaW5nLCAkX2NvbXBpbGVkICk7DQoJCQlAb2Jfc3RhcnQoKTsNCgkJCSRzbWFydHktPl9ldmFsKCc/PicgLiAkX2NvbXBpbGVkKTsNCgkJCSR0ZW1wbGF0ZSA9IEBvYl9nZXRfY29udGVudHMoKTsNCgkJCUBvYl9lbmRfY2xlYW4oKTsNCgkJfQ0KCQkNCgkJJHNtYXJ0eS0+bGVmdF9kZWxpbWl0ZXIgPSAneyc7DQoJCSRzbWFydHktPnJpZ2h0X2RlbGltaXRlciA9ICd9JzsNCgkJDQoJCXJldHVybiAkdGVtcGxhdGU7DQoJfQkJCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEhvbHQgZGllIFRlbXBsYXRlIFByb3BlcnR5cyBhdXMgZGVyIFRhYmVsbGUgdW5kIGdpYnQgc2llIGFscyBBcnJheSB6dXLDvGNrDQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCgkgKiBAcGFyYW0gJHRlbXBsYXRlIC0gTmFtZSBkZXMgVGVtcGxhdGVzDQoJICogQHJldHVybiBhcnJheSAvIGZhbHNlDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSkNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKg0KCQkJCUZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzDQoJCQkJV0hFUkUgdGVtcGxhdGU9PyBPUiB0ZW1wbGF0ZWlkPT8iOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRlbXBsYXRlLCAkdGVtcGxhdGUpKTsNCgkNCgkJaWYoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQl7DQoJCQkkb3V0cHV0ID0gJHJlc3VsdC0+RmV0Y2hSb3coKTsNCgkJfQ0KCQkNCgkJaWYgKCFpc3NldCgkb3V0cHV0KSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJaWYgKHNlbGY6OmlzX3NlcmlhbGl6ZWQoJG91dHB1dFsnb3B0aW9ucyddKSkgew0KCQkJJG91dHB1dFsnb3B0aW9ucyddID0gdW5zZXJpYWxpemUoJG91dHB1dFsnb3B0aW9ucyddKTsNCgkJCWlmIChpc19hcnJheSgkb3V0cHV0WydvcHRpb25zJ10pIGFuZCAhZW1wdHkoJG91dHB1dFsnb3B0aW9ucyddKSkgew0KCQkJCSRvdXRwdXQgPSBhcnJheV9tZXJnZSgkb3V0cHV0LCAkb3V0cHV0WydvcHRpb25zJ10pOw0KCQkJfQ0KCQl9IA0KCQkNCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIFNhdmUgVGVtcGxhdGVwcm9wcw0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtIHN0cmluZyAkdGVtcGxhdGUgLSB0ZW1wbGF0ZSBuYW1lDQoJICogQHBhcmFtIGFycmF5ICRwYXJhbXMgLSBQYXJhbXMgbGlrZSAkcGFyYW1zW10gd2l0aCB0ZW1wbGF0ZXByb3BzDQoJICogQHBhcmFtIGFycmF5ICRvcHRpb25zIC0gT3B0aW9uLUFycmF5DQoJICogQHJldHVybiBib29sZWFuDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBzYXZlVGVtcGxhdGVQcm9wcygkdGVtcGxhdGUsJHBhcmFtcywkb3B0aW9ucyA9IGFycmF5KCkpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkkc2VjdGlvbiAJPSBpc3NldCgkcGFyYW1zWydzZWN0aW9uJ10pIAk/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7DQoJCSR0cGxzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1sndHBsc2VjdGlvbiddKSAJPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndHBsc2VjdGlvbiddKSA6ICcnOw0KCQkkdmVyc2lvbiAJPSBpc3NldCgkcGFyYW1zWyd2ZXJzaW9uJ10pCQk/ICRwYXJhbXNbJ3ZlcnNpb24nXQkJCTogJyc7DQoJCSRhYm91dAkgCT0gaXNzZXQoJHBhcmFtc1snYWJvdXQnXSkgCQk/ICRwYXJhbXNbJ2Fib3V0J10JCQkJOiAnJzsNCgkJJGpxdWVyeQkgCT0gaXNzZXQoJHBhcmFtc1snanF1ZXJ5J10pCQk/IChpbnQpICRwYXJhbXNbJ2pxdWVyeSddCQk6ICcnOw0KCQkkanF1ZXJ5X293bgk9IGlzc2V0KCRwYXJhbXNbJ2pxdWVyeV9vd24nXSkJPyAoaW50KSAkcGFyYW1zWydqcXVlcnlfb3duJ10JOiAnJzsNCg0KCQlpZiAoIXNlbGY6OmlzX3NlcmlhbGl6ZWQoJG9wdGlvbnMpKSAkb3B0aW9ucyA9IHNlcmlhbGl6ZSgkb3B0aW9ucyk7DQoJCQ0KCQkkdGVtcGxhdGVwcm9wcyA9IHNlbGY6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsNCgkJDQoJCS8vIHNhdmUgdGVtcGxhdGVwcm9wZXJ0aWVzIGluIGRhdGFiYXNlDQoJCWlmICggJHRlbXBsYXRlcHJvcHMgKSB7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcw0KCQkJCQlTRVQgdmVyc2lvbj0/LGFib3V0PT8sc2VjdGlvbj0/LHRwbHNlY3Rpb249PyxqcXVlcnk9PyxqcXVlcnlfb3duPT8sb3B0aW9ucz0/DQoJCQkJCVdIRVJFIHRlbXBsYXRlaWQ9PyI7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHZlcnNpb24sICRhYm91dCwgJHNlY3Rpb24sICR0cGxzZWN0aW9uLCAkanF1ZXJ5LCAkanF1ZXJ5X293biwgJG9wdGlvbnMsICR0ZW1wbGF0ZXByb3BzWyd0ZW1wbGF0ZWlkJ10pKTsNCgkJCWlmKCEkcmVzdWx0KSB7DQoJCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICcnLCAnYWRkaXRpb25hbCcgPT4gICdTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnKCcgLiAkZGItPnNxbCAuICcpJykgOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfQ0KCQllbHNlIHsNCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMNCgkJCQkJKHRlbXBsYXRlLHZlcnNpb24sYWJvdXQsc2VjdGlvbix0cGxzZWN0aW9uLGpxdWVyeSxqcXVlcnlfb3duLG9wdGlvbnMsdmlzaWJsZSkNCgkJCQkJVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPykiOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0ZW1wbGF0ZSwgJHZlcnNpb24sICRhYm91dCwgJHNlY3Rpb24sICR0cGxzZWN0aW9uLCAkanF1ZXJ5LCAkanF1ZXJ5X293biwgJG9wdGlvbnMsIDEpKTsNCgkJCWlmKCEkcmVzdWx0KSB7DQoJCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICcnLCAnYWRkaXRpb25hbCcgPT4gICdTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnKCcgLiAkZGItPnNxbCAuICcpJykgOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEdlbmVyaWVydCBkYXMgVGVtcGxhdGUtT2JqZWt0IHp1ciBBdWZsaXN0dW5nIGFsbGVyIFRlbXBsYXRlcw0KCSAqIEBwYXJhbSBvYmplY3QgJG1vZHVsZQ0KCSAqIEBwYXJhbSBzdHJpbmcgJHNlY3Rpb24gLSBUb29sQm94IFNlY3Rpb24NCgkgKiBAcGFyYW0gc3RyaW5nICR0cGxzZWN0aW9uIC0gVGVtcGxhdGUgU2VjdGlvbjogU3VtbWFyeSwgRGV0YWlsLCBTZWFyY2gsIGV0Yy4NCgkgKiBAcGFyYW0gc3RyaW5nICR0YWJ0byAtIFRhYiB6dSB3ZWxjaGVtIG5hY2ggZWluZXIgQWt0aW9uIHdpZWRlciBnZXdlY2hzZWx0IHdpcmQNCgkgKiBAcGFyYW0gc3RyaW5nICR0dGFidG8gLSBUYWIgVGFiIHp1IHdlbGNoZW0gZ2V3ZWNoc2VsdCB3aXJkDQoJICovDQoJDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRUcGxMaXN0KCYkbW9kdWxlLCAkc2VjdGlvbiwgJHRwbHNlY3Rpb24sICR0YWJ0bywgJHR0YWJ0byA9ICIiICkgDQoJew0KCQlnbG9iYWwgJGlkOw0KCQlnbG9iYWwgJHJldHVybmlkOw0KCQkNCgkJJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7IC8vICAmICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsNCgkJJGZhbHNlaW1hZ2UxID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCRtb2R1bGUtPkxhbmcgKCdzZXR0cnVlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCgkJJHRydWVpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJCQ0KCQkNCgkJJGFsbHRlbXBsYXRlcyA9ICRtb2R1bGUtPkxpc3RUZW1wbGF0ZXMoKTsNCgkJJGN1cnJlbnRfdGVtcGxhdGUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHNlY3Rpb24uJHRwbHNlY3Rpb24uJ190ZW1wbGF0ZScpOw0KCQkkcm93YXJyYXkgPSBhcnJheSgpOw0KCQkkcm93Y2xhc3MgPSAncm93MSc7DQoJCQkNCgkJZm9yZWFjaCggJGFsbHRlbXBsYXRlcyBhcyAkdHBsICkNCgkJew0KCQkJJHRwbHByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdHBsKTsNCgkJCQ0KCQkJaWYgKCR0cGxwcm9wc1snc2VjdGlvbiddICE9ICRzZWN0aW9uKSBjb250aW51ZTsNCgkJCWlmKCR0cGxwcm9wc1sndHBsc2VjdGlvbiddICE9ICR0cGxzZWN0aW9uKSBjb250aW51ZTsNCgkJCQ0KCQkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOw0KCQkJJHJvdy0+dHBsc2VjdGlvbiA9ICR0cGxwcm9wc1sndHBsc2VjdGlvbiddOw0KCQkJDQoJCQkkcm93LT5uYW1lID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsIHN0cl9yZXBsYWNlKCRtb2R1bGUtPmdldFRwbFRva2VuKCksICIiLCAkdHBsKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pKTsNCgkJCSRyb3ctPnZlcnNpb24gPSAkdHBscHJvcHNbJ3ZlcnNpb24nXTsNCgkJCSRyb3ctPmFib3V0ID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdlZGl0dHBsYWJvdXQnLCAkcmV0dXJuaWQsICRtb2R1bGUtPkxhbmcoJ3Byb21wdF9hYm91dCcpLCBhcnJheSgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J3Nob3cnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bykpOw0KCQkJJHJvdy0+cm93Y2xhc3MgPSAgJHJvd2NsYXNzOw0KCQkJDQoJCQlpZiggJHRwbCA9PSAkY3VycmVudF90ZW1wbGF0ZSkgJHJvdy0+ZGVmYXVsdCA9ICR0cnVlaW1hZ2UxOw0KCQkJZWxzZQ0KCQkJew0KCQkJCSRyb3ctPmRlZmF1bHQgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ3N3aXRjaGRlZmF1bHR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGZhbHNlaW1hZ2UxLA0KCQkJCQkJICAgICAgIGFycmF5KCd0ZW1wbGF0ZSc9PiR0cGwsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvLCAnc2VjdGlvbic9PiRzZWN0aW9uLCAndHBsc2VjdGlvbicgPT4gJHJvdy0+dHBsc2VjdGlvbikpOw0KCQkJfQ0KCQkNCgkJCSRyb3ctPmVkaXRsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkJCQkgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICRtb2R1bGUtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwNCgkJCQkJCSAgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pKTsNCgkJCQ0KCQkJJHJvdy0+Y29weWxpbmsgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkJCSAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywgJG1vZHVsZS0+TGFuZyAoJ2NvcHknKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICd0cGxzZWN0aW9uJyA9PiAkcm93LT50cGxzZWN0aW9uKSk7DQoJCQkNCgkJCWlmKCAkdHBsID09ICRjdXJyZW50X3RlbXBsYXRlKQkkcm93LT5kZWxldGVsaW5rID0gJyZuYnNwOyc7DQoJCQllbHNlDQoJCQl7DQoJCQkJJHJvdy0+ZGVsZXRlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnZG9fZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkJCQkJICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICRtb2R1bGUtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkJCSAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ3RhYnRvJz0+JHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSwgJG1vZHVsZS0+TGFuZygnYXJleW91c3VyZScpKTsNCgkJCX0NCgkJDQoJCQkkcm93LT5leHBvcnQgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2V4cG9ydHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCQkJICAgICc8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy94bWxfcnNzLmdpZiIgYWx0PSJYTUwiIC8+JywNCgkJCQkJCSAgICBhcnJheSgndGVtcGxhdGUnID0+ICR0cGwpKTsNCgkJDQoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCQkJJHJvd2NsYXNzID0JKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOw0KCQkJCQkJICAgIA0KCQl9DQoJCQ0KCQkNCgkJaWYgKCFjb3VudCgkcm93YXJyYXkpKSB7DQoJCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJCQkkcm93LT5uYW1lID0gJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm90ZW1wbGF0ZXMnKTsNCgkJCSRyb3ctPmRlZmF1bHQgPSAiIjsNCgkJCSRyb3ctPmVkaXRsaW5rID0gIiI7DQoJCQkkcm93LT5jb3B5bGluayA9ICIiOw0KCQkJJHJvdy0+ZGVsZXRlbGluayA9ICIiOw0KCQkJJHJvdy0+ZXhwb3J0ID0gIiI7DQoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCQl9DQoJCQ0KCQlyZXR1cm4gJHJvd2FycmF5Ow0KCQkNCgkJDQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEtvbnRyb2xsaWVydCBkZW4gQ1NWIE9yZG5lciwgYWt0dWFsaXNpZXJ0IERCIHVuZCBsaWVmZXJ0IERhdGVuIGFscyBTdGRDbGFzcyBBcnJheSB6dXLDvGNrDQoJICogQHJldHVybiBzdGRDbGFzcyBBcnJheQ0KCSAqLw0KCQ0KCQ0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0Q1NWRmlsZXMoJiRtb2R1bGUsICR0YWJ0bywgJHR0YWJ0byA9ICIiKQ0KCXsNCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkNCgkJJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7IC8vICAmICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsNCgkJJGZhbHNlaW1hZ2UxID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCRtb2R1bGUtPkxhbmcgKCdzZXR0cnVlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCgkJJHRydWVpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoJCQ0KCQkkZGlyID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy91cGxvYWRzL1Rvb2xCb3gvQ1NWJzsNCgkJDQoJCWlmICghaXNfZGlyKCRkaXIpKSBta2RpcigkZGlyLDc3Nyx0cnVlKTsNCgkJDQoJCSRmaWxlcyA9IHNlbGY6OmdldEZvbGRlckZpbGVzKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvdXBsb2Fkcy9Ub29sQm94L2NzdicsICIiLCAiY3N2Iik7DQoJCQ0KCQkkcm93YXJyYXkgPSBhcnJheSgpOw0KCQkkcm93Y2xhc3MgPSAncm93MSc7DQoJCQkNCgkJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpDQoJCXsNCgkJCSRmaWxlaW5mbyA9IHNlbGY6OmdldENTVkZpbGVJbmZvKCRmaWxlWyduYW1lJ10pOw0KCQkJDQoJCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJCQkNCgkJCSRyb3ctPmZpbGVuYW1lID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsIHN0cl9yZXBsYWNlKCRtb2R1bGUtPmdldFRwbFRva2VuKCksICIiLCAkdHBsKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pKTsNCgkJCSRyb3ctPmZpbGVwYXRoID0gIiI7DQoJCQkkcm93LT5maWxlc2l6ZSA9ICIiOw0KCQkJJHJvdy0+bGFzdG1vZCA9ICIiOw0KCQkJDQoJCQkkcm93LT5lZGl0bGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnY3N2ZmlsZWFjdGlvbicsICRyZXR1cm5pZCwNCgkJCQkJCSAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJG1vZHVsZS0+TGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkJICAgIGFycmF5ICgnZmlsZScgPT4gJGZpbGVpbmZvWydmaWxlbnInXSwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7DQoJCQkNCgkJCSRyb3ctPmNvcHlsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdjc3ZmaWxlYWN0aW9uJywgJHJldHVybmlkLA0KCQkJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkbW9kdWxlLT5MYW5nICgnY29weScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksDQoJCQkJCQkgICAgYXJyYXkgKCdmaWxlJyA9PiAkZmlsZWluZm9bJ2ZpbGVuciddLCAnbW9kZSc9Pidjb3B5JywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pKTsNCgkJCQ0KCQkJJHJvdy0+cmVuYW1lbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnY3N2ZmlsZWFjdGlvbicsICRyZXR1cm5pZCwNCgkJCQkJCQkgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJG1vZHVsZS0+TGFuZyAoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksDQoJCQkJCQkJICBhcnJheSAoJ2ZpbGUnID0+ICRmaWxlaW5mb1snZmlsZW5yJ10sICdtb2RlJz0+J3JlbmFtZScsICd0YWJ0byc9PiR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bykpOw0KCQkNCgkJCSRyb3ctPmRlbGV0ZWxpbmsgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2NzdmZpbGVhY3Rpb24nLCAkcmV0dXJuaWQsDQoJCQkJCQkJICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICRtb2R1bGUtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkJCSAgYXJyYXkgKCdmaWxlJyA9PiAkZmlsZWluZm9bJ2ZpbGVuciddLCAnbW9kZSc9PidkZWxldGUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pLCAkbW9kdWxlLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KCQkJDQoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCQkJJHJvd2NsYXNzID0JKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOw0KCQkJCQkJICAgIA0KCQl9DQoJCQ0KCQkNCgkJaWYgKCFjb3VudCgkcm93YXJyYXkpKSB7DQoJCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJCQkkcm93LT5maWxlbmFtZSA9ICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vZmlsZXMnKTsNCgkJCSRyb3ctPmZpbGVwYXRoID0gIiI7DQoJCQkkcm93LT5maWxlc2l6ZSA9ICIiOw0KCQkJJHJvdy0+bGFzdG1vZCA9ICIiOw0KCQkJJHJvdy0+ZWRpdGxpbmsgPSAiIjsNCgkJCSRyb3ctPmNvcHlsaW5rID0gIiI7DQoJCQkkcm93LT5kZWxldGVsaW5rID0gIiI7DQoJCQkkcm93LT5yZW5hbWVsaW5rID0gIiI7DQoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCQl9DQoJCQ0KCQlyZXR1cm4gJHJvd2FycmF5Ow0KCQkNCgkJDQoJfQkNCgkNCgkvKioNCgkgKiANCgkgKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlIC4uLg0KCSAqIEBwYXJhbSBzdHJpbmcgJGZpbGVuYW1lDQoJICogQHJldHVybiBhcnJheSAtIEZpbGVpbmZvDQoJICovDQoJDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRDU1ZGaWxlSW5mbygkZmlsZW5hbWUpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkNCgkJLy8gR2lidCBlcyBlaW5lbiBEYXRlbnNhdHogenVtIEZpbGUgaW4gZGVyIERCPw0KCQkkcXVlcnkgPSAiU0VMRUNUICoNCgkJCQlGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfY3N2DQoJCQkJV0hFUkUgQklOQVJZIGZpbGVuYW1lID0gPyBvciBmaWxlbnIgPSA/IjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlbmFtZSwgJGZpbGVuYW1lKSk7DQoJDQoJCWlmKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkJew0KCQkJJG91dHB1dCA9ICRyZXN1bHQtPkZldGNoUm93KCk7DQoJCX0NCgkJDQoJCS8vIEVzIGdpYnQga2VpbmVuIERhdGVuc2F0eg0KCQlpZiAoIWlzc2V0KCRvdXRwdXQpKSB7DQoJCQkvLyBLb250cm9sbGUgb2IgZXMgZWluZW4gRGF0ZW5zYXR6IHp1ciBnbGVpY2hlbiBEYXRlaSBtaXQgYW5kZXJlciBHcm9zcy0vS2xlaW5zY2hyZWlidW5nIGdpYnQNCgkJCSRxdWVyeSA9ICJTRUxFQ1QgKg0KCQkJCUZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF9jc3YNCgkJCQlXSEVSRSBmaWxlbmFtZSA9ID8iOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlbmFtZSkpOw0KCQkJDQoJCQkvLyBXZW5uIGVzIG51ciBlaW5lbiBEYXRlbnNhdHogZ2lidCwgZGllc2VuIG1pdCBkZW0gRGF0ZWluYW1lbiBha3R1YWxpc2llcmVuDQoJCQlpZiggJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDEgKSB7DQoJCQkJJG91dHB1dCA9ICRyZXN1bHQtPkZldGNoUm93KCk7DQoJCQkJLy8gRGF0ZWluYW1lbiBha3R1YWxpc2llcmVuDQoJCQkJJHF1ZXJ5ID0gInVwZGF0ZSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X2NzdiBzZXQgZmlsZW5hbWUgPSA/LCBwYXRoID0gJycgd2hlcmUgZmlsZW5yID0gPyI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVuYW1lLCRvdXRwdXRbJ2ZpbGVuciddKSk7DQoJCQkJDQoJCQkJDQoJCQkJDQoJCQl9DQoJCQkNCgkJfSANCi8vCQlmaWxlbnIJaW50KDExKSBBdXRvIEluY3JlbWVudAkgDQovLwkJZmlsZW5hbWUNCi8vCQlwYXRoCXZhcmNoYXIoNTAwKSBOVUxMCSANCi8vCQlmaWxlc2l6ZQliaWdpbnQoMjApIE5VTEwJIA0KLy8JCWxhc3R1cGRhdGUNCgkJDQoJfQ0KCQ0KCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEdpYnQgZGVuIFBmYWQgenUgZWluZXIgVG9vbEJveCBUZW1wbGF0ZSBYTUwtRGF0ZWkgYXVzLg0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtICRzZWN0aW9uCS0gVG9vbEJveCBTZWN0aW9uDQoJICogQHBhcmFtICR0ZW1wbGF0ZSAtIFRlbXBsYXRlIG5hbWUNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VHBsWE1MRmlsZSgkc2VjdGlvbiwkdGVtcGxhdGUpDQoJew0KCQlyZXR1cm4gcmVhbHBhdGgoZGlybmFtZShfX0ZJTEVfXykuICcvLi4vJy4nL3RlbXBsYXRlcy9Ub29sQm94LXRwbC0nLnRyaW0oJHNlY3Rpb24pLictJy50cmltKCR0ZW1wbGF0ZSkuJy54bWwnKTsNCgl9DQoJDQoJLyoqDQoJICogDQoJICogVGFrZXMgWE1MIHN0cmluZyBhbmQgcmV0dXJucyBhIGJvb2xlYW4gcmVzdWx0IHdoZXJlIHZhbGlkIFhNTCByZXR1cm5zIHRydWUNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSAkeG1sDQoJICogQHJldHVybiBib29sZWFuDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc192YWxpZF94bWwgKCAkeG1sICkgew0KCQlsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyggdHJ1ZSApOw0KCQkkZG9jID0gbmV3IERPTURvY3VtZW50KCcxLjAnLCAndXRmLTgnKTsNCgkJJGRvYy0+bG9hZFhNTCggJHhtbCApOw0KCQkkZXJyb3JzID0gbGlieG1sX2dldF9lcnJvcnMoKTsNCgkJcmV0dXJuIGVtcHR5KCAkZXJyb3JzICk7DQoJfQ0KCQ0KDQoJLyoqDQoJICogQ29udmVydCBYTUwgdG8gYW4gQXJyYXkNCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcgICRYTUwNCgkgKiBAcmV0dXJuIGFycmF5DQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBYTUx0b0FycmF5KCRYTUwpDQoJew0KCQkkeG1sX3BhcnNlciA9IHhtbF9wYXJzZXJfY3JlYXRlKCk7DQoJCXhtbF9wYXJzZV9pbnRvX3N0cnVjdCgkeG1sX3BhcnNlciwgJFhNTCwgJHZhbHMpOw0KCQl4bWxfcGFyc2VyX2ZyZWUoJHhtbF9wYXJzZXIpOw0KCQkvLyB3eXpuYWN6YW15IHRhYmxpY2UgeiBwb3d0YXJ6YWphY3ltaSBzaWUgdGFnYW1pIG5hIHR5bSBzYW15bSBwb3ppb21pZQ0KCQkkX3RtcD0nJzsNCgkJZm9yZWFjaCAoJHZhbHMgYXMgJHhtbF9lbGVtKSB7DQoJCQkkeF90YWc9JHhtbF9lbGVtWyd0YWcnXTsNCgkJCSR4X2xldmVsPSR4bWxfZWxlbVsnbGV2ZWwnXTsNCgkJCSR4X3R5cGU9JHhtbF9lbGVtWyd0eXBlJ107DQoJCQlpZiAoJHhfbGV2ZWwhPTEgJiYgJHhfdHlwZSA9PSAnY2xvc2UnKSB7DQoJCQkJaWYgKGlzc2V0KCRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF0pKQ0KCQkJCSRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF09MTsNCgkJCQllbHNlDQoJCQkJJG11bHRpX2tleVskeF90YWddWyR4X2xldmVsXT0wOw0KCQkJfQ0KCQkJaWYgKCR4X2xldmVsIT0xICYmICR4X3R5cGUgPT0gJ2NvbXBsZXRlJykgew0KCQkJCWlmICgkX3RtcD09JHhfdGFnKQ0KCQkJCSRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF09MTsNCgkJCQkkX3RtcD0keF90YWc7DQoJCQl9DQoJCX0NCgkJLy8gamVkemllbXkgcG8gdGFibGljeQ0KCQlmb3JlYWNoICgkdmFscyBhcyAkeG1sX2VsZW0pIHsNCgkJCSR4X3RhZz0keG1sX2VsZW1bJ3RhZyddOw0KCQkJJHhfbGV2ZWw9JHhtbF9lbGVtWydsZXZlbCddOw0KCQkJJHhfdHlwZT0keG1sX2VsZW1bJ3R5cGUnXTsNCgkJCWlmICgkeF90eXBlID09ICdvcGVuJykNCgkJCSRsZXZlbFskeF9sZXZlbF0gPSAkeF90YWc7DQoJCQkkc3RhcnRfbGV2ZWwgPSAxOw0KCQkJJHBocF9zdG10ID0gJyR4bWxfYXJyYXknOw0KCQkJaWYgKCR4X3R5cGU9PSdjbG9zZScgJiYgJHhfbGV2ZWwhPTEpDQoJCQkkbXVsdGlfa2V5WyR4X3RhZ11bJHhfbGV2ZWxdKys7DQoJCQl3aGlsZSAoJHN0YXJ0X2xldmVsIDwgJHhfbGV2ZWwpIHsNCgkJCQkkcGhwX3N0bXQgLj0gJ1skbGV2ZWxbJy4kc3RhcnRfbGV2ZWwuJ11dJzsNCgkJCQlpZiAoaXNzZXQoJG11bHRpX2tleVskbGV2ZWxbJHN0YXJ0X2xldmVsXV1bJHN0YXJ0X2xldmVsXSkgJiYgJG11bHRpX2tleVskbGV2ZWxbJHN0YXJ0X2xldmVsXV1bJHN0YXJ0X2xldmVsXSkNCgkJCQkkcGhwX3N0bXQgLj0gJ1snLigkbXVsdGlfa2V5WyRsZXZlbFskc3RhcnRfbGV2ZWxdXVskc3RhcnRfbGV2ZWxdLTEpLiddJzsNCgkJCQkkc3RhcnRfbGV2ZWwrKzsNCgkJCX0NCgkJCSRhZGQ9Jyc7DQoJCQlpZiAoaXNzZXQoJG11bHRpX2tleVskeF90YWddWyR4X2xldmVsXSkgJiYgJG11bHRpX2tleVskeF90YWddWyR4X2xldmVsXSAmJiAoJHhfdHlwZT09J29wZW4nIHx8ICR4X3R5cGU9PSdjb21wbGV0ZScpKSB7DQoJCQkJaWYgKCFpc3NldCgkbXVsdGlfa2V5MlskeF90YWddWyR4X2xldmVsXSkpDQoJCQkJJG11bHRpX2tleTJbJHhfdGFnXVskeF9sZXZlbF09MDsNCgkJCQllbHNlDQoJCQkJJG11bHRpX2tleTJbJHhfdGFnXVskeF9sZXZlbF0rKzsNCgkJCQkkYWRkPSdbJy4kbXVsdGlfa2V5MlskeF90YWddWyR4X2xldmVsXS4nXSc7DQoJCQl9DQoJCQlpZiAoaXNzZXQoJHhtbF9lbGVtWyd2YWx1ZSddKSAmJiB0cmltKCR4bWxfZWxlbVsndmFsdWUnXSkhPScnICYmICFhcnJheV9rZXlfZXhpc3RzKCdhdHRyaWJ1dGVzJywgJHhtbF9lbGVtKSkgew0KCQkJCWlmICgkeF90eXBlID09ICdvcGVuJykNCgkJCQkkcGhwX3N0bXRfbWFpbj0kcGhwX3N0bXQuJ1skeF90eXBlXScuJGFkZC4nW1wnY29udGVudFwnXSA9ICR4bWxfZWxlbVtcJ3ZhbHVlXCddOyc7DQoJCQkJZWxzZQ0KCQkJCSRwaHBfc3RtdF9tYWluPSRwaHBfc3RtdC4nWyR4X3RhZ10nLiRhZGQuJyA9ICR4bWxfZWxlbVtcJ3ZhbHVlXCddOyc7DQoJCQkJZXZhbCgkcGhwX3N0bXRfbWFpbik7DQoJCQl9DQoJCQlpZiAoYXJyYXlfa2V5X2V4aXN0cygnYXR0cmlidXRlcycsICR4bWxfZWxlbSkpIHsNCgkJCQlpZiAoaXNzZXQoJHhtbF9lbGVtWyd2YWx1ZSddKSkgew0KCQkJCQkkcGhwX3N0bXRfbWFpbj0kcGhwX3N0bXQuJ1skeF90YWddJy4kYWRkLidbXCdjb250ZW50XCddID0gJHhtbF9lbGVtW1wndmFsdWVcJ107JzsNCgkJCQkJZXZhbCgkcGhwX3N0bXRfbWFpbik7DQoJCQkJfQ0KCQkJCWZvcmVhY2ggKCR4bWxfZWxlbVsnYXR0cmlidXRlcyddIGFzICRrZXk9PiR2YWx1ZSkgew0KCQkJCQkkcGhwX3N0bXRfYXR0PSRwaHBfc3RtdC4nWyR4X3RhZ10nLiRhZGQuJ1ska2V5XSA9ICR2YWx1ZTsnOw0KCQkJCQlldmFsKCRwaHBfc3RtdF9hdHQpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHhtbF9hcnJheTsNCgl9DQoJDQoJDQoJDQoJLyoqDQoJICogDQoJICogUGFyc2VkIGVpbiBUZW1wbGF0ZSBYTUwgaW4gZWluIEFycmF5DQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCgkgKiBAcGFyYW0gc3RyaW5nICRmbiAtIEZpbGVuYW1lIChpbmtsLiBQZmFkKQ0KCSAqIEByZXR1cm4gYXJyYXkNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFRlbXBsYXRlRGF0YUZyb21YTUwoJHhtbCkNCgl7DQoJCWlmIChpc19maWxlKCR4bWwpKSAkeG1sID0gZmlsZV9nZXRfY29udGVudHMoJHhtbCk7DQoJCQ0KCQkvLyBEZWtsYXJhdGlvbiBhbGxlciBTdGFuZGFyZGZlbGRlcg0KCQkkdHBsZGV0YWlscyA9IGFycmF5KCduYW1lJyA9PiBOVUxMLCd2ZXJzaW9uJyA9PiBOVUxMLCd0b29sYm94dmVyc2lvbicgPT4gTlVMTCwnYWJvdXQnID0+IE5VTEwsJ3NlY3Rpb24nID0+IE5VTEwsJ3RwbHNlY3Rpb24nID0+IE5VTEwsJ2pxdWVyeScgPT4gMCwnanF1ZXJ5X293bicgPT4gMCwnb3B0aW9ucycgPT4gTlVMTCwndHBsY29kZScgPT4gTlVMTCwndHBsY3NzJyA9PiBOVUxMLCd0cGxqcycgPT4gTlVMTCwndHBsbW9iaWxlY29kZScgPT4gTlVMTCwndHBsbW9iaWxlY3NzJyA9PiBOVUxMLCd0cGxtb2JpbGVqcycgPT4gTlVMTCwnZmlsZXMnID0+IGFycmF5KCkpOw0KCQkNCgkJJGRvYyA9IG5ldyBET01Eb2N1bWVudCgpOw0KCQkkZG9jLT5wcmVzZXJ2ZVdoaXRlU3BhY2UgPSBmYWxzZTsNCgkJaWYgKCEkZG9jLT5sb2FkWE1MKCR4bWwpKSB7DQoJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnLCAnYWRkaXRpb25hbCcgPT4gJycpIDsNCgkJIAlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJDQoJCWZvcmVhY2ggKCRkb2MtPmNoaWxkTm9kZXMtPml0ZW0oMCktPmNoaWxkTm9kZXMgYXMgJGNoaWxkTm9kZSkgew0KCQkJJG5hbWUgPSBzdHJ0b2xvd2VyKCRjaGlsZE5vZGUtPm5vZGVOYW1lKTsNCgkJCSR2YWx1ZSA9ICRjaGlsZE5vZGUtPm5vZGVWYWx1ZTsNCg0KCQkJaWYgKCRuYW1lID09ICJmaWxlIikgew0KCQkJCSRhcnJheSA9IGFycmF5KCk7DQoJCQkJZm9yZWFjaCgkY2hpbGROb2RlLT5jaGlsZE5vZGVzIGFzICRmaWxlKSB7DQoJCQkJCSRmaWxlbmFtZSA9IHN0cnRvbG93ZXIoJGZpbGUtPm5vZGVOYW1lKTsNCgkJCQkJJGZpbGVkYXRhID0gJGZpbGUtPm5vZGVWYWx1ZTsNCgkJCQkJJGFycmF5WyRmaWxlbmFtZV0gPSAkZmlsZWRhdGE7DQoJCQkJfQ0KCQkJCSR0cGxkZXRhaWxzWydmaWxlcyddW10gPSAkYXJyYXk7DQoJCQl9DQoJCQllbHNlIHsNCgkJCQkvL2lmIChzZWxmOjppc19iYXNlNjRjb2RlKCR2YWx1ZSkpICR2YWx1ZSA9IGJhc2U2NF9kZWNvZGUoJHZhbHVlKTsNCgkJCQlpZiAoaW5fYXJyYXkoJG5hbWUsIGFycmF5KCd0cGxjb2RlJywndHBsY3NzJywndHBsanMnLCd0cGxtb2JpbGVjb2RlJywndHBsbW9iaWxlY3NzJywndHBsbW9iaWxlanMnLCdhYm91dCcsJ29wdGlvbnMnKSkpDQoJCQkJCSR2YWx1ZSA9IGJhc2U2NF9kZWNvZGUoJHZhbHVlKTsNCgkJCQkkdHBsZGV0YWlsc1skbmFtZV0gPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJDQoJCWlmIChzZWxmOjppc19zZXJpYWxpemVkKCR0cGxkZXRhaWxzWydvcHRpb25zJ10pKSB7DQoJCQkkdHBsZGV0YWlsc1snb3B0aW9ucyddID0gdW5zZXJpYWxpemUoJHRwbGRldGFpbHNbJ29wdGlvbnMnXSk7DQoJCQlpZiAoaXNfYXJyYXkoJHRwbGRldGFpbHNbJ29wdGlvbnMnXSkpDQoJCQkJJHRwbGRldGFpbHMgPSBhcnJheV9tZXJnZSgkdHBsZGV0YWlscywgJHRwbGRldGFpbHNbJ29wdGlvbnMnXSk7DQoJCX0gDQoJCQ0KCQlyZXR1cm4gJHRwbGRldGFpbHM7CQkNCgl9DQoJDQoJLyoqDQoJICogDQoJICogSW1wb3J0IFRlbXBsYXRlDQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCgkgKiBAcGFyYW0gJG1vZHVsZSAtIGluc3RhbmNlIG9mIFRvb2xCb3gNCgkgKiBAcGFyYW0gJHhtbCAtIFhNTCBkZXIgVGVtcGxhdGVkYXRlaQ0KCSAqIEBwYXJhbSAkb3ZlcndyaXRlIC0gU29sbCBlaW4gYmVzdGVoZW5kZXMgVGVtcGxhdGUgw7xiZXJzY2hyaWViZW4gd2VyZGVuDQoJICogQHBhcmFtICRzZXRDdXJyZW50IC0gRGFzIFRlbXBsYXRlIGFscyBTdGFuZGFyZHRlbXBsYXRlIHJlZ2lzdHJpZXJlbg0KCSAqIEByZXR1cm4gYm9vbGVhbg0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaW1wb3J0VGVtcGxhdGUoJiRtb2R1bGUsICR4bWwsICRvdmVyd3JpdGUgPSB0cnVlLCAkc2V0Q3VycmVudCA9IGZhbHNlKQ0KCXsNCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkNCgkJJHhtbCA9IHNlbGY6OmdldFRlbXBsYXRlRGF0YUZyb21YTUwoJHhtbCk7DQoNCgkJaWYoJHhtbCA9PSBmYWxzZSApIHsNCgkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY291bGRub3RwYXJzZXhtbCcsICdhZGRpdGlvbmFsJyA9PiAnJykgOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkvLyBmaXJzdCBtYWtlIHN1cmUgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgd3JpdGUgdG8gdGhlIG1vZHVsZSBkaXJlY3RvcnksIGZvciBpbml0aWFsIGluc3RhbGwgdGhpcyBpcyBhbHJlYWR5IGNoZWNrZWQNCgkJJGRpciA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLiIvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy8iOyANCgkJaWYoICFpc193cml0YWJsZSgkZGlyKSkgew0KCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9kaXJlY3Rvcnlub3R3cml0YWJsZScsICdhZGRpdGlvbmFsJyA9PiAnXCcnIC4gJGRpciAuICdcJycpIDsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCSR4bWxbJ25hbWUnXSA9IHN0cnRvbG93ZXIoJHhtbFsnbmFtZSddKTsNCgkJDQoJCS8vIGNoZWNrIGlmIHRoaXMgbW9kdWxlIGlzIGFscmVhZHkgaW5zdGFsbGVkDQoJCWlmKCBpc19kaXIoJGRpciAuICR4bWxbJ25hbWUnXSkgYW5kICRvdmVyd3JpdGUgPT0gZmFsc2UgKQ0KCQl7DQoJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJ2Vycm9yX3RlbXBsYXRlZXhpc3RzJywgJ2FkZGl0aW9uYWwnID0+ICdcJycgLiAkeG1sWyduYW1lJ10gLiAnXCcnKSA7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJZm9yZWFjaCgkeG1sWydmaWxlcyddIGFzICRmaWxlKSB7DQoJCQkkdGVtcGxhdGVkaXIgPSByZWFscGF0aCgkZGlyIC4gJHhtbFsnbmFtZSddKTsNCgkJCSRmaWxlbmFtZSA9IHJlYWxwYXRoKCR0ZW1wbGF0ZWRpciAuICRmaWxlWydmaWxlbmFtZSddKTsNCgkJCWlmICghZmlsZV9leGlzdHMoJHRlbXBsYXRlZGlyKSkgew0KCQkJCWlmICghQG1rZGlyKCR0ZW1wbGF0ZWRpcikgYW5kICFpc19kaXIoJHRlbXBsYXRlZGlyKSkgew0KCQkJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJ2Vycm9yX2NhbnRjcmVhdGVkaXInLCAnYWRkaXRpb25hbCcgPT4gJ1wnJyAuICR0ZW1wbGF0ZWRpciAuICdcJycpIDsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0NCgkJCQkNCgkJCWlmKCRmaWxlWydpc2RpciddKSB7DQoJCQkJaWYgKCFAbWtkaXIoJGZpbGVuYW1lKSBhbmQgIWlzX2RpcigkZmlsZW5hbWUpKSB7DQoJCQkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY2FudGNyZWF0ZWRpcicsICdhZGRpdGlvbmFsJyA9PiAnXCcnIC4gJGZpbGVuYW1lIC4gJ1wnJykgOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJGRhdGEgPSAkZmlsZVsnZGF0YSddOw0KCQkJCWlmIChzdHJsZW4oJGRhdGEpKQkkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGRhdGEpOw0KCQkJCSRmcCA9IGZvcGVuKCRmaWxlbmFtZSwgInciKTsNCgkJCQlpZiggISRmcCApIHsNCgkJCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9jYW50Y3JlYXRlZmlsZScsICdhZGRpdGlvbmFsJyA9PiAgJ1wnJyAuICRmaWxlbmFtZSAuICdcJycpIDsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCQlpZihzdHJsZW4oJGRhdGEpKQl7DQoJCQkJCWZ3cml0ZSgkZnAsICRkYXRhKTsNCgkJCQl9DQoJCQkJZmNsb3NlKCRmcCk7DQoJCQl9DQoJCX0NCgkJDQoJCS8vIHNhdmUgdGVtcGxhdGUNCgkJJHRlbXBsYXRlY29kZSA9ICR4bWxbJ3RwbGNvZGUnXS5UT09MQk9YX1NFUEFSQVRPUi4keG1sWyd0cGxjc3MnXS5UT09MQk9YX1NFUEFSQVRPUi4keG1sWyd0cGxqcyddLlRPT0xCT1hfU0VQQVJBVE9SLiR4bWxbJ3RwbG1vYmlsZWNvZGUnXS5UT09MQk9YX1NFUEFSQVRPUi4keG1sWyd0cGxtb2JpbGVjc3MnXS5UT09MQk9YX1NFUEFSQVRPUi4keG1sWyd0cGxtb2JpbGVqcyddLicqfSc7DQoJCSRtb2R1bGUtPlNldFRlbXBsYXRlKCR4bWxbJ25hbWUnXSwgJHRlbXBsYXRlY29kZSk7DQoJCQ0KCQkvLyBzYXZlIGNzcy1maWxlDQoJCWlmIChlbXB0eSgkeG1sWyd0cGxjc3MnXSkpIHsNCgkJCUB1bmxpbmsocmVhbHBhdGgoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkeG1sWyduYW1lJ10gLiAnLmNzcycpKTsNCgkJfQ0KCQllbHNlIHsNCgkJCSRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICR4bWxbJ25hbWUnXSAuICcuY3NzJywndycpOw0KCQkJZndyaXRlKCRoYW5kbGUsc2VsZjo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCR4bWxbJ3RwbGNzcyddKSk7DQoJCQlmY2xvc2UoJGhhbmRsZSk7DQoJCX0NCgkJLy8gc2F2ZSBjc3MtZmlsZQ0KCQlpZiAoZW1wdHkoJHhtbFsndHBsbW9iaWxlY3NzJ10pKSB7DQoJCQlAdW5saW5rKHJlYWxwYXRoKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHhtbFsnbmFtZSddIC4gJ19tb2JpbGUuY3NzJykpOw0KCQl9DQoJCWVsc2Ugew0KCQkJJGhhbmRsZSA9IGZvcGVuKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHhtbFsnbmFtZSddIC4gJ19tb2JpbGUuY3NzJywndycpOw0KCQkJZndyaXRlKCRoYW5kbGUsc2VsZjo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCR4bWxbJ3RwbG1vYmlsZWNzcyddKSk7DQoJCQlmY2xvc2UoJGhhbmRsZSk7DQoJCX0NCgkJDQoJCQ0KCQlpZiAoIXNlbGY6OnNhdmVUZW1wbGF0ZVByb3BzKCR4bWxbJ25hbWUnXSwgJHhtbCwgJHhtbFsnb3B0aW9ucyddKSkgew0KCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9jb3VsZG5vdHdyaXRldHBscHJvcHMnLCAnYWRkaXRpb25hbCcgPT4gICdcJycgLiAkeG1sWyduYW1lJ10gLiAnXCcnKSA7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJDQoJCS8vIEFscyBTdGFuZGFyZHRlbXBsYXRlIHNldHplbg0KCQlpZiAoJHNldEN1cnJlbnQpIHsNCgkJCSRtb2R1bGUtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4keG1sWydzZWN0aW9uJ10uJ19jb250ZW50cycsJHRlbXBsYXRlY29kZSk7DQoJCQkkbW9kdWxlLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHhtbFsnc2VjdGlvbiddLidfdGVtcGxhdGUnLCR4bWxbJ25hbWUnXSk7DQoJCX0NCgkJDQoJCQ0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQkNCgkNCgkvKioNCgkgKiANCgkgKiBFeHBvcnRpZXJ0IGRhcyBkZWZpbmllcnRlIFRlbXBsYXRlIGFscyBYTUwgRGF0ZWkNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSBvYmplY3QgJG1vZHVsZSAtIEluc3Rhbnogdm9uIFRvb2xCb3gNCgkgKiBAcGFyYW0gc3RyaW5nICR0ZW1wbGF0ZSAtIE5hbWUgZGVzIFRlbXBsYXRlcw0KCSAqIEByZXR1cm4NCgkgKi8NCgkNCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGV4cG9ydFRlbXBsYXRlKCRtb2R1bGUsICR0ZW1wbGF0ZSkNCgl7DQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJJHRlbXBsYXRlZm9sZGVyID0gc3RyX3JlcGxhY2UoJG1vZHVsZS0+Z2V0VHBsVG9rZW4oKSwgIiIsICR0ZW1wbGF0ZSk7DQoJCQ0KCQkvLyBnZXQgdGVtcGxhdGUNCgkJJHRlbXBsYXRlY29kZSA9ICRtb2R1bGUtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7DQoJCSR0ZW1wbGF0ZWFyciA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICR0ZW1wbGF0ZWNvZGUpOw0KCQkNCgkJJHRwbGNvZGUJCT0gaXNzZXQoJHRlbXBsYXRlYXJyWzBdKSA/IHRyaW0oJHRlbXBsYXRlYXJyWzBdLCcqfScpIDogJyc7DQoJCSR0cGxjc3MJCQk9IGlzc2V0KCR0ZW1wbGF0ZWFyclsxXSkgPyB0cmltKCR0ZW1wbGF0ZWFyclsxXSwnKn0nKSA6ICcnOw0KCQkkdHBsanMJCQk9IGlzc2V0KCR0ZW1wbGF0ZWFyclsyXSkgPyB0cmltKCR0ZW1wbGF0ZWFyclsyXSwnKn0nKSA6ICcnOw0KCQkkdHBsbW9iaWxlY29kZQk9IGlzc2V0KCR0ZW1wbGF0ZWFyclszXSkgPyB0cmltKCR0ZW1wbGF0ZWFyclszXSwnKn0nKSA6ICcnOw0KCQkkdHBsbW9iaWxlY3NzCT0gaXNzZXQoJHRlbXBsYXRlYXJyWzRdKSA/IHRyaW0oJHRlbXBsYXRlYXJyWzRdLCcqfScpIDogJyc7DQoJCSR0cGxtb2JpbGVqcwk9IGlzc2V0KCR0ZW1wbGF0ZWFycls1XSkgPyB0cmltKCR0ZW1wbGF0ZWFycls1XSwnKn0nKSA6ICcnOw0KCQkNCgkJJHRlbXBsYXRlcHJvcHMgPSBzZWxmOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7DQoJCQ0KCQkkb3B0aW9ucyA9IGlzX2FycmF5KCR0ZW1wbGF0ZXByb3BzWydvcHRpb25zJ10pID8gc2VyaWFsaXplKCR0ZW1wbGF0ZXByb3BzWydvcHRpb25zJ10pIDogJHRlbXBsYXRlcHJvcHNbJ29wdGlvbnMnXTsNCgkJDQoJCWlmICghJHRlbXBsYXRlcHJvcHMpIHsNCgkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY291bGRub3RyZWFkdHBscHJvcHMnLCAnYWRkaXRpb25hbCcgPT4gICdcJycgLiAkdGVtcGxhdGUgLiAnXCcnKSA7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJDQoJCSRmaWxlY291bnQgPSAwOw0KCQkkZGlyID0gcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10uIi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzLyIgLiAkdGVtcGxhdGUpOw0KCQkkZGlyID0gaXNfZGlyKCRkaXIpID8gJGRpciA6IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy8iIC4gc3RydG9sb3dlcigkdGVtcGxhdGUpKTsNCgkJDQoJCSRmaWxlcyA9IHNlbGY6OmdldEZvbGRlckZpbGVzKCRkaXIsICIvIik7DQoJCQ0KCQkkeG1sdHh0ICA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PicuIlxuIjsNCgkJJHhtbHR4dCAuPSAiPHRvb2xib3h0cGw+XG4iOw0KCQkkeG1sdHh0IC49ICIJPG5hbWU+Ii4kdGVtcGxhdGUuIjwvbmFtZT5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8dmVyc2lvbj4iLiR0ZW1wbGF0ZXByb3BzWyd2ZXJzaW9uJ10uIjwvdmVyc2lvbj5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8dG9vbGJveHZlcnNpb24+Ii4kbW9kdWxlLT5HZXRWZXJzaW9uKCkuIjwvdG9vbGJveHZlcnNpb24+XG4iOw0KCQkkeG1sdHh0IC49ICIJPGFib3V0PiIuYmFzZTY0X2VuY29kZSgkdGVtcGxhdGVwcm9wc1snYWJvdXQnXSkuIjwvYWJvdXQ+XG4iOw0KCQkkeG1sdHh0IC49ICIJPHNlY3Rpb24+Ii4kdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddLiI8L3NlY3Rpb24+XG4iOw0KCQkkeG1sdHh0IC49ICIJPHRwbHNlY3Rpb24+Ii4kdGVtcGxhdGVwcm9wc1sndHBsc2VjdGlvbiddLiI8L3RwbHNlY3Rpb24+XG4iOw0KCQkkeG1sdHh0IC49ICIJPGpxdWVyeT4iLiR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXS4iPC9qcXVlcnk+XG4iOw0KCQkkeG1sdHh0IC49ICIJPGpxdWVyeV9vd24+Ii4kdGVtcGxhdGVwcm9wc1snanF1ZXJ5X293biddLiI8L2pxdWVyeV9vd24+XG4iOw0KCQkkeG1sdHh0IC49ICIJPG9wdGlvbnM+Ii5iYXNlNjRfZW5jb2RlKCRvcHRpb25zKS4iPC9vcHRpb25zPlxuIjsNCgkJJHhtbHR4dCAuPSAiCTx0cGxjb2RlPiIuYmFzZTY0X2VuY29kZSgkdHBsY29kZSkuIjwvdHBsY29kZT5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8dHBsY3NzPiIuYmFzZTY0X2VuY29kZSgkdHBsY3NzKS4iPC90cGxjc3M+XG4iOw0KCQkkeG1sdHh0IC49ICIJPHRwbGpzPiIuYmFzZTY0X2VuY29kZSgkdHBsanMpLiI8L3RwbGpzPlxuIjsNCgkJJHhtbHR4dCAuPSAiCTx0cGxtb2JpbGVjb2RlPiIuYmFzZTY0X2VuY29kZSgkdHBsbW9iaWxlY29kZSkuIjwvdHBsbW9iaWxlY29kZT5cbiI7DQoJCSR4bWx0eHQgLj0gIgk8dHBsbW9iaWxlY3NzPiIuYmFzZTY0X2VuY29kZSgkdHBsbW9iaWxlY3NzKS4iPC90cGxtb2JpbGVjc3M+XG4iOw0KCQkkeG1sdHh0IC49ICIJPHRwbG1vYmlsZWpzPiIuYmFzZTY0X2VuY29kZSgkdHBsbW9iaWxlanMpLiI8L3RwbG1vYmlsZWpzPlxuIjsNCgkJDQoJCWZvcmVhY2goICRmaWxlcyBhcyAkZmlsZSApDQoJCXsNCgkJCSR4bWx0eHQgLj0gIgk8ZmlsZT5cbiI7DQoJCQkkeG1sdHh0IC49ICIJICA8ZmlsZW5hbWU+IiAuICRmaWxlWydmaWxlbmFtZSddIC4gIjwvZmlsZW5hbWU+XG4iOw0KCQkJJHhtbHR4dCAuPSAiCSAgPGlzZGlyPiIgLiAkZmlsZVsnaXNkaXInXSAuICI8L2lzZGlyPlxuIjsNCgkJCWlmICggISRmaWxlWydpc2RpciddICkNCgkJCXsNCgkJCQkkZGF0YSA9IGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJGRpciAuICRmaWxlWydmaWxlbmFtZSddKSk7DQoJCQkJJHhtbHR4dCAuPSAiCSAgPGRhdGE+PCFbQ0RBVEFbIi4kZGF0YS4iXV0+PC9kYXRhPlxuIjsNCgkJCX0NCgkJCSR4bWx0eHQgLj0gIgk8L2ZpbGU+XG4iOw0KCQkJKyskZmlsZWNvdW50Ow0KCQl9DQoJCSR4bWx0eHQgLj0gIjwvdG9vbGJveHRwbD5cbiI7DQoJCQ0KCQkkbWVzc2FnZSA9ICdYTUwgcGFja2FnZSBvZiAnIC4gc3RybGVuKCR4bWx0eHQpIC4gJyBieXRlcyBjcmVhdGVkIGZvciBUb29sQm94ICcuJHNlY3Rpb254bWxuYW1lLicgdGVtcGxhdGUgJyAuICR0ZW1wbGF0ZWZvbGRlcjsNCgkJJG1lc3NhZ2UgLj0gJyBpbmNsdWRpbmcgJyAuICRmaWxlY291bnQgLiAnIGZpbGVzJzsNCgkJDQoJCQ0KCQkkeG1sbmFtZSA9ICdUb29sQm94LXRwbC0nIC4gJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXSAuJy0nIC4gJHRlbXBsYXRlZm9sZGVyIC4gJy54bWwnOw0KDQoJCS8vIHNlbmQgdGhlIGZpbGUNCgkJb2JfZW5kX2NsZWFuKCk7DQoJCW9iX2VuZF9jbGVhbigpOw0KCQloZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsNCgkJaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2ZvcmNlLWRvd25sb2FkJyk7DQoJCWhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Jy4keG1sbmFtZSk7DQoJCWVjaG8gJHhtbHR4dDsNCgkJZXhpdCgpOw0KCQkNCgl9DQoJDQoJDQoJDQoJDQoJLyoqDQoJICogDQoJICogR2lidCBlaW5lIExpc3RlIGRlciBUZW1wbGF0ZS1EYXRlaWVuIHp1csO8Y2sNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSAkcm9vdA0KCSAqIEBwYXJhbSAkcGF0aA0KCSAqIEBwYXJhbSAkZmlsdGVyIC0gUmVnZXggZGVyIERhdGVpZW5kdW5nZW4NCgkgKiBAcmV0dXJuIGFycmF5IC0gTGlzdGUgYWxsZXIgRGF0ZWllbiBlaW5lcyBWZXJ6ZWljaG5pc3Nlcw0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0Rm9sZGVyRmlsZXMoJHJvb3QsJHBhdGgsJGZpbHRlciA9IGFycmF5KCkpDQoJew0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJJGZpbHRlcnMgPSBhcnJheSgpOw0KCQkNCgkJaWYgKCFpc19hcnJheSgkZmlsdGVyKSkgJGZpbHRlcnMgPSBleHBsb2RlKCIsIiwgc3RydG9sb3dlcigkZmlsdGVyKSk7IGVsc2UgJGZpbHRlcnMgPSAkZmlsdGVyOw0KCQkNCgkJaWYgKCFpc19kaXIocmVhbHBhdGgoJHJvb3QgLiAkcGF0aCkpKQ0KCQkJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQlpZiAoICRoYW5kbGUgPSBvcGVuZGlyKHJlYWxwYXRoKCRyb290IC4gJHBhdGgpKSApDQoJCXsNCgkJCXdoaWxlICggZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpICkNCgkJCXsNCgkJCQlpZiAoICRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iICkNCgkJCQl7DQoJCQkJCWlmICggaXNfZGlyKCRyb290IC4gJHBhdGggLiAkZmlsZSkgKQ0KCQkJCQl7DQoJCQkJCQkkb3V0cHV0W10gPSBhcnJheSgNCgkJCQkJCSdmaWxlbmFtZScgPT4gJHBhdGggLiAkZmlsZSAuICIvIiwNCgkJCQkJCSduYW1lJyA9PiAkcGF0aCAuICRmaWxlLA0KCQkJCQkJJ2V4dCcgPT4gJycsDQoJCQkJCQknc2l6ZScgPT4gJycsDQoJCQkJCQkncmF3c2l6ZScgPT4gJycsDQoJCQkJCQknaXNkaXInID0+IDENCgkJCQkJCSk7DQoJCQkJCQkkb3V0cHV0ID0gYXJyYXlfbWVyZ2UoJG91dHB1dCxzZWxmOjpnZXRGb2xkZXJGaWxlcygkcm9vdCwgJHBhdGggLiAkZmlsZSAuICIvIikpOw0KCQkJCQl9DQoJCQkJCWVsc2UNCgkJCQkJew0KCQkJCQkJJHBpID0gcGF0aGluZm8oJHJvb3QgLiAkcGF0aCAuICRmaWxlKTsNCgkJCQkJCS8vIFdlbm4gRmlsdGVyIGdlc2V0enQsIHByw7xmZW4gb2IgenVsw6Rzc2lnZSBEYXRlaWVuZHVuZwkJCQkJCQ0KCQkJCQkJaWYgKGNvdW50KCRmaWx0ZXJzKSkgew0KCQkJCQkJCWZvcmVhY2goJGZpbHRlciBhcyAkZikgew0KCQkJCQkJCQlpZiAoc3RydG9sb3dlcigkcGlbJ2V4dGVuc2lvbiddKSAhPSB0cmltKCRmKSApIGNvbnRpbnVlOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJCQ0KCQkJCQkJJHNpemUgPSBmaWxlc2l6ZSgkcm9vdCAuICRwYXRoIC4gJGZpbGUpOw0KCQkJCQkJJG91dHB1dFtdID0gYXJyYXkoDQoJCQkJCQknZmlsZW5hbWUnID0+ICRwYXRoIC4gJGZpbGUsDQoJCQkJCQknbmFtZScgPT4gJHBpWydiYXNlbmFtZSddLA0KCQkJCQkJJ2V4dCcgPT4gJHBpWydleHRlbnNpb24nXSwNCgkJCQkJCSdzaXplJyA9PiBzZWxmOjpmb3JtYXRGaWxlU2l6ZSgkc2l6ZSksDQoJCQkJCQkncmF3c2l6ZScgPT4gJHNpemUsDQoJCQkJCQknaXNkaXInID0+IDANCgkJCQkJCSk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQljbG9zZWRpcigkaGFuZGxlKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQogIA0KCS8qKg0KCSAqIA0KCSAqIEzDtnNjaHQgZWluZW4gT3JkbmVyIGlua2wuIEluaGFsdA0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtIHN0cmluZyAkZGlyIC0gUGZhZCBkZXMgT3JkbmVycyANCgkgKiBAcmV0dXJuDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBkZWxldGVGb2xkZXIoJGRpcikNCgl7DQoJCSRkZWxldGVmaWxlcyA9IGdsb2IoJGRpciAuICcqJywgR0xPQl9NQVJLKTsNCgkJZm9yZWFjaCgkZGVsZXRlZmlsZXMgYXMgJGZpbGUpDQoJCXsNCgkJCWlmICggc3Vic3RyKCRmaWxlLCAtMSkgPT0gRElSRUNUT1JZX1NFUEFSQVRPUiApDQoJCQkJZGVsZXRlRGlyZWN0b3J5KCRmaWxlKTsNCgkJCWVsc2UNCgkJCQl1bmxpbmsoJGZpbGUpOw0KCQl9DQoJCWlmIChpc19kaXIoJGRpcikpIHJtZGlyKCRkaXIpOw0KCX0NCiAgDQoJLyoqDQoJICogDQoJICogR2lidCBkaWUgRGF0ZWlncsO2c3NlbiBpbiBlaW5lbSBsZXNiYXJlbiBGb3JtYXQgenVyw7xjaw0KCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPg0KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyDQoJICogQGZpbmFsDQoJICogQHBhcmFtIGludCAkZmlsZXNpemUgLSBHcsO2c3NlIGRlcyBGaWxlcw0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBmb3JtYXRGaWxlU2l6ZSgkZmlsZXNpemUpIHsNCgkJaWYoc3RybGVuKCRmaWxlc2l6ZSkgPD0gMykgew0KCQkJJGZpbGVzaXplID0gcm91bmQoJGZpbGVzaXplLDIpLiIgYiI7DQoJCX0gZWxzZWlmKHN0cmxlbigkZmlsZXNpemUpIDwgNykgew0KCQkJJGZpbGVzaXplID0gKCRmaWxlc2l6ZS8xMDI0KTsNCgkJCSRmc3BsaXQgPSBzdWJzdHIoc3Ryc3RyKCRmaWxlc2l6ZSwgIi4iKSwgMCwgNCk7DQoJCQkkZnN0YXJ0ID0gZXhwbG9kZSgiLiIsICRmaWxlc2l6ZSk7DQoJCQkkZnN0YXJ0ID0gJGZzdGFydFswXTsJDQoJCQkkZmlsZXNpemUgPSAkZnN0YXJ0LiRmc3BsaXQ7DQoJCQkkZmlsZXNpemUgPSByb3VuZChzdHJfcmVwbGFjZSgiLCIsIi4iLCRmaWxlc2l6ZSksMikuIiBrYiI7DQoJCX0gZWxzZSB7DQoJCQkkZmlsZXNpemUgPSAoJGZpbGVzaXplLzEwMjQvMTAyNCk7DQoJCQkkZnNwbGl0ID0gc3Vic3RyKHN0cnN0cigkZmlsZXNpemUsICIuIiksIDAsIDQpOw0KCQkJJGZzdGFydCA9IGV4cGxvZGUoIi4iLCAkZmlsZXNpemUpOw0KCQkJJGZzdGFydCA9ICRmc3RhcnRbMF07DQoJCQkkZmlsZXNpemUgPSAkZnN0YXJ0LiRmc3BsaXQ7DQoJCQkkZmlsZXNpemUgPSByb3VuZChzdHJfcmVwbGFjZSgiLCIsIi4iLCRmaWxlc2l6ZSksMikuIiBtYiI7DQoJCX0NCgkJcmV0dXJuIHN0cl9yZXBsYWNlKCIsIiwiLiIsJGZpbGVzaXplKTsNCgl9DQoJDQogIA0KICAJLyoqDQogIAkgKiANCiAgCSAqIExpZWZlcnQgYWxsZSBEYXRlaWVuIGVpbmVzIFZlcnplaWNobmlzc2VzIHp1csO8Y2sgKEdhbGxlcnkgQmFzaWVyZW5kKQ0KICAJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCiAgCSAqIEBwYXJhbSBzdHJpbmcgJHBhdGggLSBQZmFkIHp1bSBPcmRuZXINCiAgCSAqIEBwYXJhbSBib29sICRyZWN1cnNpdmUgLSBSZWt1cnNpdmUgZHVyY2ggYWxsZSBVbnRlcm9yZG5lcg0KICAJICogQHJldHVybiANCiAgCSAqLw0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RGlyRmlsZXMoJHBhdGgsJHJlY3Vyc2l2ZSkNCgl7DQoJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dhbGxlcnknKTsNCg0KCQkkcGF0aCA9IGVtcHR5KCRwYXRoKSA/ICcnIDogdHJpbSgkcGF0aCwgJy8nKSAuICcvJzsNCgkJJHVwZGlyID0gaXNfZGlyKCRwYXRoKSA/ICcnIDogJy4uLyc7DQoJCSRhbGxvd2V4dCA9IGV4cGxvZGUoJywnLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2V4dGVuc2lvbnMnLCcnKSk7DQoJCSRtYXhleHQgPSBhcnJheSgnanBnJywnanBlZycsJ2dpZicsJ3BuZycpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJaWYgKCAkaGFuZGxlID0gb3BlbmRpcihyZWFscGF0aCgkdXBkaXIgLiBERUZBVUxUX0dBTExFUllfUEFUSCAuICRwYXRoKSkgKQ0KCQl7DQoJCQl3aGlsZSAoIGZhbHNlICE9PSAoJGZpbGUgPSByZWFkZGlyKCRoYW5kbGUpKSApDQoJCQl7DQoJCQkJJGV4dCA9IHN1YnN0cigkZmlsZSwgc3RycnBvcygkZmlsZSwgJy4nKSArIDEpOw0KCQkJCWlmICggc3Vic3RyKCRmaWxlLDAsMSkgIT0gIi4iICYmIHN1YnN0cigkZmlsZSwwLHN0cmxlbihJTV9QUkVGSVgpKSAhPSBJTV9QUkVGSVggJiYgKChpbl9hcnJheShzdHJ0b2xvd2VyKCRleHQpLCRhbGxvd2V4dCkgJiYgaW5fYXJyYXkoc3RydG9sb3dlcigkZXh0KSwkbWF4ZXh0KSkgfHwgaXNfZGlyKCR1cGRpciAuIERFRkFVTFRfR0FMTEVSWV9QQVRIIC4gJHBhdGggLiAkZmlsZSkpICkNCgkJCQl7DQoJCQkJCSRmaWxlbmFtZSA9IGlzX2RpcigkdXBkaXIgLiBERUZBVUxUX0dBTExFUllfUEFUSCAuICRwYXRoIC4gJGZpbGUpID8gJGZpbGUgLiAnLycgOiAkZmlsZTsNCgkJCQkJJG91dHB1dFskcGF0aCAuICRmaWxlbmFtZV0gPSBhcnJheSgNCgkJCQkJCSdmaWxlbmFtZScgPT4gJGZpbGVuYW1lLA0KCQkJCQkJJ2ZpbGVwYXRoJyA9PiAkcGF0aCwNCgkJCQkJCSdmaWxlbWRhdGUnID0+IGRhdGUoIlktbS1kIEg6aTpzIiwgZmlsZW10aW1lKCR1cGRpciAuIERFRkFVTFRfR0FMTEVSWV9QQVRIIC4gJHBhdGggLiAkZmlsZSkpLA0KCQkJCQkpOw0KCQkJCQlpZiAoICRyZWN1cnNpdmUgJiYgaXNfZGlyKCR1cGRpciAuIERFRkFVTFRfR0FMTEVSWV9QQVRIIC4gJHBhdGggLiAkZmlsZSkgKQ0KCQkJCQl7DQoJCQkJCQkkb3V0cHV0ID0gYXJyYXlfbWVyZ2UoJG91dHB1dCwgc2VsZjo6R2V0ZGlyZmlsZXMoJHBhdGggLiAkZmlsZSwgJHJlY3Vyc2l2ZSkpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJY2xvc2VkaXIoJGhhbmRsZSk7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KCQ0KCQ0KCQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEdldCB0aGUgaW5zdGFsbGVkIGpRdWVyeSBGaWxlIGNtc19nZXRfanF1ZXJ5IGZ1bmN0aW9uDQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+DQoJICogQGNvcHlyaWdodDogR1BMIDINCgkgKiBAZmluYWwNCgkgKiBAcmV0dXJuIHN0cmluZyAtIGZpbGVuYW1lDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRqUXVlcnkoKSB7DQoJCQ0KCQkkZXhjbHVkZSA9ICJqcXVlcnktdWkubWluLmpzLGpxdWVyeS51aS5uZXN0ZWRTb3J0YWJsZS5qcyxqcXVlcnkuanNvbi5taW4uanMsanF1ZXJ5Lmpzb24uanMsanF1ZXJ5LXVpLTEuOC4xNC5taW4uanMsanF1ZXJ5LnVpLm5lc3RlZFNvcnRhYmxlLTEuMy40LmpzLGpxdWVyeS5qc29uLTIuMi5qcyI7DQoJCSRzc2wgPSBmYWxzZTsNCgkJJGNkbiA9IGZhbHNlOw0KCQkkYXBwZW5kID0gIiI7DQoJCSRjdXN0b21fcm9vdCA9ICIiOw0KCQkNCgkJJGpxdWVyeSA9IHRyaW0oY21zX2dldF9qcXVlcnkoJGV4Y2x1ZGUsJHNzbCwkY2RuLCRhcHBlbmQsJGN1c3RvbV9yb290KSwiXG4iKTsNCgkJaWYgKCEkanF1ZXJ5KSAkanF1ZXJ5ID0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LWxhdGVzdC5taW4uanMiPjwvc2NyaXB0Pic7DQoJCQ0KCQlyZXR1cm4gJGpxdWVyeTsNCgl9DQoJDQoJLyoqDQoJICogDQoJICogRXJ6ZXVndCBlaW5lIFp1ZmFsbHNyZWloZSBhdXMgWmFobGVuIHVuZCBCdWNoc3RhYmVuDQoJICogQHBhcmFtIGludCAkbGVuZ3RoIC0gTMOkbmdlIGRlcyBSYW5kb20tU3RyaW5ncw0KCSAqLw0KCWZ1bmN0aW9uIHJhbmRvbUFscGhhTnVtKCRsZW5ndGggPSA4KQ0KCXsNCgkJaWYgKDEgPiAkbGVuZ3RoKSAkbGVuZ3RoID0gODsNCgkJJGNoYXJzID0gJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJzsNCgkJJG51bUNoYXJzID0gNjI7DQoJCSRzdHJpbmcgPSAnJzsNCgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgew0KCQkJJHN0cmluZyAuPSAkY2hhcnNbbXRfcmFuZCgwLCAkbnVtQ2hhcnMgLSAxKV07DQoJCX0NCgkJcmV0dXJuICRzdHJpbmc7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEFycmF5IHNvcnRpZXJlbg0KCSAqIEBwYXJhbSBhcnJheSAkYXJyYXkNCgkgKiBAcGFyYW0gYXJyYXkgJGFyZ3VtZW50cw0KCSAqIEBwYXJhbSBhcnJheSAka2V5cw0KCSAqIEBzb3VyY2UgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi51YXNvcnQucGhwIzQyNzIzDQoJICovDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBhcnJheVNvcnQoJGFycmF5LCAkYXJndW1lbnRzID0gYXJyYXkoKSwgJGtleXMgPSB0cnVlKQ0KCXsNCgkJLy8gY29tcGFyaW5nIGZ1bmN0aW9uIGNvZGUNCgkJJGNvZGUgPSAiXCRyZXN1bHQ9MDsgIjsNCg0KCQkvLyBmb3JlYWNoIHNvcnRpbmcgYXJndW1lbnQgKGFycmF5IGtleSkNCgkJZm9yZWFjaCAoJGFyZ3VtZW50cyBhcyAkYXJndW1lbnQpDQoJCXsNCgkJCWlmICggIWVtcHR5KCRhcmd1bWVudCkgKQ0KCQkJew0KCQkJCS8vIG9yZGVyIGZpZWxkDQoJCQkJJGZpZWxkID0gc3Vic3RyKCRhcmd1bWVudCwgMiwgc3RybGVuKCRhcmd1bWVudCkpOw0KDQoJCQkJLy8gc29ydCB0eXBlICgicyIgLT4gc3RyaW5nLCAibiIgLT4gbnVtZXJpYykNCgkJCQkkdHlwZSA9ICRhcmd1bWVudFswXTsNCg0KCQkJCS8vIHNvcnQgb3JkZXIgKCIrIiAtPiAiQVNDIiwgIi0iIC0+ICJERVNDIikNCgkJCQkkb3JkZXIgPSAkYXJndW1lbnRbMV07DQoNCgkJCQkvLyBhZGQgImlmIiBzdGF0ZW1lbnQsIHdoaWNoIGNoZWNrcyBpZiB0aGlzIGFyZ3VtZW50IHNob3VsZCBiZSB1c2VkDQoJCQkJJGNvZGUgLj0gImlmICghSXNfTnVtZXJpYyhcJHJlc3VsdCkgfHwgXCRyZXN1bHQgPT0gMCkgIjsNCg0KCQkJCS8vIGlmICJudW1lcmljIiBzb3J0IHR5cGUNCgkJCQlpZiAoc3RydG9sb3dlcigkdHlwZSkgPT0gIm4iKQ0KCQkJCXsNCgkJCQkJJGNvZGUgLj0gJG9yZGVyID09ICItIiA/ICJcJHJlc3VsdCA9IChcJGEtPnskZmllbGR9ID4gXCRiLT57JGZpZWxkfSA/IC0xIDogKFwkYS0+eyRmaWVsZH0gPCBcJGItPnskZmllbGR9ID8gMSA6IDApKTsiIDogIlwkcmVzdWx0ID0gKFwkYS0+eyRmaWVsZH0gPiBcJGItPnskZmllbGR9ID8gMSA6IChcJGEtPnskZmllbGR9IDwgXCRiLT57JGZpZWxkfSA/IC0xIDogMCkpOyAiOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkvLyBpZiAic3RyaW5nIiBzb3J0IHR5cGUNCgkJCQkJJGNvZGUgLj0gJG9yZGVyID09ICItIiA/ICJcJHJlc3VsdCA9IHN0cmNvbGwoXCRhLT57JGZpZWxkfSwgXCRiLT57JGZpZWxkfSkgKiAtMTsiIDogIlwkcmVzdWx0ID0gc3RyY29sbChcJGEtPnskZmllbGR9LCBcJGItPnskZmllbGR9KTsgIjsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJLy8gcmV0dXJuIHJlc3VsdA0KCQkkY29kZSAuPSAicmV0dXJuIFwkcmVzdWx0OyI7DQoNCgkJLy8gY3JlYXRlIGNvbXBhcmluZyBmdW5jdGlvbg0KCQkkY29tcGFyZSA9IGNyZWF0ZV9mdW5jdGlvbignJGEsICRiJywgJGNvZGUpOw0KDQoJCS8vIHNvcnQgYXJyYXkgYW5kIHByZXNlcnZlIGtleXMNCgkJdWFzb3J0KCRhcnJheSwgJGNvbXBhcmUpOw0KCQkNCgkJLy8gcmV0dXJuIGFycmF5DQoJCXJldHVybiAkYXJyYXk7DQoJfQ0KCQ0KCS8qKg0KCSAqIFRlc3RzIGlmIGFuIGlucHV0IGlzIHZhbGlkIFBIUCBzZXJpYWxpemVkIHN0cmluZy4NCgkgKg0KCSAqIENoZWNrcyBpZiBhIHN0cmluZyBpcyBzZXJpYWxpemVkIHVzaW5nIHF1aWNrIHN0cmluZyBtYW5pcHVsYXRpb24NCgkgKiB0byB0aHJvdyBvdXQgb2J2aW91c2x5IGluY29ycmVjdCBzdHJpbmdzLiBVbnNlcmlhbGl6ZSBpcyB0aGVuIHJ1bg0KCSAqIG9uIHRoZSBzdHJpbmcgdG8gcGVyZm9ybSB0aGUgZmluYWwgdmVyaWZpY2F0aW9uLg0KCSAqDQoJICogVmFsaWQgc2VyaWFsaXplZCBmb3JtcyBhcmUgdGhlIGZvbGxvd2luZzoNCgkgKiA8dWw+DQoJICogPGxpPmJvb2xlYW46IDxjb2RlPmI6MTs8L2NvZGU+PC9saT4NCgkgKiA8bGk+aW50ZWdlcjogPGNvZGU+aToxOzwvY29kZT48L2xpPg0KCSAqIDxsaT5kb3VibGU6IDxjb2RlPmQ6MC4yOzwvY29kZT48L2xpPg0KCSAqIDxsaT5zdHJpbmc6IDxjb2RlPnM6NDoidGVzdCI7PC9jb2RlPjwvbGk+DQoJICogPGxpPmFycmF5OiA8Y29kZT5hOjM6e2k6MDtpOjE7aToxO2k6MjtpOjI7aTozO308L2NvZGU+PC9saT4NCgkgKiA8bGk+b2JqZWN0OiA8Y29kZT5POjg6InN0ZENsYXNzIjowOnt9PC9jb2RlPjwvbGk+DQoJICogPGxpPm51bGw6IDxjb2RlPk47PC9jb2RlPjwvbGk+DQoJICogPC91bD4NCgkgKiBAYXV0aG9yCUNocmlzIFNtaXRoIDxjb2RlK3BocEBjaHJpcy5jczI3OC5vcmc+LCBGcmFuayBCw7xsdGdlIDxmcmFua0BidWVsdGdlLmRlPg0KCSAqIEBjb3B5cmlnaHQJQ29weXJpZ2h0IChjKSAyMDA5IENocmlzIFNtaXRoIChodHRwOi8vd3d3LmNzMjc4Lm9yZy8pLCAyMDExIEZyYW5rIELDvGx0Z2UgKGh0dHA6Ly9idWVsdGdlLmRlKQ0KCSAqIEBsaWNlbnNlCWh0dHA6Ly9zYW0uem95Lm9yZy93dGZwbC8gV1RGUEwNCgkgKiBAcGFyYW0Jc3RyaW5nCSR2YWx1ZQlWYWx1ZSB0byB0ZXN0IGZvciBzZXJpYWxpemVkIGZvcm0NCgkgKiBAcGFyYW0JbWl4ZWQJJHJlc3VsdAlSZXN1bHQgb2YgdW5zZXJpYWxpemUoKSBvZiB0aGUgJHZhbHVlDQoJICogQHJldHVybglib29sZWFuCQkJVHJ1ZSBpZiAkdmFsdWUgaXMgc2VyaWFsaXplZCBkYXRhLCBvdGhlcndpc2UgRkFMU0UNCgkgKi8NCglzdGF0aWMgcHVibGljIGZpbmFsIGZ1bmN0aW9uIGlzX3NlcmlhbGl6ZWQoICR2YWx1ZSwgJiRyZXN1bHQgPSBudWxsICkgew0KCQkvLyBCaXQgb2YgYSBnaXZlIGF3YXkgdGhpcyBvbmUNCgkJaWYgKCAhIGlzX3N0cmluZyggJHZhbHVlICkgKSB7DQoJCQlyZXR1cm4gRkFMU0U7DQoJCX0NCgkNCgkJLy8gU2VyaWFsaXplZCBGQUxTRSwgcmV0dXJuIFRSVUUuIHVuc2VyaWFsaXplKCkgcmV0dXJucyBGQUxTRSBvbiBhbg0KCQkvLyBpbnZhbGlkIHN0cmluZyBvciBpdCBjb3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlIHN0cmluZyBpcyBzZXJpYWxpemVkDQoJCS8vIEZBTFNFLCBlbGltaW5hdGUgdGhhdCBwb3NzaWJpbGl0eS4NCgkJaWYgKCAnYjowOycgPT09ICR2YWx1ZSApIHsNCgkJCSRyZXN1bHQgPSBGQUxTRTsNCgkJCXJldHVybiBUUlVFOw0KCQl9DQoJDQoJCSRsZW5ndGgJPSBzdHJsZW4oJHZhbHVlKTsNCgkJJGVuZAk9ICcnOw0KCQkNCgkJaWYgKCBpc3NldCggJHZhbHVlWzBdICkgKSB7DQoJCQlzd2l0Y2ggKCR2YWx1ZVswXSkgew0KCQkJCWNhc2UgJ3MnOg0KCQkJCQlpZiAoICciJyAhPT0gJHZhbHVlWyRsZW5ndGggLSAyXSApDQoJCQkJCQlyZXR1cm4gRkFMU0U7DQoJCQkJCQ0KCQkJCWNhc2UgJ2InOg0KCQkJCWNhc2UgJ2knOg0KCQkJCWNhc2UgJ2QnOg0KCQkJCQkvLyBUaGlzIGxvb2tzIG9kZCBidXQgaXQgaXMgcXVpY2tlciB0aGFuIGlzc2V0KClpbmcNCgkJCQkJJGVuZCAuPSAnOyc7DQoJCQkJY2FzZSAnYSc6DQoJCQkJY2FzZSAnTyc6DQoJCQkJCSRlbmQgLj0gJ30nOw0KCQkNCgkJCQkJaWYgKCAnOicgIT09ICR2YWx1ZVsxXSApDQoJCQkJCQlyZXR1cm4gRkFMU0U7DQoJCQ0KCQkJCQlzd2l0Y2ggKCAkdmFsdWVbMl0gKSB7DQoJCQkJCQljYXNlIDA6DQoJCQkJCQljYXNlIDE6DQoJCQkJCQljYXNlIDI6DQoJCQkJCQljYXNlIDM6DQoJCQkJCQljYXNlIDQ6DQoJCQkJCQljYXNlIDU6DQoJCQkJCQljYXNlIDY6DQoJCQkJCQljYXNlIDc6DQoJCQkJCQljYXNlIDg6DQoJCQkJCQljYXNlIDk6DQoJCQkJCQlicmVhazsNCgkJDQoJCQkJCQlkZWZhdWx0Og0KCQkJCQkJCXJldHVybiBGQUxTRTsNCgkJCQkJfQ0KCQkJCWNhc2UgJ04nOg0KCQkJCQkkZW5kIC49ICc7JzsNCgkJCQkNCgkJCQkJaWYgKCAkdmFsdWVbJGxlbmd0aCAtIDFdICE9PSAkZW5kWzBdICkNCgkJCQkJCXJldHVybiBGQUxTRTsNCgkJCQlicmVhazsNCgkJCQkNCgkJCQlkZWZhdWx0Og0KCQkJCQlyZXR1cm4gRkFMU0U7DQoJCQl9DQoJCX0NCgkJDQoJCWlmICggKCAkcmVzdWx0ID0gQHVuc2VyaWFsaXplKCR2YWx1ZSkgKSA9PT0gRkFMU0UgKSB7DQoJCQkkcmVzdWx0ID0gbnVsbDsNCgkJCXJldHVybiBGQUxTRTsNCgkJfQ0KCQkNCgkJcmV0dXJuIFRSVUU7DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEbDvGd0IGRlbSBUZW1wbGF0ZSB2b3IgZGVtIGRlZmluaWVydGVuIFRhZyAoPGJvZHk+IG9kZXIgPGhlYWQ+KSBlaW5lbiBkZWZpbmllcnRlbiBJbmhhbHQgenUNCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSBzdHJpbmcgJGNvbnRlbnQgLSBUZW1wbGF0ZQ0KCSAqIEBwYXJhbSBzdHJpbmcgJGFkZCAtIERhdGVuIGRpZSBoaW56dWdlZsO8Z3Qgd2VyZGVuIHNvbGxlbg0KCSAqIEBwYXJhbSBzdHJpbmcgJHRhZyAtIEhUTUwgVGFnDQoJICogQHJldHVybiBzdHJpbmcNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGFkZEh0bWxCZWZvclRhZygkY29udGVudCwgJGFkZCwgJHRhZykNCgl7DQoJCSRhZGQgPSAiXHJcbiIuVE9PTEJPWF9JREVOVC4kYWRkOw0KCQkkcG9zID0gc3RyaXBvcygkY29udGVudCxzdWJzdHIoJHRhZywgMCwgLTEpKTsNCgkJaWYoICRwb3MgIT09IEZBTFNFICkgew0KCQkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsIDAsICRwb3MpIC4gJGFkZCAuIHN1YnN0cigkY29udGVudCwgJHBvcyk7DQoJCX0NCgkJDQoJCXJldHVybiAkY29udGVudDsNCgl9DQoJDQoJLyoqDQoJICogDQoJICogQ2hlY2sgaWYgc3RyaW5nIGlzIGJhc2U2NCBlbmNvZGUsIGJlaSBlaW56ZWxuZW4gV8O2cnRlcm4gc2NobMOkZ3QgZGllc2UgUHLDvGZ1bmcgZmVobC4NCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4NCgkgKiBAY29weXJpZ2h0OiBHUEwgMg0KCSAqIEBmaW5hbA0KCSAqIEBwYXJhbSBzdHJpbmcgJHN0ciAtIGJhc2U2NGVuY29kZSBTdHJpbmcNCgkgKiBAcmV0dXJuIGJvb2xlYW4NCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGlzX2Jhc2U2NGNvZGUoJHN0cikNCgl7DQoJCWlmIChiYXNlNjRfZGVjb2RlKCRzdHIsIHRydWUpKSANCgkJCXJldHVybiB0cnVlOw0KCQkJDQoJCXJldHVybiBmYWxzZTsJDQoJfQ0KCQ0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUV4dCgkZmlsZW5hbWUpDQoJew0KCQlyZXR1cm4gc3RydG9sb3dlcihlbmQoZXhwbG9kZSgnLicsJGZpbGVuYW1lKSkpOw0KCX0NCgkNCgkvKioNCgkgKiANCgkgKiBJY29uLUJpYmxpb3RoZWsNCgkgKiBAcGFyYW0gc3RyaW5nICRleHQgLSBEYXRlaS1FeHRlbnNpb24NCgkgKiBAcmV0dXJuIGltYWdlIHN0cmVhbQ0KCSAqLw0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUljb25CYXNlNjQoJGV4dCkNCgl7DQoJCSRfaW1hZ2VzID0gYXJyYXkoKTsNCgkJCQkNCgkJJF9pbWFnZXNbImRlbCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSmRTVVJCVkRqTHBaUDdTMU5oR01mOVc3WWZvZ1NKYm9TRQ0KCQlVVkNZOHpKMzF0cmNwczZ6VEk5YkxHSnBqcDFobWtHTnhWejRRNmlsZHRYS1h6Sk5iSlJhUm1yWG9lV3g4dEpPVFdwdG5yTnJ5cmU1DQoJCVlDWXVJM3JoKzh2TCsvbThQQS9Qa3dJZzVYK3k1bUpXcnhmT1VCWG05MVFaTTZVbHVVbXRobnRIcXBseFVtbDJsY2lGNndybWRIcmkNCgkJSTBXeDN4dzJoQWVkaUx3WlJXUmtDUHpkRHN3YVN2R3FrR0NmcThWRVVzRXlQRjFPOFF1M083QTA5UmJSdmp1SXR0c1JiVDZISHplYg0KCQlzRGpjQjQvSmdGRmxOdjlNbmttc0Vzem9kSUlZN09hdXQyT0pjU0Y2OFF4OGRndjh0bXFFTDFnUWFhQVJ0cDVBK040TnpCMGxNWHhvDQoJCW4vdXhiSThnSVlqQjlIeXRHWXV1c2ZpUElRY043MWtqZ25XNlZlRk9rZ2gzWGNITHZBd01TRFBvaE9BRGRZUUpkRjFGdExNWlBtc2wNCgkJdmhaSmsyYWhrZ1J2cTRISFVvV0hSRHFURUREbDJtRGtmaGVpRGd0OHB3MzQwL0VvY3VDbEN1RnZib1F6YjBjd0laZ2tpNEtoemxhRQ0KCQk2dzBJbmlwYlZ6QmZxb0svcVJIOTRpMHJnb2tTRmVPMTFpQmtwOEVkVjhjZkpvMHlENzVhRTJaTlJ2U0owbFpLY0JYTGFVWW1RckN6DQoJCURUNnRETjVTeVJxWWxXZURMWkFnMEg0SlErSnQ2TTNhdE5MRTEwVlN3UXNONFo2cjBDQndxelhlc0htVitCZW95QVVyaThFeU1maTINCgkJRm93WFM1ZGhkN2RvbzJEVklJMFY1QkFqaWdQODlHRVZBdGRhOGIyZWhvZFU0ck5hQVcrZEdmemxGa3lvODlHVGxjckhZQ0xwS0QrVg0KCQk3eWVlSE56TGprcDI0VXUxRWQ2RzgvRjhxanFHUnpsYmwySDJkempwTWcxS2R3c0h4T2xtSjdHVGVaQy9uZXNYYmVaNmM5T1ludXhVDQoJCWMzZm1CdUZmdC9GZjh4TWQwczY1U1hJYi9nQUFBQUJKUlU1RXJrSmdnZz09IjsNCgkJDQoJCSRfaW1hZ2VzWyJhcmNoaXZlIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMA0KCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFKbVNVUkJWRGpMaFpOTlM1UlJHSWF2OCtITXZETk81WmhPDQoJCVlxWFFGMkZnVk5SQ0NLTTJFYlExb2syYi9BRzE2Ri8wZ2U1cVV3aXRnaGJXb29pa2lJaEkzQVFWRkVSK1ZzeU16dGc3dnVlY3A0VTINCgkJT1JINXdMTTVjSzduNXI2NWxZZ0FvSlRhRGhRQncvOW5BZmdpSWdFQUVXRU5jamlPNDNLU0pONDVKLy9hT0k1bFpHVGtCdEFMYUJGcA0KCQlBaHhOa3NSWHExV3AxV3FOclZRcVVpcVZaSDUrWHB4ek1qczdLNk9qb3cySW1yaTlaMURudGp3bzJkT2Jacjd2cEtYRm9EVkF3RnBODQoJCXZSNnphOWR1K3ZyNktSUUtyS3lzRUVKZ2JHenM1dkR3OERYMS9ONlJyeDBIT3JwZnZPcW5XczBDQ2dRa2FKVEpFa0lBSEVOREZ5Z1cNCgkJaTAxbVdHdVAyVncrS25UM2RqUFVNMGVMelpPNEw2aWt6dFF6NkRsMmk0ZVB4Z2srSVlveWxNdGxRZ2c0NStqczdGeUZLS1VrL2xsaA0KCQlldnBsZzl6VHRSOFJDMEFtU2xHdHJHQ014VnFGOXg1ai9nUmxSUUxaYklidDNmdlc0bHdtcFMwSWhDQTRGd2dFakRGb3JWRksvVGE5DQoJCW9ZRGE4amRtcHQ4M0huZHU4NkRhRVFrZ0hna0JyWFhUNVFhQTRGdWlxSTNpdGw0SVB6SFdrN0c1TlFVQlFnSVNVRW9CWUl4cFZsQXINCgkJbGU5K2ZDYm50Rlk2cU0yWjRCT1dhekZ6UzEzVVByd2psVXF6dUZodFhGOU5aWjBDbjdoTGM1OW1ybHkrL3VQUStPTzNUKzZQUDhXNw0KCQlPcEgxZko2Y3BMVTFoVXNTcGhjcVJMbE5GSEs2R1hEODRudXZsQ29EUzFGcmdabjI4K1Q1em9tOTMzanplb0tweVplWTlvUGNlT0pwDQoJCXoxZTRlcmJ0THcvV1RUQlpXVnBhVk5tY1l1dldEazZlT3NQQXdDQ0xzZUhPcENPZk5nMHZnQUNnMXJYeFNMMWVuekRHWkFDOVFTT0QNCgkJOTM0NW5VNFByZ2ZzV0t2elJwOS9qd2NXZmdGN1ZFS1hmSFk1a3dBQUFBQkpSVTVFcmtKZ2dnPT0iOw0KCQkkX2ltYWdlc1siYXVkaW8iXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUl2U1VSQlZEakxqWlBMYXhOUkZJZXJpUCtBTzdHZzduUlgNCgkJcW8xb2dvS0NLMEZiaWc4UXV4S2hQb3AwNFNZTE5ZcWxLcEVtUWxEQlJSY0ZGV2xCcXFKWUxWcGJxNmt0YVJvMGFXbWFtVXhtSnBONQ0KCQladktvUCsrOW1tbHFXdXpBdDdqYytYMkhjeTZuRGtBZGhYeGJDSTJFcHYrd2xiRGV5VlVKR20zYnpwVktwY1Z5dVl5VklQY0lCQUwzDQoJCXFpWFZnaVlhTmd3RHBtazZxS29LUlZFZ0NBS1Q4RHlQWUREb1NDcmhkWUhyTzlxemtkT1F2cCtFK08wNGhDK3RFRDYzZ0JzK1FpRG4NCgkJaFFnVFdKWUZXaVFVQ3YyUlVFSC9nNFlOWHdkY1QvVkVKNnhrRjh6RURSaXhxMUNucmlEOTRTaWtIMDhnaWtKTlMyd21WTER3eWJPTg0KCQlIM0diTnQ4RFkrWU1yRGsvdEdrdmhPRm1LUEUrcHhWSmtwREpaTUJ4M0pKQUhOKy9NVFBxOGFteGR0ajhmV2pod3pCK2RpSDVhZzl5DQoJCThWNlF1YkRoVVltbWFXd2VzaXd2Q1lSUnR5djljYTlvYzM3a2szZWdUYmJCaVBvd1AraUdPSEdUMEExaDdCclM0M2VoaVhIb3VzNUUNCgkJam9DRXgzSXpGNkZNbllNY1Bnczk1aU9DVzFERFhxVGZuRUJxc0JuUlI5c2hUdllpYnloc2lCUkh3TDEzZGFiZTdyNzk3dUhPeDNLaw0KCQltMVQySURmaGhUUnlBZk1EaDVBYXVveDhOczVhS1JRS0ROclNzaUhTWjZTSG9xMWk5bmtEdU5mSGtIaTJEOWxvSHd0U2lzVWlnNFpYDQoJCUZhU0cycEI4Y1pCVVBZK2lsYTBKVjFNajhGL2EzREhiZndEcTNNdGxiMTJSL0V1Tm9LTjEweWxMbXY2MTJoNnN3S0lqK0N2WlJRWmsNCgkJMG91MWhNbS9PdHZlS2tFOWxheGhuU3ZRMWEvL0RWOWF4ZDVOU0hsQ0FBQUFBRWxGVGtTdVFtQ0MiOw0KCQkkX2ltYWdlc1siY29kZSJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSHRTVVJCVkRqTGpaTTlUOXRRRklZcFE1ZU9NQktsVzZlVw0KCQlJUWlwYThSZlFLUWdoRUFLcVpnS0ZRZ21GbjVBV3lWRENpcFZRWkMyRXFCV2xFcWRPMlJDcEFzc1FCUnN4MSsxbmRpeDh3RnZmVzZ3DQoJCWNVaFFzZlRJMGozM1BEN24rTjR1QUYyRSsvUzVSRndHLzhOamwyNC9MeUNJT0k2ajErdjF5MGFqZ1U2NGNTU1R5YmRCU1ZBd1NNbW0NCgkJYWNLeUxCL0RNS0JwR2tSUlpCSkJFSkJLcFh5SmwveUFCTFRCdG0xVXExWDJKc3JsTW5SZGh5UkpURkNwVkVBZlNhZlRUVWxRb0ZzMQ0KCQlsdXhCQWtvb2xVcVFaYm10SlRZVFQvQW9ISW5PZnBjd3RWdGt3Y1NCZ3JrREdZcGgrNjBvaXNJcTRYbStWZkIwK1UvUDBMdmozTndQDQoJCUdmSFBUY0hNdm95Rlh3cGU3VW1RdEFxVFVDVTBEMVZWYndUUFZrNWpZMTlGZTNaZlFueTdDRTUxV0pEWHFwamVFVUhyNDVraTlySXENCgkJYTRkbVFpSmZNTEl0R0VzL0ZjUTJ1Y2JSbWRuU1l5NXZZV3lMeC93M0VhTWZMbUJhRHBNUXZ1REo2NVBZOERwbnozd3BZbUx0QXB6Yw0KCQlySUFxbWZyRWdkWkgxZ3JZL2EzNnc2WHowREtEOEVTMjUvbmlZUzYrd1dFOG1XZkJ5WThjWG1ZRUpGWUxrSFVIdFZxTlFjbHRBdm9MDQoJCUQzdjdvL0ZVSHNOdnpsbnd4ZnNDRXVrQy9obzN5VUhhQk41QnVvMTdPanR5bCtEcXJudlFnVXRmY0MwWmNBZGtVZUEreWU3ZU1ydTkNCgkJQVVHSUpQZTR6aDUwOVVQL0FBZk55cGk4b2ovbUFBQUFBRWxGVGtTdVFtQ0MiOw0KCQkkX2ltYWdlc1siZGF0YWJhc2UiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUhWU1VSQlZEakxqWlBMYWlKQkZJWk5IbUpXQ2VRZE11VDENCgkJTWkvZ1lsQVJCUlVrYW8rYWJIVWhtaGdVMFFIdEFSVnhKMGJ4aHZmR2EwN09mNUl1MjF5WUZQeUxycXJ6MWYrZjZySVJrUTNpY2NhNg0KCQlaRjM5Unhlc1UxVm5BVnl1VnF2SmRydmQ3M1k3K2t5OFRrNm44N2NWWWdWY29YaXhXTkJ5dVZTYVRxYzBIbytwMStzSnBOdnRrc3ZsDQoJCVVoQ2IzVzcvY2YvdytCU0x4ZmFwVklxU3lTUmxNaG5TZFoyR3d5SE41M09hVENiVTcvY0ZZQmdHNFJDUHgvTUt1YjI3KzF1cjFYcWoNCgkJMFlqVzZ6V3hDeWxvTkJxVVNDU2tZRGFiMFdBdytCQkplcUxGdFFwdkdvRnFBbEFFYVpvbXVjMG9jQVFublU3bkFMaUozdWg4d2hnbg0KCQl0dHR0YXJWYVZDZ1VwQ0FVQ2duUWhNQUorZ0czQ3NEWmE3eGgxbXcyWmJGU3FZZ3dnc0dnYkRRaGNJV2VBSFNJb1AxcGNHZU5hclVxDQoJCWdGS3BKTUx3Ky8wcTcyYXprWWhtUEFXSVJtTTZBR2JYYzdrYzVmTjVBWGk5WGdXQUN3QWd1TEVBb2pyZnNWR3YxeVYvc1Zpa2Nya3MNCgkJQUlmRElZVVFIRUFvUGdMd1QzR2R6V1lOZEJmWGgzeHdBcERQNXpzcXRrb0J3dUh3YVNBUStPVjJ1Ly9GNDNHS1JDTEVjNVJPcHdWbw0KCQlPbmd2QlhqN2pVL3d3WlBQWDcyRFQ3UlhnRGZJVDI3UUVndmZLZWE5YzNtOUZzQTVJTjk0enFidzlNOWZBRXVXK3p6ajh1THZBQUFBDQoJCUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJkaXJlY3RvcnkiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUdyU1VSQlZEakx4Wk83aWhSQkZJYS82dTBaVzdHSEJVVjANCgkJVVFRVFp6ZDNRZGhNUXhPZndNUlhFQU5CTU5RWDBNekF6RkF3RXpId0FSYk5GRGR3RWQzMU1qM1g3YTZ1T3I5QnR6TmpZaktCSjZuaQ0KCQljUDd2M0txY0pGYXhoQlZ0WlVBSzhPSGxsZDJzdDdYbDNESlBWT05QK3pFVVY0SHFMNVVEWUhyNXh2dVFBamdsL1FzN1R6dk9PVkFqDQoJCXhqbEMrZVBTd2U2RGZiVmVnTFZ1VDRyMTRlVHI2enZBOHhTQW9CTHp4NnB2ajRsK0RaSWV6dVZrRzlmWTJIN1lSUUlNWklCd3ljbXoNCgkJSDEvczNGOEFhcGZJUE5GM2tRazcra3c5UFdCeStJWk9kZzVVZzNta0FBVHkvdDB1c292ekdlQ1VXVGpDejBCK1NqMGVrZmR2a1ozYQ0KCQliQnYrVTRHYUN0SjFpRW02QU5RSjZmRXpyRy9lbmdjS3cvd1hRdkVLeFNFS1F4UkdLRTdJenQrRFNpd0JKTVVTbTcxcmd1TVloUUtyDQoJCUJ5Z09JUlN0ZjRUaUZGUkJ2YlJHS2lRTFdQMjl5UlNIS0JUdGZkQm1IczBCVXBndnRnRjR5UkZSK05VS2kwWFpjWWpDZUNHMnNta3oNCgkJTEFIa2JSQm1QMC9VazI2TzVZblVBY3RCcDFHc0FJK1M1blJKSkphbDVLMWFBTXJxMGQ2VG05dUk2emp5Zjc1ZEFlNnR4L1NzV2VELw0KCQkvbzIvQWI2SUgzL2gyNXBPQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJncmFwaGljcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSDhTVVJCVkRqTGpaUExheE5SRklmSExycHgxMFdiZ2hYeA0KCQlIN0RReDZwMTRjYWRpQ3MzMVkyTExpelloZEJGV3loWWFGVWFVeExVUUZDeEw2MUUrMGdvZldHTFJVcUdxb1dwMkpwR0c4ZzR5YlRKDQoJCUpKbTg2ODk3THM0UUpJbTk4REVEOS82K21YTm1qaUFJd2hsR0U2UDFQNXhqVkFFUWlxSFZsTWxrWXZsOC9yaFFLS0FVYkI5MnU5MVcNCgkJU2tLcmxjTEpaQks2cnB0b21vWm9OQXBGVWJoRWxtVTRIQTR1OFl6VTFQc21Xcnlyb3hZckY5Q0JkRHFOYkRiTHIwUWlrVUFzRmtNNA0KCQlIT2FDVkNvRmVzanpwd011YWVYdXRoWWN3NHJ0dkc0S0tHeEFBZ3JFNDNGRUloR3psSlFXeEUvUmlyUTZpOC9UN1hqWFYyc3pCYXdNDQoJCTh5RGRVOTFHS2FxcUluUWd3Zjl4Q05tb0I3TFlnWm4rT3VkMFQxMjFLZmlYWW9rcWY4WCs1akF5UjNOUXZ0ekVxOTZ6NG9zN2xocXoNCgkJaWVXNlR4Sk4zVVZnOHlFUHF6dTM4UDd4UlZ5K2NQb2F5NTJxS0RoVWYwSGFXc0MzeFJ2c3RkM1F2dDltVFd0RU9QQUpmLytMOG9LQQ0KCQlmd2ZMbmlsNDN6N0JrdXNxZHIyWDRCdHZnMStjNWZzVkJaSi9IOWFYYml4LzJFQW91QVZ4NHpWbUhsMkJ0T3JrUGFrbzJEc0l3dWxlDQoJCXhLaG5HL2NtZmJnK3VJYnVrWGtvb1IvSTVYS2Npb0x1KzgvUU5UeUd6cUUzNk9pZFFOZURKYXlMZTd5WkJ1VUV2OHQ5aVJJY1U2WjQNCgkJRnByWjM2ZlR4a25DN0d5Q0JyQlkwRUNTRTR5ekFZMStneUg0QXk5Y3cySWZ3djltQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJpbWFnZSJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBR1dTVVJCVkJnWnBjRS9hMU5oR01iaDMvT2VONTZjS3EyRA0KCQlwNkFvQ09LbWs0dUNuOEROeWNFT0lvamlscjJUYUJmUnpWbkVTUVIzQnorRkZEb1dBMklqdGtScW1weWM5N2s5cVlsL0lRVjdYU2FKDQoJCXc0ZzBWbFpmUDBtMTNkd2VwUGJ1aUg4NWZ5aHlXQ3g0L3VieGpVNmtrZHhXSHQ2OVZDNlhwWmxGQkFod0pnd0pKSEFtUktvcmJqOTQNCgkJZXd2b1JCcmJ1eWt2VDVSMi8rbExUcDA1VHA0NVNUbUVKWUpCTUFqQnlJTHhZZU05anpyM0dDY3pHcEhHWUFRaFJNNmZPOHVGeTFmSg0KCQlRb2FVd0NLWUVjd3dDNFFRYUdVQmQzNktURG1RNTIzYXhUR1FtRWNJRUJPUktRZkcxWkR4Y0EvTWtCeFh3ajFnZ0NReVM5VFZBTW1aDQoJCWlVeEo4TG4va1MrOVBtT3ZjU1cranJhbzBtbU1INWJ6SGZhKzlVR0JtY2lVQkorMkZtaDFoK3lUUUNYU2tKa2RDcnBkOGJ0SXd3RUoNCgkJUW5hRWtPWE1rN1hhaUY4Q1V4TC9KZEtRT3diME50YzVTRzl6SFhRTmQvWkZHc2FFZUxhMkNoanpYUWNxWmlLTnhTTDB2UjR1blZ3dw0KCQlNRU5NQ0FUaWIwWmRWK1F0RTQxSTQyZ2VYdDFaZTNkbE1OWkZkdzZVdDZDSXZLQmhramlNNzlQeXExWVVtdGtLQUFBQUFFbEZUa1N1DQoJCVFtQ0MiOw0KCQkkX2ltYWdlc1sicHJlc2VudGF0aW9uIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMA0KCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFIZVNVUkJWRGpMalpPL2kxTkJFTWMvdSsvbEJZeGlMa2dVDQoJCTd2UnN0TEVVRHl4dHhWNjh5a0lNV2xvY2FHSHJEMUR4U0FxeE5mNHQxMTVqbzZEWWhDUkNFc2s3MzNzN3UyUHhrdWlSb0JrWWRtR1oNCgkJejN4bmRzYW9LZ0RHbUMzZ0xCRHhieHNBMzFVMUFLQ3F6Q0JYc3l3Yk8rZThpT2dxejdKTTIrMzJXK0FpWUZYMUdHREhPZWVuMDZtbQ0KCQlhYnJ3eVdTaW85RkkrLzIraW9qMmVqM3RkRG9MaUptK2JpbUFoZ0JlVWU5Um1ia3JUNXdnVDk3UmFEUW9pb0lRQXQxdWQ3L1ZhcjFoDQoJCSt1cSsvczkrUExpbHcrRndxU1JnSjFZcGV4SFNLZW5IRjRERmYvdUMzYjdDeWRzUHNhZnJhTzVJa29UeGVFd0lBUkdoMld3Q1lOVUoNCgkJQU9tSFo1eTRlWS9hN2g0aFBjSWRIdkR6L2ZNU25qdmlPQ1pKRWlxVkN0VnFkZkVsOFJ5Z0hrejlETFpXUXpPSGlzZDlPaXpmY2tjVQ0KCQlSUmhqTU1iTW0xNENRbEVDL05mUGpQZDJDU0pRQ0VFRURXWUJzTlppakZrYUNxdTVLeStibHdsNWdlYU9VRGcwYzhUbk5zc1NDbGtFDQoJCVIxR0V0WFlaY09ydUk2SUxsMUFKcUFUaXJXMDJIcjhzRlRoQlZaZmtseVhNRmRRYmJEemRYem03OHo0Qng3S1hUY3dkZ3pzM3lpenUNCgkJenhBaEh2Vmg0YXZxQnpBemFRYTRKaUlIZ0dFOUMzRWNYN2V6aFZJZ2VPOS9BV0dkWU8vOUVlRE5YK3Q4ZnJiT2RrMEZIaGo4QnZVcw0KCQlmUDBUSDVkT0FBQUFBRWxGVGtTdVFtQ0MiOw0KCQkkX2ltYWdlc1sic3ByZWFkc2hlZXQiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlwU1VSQlZEakxqWk5QU0ZSUkZNWi85NzA3bzBTT09zaE0NCgkJMHgvSkZ0VW1pc0tCb29WRUVVVGhzZ2kzS1MwQ04wRzJsYWdXRVlrU1Vkc1JXZ1NGRzlzVkZBVzFFSXdRcVJaaWlET1pZODA0Yjk2Nw0KCQk5NTQyNDloVXBCOTh5L1BqTzV6ektSRUJRQ20xRTBnRFB2OVhIcGdURVFlQWlGQ0RIQW1Db0JoRmtUWEd5TDhjQklHTWpvN2VBM1lEDQoJCW5vZzBBTEpSRk5sU3FTVGxjcm51bFpVVldWNWVsc1hGUlRIR3lNTENnb3lOamRVaGFuQ3lWOWF5T1NlSWRUZ25PQ3RZNDNEV1lZM2oNCgkJOXVseGtza2tZUmppbkNPWHk0ME1EQXpjWlhDeVZ6WlMzOE1lS1JRS2Y2MEVaUFhTWEluTDl5K3dMWk1rQ01zMFJSMjhtSjJnclNXSg0KCQlFbytsSDkvSXBOUEU0M0dLeFNMT09Zd3hwRklwQVBUV2ppYU90WitnTGRGS2xKbEQ4dTAweFdQOGxPL001K2U1ZWZFQjE4YjcwVnFqDQoJCWxNSmFpKyt2SDhxTHFvYStubjQrZkptaU5OUEN2TXpRbklqelp1bzFWODhOczMvSEFjS0t3ZmQ5dE5ab3JZbkZZdXVBTUxETWZKM20NCgkJK2ZRem5yN0wwVms5ekdwTG1lekI0engrK1lnZ3FoQUZFWjduNGZ0K0hWUUhWTW9CNSsrY0pOV2FSclF3TWpITTlxQ0xURmNuSkpxNQ0KCQk5V1NJTUxBb3BRRHdmUi9QOCtvQWJhcVdLMmVHU0d4cHhWckRudlErM3MrKzR0UG5qNFNld1lzY1VkVWdJaWlsY000MS91WFpHOWtODQoJCXo5aDlhYStFWWRqZytobkR3SERxK2lHc2FYd2NaNlhoc2RaVytGT3FGazBCM2NhWXQ0QmljM0phNjZOZXJWQUNPR3R0QlhDYkdiYlcNCgkJcmdKVy9WYm5YYlU2ZTV0TVlJSDhMNTRYcTBjcTAxOCtBQUFBQUVsRlRrU3VRbUNDIjsNCgkJJF9pbWFnZXNbInRleHRkb2N1bWVudCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSWRTVVJCVkRqTGpaTzdhNVJSRU1WLzkvRjl5YUxCelFZMw0KCQlDQzdFcEJHeFUyTzBFQkcwc3hIQlVpdFRXWWl0WUNzaWlKTDBOdmxmZ29XU1JwR0E0SU1zbTQzWlhjaG12OGU5TXhaWk4xR0Q1TUNCDQoJCVc4eWNlNGFaWTFRVkFHUE1hV0FhY1B3Zm04QTNWUlVBVkpXaHlJVXN5N3BsV2NZUWdoN0dMTXQwYVducE5UQURXRlg5UTJDK0xNdTQNCgkJczdPai9YNS94RjZ2cDUxT1IxdXRsb1lRdE5sczZ2THk4a2pFM0h1ejlxUElRamNVZy9HWmVuVk9va0lFaVNCQkNLVVNRK1RGd3dhMQ0KCQlXbzJpS0JBUlZsWlczaXd1THI3aXpzc1Bud1o1MERMSW9Xejl6UFQrcy9mYWJyZi9HUW1ZOTdHSUlYR1dwMjgvMDhzaTUrb1YxamNHDQoJCVRDU082bkhIMnBkZFlxbWthVXEzMjBWRUNDRlFyOWNCc0JJVkJiSmNTZFhRbUs3UTZRc25xNTRzajJnQnBsUzg5NlJwU3BJa2pJMk4NCgkJalZaaXRkaDdqQU9TSzZ0clhjcEMyR2psZlAxZXNIRCtHRFlvemptODkzanZTWkprWHlBV2Urc3NjNlc1RzluYUxxa2F3L3BHeEJybA0KCQkxdFZwSkNyV1dweHpJNkdSZ09RS0N2MkJZSFBsNXVVYXRST2VTc1Z5N2VJa1U5VVVpWW94QmdEbkhOYmFndzRVNnlBV3dwbXBoTnZYDQoJCVQ2SEFoQVp1TE5SeDFpRERXekhHL0w2WkVieUpWTGEyYzU0L1Bnc0tneXp3NU1IY3FLQzluUk9LL2FhRHZ3TjRLWVM3ajk1OURIazINCgkJUHR1WW5CVUJGVUVWVkJRUmd6WDdJL3dOTTdSbWdFc2hoRlhBY0RTSTkvNktIUVpLQVlreERnQTVTbk9NY1JlSTVrQ2NHOE00MnlNNg0KCQlpTURtTDI2MWVhT09ucXJPQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJ1bmtub3duIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVFBQUFDMStqZnFBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMA0KCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFDNFNVUkJWQ2pQZFpGYkRzSWdFRVducnNNbTdvR0dmWnJvDQoJCWh4dlUrSXExVHlqVTYwQmYxcGFjNFljNVlTNFpBdEdXQk1rL2RyUUJPVndKbFpyV1lrTGhzQjhVVjlLMEJVclBHeTljV2JuZzJDdEUNCgkJRVVtTEdwcFBqUndwYml4VUtIQmlaUlMwcCtaR2h2czRpck5FdldEOGhlSHBic3lEWHpuUGhZRk95VGpKYzEzb2xJcXpaQ0hCb3VFMA0KCQlGUk1VakErczFnVGphUmdWRnBxUndDOG1mb1hQUEVWUFM3TGJSYUpMMnk3Yk9pZlJDVEVsaTNVN0JNV2dMektsVy9DdWViWlBBQUFBDQoJCUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJ2ZWN0b3JncmFwaGljcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSVdTVVJCVkRqTGhaTlBieEpSRk1XaFJyWXUzTnJFeElVYg0KCQlkeld0ZTZNN2QzNEVvMkhqeG04Z3daVXhJWUVBUlVLQVdnd2JWMEJweEFXMTFicFFGckNvQ1ZFTURwbGhRTW93NzgyL2VueDNXc2lVDQoJCTBqckoyYno3enUrOWU5NWNId0FmU1h6WGhGYUVWditqNjBKTE01OEhzR0lZeHNpMjdTUEhjYkJJb281b05CcnhRcnlBVlRKUEpoUG8NCgkJdXU2cTArbWdWcXVoMFdoQWxtVVgwdXYxRUl2RlpwQ3AyVThBMnNBNWgybWFZSXloVUNoQTB6VFU2M1VvaXVJQ2FKME9TU2FUeDVCNQ0KCQlBSm5wcXFWU0NibU5UV3hWdDlGc050SHY5OCswNUdZeUQ3QXNDNVZLQlp2RmQvajJrNkV0YzZnakhmTGdFTEtpdWplUkpHa3hRR1NBDQoJCVlEQ0l4OCtlSS9PUkliM0xrZjBzV3ZtaW85YWFvQzJOb1E3K1FGVUhDd0ZyNVhJWjhiZnZoWkZocTJYZ1U5dEViMlRqOTlEQ2djVHgNCgkJOVllT2c2NEdaVENHUFFkWUVucGFMQmJ4Wmw5SGZJZWpvMXJnNW5HdnRpM0NNeXhvdW9uaElZTThaRzdOQldTejJZZXBWS29iaVVSKw0KCQlVWGpyd3J5K3d6Qm05cW5BcUQwM1lIb2hic0FTVVArbHkydStYQzdYem1ReXQ5THBkSmMyeHVzY3IwVUxVOU5VRkM2SkRpRlJDeTRnDQoJCW44OC9FV3FGdytFRW1mTDdISzgrOEZPQXFkbXJXWWpDN0U4a0VsY0NnY0FkV214Mkxielk1bUNtYytZV1hwMzNIL3cxTFFlaEtoUFANCgkJWnVLOG1UalIwUXh3QXJrdFF0S3BzTEhIRWFyd0M4MWlyK1pPcndld1RCQ2lYcjE1Ny83ZDBQZnFqUWN2SDEwdzFqVDZ5LzhBL25ISg0KCQlIY0FnbTJBQUFBQUFTVVZPUks1Q1lJST0iOw0KCQkkX2ltYWdlc1sidmlkZW8iXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlmU1VSQlZEakxwWk5QYUJOQkdNWGZicnViekJxYmc0a0wNCgkJMGxKTGdpVktFL0FQNktsNlVVRlFOQWVESUFqVlMwOGFFTHg1OUdRUEFSRVYvNEJlaXFjcVJPcFJENHBVTkNKU1MyMU9nbG9JU1dNRQ0KCQlaL2FQYjZBUmROZVRDejkybU8rOU45L3c3UnBoR09KL25zSCtvbHF0dmcrQ1lKUjhxOVZxdVRoeHVWeitvSlRLZVo2M1VxL1hDMzhFDQoJCTBKajNmZjgrT1Z1cFZHTGJvbGt6UXc1SE9xQXhRVTR3WFdXblpyeWttWUQwUXNnQU9KZTlocEVVY1ByOGkwR2FKOG4ydnMvc0wyaDgNCgkJUjY2VHBWZldUZEVUSFdFNkdSR0tqR2lpS05MaWk1QlNMcE43cEJIcGdNWWhNa204dFBVV3ozc0wyRDF3RmFZL2p2bldjVFRhRTVEeQ0KCQlqTWZUVDVKMFhJQWlUUlluM0FTd1oxTUtiVG1ON3orS2FIVU9ZcW1iMWZjUGlOYTRrUUJ1eXZXQUhZZmNIR3pEZ1ljeDlOS3J3SllIDQoJCUNBeUYyMUppUFdCblhNQVFPZWE2Ym1uKzR1ZVlHWmk4Z3R5bU5Wb2JGN0JHNXByTnBqZCtlVzZYNEJTVUQwZ09kQ3B6QThNcEEvdjINCgkJdjE1a2w0K3BLMGVtd0hTYmpKR0Jseit2WU0xZlFlRHJZT0JUZHpPR3ZEZjZFRk5yK0xZakhiQmdzYUNMeHIrbW9OUWpVMnZZaFJYcA0KCQlnSVVPbVNXV25zSlJmamxPWmhyZXhndFlEWi9nV2JldE5SYk5zNlFUMTBHSmdsTms2NEhNYUdnYkFrb01vNWZpRk55N0NLRFFVR3FFDQoJCTVyMzhZa3R4QWZTcVc3WnQzM2w2Nld0a0FrQUNqdU5zYUxWYUR4bHc1SGRKLzg2YVlyRzRXQ2dVWkQ2ZlgranYvVTB5bWZ4b1dWWm8NCgkJbXVaeWYrOFhxZkdQNDlDQ3JCVUFBQUFBU1VWT1JLNUNZSUk9IjsNCgkJJF9pbWFnZXNbIndlYnBhZ2UiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUp3U1VSQlZEakxqWlBkVDFKaEhNZXR2eU8zL2dmTEt5KzYNCgkJOGJMVjJxSUFxN1V5RzZJcmRSUEw1aHMyVTVGUjBNSklBcVpsaDdCVlZpSTFra3l5aVBrQ3lVdHp0UVlUWWJ3SkU4VytQYzhwam9mSw0KCQkxZGsrT3hmUCtYM084M3NyQVZCQ0ljOGVRaG1oL0Ivc0plem00bmlDc3ZYMTljVG01dVpXUHAvSDN5RG5VS3ZWS3I2RUx5aW53V3RyDQoJCWE4aGtNaHpKWkJMeGVCd3JLeXVzSkJ3T1E2UFJjSkpDOEs0REovZFhNMDRET3N3TnFOT0x5YnNSbzlONkxDeTdrVWdrRUlsRVdFRTINCgkJbXdYOWlWYXIvU21oZ2xxZDhJUkVLd3lhM3FoZzgwOWdQTGdJL1hzck9wL0ljWFZNaHFuRlNheXVydjZSRWxzVDZaQ29vdjV1MWZ6VQ0KCQlWd3ZjS1JkZWZWdUVLUkNBM09GSHYyTU94dGxCZEZ1YU1mL1poV2cweXQ0a0ZBb1ZDWlMzSGQxZ2twT3dSdDloMExPRVMzWXZhbXpQDQoJCWNkRjdBNnJsUHJTYnBiaFAwa21sVW13OVlySFl0b0RrdTJUNnBFWi8ySUNYRVE4a1R6K2cyVGtOY2VBS0t2Mm5JSGFjaG42cUJ4MU0NCgkJSTV0L09wMW1SWHpCZDMxQWlSYWZCcDF2WnlFY2NlR0N6UTZwMjR5akV6b2NHVDZMVWFjUzBpRXhjcmtjSzZGc3A2QVhMUm5tRk9qeQ0KCQlQTUlaaXhQSG1BQU9HeFpRZWMyT1F5bzd6cG02Y05ONkdaMmtLMVJBb2ZQQXI4R0E0b1VNcmROTmtJdy93UEZoRHdTalgzRHdsZzBDDQoJCVF5OTZIcmVpVGxjRlpzYUFqWTBOTnZoM1FVWHRIZUhjb0tNTkE3TmpxTGQ4eEhtekR6WERSdlJPMUtIdG5nVHloekw0U0hlb29BQW4NCgkJS014QnRVWVFiR1dhMERjK0FzV3pTVnkzcWtqZUl0TENGc3o0WG9OTWFSRkZBbTRTeVRYYm1RYTJZSFFTR2FjUi9wQVhPK3pHRmlmNA0KCQlKZGxIQ3BTaEJ6c3RFeitZZkp0bXQ1Y25LS1dTLzFqbkFuVDFTMzhBR1R5blVGVVR6SmNBQUFBQVNVVk9SSzVDWUlJPSI7DQoJCQ0KCQkNCgkJJF9pbWFnZXNbIjd6Il0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOw0KCQkkX2ltYWdlc1siYXMiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlxU1VSQlZEakxqWlBOaTFKUkdNYW4vb29XRGJTS05xMnMNCgkJZ1pxaDBVZ3FLVm9PVTdPb29FV0xnWmkrSklhWUdvbGFSQVM2MEpYdXhKV29JQzZFMEtBZ0F6R2JDcXBGbXVhMzkzcXY5K1BvUEozMw0KCQlUSFBIY1l5NjhIRFB2ZWU4di9lOHp6bnZGSUFwRW44T2N0bTRadjZoUTF6N3JiZ1JnRTNYOVM1amJEZ1lEREJKZkI1ZXIvZmxLR1FVDQoJCU1FUEJpcUpBVlZWTGtpU2gwK21nVnFzSlNMVmFoYy9uc3lEYndmc0lRQXMwVFlOaEdORGV2SVgyOUJuVXh4NTB1MTNVNjNVQjZQZjcNCgkJb0NSK3YzOExNZzZnWUNPZGhuYjFHZ2FlVmFqbkwwQ1daVFFhalQwbENVL0dBZWEzNzlBV0ZzSHUza0ovNFRMVU8vZXRVcHJOcHRoSg0KCQlwVkw1QzRBeDZJL1d3VmJ2b2U5K0FNYXpNdnJIelNNSTdZVDhhTFZha3dIczh4ZG9TMWVndUM3Q2VKVUJhM2ZFd2tLaGdFd21JK3BQDQoJCTgvTHkrZnhrZ1A3OEJaajdOZ1lQM1pEbjdGRFhQR0poS3BWQ3VWd1cvdEE3SEE3dkJhd2RQckpFbVpsN2hRYzdJSjJZdHdDeFdFeVUNCgkJSWd6bUNnYUR1d0YxNTdrRGxWT25DK2JLTW1TN0U4YTc5ekEzUHNFcy8wUThIa2MybTRWcG1rTGtCNVVSalVhM0FNcFoxK3Vldy9sVg0KCQltbk13L2NaMXFPdFByR09pcktWU0NjbGswZ0tRUXFHUU9GWUI2Tm5QS1BLc2ZkTll2Z25KZFFuc1YyM1hXUk1ra1VpZzNXNkxNU2tRDQoJCUNPeVVJSitjaDNSOEZqK08yajZZSHpjMkovVkFzVmdVRUJwSEloSGtjamthRHkwUC9oaDVqQnVrMHNRNGdPNEFYU0lhMDliNTk1Q3YNCgkJN1ludUhRRk1FK1EvMm5sYjFQclR2d0dvMkszZ1dWSDNGZ0FBQUFCSlJVNUVya0pnZ2c9PSI7DQoJCSRfaW1hZ2VzWyJhdmkiXSA9ICRfaW1hZ2VzWyJ2aWRlbyJdOw0KCQkkX2ltYWdlc1siYnoyIl0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOw0KCQkkX2ltYWdlc1siYyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSGRTVVJCVkRqTGpaTkxTK05nRklhZCtSMEt3dXpjU1FkZA0KCQl1blRXWHJhS0E0S0N1RktjV1lxZ1ZiRTRUS0pXTnlxQzJvSEtvREJlRUJGMDRVcEZVVlFxVW9lbVNWT1RKcjJscmI1KzV4c1RVeStqDQoJCWdZZGMzeWZubk9RckFWQkNzSzJVNFdGVXZVRTU0Nk9UY3drODJXeFd6K2Z6dDRWQ0FTL0I3a01RaEI5dWlWdFFSZUZrTW9sVUt1V1ENCgkJU0NTZ2FScGtXZVlTU1pJZ2lxSWpzY01mU0VBUFpESVpXSmJGOTRScG10QjFIWXFpY0VFNm5RYTl4Ty8zLzVPUW9NNTcvcW0yYTNQRw0KCQl0eXpEdHh6Ri9GWU1lNmM2RjFEQU1BekVZckZuTGZHWjFBOWRldnFDOG8yd3BtTDhqd0poUmNidzd5Z0dBeEpZUzd4dnV4VlZWWGtsDQoJCWtVamtVZEFzaGdQK0RSVmZ1cmVYYlBQY3VvS2UyYi9RREt0SVFwWFFQT0x4K0tPZ2YwbkdDQ3U5c21IaXU3dThJR3VEQkhSc1M2Z2QNCgkJbWdtSkhFSGZMd245d1NncWFnYzZYdnQ4UkM2WDQ4TWxDZUVJMmliRElTOFRWRFlHQkhmQU8zT05vd3ZUT2FjcVNFQlFOWTZncHZPaw0KCQlwM2N4Z3E4L1E4Wnh5SVNXc0RBd2ZZMzJzU3NjbmhrOFNGQUZCSVdMQlBRWnExc092alg1TG96T3FUQmF4U3UwakY1aVlWVitGblpUDQoJCUpMQi9wTjBERFR2N1dsSHZ0dVFwTHdyWXhidi9EZklKdDQ3Z1FmS1pEU2hGTjk0VFpzK2FmUFc2QkdVa2VjZHl0cUdsWDNZUFRyN20NCgkJb21zcE4wWUFBQUFBU1VWT1JLNUNZSUk9IjsNCgkJJF9pbWFnZXNbImNhYiJdID0gJF9pbWFnZXNbImFyY2hpdmUiXTsNCgkJJF9pbWFnZXNbImNwcCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSC9TVVJCVkRqTGpaUE5heE5SRk1XcmY0Y0Z3VjEzSlZLWA0KCQlMdXRhNjFhcElDaElWMHJibFVxaGpZcFJjVWFOYm94SXF4RlRRZ1Z0aTRoUVFUZTFDN0ZGU1Vtbm12bU04NVhKekNTcHgzZWZ6bVRTDQoJCVJ0cUJ3N3laOSs1djdybDNiZytBSGhLN0RqQ2xtQVoyMFVHbS9YRmNBcEFLZ3NCcU5wdGJyVllMM2NUMklRakNuU1FrQ1JpZzRGcXQNCgkJQnMvell0bTJEZE0wb2FvcWg4aXlERkVVWTBnVXZJOEFkTUQzZllSaHlPOGsxM1ZoV1JZMFRlT0FlcjBPK2tnMm0vMExJY0R4OUxkRA0KCQlneGZmNWpKektqSnpDbWJlNmZpMGFuRUFCVGlPQTEzWGQxamlOVGx4ZlQwMVVWQi9DZk1HN3IvV0lMeFNjYU9vNEZwZUJyUEVmVWRXDQoJCURNUGdtVlFxbFRiZ3RDamxzNHNHamwxNlB4dVJueTVvR0gzeUE3b1pvUGpSNEJEYnFlSGxrc0xyVWExVzI0REpXUlUzV2VyOVF3L0cNCgkJaytrVm1BMmxHdURLdE1RenNWd2ZsNmMzZUUzSVVneVllQ0Zqc3FDZ2IzRHFRaEp3cS9nVFk3bHlWNjFKZGh0dzdxRlVTak5BLzhtOA0KCQlrQVNrYzV0WVhuTjRCdlRzMWtPMjN1QWRJa3N4NE9qSTE5R3J6eXM0Yzdma2ZDbTVNTzBRVTQ4M2NmNWVHY3VyTnE4QldmRDhrSzExDQoJCUh0d0JvRFllR1Y0Wk81WDU3b3c4a25CV0xHUDQ5anFldlZGNUlLblJhT3hRQnlENmtUNnNtRmo2YkhiME9vSnNWMWNBZS9uN2YzUFENCgkJUlZzeDRCL2tNQ3VRUnh0N0NXWm5YVDY5Q1VBdlFmWXd6cEZvOUh2L0FEMzMyZEtuaTlYbkFBQUFBRWxGVGtTdVFtQ0MiOw0KCQkkX2ltYWdlc1siY3MiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUpPU1VSQlZEakxqWlBiYXhOQkZNYXJmNGNGd2I5QUlnWEINCgkJUjE4RW55dytpMWdzNGcwMWtwaFNsUGpRZUF0TnpOcUdOTFZwTkNHaEV2QlMyMVJyMFpJSzZvdkZpS2JOYlhOcGRwTnNzdG5jVXo5bg0KCQlOaWF1RXJFREh3TXo4LzFtempseitnRDBVWkd4aDBoRk5QQWY3U1hhM2ZVcEFLcGFyVlpvTnB2YnJWWUx2VVQyWWJGWVRFcUlFakJBDQoJCXpaSWtvVnd1ZDFVc0ZpRUlBaktaakF4SnA5TmdHS1lMNlpoM1VRQTlVSzFXVWEvWDVabXFWQ3FoVUNpQTR6Z1pVS2xVUUMreFdxMXQNCgkJQ0FVTTN2Nis3NGh1MmNINGVVejZPY3dGY3ZnWUVtVUFOWWlpaUZGM0FxNVhISUpSQ2VxSExPSmJGY2c1T1c2TXFtNDk1ZkwyTnpuWQ0KCQlsN093dmVZeHNaU0Y2UVVIRXBJYzkrZVFnT3Z1Rkw2RU1qQzZ3cmc0R1paZkl3T0diYXpYOFRhUFkvcUFyNU1zNzJvT0J0OFdrbndWDQoJCWVtOEtXbWNDWTAvUzBFMUhjWFl5aGpOTUJBWUgyd2FZRjhpemwzSTRlR0xxbWpMano5YnkrUFJOeENNUzBrMEMwYyt5TURqajBNd20NCgkJTU9HSjQrVnF0ZzBZbitkd2Y1SEgvc0c3NS80dVd6QWl3YmZDUStkTVlTR1F4ZGhNSE1QbU1GWSs4TWdYNjIzQWlEdTkrWUFBRGczNQ0KCQlMRXJ6SFU4U0drY1NJNCtUMERvU3VHUm5vWjVtY2RJVXdkQzl6ZDg1T0hwalF6UCtuTU9WbVpqNE5TWkJLTlZoOUxiTjZ4c2xuR2FpDQoJCThDeG1NUCtPbDgxY3Jpd250Z3VnWlR5c0Rtb3ZURVhFVVZjS1Y4bHQ1MjBzNWtqSnZQNE1UcGtqeUFwVlhDWm12VFdLUnFNaDZ3OUENCgkJNXlPOVh5OWlqVWdaQ2kxbEwvVUVrTVVmLytxREh0cnVBbjVCRHBBdlhLWWJPekdUc3lXNWV4V0FmZ3JaUVR0M1JGdS8veWZIVnNYLw0KCQlmaTV0andBQUFBQkpSVTVFcmtKZ2dnPT0iOw0KCQkkX2ltYWdlc1siY3NzIl0gPSAkX2ltYWdlc1siY29kZSJdOw0KCQkkX2ltYWdlc1siZG9jIl0gPSAkX2ltYWdlc1sidGV4dGRvY3VtZW50Il07DQoJCSRfaW1hZ2VzWyJkb2N4Il0gPSAkX2ltYWdlc1sidGV4dGRvY3VtZW50Il07DQoJCSRfaW1hZ2VzWyJleGUiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pmcUFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUVrU1VSQlZDalBiZEU5UzBJQkdJYmh4eG9iV3hQOEQ4cjUNCgkJSTYwUkxnME5OVFMyMVZCUlF3ZzFhQTRWT0FXQnBCVkNGaEtVdGtWSnRQUXg5R0ZGV2g0OXgzUDBidkFqanNXelhyenZjQXRwUkVFWg0KCQlmUXRvQUNFa3BLQlZkcG91djdOWWkzU0prQXluV2NYRXhLVENKNis0UExQZUlaSlBoa3NkbXpwMXZpbFR3cVZHbFdoRWdSNndzYkdwDQoJCVUrT0x0OTRyR2ZKMWdJT0xpNE9GU1lWM1NqeDVRWGR0a2lIRngvL2dqaXdsVHNoeVQ1TFYzVDhnd3kzSEZMbmhrQ3VXbUIzcUEwVXUNCgkJMldHT1pWSVVtTi9ydTVDaXdBc0xOTENJOGNnK2kzaEFnZ01laU5PZ3dRYlhSSm53Z2hvWDVEa2lUb3cwT2NMSjhIQWJ0THBra3p3Sg0KCQlDdVRZNHBRcHBnZUZGTEpOdHhNcnpTUkZ0bG5odkRYTzZGazdsbDhoYit3WnhwQ2hvUHpvQjZhaVhJWWNTTERXQUFBQUFFbEZUa1N1DQoJCVFtQ0MiOw0KCQkkX2ltYWdlc1siZ3oiXSA9ICRfaW1hZ2VzWyJhcmNoaXZlIl07DQoJCSRfaW1hZ2VzWyJnaWYiXSA9ICRfaW1hZ2VzWyJpbWFnZSJdOw0KCQkkX2ltYWdlc1siaCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSHRTVVJCVkRqTGpaTkxTOXhRRk1lMTM4QzlBLzBPeW55Qg0KCQlVamVGUWpkdVJPaTJNTXRDRWFsUzBUb0xFZFFNZEVTaG9LRFdSeW1LaWdXeElJN1BoYUI5YUJGVUpqSEpwSGxubnZiZmUyN05KY1ZJDQoJCURmd0l5VDNuZDg4NWNPb0ExQkhzYVdRME1aTC80U0hqZ2NpTENKcEtwWkpWclZhdmE3VWE0bURua0NScEtDcUpDcEtVN0hrZWZOOFgNCgkJMkxZTjB6U2hxaXFYS0lxQ1RDWWpKR0Z5UFFrb29GZ3NvbHd1OHpmaHVpNHN5NEttYVZ3UUJBSG9rbXcyKzFjU0NscFNVbXIxMk1QNw0KCQlMUXVuaWk4a2xPQTREblJkdjlVU24wa29lUFJpSkRXK2FUR0JqY09MZ0Fld2xuamZZU3VGUW9GWElzdnliUUY5akcyYXZJS0ZQUXR6DQoJCU95Wm1jeVpNdHl3a1ZBbk53ekNNZU1HN2pWK1l5Rm1RMWczMEwya1lXaXRBV3RaRkpkUU96WVJFc1lMaHp3WkdHRitPSGV6LzlQRDINCgkJazRhZWVZVUhWeW9WUGhlU0VMR0N3UlVkQSt6Ry9WTVBleWN1M2l5bzZKNVd4RHhJUUZBMVF0Q2F1VXdQck9wSVBoL3ZTQytxU0MvcQ0KCQlQSG4zdTR1dTJTdThuc3J6WktxQW9PUi9CTzJqK1ErRFRQQzAvMkNkU3U3OXFPTFZsSXlYazNsMHpzam9tSll4djZFTFFZZ1FQT2s3DQoJCWEyanBPbm1jYUc1N3R2dUQzZnpOeGM1WEI5c0VtMFh1eU1iNVZjQ3JpQkk3QS9iejkxMTdFTU8xRU54SW10bUFmRHE0VHpLTGRmbjINCgkJUmdRSmt0eGpuVU5vOVJOL0FGbVR3bFA3VFkxdUFBQUFBRWxGVGtTdVFtQ0MiOw0KCQkkX2ltYWdlc1siaHRtIl0gPSAkX2ltYWdlc1sid2VicGFnZSJdOw0KCQkkX2ltYWdlc1siaHRtbCJdID0gJF9pbWFnZXNbIndlYnBhZ2UiXTsNCgkJJF9pbWFnZXNbImlzbyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSXNTVVJCVkRqTGpaTmZhOU5RR0lkblA0Y0R2OE5rbjhQTA0KCQk2VWZ3U2dRWk9vU0JZa1V2WkxOMWxNRkFyUXlIcnNJdVdrRTN1ZzJ0MUszTzBMWHJab3RkbHpacDBxWnAvcWM5UDg4NTJxeXlpZ3M4DQoJCUY4bko3em52ZVpOM0RNQVlnMTRYS1JPVXlmOXdpUklLY2tPQ0NjZHhOTi8zKzcxZUQ2T2c2NGhFSW5QRGttSEJKQXNiaGdIVE5BTTYNCgkJblE3YTdUWWtTZUtTZXIyT2FEUWFTQWJoQzdlZkpHWTI4Z1pXUHJVUVR5dDRsMmxDS0xmUjdYYWhhUnBrV2VZQ3k3TEFOb25GWXI4bA0KCQlxenQyNlBVWEl4emY3cENmaW9lUzVFSTJmVlFrRytHVkgwaGxSVnFGam1hemVlWkl2Q2MwUEJYZjFvaHU5NkdaQkVuQlFNTW1jQWpnDQoJCWVIM2NXUktReVRmNFVSUkY0WldJb25ncW9PRlVSWFpwVUVPdDFZTm0rQnpESTZBZUZLbzZJcXNGM2c5ZDEzay9WRlU5RlN5dEs5VjgNCgkJelVKaVIwV2JCaCsvMmNWaWNoK3Ryb2R2TlFlRkV3dlRzYS84QzdEenM1NHdVU0JZZU4rb2ZxK2FnZURabW9CWDY0ZFFkUmNiQnlhRQ0KCQlxb0diVHpQd1BBK3U2M0lKSXhETXJSMm5Ea1VUUjZvUHhTSjhaeFl1Tmx4c0h0bllMYWw0OERJSCtvbTVnTUdxQ1FTUDNsYW03aStYDQoJCVNNZnA0MEFGc2pXQ3JiS0hkTWxHcGVuZzJ1eEhwSE0xWGdHRGhmOFMzRnN1aGU0KzN3OVBMKzZSdmJLR2d1aEFPRGFSTFNxNE92c0INCgkJTDVKRnZ1dEFNQ0FRREg2a0s5Zm5aeUtKQW00dFpIRmovak1leG5QWXpKM3cwa2R4UnNCdTZFUHlyemtZUVQ4US9KRmNwcVdhYk9FOA0KCQlZZnB1bDAvdmtHQ2NTYzR4emdQWTZJLy9BbUM4N2VLcTRycnpBQUFBQUVsRlRrU3VRbUNDIjsNCgkJJF9pbWFnZXNbImphdmEiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlSU1VSQlZEakxqWlBKYTFOUkZJZXJhLzhFQ3k3ZFY3dHgNCgkJa2IyVU9vRGd6bzBSM1l1THJGd1dJVmdsV1FSdE4wR0NMa0lpeEpESlFKS0dRT1lCQTRha21lYzVlU0ZUL1huUHNYbE5zV0lmZk9UZA0KCQlkM08rZSs2UGV6Y0FiQkRpdVM3WUVtei9oeHVDcTNMZG1tQnJPcDMyRjR2RnlYSzV4RVdJZVdnMG1uZnJrblhCTmhXUHgyTklraVF6DQoJCUdBelE2L1hRYURSWVVxdlZvTlZxWlFrWEd3eUdtMnExK2swMEdrVWtFa0U0SEVZd0dHUUNnUURTNlRTS3hTSUxKcE1KYUJHZFR2ZEgNCgkJWWpLWkh2cDh2dU5zTm90NnZjN1FhdlJMcTFVcUZjVGpjYmhjTHJtTEZaeUoyKzB1OVB0OWhDMWY4T0hwRHQ0L3VvTzM5Mjh6bXNjSw0KCQlIRDUvZ0tQUEI4am44eXhwTnB1b1ZxdG5BcVBSaU9Gd2lQR2dCL2ZoUHI3dXZjSkg1UzRPbnQzRHA1ZFA4RzMvTlg0Y2ZlZENpOFhDDQoJCWVYUTZuVE9CeldhVDV2TTVKMHlURkZ5MzI1V2h0bWtiaE4xdXgyZzA0Z1ZsZ2NmaitVbURVcWtFaDhPQmNybk03eFJhTHBkRElwSGcNCgkJY1NxVllpaEVZcjBETDYxTzZmdjlmaFFLQmQ0dmhVcnBrNkRkYnNOc05yTjhOcHR4dDdKQXBWSzlFTVc5VENiREVncUkycVVPU0VMdg0KCQlKUEY2dmJ3OUtqNG5FTTgxcFZKNVY2L1hIOGRpTVE2SWFMVmFMQW1GUW5BNm5meU5zbG9oQzA1UDRSV0ZRckZMSFZpdFZvWVNGMmNFDQoJCXlXU1NneE9uOUJ4L0NXZ2dQdjc2MXoyNGdCTlpjQ3E1SlFLU2FPSXl4ZUsvSTc2OWE0Sk5rbHppT3ErZ3E3LzVHeDE3MmtaZ2ErWFcNCgkJQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJqcGciXSA9ICRfaW1hZ2VzWyJpbWFnZSJdOw0KCQkkX2ltYWdlc1sianBlZyJdID0gJF9pbWFnZXNbImltYWdlIl07DQoJCSRfaW1hZ2VzWyJqcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSGRTVVJCVkRqTGpaTlBheE5CR0lkckx3VVJMem5XZ2tjdg0KCQlJclFoUnc5RkdneTAxSVkwVFZzUTBxNkdGa1Qwa3dqSklkOUFQNEFIUDRROUZPMmhKN0VsMit5ZjdPek1iamE3U2YwNTc4UWROeWJGDQoJCUxqd3N6THUvWjJmZW1aa0RNRWZJNTRGa1JWTDREdzhsOHpxWEVhd01CZ00ySEE2dlI2TVJaaUhyYURhYkg3S1NyS0JBNFNBSUVJYWgNCgkJeHZkOWVKNkhicmVySktacG90VnFhVWthdmtNQytpQ0tJc1J4ck42RUVBS01NVmlXcFFUOWZoLzBrM2E3UFpaa0JVUG1xWEFLQ1NqQQ0KCQlPWWR0MjFOTFVqMUpCWVc3QzZ2aTZCQzh2S1dLUVhVWFFjTkE1Tmg2S1k3anFKbDBPcDFKd1kvSGk3bUxwL2xUL3VvQS9PWDJXTEMzDQoJCUM5Rm9RQndmSUxLdWxJUm1RdjF3WGZldndIbXl1TVBYUzVGdjFNSHJGU1RtaFNvbW5VdncvU3BvM0MrdmczLytwSlpEUFNHUkZ2aWwNCgkJTlYrOFBVWnZvemlLdm4rZDNMWnZKL0JlbE1EZXZJWlhLMkVRQ2lVaHRNRE01M2JZNXJPSUdYdHdqVTNFVnovSE01QXo4ZXBscVBGSw0KCQlFZnpMUjkxY09nOFRQVGdyM011ZEZ4K2Q5b3dLN0tNTlZmUU90eVExT085cWlIc1draVJSVUhoS1FMdXdmSDkrMVhwZmhWVmZVMFYzDQoJCS8vazR6RndkempJbFNBL1N2OGpUT1pPYkJMOXV1Z2N6dU5hQ1A1SzhiRkJJaGR1RTViZEMzZDZNWUlra3Q3ak9LWFQxbDM0RGtJdTkNCgkJZTBhZ1pqb0FBQUFBU1VWT1JLNUNZSUk9IjsNCgkJJF9pbWFnZXNbIm1vdiJdID0gJF9pbWFnZXNbInZpZGVvIl07DQoJCSRfaW1hZ2VzWyJtcDMiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOw0KCQkkX2ltYWdlc1sibXA0Il0gPSAkX2ltYWdlc1siYXVkaW8iXTsNCgkJJF9pbWFnZXNbIm1wZWciXSA9ICRfaW1hZ2VzWyJ2aWRlbyJdOw0KCQkkX2ltYWdlc1sibXBnIl0gPSAkX2ltYWdlc1sidmlkZW8iXTsNCgkJJF9pbWFnZXNbIm9kZyJdID0gJF9pbWFnZXNbInZlY3RvcmdyYXBoaWNzIl07DQoJCSRfaW1hZ2VzWyJvZHAiXSA9ICRfaW1hZ2VzWyJwcmVzZW50YXRpb24iXTsNCgkJJF9pbWFnZXNbIm9kcyJdID0gJF9pbWFnZXNbInNwcmVhZHNoZWV0Il07DQoJCSRfaW1hZ2VzWyJvZHQiXSA9ICRfaW1hZ2VzWyJ0ZXh0ZG9jdW1lbnQiXTsNCgkJJF9pbWFnZXNbInBkZiJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDANCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSGhTVVJCVkRqTGpaUExTeHRSRklmVlpSZFdpMG9GQmYrQg0KCQlyaFJ4NWRLVllLRzR0TGhScWxnWFBtSVZKUWlDNjBKQ0NaWXFGSFFoN3JyUWxVSzdhVlVVZkNCUkc1UmtKcE5ra3N3ck01TkVmNzNuDQoJCTZneHBIdWpBQi9mT3ZlZmpuSE01VlFDcUNQYTFNTm9ablUvUXhxaHg0d29FN1pabHBYTzUzRjArbjBjNTJEbDhQdC9uUWttaG9KT0MNCgkJZFVXQnN2UUoydTRPRE1PQXd2YXBWQXFTSkhHSktJcncrLzJ1eEFtdUpnRmRNRFVWaW5jU3h2RUJUTk9FcG1sSXA5T0l4V0pja01saw0KCQlvT3M2QW9IQWc2UllZTnMya3A0UnFPdmZ1SUFDVkZWRlBCNHZLWW4zcEZqQXlrRFNPd1Z0YTUydnFXNm5sRVFpd1RNUkJLR3lnSWg5DQoJCUdFRENNd1pINkVnb0UrcUhMTXVWQmRiZkt3anYzeUU2T2dqei9QUS9DWlZEUFNGUlJZRTQvUkh5MXk4d3J5OFJHV0dTcXlDL25NMW0NCgkJZVg5SVFwUVYySktJVUg4dnJFZ1ltZUFGd3VQRENIYTlRZWh0RDI2SEJoQ1puWUM4dWNHektTc0lMOHdnc2ppSDFQWVB4TCt2UXZtNQ0KCQlCLzNzQk1MeUltN0doaENlOTBCYVd5a1YvR3ArVlI5b3FQVmU5dmZCVHNydU0xSHRCS1ZQbUZJVU51c0JyVjNCNGV2NmJzYnlYbFBkDQoJCWtici91K1N0SFVreHJ1QlBZKzBLWThmMzhvV1gvYnl2TkFkbHVITkxlT3hEQit1eVFRZlBDV1ozTlQ2OUJZSldranhqbkIxbzlGdi8NCgkJQVNRNXMrQUJ6OGkyQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJwaHAiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUdzU1VSQlZEakxqWk5MU3dKUkZJQ3RGdjJBZ2dnUzJ2UUwNCgkJREZ2VnBuMFBpNGlJdG0xS0l0dldKcVcxcFlzUmVteXlOSUxBUmJacG0wV3RySjBrYm1iVWxIbXI0K3QwejYwWjdvU1NBeDkzNXR4eg0KCQl2cmxQQndBNEVQS01FVndFOXorTUUvcXRPa2JncXRWcVVxUFJhRFdiVGVnRTZZZFFLQlJrSmF6QWpjV2Fwb0d1NnhheUxJTW9pbEFvDQoJCUZLaEVFQVFJaDhPV3hDenVRd0VtVkt0Vk1BeUR0b2lxcWlCSkVoU0xSU3FvVkNxQVArRTQ3a2VDQXZmVTVzRFE4TVJzL09ZTnRyMXgNCgkJMlBYZHd1SlNoTExsamNGbE5BVzVIQTlraExZcDBUVWhTWU1MSG03UExFRFM3enl3M3liUnF5ZmcrVHlCdHdsMnNEUDFuS1dGaVVTYQ0KCQl6RmV4M3RrNDVzWGpMMUF1bDIwQ0dUcytzeVZZMzdpZ0Jid2cwM2VNc2ZIOWd3U3NyWitEb2lnMlFac2ROaVptTWtWckttd2MxOGF6DQoJCUhLRUx5UXJPTUVIVERKcDhIWHUxaG9zdEc4ZFk4UGlSbmdkV01FcTQ2N1p3YkR4d2xJUjhYclFMY0J2bjVrOUdwbWQ4Zm4vZ0hsWlcNCgkJVDIwQy9ENGs4ZVREQjN5VkZLalg2eFNiZ0QxSWY4Rzk3MFEzUWJ2YlBlaEF5eEw4U2liSkVkYXhvNWRpa3F2UzI4c0luQ2pwNFRxYg0KCQk0TlYzZmdQaXJaNHBENEtTNHdBQUFBQkpSVTVFcmtKZ2dnPT0iOw0KCQkkX2ltYWdlc1sicG5nIl0gPSAkX2ltYWdlc1siaW1hZ2UiXTsNCgkJJF9pbWFnZXNbInBwcyJdID0gJF9pbWFnZXNbInByZXNlbnRhdGlvbiJdOw0KCQkkX2ltYWdlc1sicHBzeCJdID0gJF9pbWFnZXNbInByZXNlbnRhdGlvbiJdOw0KCQkkX2ltYWdlc1sicHB0Il0gPSAkX2ltYWdlc1sicHJlc2VudGF0aW9uIl07DQoJCSRfaW1hZ2VzWyJwcHR4Il0gPSAkX2ltYWdlc1sicHJlc2VudGF0aW9uIl07DQoJCSRfaW1hZ2VzWyJwc2QiXSA9ICRfaW1hZ2VzWyJncmFwaGljcyJdOw0KCQkkX2ltYWdlc1sicmFyIl0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOw0KCQkkX2ltYWdlc1sicmIiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlFU1VSQlZEakxqWk5QVHhOQkdJZXhpZDlDRXI4REJyOEMNCgkJSEVpTVZvb21KaVFreEJJTTNkZ0lpYUlFU0pUR0dwVnR5WEl6SGhvTTRTSWU5S0FuRWk0Y2xRdEpFY3pXRnJiZFA5M2Q3czd1L0p3Wg0KCQk3WFlKQmRua3lSeG1mcy9Ndk85T0Q0QWVEdnV1TVBvWS9mL2hLaU1SNVdLQ3ZsYXJwUk5Dd2lBSTBBMDJEMW1XMzhRbGNVRS9EemViDQoJCVRkaTJIV0VZQmhxTkJxclZxcEJVS2hVVUNvVkkwZzVmNGdLK3dIVmRlSjRuUm81bFdkQjFIYlZhVFFnY3h3SGZSRkdVdnhJdUNLWWYNCgkJem1xWnlaMndLSU84ZlEzLzFVdjRTeS9RV2xpQU8vc1U5cU1abUZNUzNIZnZUMXhKMUlUT1pKOVJwUWk2K1JIMHkyZlFiMTlCUDIzQw0KCQlWaFJvK1R5c1hBNzErWGtjTUlrNmZBZkhLNnRRVmZXRW9FU1huZ05yYTBDNURIWkpZR01EWmlhRDM1SUVpNDFxT28zdmMzTW9KMU9vDQoJCWo5MkhwbWtkUVppVkVzSFVBemw4OGhqWTNnWUlBZGJYWVEwTW9EbzRDSDFrQkhzc3ZIOGpDZjNlR0t6RFh6Qk5zeU5vRi9ISDdXU0oNCgkJWkxQQTdpNnd0UVZuYUFobUtvWGp4VVg4dkRrTVkzUWNubTZJSW5KT0NTNG5FdGU5UWhGK1JoSW5JUk1UY0ZoWXZaV0NjWGNVUG1zbA0KCQk3dzZIL3crbkJGRWI1U0xjOFRUbzhqTHE3TTRtMjVtSGZkOFg4UEM1QXRIclhCNU5kbXdScm5mQ2NjNFZDRW5wQThqUkVhc3A2Y3BaDQoJCUFucldPK2hDR0FuK1NhNnhBdGw4NGlKaHR0WVNyemNtNk9XU0N6em5OdnpwOS80Qmd3S3ZHM1pxMWVvQUFBQUFTVVZPUks1Q1lJST0iOw0KCQkkX2ltYWdlc1sic2xuIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMA0KCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFKUVNVUkJWRGpMalpOdlNCTnhHTWVYOU8rRk9Ba2FMYmVoDQoJCW96ZEdSR2lNUXFUSWxFcUpNSWlnM294bDBZeGNnWXQ2RlVaUnJ5TFl3cEZXQ3Iyd1hnakJJTUpNWWhGamdaU2lFWE9nNWM1TjU5M3UNCgkJZG5lN3UrMiszVjN0VDIyU0J4L3V4ZS81ZnU3dXVlZlJBZENwS0pkSm9WSEI5aDlxRlNyeXVTSkJZenFkcGlSSnltWXlHWlJET1lmSA0KCQk0M2xVTENrVzJOUndLcFVDeTdKNWtza2tTSkpFTEJiVEpBUkJ3T3YxNWlXNThBWlZvQmJ3UEE5QkVMUzdDc013b0NnSzhYaGNFM0FjDQoJCUIvVWhQcC92dHlRbkdCaTAzcFlYanlBYlBRdVJEMnNTYm1VRlZOOU5MSjV1eDlEcnlaSlAwbnFpQ2h6amw0OE9oOW9ZUlBUQVhCVmsNCgkJc2duUzBoUld1N3V4WEcvRWZMMFpaOXlqR0hnYjF0NGtHbzBXQk82QXZjVVZzRlA5b1RaWmpsUUNQN1pBL3I0SnBITTNsdXAySW02cA0KCQlSc1JhaTJQWC9Ham9EV0VrOEJXSlJLSWc2UDE0N21mUCtDVzYzZDE2UlV5T1FQNVNBNnJMQXNLeUEwVE5OaXp2TTREOS9BNFRrMkVjDQoJCTdudVBFMCt2Z3FicGdxQm56TGw2dnY4TjMreDRlRXNTMG1BdkhBSmhNb0F3NmtIVVZVRjRya2VXSEFLWFp0QTE1a0RMNkM2dGtYbUINCgkJZmZpWnMvUCtORTdkQzRwQmh3c0pZNlVTVmpCdEJPL2JDc3dyYmZxMkdTK0NlOUR3eW9vSG9SdmFQUHpWeEk2N0lWZkhuUUErMkpxUQ0KCQlNRlFndXIwYW5QOEo1SVZtWUVvcG1kYmg1WVFPMXdNdTBCeGRLbEIvNDRHTGc0OC9IVDhKOHVCZXNINi9WaUR4QzVEbldpSFBXakF6DQoJCTB3bGVZQ0dLb2thSklEZEkvNkpNWjFuV0VzaHI3VUVac25uQkg4bCtaZnBZOVdBOVlhV1cwYmEzU0dCV0pldFk1eHpxNnB0L0FZNi8NCgkJbUttenNoRjVBQUFBQUVsRlRrU3VRbUNDIjsNCgkJJF9pbWFnZXNbInNxbCJdID0gJF9pbWFnZXNbImRhdGFiYXNlIl07DQoJCSRfaW1hZ2VzWyJ0YXIiXSA9ICRfaW1hZ2VzWyJhcmNoaXZlIl07DQoJCSRfaW1hZ2VzWyJ0Z3oiXSA9ICRfaW1hZ2VzWyJhcmNoaXZlIl07DQoJCSRfaW1hZ2VzWyJ0eHQiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pmcUFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwDQoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQURvU1VSQlZCZ1pCY0V4YmxOQkdBYkEyY2VlZ1RSQnVJS08NCgkJZ2lpaFNaTlRjQzVMVUhBaWhOSlIwa0dLQ0RjWUpZNkQzLzc3TWRPaW5UdnpBZ0N3OHlzVGhJdm4vVm9qSXlNakl5UFArYlMxc1VRSQ0KCQlWMnM5NXBCRER2bWJQL21ka2Z0ODN0cFlndVpxNUpoL09lYVloK3l6eThoVEh2TmxheE5OY3ptK2xhOU9UbGFyMVVkQS8rQzJBNHRyDQoJCVJDbkQzalM4QkIxb2JxMkdrNkdVNlFiUUFTNEJVYVlTUUFmNGJoaEtLVEZkQXpyQU93QXhFVUFIK0tFTTAxU1kzZ002d0JzRUFRQjANCgkJZ0orbWFab0MzZ0k2aVBZYUFJQkpzaVJtSFUwQUFMT2VGQzNhSzJjV0FBQ1VYZTcrQXdPMGxjOWVUSFlUQUFBQUFFbEZUa1N1UW1DQyI7DQoJCSRfaW1hZ2VzWyJ3YXYiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOw0KCQkkX2ltYWdlc1sid21hIl0gPSAkX2ltYWdlc1siYXVkaW8iXTsNCgkJJF9pbWFnZXNbIndtdiJdID0gJF9pbWFnZXNbInZpZGVvIl07DQoJCSRfaW1hZ2VzWyJ4Y2YiXSA9ICRfaW1hZ2VzWyJncmFwaGljcyJdOw0KCQkkX2ltYWdlc1sieGxzIl0gPSAkX2ltYWdlc1sic3ByZWFkc2hlZXQiXTsNCgkJJF9pbWFnZXNbInhsc3giXSA9ICRfaW1hZ2VzWyJzcHJlYWRzaGVldCJdOw0KCQkkX2ltYWdlc1sieG1sIl0gPSAkX2ltYWdlc1siY29kZSJdOw0KCQkkX2ltYWdlc1siemlwIl0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOw0KCQkNCgkJDQoJCSRtdGltZSA9IGdtZGF0ZSgncicsIGZpbGVtdGltZSgkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10pKTsNCgkJJGV0YWcgPSBtZDUoJG10aW1lLiRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSk7DQoNCgkJaGVhZGVyKCdFVGFnOiAiJy4kZXRhZy4nIicpOw0KCQloZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcuJG10aW1lKTsNCgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGltYWdlL2dpZicpOw0KCQlpZihpc3NldCgkX2ltYWdlc1skZXh0XSkpDQoJCXByaW50IGJhc2U2NF9kZWNvZGUoJF9pbWFnZXNbJGV4dF0pOw0KCQllbHNlDQoJCXByaW50IGJhc2U2NF9kZWNvZGUoJF9pbWFnZXNbInVua25vd24iXSk7DQoJfQ0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/lib/class tbTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJRXh0ZW5kZWQgdG9vbHMgY2xhc3MKVmVyc2lvbjoJMS4xCkRlc2NyaXB0LjoJU21hcnR5LUV4dGVuc2lvbiBmb3Igc29tZSB1c2VmdWwgZnVuY3Rpb25zCkxhc3QgTW9kLjoJMDkuMTEuMjAxMgpBdXRob3I6CQlMdWthcyBCbGF0dGVyCkVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaApOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmNsYXNzIHRiVG9vbHMKewoJLyoqCgkgKgoJICogUHLvv71mdCwgb2IgZGVyIGFuZ2VnZWJlbmUgQWxpYXMgZWluZSBQYWdlSUQgaXN0IHVuZCBnaWJ0IGRlbiBBbGlhcyB6dXLvv71jawoJICogQHBhcmFtICRhbGlhcwoJICogQHJldHVybiBzdHJpbmcgJGFsaWFzCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyLCAyMC4xMi4yMDExCgkgKi8KCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gZ2V0QWxpYXMoJGFsaWFzKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCgkJJG1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkYWxpYXMpOwogICAgCWlmICghaXNzZXQoJG5vZGUpKSB7CgkJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOwoJCQlpZiAoaXNzZXQoJG5vZGUpKQoJCQkJJGFsaWFzID0gJG5vZGUtPmdldF90YWcoJGFsaWFzKTsKCQkJZWxzZQoJCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgoJCXJldHVybiAkYWxpYXM7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPnNlbGZfdXJsIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkaWUgYWt0dWVsbGUgU2VpdGVuLVVSTCB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIHN0cmluZyAvIHNtYXJ0eSBhc3NpZ24KCSAqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIHNlbGZVcmwoJGFzc2lnbj0nJykKCXsKCQkkcyA9IGVtcHR5KCRfU0VSVkVSWyJIVFRQUyJdKSA/ICcnIDogKCRfU0VSVkVSWyJIVFRQUyJdID09ICJvbiIpID8gInMiIDogIiI7CgkJJHAgPSBzdHJwb3MoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddLCcvJyk7CgkJJHByb3RvY29sID0gc3RydG9sb3dlcihzdWJzdHIoJF9TRVJWRVJbJ1NFUlZFUl9QUk9UT0NPTCddLDAsJHApKS4kczsKCQkkcG9ydCA9ICgkX1NFUlZFUlsiU0VSVkVSX1BPUlQiXSA9PSAiODAiKSA/ICIiIDogKCI6Ii4kX1NFUlZFUlsiU0VSVkVSX1BPUlQiXSk7CgkJJHMgPSAkcHJvdG9jb2wuIjovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJHBvcnQ7CgoJCSR1cmwgPSAkcy4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJGdDbXMgPSBjbXNtcygpOwoJCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkdXJsKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJHVybDsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBBbGlhcyBkZXIgUGFyZW50IFBhZ2Ugb2RlciBkZW4gQWxpYXMgZGVyIFBhcmVudCBQYWdlIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0UGFyZW50QWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKCQkkcGFyZW50aWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQlpZiggJHBhcmVudGlkIDw9IDAgKSByZXR1cm4gJyc7CgkJJGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JZCgkcGFyZW50aWQpOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwogICAgCX0KICAJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBkZXIgUm9vdHNlaXRlIChvYmVyc3RlIEViZW5lKSBha3R1ZWxsZW4gb2RlciBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYWxpYXMKCSAqIEBwYXJhbSB1bmtub3duX3R5cGUgJGFzc2lnbgoJICovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0Um9vdEFsaWFzKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKICAJCSRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKCQl3aGlsZSggJGlkID4gMCApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCQkJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgkJCSRhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpOwoJCQkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQl9CgogICAgCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBlaW5lciBQYXJlbnRzZWl0ZSBhdWYgZWluZW0gYmVzdGltbXRlbiBMZXZlbCBhdXMuCgkgKiBAY29weXJpZ2h0IEx1a2FzIEJsYXR0ZXIKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEByZXR1cm4gc3RyaW5nIC0gcGFnZSBhbGlhcwoJICovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0TGV2ZWxBbGlhcygkbGV2ZWwsICRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKICAJCSRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKCQl3aGlsZSggJGlkID4gMCApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCQkJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgoJCQkkcGFnZWxldmVsID0gc3Vic3RyX2NvdW50KCRjb250ZW50LT5IaWVyYXJjaHkoKSwnLicpICsgMTsKCQkJJGFsaWFzID0gJGNvbnRlbnQtPkFsaWFzKCk7CgkJCSRpZCA9ICRjb250ZW50LT5QYXJlbnRJZCgpOwoKCQkJaWYgKCRwYWdlbGV2ZWwgPT0gJGxldmVsKSB7CgkJCQlicmVhazsKCQkJfQoJCQllbHNlIGlmICgkcGFnZWxldmVsIDwgJGxldmVsKSB7CgkJCQlyZXR1cm4gJyc7CgkJCX0KCQl9CgogICAgCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkYWxpYXM7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBTZWl0ZW50aXRlbCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSBvZGVyIGRlciBha3R1ZWxsZW4gU2VpdGUgenVy77+9Y2sKCSAqIEBwYXJhbSB1bmtub3duX3R5cGUgJGFsaWFzCgkgKiBAcGFyYW0gdW5rbm93bl90eXBlICRhc3NpZ24KCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVGl0bGUoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkgICAgfQoJICAgIGVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiAnJzsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+TmFtZSgpKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGNvbnRlbnQtPk5hbWUoKTsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYWdlX21lbnV0ZXh0KCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBNZW51dGV4dCBlaW5lciBiZXN0aW1tdGVuIFNlaXRlIG9kZXIgZGVyIGFrdHVlbGxlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VNZW51dGV4dCgkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkgICAgZWxzZQoJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5NZW51VGV4dCgpKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGNvbnRlbnQtPk1lbnVUZXh0KCk7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEhhdCBlaW5lIGRlZmluaWVydGUgb2RlciBkaWUgYWt0dWVsbGUgU2VpdGUgd2VpdGVyZSBVbnRlcnNlaXRlbj8KCSAqIEBwYXJhbSAkYWxpYXMKCSAqIEBwYXJhbSAkYXNzaWduCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gaGFzQ2hpbGRyZW4oJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRyZXN1bHQgPSBmYWxzZTsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJICAgIH0KCSAgICBlbHNlCgkgICAgCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKCSAgICBpZighJGFsaWFzKSByZXR1cm4gZmFsc2U7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoaXNfb2JqZWN0KCRjb250ZW50KSApCgkJCSRyZXN1bHQgPSAkY29udGVudC0+SGFzQ2hpbGRyZW4oKTsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHQpOwoJCQlyZXR1cm47CgkgICAgfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCgkvKioKCSAqIEdpYnQgZGVuIEFsaWFzIGRlciBlcnN0ZW4gQ2hpbGRzZWl0ZSBhdXMKCSAqIEBwYXJhbSBzdHJpbmcgJHBhcmVudGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEBwYXJhbSBzdHJpbmcgJG9ubHlJbk1lbnUKCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRGaXJzdENoaWxkQWxpYXMoJHBhcmVudGFsaWFzID0gJycsICRhc3NpZ24gPSAnJywgJG9ubHlJbk1lbnU9dHJ1ZSkKCXsKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgoJCSRjaGlsZHJlbiA9ICR0aGlzLT5nZXRDaGlsZHJlbigkcGFyZW50YWxpYXMpOwoKCQlpZiAoISRjaGlsZHJlbikgcmV0dXJuIGZhbHNlOwoKCQkkYWxpYXMgPSBmYWxzZTsKCQlmb3JlYWNoKCRjaGlsZHJlbiBhcyAkY2hpbGQpIHsKCQkJaWYgKCEkY2hpbGRbJ2FjdGl2ZSddKSBjb250aW51ZTsgLy8gaW5hdGl2ZSBTZWl0ZW4gw7xiZXJzcHJpbmdlbgoJCQllbHNlIGlmICgkY2hpbGRbJ3R5cGUnXSA9PSAnZXJyb3JwYWdlJykgY29udGludWU7IC8vIEVycm9yLVBhZ2VzIMO8YmVyc3ByaW5nZW4KCQkJZWxzZSBpZiAoJGNoaWxkWyd0eXBlJ10gPT0gJ3NlY3Rpb25oZWFkZXInIG9yICRjaGlsZFsndHlwZSddID09ICdzZXBhcmF0b3InIG9yICRjaGlsZFsndHlwZSddID09ICdsaW5rJykgeyAvLyBCZWkgVHlwIFNlY3Rpb25oZWFkZXIsIFNwZWFyYXRvciBvZGVyIExpbmssIHNjaGF1ZW4gb2IgZXMgVW50ZXJzZWl0ZW4gZ2lidC4KCQkJCWlmICgkdGhpcy0+aGFzQ2hpbGRyZW4oJGNoaWxkWydhbGlhcyddKSkgewoJCQkJCSRhbGlhcyA9ICR0aGlzLT5nZXRGaXJzdENoaWxkQWxpYXMoJGNoaWxkWydhbGlhcyddLCcnLCRvbmx5SW5NZW51KTsKCQkJCQlpZiAoJGFsaWFzKSBicmVhazsKCQkJCX0KCQkJfQoJCQllbHNlIGlmICgkb25seUluTWVudSBhbmQgJGNoaWxkWydzaG93X2luX21lbnUnXSkgewoJCQkJJGFsaWFzID0gJGNoaWxkWydhbGlhcyddOwoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZSBpZiAoISRvbmx5SW5NZW51KSB7CgkJCQkkYWxpYXMgPSAkY2hpbGRbJ2FsaWFzJ107CgkJCQlicmVhazsKCQkJfQoJCX0KCQlpZiAoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGFsaWFzOwoJfQoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+Z2V0X2NoaWxkcmVuKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGVpbmVyIEFycmF5IG1pdCBkZW4gUGFnZUlkcyBhbGxlciBDaGlsZCBTZWl0ZW4gZWluZXIgYmVzdGltbXRlbiBTZWl0ZSBvZGVyIGRlciBha3R1ZWxsZW4gU2VpdGUgenVy77+9Y2suCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIGJvb2xlYW4gJHNob3dhbGwKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRDaGlsZHJlbigkYWxpYXMgPSAnJywkc2hvd2FsbCA9IGZhbHNlLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gJHRoaXMtPmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCSRwYXJlbnQgPSAkaG0tPmdldE5vZGVCeUFsaWFzKCRhbGlhcyk7CgkJaWYoICEkcGFyZW50ICkgeyByZXR1cm4gZmFsc2U7IH0KCgkJJGNoaWxkX25vZGVzID0gJHBhcmVudC0+Z2V0Q2hpbGRyZW4oZmFsc2UsJHNob3dhbGwpOwoJCWlmKCAhaXNfYXJyYXkoJGNoaWxkX25vZGVzKSB8fCBjb3VudCgkY2hpbGRfbm9kZXMpID09IDAgKSByZXR1cm4gZmFsc2U7CgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkY2hpbGRfbm9kZXMgYXMgJG5vZGUgKSB7CgkJCSRjb250ZW50ID0gJG5vZGUtPmdldENvbnRlbnQoKTsKCQkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgY29udGludWU7CgoJCQkkcm93ID0gYXJyYXkoJ2FsaWFzJz0+JGNvbnRlbnQtPkFsaWFzKCksJ2lkJz0+JGNvbnRlbnQtPklkKCksCgkJICAgICAndGl0bGUnPT4kY29udGVudC0+TmFtZSgpLCdtZW51dGV4dCc9PiRjb250ZW50LT5NZW51VGV4dCgpLAoJCSAgICAgJ3Nob3dfaW5fbWVudSc9PiRjb250ZW50LT5TaG93SW5NZW51KCksJ2FjdGl2ZScgPT4kY29udGVudC0+QWN0aXZlKCksJ3R5cGUnPT4kY29udGVudC0+VHlwZSgpKTsKCQkJJHJlc3VsdHNbXSA9ICRyb3c7CgkJfQoJCWlmKCAhY291bnQoJHJlc3VsdHMpICkgcmV0dXJuIGZhbHNlOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJHJlc3VsdHMpOwoJCQlyZXR1cm47CgkgICAgfQoJCXJldHVybiAkcmVzdWx0czsKCX0KCgkvKioKCSAqIEdpYnQgZGllIFVSTCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSBhdXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVXJsKCRhbGlhcyA9ICcnLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkgICAgZWxzZQoJCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5HZXRVUkwoKSk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRjb250ZW50LT5HZXRVUkwoKTsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYWdlX2NvbnRlbnQoKSBieSBjYWxndXkxMDAwCgkgKiBHaWJ0IGRlbiBJbmhhbHQgZWluZXMgYmVzdGltbXRlbiBDb250ZW50IEJsb2NrcyBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMgLSBhbGlhcyBvciBpZCBvZiBhIHBhZ2UKCSAqIEBwYXJhbSBzdHJpbmcgJGJsb2NrIC0gbmFtZSBvZiB0aGUgY29udGVudGJsb2NrCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24gLSBuYW1lIG9mIGFzc2lnbiB2YXJpYWJsZQoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VDb250ZW50KCRhbGlhcywgJGJsb2NrID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRyZXN1bHQgPSBmYWxzZTsKCQkkZ0NtcyA9IGNtc21zKCk7CgoJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGJsb2NrID09ICcnICkgJGJsb2NrID0gJ2NvbnRlbnRfZW4nOwoKCQlpZiggJGFsaWFzICE9ICcnICkgewoJCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCQlpZiggaXNfb2JqZWN0KCRjb250ZW50KSApIHsKCQkJCSRyZXN1bHQgPSAkY29udGVudC0+R2V0UHJvcGVydHlWYWx1ZSgkYmxvY2spOwoJCQl9CgkgICAgfQoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksJHJlc3VsdCk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgoKCS8qKgoJICoKCSAqIEdpYnQgenVy77+9Y2sgb2IgZWluZSBiZXN0aW1tdGUgU2VpdGUgZGllIERlZmF1bHRzZWl0ZSBpc3QKCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMgLSBhbGlhcyBvciBpZCBvZiBhIHBhZ2UKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbiAtIG5hbWUgb2YgYXNzaWduIHZhcmlhYmxlCgkgKi8KCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gaXNEZWZhdWx0UGFnZSgkYWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRkZWZhdWx0ID0gZmFsc2U7CgkJJGdDbXMgPSBjbXNtcygpOwoKCQkkYWxpYXMgPSAkdGhpcy0+Z2V0QWxpYXMoJGFsaWFzKTsKCQlpZighJGFsaWFzKSByZXR1cm4gZmFsc2U7CgoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggaXNfb2JqZWN0KCRjb250ZW50KSApIHsKCQkJJGRlZmF1bHQgPSAkY29udGVudC0+RGVmYXVsdENvbnRlbnQoKTsKCQl9CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkZGVmYXVsdCk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuICRkZWZhdWx0OwoJfQoKCgkvKioKCSAqIEhhdCBCZXJlY2h0aWd1bmcgaW4gZGVuIGRlZmluaWVydGVuIEZFVSBVc2VyR3JvdXBzCgkgKiBAcGFyYW0gc3RyaW5nICRmZXVncm91cHMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQHJldHVybiBib29sZWFuIHRydWUvZmFsc2UKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIsIDIwLjEyLjIwMTEKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBoYXNGZXVHcm91cEFjY2VzcygkZmV1Z3JvdXBzID0gJycsICRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYgKCEkZmV1Z3JvdXBzKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCgkJJGZldXNlcnMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKCgkJaWYgKCEkZmV1Z3JvdXBzIG9yICFpc19PYmplY3QoJGZldXNlcnMpKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQkkdXNlcl9pZCA9ICRmZXVzZXJzLT5Mb2dnZWRJbklkKCk7CgkJJGdyb3VwcyA9ICRmZXVzZXJzLT5HZXRNZW1iZXJHcm91cHNBcnJheSgkdXNlcl9pZCk7CgoJCSRnbnMgPSBhcnJheSgpOwoJCWlmKCRncm91cHMgIT09IGZhbHNlICkgewoJCSAgICBmb3JlYWNoKCAkZ3JvdXBzIGFzICRnaWQgKSB7CgkJICAgICAgICAkZ25zW10gPSAkZ2lkWydncm91cGlkJ107CgkJICAgIH0KCQl9CgoJCSRmZXVBcnJheT0gZXhwbG9kZSgnLCcsJGZldWdyb3Vwcyk7CgkJJHJldHZhbCA9IGZhbHNlOwoJCWZvcmVhY2ggKCRmZXVBcnJheSBhcyAkZmV1KSB7CgkJCWlmIChpbl9hcnJheSgkZmV1LCRnbnMpKSB7CgkJCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksdHJ1ZSk7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9CgkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxmYWxzZSk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuIGZhbHNlOwoKCX0vL2lmCgoJLyoqCgkgKiBJc3QgZGVyIEJlbnV0emVyIGVpbmdlbG9nZ3QKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQHJldHVybiBpbnQgdXNlcl9pZAoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciwgMjAuMTIuMjAxMQoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGlzTG9nZ2VkSW4oJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCSRmZXVzZXJzID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CgoJCWlmICghaXNfb2JqZWN0KCRmZXVzZXJzKSkgewoJCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxmYWxzZSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0vL2lmCgoJCSR1c2VyX2lkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCgkJaWYgKCR1c2VyX2lkKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLHRydWUpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiB0cnVlOwoJCX0vL2lmCgoJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQlyZXR1cm47CgkJfS8vaWYKCQlyZXR1cm4gZmFsc2U7CgoJfS8vZnVuY3Rpb24KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9zaWxiaW5nKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHZXQgcHJldiBzaWJsaW5nCgkgKiBAcGFyYW0gJGRpcgoJICogQHBhcmFtICRhc3NpZ24KCSAqIEBwYXJhbSAkYWxpYXMKCSAqLwoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRTaWJsaW5nKCRkaXIsJGFzc2lnbiA9ICcnLCRhbGlhcyA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgoJCWlmKCBlbXB0eSgkYWxpYXMpICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9ICR0aGlzLT5nZXRBbGlhcygkYWxpYXMpOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiBmYWxzZTsKCgkJLy8gZ2V0IHRoZSBsYXN0IGl0ZW0gb3V0IG9mIHRoZSBoaWVyYXJjaHkKCQkvLyBhbmQgcmVidWlsZAoJCSRxdWVyeSA9ICdTRUxFQ1QgY29udGVudF9hbGlhcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50CgkJCQkgICAgV0hFUkUgcGFyZW50X2lkID0gPwoJCQkJICAgICAgQU5EIGl0ZW1fb3JkZXIgJXMgPwoJCQkJICAgICAgQU5EIGFjdGl2ZSA9IDEKCQkJCSAgICBPUkRFUiBCWSBpdGVtX29yZGVyICVzCgkJCQkgICAgTElNSVQgMSc7CgoJCXN3aXRjaChzdHJ0b2xvd2VyKCRkaXIpKSB7CgkJCWNhc2UgJy0xJzoKCQkJCWNhc2UgJ3ByZXYnOgoJCQkJCSR0aGVjaGFyID0gJzwnOwoJCQkJCSRvcmRlciA9ICdERVNDJzsKCQkJCWJyZWFrOwoKCQkJCWRlZmF1bHQ6CgkJCQkJJHRoZWNoYXIgPSAnPic7CgkJCQkJJG9yZGVyID0gJ0FTQyc7CgkJCQlicmVhazsKCQl9Ly9zd2l0Y2gKCgkJJHJlcyA9ICRkYi0+R2V0T25lKHNwcmludGYoJHF1ZXJ5LCR0aGVjaGFyLCRvcmRlciksCgkJYXJyYXkoJGNvbnRlbnQtPlBhcmVudElkKCksJGNvbnRlbnQtPkl0ZW1PcmRlcigpKSk7CgkJaWYoICFlbXB0eSgkYXNzaWduKSApIHsKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksJHJlcyk7CgkJCXJldHVybjsKCQl9Ly9pZgoJCXJldHVybiAkcmVzOwoJfS8vZnVuY3Rpb24KCgoJLyoqCgkgKgoJICogV2FuZGVsdCBlaW4gT2JqZWt0IGluIGVpbiBBcnJheSB1bQoJICogQHBhcmFtICRvYmoKCSAqIEByZXR1cm4gYXJyYXkKCSAqIEBhdXRob3IgTHVrYXMgQmxhdHRlcgoJICovCgoJcHJvdGVjdGVkIGZpbmFsIGZ1bmN0aW9uIG9iamVjdDJhcnJheSgkb2JqKQoJewoJICAgICRfYXJyID0gaXNfb2JqZWN0KCRvYmopID8gZ2V0X29iamVjdF92YXJzKCRvYmopIDogJG9iajsKCSAgICBmb3JlYWNoICgkX2FyciBhcyAka2V5ID0+ICR2YWwpIHsKCSAgICAgICAgJHZhbCA9IChpc19hcnJheSgkdmFsKSB8fCBpc19vYmplY3QoJHZhbCkpID8gJHRoaXMtPm9iamVjdDJhcnJheSgkdmFsKSA6ICR2YWw7CgkgICAgICAgICRhcnJbJGtleV0gPSAkdmFsOwoJICAgIH0KCSAgICByZXR1cm4gJGFycjsKCX0KCgkvKioKCSAqIENyZWF0ZXMgSFRNTCB0YWJsZSBmcm9tIG11bHRpZGltZW5zaW9uYWwgYXJyYXkKCSAqIGJhc2VkIG9uIGh0dHA6Ly93d3cudGVycmF3ZWJkZXNpZ24uY29tL211bHRpZGltZW5zaW9uYWwucGhwCgkgKgoJICogQHBhcmFtIGFycmF5ICRhcnJheQoJICogQHJldHVybiBzdHJpbmcKCSAqLwoKCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0QXJyYXlBc1RhYmxlKCRhcnJheSkKCXsKCQkkYXJyYXkgPSAkdGhpcy0+b2JqZWN0MmFycmF5KCRhcnJheSk7CgoJCSR0YWJsZSA9ICI8dGFibGU+XG4iOwoJCSR0YWJsZSAuPSAkdGhpcy0+Z2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJGFycmF5LCAxLCAwKTsKCQkkdGFibGUgLj0gIjwvdGFibGU+XG4iOwoJCXJldHVybiAkdGFibGU7CgoJfS8vZnVuY3Rpb24KCglwcm90ZWN0ZWQgZmluYWwgZnVuY3Rpb24gZ2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJGFycmF5LCAkbGV2ZWwsICRzdWIpCgl7CgkJJHN0cmluZyA9ICIiOwoKCQlpZiAoaXNfYXJyYXkoJGFycmF5KSA9PSAxKXsgICAgICAgICAgLy8gY2hlY2sgaWYgaW5wdXQgaXMgYW4gYXJyYXkKCQkgICAgICBmb3JlYWNoKCRhcnJheSBhcyAka2V5X3ZhbCA9PiAkdmFsdWUpIHsKCQkgICAgICAgICAgJG9mZnNldCA9ICIiOwoKCQkgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkgPT0gMSl7ICAgLy8gYXJyYXkgaXMgbXVsdGlkaW1lbnNpb25hbAoJCSAgICAgICAgICAJJHN0cmluZyAuPSAiPHRyPiI7CgkJICAgICAgICAgIAkkb2Zmc2V0ID0gJHRoaXMtPmdldEFycmF5QXNUYWJsZURvT2Zmc2V0KCRsZXZlbCk7CgkJICAgICAgICAgIAkkc3RyaW5nIC49ICRvZmZzZXQgLiAiPHRkIHZhbGlnbj0ndG9wJz4iIC4gJGtleV92YWwgLiAiPC90ZD4iOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAkdGhpcy0+Z2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJHZhbHVlLCAkbGV2ZWwrMSwgMSk7CgkJICAgICAgICAgIH1lbHNleyAgICAgICAgICAgICAgICAgICAgICAvLyhzdWIpYXJyYXkgaXMgbm90IG11bHRpZGltCgkJICAgICAgICAgIAlpZiAoJHN1YiAhPSAxKXsgICAgICAgICAgLy8gZmlyc3QgZW50cnkgZm9yIHN1YmFycmF5CgkJICAgICAgICAgICAgICAkc3RyaW5nIC49ICI8dHI+IjsKCQkgICAgICAgICAgICAgICRvZmZzZXQgPSAkdGhpcy0+Z2V0QXJyYXlBc1RhYmxlRG9PZmZzZXQoJGxldmVsKTsKCQkgICAgICAgICAgCX0KCQkgICAgICAgICAgCSRzdWIgPSAwOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAkb2Zmc2V0IC4gIjx0ZCBjbGFzcz0ndGgnIHZhbGlnbj0ndG9wJz4iIC4gJGtleV92YWwgLgoJCSAgICAgICAgICAgICAgIjwvdGQ+PHRkIHZhbGlnbj0ndG9wJz4iIC4gJHZhbHVlIC4gIjwvdGQ+IjsKCQkgICAgICAgICAgCSRzdHJpbmcgLj0gIjwvdHI+XG4iOwoJCSAgICAgICAgICB9CgkJICAgICAgfSAvL2ZvcmVhY2ggJGFycmF5CgkJIH0vL2lmCgoJCXJldHVybiAkc3RyaW5nOwoKCX0vL2Z1bmN0aW9uCgoJcHJvdGVjdGVkIGZpbmFsIGZ1bmN0aW9uIGdldEFycmF5QXNUYWJsZURvT2Zmc2V0KCRsZXZlbCkKCXsKCSAgICAkb2Zmc2V0ID0gIiI7ICAgICAgICAgICAgIC8vIG9mZnNldCBmb3Igc3ViYXJyeQoJICAgIGZvciAoJGk9MTsgJGk8JGxldmVsOyRpKyspewoJICAgICRvZmZzZXQgPSAkb2Zmc2V0IC4gIjx0ZD48L3RkPiI7CgkgICAgfQoJICAgIHJldHVybiAkb2Zmc2V0OwoJfS8vZnVuY3Rpb24KCgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfZmlsZV9saXN0aW5nKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBJbmhhbHQgZWluZXMgYmVzdGltbXRlbiBPcmRuZXJzIGluIGVpbmVtIEFycmF5IHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRkaXIKCSAqIEBwYXJhbSBzdHJpbmcgJGV4Y2x1ZGVwcmVmaXgKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICovCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpbGVMaXN0aW5nKCRkaXIsJGV4Y2x1ZGVwcmVmaXg9JycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCSRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgoJCSRmaWxlcHJlZml4ID0gJyc7CgkJaWYoICFlbXB0eSgkZXhjbHVkZXByZWZpeCkgKSB7CgkJCSRmaWxlcHJlZml4ID0gJGV4Y2x1ZGVwcmVmaXg7CgkJfQoJCWlmKCBzdGFydHN3aXRoKCRkaXIsJy8nKSApIHJldHVybjsKCQkkZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkZGlyKTsKCQkkbGlzdCA9IGdldF9tYXRjaGluZ19maWxlcygkZGlyLCcnLHRydWUsdHJ1ZSwkZmlsZXByZWZpeCwxKTsKCQlpZiggIWVtcHR5KCRhc3NpZ24pICkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkbGlzdCk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuICRsaXN0OwoJfS8vZnVuY3Rpb24KfTsvLyBjbGFzcwoKLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/log/tbLog.log</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KDQpyZXF1aXJlX29uY2UoY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnbGliJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjbGFzcy50YlV0aWxzLnBocCcpKTsNCg0KLy8gc2V0dXAgZGlyZWN0b3JpZXMgYW5kL29yIGNoZWNrIGlmIHdyaXRhYmxlDQokZGlycyA9IGFycmF5KCAnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcycsICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2NzcycsICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzJywgJ21vZHVsZXMvVG9vbEJveC9sb2cnLCAndXBsb2Fkcy9Ub29sQm94JywgJ3VwbG9hZHMvVG9vbEJveC9BdXRvTGlnaHRCb3gnLCAndXBsb2Fkcy9Ub29sQm94L0NTVicpOw0KZm9yZWFjaCAoICRkaXJzIGFzICRkaXIgKQ0Kew0KCWlmKCAhaXNfZGlyKCcuLi8nLiRkaXIpICkNCgl7DQoJCUBta2RpcihzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICcuLi8nLiRkaXIpKTsNCgl9DQoJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApDQoJew0KCQkvL3JldHVybiBlcnJvciB0byBNb2R1bGVNYW5hZ2VyDQoJCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsNCgkJcmV0dXJuICR0bXA7DQoJfQ0KfQ0KDQoNCi8vIEdldCBkYiBoYW5kbGUNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJHRiRGIpOw0KJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knLCAnbXlzcWxpJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knKTsNCg0KLy8gQ3JlYXRlIHVybCByZWRpcmVjdCB0YWJsZQ0KJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxwYWdlX2lkIEksdG91cmwgQygyNTApLHVybCBDKDI1MCksdXJsX3JlZ2V4cCBJKDEpLGFjdGl2ZSBJKDEpLG5vdGVzIFgsY3JlYXRlZF9kYXRlICcuQ01TX0FET0RCX0RULicsbW9kaWZpZWRfZGF0ZSAnLkNNU19BRE9EQl9EVDsNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0JywgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIENyZWF0ZSBsb2cgdGFibGUNCiRmbGRzID0gJ2lkIEkgS0VZIEFVVE8scGFnZV9pZCBJLGRvbWFpbiBDKDEwMCksdXJsIEMoMjAwKSxyZWZlcmVyIEMoMjAwKSxzZWFyY2hlbmdpbmUgQyg1MCksYm90IEMoNTApLGtleXdvcmQgQygxMDApLHNlc3Npb25pZCBDKDUwKSx2aXNpdHRpbWUgJy5DTVNfQURPREJfRFQ7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cnLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gQ3JlYXRlIGxvZyBzdW1tYXJ5IHRhYmxlDQokZmxkcyA9ICdpZCBJIEtFWSBBVVRPLHBlcmlvZCBDKDUpLHZhbHVlIEkoNCksdHlwZSBJKDEpLHVybCBDKDIwMCksdmlzaXRzIEkscGFnZV9pZCBJLHNlYXJjaGVuZ2luZSBDKDUwKSxrZXl3b3JkIEMoMTAwKSxyZWZlcmVyIEMoMjAwKSxjcmVhdGVkX2RhdGUgJy5DTVNfQURPREJfRFQ7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2dzdW0nLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gQ3JlYXRlIGVycm9yICg0MDQpIHRhYmxlDQokZmxkcyA9ICdpZCBJIEtFWSBBVVRPLGZyb211cmwgQygyNTApLHRvdXJsIEMoMjUwKSx2aXNpdHMgSSg4KSxjcmVhdGVkX2RhdGUgJy5DTVNfQURPREJfRFQuJyxtb2RpZmllZF9kYXRlICcuQ01TX0FET0RCX0RUOw0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzJywgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIENyZWF0ZSBlcnJvciAoNDA0KSBpZ25vcmUgdGFibGUNCiRmbGRzID0gJ2lkIEkgS0VZIEFVVE8saXVybCBDKDI1MCksaXJlZ2V4cCBJKDEpLGNyZWF0ZWRfZGF0ZSAnLkNNU19BRE9EQl9EVC4nLG1vZGlmaWVkX2RhdGUgJy5DTVNfQURPREJfRFQ7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlJywgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIENyZWF0ZSBkZWJ1ZyB0YWJsZQ0KJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxzZXNzaW9uX2lkIEMoMjUwKSxpcCBDKDI1KSxmcm9tdXJsIEMoMjUwKSx0b3VybCBDKDI1MCksc3RhdHVzIEMoMjUwKSxjcmVhdGVkX2RhdGUgJy5DTVNfQURPREJfRFQuJyxtb2RpZmllZF9kYXRlICcuQ01TX0FET0RCX0RUOw0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcnLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gVGVtcGxhdGVzDQokZmxkcyA9ICINCgl0ZW1wbGF0ZWlkIEkgS0VZIEFVVE8sDQoJdGVtcGxhdGUgQygyNTUpLA0KICAJdmVyc2lvbiBDKDIwKSwNCglhYm91dCBYLA0KCXNlY3Rpb24gQygyMCksDQoJdHBsc2VjdGlvbiBDKDIwKSwNCglqcXVlcnkgSSwNCglqcXVlcnlfb3duIEksDQoJdmlzaWJsZSBJLA0KCW9wdGlvbnMgWDINCiI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIiwJJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIHR3aXR0ZXINCiRmbGRzID0gIg0KCXR3aXR0ZXJpZCBJIEtFWSBBVVRPLA0KCWhhc2ggQygyNTUpLA0KCWlkIEk4LA0KCWNyZWF0ZWRfYXQgQygzMCksDQoJdHdkYXRlIERULA0KCXVzZXJpZCBJOCwNCglzY3JlZW5uYW1lIEMoMjU1KSwNCglzY3JlZW5uYW1lX3VybCBDKDI1NSksDQoJaW1nX3VybCBDKDI1NSksDQoJaW1nX3VybF9odHRwcyBDKDI1NSksDQoJYXV0aG9yIEMoMjU1KSwNCglzb3VyY2UgQygyNTUpLA0KCWxvY2F0aW9uIEMoMjU1KSwNCgl0ZXh0IFgsDQoJcmV0d2VldF9jb3VudCBJLA0KCWZhdm9yaXRlZCBJLA0KCXJldHdlZXRfaWQgQygyNTUpLA0KCXJldHdlZXRfdHdkYXRlIERULA0KCXJldHdlZXRfdXNlcmlkIEk4LA0KCXJldHdlZXRfc2NyZWVuYW1lIEMoMjU1KSwNCglyZXR3ZWV0X3NjcmVlbmFtZV91cmwgQygyNTUpLA0KCXJldHdlZXRfYXV0aG9yIEMoMjU1KSwNCglyZXR3ZWV0X2ltZ191cmwgQygyNTUpLA0KCXJldHdlZXRfaW1nX2h0dHBzIEMoMjU1KSwNCglyZXR3ZWV0X3NvdXJjZSBDKDI1NSksDQoJcmV0d2VldF9sb2NhdGlvbiBDKDI1NSksDQoJcmV0d2VldF90ZXh0IFgsDQoJanNvbmRhdGEgWA0KIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X3R3IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIHR3aXR0ZXINCiRmbGRzID0gIg0KCWhhc2ggQygyNTUpIEtFWSwNCgl0aW1lc3RhbXAgRFQNCiI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90d3VwZGF0ZSIsCSRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQoNCi8vIENTVg0KJGZsZHMgPSAiDQoJZmlsZW5yIEkgS0VZIEFVVE8sDQoJZmlsZW5hbWUgQygyNTUpLA0KCXBhdGggWCg1MDApLA0KCWZpbGVzaXplIEk4LA0KCWxhc3R1cGRhdGUgRFQNCiI7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3hfY3N2IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCg0KLy8gQ2hlY2sgb2xkIE11bHRpRG9tYWlucyBzZXR0aW5ncw0KJG1kX29sZHVybCA9ICR0YkRiLT5HZXRPbmUoJ1NFTEVDVCBzaXRlcHJlZl92YWx1ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidzaXRlcHJlZnMgV0hFUkUgc2l0ZXByZWZfbmFtZSBsaWtlICJNdWx0aURvbWFpbnNfbWFwaV9wcmVmX29sZHVybF91c2UiJywgYXJyYXkoKSk7DQppZiAoISRtZF9vbGR1cmwpICRtZF9vbGR1cmwgPSAwOw0KJG1kXzQwNCA9ICR0YkRiLT5HZXRPbmUoJ1NFTEVDVCBzaXRlcHJlZl92YWx1ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidzaXRlcHJlZnMgV0hFUkUgc2l0ZXByZWZfbmFtZSBsaWtlICJNdWx0aURvbWFpbnNfbWFwaV9wcmVmX3N0YXRzXzQwNCInLCBhcnJheSgpKTsNCmlmICghJG1kXzQwNCkgJG1kXzQwNCA9IDA7DQoNCg0KLy8gU2V0IHBlcm1pc3Npb24NCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcsICdNYW5hZ2UgVG9vbEJveCcpOw0KDQovLyBQcmVmZXJlbmNlcw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInLDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScsMCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfNDA0JywkbWRfNDA0ID8gJG1kXzQwNCA6IDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF80MDQnLDEwMCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfZGFpbHknLDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXRzX2VtYWlsJywnJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScsJG1kX29sZHVybCA/ICRtZF9vbGR1cmwgOiAwKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkYXknLGRhdGUoJ1ltZCcpKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtb250aCcsZGF0ZSgnWW0nKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgneWVhcicsZGF0ZSgnWScpKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWJ1Z191c2UnLDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnLDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9tdWx0aWRvbWFpbnNfY291bnQnLDApOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ21pbmlmeScsMSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnanNfZm9vdGVyJywxKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIiwiOyIpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIsImlzby04ODU5LTEiKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfY21zY2hhcnNldCIsIlVURi04Iik7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgiYXV0b2xpZ2h0Ym94X3VybHR5cGUiLCJyZWxhdGl2ZSIpOw0KDQoNCi8vIHNldHVwIHRlbXBsYXRlcw0KJHRlbXBsYXRlcyA9IGFycmF5KCANCgkJCQkJJ2F1dG9saWdodGJveCcgPT4gYXJyYXkoJ2ZhbmN5Ym94JywnanF1ZXJ5LWxpZ2h0Ym94JyksIA0KCQkJCQkndHdpdHRlcmZlZWQnID0+IGFycmF5KCd0d2l0dGVyZmVlZCcpLCANCgkJCQkJJ3NvY2lhbHNoYXJlcHJpdmFjeScgPT4gYXJyYXkoJ3NvY2lhbHNoYXJlcHJpdmFjeScpDQoJCQkJCSk7DQoJCQkJCQ0KZm9yZWFjaCAoICR0ZW1wbGF0ZXMgYXMgJHNlY3Rpb24gPT4gJHRwbGFycmF5ICkNCnsNCglmb3JlYWNoKCR0cGxhcnJheSBhcyAkdGVtcGxhdGUpIHsNCgkJJGZuID0gdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgkc2VjdGlvbiwgJHRlbXBsYXRlKTsNCgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApDQoJCXsNCgkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQkJDQoJCQlpZiAoaW5fYXJyYXkoJHRlbXBsYXRlLCBhcnJheSgnZmFuY3lib3gnLCd0d2l0dGVyZmVlZCcpKSkNCgkJCQkkc2V0Q3VycmVudCA9IHRydWU7DQoJCQllbHNlCQ0KCQkJCSRzZXRDdXJyZW50ID0gZmFsc2U7DQoJCQkNCgkJCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsIHRydWUsICRzZXRDdXJyZW50KSkgew0KCQkJCSRlcnJvciA9IHRiVXRpbHM6OmdldEVycm9ycygpOw0KCQkJCXJldHVybiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddOw0KCQkJfQ0KCQl9DQoJCWVsc2Ugew0KCQkJcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9jb3VsZG5vdHBhcnNleG1sJykuJyAnLiRmbjsNCgkJfQ0KCX0NCn0NCg0KLy8gRXZlbnRzDQokdGhpcy0+UmVnaXN0ZXJFdmVudHMoKTsNCg0KLy8gV3JpdGUgbWVzc2FnZSB0byBhZG1pbiBsb2cNCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7DQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBDaGVjayBhdXRob3Jpc2F0aW9uDQppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0Ow0KDQovLyBHZXQgREIgaW5zdGFuY2UgYW5kIG1ha2UgREIgc2V0dGluZ3MNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJHRiRGIpOw0KDQovLyBEZWxldGUgZGIgdGFibGVzDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0JyApOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cnICk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bScgKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzJyApOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlJyApOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZycgKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcycgKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gUmVtb3ZlIG1vZHVsZSBwZXJtaXNzaW9ucw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01hbmFnZSBUb29sQm94Jyk7DQoNCi8vIFJlbW92ZSBFdmVudHMNCiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50UG9zdFJlbmRlcicpOw0KJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UHJlJyk7DQokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnTmV3c0FydGljbGVBZGRlZCcpOw0KJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ05ld3NBcnRpY2xlRWRpdGVkJyk7DQokb2JqID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCJDR0Jsb2ciKTsNCmlmKCBpc19vYmplY3QoJG9iaikgKSAgew0KCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDR0Jsb2dBcnRpY2xlQWRkZWQnKTsNCgkkdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnQ0dCbG9nQXJ0aWNsZUVkaXRlZCcpOw0KfQ0KDQovLyBSZW1vdmUgbW9kdWxlIHByZWZlcmVuY2VzDQokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOw0KDQovLyByZW1vdmUgYWxsIHRlbXBsYXRlcw0KJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7DQoNCi8vIHJlbW92ZSBjYWNoZSBmaWxlcw0KJG1hc2sgPSAgc3RyX3JlcGxhY2UoIi8iLERJUkVDVE9SWV9TRVBBUkFUT1IsJGNvbmZpZ1sncm9vdF9wYXRoJ10uIi90bXAvY2FjaGUvVG9vbEJveCoiKTsNCmFycmF5X21hcCggInVubGluayIsIGdsb2IoICRtYXNrICkgKTsNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSANCk1vZHVsZTogVG9vbEJveA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8vIENoZWNrIGF1dGhvcmlzYXRpb24NCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7DQoNCnJlcXVpcmVfb25jZShjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCdsaWInLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NsYXNzLnRiVXRpbHMucGhwJykpOw0KDQovLyBHZXQgdmVyc2lvbg0KJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOw0KDQovLyBzZXR1cCBkaXJlY3RvcmllcyBhbmQvb3IgY2hlY2sgaWYgd3JpdGFibGUNCiRkaXJzID0gYXJyYXkoICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzJywgJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzJywgJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMnLCAnbW9kdWxlcy9Ub29sQm94L2xvZycsICd1cGxvYWRzL1Rvb2xCb3gnLCAndXBsb2Fkcy9Ub29sQm94L0F1dG9MaWdodEJveCcsICd1cGxvYWRzL1Rvb2xCb3gvQ1NWJyk7DQpmb3JlYWNoICggJGRpcnMgYXMgJGRpciApDQp7DQoJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQ0KCXsNCgkJQG1rZGlyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uLycuJGRpcikpOw0KCX0NCglpZiggIWlzX3dyaXRhYmxlKCcuLi8nLiRkaXIpICkNCgl7DQoJCS8vcmV0dXJuIGVycm9yIHRvIE1vZHVsZU1hbmFnZXINCgkJJHRtcCA9IGxhbmcoJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnKS4gJyA+ICcgLiAkZGlyOw0KCQlyZXR1cm4gJHRtcDsNCgl9DQp9DQoNCi8vIEdldCBkYiBoYW5kbGUNCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJHRiRGIpOw0KJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knLCAnbXlzcWxpJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knKTsNCg0Kc3dpdGNoICgkY3VycmVudF92ZXJzaW9uKSB7DQoJY2FzZSAnMS4wJzoNCgkJLy8gQ3JlYXRlIGV4dHJhIGRvbWFpbiB0YWJsZQ0KCQkjJGZsZHMgPSAiaWQgSSBLRVkgQVVUTyxkb21haW5faWQgSSxkb21haW4gQygxMDApLGNyZWF0ZWRfZGF0ZSAiLkNNU19BRE9EQl9EVC4iLG1vZGlmaWVkX2RhdGUgIi5DTVNfQURPREJfRFQ7DQoJCSMkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF9leHRyYWRvbWFpbnMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCgkJIyRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIGRldmVsb3BtZW50IGRvbWFpbg0KCQkjJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RldmRvbWFpbicsMCk7DQoJCSMkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV2aXAnLCcnKTsNCgkJLy8gQWRkIGNvbHVtbiBmb3IgZGV2ZWxvcG1lbnQgZG9tYWluDQoJCSMkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3giLCAiZGV2ZG9tYWluIEMoMTAwKSIpOw0KCQkjJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQkvLyBTZXQgbmV3IGN1cnJlbnQgdmVyc2lvbg0KCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMC4xJzsNCgljYXNlICcxLjAuMSc6DQoJCS8vIHNldHVwIGRpcmVjdG9yaWVzIGFuZC9vciBjaGVjayBpZiB3cml0YWJsZQ0KCQkkZGlycyA9IGFycmF5KCAnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcycsICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2NzcycsICdtb2R1bGVzL1Rvb2xCb3gvbG9nJyk7DQoJCWZvcmVhY2ggKCAkZGlycyBhcyAkZGlyICkNCgkJew0KCQkJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQ0KCQkJew0KCQkJCUBta2RpcihzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICcuLi8nLiRkaXIpKTsNCgkJCX0NCgkJCWlmKCAhaXNfd3JpdGFibGUoJy4uLycuJGRpcikgKQ0KCQkJew0KCQkJCS8vcmV0dXJuIGVycm9yIHRvIE1vZHVsZU1hbmFnZXINCgkJCQkkdG1wID0gbGFuZygnZXJyb3JkaXJlY3Rvcnlub3R3cml0YWJsZScpLiAnID4gJyAuICRkaXI7DQoJCQkJcmV0dXJuICR0bXA7DQoJCQl9DQoJCX0NCgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIHNvY2lhbCBtZWRpYSBidXR0b25zDQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJywwKTsNCgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIGRhdGEgaW1wb3J0IChNdWx0aURvbWFpbnMpDQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JywwKTsNCgkJDQoJCQ0KCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ1Rvb2xCb3gtdHBsLXNvY2lhbHNoYXJlcHJpdmFjeS1zb2NpYWxzaGFyZXByaXZhY3kueG1sJzsNCgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApDQoJCXsNCgkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSkpIHsNCgkJCQkkZXJyb3IgPSB0YlV0aWxzOjpnZXRFcnJvcnMoKTsNCgkJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JbJ2FkZGl0aW9uYWwnXTsNCgkJCX0NCgkJfQ0KCQkNCgkJDQoJCQ0KCQkvLyBTZXQgbmV3IGN1cnJlbnQgdmVyc2lvbg0KCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMS4wJzsNCg0KCWNhc2UgJzEuMS4wJzoNCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjEuMSc7DQoJCQ0KCWNhc2UgJzEuMS4xJzoNCgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIGF1dG9saWdodGJveA0KCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScsMCk7DQoJCQ0KCQkvLyBzZXR1cCBkaXJlY3RvcmllcyBhbmQvb3IgY2hlY2sgaWYgd3JpdGFibGUNCgkJJGRpcnMgPSBhcnJheSggJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMnLCAndXBsb2Fkcy9BdXRvTGlnaHRCb3gnKTsNCgkJZm9yZWFjaCAoICRkaXJzIGFzICRkaXIgKQ0KCQl7DQoJCQlpZiggIWlzX2RpcignLi4vJy4kZGlyKSApDQoJCQl7DQoJCQkJQG1rZGlyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uLycuJGRpcikpOw0KCQkJfQ0KCQkJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApDQoJCQl7DQoJCQkJLy9yZXR1cm4gZXJyb3IgdG8gTW9kdWxlTWFuYWdlcg0KCQkJCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsNCgkJCQlyZXR1cm4gJHRtcDsNCgkJCX0NCgkJfQ0KCQkNCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjIuMCc7CQ0KCQkNCgljYXNlICcxLjIuMCc6DQoNCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjIuMSc7DQoJCQ0KCWNhc2UgJzEuMi4xJzoNCg0KCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMi4yJzsJDQoJCQ0KCWNhc2UgJzEuMi4yJzoNCgkJDQoJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7DQoJCS8vIFRlbXBsYXRlcw0KCQkkZmxkcyA9ICINCgkJCXRlbXBsYXRlaWQgSSBLRVkgQVVUTywNCgkJCXRlbXBsYXRlIEMoMjU1KSwNCgkJICAJdmVyc2lvbiBDKDIwKSwNCgkJCWFib3V0IFgsDQoJCQlzZWN0aW9uIEMoMjApLA0KCQkJdmlzaWJsZSBJDQoJCSI7DQoJCQ0KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcyIsCSRmbGRzLCAkdGFib3B0YXJyYXkpOw0KCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQ0KDQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4yLjMnOwkJDQoJCQ0KCWNhc2UgJzEuMi4zJzoNCgkJDQoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzJywnanF1ZXJ5IEksIGpxdWVyeV9vd24gSScpOw0KCQkkcmV0dXJuID0gJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQkNCgkJLy8gc2V0dXAgbmV3IHRlbXBsYXRlcw0KCQkkc2VjdGlvbiA9ICJhdXRvbGlnaHRib3giOw0KCQkkdGVtcGxhdGVzID0gYXJyYXkoICdmYW5jeWJveCcsICdqcXVlcnktbGlnaHRib3gnKTsNCgkJDQoJCWZvcmVhY2ggKCAkdGVtcGxhdGVzIGFzICR0ZW1wbGF0ZSApDQoJCXsNCgkJCSRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nVG9vbEJveC10cGwtJy4kc2VjdGlvbi4nLScuJHRlbXBsYXRlLicueG1sJzsNCgkJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQ0KCQkJew0KCQkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQkJCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsIHRydWUpKSB7DQoJCQkJCSRlcnJvciA9IHRiVXRpbHM6OmdldEVycm9ycygpOw0KCQkJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JbJ2FkZGl0aW9uYWwnXTsNCgkJCQl9DQoJCQkJaWYgKCAkdGVtcGxhdGUgPT0gJ2ZhbmN5Ym94JyApDQoJCQkJew0KCQkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF8nLiRzZWN0aW9uLidfY29udGVudHMnLCR0ZW1wbGF0ZWNvZGUpOw0KCQkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF8nLiRzZWN0aW9uLidfdGVtcGxhdGUnLCdhbGJfJy4kdGVtcGxhdGUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJDQoJCS8vIGFkZCBhdXRvbGlnaHRib3ggdGVtcGxhdGUgaWYgbGlnaHRib3ggdGVtcGxhdGUgaXMgYWN0aXZlDQoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2xpZ2h0Ym94X2xpZ2h0Ym94IikpIHsNCgkJCSR0ZW1wbGF0ZSA9ICJhbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveCI7DQoJCQkkY29udGVudHMgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJ2F1dG9saWdodGJveCcpOw0KCQkJJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICRjb250ZW50cyk7DQoJCQkkanF1ZXJ5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImF1dG9saWdodGJveF9qcXVlcnkiKTsNCgkJCQ0KCQkJJHRwbGNvZGUJPSAkY29udGVudHNjb2RlWzBdOyANCgkJCSR0cGxjc3MJCT0gJGNvbnRlbnRzY29kZVsxXTsgDQoJCQkkdHBsanMJCT0gc3Vic3RyKCRjb250ZW50c2NvZGVbMl0sMCwtMik7DQoNCgkJCSR0cGxqcyA9IHN0cl9yZXBsYWNlKCJtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC8iLCAibW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveC8iLCAkdHBsanMpOw0KCQkJDQoJCQkkbmV3dHBsanMgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ibW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveC9qcXVlcnkubGlnaHRib3guanMiPjwvc2NyaXB0Pic7DQoJCQkNCgkJCS8vIHNhdmUgdGVtcGxhdGUNCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdGVtcGxhdGUsICR0cGxjb2RlLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxjc3MuVE9PTEJPWF9TRVBBUkFUT1IuJG5ld3RwbGpzLicqfScgKTsNCgkJCQ0KCQkJLy8gc2F2ZSBjc3MtZmlsZQ0KCQkJJGhhbmRsZSA9IGZvcGVuKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHRlbXBsYXRlIC4gJy5jc3MnLCd3Jyk7DQoJCQlmd3JpdGUoJGhhbmRsZSwkY29udGVudHNjb2RlWzFdKTsNCgkJCWZjbG9zZSgkaGFuZGxlKTsNCgkJCQ0KCQkJLy8gc2F2ZSBwcmVmIGluIGRiDQoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzDQoJCQkJCSh0ZW1wbGF0ZSx2ZXJzaW9uLGFib3V0LHNlY3Rpb24sanF1ZXJ5LHZpc2libGUpDQoJCQkJCVZBTFVFUyAoPyw/LD8sPyw/LDEpIjsNCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGVtcGxhdGUsJzEuMCcsJycsJHNlY3Rpb24sJGpxdWVyeSkpOw0KCQkJDQoJCQkvLyBtb3ZlIGZpbGVzDQoJCQkkZGlyID0gIi4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2N1c3RvbS1qcXVlcnktbGlnaHRib3giOw0KCQkJaWYgKCFpc19kaXIoJGRpcikpIEBta2RpcigkZGlyKTsNCgkJCQ0KCQkJaWYoICFpc193cml0YWJsZSgkZGlyKSApDQoJCQl7DQoJCQkJLy9yZXR1cm4gZXJyb3IgdG8gTW9kdWxlTWFuYWdlcg0KCQkJCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsNCgkJCQlyZXR1cm4gJHRtcDsNCgkJCX0NCgkJCQ0KCQkJLy8gc2F2ZSBqcy1maWxlDQoJCQkkaGFuZGxlID0gZm9wZW4oJGRpci4nL2pxdWVyeS5saWdodGJveC5qcycsJ3cnKTsNCgkJCWZ3cml0ZSgkaGFuZGxlLCR0cGxqcyk7DQoJCQlmY2xvc2UoJGhhbmRsZSk7DQoJCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvYXV0b2xpZ2h0Ym94LmpzJyk7CQkJDQoJCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzL2F1dG9saWdodGJveC5jc3MnKTsJCQkNCgkJCQ0KCQkJJGZpbGVzID0gYXJyYXkoDQoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWJsYW5rLmdpZicgCQk9PiAkZGlyLicvbGlnaHRib3gtYmxhbmsuZ2lmJywNCgkJCQknLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9pbWFnZXMvbGlnaHRib3gvbGlnaHRib3gtYmxhbmsuZ2lmJyAJCT0+ICRkaXIuJy9saWdodGJveC1ibGFuay5naWYnLA0KCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1kZS1jbG9zZS5naWYnCSAJPT4gJGRpci4nL2xpZ2h0Ym94LWRlLWNsb3NlLmdpZicsDQoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWRlLW5leHQuZ2lmJyAJCT0+ICRkaXIuJy9saWdodGJveC1kZS1uZXh0LmdpZicsDQoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWRlLXByZXYuZ2lmJyAJCT0+ICRkaXIuJy9saWdodGJveC1kZS1wcmV2LmdpZicsDQoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWVuLWNsb3NlLmdpZicJCT0+ICRkaXIuJy9saWdodGJveC1lbi1jbG9zZS5naWYnLA0KCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1lbi1uZXh0LmdpZicgCQk9PiAkZGlyLicvbGlnaHRib3gtZW4tbmV4dC5naWYnLA0KCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1lbi1wcmV2LmdpZicgCQk9PiAkZGlyLicvbGlnaHRib3gtZW4tcHJldi5naWYnLA0KCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1pY28tbG9hZGluZy5naWYnIAk9PiAkZGlyLicvbGlnaHRib3gtaWNvLWxvYWRpbmcuZ2lmJw0KCQkJKTsNCgkJCQ0KCQkJZm9yZWFjaCgkZmlsZXMgYXMgJG9sZCA9PiAkbmV3KSB7DQoJCQkJaWYgKGlzX2ZpbGUoJG9sZCkpIHsNCgkJCQkJY29weSgkb2xkLCRuZXcpOw0KCQkJCX0NCgkJCX0NCgkJCQ0KCQkJLy8gZGVsZXRlIG9sZCBsaWdodGJveCBmaWxlcw0KCQkJdGJVdGlsczo6ZGVsZXRlRm9sZGVyKCIuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC8iKTsNCgkJCQ0KCQkJLy8gc2V0IHRlbXBsYXRlIGFzIGRlZmF1bHQNCgkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHNlY3Rpb24uJ190ZW1wbGF0ZScsJ2FsYl9jdXN0b20tanF1ZXJ5LWxpZ2h0Ym94Jyk7CQkNCgkJCQ0KCQkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCJhdXRvbGlnaHRib3giKTsNCgkJCQ0KCQkJDQoJCX0NCgkJZWxzZSB7DQoJCQkvLyBkZWxldGUgb2xkIGxpZ2h0Ym94IGZpbGVzDQoJCQl0YlV0aWxzOjpkZWxldGVGb2xkZXIoIi4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94LyIpOw0KCQkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCJhdXRvbGlnaHRib3giKTsNCgkJfQ0KDQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4yLjQnOw0KCQkNCgljYXNlICcxLjIuNCc6DQoJCQ0KCQkvLyB0ZW1wbGF0ZXByb3BzDQoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzJywndHBsc2VjdGlvbiBDKDIwKSwgb3B0aW9ucyBYMicpOw0KCQkkcmV0dXJuID0gJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQkNCgkJLy8gdHdpdHRlcg0KCQkkZmxkcyA9ICINCgkJCXR3aXR0ZXJpZCBJIEtFWSBBVVRPLA0KCQkJaGFzaCBDKDI1NSksDQoJCQlpZCBJOCwNCgkJCWNyZWF0ZWRfYXQgQygzMCksDQoJCQl0d2RhdGUgRFQsDQoJCQl1c2VyaWQgSTgsDQoJCQlzY3JlZW5uYW1lIEMoMjU1KSwNCgkJCXNjcmVlbm5hbWVfdXJsIEMoMjU1KSwNCgkJCWltZ191cmwgQygyNTUpLA0KCQkJaW1nX3VybF9odHRwcyBDKDI1NSksDQoJCQlhdXRob3IgQygyNTUpLA0KCQkJc291cmNlIEMoMjU1KSwNCgkJCWxvY2F0aW9uIEMoMjU1KSwNCgkJCXRleHQgWCwNCgkJCXJldHdlZXRfY291bnQgSSwgICAgICAgICAgICANCgkJCWZhdm9yaXRlZCBJLCAgICAgICAgICAgICAgICANCgkJCXJldHdlZXRfaWQgQygyNTUpLCAgICAgICAgICANCgkJCXJldHdlZXRfdHdkYXRlIERULCAgICAgICAgICAgDQoJCQlyZXR3ZWV0X3VzZXJpZCBJOCwgICAgICAgICAgIA0KCQkJcmV0d2VldF9zY3JlZW5hbWUgQygyNTUpLCAgIA0KCQkJcmV0d2VldF9zY3JlZW5hbWVfdXJsIEMoMjU1KSwNCgkJCXJldHdlZXRfYXV0aG9yIEMoMjU1KSwgICAgICANCgkJCXJldHdlZXRfaW1nX3VybCBDKDI1NSksICAgICANCgkJCXJldHdlZXRfaW1nX2h0dHBzIEMoMjU1KSwgICANCgkJCXJldHdlZXRfc291cmNlIEMoMjU1KSwgICAgICANCgkJCXJldHdlZXRfbG9jYXRpb24gQygyNTUpLCAgICANCgkJCXJldHdlZXRfdGV4dCBYLCAgICAgICAgICAgICANCgkJCWpzb25kYXRhIFggICAgICAgICAgICAgICAgICANCgkJIjsNCgkJDQoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90dyIsCSRmbGRzLCAkdGFib3B0YXJyYXkpOw0KCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoJCQ0KCQkvLyBVcGRhdGUgVHdpdHRlcg0KCQkkZmxkcyA9ICINCgkJCWhhc2ggQygyNTUpIEtFWSwNCgkJCXRpbWVzdGFtcCBEVA0KCQkiOw0KCQkNCgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X3R3dXBkYXRlIiwJJGZsZHMsICR0YWJvcHRhcnJheSk7DQoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkJDQoJCQ0KCQkvLyBDU1YNCgkJJGZsZHMgPSAiDQoJCQlmaWxlbnIgSSBLRVkgQVVUTywNCgkJCWZpbGVuYW1lIEMoMjU1KSwNCgkJCXBhdGggWCg1MDApLA0KCQkJZmlsZXNpemUgSTgsDQoJCQlsYXN0dXBkYXRlIERUDQoJCSI7DQoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF9jc3YiLAkkZmxkcywgJHRhYm9wdGFycmF5KTsNCgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCQkJCQ0KCQkkZm4gPSB0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCJ0d2l0dGVyZmVlZCIsICJ0d2l0dGVyZmVlZCIpOw0KCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkNCgkJew0KCQkJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCQlpZiAoIXRiVXRpbHM6OmltcG9ydFRlbXBsYXRlKCR0aGlzLCAkeG1sLCB0cnVlLCB0cnVlKSkgew0KCQkJCSRlcnJvciA9IHRiVXRpbHM6OmdldEVycm9ycygpOw0KCQkJCXJldHVybiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddOw0KCQkJfQ0KCQl9DQoJCQ0KCQkvLyBBdXRvTGlnaHRCb3ggVm9yZ2FiZXdlcnRlIGFrdHVhbGlzaWVyZW4NCgkJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCB0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCJhdXRvbGlnaHRib3giLCAiZmFuY3lib3giKSk7DQoJCSRYTUxEYXRhID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVEYXRhRnJvbVhNTCgkeG1sKTsNCgkJJHRlbXBsYXRlY29kZSA9ICRYTUxEYXRhWyd0cGxjb2RlJ10uVE9PTEJPWF9TRVBBUkFUT1IuJFhNTERhdGFbJ3RwbGNzcyddLlRPT0xCT1hfU0VQQVJBVE9SLiRYTUxEYXRhWyd0cGxqcyddLiRYTUxEYXRhWyd0cGxtb2JpbGVjb2RlJ10uVE9PTEJPWF9TRVBBUkFUT1IuJFhNTERhdGFbJ3RwbG1vYmlsZWNzcyddLlRPT0xCT1hfU0VQQVJBVE9SLiRYTUxEYXRhWyd0cGxtb2JpbGVqcyddLicqfSc7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2F1dG9saWdodGJveF9jb250ZW50cycsJHRlbXBsYXRlY29kZSk7DQoJCQ0KCQkvLyBTb2NpYWxTaGFyZVByaXZhY3kgYWt0dWFsaXNpZXJlbg0KCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnKSA9PSAwIG9yICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfYWR2YW5jZWQnKSA9PSAwKSB7DQoJCQkkZm4gPSB0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCJzb2NpYWxzaGFyZXByaXZhY3kiLCAic29jaWFsc2hhcmVwcml2YWN5Iik7DQoJCQlpZiggZmlsZV9leGlzdHMoICRmbiApKSB7DQoJCQkJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCQkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSwgZmFsc2UpKSB7DQoJCQkJCSRlcnJvciA9IHRiVXRpbHM6OmdldEVycm9ycygpOw0KCQkJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JbJ2FkZGl0aW9uYWwnXTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCQ0KCQkvLyBEZWxldGUgb2xkIHRlbXBsYXRlIFhNTCBmaWxlcw0KCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYXV0b2xpZ2h0Ym94LnhtbCcpOw0KCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvc29jaWFsc2hhcmVwcml2YWN5LnhtbCcpOw0KCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvZWRpdHRlbXBsYXRlLnRwbCcpOw0KCQkNCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9kZWxpbWl0ZXIiLCI7Iik7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZmlsZWNoYXJzZXQiLCJpc28tODg1OS0xIik7DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfY21zY2hhcnNldCIsIlVURi04Iik7DQoJCQ0KCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiYXV0b2xpZ2h0Ym94X3VybHR5cGUiLCJyZWxhdGl2ZSIpOw0KCQkNCgkJDQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4zLjAnOw0KfQ0KDQovLyBXcml0ZSBtZXNzYWdlIHRvIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGRhdGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7DQoNCg0KLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMNCjxGaWxlcyB+ICJcLihwaHB8cGhwM3xwaHA0fHBocDV8cGh0bWx8cGx8Y2dpKSQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjwvRmlsZXM+ICANCg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_autolightbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfdGl0bGUnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRtb2QtPkxhbmcoJ2F1dG9saWdodGJveF9kZXNjcmlwdGlvbicpfQo8L2Rpdj4KCnskZm9ybXN0YXJ0fQp7JHRhYnRvfQo8ZmllbGRzZXQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b2xpZ2h0Ym94X3Byb21wdF9yZWwnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b2xpZ2h0Ym94X3Byb21wdF9jbGFzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jbGFzc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2F1dG9saWdodGJveF9wcm9tcHRfbGlnaHRib3gnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbGlnaHRib3h9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfcHJvbXB0X3VybHR5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXJsdHlwZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+CjwvZGl2PgoKPC9maWVsZHNldD4KeyRmb3JtZW5kfQoKe2lmICRsaWdodGJveF91c2V9IAoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVtYW5hZ2VtZW50Jyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3RlbXBsYXRlbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoIGNsYXNzPSJwYWdldzgwIj57JG1vZC0+TGFuZygncHJvbXB0X25hbWUnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MTAiPnskbW9kLT5MYW5nKCdwcm9tcHRfdmVyc2lvbicpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZXcxMCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hYm91dCcpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfYWN0aXZlJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgogICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPnZlcnNpb259PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+YWJvdXR9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+ZGVmYXVsdH08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgogICAgIDx0ZD57JGVudHJ5LT5jb3B5bGlua308L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmV4cG9ydH08L3RkPgogICA8L3RyPgp7L2ZvcmVhY2h9CjwvdGFibGU+CjwvZGl2PgoKCgp7KiA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXd0ZW1wbGF0ZWxpbmt9PC9wPgo8L2Rpdj4KKn0KeyRmb3Jtc3RhcnRpbXBvcnR9CnskdGFidG99CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygndGl0bGVfaW1wb3J0eG1sJyl9PC9sZWdlbmQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnaW1wb3J0eG1sbm90ZScpfG5sMmJyfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbXBvcnR4bWwnKX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRpbXBvcnR4bWx9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdvdmVyd3JpdGUnKX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRvdmVyd3JpdGV9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskc3VibWl0fQo8L3A+CjwvZGl2PgoKey9pZn0KCjwvZmllbGRzZXQ+CnskZm9ybWVuZGltcG9ydH0KCgoKCg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfY3N2X3RpdGxlJyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskbW9kLT5MYW5nKCdjc3ZfZGVzY3JpcHRpb24nKX0KPC9kaXY+CiAKIAo8ZGl2IGlkPSJ0YnBhZ2VfdGFicyI+IAoJPGRpdiBpZD0iZmlsZXMie2lmICR0dGFidG89PSIiIG9yICR0dGFidG89PSJmaWxlcyJ9IGNsYXNzPSJhY3RpdmUiey9pZn0+CgkJeyRtb2QtPkxhbmcoJ2NzdmZpbGVzJyl9Cgk8L2Rpdj4gICAgICAgICAKCTxkaXYgaWQ9InNldHRpbmdzIntpZiAkdHRhYnRvPT0ic2V0dGluZ3MifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdzZXR0aW5ncycpfSAgCgk8L2Rpdj4gICAgIAoJPGRpdiBpZD0ic3VtbWFyeSJ7aWYgJHR0YWJ0bz09InN1bW1hcnkifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeXRlbXBsYXRlJyl9ICAgCgk8L2Rpdj4gCgk8ZGl2IGlkPSJkZXRhaWwie2lmICR0dGFidG89PSJkZXRhaWwifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdwcm9tcHRfZGV0YWlsdGVtcGxhdGUnKX0gIAoJPC9kaXY+Cgk8ZGl2IGlkPSJzZWFyY2gie2lmICR0dGFidG89PSJzZWFyY2gifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdzZWFyY2h0ZW1wbGF0ZScpfSAgIAoJPC9kaXY+ICAgCgk8ZGl2IGlkPSJpbXBvcnQie2lmICR0dGFidG89PSJpbXBvcnQifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdpbXBvcnR4bWwnKX0gICAKCTwvZGl2PiAgICAgCjwvZGl2PiAgIAo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgCgoJPGRpdiBpZD0idGJwYWdlX2NvbnRlbnQiPiAKCQk8ZGl2IGlkPSJmaWxlc19jIj4gCgkJRGF0ZWllbgoJCTwvZGl2PgoJCTxkaXYgaWQ9InNldHRpbmdzX2MiPgoJCQl7JGZvcm1zdGFydHNldHRpbmdzfQoJCQl7JGhpZGRlbnNldHRpbmdzfQoJCQk8ZmllbGRzZXQ+CgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWxpbWl0ZXInKX06PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPjxzcGFuIGNsYXNzPSJ3MzAiPnskZGVsaW1pdGVyfTwvc3Bhbj48L3A+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NoYXJzZXRmaWxlJyl9OjwvcD4KCQkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij48c3BhbiBjbGFzcz0idzgwIj57JGZpbGVjaGFyc2V0fTwvc3Bhbj48L3A+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NoYXJzZXRjbXMnKX06PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPjxzcGFuIGNsYXNzPSJ3ODAiPnskY21zY2hhcnNldH08L3NwYW4+PC9wPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0YWxsZ2VtZWlufXskcmVzZXRhbGxnZW1laW59PC9wPgoJCQkJPC9kaXY+CgkJCTwvZmllbGRzZXQ+CgkJCXskZm9ybWVuZHNldHRpbmdzfQoJCTwvZGl2PgoJICAKCQk8ZGl2IGlkPSJzdW1tYXJ5X2MiPgoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3N1bW1hcnl0ZW1wbGF0ZWxpbmt9PC9wPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCQkJICA8dGhlYWQ+CgkJCSAgICA8dHI+CgkJCSAgICAgIDx0aCBjbGFzcz0icGFnZXc4MCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0Jyl9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KCQkJICAgIDwvdHI+CgkJCSAgPC90aGVhZD4KCQkJe2ZvcmVhY2ggZnJvbT0kc3VtbWFyeWl0ZW1zIGl0ZW09ZW50cnl9CgkJCSAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5kZWZhdWx0fTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZXhwb3J0fTwvdGQ+CgkJCSAgIDwvdHI+CgkJCXsvZm9yZWFjaH0KCQkJPC90YWJsZT4KCQkJPC9kaXY+CgkJPC9kaXY+CgkgIAoJCTxkaXYgaWQ9ImRldGFpbF9jIj4KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3ZGV0YWlsdGVtcGxhdGVsaW5rfTwvcD4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CgkJCSAgPHRoZWFkPgoJCQkgICAgPHRyPgoJCQkgICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskbmFtZXByb21wdH08L3RoPgoJCQkgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JGRlZmF1bHRwcm9tcHR9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KCQkJICAgIDwvdHI+CgkJCSAgPC90aGVhZD4KCQkJe2ZvcmVhY2ggZnJvbT0kZGV0YWlsaXRlbXMgaXRlbT1lbnRyeX0KCQkJICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmRlZmF1bHR9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+Y29weWxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5leHBvcnR9PC90ZD4KCQkJICAgPC90cj4KCQkJey9mb3JlYWNofQoJCQk8L3RhYmxlPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkKCQk8ZGl2IGlkPSJzZWFyY2hfYyI+CgkJCVNlcmFjaAoJCTwvZGl2PiAKCQkKCQk8ZGl2IGlkPSJpbXBvcnRfYyI+CgkJCXskZm9ybXN0YXJ0aW1wb3J0fQoJCQl7JGhpZGRlbmltcG9ydH0KCQkJPGZpZWxkc2V0PgoJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCd0aXRsZV9pbXBvcnR4bWwnKX08L2xlZ2VuZD4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdpbXBvcnR4bWxub3RlJyl8bmwyYnJ9PC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydHhtbCcpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQl7JGltcG9ydHhtbH0KCQkJPC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ292ZXJ3cml0ZScpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQl7JG92ZXJ3cml0ZX0KCQkJPC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJeyRzdWJtaXRpbXBvcnR9CgkJCTwvcD4KCQkJPC9kaXY+CgkJCTwvZmllbGRzZXQ+CgkJCXskZm9ybWVuZGltcG9ydH0KCQk8L2Rpdj4gCgkJCgk8L2Rpdj4KPC9kaXY+CiAKIAoKIA==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_debug.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CnskdGFidG99CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPjxzdHJvbmc+eyRkZWJ1Z19sb2d9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRpZH08L3RoPgoJCQkJPHRoPnskaXB9PC90aD4KCQkJCTx0aD57JGZyb211cmx9PC90aD4KCQkJCTx0aD57JHRvdXJsfTwvdGg+CgkJCQk8dGg+eyRzdGF0dXN9PC90aD4KCQkJCTx0aD57JHRpbWV9PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRkZWJ1Z3MgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQkJPHRkPnskZW50cnktPmlwfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+ZnJvbXVybH08L3RkPgoJCQkJPHRkPnskZW50cnktPnRvdXJsfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c3RhdHVzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+Y3JlYXRlZH08L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRkZWxldGVhbGxsaW5rfTwvcD4KCTxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+Jm5ic3A7PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_editredirect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9DQp7JHRhYnRvfQ0KeyRyZWRpcmVjdH0NCjxmaWVsZHNldD4NCjxsZWdlbmQ+eyRyZWRpcmVjdGVkaXR9PC9sZWdlbmQ+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVkaXJlY3RpZH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVkaXJlY3RpZH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hY3RpdmV9OjwvcD4NCgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FjdGl2ZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91cmx9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCgkJeyRpbnB1dF91cmx9PGJyIC8+DQoJCXskaW5wdXRfcmVnZXhwfSZuYnNwO3skcHJvbXB0X3JlZ2V4cH0NCgk8L3A+DQo8L2Rpdj4NCntpZiAkdG91cmwgZXEgJyd9DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcGFnZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGJyIC8+eyRhbHRlcm5hdGl2ZV91cmx9PC9wPg0KPC9kaXY+DQp7L2lmfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RvdXJsfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90b3VybH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3Rlc306PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZG9tYWluX25vdGVzfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij57JHN1Ym1pdH17JGNhY2hlfXskcmVzZXR9eyRjYW5jZWx9PC9kaXY+DQo8L2ZpZWxkc2V0Pg0KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_listerrors.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9eyR0YWJ0b317JGlkc30KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+PHN0cm9uZz57JG1vZC0+TGFuZygnZXJyb3JsaXN0Jyl9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnZnJvbXVybCcpfTwvdGg+CgkJCQk8dGg+eyRtb2QtPkxhbmcoJ3RvdXJsJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygndG91cmwnKX08L3RoPgoJCQkJPHRoPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnbW9kaWZpZWQnKX08L3RoPgogICAgICAgICAgICAgICAge2lmICRjaGVja19vbGR1cmw9PScxJ308dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPnsvaWZ9CgkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIHtmb3JlYWNoIGZyb209JGVycm9yYXJyIGl0ZW09ZW50cnl9CiAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5mcm9tdXJsfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dG91cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT52aXNpdHN9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5jcmVhdGVkfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+bW9kaWZpZWR9PC90ZD4KICAgICAgICAgICAgICAgIHtpZiAkY2hlY2tfb2xkdXJsPT0nMSd9PHRkPnskZW50cnktPnJlZGlyZWN0bGlua308L3RkPnsvaWZ9CgkJCQk8dGQ+eyRlbnRyeS0+aWdub3JlbGlua308L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskZGVsZXRlYWxsbGlua308L3A+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPiZuYnNwOzwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj48c3Ryb25nPnskbW9kLT5MYW5nKCdpZ25vcmVsaXN0Jyl9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnaXJlZ2V4cCcpfT88L3RoPgoJCQkJPHRoPnskbW9kLT5MYW5nKCdpdXJsJyl9PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpZ25vcmVzIGl0ZW09ZW50cnl9CiAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5pcmVnZXhwfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+aXVybH08L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CgkJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJCQk8dGQ+PGVtPnskbW9kLT5MYW5nKCduZXcnKX08L2VtPjwvdGQ+CgkJCTx0ZD57JGlfaXJlZ2V4cH08L3RkPgoJCQk8dGQ+eyRpX2l1cmx9PC90ZD4KCQkJPHRkPiZuYnNwOzwvdGQ+CgkJPC90cj4KICAgIDwvdGFibGU+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPnskc3VibWl0fTwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_listredirects.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXdyZWRpcmVjdGxpbmt9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRpZH08L3RoPgoJCQkJPHRoPnskdXJsfTwvdGg+CgkJCQk8dGg+eyRwYWdlfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRhY3RpdmV9PC90aD4KICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQkJPHRkPnskZW50cnktPnVybH0mbmJzcDt7aWYgJGVudHJ5LT5yZWdleHB9eyRpbmZvaWNvbn17ZWxzZX08YSBocmVmPSJ7JGVudHJ5LT52dXJsfSIgdGl0bGU9Inskdmlld30iIHRhcmdldD0iX2JsYW5rIj57JHZpZXdpY29ufTwvYT57L2lmfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+cGFnZX08L3RkPgoJCQkJPHRkPnskZW50cnktPmFjdGl2ZX08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgIHsvZm9yZWFjaH0KICAgIDwvdGFibGU+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3JlZGlyZWN0bGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_main.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cjx0YWJsZSBjbGFzcz0iVG9vbEJveE1haW5UYWJsZSI+Cjx0cj4KPHRkIHN0eWxlPSJ3aWR0aDogNTAlIj48aDM+eyRwcm9tcHRfYWN0aXZlfTwvaDM+Cgp7Zm9yZWFjaCBmcm9tPSRhY3RpdmUgaXRlbT0nYSd9CjxkaXYgY2xhc3M9InRiQWN0aXZlIj57JGF9PC9kaXY+CnsvZm9yZWFjaH0KCjwvdGQ+Cjx0ZCBzdHlsZT0id2lkdGg6IDEwcHgiPiZuYnNwOzwvdGQ+Cjx0ZCBzdHlsZT0id2lkdGg6IDUwJSI+PGgzPnskcHJvbXB0X2luYWN0aXZlfTwvaDM+Cntmb3JlYWNoIGZyb209JGluYWN0aXZlIGl0ZW09J2knfQo8ZGl2IGNsYXNzPSJ0YkluYWN0aXZlIj57JGl9PC9kaXY+CnsvZm9yZWFjaH0KPC90ZD4KPC90cj4KPC90YWJsZT4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_moduleops.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskZGVzY3JpcHRpb259CjwvZGl2PgogCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskcHJvbXB0X25hbWV9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdldzEwIj57JHByb21wdF92ZXJzaW9ufTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskcHJvbXB0X3N0YXR1c308L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JHByb21wdF9leHBvcnR9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4Ke2ZvcmVhY2ggZnJvbT0kbW9kdWxlcyBpdGVtPWVudHJ5fQogICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CiAgICAgPHRkPnskZW50cnktPm5hbWV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+dmVyc2lvbn08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5hY3RpdmV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+eG1sfTwvdGQ+CiAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KPC9kaXY+CgoKCnskZm9ybXN0YXJ0aW1wb3J0fQp7JGhpZGRlbn0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskdGl0bGVfaW1wb3J0eG1sfTwvbGVnZW5kPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbXBvcnR4bWxub3RlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ltcG9ydHhtbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRpbXBvcnR4bWx9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X292ZXJ3cml0ZX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRvdmVyd3JpdGV9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskc3VibWl0fQo8L3A+CjwvZGl2PgoKCgo8L2ZpZWxkc2V0Pgp7JGZvcm1lbmRpbXBvcnR9CgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CnskdGFidG99Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KCjxoMj57JG1vZC0+TGFuZygncHJvbXB0X2dlbmVyYWxfcHJlZnMnKX08L2gyPgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfcHJlZnNfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9taW5pZnknKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9taW5pZnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9qYXZhc2NyaXB0X2Zvb3RlcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2pzX2Zvb3Rlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnZG9udF91c2VfZXZlbnRfaGFuZGxlcl9oZWxwJyl9PGJyIC8+eyRpbnB1dF9kb250X3VzZV9ldmVudF9oYW5kbGVyfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CjxwPiZuYnNwOzwvcD4KCjxoMj57JG1vZC0+TGFuZygncHJvbXB0X2ltYWdlbWFuaXB1bGF0aW9uX3NvY2lhbHBsdWdpbicpfTwvaDI+Cgo8ZmllbGRzZXQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYXV0b2xpZ2h0Ym94X3VzZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb2NpYWxzaGFyZXByaXZhY3lfdXNlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0d2l0dGVyZmVlZF91c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90d2l0dGVyZmVlZF91c2V9PC9wPgo8L2Rpdj4Keyo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3N2X3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Nzdl91c2V9PC9wPgo8L2Rpdj4KKn0KCjwvZmllbGRzZXQ+CjxwPiZuYnNwOzwvcD4KPGgyPnskbW9kLT5MYW5nKCdwcm9tcHRfdHJhY2tpbmdfbG9nZ2luZycpfTwvaDI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X29sZHVybF90aXRsZScpfTwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb2xkdXJsX3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X29sZHVybF91c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhdHNfNDA0X3RpdGxlJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGF0c180MDQnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0c180MDR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21heF80MDQnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ21heF80MDRfaGVscCcpfTxiciAvPnskaW5wdXRfbWF4XzQwNH08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhdHNfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXRzX3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N0YXRzX3VzZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhdHNfZGFpbHknKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0c19kYWlseX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhdHNfZW1haWwnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3N0YXRzX2VtYWlsX2hlbHAnKX08YnIgLz57JGlucHV0X3N0YXRzX2VtYWlsfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X2RlYnVnX3RpdGxlJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZWJ1Z191c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZWJ1Z191c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X3RhaWxfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RhaWxfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGFpbF91c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyoKPGgyPnskbW9kLT5MYW5nKCdiYWNrdXByZWNvdmVyeScpfTwvaDI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnbW9kdWxlb3BzJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb2R1bGVvcHNfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kdWxlb3BzX3VzZX08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoqfQo8cD4mbmJzcDs8L3A+Cgp7aWYgJG1kX3RhYmxlc19leGlzdH0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfbXVsdGlkb21haW5fdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydF9tdWx0aWRvbWFpbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pbXBvcnRfbXVsdGlkb21haW5zfXtpZiAkaW1wb3J0X211bHRpZG9tYWluc19jb3VudCA+IDB9PGJyIC8+PHNwYW4gc3R5bGU9ImNvbG9yOnJlZDsiPnskaGVscF9pbXBvcnRfbXVsdGlkb21haW5zfTwvc3Bhbj57L2lmfTwvcD4KCXtpZiAhJG1kX29sZH0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkcm9wX211bHRpZG9tYWlucycpfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kcm9wX211bHRpZG9tYWluc308L3A+Cgl7L2lmfQo8L2Rpdj4KPC9maWVsZHNldD4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_socialshareprivacy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskZGVzY3JpcHRpb259CjwvZGl2Pgp7JGZvcm1zdGFydH0KeyRoaWRkZW59CjxmaWVsZHNldD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2luZm9saW5rfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pbmZvbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfanF1ZXJ5fTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FkdmFuY2VkfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hZHZhbmNlZH08L3A+CjwvZGl2Pgp7aWYgJGFkdmFuY2VkX3VzZX0gCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvbXB0X3RlbXBsYXRlX2luZm99PGJyIC8+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZWNzc306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21hcnR5dGFnc308YnIgLz57JGlucHV0X3RlbXBsYXRlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGVqc306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21hcnR5dGFnc308YnIgLz57JGlucHV0X3RlbXBsYXRlanN9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmICRhZHZhbmNlZF91c2V9eyRpbXBvcnR0ZW1wbGF0ZWxpbmt9ICAgey9pZn17JGV4cG9ydHRlbXBsYXRlbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskcmVzZXR9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_stats.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCgl7aWYgJG9sZHVybF91c2UgPT0gMX0KCQoJPGgyPnskcmVkaXJlY3R9PC9oMj4KCQoJe2lmICRzdGF0c19kYWlseSA9PSAxfQoJPGgzPnskZGF5c308L2gyPgoJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0cj4KCQkJCTx0aD57JHVybH08L3RoPgoJCQkJPHRoPnskcGFnZX08L3RoPgoJCQkJPHRoPnskdmlzaXRzfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRzZWFyY2hlbmdpbmV9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JGtleXdvcmR9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JHJlZmVyZXJ9PC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIHtmb3JlYWNoIGZyb209JGRheXNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoJey9pZn0KCgk8aDM+eyRtb250aHN9PC9oMj4KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CgkJCQk8dGg+eyR1cmx9PC90aD4KCQkJCTx0aD57JHBhZ2V9PC90aD4KCQkJCTx0aD57JHZpc2l0c308L3RoPgogICAgICAgICAgICAgICAgPHRoPnskc2VhcmNoZW5naW5lfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRrZXl3b3JkfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRyZWZlcmVyfTwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRtb250aHNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoKCTxoMz57JHllYXJzfTwvaDI+Cgk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgoJCQkJPHRoPnskdXJsfTwvdGg+CgkJCQk8dGg+eyRwYWdlfTwvdGg+CgkJCQk8dGg+eyR2aXNpdHN9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JHNlYXJjaGVuZ2luZX08L3RoPgogICAgICAgICAgICAgICAgPHRoPnska2V5d29yZH08L3RoPgogICAgICAgICAgICAgICAgPHRoPnskcmVmZXJlcn08L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0keWVhcnNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoJCgl7L2lmfQoKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_tail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCd0YWlsX3RpdGxlJyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskbW9kLT5MYW5nKCd0YWlsX2Rlc2NyaXB0aW9uJyl9CjwvZGl2Pgp7JGZvcm1zdGFydH0KeyR0YWJ0b30KPGZpZWxkc2V0Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RhaWxfcHJvbXB0X2ZpbGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0YWlsX3Byb21wdF9saW5lcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9saW5lc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_twitterfeed.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdHdpdHRlcmZlZWRfdGl0bGUnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRtb2QtPkxhbmcoJ3R3aXR0ZXJmZWVkX2Rlc2NyaXB0aW9uJyl9CjwvZGl2PgogCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZW1hbmFnZW1lbnQnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3dGVtcGxhdGVsaW5rfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVmYXVsdCcpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPkV4cG9ydDwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWZhdWx0fTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+ZXhwb3J0fTwvdGQ+CiAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KPC9kaXY+CgoKCnskZm9ybXN0YXJ0aW1wb3J0fQp7JHRhYnRvfQo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3RpdGxlX2ltcG9ydHhtbCcpfTwvbGVnZW5kPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydHhtbG5vdGUnKXxubDJicn08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnaW1wb3J0eG1sJyl9OjwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+CnskaW1wb3J0eG1sfQo8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb3ZlcndyaXRlJyl9OjwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskb3ZlcndyaXRlfQo8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPgp7JHN1Ym1pdH0KPC9wPgo8L2Rpdj4KCgoKPC9maWVsZHNldD4KeyRmb3JtZW5kaW1wb3J0fQoKCgoK]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGAAYAPcIADo6OkVFRTQ0NMnJydPT04yMjC8vL7y8vB0dHXl5eX5+fu7u7lJSUqGhoQ0NDSsrK62treXl5ZSUlMLCwhgYGKenp7S0tLu7u/X19fr6+kNDQ5ycnBISEgQEBFtbW7GxsRcXFzAwMCMjI2ZmZoaGhktLS83NzQoKClxcXE1NTc7OzhQUFGVlZQUFBVRUVG9vbxkZGZWVlebm5tzc3NTU1OLi4jExMVlZWUBAQJ6eniYmJqKiopqamoeHh6+vr8PDwwkJCT8/P5OTkw8PDykpKRAQECEhIYmJiYiIiCQkJF1dXS0tLSAgILCwsAgICBERETMzM4WFhb29vSoqKgsLC6Ojo7+/v5mZmfT09Pn5+Tg4OLa2trq6utDQ0CIiIp2dnaurqwwMDD09PUdHR66urkRERExMTNXV1eHh4ZaWlhMTE9vb28/Pzzw8PKCgoBYWFqysrL6+vlpaWm5ubp+fn0ZGRsDAwJubmz4+Pg4ODjk5OZCQkAYGBicnJywsLDIyMnh4eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEBQoACAAsAAAAABgAGAAAB/+ACIKDhAg2NoWJiUAtgkMHB0OKkys8L44qKpIIMEaNkwgrBzQGCEOZkkA2RJ+gLjJCLaeanAJFlCuCQDs1AUCoRQI6gy2tLQU+KUAIADMxQDc3LUY2ki1FREbELD8EMQJAKcODQLdAOgI2MIVEPSoDAZNDh0bLiS04R9qKQEa3hUACMrIHSlAxQUaE8FiYI0jBIgaISCTSL8aOHBhxPCQSkYiOVEOAhGw1qdHBREM8Ter3bxE1Gy0LFaFHUBAMG8IkhSR0zRQ6dYSMECnSSJW2IreobVqRjWcrdLc4yrKxD8HJRDO1tZCI0FZBq0RsLNvKytQqkveMrBMUcVAntF8IdRD5+lXk10AAIfkEBQoABgAsAAAAABgAGAAAB/+ABoKDhC1LD4SJioItToJOTRAOjC2LiQUsgg5SUpMGCRUUloMQE4ibnQZQESqiowYpBFEtqA4tDRlKlk9PjxIqGk6cTikYTY6LChvBBgIDSE4MDE4NCxqCTw9MhEpNUlFLTgFJhA8MtElQUBSVg0kKFxYAu+pMyIoACgiWTkyehQbatXs1qJKTJA8SLuk16smhhEmcOEjy8AHDXQ8PTWpRaSBBj4mebLPUgsnFRE4QqDtJ6AkUAfYSUVCXZJItQhINTBQAZQUhJgs1QdnGywATKBtXaCOZRECvB0toCSBH0MATmIISCmIiwCdBqMi06lyypCoTVy0StqMwsuogsW4GFzm5ZykQACH5BAUKAAIALAAAAAAYABgAAAf/gAKCg4QCU0mFiYkdHYJUDQ1Ujo2KgxwKHoJhZGRhgi9XIJWCHF9kiJtgngY0XKKjAmNWCQJUZGCSMTIulYyOSFxatrgBNZGCMDCEXlMcgjZbCVRjY1QxMwACYR5dVZLINjZJYR1iCIRT1WIfWTIJlI4IWjaeigwLWA02lWFe34lTqqSAN4gSQUUGB1GZwpChs1EcDEyROIXKQoYSH1bi0FDiP1iLICL4SIgKgnqJwsijtzGcv0IwDIgjF+YjFU9hkmgx8EqQFwMPw9jwIoCDMwQG6nEkWpCgFk8Mi2oh5EsRBy1EO0QV4EWLxl4TvzFsREXiwUIdvCgToHXKIBheC87CSuIWJCyLIAMBACH5BAUKAAAALAIAAAAWABcAAAfegACCg4MiIoSIiYgSBYqKHSIwgg45V1SCIwUcjh1TIZdUlZdTExBqjgBqAoeUVx0dJARmqII6IQ6hljhsEoSnAIeDDiEiHTg4HUgDAgBULhOugiEhOg4dHB2EImVUAlURZy+XgiICt45ma2hpD4kOwYo6aWWJ2bSCVFQOHA4OAA8A29G6waYgGysPpkwRONAgmwkhBNmjpa9fP0IOJKGC4Q8RlXICOiqaBi9VCAHVrrkD4ECHOY06HvxyIEAjuXOpppQcZGsTIWr3AKxKJCLiPYaIkMajtZOWDkQTBwUCACH5BAUKAAEALAIAAAAWABcAAAfRgAGCg4NUVISIiYhTSYMdiogUg1NTjwFKCpCJHZSDPjwcmqGTlR0KF2WaAR1JIRwdD1NUbRc9gysrmggdHK8KFg+CZhZIghQhAo0BDoeDCABUITEEPyyWgiGqZQMqSFOqiiI9beCqDufMAZSdqgw/Fxc/FutTwe3w8MDlkM2DIteIHuwwA3BQCFeQGCzAsiOEJUkBlK0i1MFBhzIWsshI8EjEg1EBQiAQlEvQISpKVFToJ4gVIksiBlGASKikIHu3wIVwsC+RCJqRegpKkqQgokAAIfkEBQoAAAAsAAAAABgAGAAAB8uAAIKDhABAQIWJiokdi46FS4MUIo2Pgg6CS1ONQJqVlooiAhyghVOCHCFJg2+kjyKEIkuYQHV0Cpafhg4dIUhxEHKFiJZBW1wJq47EiQgJWo66ix2HDoeGU9lTkY8pEN9wblNA2pqWJd/f4oLSy4dA1omui1MxdYvMjikzaDHcpYKmuACipUqEM3MgFYIFgEMHNwsCGHJhIkY7QpgGpcAAgdibN4tADjplyE0GYaUQddgmKEQEExQAZtokKEGVmAA7JCFpKF9Kn4kCAQAh+QQFCgABACwAAAAAGAAYAAAH0YABgoOEAVRUhYmKhA+LjoIwgw+NkI+SIYgBk4JUBpSPK4yfloubgx2CHaiMlgaDHAYihJGEHIWZDkkCIaGEmY8cISEiv4rFhB0iDqSWVA7OiFSTk66PZXfYbkLE06aOAHc8PHfbzL6HVB3HAQ7EiyJIAIuZBsuKZQMEPaMBtIPPhJKkoBIiBgE7LAqNitXhxg0qMWbIo5LCRwFSDlSooFKmxg57K3olEplRhYMOQmS4IPUgxLKSywzQOCDSES0HBEwKesHDH0Y7duypMzdImKVAACH5BAUKACkALAAAAAAYABgAAAatwJRwSEydTsWkcslUUpbPJtGRREqFnKs26RBsmaEmxdDsZIUhA6hoTZ3LSw6irXwPO18l/coxPPwPR3kcfw+Ge1d4TRwiiEIICUyORQAWFwpJIAZhQgwPRCIBHQYkBxAoRWRCGgsNJwwMJyQDXicBG5h6HxglJwcHJxoEElYcdkQeGQ0dDr8nHSQEJVIUJhGcEwdCDxMQa0wUFZFCv0MjBcdJHVYnHx9til9/UkEAIfkEBQoAAAAsAAAAABgAGAAAB9mAAIKDhABUVIWJiouMiV6NSY2EiIVUD5KEj4WamACcgxwhjZ9DIZ9eIUODD58AogBDHUOUg7FDSQIhFJWtiUMPAl60hUPCi1S9nYUdgsyGD9DQmNHQVM7KgtFJqsuYHdeEHSk7l4odXtzLITtYCwyLoabDHQkyWR94VCWRgwh4HVRw6RpEpUIXD4i0zIihLwW9La84sCJEYZehHTUCUAEDh4qWA0gofVvEQEYMgBytJbASQNKbAzQuDQEDBlESOF84NHpz5YWgmWC4eVDQiRKVHTuGYRvEj1EgACH5BAUKAAAALAAAAAAYABgAAAfjgACCg4QAQECFiYqDLUkPi4stIoktgyKVkII2eQCYgkA2D56Zk4wAIgJqkZ5JNhyeeTaELaOlgrGTqqcGnJaFBrcAeaMtnHmtsoVAIjbJirE2IoiKHDDTlLaEedvbmYWYNnYq4yo33gYP6Q9ABlbk5d6D6MbcedeQo7MBaUmRIr2JDKRBs8YMpGbSZr04E6GKHiABsgHhIEzTLB52XCASMABJCxw4WsDYRCibLkNpVITkkQNIrH6CaC0yc8YjEJacUFHMpAaCnU8sEbETxbPACKA5eqm55A0IJiB70tyLVyjbokAAIfkEBQoAAQAsAAAAABgAGAAAB/eAAYKDhAFUVIWJioRERIuLfIWNkYOUkEQhiHyNglR+RJaPhH5+lCEcixQUgyIhYZtEVGEhfZR8lnwVXR5hAbOCqIKug46VCTJZH2J8YYiVqGF9AiErhSE7WAsMi7MCIs6FfGY7xYmhhGHpzeCPfFSUfh8XcfTbop9En54f9PWiAY0C9lK37l+AW+cOikEiYhEVBL0UEemhYkCZRyFCfCPEh8WPLjEEUAGAgJAsX9JCcCzgwwwiPxYS8OGACsGwACvKCVpRzVCPOAAAOuJAq1JCQWXiyOTz6egiDjx8FJtkqKkoDgo8CII1aIUIp0YH9dFpMNGhf4EAACH5BAUKAAAALAAAAAAYABgAAAj/AAEIHEgQwIkTBRMm5INQYJ8+CiMCoFAhwcApUwgykSiQgokIfwRi5GNwSUaOAFBkqIJwyhKBTP4UifjmjcAwTTCk4INRYEiJV+K4QBhkQRU+RWbGHFhkysaBc85EqKLlBAOIA0/MPNHnzx8KBZekQTOjRMQiXpmEiRggDdaEJ9QqPEgXpUA+eAFMqQIBDhwIZiUWMYmxD9cqfiEA5jgYI0aEdOvalagFEIKIcWcq7JOAy5YgEcP8EcCk4UA5EOIg+YPUNACkA70WVEAnAOQ/TJAq/QngjVOCRWw6/LPWJZ8wAiYDQNsHr0uYAjRL5Lmk4fOSJ6czAStyCsmJT5XrCH0rnuBBlAEBADs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_overlay.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCMEM4NDgzQjlDRTNFMTExODE4NUVDOTdFQ0I0RDgxRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGREU5OEVCQzAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGREU5OEVCQjAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIwQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+s3YRAQAAABtJREFUeNpiFODh2cBABGBiIBKMKqSOQoAAAwBokQDs5F/8FAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_sprite.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACwAAACYCAMAAACoAftQAAAAvVBMVEUAAAAAAAAAAAAODg4AAAAAAAAAAADNzc0BAQHZ2dkDAwMHBwcAAADf398CAgI/Pz8BAQEAAACCgoIcHBzl5eUAAAC/v7/x8fEGBgZnZ2cAAADs7OwGBgb4+Pg/Pz/Jycmenp5nZ2f39/eDg4MAAADQ0ND4+Piurq7a2tr8/Pzs7OwAAAD5+fn9/f3e3t4AAAD///9OTk7BwcE1NTWsrKyNjY2cnJx6enpdXV1oaGgsLCy6uroiIiLOzs5BQUFt3PCNAAAAL3RSTlMAAQMIDRIZHSMnLTpESFNVXWlpbG15en+HiZCWoaGssrO2vsDFydPU3uL4+fr9/Ywv6xsAAAQVSURBVHhe7JZbc6JMGIQXAUOQEMi3uMYkrmopZgqs5ujZ//+zvpdNzMsMlli1N3uRvtCbpzo9I+nmhyqN9OO6GNQ6Ha1SG0mcrhskXe90rvKE6kbX7r9MF4vp2887nfBrqPW0xJemD4w32e7jHIj2602SbNZ7Qfgd0zJLtgKi2B0+tSsE3h8u0RX7HGGfHWrK9oiIbrK69SiQHxTliO5VWtP0rrNEemhoj6muaYqx2XuGyJrwbgUKohhb3hIFM6wCC7Zm4+M5Zs5fpKNiTYndEOUHDFRYCeADLvGiy7DtL7E5/12gJPacalPlqEc2eoFAdmCa2UOGyOhoUuQgwo7PxCwJMGXYGcQMlyCVX3DchCkGs3V6h0iFgyUSZsuS6QQLGaYDhueUHxhf3RpzOqB8dRMcz84lf5FS9A1Ngi2PQm8PF7RBZOnEyqFnSC/BKX6bHQmucpB13mRzCJtTsPUowlpl14if2JifUXcwgeqdA2OLn1C+PdsbzCKkW0a3KeKxbbAxF4FJ9EgAaXGqyFORAuLZNrkMZNoNKnNS9PE5dpltFofjB4PJXIAk5rP/HMu4Ukmm7XjEkwLfc2yT66tJk7lp2T2H1LMtk2wVVsWpcE0SlW4DbeLE/xG3eRvfQv7Fptw4KvpDNRKLt1/3rZty/xbjrPef1+5D018ITYttkiTrfAUsrmzK3RTIT/woHxH3DaZl9h2rRH2aX0ydaYb1BVK1zNdA32RvNn7DkVmmoyeVJvYBMcdl5Vg2/lW0zpSbUNIKT12KLV8wVjsmNvGW63feU3qj86veGQmAA1e5qzbStNZdmVTlRzzbSjG+4+t4u1iqjxxjR6pczaiNBCCVXoGx25X7mUNGgJBHM/QsXWp+dk4U5xJjX4EXSM7ACcCxnnnm2zI8rxVoFgMr/lUwUpyNPvYVx/eRfaUSQzkzLWxEOVhiwynCAd2GvCm/2bquBPEo+LxnDv0YXdyfFOHQP+8EV/kY0enSorxyitoLxxwiabDRqDImWF2JJVBIeVNEk2HgsDGn7vkhcPy67lMOiBGF4AGS3tX8yYqAfb5eF/kRiMPX4cDjEDLd8wezJT4lwtHrMHBtbg6V9oLhYDYLw3A2eSVbn0elSdMCecFg+Ee0Kq7dlftLXSCrRxNE8lzH7hp0Nu3qpHQty7Ztq2sabHvtpb/SLauisVTye1O+N2Ubbxhu2xSAq6x1UwoAWfum8P3Gu5ZNYaUA2jaFJYCofVPYOWnZFD4TcLpxU1ZAnN24KRnfxQ2bshEE/Vub8r0p35vi/t9eHRoBDMNQDJUvMLkOkDMM+8D7b9cR+kOKLPy4juojnQeAkWWVAyLLLINVdovj44N8LOqi/3Djxo0bN5ZvdbWJuwHhrw2ILYdqBwDT2fEEXtrZFmVcCWLiAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.fancybox-thumbs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IC8qIQogKiBUaHVtYm5haWwgaGVscGVyIGZvciBmYW5jeUJveAogKiB2ZXJzaW9uOiAxLjAuNyAoTW9uLCAwMSBPY3QgMjAxMikKICogQHJlcXVpcmVzIGZhbmN5Qm94IHYyLjAgb3IgbGF0ZXIKICoKICogVXNhZ2U6CiAqICAgICAkKCIuZmFuY3lib3giKS5mYW5jeWJveCh7CiAqICAgICAgICAgaGVscGVycyA6IHsKICogICAgICAgICAgICAgdGh1bWJzOiB7CiAqICAgICAgICAgICAgICAgICB3aWR0aCAgOiA1MCwKICogICAgICAgICAgICAgICAgIGhlaWdodCA6IDUwCiAqICAgICAgICAgICAgIH0KICogICAgICAgICB9CiAqICAgICB9KTsKICoKICovCihmdW5jdGlvbiAoJCkgewoJLy9TaG9ydGN1dCBmb3IgZmFuY3lCb3ggb2JqZWN0Cgl2YXIgRiA9ICQuZmFuY3lib3g7CgoJLy9BZGQgaGVscGVyIG9iamVjdAoJRi5oZWxwZXJzLnRodW1icyA9IHsKCQlkZWZhdWx0cyA6IHsKCQkJd2lkdGggICAgOiA1MCwgICAgICAgLy8gdGh1bWJuYWlsIHdpZHRoCgkJCWhlaWdodCAgIDogNTAsICAgICAgIC8vIHRodW1ibmFpbCBoZWlnaHQKCQkJcG9zaXRpb24gOiAnYm90dG9tJywgLy8gJ3RvcCcgb3IgJ2JvdHRvbScKCQkJc291cmNlICAgOiBmdW5jdGlvbiAoIGl0ZW0gKSB7ICAvLyBmdW5jdGlvbiB0byBvYnRhaW4gdGhlIFVSTCBvZiB0aGUgdGh1bWJuYWlsIGltYWdlCgkJCQl2YXIgaHJlZjsKCgkJCQlpZiAoaXRlbS5lbGVtZW50KSB7CgkJCQkJaHJlZiA9ICQoaXRlbS5lbGVtZW50KS5maW5kKCdpbWcnKS5hdHRyKCdzcmMnKTsKCQkJCX0KCgkJCQlpZiAoIWhyZWYgJiYgaXRlbS50eXBlID09PSAnaW1hZ2UnICYmIGl0ZW0uaHJlZikgewoJCQkJCWhyZWYgPSBpdGVtLmhyZWY7CgkJCQl9CgoJCQkJcmV0dXJuIGhyZWY7CgkJCX0KCQl9LAoKCQl3cmFwICA6IG51bGwsCgkJbGlzdCAgOiBudWxsLAoJCXdpZHRoIDogMCwKCgkJaW5pdDogZnVuY3Rpb24gKG9wdHMsIG9iaikgewoJCQl2YXIgdGhhdCA9IHRoaXMsCgkJCQlsaXN0LAoJCQkJdGh1bWJXaWR0aCAgPSBvcHRzLndpZHRoLAoJCQkJdGh1bWJIZWlnaHQgPSBvcHRzLmhlaWdodCwKCQkJCXRodW1iU291cmNlID0gb3B0cy5zb3VyY2U7CgoJCQkvL0J1aWxkIGxpc3Qgc3RydWN0dXJlCgkJCWxpc3QgPSAnJzsKCgkJCWZvciAodmFyIG4gPSAwOyBuIDwgb2JqLmdyb3VwLmxlbmd0aDsgbisrKSB7CgkJCQlsaXN0ICs9ICc8bGk+PGEgc3R5bGU9IndpZHRoOicgKyB0aHVtYldpZHRoICsgJ3B4O2hlaWdodDonICsgdGh1bWJIZWlnaHQgKyAncHg7IiBocmVmPSJqYXZhc2NyaXB0OmpRdWVyeS5mYW5jeWJveC5qdW1wdG8oJyArIG4gKyAnKTsiPjwvYT48L2xpPic7CgkJCX0KCgkJCXRoaXMud3JhcCA9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LXRodW1icyI+PC9kaXY+JykuYWRkQ2xhc3Mob3B0cy5wb3NpdGlvbikuYXBwZW5kVG8oJ2JvZHknKTsKCQkJdGhpcy5saXN0ID0gJCgnPHVsPicgKyBsaXN0ICsgJzwvdWw+JykuYXBwZW5kVG8odGhpcy53cmFwKTsKCgkJCS8vTG9hZCBlYWNoIHRodW1ibmFpbAoJCQkkLmVhY2gob2JqLmdyb3VwLCBmdW5jdGlvbiAoaSkgewoJCQkJdmFyIGhyZWYgPSB0aHVtYlNvdXJjZSggb2JqLmdyb3VwWyBpIF0gKTsKCgkJCQlpZiAoIWhyZWYpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJJCgiPGltZyAvPiIpLmxvYWQoZnVuY3Rpb24gKCkgewoJCQkJCXZhciB3aWR0aCAgPSB0aGlzLndpZHRoLAoJCQkJCQloZWlnaHQgPSB0aGlzLmhlaWdodCwKCQkJCQkJd2lkdGhSYXRpbywgaGVpZ2h0UmF0aW8sIHBhcmVudDsKCgkJCQkJaWYgKCF0aGF0Lmxpc3QgfHwgIXdpZHRoIHx8ICFoZWlnaHQpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJLy9DYWxjdWxhdGUgdGh1bWJuYWlsIHdpZHRoL2hlaWdodCBhbmQgY2VudGVyIGl0CgkJCQkJd2lkdGhSYXRpbyAgPSB3aWR0aCAvIHRodW1iV2lkdGg7CgkJCQkJaGVpZ2h0UmF0aW8gPSBoZWlnaHQgLyB0aHVtYkhlaWdodDsKCgkJCQkJcGFyZW50ID0gdGhhdC5saXN0LmNoaWxkcmVuKCkuZXEoaSkuZmluZCgnYScpOwoKCQkJCQlpZiAod2lkdGhSYXRpbyA+PSAxICYmIGhlaWdodFJhdGlvID49IDEpIHsKCQkJCQkJaWYgKHdpZHRoUmF0aW8gPiBoZWlnaHRSYXRpbykgewoJCQkJCQkJd2lkdGggID0gTWF0aC5mbG9vcih3aWR0aCAvIGhlaWdodFJhdGlvKTsKCQkJCQkJCWhlaWdodCA9IHRodW1iSGVpZ2h0OwoKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXdpZHRoICA9IHRodW1iV2lkdGg7CgkJCQkJCQloZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAvIHdpZHRoUmF0aW8pOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkkKHRoaXMpLmNzcyh7CgkJCQkJCXdpZHRoICA6IHdpZHRoLAoJCQkJCQloZWlnaHQgOiBoZWlnaHQsCgkJCQkJCXRvcCAgICA6IE1hdGguZmxvb3IodGh1bWJIZWlnaHQgLyAyIC0gaGVpZ2h0IC8gMiksCgkJCQkJCWxlZnQgICA6IE1hdGguZmxvb3IodGh1bWJXaWR0aCAvIDIgLSB3aWR0aCAvIDIpCgkJCQkJfSk7CgoJCQkJCXBhcmVudC53aWR0aCh0aHVtYldpZHRoKS5oZWlnaHQodGh1bWJIZWlnaHQpOwoKCQkJCQkkKHRoaXMpLmhpZGUoKS5hcHBlbmRUbyhwYXJlbnQpLmZhZGVJbigzMDApOwoKCQkJCX0pLmF0dHIoJ3NyYycsIGhyZWYpOwoJCQl9KTsKCgkJCS8vU2V0IGluaXRpYWwgd2lkdGgKCQkJdGhpcy53aWR0aCA9IHRoaXMubGlzdC5jaGlsZHJlbigpLmVxKDApLm91dGVyV2lkdGgodHJ1ZSk7CgoJCQl0aGlzLmxpc3Qud2lkdGgodGhpcy53aWR0aCAqIChvYmouZ3JvdXAubGVuZ3RoICsgMSkpLmNzcygnbGVmdCcsIE1hdGguZmxvb3IoJCh3aW5kb3cpLndpZHRoKCkgKiAwLjUgLSAob2JqLmluZGV4ICogdGhpcy53aWR0aCArIHRoaXMud2lkdGggKiAwLjUpKSk7CgkJfSwKCgkJYmVmb3JlTG9hZDogZnVuY3Rpb24gKG9wdHMsIG9iaikgewoJCQkvL1JlbW92ZSBzZWxmIGlmIGdhbGxlcnkgZG8gbm90IGhhdmUgYXQgbGVhc3QgdHdvIGl0ZW1zCgkJCWlmIChvYmouZ3JvdXAubGVuZ3RoIDwgMikgewoJCQkJb2JqLmhlbHBlcnMudGh1bWJzID0gZmFsc2U7CgoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvL0luY3JlYXNlIGJvdHRvbSBtYXJnaW4gdG8gZ2l2ZSBzcGFjZSBmb3IgdGh1bWJzCgkJCW9iai5tYXJnaW5bIG9wdHMucG9zaXRpb24gPT09ICd0b3AnID8gMCA6IDIgXSArPSAoKG9wdHMuaGVpZ2h0KSArIDE1KTsKCQl9LAoKCQlhZnRlclNob3c6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsKCQkJLy9DaGVjayBpZiBleGlzdHMgYW5kIGNyZWF0ZSBvciB1cGRhdGUgbGlzdAoJCQlpZiAodGhpcy5saXN0KSB7CgkJCQl0aGlzLm9uVXBkYXRlKG9wdHMsIG9iaik7CgoJCQl9IGVsc2UgewoJCQkJdGhpcy5pbml0KG9wdHMsIG9iaik7CgkJCX0KCgkJCS8vU2V0IGFjdGl2ZSBlbGVtZW50CgkJCXRoaXMubGlzdC5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5lcShvYmouaW5kZXgpLmFkZENsYXNzKCdhY3RpdmUnKTsKCQl9LAoKCQkvL0NlbnRlciBsaXN0CgkJb25VcGRhdGU6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsKCQkJaWYgKHRoaXMubGlzdCkgewoJCQkJdGhpcy5saXN0LnN0b3AodHJ1ZSkuYW5pbWF0ZSh7CgkJCQkJJ2xlZnQnOiBNYXRoLmZsb29yKCQod2luZG93KS53aWR0aCgpICogMC41IC0gKG9iai5pbmRleCAqIHRoaXMud2lkdGggKyB0aGlzLndpZHRoICogMC41KSkKCQkJCX0sIDE1MCk7CgkJCX0KCQl9LAoKCQliZWZvcmVDbG9zZTogZnVuY3Rpb24gKCkgewoJCQlpZiAodGhpcy53cmFwKSB7CgkJCQl0aGlzLndyYXAucmVtb3ZlKCk7CgkJCX0KCgkJCXRoaXMud3JhcCAgPSBudWxsOwoJCQl0aGlzLmxpc3QgID0gbnVsbDsKCQkJdGhpcy53aWR0aCA9IDA7CgkJfQoJfQoKfShqUXVlcnkpKTs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.fancybox.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGZhbmN5Qm94IHYyLjEuMyBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqLwooZnVuY3Rpb24oQix4LGYscSl7dmFyIHI9ZihCKSxtPWYoeCksYj1mLmZhbmN5Ym94PWZ1bmN0aW9uKCl7Yi5vcGVuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdT1udWxsLG49eC5jcmVhdGVUb3VjaCE9PXEscz1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5oYXNPd25Qcm9wZXJ0eSYmYSBpbnN0YW5jZW9mIGZ9LHA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJiJzdHJpbmciPT09Zi50eXBlKGEpfSxFPWZ1bmN0aW9uKGEpe3JldHVybiBwKGEpJiYwPGEuaW5kZXhPZigiJSIpfSxrPWZ1bmN0aW9uKGEsZCl7dmFyIGU9cGFyc2VJbnQoYSwxMCl8fDA7ZCYmRShhKSYmKGUqPWIuZ2V0Vmlld3BvcnQoKVtkXS8xMDApO3JldHVybiBNYXRoLmNlaWwoZSl9LHY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gayhhLGIpKyJweCJ9O2YuZXh0ZW5kKGIse3ZlcnNpb246IjIuMS4zIixkZWZhdWx0czp7cGFkZGluZzoxNSxtYXJnaW46MjAsd2lkdGg6ODAwLGhlaWdodDo2MDAsbWluV2lkdGg6MTAwLG1pbkhlaWdodDoxMDAsCm1heFdpZHRoOjk5OTksbWF4SGVpZ2h0Ojk5OTksYXV0b1NpemU6ITAsYXV0b0hlaWdodDohMSxhdXRvV2lkdGg6ITEsYXV0b1Jlc2l6ZTohMCxhdXRvQ2VudGVyOiFuLGZpdFRvVmlldzohMCxhc3BlY3RSYXRpbzohMSx0b3BSYXRpbzowLjUsbGVmdFJhdGlvOjAuNSxzY3JvbGxpbmc6ImF1dG8iLHdyYXBDU1M6IiIsYXJyb3dzOiEwLGNsb3NlQnRuOiEwLGNsb3NlQ2xpY2s6ITEsbmV4dENsaWNrOiExLG1vdXNlV2hlZWw6ITAsYXV0b1BsYXk6ITEscGxheVNwZWVkOjNFMyxwcmVsb2FkOjMsbW9kYWw6ITEsbG9vcDohMCxhamF4OntkYXRhVHlwZToiaHRtbCIsaGVhZGVyczp7IlgtZmFuY3lCb3giOiEwfX0saWZyYW1lOntzY3JvbGxpbmc6ImF1dG8iLHByZWxvYWQ6ITB9LHN3Zjp7d21vZGU6InRyYW5zcGFyZW50IixhbGxvd2Z1bGxzY3JlZW46InRydWUiLGFsbG93c2NyaXB0YWNjZXNzOiJhbHdheXMifSxrZXlzOntuZXh0OnsxMzoibGVmdCIsMzQ6InVwIiwzOToibGVmdCIsNDA6InVwIn0sCnByZXY6ezg6InJpZ2h0IiwzMzoiZG93biIsMzc6InJpZ2h0IiwzODoiZG93biJ9LGNsb3NlOlsyN10scGxheTpbMzJdLHRvZ2dsZTpbNzBdfSxkaXJlY3Rpb246e25leHQ6ImxlZnQiLHByZXY6InJpZ2h0In0sc2Nyb2xsT3V0c2lkZTohMCxpbmRleDowLHR5cGU6bnVsbCxocmVmOm51bGwsY29udGVudDpudWxsLHRpdGxlOm51bGwsdHBsOnt3cmFwOic8ZGl2IGNsYXNzPSJmYW5jeWJveC13cmFwIiB0YWJJbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZhbmN5Ym94LXNraW4iPjxkaXYgY2xhc3M9ImZhbmN5Ym94LW91dGVyIj48ZGl2IGNsYXNzPSJmYW5jeWJveC1pbm5lciI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JyxpbWFnZTonPGltZyBjbGFzcz0iZmFuY3lib3gtaW1hZ2UiIHNyYz0ie2hyZWZ9IiBhbHQ9IiIgLz4nLGlmcmFtZTonPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWV7cm5kfSIgbmFtZT0iZmFuY3lib3gtZnJhbWV7cm5kfSIgY2xhc3M9ImZhbmN5Ym94LWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93RnVsbFNjcmVlbicrCihmLmJyb3dzZXIubXNpZT8nIGFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIic6IiIpKyI+PC9pZnJhbWU+IixlcnJvcjonPHAgY2xhc3M9ImZhbmN5Ym94LWVycm9yIj5UaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIGxvYWRlZC48YnIvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicsY2xvc2VCdG46JzxhIHRpdGxlPSJDbG9zZSIgY2xhc3M9ImZhbmN5Ym94LWl0ZW0gZmFuY3lib3gtY2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6OyI+PC9hPicsbmV4dDonPGEgdGl0bGU9Ik5leHQiIGNsYXNzPSJmYW5jeWJveC1uYXYgZmFuY3lib3gtbmV4dCIgaHJlZj0iamF2YXNjcmlwdDo7Ij48c3Bhbj48L3NwYW4+PC9hPicscHJldjonPGEgdGl0bGU9IlByZXZpb3VzIiBjbGFzcz0iZmFuY3lib3gtbmF2IGZhbmN5Ym94LXByZXYiIGhyZWY9ImphdmFzY3JpcHQ6OyI+PHNwYW4+PC9zcGFuPjwvYT4nfSxvcGVuRWZmZWN0OiJmYWRlIixvcGVuU3BlZWQ6MjUwLG9wZW5FYXNpbmc6InN3aW5nIiwKb3Blbk9wYWNpdHk6ITAsb3Blbk1ldGhvZDoiem9vbUluIixjbG9zZUVmZmVjdDoiZmFkZSIsY2xvc2VTcGVlZDoyNTAsY2xvc2VFYXNpbmc6InN3aW5nIixjbG9zZU9wYWNpdHk6ITAsY2xvc2VNZXRob2Q6Inpvb21PdXQiLG5leHRFZmZlY3Q6ImVsYXN0aWMiLG5leHRTcGVlZDoyNTAsbmV4dEVhc2luZzoic3dpbmciLG5leHRNZXRob2Q6ImNoYW5nZUluIixwcmV2RWZmZWN0OiJlbGFzdGljIixwcmV2U3BlZWQ6MjUwLHByZXZFYXNpbmc6InN3aW5nIixwcmV2TWV0aG9kOiJjaGFuZ2VPdXQiLGhlbHBlcnM6e292ZXJsYXk6ITAsdGl0bGU6ITB9LG9uQ2FuY2VsOmYubm9vcCxiZWZvcmVMb2FkOmYubm9vcCxhZnRlckxvYWQ6Zi5ub29wLGJlZm9yZVNob3c6Zi5ub29wLGFmdGVyU2hvdzpmLm5vb3AsYmVmb3JlQ2hhbmdlOmYubm9vcCxiZWZvcmVDbG9zZTpmLm5vb3AsYWZ0ZXJDbG9zZTpmLm5vb3B9LGdyb3VwOnt9LG9wdHM6e30scHJldmlvdXM6bnVsbCxjb21pbmc6bnVsbCxjdXJyZW50Om51bGwsCmlzQWN0aXZlOiExLGlzT3BlbjohMSxpc09wZW5lZDohMSx3cmFwOm51bGwsc2tpbjpudWxsLG91dGVyOm51bGwsaW5uZXI6bnVsbCxwbGF5ZXI6e3RpbWVyOm51bGwsaXNBY3RpdmU6ITF9LGFqYXhMb2FkOm51bGwsaW1nUHJlbG9hZDpudWxsLHRyYW5zaXRpb25zOnt9LGhlbHBlcnM6e30sb3BlbjpmdW5jdGlvbihhLGQpe2lmKGEmJihmLmlzUGxhaW5PYmplY3QoZCl8fChkPXt9KSwhMSE9PWIuY2xvc2UoITApKSlyZXR1cm4gZi5pc0FycmF5KGEpfHwoYT1zKGEpP2YoYSkuZ2V0KCk6W2FdKSxmLmVhY2goYSxmdW5jdGlvbihlLGMpe3ZhciBqPXt9LGcsaCxpLGwsazsib2JqZWN0Ij09PWYudHlwZShjKSYmKGMubm9kZVR5cGUmJihjPWYoYykpLHMoYyk/KGo9e2hyZWY6Yy5kYXRhKCJmYW5jeWJveC1ocmVmIil8fGMuYXR0cigiaHJlZiIpLHRpdGxlOmMuZGF0YSgiZmFuY3lib3gtdGl0bGUiKXx8Yy5hdHRyKCJ0aXRsZSIpLGlzRG9tOiEwLGVsZW1lbnQ6Y30sZi5tZXRhZGF0YSYmZi5leHRlbmQoITAsCmosYy5tZXRhZGF0YSgpKSk6aj1jKTtnPWQuaHJlZnx8ai5ocmVmfHwocChjKT9jOm51bGwpO2g9ZC50aXRsZSE9PXE/ZC50aXRsZTpqLnRpdGxlfHwiIjtsPShpPWQuY29udGVudHx8ai5jb250ZW50KT8iaHRtbCI6ZC50eXBlfHxqLnR5cGU7IWwmJmouaXNEb20mJihsPWMuZGF0YSgiZmFuY3lib3gtdHlwZSIpLGx8fChsPShsPWMucHJvcCgiY2xhc3MiKS5tYXRjaCgvZmFuY3lib3hcLihcdyspLykpP2xbMV06bnVsbCkpO3AoZykmJihsfHwoYi5pc0ltYWdlKGcpP2w9ImltYWdlIjpiLmlzU1dGKGcpP2w9InN3ZiI6IiMiPT09Zy5jaGFyQXQoMCk/bD0iaW5saW5lIjpwKGMpJiYobD0iaHRtbCIsaT1jKSksImFqYXgiPT09bCYmKGs9Zy5zcGxpdCgvXHMrLywyKSxnPWsuc2hpZnQoKSxrPWsuc2hpZnQoKSkpO2l8fCgiaW5saW5lIj09PWw/Zz9pPWYocChnKT9nLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik6Zyk6ai5pc0RvbSYmKGk9Yyk6Imh0bWwiPT09bD9pPWc6IWwmJighZyYmCmouaXNEb20pJiYobD0iaW5saW5lIixpPWMpKTtmLmV4dGVuZChqLHtocmVmOmcsdHlwZTpsLGNvbnRlbnQ6aSx0aXRsZTpoLHNlbGVjdG9yOmt9KTthW2VdPWp9KSxiLm9wdHM9Zi5leHRlbmQoITAse30sYi5kZWZhdWx0cyxkKSxkLmtleXMhPT1xJiYoYi5vcHRzLmtleXM9ZC5rZXlzP2YuZXh0ZW5kKHt9LGIuZGVmYXVsdHMua2V5cyxkLmtleXMpOiExKSxiLmdyb3VwPWEsYi5fc3RhcnQoYi5vcHRzLmluZGV4KX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jb21pbmc7YSYmITEhPT1iLnRyaWdnZXIoIm9uQ2FuY2VsIikmJihiLmhpZGVMb2FkaW5nKCksYi5hamF4TG9hZCYmYi5hamF4TG9hZC5hYm9ydCgpLGIuYWpheExvYWQ9bnVsbCxiLmltZ1ByZWxvYWQmJihiLmltZ1ByZWxvYWQub25sb2FkPWIuaW1nUHJlbG9hZC5vbmVycm9yPW51bGwpLGEud3JhcCYmYS53cmFwLnN0b3AoITAsITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKSxiLmNvbWluZz1udWxsLGIuY3VycmVudHx8CmIuX2FmdGVyWm9vbU91dChhKSl9LGNsb3NlOmZ1bmN0aW9uKGEpe2IuY2FuY2VsKCk7ITEhPT1iLnRyaWdnZXIoImJlZm9yZUNsb3NlIikmJihiLnVuYmluZEV2ZW50cygpLGIuaXNBY3RpdmUmJighYi5pc09wZW58fCEwPT09YT8oZigiLmZhbmN5Ym94LXdyYXAiKS5zdG9wKCEwKS50cmlnZ2VyKCJvblJlc2V0IikucmVtb3ZlKCksYi5fYWZ0ZXJab29tT3V0KCkpOihiLmlzT3Blbj1iLmlzT3BlbmVkPSExLGIuaXNDbG9zaW5nPSEwLGYoIi5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2IikucmVtb3ZlKCksYi53cmFwLnN0b3AoITAsITApLnJlbW92ZUNsYXNzKCJmYW5jeWJveC1vcGVuZWQiKSxiLnRyYW5zaXRpb25zW2IuY3VycmVudC5jbG9zZU1ldGhvZF0oKSkpKX0scGxheTpmdW5jdGlvbihhKXt2YXIgZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChiLnBsYXllci50aW1lcil9LGU9ZnVuY3Rpb24oKXtkKCk7Yi5jdXJyZW50JiZiLnBsYXllci5pc0FjdGl2ZSYmKGIucGxheWVyLnRpbWVyPQpzZXRUaW1lb3V0KGIubmV4dCxiLmN1cnJlbnQucGxheVNwZWVkKSl9LGM9ZnVuY3Rpb24oKXtkKCk7ZigiYm9keSIpLnVuYmluZCgiLnBsYXllciIpO2IucGxheWVyLmlzQWN0aXZlPSExO2IudHJpZ2dlcigib25QbGF5RW5kIil9O2lmKCEwPT09YXx8IWIucGxheWVyLmlzQWN0aXZlJiYhMSE9PWEpe2lmKGIuY3VycmVudCYmKGIuY3VycmVudC5sb29wfHxiLmN1cnJlbnQuaW5kZXg8Yi5ncm91cC5sZW5ndGgtMSkpYi5wbGF5ZXIuaXNBY3RpdmU9ITAsZigiYm9keSIpLmJpbmQoeyJhZnRlclNob3cucGxheWVyIG9uVXBkYXRlLnBsYXllciI6ZSwib25DYW5jZWwucGxheWVyIGJlZm9yZUNsb3NlLnBsYXllciI6YywiYmVmb3JlTG9hZC5wbGF5ZXIiOmR9KSxlKCksYi50cmlnZ2VyKCJvblBsYXlTdGFydCIpfWVsc2UgYygpfSxuZXh0OmZ1bmN0aW9uKGEpe3ZhciBkPWIuY3VycmVudDtkJiYocChhKXx8KGE9ZC5kaXJlY3Rpb24ubmV4dCksYi5qdW1wdG8oZC5pbmRleCsxLGEsIm5leHQiKSl9LApwcmV2OmZ1bmN0aW9uKGEpe3ZhciBkPWIuY3VycmVudDtkJiYocChhKXx8KGE9ZC5kaXJlY3Rpb24ucHJldiksYi5qdW1wdG8oZC5pbmRleC0xLGEsInByZXYiKSl9LGp1bXB0bzpmdW5jdGlvbihhLGQsZSl7dmFyIGM9Yi5jdXJyZW50O2MmJihhPWsoYSksYi5kaXJlY3Rpb249ZHx8Yy5kaXJlY3Rpb25bYT49Yy5pbmRleD8ibmV4dCI6InByZXYiXSxiLnJvdXRlcj1lfHwianVtcHRvIixjLmxvb3AmJigwPmEmJihhPWMuZ3JvdXAubGVuZ3RoK2ElYy5ncm91cC5sZW5ndGgpLGElPWMuZ3JvdXAubGVuZ3RoKSxjLmdyb3VwW2FdIT09cSYmKGIuY2FuY2VsKCksYi5fc3RhcnQoYSkpKX0scmVwb3NpdGlvbjpmdW5jdGlvbihhLGQpe3ZhciBlPWIuY3VycmVudCxjPWU/ZS53cmFwOm51bGwsajtjJiYoaj1iLl9nZXRQb3NpdGlvbihkKSxhJiYic2Nyb2xsIj09PWEudHlwZT8oZGVsZXRlIGoucG9zaXRpb24sYy5zdG9wKCEwLCEwKS5hbmltYXRlKGosMjAwKSk6KGMuY3NzKGopLGUucG9zPWYuZXh0ZW5kKHt9LAplLmRpbSxqKSkpfSx1cGRhdGU6ZnVuY3Rpb24oYSl7dmFyIGQ9YSYmYS50eXBlLGU9IWR8fCJvcmllbnRhdGlvbmNoYW5nZSI9PT1kO2UmJihjbGVhclRpbWVvdXQodSksdT1udWxsKTtiLmlzT3BlbiYmIXUmJih1PXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYz1iLmN1cnJlbnQ7YyYmIWIuaXNDbG9zaW5nJiYoYi53cmFwLnJlbW92ZUNsYXNzKCJmYW5jeWJveC10bXAiKSwoZXx8ImxvYWQiPT09ZHx8InJlc2l6ZSI9PT1kJiZjLmF1dG9SZXNpemUpJiZiLl9zZXREaW1lbnNpb24oKSwic2Nyb2xsIj09PWQmJmMuY2FuU2hyaW5rfHxiLnJlcG9zaXRpb24oYSksYi50cmlnZ2VyKCJvblVwZGF0ZSIpLHU9bnVsbCl9LGUmJiFuPzA6MzAwKSl9LHRvZ2dsZTpmdW5jdGlvbihhKXtiLmlzT3BlbiYmKGIuY3VycmVudC5maXRUb1ZpZXc9ImJvb2xlYW4iPT09Zi50eXBlKGEpP2E6IWIuY3VycmVudC5maXRUb1ZpZXcsbiYmKGIud3JhcC5yZW1vdmVBdHRyKCJzdHlsZSIpLmFkZENsYXNzKCJmYW5jeWJveC10bXAiKSwKYi50cmlnZ2VyKCJvblVwZGF0ZSIpKSxiLnVwZGF0ZSgpKX0saGlkZUxvYWRpbmc6ZnVuY3Rpb24oKXttLnVuYmluZCgiLmxvYWRpbmciKTtmKCIjZmFuY3lib3gtbG9hZGluZyIpLnJlbW92ZSgpfSxzaG93TG9hZGluZzpmdW5jdGlvbigpe3ZhciBhLGQ7Yi5oaWRlTG9hZGluZygpO2E9ZignPGRpdiBpZD0iZmFuY3lib3gtbG9hZGluZyI+PGRpdj48L2Rpdj48L2Rpdj4nKS5jbGljayhiLmNhbmNlbCkuYXBwZW5kVG8oImJvZHkiKTttLmJpbmQoImtleWRvd24ubG9hZGluZyIsZnVuY3Rpb24oYSl7aWYoMjc9PT0oYS53aGljaHx8YS5rZXlDb2RlKSlhLnByZXZlbnREZWZhdWx0KCksYi5jYW5jZWwoKX0pO2IuZGVmYXVsdHMuZml4ZWR8fChkPWIuZ2V0Vmlld3BvcnQoKSxhLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6MC41KmQuaCtkLnksbGVmdDowLjUqZC53K2QueH0pKX0sZ2V0Vmlld3BvcnQ6ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQmJmIuY3VycmVudC5sb2NrZWR8fAohMSxkPXt4OnIuc2Nyb2xsTGVmdCgpLHk6ci5zY3JvbGxUb3AoKX07YT8oZC53PWFbMF0uY2xpZW50V2lkdGgsZC5oPWFbMF0uY2xpZW50SGVpZ2h0KTooZC53PW4mJkIuaW5uZXJXaWR0aD9CLmlubmVyV2lkdGg6ci53aWR0aCgpLGQuaD1uJiZCLmlubmVySGVpZ2h0P0IuaW5uZXJIZWlnaHQ6ci5oZWlnaHQoKSk7cmV0dXJuIGR9LHVuYmluZEV2ZW50czpmdW5jdGlvbigpe2Iud3JhcCYmcyhiLndyYXApJiZiLndyYXAudW5iaW5kKCIuZmIiKTttLnVuYmluZCgiLmZiIik7ci51bmJpbmQoIi5mYiIpfSxiaW5kRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ7YSYmKHIuYmluZCgib3JpZW50YXRpb25jaGFuZ2UuZmIiKyhuPyIiOiIgcmVzaXplLmZiIikrKGEuYXV0b0NlbnRlciYmIWEubG9ja2VkPyIgc2Nyb2xsLmZiIjoiIiksYi51cGRhdGUpLChkPWEua2V5cykmJm0uYmluZCgia2V5ZG93bi5mYiIsZnVuY3Rpb24oZSl7dmFyIGM9ZS53aGljaHx8ZS5rZXlDb2RlLGo9CmUudGFyZ2V0fHxlLnNyY0VsZW1lbnQ7aWYoMjc9PT1jJiZiLmNvbWluZylyZXR1cm4hMTshZS5jdHJsS2V5JiYoIWUuYWx0S2V5JiYhZS5zaGlmdEtleSYmIWUubWV0YUtleSYmKCFqfHwhai50eXBlJiYhZihqKS5pcygiW2NvbnRlbnRlZGl0YWJsZV0iKSkpJiZmLmVhY2goZCxmdW5jdGlvbihkLGope2lmKDE8YS5ncm91cC5sZW5ndGgmJmpbY10hPT1xKXJldHVybiBiW2RdKGpbY10pLGUucHJldmVudERlZmF1bHQoKSwhMTtpZigtMTxmLmluQXJyYXkoYyxqKSlyZXR1cm4gYltkXSgpLGUucHJldmVudERlZmF1bHQoKSwhMX0pfSksZi5mbi5tb3VzZXdoZWVsJiZhLm1vdXNlV2hlZWwmJmIud3JhcC5iaW5kKCJtb3VzZXdoZWVsLmZiIixmdW5jdGlvbihkLGMsaixnKXtmb3IodmFyIGg9ZihkLnRhcmdldHx8bnVsbCksaT0hMTtoLmxlbmd0aCYmIWkmJiFoLmlzKCIuZmFuY3lib3gtc2tpbiIpJiYhaC5pcygiLmZhbmN5Ym94LXdyYXAiKTspaT1oWzBdJiYhKGhbMF0uc3R5bGUub3ZlcmZsb3cmJgoiaGlkZGVuIj09PWhbMF0uc3R5bGUub3ZlcmZsb3cpJiYoaFswXS5jbGllbnRXaWR0aCYmaFswXS5zY3JvbGxXaWR0aD5oWzBdLmNsaWVudFdpZHRofHxoWzBdLmNsaWVudEhlaWdodCYmaFswXS5zY3JvbGxIZWlnaHQ+aFswXS5jbGllbnRIZWlnaHQpLGg9ZihoKS5wYXJlbnQoKTtpZigwIT09YyYmIWkmJjE8Yi5ncm91cC5sZW5ndGgmJiFhLmNhblNocmluayl7aWYoMDxnfHwwPGopYi5wcmV2KDA8Zz8iZG93biI6ImxlZnQiKTtlbHNlIGlmKDA+Z3x8MD5qKWIubmV4dCgwPmc/InVwIjoicmlnaHQiKTtkLnByZXZlbnREZWZhdWx0KCl9fSkpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsZCl7dmFyIGUsYz1kfHxiLmNvbWluZ3x8Yi5jdXJyZW50O2lmKGMpe2YuaXNGdW5jdGlvbihjW2FdKSYmKGU9Y1thXS5hcHBseShjLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSkpO2lmKCExPT09ZSlyZXR1cm4hMTtjLmhlbHBlcnMmJmYuZWFjaChjLmhlbHBlcnMsZnVuY3Rpb24oZCwKZSl7ZSYmKGIuaGVscGVyc1tkXSYmZi5pc0Z1bmN0aW9uKGIuaGVscGVyc1tkXVthXSkpJiYoZT1mLmV4dGVuZCghMCx7fSxiLmhlbHBlcnNbZF0uZGVmYXVsdHMsZSksYi5oZWxwZXJzW2RdW2FdKGUsYykpfSk7Zi5ldmVudC50cmlnZ2VyKGErIi5mYiIpfX0saXNJbWFnZTpmdW5jdGlvbihhKXtyZXR1cm4gcChhKSYmYS5tYXRjaCgvKF5kYXRhOmltYWdlXC8uKiwpfChcLihqcChlfGd8ZWcpfGdpZnxwbmd8Ym1wfHdlYnApKChcP3wjKS4qKT8kKS9pKX0saXNTV0Y6ZnVuY3Rpb24oYSl7cmV0dXJuIHAoYSkmJmEubWF0Y2goL1wuKHN3ZikoKFw/fCMpLiopPyQvaSl9LF9zdGFydDpmdW5jdGlvbihhKXt2YXIgZD17fSxlLGMsYT1rKGEpO2U9Yi5ncm91cFthXXx8bnVsbDtpZighZSlyZXR1cm4hMTtkPWYuZXh0ZW5kKCEwLHt9LGIub3B0cyxlKTtlPWQubWFyZ2luO2M9ZC5wYWRkaW5nOyJudW1iZXIiPT09Zi50eXBlKGUpJiYoZC5tYXJnaW49W2UsZSxlLGVdKTsibnVtYmVyIj09PWYudHlwZShjKSYmCihkLnBhZGRpbmc9W2MsYyxjLGNdKTtkLm1vZGFsJiZmLmV4dGVuZCghMCxkLHtjbG9zZUJ0bjohMSxjbG9zZUNsaWNrOiExLG5leHRDbGljazohMSxhcnJvd3M6ITEsbW91c2VXaGVlbDohMSxrZXlzOm51bGwsaGVscGVyczp7b3ZlcmxheTp7Y2xvc2VDbGljazohMX19fSk7ZC5hdXRvU2l6ZSYmKGQuYXV0b1dpZHRoPWQuYXV0b0hlaWdodD0hMCk7ImF1dG8iPT09ZC53aWR0aCYmKGQuYXV0b1dpZHRoPSEwKTsiYXV0byI9PT1kLmhlaWdodCYmKGQuYXV0b0hlaWdodD0hMCk7ZC5ncm91cD1iLmdyb3VwO2QuaW5kZXg9YTtiLmNvbWluZz1kO2lmKCExPT09Yi50cmlnZ2VyKCJiZWZvcmVMb2FkIikpYi5jb21pbmc9bnVsbDtlbHNle2M9ZC50eXBlO2U9ZC5ocmVmO2lmKCFjKXJldHVybiBiLmNvbWluZz1udWxsLGIuY3VycmVudCYmYi5yb3V0ZXImJiJqdW1wdG8iIT09Yi5yb3V0ZXI/KGIuY3VycmVudC5pbmRleD1hLGJbYi5yb3V0ZXJdKGIuZGlyZWN0aW9uKSk6ITE7Yi5pc0FjdGl2ZT0KITA7aWYoImltYWdlIj09PWN8fCJzd2YiPT09YylkLmF1dG9IZWlnaHQ9ZC5hdXRvV2lkdGg9ITEsZC5zY3JvbGxpbmc9InZpc2libGUiOyJpbWFnZSI9PT1jJiYoZC5hc3BlY3RSYXRpbz0hMCk7ImlmcmFtZSI9PT1jJiZuJiYoZC5zY3JvbGxpbmc9InNjcm9sbCIpO2Qud3JhcD1mKGQudHBsLndyYXApLmFkZENsYXNzKCJmYW5jeWJveC0iKyhuPyJtb2JpbGUiOiJkZXNrdG9wIikrIiBmYW5jeWJveC10eXBlLSIrYysiIGZhbmN5Ym94LXRtcCAiK2Qud3JhcENTUykuYXBwZW5kVG8oZC5wYXJlbnR8fCJib2R5Iik7Zi5leHRlbmQoZCx7c2tpbjpmKCIuZmFuY3lib3gtc2tpbiIsZC53cmFwKSxvdXRlcjpmKCIuZmFuY3lib3gtb3V0ZXIiLGQud3JhcCksaW5uZXI6ZigiLmZhbmN5Ym94LWlubmVyIixkLndyYXApfSk7Zi5lYWNoKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sZnVuY3Rpb24oYSxiKXtkLnNraW4uY3NzKCJwYWRkaW5nIitiLHYoZC5wYWRkaW5nW2FdKSl9KTtiLnRyaWdnZXIoIm9uUmVhZHkiKTsKaWYoImlubGluZSI9PT1jfHwiaHRtbCI9PT1jKXtpZighZC5jb250ZW50fHwhZC5jb250ZW50Lmxlbmd0aClyZXR1cm4gYi5fZXJyb3IoImNvbnRlbnQiKX1lbHNlIGlmKCFlKXJldHVybiBiLl9lcnJvcigiaHJlZiIpOyJpbWFnZSI9PT1jP2IuX2xvYWRJbWFnZSgpOiJhamF4Ij09PWM/Yi5fbG9hZEFqYXgoKToiaWZyYW1lIj09PWM/Yi5fbG9hZElmcmFtZSgpOmIuX2FmdGVyTG9hZCgpfX0sX2Vycm9yOmZ1bmN0aW9uKGEpe2YuZXh0ZW5kKGIuY29taW5nLHt0eXBlOiJodG1sIixhdXRvV2lkdGg6ITAsYXV0b0hlaWdodDohMCxtaW5XaWR0aDowLG1pbkhlaWdodDowLHNjcm9sbGluZzoibm8iLGhhc0Vycm9yOmEsY29udGVudDpiLmNvbWluZy50cGwuZXJyb3J9KTtiLl9hZnRlckxvYWQoKX0sX2xvYWRJbWFnZTpmdW5jdGlvbigpe3ZhciBhPWIuaW1nUHJlbG9hZD1uZXcgSW1hZ2U7YS5vbmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLm9ubG9hZD10aGlzLm9uZXJyb3I9bnVsbDtiLmNvbWluZy53aWR0aD0KdGhpcy53aWR0aDtiLmNvbWluZy5oZWlnaHQ9dGhpcy5oZWlnaHQ7Yi5fYWZ0ZXJMb2FkKCl9O2Eub25lcnJvcj1mdW5jdGlvbigpe3RoaXMub25sb2FkPXRoaXMub25lcnJvcj1udWxsO2IuX2Vycm9yKCJpbWFnZSIpfTthLnNyYz1iLmNvbWluZy5ocmVmOyEwIT09YS5jb21wbGV0ZSYmYi5zaG93TG9hZGluZygpfSxfbG9hZEFqYXg6ZnVuY3Rpb24oKXt2YXIgYT1iLmNvbWluZztiLnNob3dMb2FkaW5nKCk7Yi5hamF4TG9hZD1mLmFqYXgoZi5leHRlbmQoe30sYS5hamF4LHt1cmw6YS5ocmVmLGVycm9yOmZ1bmN0aW9uKGEsZSl7Yi5jb21pbmcmJiJhYm9ydCIhPT1lP2IuX2Vycm9yKCJhamF4IixhKTpiLmhpZGVMb2FkaW5nKCl9LHN1Y2Nlc3M6ZnVuY3Rpb24oZCxlKXsic3VjY2VzcyI9PT1lJiYoYS5jb250ZW50PWQsYi5fYWZ0ZXJMb2FkKCkpfX0pKX0sX2xvYWRJZnJhbWU6ZnVuY3Rpb24oKXt2YXIgYT1iLmNvbWluZyxkPWYoYS50cGwuaWZyYW1lLnJlcGxhY2UoL1x7cm5kXH0vZywKKG5ldyBEYXRlKS5nZXRUaW1lKCkpKS5hdHRyKCJzY3JvbGxpbmciLG4/ImF1dG8iOmEuaWZyYW1lLnNjcm9sbGluZykuYXR0cigic3JjIixhLmhyZWYpO2YoYS53cmFwKS5iaW5kKCJvblJlc2V0IixmdW5jdGlvbigpe3RyeXtmKHRoaXMpLmZpbmQoImlmcmFtZSIpLmhpZGUoKS5hdHRyKCJzcmMiLCIvL2Fib3V0OmJsYW5rIikuZW5kKCkuZW1wdHkoKX1jYXRjaChhKXt9fSk7YS5pZnJhbWUucHJlbG9hZCYmKGIuc2hvd0xvYWRpbmcoKSxkLm9uZSgibG9hZCIsZnVuY3Rpb24oKXtmKHRoaXMpLmRhdGEoInJlYWR5IiwxKTtufHxmKHRoaXMpLmJpbmQoImxvYWQuZmIiLGIudXBkYXRlKTtmKHRoaXMpLnBhcmVudHMoIi5mYW5jeWJveC13cmFwIikud2lkdGgoIjEwMCUiKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtdG1wIikuc2hvdygpO2IuX2FmdGVyTG9hZCgpfSkpO2EuY29udGVudD1kLmFwcGVuZFRvKGEuaW5uZXIpO2EuaWZyYW1lLnByZWxvYWR8fGIuX2FmdGVyTG9hZCgpfSxfcHJlbG9hZEltYWdlczpmdW5jdGlvbigpe3ZhciBhPQpiLmdyb3VwLGQ9Yi5jdXJyZW50LGU9YS5sZW5ndGgsYz1kLnByZWxvYWQ/TWF0aC5taW4oZC5wcmVsb2FkLGUtMSk6MCxmLGc7Zm9yKGc9MTtnPD1jO2crPTEpZj1hWyhkLmluZGV4K2cpJWVdLCJpbWFnZSI9PT1mLnR5cGUmJmYuaHJlZiYmKChuZXcgSW1hZ2UpLnNyYz1mLmhyZWYpfSxfYWZ0ZXJMb2FkOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jb21pbmcsZD1iLmN1cnJlbnQsZSxjLGosZyxoO2IuaGlkZUxvYWRpbmcoKTtpZihhJiYhMSE9PWIuaXNBY3RpdmUpaWYoITE9PT1iLnRyaWdnZXIoImFmdGVyTG9hZCIsYSxkKSlhLndyYXAuc3RvcCghMCkudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpLGIuY29taW5nPW51bGw7ZWxzZXtkJiYoYi50cmlnZ2VyKCJiZWZvcmVDaGFuZ2UiLGQpLGQud3JhcC5zdG9wKCEwKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtb3BlbmVkIikuZmluZCgiLmZhbmN5Ym94LWl0ZW0sIC5mYW5jeWJveC1uYXYiKS5yZW1vdmUoKSk7Yi51bmJpbmRFdmVudHMoKTsKZT1hLmNvbnRlbnQ7Yz1hLnR5cGU7aj1hLnNjcm9sbGluZztmLmV4dGVuZChiLHt3cmFwOmEud3JhcCxza2luOmEuc2tpbixvdXRlcjphLm91dGVyLGlubmVyOmEuaW5uZXIsY3VycmVudDphLHByZXZpb3VzOmR9KTtnPWEuaHJlZjtzd2l0Y2goYyl7Y2FzZSAiaW5saW5lIjpjYXNlICJhamF4IjpjYXNlICJodG1sIjphLnNlbGVjdG9yP2U9ZigiPGRpdj4iKS5odG1sKGUpLmZpbmQoYS5zZWxlY3Rvcik6cyhlKSYmKGUuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiKXx8ZS5kYXRhKCJmYW5jeWJveC1wbGFjZWhvbGRlciIsZignPGRpdiBjbGFzcz0iZmFuY3lib3gtcGxhY2Vob2xkZXIiPjwvZGl2PicpLmluc2VydEFmdGVyKGUpLmhpZGUoKSksZT1lLnNob3coKS5kZXRhY2goKSxhLndyYXAuYmluZCgib25SZXNldCIsZnVuY3Rpb24oKXtmKHRoaXMpLmZpbmQoZSkubGVuZ3RoJiZlLmhpZGUoKS5yZXBsYWNlQWxsKGUuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiKSkuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiLAohMSl9KSk7YnJlYWs7Y2FzZSAiaW1hZ2UiOmU9YS50cGwuaW1hZ2UucmVwbGFjZSgie2hyZWZ9IixnKTticmVhaztjYXNlICJzd2YiOmU9JzxvYmplY3QgaWQ9ImZhbmN5Ym94LXN3ZiIgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInK2crJyI+PC9wYXJhbT4nLGg9IiIsZi5lYWNoKGEuc3dmLGZ1bmN0aW9uKGEsYil7ZSs9JzxwYXJhbSBuYW1lPSInK2ErJyIgdmFsdWU9IicrYisnIj48L3BhcmFtPic7aCs9IiAiK2ErJz0iJytiKyciJ30pLGUrPSc8ZW1iZWQgc3JjPSInK2crJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiJytoKyI+PC9lbWJlZD48L29iamVjdD4ifSghcyhlKXx8IWUucGFyZW50KCkuaXMoYS5pbm5lcikpJiZhLmlubmVyLmFwcGVuZChlKTtiLnRyaWdnZXIoImJlZm9yZVNob3ciKTsKYS5pbm5lci5jc3MoIm92ZXJmbG93IiwieWVzIj09PWo/InNjcm9sbCI6Im5vIj09PWo/ImhpZGRlbiI6aik7Yi5fc2V0RGltZW5zaW9uKCk7Yi5yZXBvc2l0aW9uKCk7Yi5pc09wZW49ITE7Yi5jb21pbmc9bnVsbDtiLmJpbmRFdmVudHMoKTtpZihiLmlzT3BlbmVkKXtpZihkLnByZXZNZXRob2QpYi50cmFuc2l0aW9uc1tkLnByZXZNZXRob2RdKCl9ZWxzZSBmKCIuZmFuY3lib3gtd3JhcCIpLm5vdChhLndyYXApLnN0b3AoITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKTtiLnRyYW5zaXRpb25zW2IuaXNPcGVuZWQ/YS5uZXh0TWV0aG9kOmEub3Blbk1ldGhvZF0oKTtiLl9wcmVsb2FkSW1hZ2VzKCl9fSxfc2V0RGltZW5zaW9uOmZ1bmN0aW9uKCl7dmFyIGE9Yi5nZXRWaWV3cG9ydCgpLGQ9MCxlPSExLGM9ITEsZT1iLndyYXAsaj1iLnNraW4sZz1iLmlubmVyLGg9Yi5jdXJyZW50LGM9aC53aWR0aCxpPWguaGVpZ2h0LGw9aC5taW5XaWR0aCx0PWgubWluSGVpZ2h0LG09aC5tYXhXaWR0aCwKbj1oLm1heEhlaWdodCxyPWguc2Nyb2xsaW5nLHA9aC5zY3JvbGxPdXRzaWRlP2guc2Nyb2xsYmFyV2lkdGg6MCx3PWgubWFyZ2luLHk9ayh3WzFdK3dbM10pLHE9ayh3WzBdK3dbMl0pLHgseixzLEMsQSxGLEIsRCx1O2UuYWRkKGopLmFkZChnKS53aWR0aCgiYXV0byIpLmhlaWdodCgiYXV0byIpLnJlbW92ZUNsYXNzKCJmYW5jeWJveC10bXAiKTt3PWsoai5vdXRlcldpZHRoKCEwKS1qLndpZHRoKCkpO3g9ayhqLm91dGVySGVpZ2h0KCEwKS1qLmhlaWdodCgpKTt6PXkrdztzPXEreDtDPUUoYyk/KGEudy16KSprKGMpLzEwMDpjO0E9RShpKT8oYS5oLXMpKmsoaSkvMTAwOmk7aWYoImlmcmFtZSI9PT1oLnR5cGUpe2lmKHU9aC5jb250ZW50LGguYXV0b0hlaWdodCYmMT09PXUuZGF0YSgicmVhZHkiKSl0cnl7dVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uJiYoZy53aWR0aChDKS5oZWlnaHQoOTk5OSksRj11LmNvbnRlbnRzKCkuZmluZCgiYm9keSIpLHAmJkYuY3NzKCJvdmVyZmxvdy14IiwKImhpZGRlbiIpLEE9Ri5oZWlnaHQoKSl9Y2F0Y2goRyl7fX1lbHNlIGlmKGguYXV0b1dpZHRofHxoLmF1dG9IZWlnaHQpZy5hZGRDbGFzcygiZmFuY3lib3gtdG1wIiksaC5hdXRvV2lkdGh8fGcud2lkdGgoQyksaC5hdXRvSGVpZ2h0fHxnLmhlaWdodChBKSxoLmF1dG9XaWR0aCYmKEM9Zy53aWR0aCgpKSxoLmF1dG9IZWlnaHQmJihBPWcuaGVpZ2h0KCkpLGcucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LXRtcCIpO2M9ayhDKTtpPWsoQSk7RD1DL0E7bD1rKEUobCk/ayhsLCJ3IiktejpsKTttPWsoRShtKT9rKG0sInciKS16Om0pO3Q9ayhFKHQpP2sodCwiaCIpLXM6dCk7bj1rKEUobik/ayhuLCJoIiktczpuKTtGPW07Qj1uO2guZml0VG9WaWV3JiYobT1NYXRoLm1pbihhLncteixtKSxuPU1hdGgubWluKGEuaC1zLG4pKTt6PWEudy15O3E9YS5oLXE7aC5hc3BlY3RSYXRpbz8oYz5tJiYoYz1tLGk9ayhjL0QpKSxpPm4mJihpPW4sYz1rKGkqRCkpLGM8bCYmKGM9bCxpPWsoYy9EKSksaTx0JiYKKGk9dCxjPWsoaSpEKSkpOihjPU1hdGgubWF4KGwsTWF0aC5taW4oYyxtKSksaC5hdXRvSGVpZ2h0JiYiaWZyYW1lIiE9PWgudHlwZSYmKGcud2lkdGgoYyksaT1nLmhlaWdodCgpKSxpPU1hdGgubWF4KHQsTWF0aC5taW4oaSxuKSkpO2lmKGguZml0VG9WaWV3KWlmKGcud2lkdGgoYykuaGVpZ2h0KGkpLGUud2lkdGgoYyt3KSxhPWUud2lkdGgoKSx5PWUuaGVpZ2h0KCksaC5hc3BlY3RSYXRpbylmb3IoOyhhPnp8fHk+cSkmJihjPmwmJmk+dCkmJiEoMTk8ZCsrKTspaT1NYXRoLm1heCh0LE1hdGgubWluKG4saS0xMCkpLGM9ayhpKkQpLGM8bCYmKGM9bCxpPWsoYy9EKSksYz5tJiYoYz1tLGk9ayhjL0QpKSxnLndpZHRoKGMpLmhlaWdodChpKSxlLndpZHRoKGMrdyksYT1lLndpZHRoKCkseT1lLmhlaWdodCgpO2Vsc2UgYz1NYXRoLm1heChsLE1hdGgubWluKGMsYy0oYS16KSkpLGk9TWF0aC5tYXgodCxNYXRoLm1pbihpLGktKHktcSkpKTtwJiYoImF1dG8iPT09ciYmaTxBJiZjK3crCnA8eikmJihjKz1wKTtnLndpZHRoKGMpLmhlaWdodChpKTtlLndpZHRoKGMrdyk7YT1lLndpZHRoKCk7eT1lLmhlaWdodCgpO2U9KGE+enx8eT5xKSYmYz5sJiZpPnQ7Yz1oLmFzcGVjdFJhdGlvP2M8RiYmaTxCJiZjPEMmJmk8QTooYzxGfHxpPEIpJiYoYzxDfHxpPEEpO2YuZXh0ZW5kKGgse2RpbTp7d2lkdGg6dihhKSxoZWlnaHQ6dih5KX0sb3JpZ1dpZHRoOkMsb3JpZ0hlaWdodDpBLGNhblNocmluazplLGNhbkV4cGFuZDpjLHdQYWRkaW5nOncsaFBhZGRpbmc6eCx3cmFwU3BhY2U6eS1qLm91dGVySGVpZ2h0KCEwKSxza2luU3BhY2U6ai5oZWlnaHQoKS1pfSk7IXUmJihoLmF1dG9IZWlnaHQmJmk+dCYmaTxuJiYhYykmJmcuaGVpZ2h0KCJhdXRvIil9LF9nZXRQb3NpdGlvbjpmdW5jdGlvbihhKXt2YXIgZD1iLmN1cnJlbnQsZT1iLmdldFZpZXdwb3J0KCksYz1kLm1hcmdpbixmPWIud3JhcC53aWR0aCgpK2NbMV0rY1szXSxnPWIud3JhcC5oZWlnaHQoKStjWzBdK2NbMl0sYz17cG9zaXRpb246ImFic29sdXRlIiwKdG9wOmNbMF0sbGVmdDpjWzNdfTtkLmF1dG9DZW50ZXImJmQuZml4ZWQmJiFhJiZnPD1lLmgmJmY8PWUudz9jLnBvc2l0aW9uPSJmaXhlZCI6ZC5sb2NrZWR8fChjLnRvcCs9ZS55LGMubGVmdCs9ZS54KTtjLnRvcD12KE1hdGgubWF4KGMudG9wLGMudG9wKyhlLmgtZykqZC50b3BSYXRpbykpO2MubGVmdD12KE1hdGgubWF4KGMubGVmdCxjLmxlZnQrKGUudy1mKSpkLmxlZnRSYXRpbykpO3JldHVybiBjfSxfYWZ0ZXJab29tSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQ7YSYmKGIuaXNPcGVuPWIuaXNPcGVuZWQ9ITAsYi53cmFwLmNzcygib3ZlcmZsb3ciLCJ2aXNpYmxlIikuYWRkQ2xhc3MoImZhbmN5Ym94LW9wZW5lZCIpLGIudXBkYXRlKCksKGEuY2xvc2VDbGlja3x8YS5uZXh0Q2xpY2smJjE8Yi5ncm91cC5sZW5ndGgpJiZiLmlubmVyLmNzcygiY3Vyc29yIiwicG9pbnRlciIpLmJpbmQoImNsaWNrLmZiIixmdW5jdGlvbihkKXshZihkLnRhcmdldCkuaXMoImEiKSYmIWYoZC50YXJnZXQpLnBhcmVudCgpLmlzKCJhIikmJgooZC5wcmV2ZW50RGVmYXVsdCgpLGJbYS5jbG9zZUNsaWNrPyJjbG9zZSI6Im5leHQiXSgpKX0pLGEuY2xvc2VCdG4mJmYoYS50cGwuY2xvc2VCdG4pLmFwcGVuZFRvKGIuc2tpbikuYmluZChuPyJ0b3VjaHN0YXJ0LmZiIjoiY2xpY2suZmIiLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtiLmNsb3NlKCl9KSxhLmFycm93cyYmMTxiLmdyb3VwLmxlbmd0aCYmKChhLmxvb3B8fDA8YS5pbmRleCkmJmYoYS50cGwucHJldikuYXBwZW5kVG8oYi5vdXRlcikuYmluZCgiY2xpY2suZmIiLGIucHJldiksKGEubG9vcHx8YS5pbmRleDxiLmdyb3VwLmxlbmd0aC0xKSYmZihhLnRwbC5uZXh0KS5hcHBlbmRUbyhiLm91dGVyKS5iaW5kKCJjbGljay5mYiIsYi5uZXh0KSksYi50cmlnZ2VyKCJhZnRlclNob3ciKSwhYS5sb29wJiZhLmluZGV4PT09YS5ncm91cC5sZW5ndGgtMT9iLnBsYXkoITEpOmIub3B0cy5hdXRvUGxheSYmIWIucGxheWVyLmlzQWN0aXZlJiYoYi5vcHRzLmF1dG9QbGF5PQohMSxiLnBsYXkoKSkpfSxfYWZ0ZXJab29tT3V0OmZ1bmN0aW9uKGEpe2E9YXx8Yi5jdXJyZW50O2YoIi5mYW5jeWJveC13cmFwIikudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpO2YuZXh0ZW5kKGIse2dyb3VwOnt9LG9wdHM6e30scm91dGVyOiExLGN1cnJlbnQ6bnVsbCxpc0FjdGl2ZTohMSxpc09wZW5lZDohMSxpc09wZW46ITEsaXNDbG9zaW5nOiExLHdyYXA6bnVsbCxza2luOm51bGwsb3V0ZXI6bnVsbCxpbm5lcjpudWxsfSk7Yi50cmlnZ2VyKCJhZnRlckNsb3NlIixhKX19KTtiLnRyYW5zaXRpb25zPXtnZXRPcmlnUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLmVsZW1lbnQsZT1hLm9yaWcsYz17fSxmPTUwLGc9NTAsaD1hLmhQYWRkaW5nLGk9YS53UGFkZGluZyxsPWIuZ2V0Vmlld3BvcnQoKTshZSYmKGEuaXNEb20mJmQuaXMoIjp2aXNpYmxlIikpJiYoZT1kLmZpbmQoImltZzpmaXJzdCIpLGUubGVuZ3RofHwoZT1kKSk7cyhlKT8oYz1lLm9mZnNldCgpLAplLmlzKCJpbWciKSYmKGY9ZS5vdXRlcldpZHRoKCksZz1lLm91dGVySGVpZ2h0KCkpKTooYy50b3A9bC55KyhsLmgtZykqYS50b3BSYXRpbyxjLmxlZnQ9bC54KyhsLnctZikqYS5sZWZ0UmF0aW8pO2lmKCJmaXhlZCI9PT1iLndyYXAuY3NzKCJwb3NpdGlvbiIpfHxhLmxvY2tlZCljLnRvcC09bC55LGMubGVmdC09bC54O3JldHVybiBjPXt0b3A6dihjLnRvcC1oKmEudG9wUmF0aW8pLGxlZnQ6dihjLmxlZnQtaSphLmxlZnRSYXRpbyksd2lkdGg6dihmK2kpLGhlaWdodDp2KGcraCl9fSxzdGVwOmZ1bmN0aW9uKGEsZCl7dmFyIGUsYyxmPWQucHJvcDtjPWIuY3VycmVudDt2YXIgZz1jLndyYXBTcGFjZSxoPWMuc2tpblNwYWNlO2lmKCJ3aWR0aCI9PT1mfHwiaGVpZ2h0Ij09PWYpZT1kLmVuZD09PWQuc3RhcnQ/MTooYS1kLnN0YXJ0KS8oZC5lbmQtZC5zdGFydCksYi5pc0Nsb3NpbmcmJihlPTEtZSksYz0id2lkdGgiPT09Zj9jLndQYWRkaW5nOmMuaFBhZGRpbmcsYz1hLWMsYi5za2luW2ZdKGsoIndpZHRoIj09PQpmP2M6Yy1nKmUpKSxiLmlubmVyW2ZdKGsoIndpZHRoIj09PWY/YzpjLWcqZS1oKmUpKX0sem9vbUluOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ9YS5wb3MsZT1hLm9wZW5FZmZlY3QsYz0iZWxhc3RpYyI9PT1lLGo9Zi5leHRlbmQoe29wYWNpdHk6MX0sZCk7ZGVsZXRlIGoucG9zaXRpb247Yz8oZD10aGlzLmdldE9yaWdQb3NpdGlvbigpLGEub3Blbk9wYWNpdHkmJihkLm9wYWNpdHk9MC4xKSk6ImZhZGUiPT09ZSYmKGQub3BhY2l0eT0wLjEpO2Iud3JhcC5jc3MoZCkuYW5pbWF0ZShqLHtkdXJhdGlvbjoibm9uZSI9PT1lPzA6YS5vcGVuU3BlZWQsZWFzaW5nOmEub3BlbkVhc2luZyxzdGVwOmM/dGhpcy5zdGVwOm51bGwsY29tcGxldGU6Yi5fYWZ0ZXJab29tSW59KX0sem9vbU91dDpmdW5jdGlvbigpe3ZhciBhPWIuY3VycmVudCxkPWEuY2xvc2VFZmZlY3QsZT0iZWxhc3RpYyI9PT1kLGM9e29wYWNpdHk6MC4xfTtlJiYoYz10aGlzLmdldE9yaWdQb3NpdGlvbigpLGEuY2xvc2VPcGFjaXR5JiYKKGMub3BhY2l0eT0wLjEpKTtiLndyYXAuYW5pbWF0ZShjLHtkdXJhdGlvbjoibm9uZSI9PT1kPzA6YS5jbG9zZVNwZWVkLGVhc2luZzphLmNsb3NlRWFzaW5nLHN0ZXA6ZT90aGlzLnN0ZXA6bnVsbCxjb21wbGV0ZTpiLl9hZnRlclpvb21PdXR9KX0sY2hhbmdlSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLm5leHRFZmZlY3QsZT1hLnBvcyxjPXtvcGFjaXR5OjF9LGY9Yi5kaXJlY3Rpb24sZztlLm9wYWNpdHk9MC4xOyJlbGFzdGljIj09PWQmJihnPSJkb3duIj09PWZ8fCJ1cCI9PT1mPyJ0b3AiOiJsZWZ0IiwiZG93biI9PT1mfHwicmlnaHQiPT09Zj8oZVtnXT12KGsoZVtnXSktMjAwKSxjW2ddPSIrPTIwMHB4Iik6KGVbZ109dihrKGVbZ10pKzIwMCksY1tnXT0iLT0yMDBweCIpKTsibm9uZSI9PT1kP2IuX2FmdGVyWm9vbUluKCk6Yi53cmFwLmNzcyhlKS5hbmltYXRlKGMse2R1cmF0aW9uOmEubmV4dFNwZWVkLGVhc2luZzphLm5leHRFYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGIuX2FmdGVyWm9vbUluLAoyMCl9fSl9LGNoYW5nZU91dDpmdW5jdGlvbigpe3ZhciBhPWIucHJldmlvdXMsZD1hLnByZXZFZmZlY3QsZT17b3BhY2l0eTowLjF9LGM9Yi5kaXJlY3Rpb247ImVsYXN0aWMiPT09ZCYmKGVbImRvd24iPT09Y3x8InVwIj09PWM/InRvcCI6ImxlZnQiXT0oInVwIj09PWN8fCJsZWZ0Ij09PWM/Ii0iOiIrIikrIj0yMDBweCIpO2Eud3JhcC5hbmltYXRlKGUse2R1cmF0aW9uOiJub25lIj09PWQ/MDphLnByZXZTcGVlZCxlYXNpbmc6YS5wcmV2RWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zih0aGlzKS50cmlnZ2VyKCJvblJlc2V0IikucmVtb3ZlKCl9fSl9fTtiLmhlbHBlcnMub3ZlcmxheT17ZGVmYXVsdHM6e2Nsb3NlQ2xpY2s6ITAsc3BlZWRPdXQ6MjAwLHNob3dFYXJseTohMCxjc3M6e30sbG9ja2VkOiFuLGZpeGVkOiEwfSxvdmVybGF5Om51bGwsZml4ZWQ6ITEsY3JlYXRlOmZ1bmN0aW9uKGEpe2E9Zi5leHRlbmQoe30sdGhpcy5kZWZhdWx0cyxhKTt0aGlzLm92ZXJsYXkmJnRoaXMuY2xvc2UoKTsKdGhpcy5vdmVybGF5PWYoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLmFwcGVuZFRvKCJib2R5Iik7dGhpcy5maXhlZD0hMTthLmZpeGVkJiZiLmRlZmF1bHRzLmZpeGVkJiYodGhpcy5vdmVybGF5LmFkZENsYXNzKCJmYW5jeWJveC1vdmVybGF5LWZpeGVkIiksdGhpcy5maXhlZD0hMCl9LG9wZW46ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcyxhPWYuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsYSk7dGhpcy5vdmVybGF5P3RoaXMub3ZlcmxheS51bmJpbmQoIi5vdmVybGF5Iikud2lkdGgoImF1dG8iKS5oZWlnaHQoImF1dG8iKTp0aGlzLmNyZWF0ZShhKTt0aGlzLmZpeGVkfHwoci5iaW5kKCJyZXNpemUub3ZlcmxheSIsZi5wcm94eSh0aGlzLnVwZGF0ZSx0aGlzKSksdGhpcy51cGRhdGUoKSk7YS5jbG9zZUNsaWNrJiZ0aGlzLm92ZXJsYXkuYmluZCgiY2xpY2sub3ZlcmxheSIsZnVuY3Rpb24oYSl7ZihhLnRhcmdldCkuaGFzQ2xhc3MoImZhbmN5Ym94LW92ZXJsYXkiKSYmCihiLmlzQWN0aXZlP2IuY2xvc2UoKTpkLmNsb3NlKCkpfSk7dGhpcy5vdmVybGF5LmNzcyhhLmNzcykuc2hvdygpfSxjbG9zZTpmdW5jdGlvbigpe2YoIi5mYW5jeWJveC1vdmVybGF5IikucmVtb3ZlKCk7ci51bmJpbmQoInJlc2l6ZS5vdmVybGF5Iik7dGhpcy5vdmVybGF5PW51bGw7ITEhPT10aGlzLm1hcmdpbiYmKGYoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIsdGhpcy5tYXJnaW4pLHRoaXMubWFyZ2luPSExKTt0aGlzLmVsJiZ0aGlzLmVsLnJlbW92ZUNsYXNzKCJmYW5jeWJveC1sb2NrIil9LHVwZGF0ZTpmdW5jdGlvbigpe3ZhciBhPSIxMDAlIixiO3RoaXMub3ZlcmxheS53aWR0aChhKS5oZWlnaHQoIjEwMCUiKTtmLmJyb3dzZXIubXNpZT8oYj1NYXRoLm1heCh4LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCx4LmJvZHkub2Zmc2V0V2lkdGgpLG0ud2lkdGgoKT5iJiYoYT1tLndpZHRoKCkpKTptLndpZHRoKCk+ci53aWR0aCgpJiYoYT1tLndpZHRoKCkpO3RoaXMub3ZlcmxheS53aWR0aChhKS5oZWlnaHQobS5oZWlnaHQoKSl9LApvblJlYWR5OmZ1bmN0aW9uKGEsYil7ZigiLmZhbmN5Ym94LW92ZXJsYXkiKS5zdG9wKCEwLCEwKTt0aGlzLm92ZXJsYXl8fCh0aGlzLm1hcmdpbj1tLmhlaWdodCgpPnIuaGVpZ2h0KCl8fCJzY3JvbGwiPT09ZigiYm9keSIpLmNzcygib3ZlcmZsb3cteSIpP2YoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIpOiExLHRoaXMuZWw9eC5hbGwmJiF4LnF1ZXJ5U2VsZWN0b3I/ZigiaHRtbCIpOmYoImJvZHkiKSx0aGlzLmNyZWF0ZShhKSk7YS5sb2NrZWQmJnRoaXMuZml4ZWQmJihiLmxvY2tlZD10aGlzLm92ZXJsYXkuYXBwZW5kKGIud3JhcCksYi5maXhlZD0hMSk7ITA9PT1hLnNob3dFYXJseSYmdGhpcy5iZWZvcmVTaG93LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYmVmb3JlU2hvdzpmdW5jdGlvbihhLGIpe2IubG9ja2VkJiYodGhpcy5lbC5hZGRDbGFzcygiZmFuY3lib3gtbG9jayIpLCExIT09dGhpcy5tYXJnaW4mJmYoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIsayh0aGlzLm1hcmdpbikrCmIuc2Nyb2xsYmFyV2lkdGgpKTt0aGlzLm9wZW4oYSl9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5maXhlZHx8dGhpcy51cGRhdGUoKX0sYWZ0ZXJDbG9zZTpmdW5jdGlvbihhKXt0aGlzLm92ZXJsYXkmJiFiLmlzQWN0aXZlJiZ0aGlzLm92ZXJsYXkuZmFkZU91dChhLnNwZWVkT3V0LGYucHJveHkodGhpcy5jbG9zZSx0aGlzKSl9fTtiLmhlbHBlcnMudGl0bGU9e2RlZmF1bHRzOnt0eXBlOiJmbG9hdCIscG9zaXRpb246ImJvdHRvbSJ9LGJlZm9yZVNob3c6ZnVuY3Rpb24oYSl7dmFyIGQ9Yi5jdXJyZW50LGU9ZC50aXRsZSxjPWEudHlwZTtmLmlzRnVuY3Rpb24oZSkmJihlPWUuY2FsbChkLmVsZW1lbnQsZCkpO2lmKHAoZSkmJiIiIT09Zi50cmltKGUpKXtkPWYoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LXRpdGxlIGZhbmN5Ym94LXRpdGxlLScrYysnLXdyYXAiPicrZSsiPC9kaXY+Iik7c3dpdGNoKGMpe2Nhc2UgImluc2lkZSI6Yz1iLnNraW47YnJlYWs7Y2FzZSAib3V0c2lkZSI6Yz0KYi53cmFwO2JyZWFrO2Nhc2UgIm92ZXIiOmM9Yi5pbm5lcjticmVhaztkZWZhdWx0OmM9Yi5za2luLGQuYXBwZW5kVG8oImJvZHkiKSxmLmJyb3dzZXIubXNpZSYmZC53aWR0aChkLndpZHRoKCkpLGQud3JhcElubmVyKCc8c3BhbiBjbGFzcz0iY2hpbGQiPjwvc3Bhbj4nKSxiLmN1cnJlbnQubWFyZ2luWzJdKz1NYXRoLmFicyhrKGQuY3NzKCJtYXJnaW4tYm90dG9tIikpKX1kWyJ0b3AiPT09YS5wb3NpdGlvbj8icHJlcGVuZFRvIjoiYXBwZW5kVG8iXShjKX19fTtmLmZuLmZhbmN5Ym94PWZ1bmN0aW9uKGEpe3ZhciBkLGU9Zih0aGlzKSxjPXRoaXMuc2VsZWN0b3J8fCIiLGo9ZnVuY3Rpb24oZyl7dmFyIGg9Zih0aGlzKS5ibHVyKCksaT1kLGosazshZy5jdHJsS2V5JiYoIWcuYWx0S2V5JiYhZy5zaGlmdEtleSYmIWcubWV0YUtleSkmJiFoLmlzKCIuZmFuY3lib3gtd3JhcCIpJiYoaj1hLmdyb3VwQXR0cnx8ImRhdGEtZmFuY3lib3gtZ3JvdXAiLGs9aC5hdHRyKGopLGt8fChqPSJyZWwiLAprPWguZ2V0KDApW2pdKSxrJiYoIiIhPT1rJiYibm9mb2xsb3ciIT09aykmJihoPWMubGVuZ3RoP2YoYyk6ZSxoPWguZmlsdGVyKCJbIitqKyc9IicraysnIl0nKSxpPWguaW5kZXgodGhpcykpLGEuaW5kZXg9aSwhMSE9PWIub3BlbihoLGEpJiZnLnByZXZlbnREZWZhdWx0KCkpfSxhPWF8fHt9O2Q9YS5pbmRleHx8MDshY3x8ITE9PT1hLmxpdmU/ZS51bmJpbmQoImNsaWNrLmZiLXN0YXJ0IikuYmluZCgiY2xpY2suZmItc3RhcnQiLGopOm0udW5kZWxlZ2F0ZShjLCJjbGljay5mYi1zdGFydCIpLmRlbGVnYXRlKGMrIjpub3QoJy5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2JykiLCJjbGljay5mYi1zdGFydCIsaik7dGhpcy5maWx0ZXIoIltkYXRhLWZhbmN5Ym94LXN0YXJ0PTFdIikudHJpZ2dlcigiY2xpY2siKTtyZXR1cm4gdGhpc307bS5yZWFkeShmdW5jdGlvbigpe2Yuc2Nyb2xsYmFyV2lkdGg9PT1xJiYoZi5zY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe3ZhciBhPWYoJzxkaXYgc3R5bGU9IndpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6YXV0byI+PGRpdi8+PC9kaXY+JykuYXBwZW5kVG8oImJvZHkiKSwKYj1hLmNoaWxkcmVuKCksYj1iLmlubmVyV2lkdGgoKS1iLmhlaWdodCg5OSkuaW5uZXJXaWR0aCgpO2EucmVtb3ZlKCk7cmV0dXJuIGJ9KTtpZihmLnN1cHBvcnQuZml4ZWRQb3NpdGlvbj09PXEpe3ZhciBhPWYuc3VwcG9ydCxkPWYoJzxkaXYgc3R5bGU9InBvc2l0aW9uOmZpeGVkO3RvcDoyMHB4OyI+PC9kaXY+JykuYXBwZW5kVG8oImJvZHkiKSxlPTIwPT09ZFswXS5vZmZzZXRUb3B8fDE1PT09ZFswXS5vZmZzZXRUb3A7ZC5yZW1vdmUoKTthLmZpeGVkUG9zaXRpb249ZX1mLmV4dGVuZChiLmRlZmF1bHRzLHtzY3JvbGxiYXJXaWR0aDpmLnNjcm9sbGJhcldpZHRoKCksZml4ZWQ6Zi5zdXBwb3J0LmZpeGVkUG9zaXRpb24scGFyZW50OmYoImJvZHkiKX0pfSl9KSh3aW5kb3csZG9jdW1lbnQsalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.mousewheel-3.0.6.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAxMSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChMSUNFTlNFLnR4dCkuCiAqCiAqIFRoYW5rcyB0bzogaHR0cDovL2Fkb21hcy5vcmcvamF2YXNjcmlwdC1tb3VzZS13aGVlbC8gZm9yIHNvbWUgcG9pbnRlcnMuCiAqIFRoYW5rcyB0bzogTWF0aGlhcyBCYW5rKGh0dHA6Ly93d3cubWF0aGlhcy1iYW5rLmRlKSBmb3IgYSBzY29wZSBidWcgZml4LgogKiBUaGFua3MgdG86IFNlYW11cyBMZWFoeSBmb3IgYWRkaW5nIGRlbHRhWCBhbmQgZGVsdGFZCiAqCiAqIFZlcnNpb246IDMuMC42CiAqIAogKiBSZXF1aXJlczogMS4yLjIrCiAqLwooZnVuY3Rpb24oZCl7ZnVuY3Rpb24gZShhKXt2YXIgYj1hfHx3aW5kb3cuZXZlbnQsYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxmPTAsZT0wLGc9MCxhPWQuZXZlbnQuZml4KGIpO2EudHlwZT0ibW91c2V3aGVlbCI7Yi53aGVlbERlbHRhJiYoZj1iLndoZWVsRGVsdGEvMTIwKTtiLmRldGFpbCYmKGY9LWIuZGV0YWlsLzMpO2c9ZjtiLmF4aXMhPT12b2lkIDAmJmIuYXhpcz09PWIuSE9SSVpPTlRBTF9BWElTJiYoZz0wLGU9LTEqZik7Yi53aGVlbERlbHRhWSE9PXZvaWQgMCYmKGc9Yi53aGVlbERlbHRhWS8xMjApO2Iud2hlZWxEZWx0YVghPT12b2lkIDAmJihlPS0xKmIud2hlZWxEZWx0YVgvMTIwKTtjLnVuc2hpZnQoYSxmLGUsZyk7cmV0dXJuKGQuZXZlbnQuZGlzcGF0Y2h8fGQuZXZlbnQuaGFuZGxlKS5hcHBseSh0aGlzLGMpfXZhciBjPVsiRE9NTW91c2VTY3JvbGwiLCJtb3VzZXdoZWVsIl07aWYoZC5ldmVudC5maXhIb29rcylmb3IodmFyIGg9Yy5sZW5ndGg7aDspZC5ldmVudC5maXhIb29rc1tjWy0taF1dPQpkLmV2ZW50Lm1vdXNlSG9va3M7ZC5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGUsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sZSxmYWxzZSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1udWxsfX07ZC5mbi5leHRlbmQoe21vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/dGhpcy5iaW5kKCJtb3VzZXdoZWVsIixhKTp0aGlzLnRyaWdnZXIoIm1vdXNld2hlZWwiKX0sdW5tb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVuYmluZCgibW91c2V3aGVlbCIsYSl9fSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.touchSwipe.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGQpe3ZhciBsPSJsZWZ0IixrPSJyaWdodCIsYz0idXAiLHI9ImRvd24iLGI9ImluIixzPSJvdXQiLGk9Im5vbmUiLG89ImF1dG8iLHU9Imhvcml6b250YWwiLHA9InZlcnRpY2FsIixmPSJhbGwiLGU9InN0YXJ0IixoPSJtb3ZlIixnPSJlbmQiLG09ImNhbmNlbCIsYT0ib250b3VjaHN0YXJ0IiBpbiB3aW5kb3csdD0iVG91Y2hTd2lwZSI7dmFyIGo9e2ZpbmdlcnM6MSx0aHJlc2hvbGQ6NzUsbWF4VGltZVRocmVzaG9sZDpudWxsLHN3aXBlOm51bGwsc3dpcGVMZWZ0Om51bGwsc3dpcGVSaWdodDpudWxsLHN3aXBlVXA6bnVsbCxzd2lwZURvd246bnVsbCxzd2lwZVN0YXR1czpudWxsLHBpbmNoSW46bnVsbCxwaW5jaE91dDpudWxsLHBpbmNoU3RhdHVzOm51bGwsY2xpY2s6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDp0cnVlLGFsbG93UGFnZVNjcm9sbDoiYXV0byIsZmFsbGJhY2tUb01vdXNlRXZlbnRzOnRydWUsZXhjbHVkZWRFbGVtZW50czoiYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYSwgLm5vU3dpcGUifTtkLmZuLnN3aXBlPWZ1bmN0aW9uKHgpe3ZhciB3PWQodGhpcyksdj13LmRhdGEodCk7aWYodiYmdHlwZW9mIHg9PT0ic3RyaW5nIil7aWYodlt4XSl7cmV0dXJuIHZbeF0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfWVsc2V7ZC5lcnJvcigiTWV0aG9kICIreCsiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZSIpfX1lbHNle2lmKCF2JiYodHlwZW9mIHg9PT0ib2JqZWN0Inx8IXgpKXtyZXR1cm4gcS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiB3fTtkLmZuLnN3aXBlLmRlZmF1bHRzPWo7ZC5mbi5zd2lwZS5waGFzZXM9e1BIQVNFX1NUQVJUOmUsUEhBU0VfTU9WRTpoLFBIQVNFX0VORDpnLFBIQVNFX0NBTkNFTDptfTtkLmZuLnN3aXBlLmRpcmVjdGlvbnM9e0xFRlQ6bCxSSUdIVDprLFVQOmMsRE9XTjpyLElOOmIsT1VUOnN9O2QuZm4uc3dpcGUucGFnZVNjcm9sbD17Tk9ORTppLEhPUklaT05UQUw6dSxWRVJUSUNBTDpwLEFVVE86b307ZC5mbi5zd2lwZS5maW5nZXJzPXtPTkU6MSxUV086MixUSFJFRTozLEFMTDpmfTtmdW5jdGlvbiBxKHYpe2lmKHYmJih2LmFsbG93UGFnZVNjcm9sbD09PXVuZGVmaW5lZCYmKHYuc3dpcGUhPT11bmRlZmluZWR8fHYuc3dpcGVTdGF0dXMhPT11bmRlZmluZWQpKSl7di5hbGxvd1BhZ2VTY3JvbGw9aX1pZighdil7dj17fX12PWQuZXh0ZW5kKHt9LGQuZm4uc3dpcGUuZGVmYXVsdHMsdik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB4PWQodGhpcyk7dmFyIHc9eC5kYXRhKHQpO2lmKCF3KXt3PW5ldyBuKHRoaXMsdik7eC5kYXRhKHQsdyl9fSl9ZnVuY3Rpb24gbihKLFIpe3ZhciBhaj0oYXx8IVIuZmFsbGJhY2tUb01vdXNlRXZlbnRzKSxhZT1haj8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsSz1haj8idG91Y2htb3ZlIjoibW91c2Vtb3ZlIixhYz1haj8idG91Y2hlbmQiOiJtb3VzZXVwIixJPSJ0b3VjaGNhbmNlbCI7dmFyIFA9MDt2YXIgRT1udWxsO3ZhciBTPTA7dmFyIGFmPTA7dmFyIHc9MDt2YXIgVT0xO3ZhciBhaz0wO3ZhciBBPWQoSik7dmFyIEY9InN0YXJ0Ijt2YXIgYWk9MDt2YXIgVD1udWxsO3ZhciBCPTA7dmFyIE09MDt0cnl7QS5iaW5kKGFlLGFhKTtBLmJpbmQoSSxEKX1jYXRjaChhZyl7ZC5lcnJvcigiZXZlbnRzIG5vdCBzdXBwb3J0ZWQgIithZSsiLCIrSSsiIG9uIGpRdWVyeS5zd2lwZSIpfXRoaXMuZW5hYmxlPWZ1bmN0aW9uKCl7QS5iaW5kKGFlLGFhKTtBLmJpbmQoSSxEKTtyZXR1cm4gQX07dGhpcy5kaXNhYmxlPWZ1bmN0aW9uKCl7SCgpO3JldHVybiBBfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXtIKCk7QS5kYXRhKHQsbnVsbCk7cmV0dXJuIEF9O2Z1bmN0aW9uIGFhKGFvKXtpZihMKCkpe3JldHVybn1pZihkKGFvLnRhcmdldCkuY2xvc2VzdChSLmV4Y2x1ZGVkRWxlbWVudHMsQSkubGVuZ3RoPjApe3JldHVybn1hbz1hby5vcmlnaW5hbEV2ZW50O3ZhciBhbixhbT1hP2FvLnRvdWNoZXNbMF06YW87Rj1lO2lmKGEpe2FpPWFvLnRvdWNoZXMubGVuZ3RofWVsc2V7YW8ucHJldmVudERlZmF1bHQoKX1QPTA7RT1udWxsO2FrPW51bGw7Uz0wO2FmPTA7dz0wO1U9MTtUPWFsKCk7aWYoIWF8fChhaT09PVIuZmluZ2Vyc3x8Ui5maW5nZXJzPT09Zil8fFcoKSl7VFswXS5zdGFydC54PVRbMF0uZW5kLng9YW0ucGFnZVg7VFswXS5zdGFydC55PVRbMF0uZW5kLnk9YW0ucGFnZVk7Qj14KCk7aWYoYWk9PTIpe1RbMV0uc3RhcnQueD1UWzFdLmVuZC54PWFvLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5zdGFydC55PVRbMV0uZW5kLnk9YW8udG91Y2hlc1sxXS5wYWdlWTthZj13PU4oVFswXS5zdGFydCxUWzFdLnN0YXJ0KX1pZihSLnN3aXBlU3RhdHVzfHxSLnBpbmNoU3RhdHVzKXthbj1haChhbyxGKX19ZWxzZXtEKGFvKTthbj1mYWxzZX1pZihhbj09PWZhbHNlKXtGPW07YWgoYW8sRik7cmV0dXJuIGFufWVsc2V7Vih0cnVlKTtBLmJpbmQoSyxHKTtBLmJpbmQoYWMsTyl9fWZ1bmN0aW9uIEcoYXApe2FwPWFwLm9yaWdpbmFsRXZlbnQ7aWYoRj09PWd8fEY9PT1tKXtyZXR1cm59dmFyIGFuLGFtPWE/YXAudG91Y2hlc1swXTphcDtUWzBdLmVuZC54PWE/YXAudG91Y2hlc1swXS5wYWdlWDphbS5wYWdlWDtUWzBdLmVuZC55PWE/YXAudG91Y2hlc1swXS5wYWdlWTphbS5wYWdlWTtNPXgoKTtFPVooVFswXS5zdGFydCxUWzBdLmVuZCk7aWYoYSl7YWk9YXAudG91Y2hlcy5sZW5ndGh9Rj1oO2lmKGFpPT0yKXtpZihhZj09MCl7VFsxXS5zdGFydC54PWFwLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5zdGFydC55PWFwLnRvdWNoZXNbMV0ucGFnZVk7YWY9dz1OKFRbMF0uc3RhcnQsVFsxXS5zdGFydCl9ZWxzZXtUWzFdLmVuZC54PWFwLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5lbmQueT1hcC50b3VjaGVzWzFdLnBhZ2VZO3c9TihUWzBdLmVuZCxUWzFdLmVuZCk7YWs9WChUWzBdLmVuZCxUWzFdLmVuZCl9VT12KGFmLHcpfWlmKChhaT09PVIuZmluZ2Vyc3x8Ui5maW5nZXJzPT09Zil8fCFhKXt5KGFwLEUpO1A9eihUWzBdLnN0YXJ0LFRbMF0uZW5kKTtTPUMoVFswXS5zdGFydCxUWzBdLmVuZCk7aWYoUi5zd2lwZVN0YXR1c3x8Ui5waW5jaFN0YXR1cyl7YW49YWgoYXAsRil9aWYoIVIudHJpZ2dlck9uVG91Y2hFbmQpe3ZhciBhbz0hWSgpO2lmKFEoKT09PXRydWUpe0Y9Zzthbj1haChhcCxGKX1lbHNle2lmKGFvKXtGPW07YWgoYXAsRil9fX19ZWxzZXtGPW07YWgoYXAsRil9aWYoYW49PT1mYWxzZSl7Rj1tO2FoKGFwLEYpfX1mdW5jdGlvbiBPKGF0KXthdD1hdC5vcmlnaW5hbEV2ZW50O2lmKGF0LnRvdWNoZXMmJmF0LnRvdWNoZXMubGVuZ3RoPjApe3JldHVybiB0cnVlfWF0LnByZXZlbnREZWZhdWx0KCk7TT14KCk7aWYoYWYhPTApe3c9TihUWzBdLmVuZCxUWzFdLmVuZCk7VT12KGFmLHcpO2FrPVgoVFswXS5lbmQsVFsxXS5lbmQpfVA9eihUWzBdLnN0YXJ0LFRbMF0uZW5kKTtFPVooVFswXS5zdGFydCxUWzBdLmVuZCk7Uz1DKCk7aWYoUi50cmlnZ2VyT25Ub3VjaEVuZHx8KFIudHJpZ2dlck9uVG91Y2hFbmQ9PT1mYWxzZSYmRj09PWgpKXtGPWc7dmFyIGFwPWFkKCl8fCFXKCk7dmFyIGFuPSgoYWk9PT1SLmZpbmdlcnN8fFIuZmluZ2Vycz09PWYpfHwhYSk7dmFyIGFtPVRbMF0uZW5kLnghPT0wO3ZhciBhbz0oYW4mJmFtJiZhcCk7aWYoYW8pe3ZhciBhcT1ZKCk7dmFyIGFyPVEoKTtpZigoYXI9PT10cnVlfHxhcj09PW51bGwpJiZhcSl7YWgoYXQsRil9ZWxzZXtpZighYXF8fGFyPT09ZmFsc2Upe0Y9bTthaChhdCxGKX19fWVsc2V7Rj1tO2FoKGF0LEYpfX1lbHNle2lmKEY9PT1oKXtGPW07YWgoYXQsRil9fUEudW5iaW5kKEssRyxmYWxzZSk7QS51bmJpbmQoYWMsTyxmYWxzZSk7VihmYWxzZSl9ZnVuY3Rpb24gRCgpe2FpPTA7TT0wO0I9MDthZj0wO3c9MDtVPTE7VihmYWxzZSl9ZnVuY3Rpb24gYWgoYW8sYW0pe3ZhciBhbj11bmRlZmluZWQ7aWYoUi5zd2lwZVN0YXR1cyl7YW49Ui5zd2lwZVN0YXR1cy5jYWxsKEEsYW8sYW0sRXx8bnVsbCxQfHwwLFN8fDAsYWkpfWlmKFIucGluY2hTdGF0dXMmJmFkKCkpe2FuPVIucGluY2hTdGF0dXMuY2FsbChBLGFvLGFtLGFrfHxudWxsLHd8fDAsU3x8MCxhaSxVKX1pZihhbT09PW0pe2lmKFIuY2xpY2smJihhaT09PTF8fCFhKSYmKGlzTmFOKFApfHxQPT09MCkpe2FuPVIuY2xpY2suY2FsbChBLGFvLGFvLnRhcmdldCl9fWlmKGFtPT1nKXtpZihSLnN3aXBlKXthbj1SLnN3aXBlLmNhbGwoQSxhbyxFLFAsUyxhaSl9c3dpdGNoKEUpe2Nhc2UgbDppZihSLnN3aXBlTGVmdCl7YW49Ui5zd2lwZUxlZnQuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIGs6aWYoUi5zd2lwZVJpZ2h0KXthbj1SLnN3aXBlUmlnaHQuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIGM6aWYoUi5zd2lwZVVwKXthbj1SLnN3aXBlVXAuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIHI6aWYoUi5zd2lwZURvd24pe2FuPVIuc3dpcGVEb3duLmNhbGwoQSxhbyxFLFAsUyxhaSl9YnJlYWt9c3dpdGNoKGFrKXtjYXNlIGI6aWYoUi5waW5jaEluKXthbj1SLnBpbmNoSW4uY2FsbChBLGFvLGFrfHxudWxsLHd8fDAsU3x8MCxhaSxVKX1icmVhaztjYXNlIHM6aWYoUi5waW5jaE91dCl7YW49Ui5waW5jaE91dC5jYWxsKEEsYW8sYWt8fG51bGwsd3x8MCxTfHwwLGFpLFUpfWJyZWFrfX1pZihhbT09PW18fGFtPT09Zyl7RChhbyl9cmV0dXJuIGFufWZ1bmN0aW9uIFEoKXtpZihSLnRocmVzaG9sZCE9PW51bGwpe3JldHVybiBQPj1SLnRocmVzaG9sZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBZKCl7dmFyIGFtO2lmKFIubWF4VGltZVRocmVzaG9sZCl7aWYoUz49Ui5tYXhUaW1lVGhyZXNob2xkKXthbT1mYWxzZX1lbHNle2FtPXRydWV9fWVsc2V7YW09dHJ1ZX1yZXR1cm4gYW19ZnVuY3Rpb24geShhbSxhbil7aWYoUi5hbGxvd1BhZ2VTY3JvbGw9PT1pfHxXKCkpe2FtLnByZXZlbnREZWZhdWx0KCl9ZWxzZXt2YXIgYW89Ui5hbGxvd1BhZ2VTY3JvbGw9PT1vO3N3aXRjaChhbil7Y2FzZSBsOmlmKChSLnN3aXBlTGVmdCYmYW8pfHwoIWFvJiZSLmFsbG93UGFnZVNjcm9sbCE9dSkpe2FtLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBrOmlmKChSLnN3aXBlUmlnaHQmJmFvKXx8KCFhbyYmUi5hbGxvd1BhZ2VTY3JvbGwhPXUpKXthbS5wcmV2ZW50RGVmYXVsdCgpfWJyZWFrO2Nhc2UgYzppZigoUi5zd2lwZVVwJiZhbyl8fCghYW8mJlIuYWxsb3dQYWdlU2Nyb2xsIT1wKSl7YW0ucHJldmVudERlZmF1bHQoKX1icmVhaztjYXNlIHI6aWYoKFIuc3dpcGVEb3duJiZhbyl8fCghYW8mJlIuYWxsb3dQYWdlU2Nyb2xsIT1wKSl7YW0ucHJldmVudERlZmF1bHQoKX1icmVha319fWZ1bmN0aW9uIEMoKXtyZXR1cm4gTS1CfWZ1bmN0aW9uIE4oYXAsYW8pe3ZhciBhbj1NYXRoLmFicyhhcC54LWFvLngpO3ZhciBhbT1NYXRoLmFicyhhcC55LWFvLnkpO3JldHVybiBNYXRoLnJvdW5kKE1hdGguc3FydChhbiphbithbSphbSkpfWZ1bmN0aW9uIHYoYW0sYW4pe3ZhciBhbz0oYW4vYW0pKjE7cmV0dXJuIGFvLnRvRml4ZWQoMil9ZnVuY3Rpb24gWCgpe2lmKFU8MSl7cmV0dXJuIHN9ZWxzZXtyZXR1cm4gYn19ZnVuY3Rpb24geihhbixhbSl7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KE1hdGgucG93KGFtLngtYW4ueCwyKStNYXRoLnBvdyhhbS55LWFuLnksMikpKX1mdW5jdGlvbiBhYihhcCxhbil7dmFyIGFtPWFwLngtYW4ueDt2YXIgYXI9YW4ueS1hcC55O3ZhciBhbz1NYXRoLmF0YW4yKGFyLGFtKTt2YXIgYXE9TWF0aC5yb3VuZChhbyoxODAvTWF0aC5QSSk7aWYoYXE8MCl7YXE9MzYwLU1hdGguYWJzKGFxKX1yZXR1cm4gYXF9ZnVuY3Rpb24gWihhbixhbSl7dmFyIGFvPWFiKGFuLGFtKTtpZigoYW88PTQ1KSYmKGFvPj0wKSl7cmV0dXJuIGx9ZWxzZXtpZigoYW88PTM2MCkmJihhbz49MzE1KSl7cmV0dXJuIGx9ZWxzZXtpZigoYW8+PTEzNSkmJihhbzw9MjI1KSl7cmV0dXJuIGt9ZWxzZXtpZigoYW8+NDUpJiYoYW88MTM1KSl7cmV0dXJuIHJ9ZWxzZXtyZXR1cm4gY319fX19ZnVuY3Rpb24geCgpe3ZhciBhbT1uZXcgRGF0ZSgpO3JldHVybiBhbS5nZXRUaW1lKCl9ZnVuY3Rpb24gSCgpe0EudW5iaW5kKGFlLGFhKTtBLnVuYmluZChJLEQpO0EudW5iaW5kKEssRyk7QS51bmJpbmQoYWMsTyk7VihmYWxzZSl9ZnVuY3Rpb24gVygpe3JldHVybiBSLnBpbmNoU3RhdHVzfHxSLnBpbmNoSW58fFIucGluY2hPdXR9ZnVuY3Rpb24gYWQoKXtyZXR1cm4gYWsmJlcoKX1mdW5jdGlvbiBMKCl7cmV0dXJuIEEuZGF0YSh0KyJfaW50b3VjaCIpPT09dHJ1ZT90cnVlOmZhbHNlfWZ1bmN0aW9uIFYoYW0pe2FtPWFtPT09dHJ1ZT90cnVlOmZhbHNlO0EuZGF0YSh0KyJfaW50b3VjaCIsYW0pfWZ1bmN0aW9uIGFsKCl7dmFyIGFtPVtdO2Zvcih2YXIgYW49MDthbjw9NTthbisrKXthbS5wdXNoKHtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfSxkZWx0YTp7eDowLHk6MH19KX1yZXR1cm4gYW19fX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/jquery.lightbox-0.5.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmpzDQogKiBAYXV0aG9yIExlYW5kcm8gVmllaXJhIFBpbmhvIC0gaHR0cDovL2xlYW5kcm92aWVpcmEuY29tDQogKiBAdmVyc2lvbiAwLjUNCiAqIEBkYXRlIEFwcmlsIDExLCAyMDA4DQogKiBAY2F0ZWdvcnkgalF1ZXJ5IHBsdWdpbg0KICogQGNvcHlyaWdodCAoYykgMjAwOCBMZWFuZHJvIFZpZWlyYSBQaW5obyAobGVhbmRyb3ZpZWlyYS5jb20pDQogKiBAbGljZW5zZSBDQ0F0dHJpYnV0aW9uLVNoYXJlQWxpa2UgMi41IEJyYXppbCAtIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuNS9ici9kZWVkLmVuX1VTDQogKiBAZXhhbXBsZSBWaXNpdCBodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyBmb3IgbW9yZSBpbmZvcm1hdGlvbnMgYWJvdXQgdGhpcyBqUXVlcnkgcGx1Z2luDQogKi8NCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnKDYoJCl7JC4yTi4zZz02KDQpezQ9MjMuMkgoezJCOlwnIzM0XCcsMmc6MC44LDFkOkYsMU06XCcxOC81LTMzLVkuMTZcJywxdjpcJzE4LzUtMXUtMlEuMTZcJywxRTpcJzE4LzUtMXUtMkwuMTZcJywxVzpcJzE4LzUtMXUtMkkuMTZcJywxOTpcJzE4LzUtMkYuMTZcJywxZjoxMCwyQTozZCwyczpcJzFqXCcsMm86XCczMlwnLDJqOlwnY1wnLDJmOlwncFwnLDJkOlwnblwnLGg6W10sOTowfSw0KTtmIEk9Tjs2IDIwKCl7MVgoTixJKTt1IEZ9NiAxWCgxZSxJKXskKFwnMVUsIDFTLCAxUlwnKS5sKHtcJzFRXCc6XCcyRVwnfSk7MU8oKTs0LmguQj0wOzQuOT0wOzcoSS5CPT0xKXs0LmguMUoodiAxbSgxZS4xNyhcJ0pcJyksMWUuMTcoXCcydlwnKSkpfWp7MzYoZiBpPTA7aTxJLkI7aSsrKXs0LmguMUoodiAxbShJW2ldLjE3KFwnSlwnKSxJW2ldLjE3KFwnMnZcJykpKX19Mm4oNC5oWzQuOV1bMF0hPTFlLjE3KFwnSlwnKSl7NC45Kyt9RCgpfTYgMU8oKXskKFwnbVwnKS4zMShcJzxlIGc9InEtMTMiPjwvZT48ZSBnPSJxLTUiPjxlIGc9IjUtcy1iLXciPjxlIGc9IjUtcy1iIj48MXcgZz0iNS1iIj48ZSAyVj0iIiBnPSI1LWsiPjxhIEo9IiMiIGc9IjUtay1WIj48L2E+PGEgSj0iIyIgZz0iNS1rLVgiPjwvYT48L2U+PGUgZz0iNS1ZIj48YSBKPSIjIiBnPSI1LVktMjkiPjwxdyBXPSJcJys0LjFNK1wnIj48L2E+PC9lPjwvZT48L2U+PGUgZz0iNS1zLWItVC13Ij48ZSBnPSI1LXMtYi1UIj48ZSBnPSI1LWItQSI+PDFpIGc9IjUtYi1BLTF0Ij48LzFpPjwxaSBnPSI1LWItQS0xZyI+PC8xaT48L2U+PGUgZz0iNS0xcyI+PGEgSj0iIyIgZz0iNS0xcy0yMiI+PDF3IFc9IlwnKzQuMVcrXCciPjwvYT48L2U+PC9lPjwvZT48L2U+XCcpO2Ygej0xRCgpOyQoXCcjcS0xM1wnKS5sKHsySzo0LjJCLDJKOjQuMmcsUzp6WzBdLFA6elsxXX0pLjFWKCk7ZiBSPTFwKCk7JChcJyNxLTVcJykubCh7MVQ6UlsxXSsoelszXS8xMCksMWM6UlswXX0pLkUoKTskKFwnI3EtMTMsI3EtNVwnKS5DKDYoKXsxYSgpfSk7JChcJyM1LVktMjksIzUtMXMtMjJcJykuQyg2KCl7MWEoKTt1IEZ9KTskKEcpLjJHKDYoKXtmIHo9MUQoKTskKFwnI3EtMTNcJykubCh7Uzp6WzBdLFA6elsxXX0pO2YgUj0xcCgpOyQoXCcjcS01XCcpLmwoezFUOlJbMV0rKHpbM10vMTApLDFjOlJbMF19KX0pfTYgRCgpeyQoXCcjNS1ZXCcpLkUoKTs3KDQuMWQpeyQoXCcjNS1iLCM1LXMtYi1ULXcsIzUtYi1BLTFnXCcpLjFiKCl9anskKFwnIzUtYiwjNS1rLCM1LWstViwjNS1rLVgsIzUtcy1iLVQtdywjNS1iLUEtMWdcJykuMWIoKX1mIFE9diAxaigpO1EuMVA9NigpeyQoXCcjNS1iXCcpLjJEKFwnV1wnLDQuaFs0LjldWzBdKTsxTihRLlMsUS5QKTtRLjFQPTYoKXt9fTtRLlc9NC5oWzQuOV1bMF19OzYgMU4oMW8sMXIpe2YgMUw9JChcJyM1LXMtYi13XCcpLlMoKTtmIDFLPSQoXCcjNS1zLWItd1wnKS5QKCk7ZiAxbj0oMW8rKDQuMWYqMikpO2YgMXk9KDFyKyg0LjFmKjIpKTtmIDFJPTFMLTFuO2YgMno9MUstMXk7JChcJyM1LXMtYi13XCcpLjNmKHtTOjFuLFA6MXl9LDQuMkEsNigpezJ5KCl9KTs3KCgxST09MCkmJigyej09MCkpezcoJC4zZS4zYyl7MUgoM2IpfWp7MUgoM2EpfX0kKFwnIzUtcy1iLVQtd1wnKS5sKHtTOjFvfSk7JChcJyM1LWstViwjNS1rLVhcJykubCh7UDoxcisoNC4xZioyKX0pfTs2IDJ5KCl7JChcJyM1LVlcJykuMWIoKTskKFwnIzUtYlwnKS4xVig2KCl7MnUoKTsydCgpfSk7MnIoKX07NiAydSgpeyQoXCcjNS1zLWItVC13XCcpLjM4KFwnMzVcJyk7JChcJyM1LWItQS0xdFwnKS4xYigpOzcoNC5oWzQuOV1bMV0peyQoXCcjNS1iLUEtMXRcJykuMnAoNC5oWzQuOV1bMV0pLkUoKX03KDQuaC5CPjEpeyQoXCcjNS1iLUEtMWdcJykuMnAoNC4ycytcJyBcJysoNC45KzEpK1wnIFwnKzQuMm8rXCcgXCcrNC5oLkIpLkUoKX19NiAydCgpeyQoXCcjNS1rXCcpLkUoKTskKFwnIzUtay1WLCM1LWstWFwnKS5sKHtcJ0tcJzpcJzFDIE0oXCcrNC4xOStcJykgTC1PXCd9KTs3KDQuOSE9MCl7Nyg0LjFkKXskKFwnIzUtay1WXCcpLmwoe1wnS1wnOlwnTShcJys0LjF2K1wnKSAxYyAxNSUgTC1PXCd9KS4xMSgpLjFrKFwnQ1wnLDYoKXs0Ljk9NC45LTE7RCgpO3UgRn0pfWp7JChcJyM1LWstVlwnKS4xMSgpLjJtKDYoKXskKE4pLmwoe1wnS1wnOlwnTShcJys0LjF2K1wnKSAxYyAxNSUgTC1PXCd9KX0sNigpeyQoTikubCh7XCdLXCc6XCcxQyBNKFwnKzQuMTkrXCcpIEwtT1wnfSl9KS5FKCkuMWsoXCdDXCcsNigpezQuOT00LjktMTtEKCk7dSBGfSl9fTcoNC45IT0oNC5oLkItMSkpezcoNC4xZCl7JChcJyM1LWstWFwnKS5sKHtcJ0tcJzpcJ00oXCcrNC4xRStcJykgMmwgMTUlIEwtT1wnfSkuMTEoKS4xayhcJ0NcJyw2KCl7NC45PTQuOSsxO0QoKTt1IEZ9KX1qeyQoXCcjNS1rLVhcJykuMTEoKS4ybSg2KCl7JChOKS5sKHtcJ0tcJzpcJ00oXCcrNC4xRStcJykgMmwgMTUlIEwtT1wnfSl9LDYoKXskKE4pLmwoe1wnS1wnOlwnMUMgTShcJys0LjE5K1wnKSBMLU9cJ30pfSkuRSgpLjFrKFwnQ1wnLDYoKXs0Ljk9NC45KzE7RCgpO3UgRn0pfX0yaygpfTYgMmsoKXskKGQpLjMwKDYoMTIpezJpKDEyKX0pfTYgMUcoKXskKGQpLjExKCl9NiAyaSgxMil7NygxMj09Mmgpe1U9MlouMmU7MXg9Mjd9antVPTEyLjJlOzF4PTEyLjJZfTE0PTJYLjJXKFUpLjJVKCk7NygoMTQ9PTQuMmopfHwoMTQ9PVwneFwnKXx8KFU9PTF4KSl7MWEoKX03KCgxND09NC4yZil8fChVPT0zNykpezcoNC45IT0wKXs0Ljk9NC45LTE7RCgpOzFHKCl9fTcoKDE0PT00LjJkKXx8KFU9PTM5KSl7Nyg0LjkhPSg0LmguQi0xKSl7NC45PTQuOSsxO0QoKTsxRygpfX19NiAycigpezcoKDQuaC5CLTEpPjQuOSl7MmM9diAxaigpOzJjLlc9NC5oWzQuOSsxXVswXX03KDQuOT4wKXsyYj12IDFqKCk7MmIuVz00LmhbNC45LTFdWzBdfX02IDFhKCl7JChcJyNxLTVcJykuMmEoKTskKFwnI3EtMTNcJykuMlQoNigpeyQoXCcjcS0xM1wnKS4yYSgpfSk7JChcJzFVLCAxUywgMVJcJykubCh7XCcxUVwnOlwnMlNcJ30pfTYgMUQoKXtmIG8scjs3KEcuMWgmJkcuMjgpe289Ry4yNitHLjJSO3I9Ry4xaCtHLjI4fWogNyhkLm0uMjU+ZC5tLjI0KXtvPWQubS4yUDtyPWQubS4yNX1qe289ZC5tLjJPO3I9ZC5tLjI0fWYgeSxIOzcoWi4xaCl7NyhkLnQuMWwpe3k9ZC50LjFsfWp7eT1aLjI2fUg9Wi4xaH1qIDcoZC50JiZkLnQuMUEpe3k9ZC50LjFsO0g9ZC50LjFBfWogNyhkLm0pe3k9ZC5tLjFsO0g9ZC5tLjFBfTcocjxIKXsxej1IfWp7MXo9cn03KG88eSl7MUI9b31qezFCPXl9MjE9diAxbSgxQiwxeix5LEgpO3UgMjF9OzYgMXAoKXtmIG8scjs3KFouMVope3I9Wi4xWjtvPVouMk19aiA3KGQudCYmZC50LjFGKXtyPWQudC4xRjtvPWQudC4xWX1qIDcoZC5tKXtyPWQubS4xRjtvPWQubS4xWX0ycT12IDFtKG8scik7dSAycX07NiAxSCgyQyl7ZiAyeD12IDJ3KCk7MXE9Mmg7M2h7ZiAxcT12IDJ3KCl9Mm4oMXEtMng8MkMpfTt1IE4uMTEoXCdDXCcpLkMoMjApfX0pKDIzKTsnLDYyLDIwNCwnfHx8fHNldHRpbmdzfGxpZ2h0Ym94fGZ1bmN0aW9ufGlmfHxhY3RpdmVJbWFnZXx8aW1hZ2V8fGRvY3VtZW50fGRpdnx2YXJ8aWR8aW1hZ2VBcnJheXx8ZWxzZXxuYXZ8Y3NzfGJvZHl8fHhTY3JvbGx8fGpxdWVyeXx5U2Nyb2xsfGNvbnRhaW5lcnxkb2N1bWVudEVsZW1lbnR8cmV0dXJufG5ld3xib3h8fHdpbmRvd1dpZHRofGFyclBhZ2VTaXplc3xkZXRhaWxzfGxlbmd0aHxjbGlja3xfc2V0X2ltYWdlX3RvX3ZpZXd8c2hvd3xmYWxzZXx3aW5kb3d8d2luZG93SGVpZ2h0fGpRdWVyeU1hdGNoZWRPYmp8aHJlZnxiYWNrZ3JvdW5kfG5vfHVybHx0aGlzfHJlcGVhdHxoZWlnaHR8b2JqSW1hZ2VQcmVsb2FkZXJ8YXJyUGFnZVNjcm9sbHx3aWR0aHxkYXRhfGtleWNvZGV8YnRuUHJldnxzcmN8YnRuTmV4dHxsb2FkaW5nfHNlbGZ8fHVuYmluZHxvYmpFdmVudHxvdmVybGF5fGtleXx8Z2lmfGdldEF0dHJpYnV0ZXxpbWFnZXN8aW1hZ2VCbGFua3xfZmluaXNofGhpZGV8bGVmdHxmaXhlZE5hdmlnYXRpb258b2JqQ2xpY2tlZHxjb250YWluZXJCb3JkZXJTaXplfGN1cnJlbnROdW1iZXJ8aW5uZXJIZWlnaHR8c3BhbnxJbWFnZXxiaW5kfGNsaWVudFdpZHRofEFycmF5fGludFdpZHRofGludEltYWdlV2lkdGh8X19fZ2V0UGFnZVNjcm9sbHxjdXJEYXRlfGludEltYWdlSGVpZ2h0fHNlY05hdnxjYXB0aW9ufGJ0bnxpbWFnZUJ0blByZXZ8aW1nfGVzY2FwZUtleXxpbnRIZWlnaHR8cGFnZUhlaWdodHxjbGllbnRIZWlnaHR8cGFnZVdpZHRofHRyYW5zcGFyZW50fF9fX2dldFBhZ2VTaXplfGltYWdlQnRuTmV4dHxzY3JvbGxUb3B8X2Rpc2FibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbnxfX19wYXVzZXxpbnREaWZmV3xwdXNofGludEN1cnJlbnRIZWlnaHR8aW50Q3VycmVudFdpZHRofGltYWdlTG9hZGluZ3xfcmVzaXplX2NvbnRhaW5lcl9pbWFnZV9ib3h8X3NldF9pbnRlcmZhY2V8b25sb2FkfHZpc2liaWxpdHl8c2VsZWN0fG9iamVjdHx0b3B8ZW1iZWR8ZmFkZUlufGltYWdlQnRuQ2xvc2V8X3N0YXJ0fHNjcm9sbExlZnR8cGFnZVlPZmZzZXR8X2luaXRpYWxpemV8YXJyYXlQYWdlU2l6ZXxidG5DbG9zZXxqUXVlcnl8b2Zmc2V0SGVpZ2h0fHNjcm9sbEhlaWdodHxpbm5lcldpZHRofHxzY3JvbGxNYXhZfGxpbmt8cmVtb3ZlfG9ialByZXZ8b2JqTmV4dHxrZXlUb05leHR8a2V5Q29kZXxrZXlUb1ByZXZ8b3ZlcmxheU9wYWNpdHl8bnVsbHxfa2V5Ym9hcmRfYWN0aW9ufGtleVRvQ2xvc2V8X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9ufHJpZ2h0fGhvdmVyfHdoaWxlfHR4dE9mfGh0bWx8YXJyYXlQYWdlU2Nyb2xsfF9wcmVsb2FkX25laWdoYm9yX2ltYWdlc3x0eHRJbWFnZXxfc2V0X25hdmlnYXRpb258X3Nob3dfaW1hZ2VfZGF0YXx0aXRsZXxEYXRlfGRhdGV8X3Nob3dfaW1hZ2V8aW50RGlmZkh8Y29udGFpbmVyUmVzaXplU3BlZWR8b3ZlcmxheUJnQ29sb3J8bXN8YXR0cnxoaWRkZW58Ymxhbmt8cmVzaXplfGV4dGVuZHxjbG9zZXxvcGFjaXR5fGJhY2tncm91bmRDb2xvcnxuZXh0fHBhZ2VYT2Zmc2V0fGZufG9mZnNldFdpZHRofHNjcm9sbFdpZHRofHByZXZ8c2Nyb2xsTWF4WHx2aXNpYmxlfGZhZGVPdXR8dG9Mb3dlckNhc2V8c3R5bGV8ZnJvbUNoYXJDb2RlfFN0cmluZ3xET01fVktfRVNDQVBFfGV2ZW50fGtleWRvd258YXBwZW5kfG9mfGljb3wwMDB8ZmFzdHxmb3J8fHNsaWRlRG93bnx8MTAwfDI1MHxtc2llfDQwMHxicm93c2VyfGFuaW1hdGV8bGlnaHRCb3h8ZG8nLnNwbGl0KCd8JyksMCx7fSkp]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWAOYAAFlZWVBQUG1tbVRUVJqamlZWVt3d3VJSUlFRUWJiYvT09FhYWOnp6VVVVby8vFNTU/39/erq6nt7e8zMzKKionl5eY+Pj2ZmZkxMTGBgYPf3909PT/b29vr6+np6emxsbPDw8Ovr683Nzd7e3ktLS+zs7MfHx+Dg4F9fX/v7+7W1tZSUlKGhofz8/Hh4eFpaWufn5+Xl5XZ2dpiYmNXV1aWlpY6OjpKSkmNjY8rKymRkZO/v79vb22VlZbS0tLOzs4eHh3Nzc9/f36mpqdzc3PHx8W5ubpaWlnBwcJ2dnbm5uYaGhmdnZ2lpaZeXl4iIiE1NTU5OTnx8fOPj429vb7GxsYSEhNLS0ldXV/7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABCABYAAAf/gFqCg4SFhoeIiYqLjI2Oj5CRko0tk5aXWZlaKTM0WpmgWVoTSR2Xp4WgGk4YOgafmloiKBhHHKi4mj8kAA89PLCjGQMAGEOHVljKy1daVVivgldY0stYCQQK1dZYVoOaER4bAAFMQoITKA8AUUsgyARX8vLaz97V1fMOAhX581fRYImKICEAgAEfTogYBgAKEA2IrFQ5VKVCgolapuEbxCCBg4zUEIXSUkLCuAYChi0I8OSWKEMSKUpMoE0jyEIECNwUOTKElAMACmABcMAGxFiFrAiwwtRKDUFVvFmxsNPmoKggmzINGEoTCBkNACwYQMEUKGQSq6j96MybASzy00Jaheptmtq7DL511bKDStiDK0SdhYmxEFZnAkzIDTnIgs65qUaeCEKsQQGiLCAEIyxTkIKliwl1NLHz0MgRHxD0anKhwIIDFDS/TBrvX97DIBfrW+rvn15RIy6oDuBiSo4CrhFkjsgNy0TcWiwsXiYg2zZuerUYuHDgRQAJEQQpQb4AAYVKuE6JIoLDIPEQnwSpQKCMhI/06rUUWXFgg4fwI6nwQABIBISfJJqkcEMFJQgUSxVGxHAgJpp04FJXmUAAQ3wTIjgYhh/O1uEjIJYYSiAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAMQaANXV1aurq2tra9/f32FhYfT09MDAwHZ2doGBgbW1tdDQ0MLCwpaWlurq6qCgoIuLi8rKyvr6+s3Nzb6+vtbW1vn5+cHBwc/Pz1dXV////////wAAAAAAAAAAAAAAAAAAACH5BAEAABoALAAAAAA/ACAAAAX/oKZlZGmeaKquLDq2cCzPdG3feK7vfO//wKBwSCwajyTA4FQAFEwAQOPUiEanRoHgFMAsMwYCZnwwlLrjNOI5dHhNggPJgBEEAIYD4dtNRCEPGA5EDYIlAxhmGQQCbBkNBAQkXQBwCEUIkiQMGE8AGAlcGJWUhxgMRXQQJASoGQmjJxAYARldBwi5dV9ErWCxv5VQtLYYuAIYl0cMBAUPWySFiiWwpMCc00SIsKElWo4FApqlGeFvRgfIjhkDkQ4ADpF8wBmfckawDygDB2kHvOQ2gUKyosk6ggiBRLigoKHDhhJ4JVxRwcKCixgvTqAwsaPHjyBDihyp4gVJGCJOA8IIAQA7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAMQbAIGBgfT09Kurq/39/WFhYd/f39zc3Lq6unZ2dmtra5aWlsDAwKCgoMrKyrW1tYuLi+rq6ra2tvv7+8zMzNra2v7+/ru7u+Xl5dXV1VdXV////////wAAAAAAAAAAAAAAACH5BAEAABsALAAAAAA/ACAAAAXuoCaOZGmeaKqa27a+cPy6cm3feK7vfO//wKBwSCwaj8IAZsnEBDSFAkn51DQxSBEmw+1msAAAaYvVeLmEclHJdGQIz/D4K8oomAJCJisKIAhSGnIjZHUCJAx0WQAZCyODWooZhyMPGVVHiQwkkFaSCWEAepRHCxlinKiRZRmgjBmBRwUECZgionOslAUZCLZDAQmAJgqXI266IwIZm0aWd01PDb0NDQoECCOTJAiKAo5Br2dlC3pcvtqkUK11qnwiEE7v80UXFAb4+fgD9C8TEQcCCjxgQUK/FRUGKFy48KDDhxAjSpzIhwZFFS1CAAA7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWANUAAP////39/fr6+vj4+PX19fDw8Ovr6+np6ebm5uTk5N/f39zc3Nra2tfX19XV1dLS0svLy8jIyL6+vre3t7S0tLKysq+vr6ioqKOjo56enpubm5aWlpGRkY+Pj4yMjIeHh4KCgoCAgH19fXZ2dnNzc3FxcW5ubmlpaWdnZ2RkZGJiYl9fX11dXVpaWlVVVVNTU1BQUE5OTktLS0lJSUZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABCABYAAAb/QIBwSCwaj8ikcslsOp/QqLQZmFqvRAHngYxsBEaCw3EYHhwE5IFykZSLZ7RQPK4PBxzaimGEtGgcaXMZL4UvH0IXLw5HEoaFF0MEIo8RAA6PhUMWNC8xKw1EES0xLzQYQ5QfY2yJi0YRh2UKlBRCHC8XDhEZZZgcdYxCBiQzLzIqC0KjpTMhBUIULxlHisJEKCiCAAQoLEIvJEaYkUcGIzKeKAt+pTQgA0Pe20TWRQrTRYSMLyjjuUnOGYOBgtQxENsOHEJij4g0S6IA4gpEBJOICxjfEDmXDgaMYx/iDSHH8FU9kyMBTnrBguKlTNeIFCjx0ZMGMBUBVkPpKubL2XKXKLFQ8HNJgRM1Y3Qwgo9DSZ+ObBFxJKGIIxFFkywwUcrjMQ1ViLDwt9OnQkREcGkcQuJF1iMLUKSLkWLFRxlgTwK91NMIJaJC8GE14u1tkQUr0skgkSCCV7xhubUF5gCXJUUcMGJkpIAFCwkOKHgGnCHDmA/5LGoGyiCxCxkjDAiZ8DjvHEqFWFADoChTOQcoDKEADAC1od2YMglhwEIxCdlDKsjwSKMCnDFQFJAxEqdJgQ4yZjw3UiGGjBN8sKjP4mH8EQsnEKyfP0QAvSIB5NPfz7+/+iAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+ff39/X19fPz8/Hx8e/v7+3t7evr6+np6efn5+bm5uTk5OLi4uDg4N7e3tzc3NjY2NbW1tLS0tDQ0M7OzsrKysjIyMbGxsLCwsDAwLy8vLq6ura2trS0tLOzs7Gxsa+vr62traurq6mpqaenp6WlpaOjo52dnZubm5mZmZGRkY+Pj42NjYuLi4eHh4WFhYODg4GBgYCAgH5+fnp6enh4eHZ2dnR0dHBwcG5ubmxsbGpqamhoaGZmZmRkZGJiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFJSUlBQUE5OTk1NTUtLS0lJSUdHR0VFRUNDQ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFMALAAAAAA/ACAAAAf/gFNTAISFhoeIiYqLjIiDjZCRkpOUlZaXmJmam5ydnp+goaKjpKWmp6igARomF4UCHCIABiAlJrcnDxQoroQKJRsOKSYlIyUnIASeAS5PQxGEAzZFAAxCSUFCQkUXDD1GEADMTRgWSEJGSkNDOAfLLUlMMsoDNUQAC0UzCQz9yhhNYATIwGRFgAENFqh4UmHBggDLXPx4wQQEAAE07i0w8iIRCyUhdvBAYKgElAWhmPlogOOIAwAZ8Q3hUQJFChIFCBG4scRIhUMmoDRIKZHAhCTzYi4IYkSHyBruxM14UiScoaBDVUk8ECBFkxIxhuArIgNBAgUKIAIQoeSEkBtRiQlhJfqDZIEeRYIAwWekBaIIR2oA+PDkxFWhdEkCMLfkBz4iOTpI9vBgAA0kEgAMuJFkQqG5qlrsiJtCSQ98QJpAWS3lhAgnhglRODJabpSsoAgQUCtOt7gDCMwmSFDgQFpDBxYIIFRAwfJU0CkFEBCgunXr0TXxzs69u/fv4MOLdzRekqDykAIBADs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+fj4+Pb29vT09PLy8vDw8O7u7urq6unp6efn5+Xl5ePj4+Hh4d/f393d3dvb29ra2tjY2NbW1tTU1NDQ0M7OzszMzMvLy8nJycfHx8XFxcPDw8HBwb+/v729vby8vLq6uri4uLa2trKysq6urq2traurq6mpqaenp6Ojo6GhoZ+fn56enpycnJqampiYmJSUlJCQkI+Pj42NjYWFhYODg4GBgYCAgHx8fHp6enh4eHZ2dnR0dHJycnFxcW9vb21tbWtra2lpaWVlZWNjY2JiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFNTU1FRUU9PT01NTUtLS0lJSUdHR0JCQkBAQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFkALAAAAAA/ACAAAAf/gACCg4SFhoeIiYqGWVmLj5CRj46SlZaXmJmam5ydnp+goaKjpKWmp6ipmwMYICAfFQSCE64hGQuCBx4fvLwMGhwBgwMbG6IFOVFJyzsQAC1QSkpIRikAEUtOS0xMShc1URKDE0o2xzpCBQclVDYCLUsSAxFBTRQOUjQQFPwBH1MuBqmoguEcEAEAAjDxYYCFkgaCVkT5wGDKikIIiAwpAKCAjyDCQhXQEQRBgRJWbARgsUTEhBBHkkBw8ARHiBEkPCCM8UQDAAtVRIwqgCOKkiVJekwAwAKKkSVPgHQAIGGJkiJGjuAYAGDCFBkAZCRhMDSHEQ8dKMh6tkQDCiojnQRJiDLDAYQIDkLuEALhyAyE534YcpFEgQAfSA5QnWLNEIcpN5IUHKoDCFdCLpQ4ACCCyotrUWhUGG0hgaAEQ6rwCHmMB5HLg2A8cWagR5UND55YucIbiwlBAWBcOVEqwIIGrAUpkLBWQYUFAyRMmD4dwaADFDiq2n6JwIABAsIL+E4gOfdEAgKoX7/+vPv38OPLn0+//iVK9hU1CgQAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAOYAAP////39/fr6+vj4+PX19fPz8/Dw8O7u7uvr6+np6ebm5uTk5OHh4d/f39zc3Nra2tfX19XV1dLS0s3NzcvLy8jIyMbGxsPDw8HBwb6+vry8vLm5ube3t7S0tLKysq+vr62traqqqqioqKWlpZ6enpaWlpSUlJGRkY+Pj4yMjIqKioeHh4WFhYKCgoCAgH19fXt7e3h4eHZ2dnNzc3FxcWxsbGlpaWJiYl9fX1paWlhYWFVVVU5OTktLS0REREFBQT8/Pzw8PDc3NzIyMjAwMC0tLSsrKygoKCYmJiMjIyEhIR4eHhwcHBkZGRcXFxISEg8PDw0NDQoKCggICAUFBf4BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgBVACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjQGGBAgCjoYIEhcRCIMCGywSlYQPKzxAPCsQkAQnPxuhgggwSlS0STAIAQEQHJuECA0EiZ1BtMVCG5AAub4uOR/BhwQkR8W1JNCGEkJQNQeIBCNF1VRHIZSHCM3PiAESPFHVPBTJ6A/YhwciPk1PTD4jBV4VClDgAYgVMlJo8CZwEAELKmSo2MDgwDlHyzht6NEEir8KryCQIMFgEIMa42bcW4TgxZIkKRhK8DHOR69GDHLQqtErAo9xPG4yKlACiA8RAQEcWLGkGJMTFxsdoECBoTIINYQkESKjZMOBDDaE2ADB4tdoFUic4EUvUUZ2FpV2IFkSxIRQQwEokLiQFJ0MJ8V+YHC7AQgTIdcQNdghpdgREckIFMB2QAYUWjYcIEJQ4zKtIBoACJiA4kWIXgVWOJkCxcbdQQE2NmlChAUDXTmcQCFCwlu7HEBydIhaiIAnGCQaBACHpFiOB4ICPMgQYaUhAQgQQAOXhBaU54TahpKQezeJvmdFX2Axg2T6QgIOaHcUCAAh+QQFCgBVACwAAAAAHwAgAAAH/4BVgoOEhAgODgiFi4yMBBYvOzsuFQSNl4sXOU1UVE05FpiiVQguS52dSy+Ko4USCAIQOVOonTkQrYQ7PDEZFDm1VFC3uQyETTsfL6eoTKuDCAG5VUsqVTtOnU86GIQvDACNI4syCBMtPDwsEpakNjYQ4YweQoRKJ5YECAjtgrEQAuQtYjCDUxUnPCwIZASg4SUCFV7w6FFjQ4GF06oUiICBAgQJrwhgnFbgQw4fO0jAGpkRQw8onYSEkDbtURUJAQmYYFYFigyR0xrkOFIDAQACJ3j6BJrrgQ0kMsBVydCzShQhIAKwvHSBBE55H3CgVLn1EgCtAjdikHDAYcZGAJEEBBBQoN9bRgc2oLhpt5G+voU++BBkYwLNRghIyBCBqcagJCUAE/JABAqQDFttDFqCogChgIMCiEhSZUgHlgVOFDnoYwPoCCNGRAANoMGMHi6kMkJw4t2HtoSTKLHhQB4ABK/KBijAYGWVAByICCLC4XBDt2bdAsAQRFAQDNbvCuI98YRR8YvMTTiPftH1VoEAACH5BAUKAFUALAAAAAAeAB8AAAf/gFWCg4SEAAABAIWLjIuICBMXEASKjZaEARAuPkA5IgiXoQAML0qCUD8gBIIEBauWBAxVsgIaP4RNMAwFFCQnIRCNBR81OjUcCCBDhTZVITpFSUI1FQOFtT5QUFU8Gxk9iyM9UFTlTDUOhQcrTYQnECtJgz0fKknl+D4bhggvToNNVFRBQCJHFRgXELhogq+cEBCFCIRYJijIhwBVMA4iUOIevig/NBQCgGCFDyI9TshidGHHE3xJYDQYSQBBBhAYEGhcNCwHkSNCZlB4VeVQq0QBEl0iEOHDCA4rBQEoIGHEiAgCQhEiQHSQgAw6jiDJYUHryAAErAFY165KkxZmmA09KPGhKAIZ2wTViDsIQMuNJIbkJcFXKoINQ+2eMDircKMACB445ntocqNDBQ4oFVX5sQQULjR0ZURSwoKdhhrYaOJEXygCJ4DMiGrIgpBBJUIhqOGkxwTSEHQ4gWKxbyxQXj/YKIF8EYG6OUisnCrCxgsJWxEU0ArhQF8I4JKc2G65bwQeUMSTL1/0wAjr2Nn3LSBr9KJAACH5BAUKAFUALAAAAQAgAB4AAAf/gFWCg4SFVR0ZDIaLjIUEIzpCPy4SjZaFARQ8UFVURioIggCjl1UABAYEowQgRoNQNhACCBMWEKqNAAwgKiOyBB9FhhIrPD42IAgAjAgrQk1ELw0BDzdOVVBCJBUxSYJQPR0EiwATPoNAG6cZNT48JA8cQIRNL6GGABXzgkIeowEIGjAgIAAEEUKwHpBDUCMJlCQ2KokiBSCDD06CkrC4ZyhAhRU5XGQYt4hBi4NVnOzYQBIfQAgIWhoSAOFEDh41fMXEt6yUqAIQLnw44ULFB0WiDAiUWSqAhRpEmCT5geIegxM6coA44FMQAhlMqIilImREFQEdgqTkIaFnKQlAsMaKdVKjCgESR/hpcHtJAhG5VKDgqBLgwo4lSWpA6FoFQo8ocusN4rDiBAWmlgicICJlLg8MgwggOBCAsaAHKXwQEWLjA1fTzIR2kFCAEUXYlgAgiKCg9CUAAnznauDCRw2JuSCgYGkpwIchVYyQ+L3Bx4rXjAJo6NFkEYLahHZREJAbAQgZIzgK+EiCo6ngpU7tHHRgRZIeF4TjdkQCSES++w2iywYVgBcgPsEByEggACH5BAUKAFUALAAAAAAgAB8AAAf/gFWCg4SFhoeIiYMUEASKj4YcNj01HAWQmBE5TlVONhMBmIehVQEaQoM/HAJVBA0TmBAjJBSOARU9UFVQPBcCBxs1PJANMURINhahCCY/Rj4kCAQYOk2dPooYg0QkjgAIGyQZCAAFJkiDSiyKuVVCId5VAAEA9QcnSYNMLwyJJDs9VjQgZYgABx+6oAQZcQkRAgoXGNBD9I0EDyE9UgxUFIAeAEUCEFTwwEECgwIERR2aB04QCQmOBs2bqJIAiB35itSQQIoABRIeyKlskEOXoCQqEAiCUMPIwpiYLBAhBCVHg1IWsDFZoVQUBVSDoNhwIOjBCyA8OkCFxMCGNUFGqFA0FNBAQ4UDH1VuwDHkSJAXEQgGEJAS0gEIFkCUMAECgoC8KgcRkHDCxo4aJCCghBx5aYwiVKg48TGiK6IGFRQRICFkSmjRNiRAQmG60IEWTV6HDuIhkQQdS2o04DwIgYvcuoF0SIRgxAxLnFG2IjFEd5McsCgSkEb85UcIL4g8gdKkR2lF9Tiv3vGBVITKOWqEqK2yQmbICCBEONl5kAACNPUnoCGBAAAh+QQFCgBVACwCAAEAHgAfAAAH/4BVgoOEggABBAMAhYyNjAAFFSMdDAKOl4wBFzlEPycMmI0Ai4MEJUlVUDoUhocBpKIBAqOCBCRIgjkSVYcMFRQIAaIHFx8QllUCEzRBPIYBEjM+PSwQwoUCGzpBLw+kBBAdFoYIKLhVQiMFjAUrS1U+GtePDDVQhAiMBCA9RDW7jgAgWIGqyhAS+Rp9IHGBACYCFmxUARIDYCMC60JVIWCRACyNmAKIJEBgFshLo8B9CFHhAK8ABRA4PMlLQMQhRHiQqBIAwQgWGWjyYvDi3SALBDDsQAID1EkAEnbcq0KFSAioNaqUSAgSAAQbU6cE4bAxQhWnT33+aOKkCIwGQrAJHSLwgIQNGykmzBQKQAADDSJAXKgigWvcABBU+CASZEbDgK9QIiAhZNCRF3AfIeAgYa+BCL8YDIhgwwmhHhgaCcDAQ0UCQQxM8BgSpMaGDFILBc0EAcWgyUKoCF+SY8QMJYQkOppXxYJU4cKRqACBI0mTuByAQBfuJEYVDClqvOhAM0OPKdubsJCJoIFhjRBmMIEuJQiIvXEJZMiRBIqTICtkFlcpFahgwwwjCHhJIAAh+QQFCgBVACwCAAEAHgAfAAAH/4BVgoOEhACHhYmKigIIDQgBi5KLESo1JAgAk5uDJEJNOxaRnJxFUD4Xo1UFDAwEkgAFCq+ELzklmYIIJDY1H5CKBx8tHAWEDBEIAoIBFzxOTDkUy4UAEjlJNRCTBCJHgkActIYMKz0oDJPNPExJNhOqhAIQG9uTAMIyL8WSAdSbAAi0IqCJlMEqiA7eE8jggCoAAQoqRDDChg0TDyIRgGAh10ECH344qSKkxAEADFLYyBCPEwIVTARBseGgCoIQKSS03HTAxLcqTGYgQFgAwTiDASrYIFJkBwhjCqsRsGDiBAePghhoEPFBwoF7AAQIIIDAaCEIK3wMEWLjw1dFAL8QTNjQMWIhBCiIQKFCpUmOC3ARiMgBhMeJBi0v7ODL+MgJSAYWGA24ocdIKEIwESLQAYgUxn1jQLiwIsclCAhK/KzSZEaDQhh4gKaixEUHbFCgDFlBgQQRQjBeE3rwIskUvqdIqEBCyAeIDUChOPmhiAAGG0OWHOlRAoOMJoSKkGDQwcaOHOMVFejN4kSHViyUEBIC4pWECxKGSipqlgAHH3tVoYQNEkgUVVwk6CAEEDVgcFRURFHwwQYNPKhIIAAh+QQFCgBVACwAAAIAIAAeAAAH/4BVgoOEhQEDAYWKi4yCBBIaDYmNlIoAEC87JQiVnYMAFDtHMAyFBwQAnYeTgggkLxwFhCArIAipjQINGgysVQgMsoVJPBuojQckOiDCjR9DVUIjx4wEGSkUBJURNT0yEr6LBQjalY8aEtSL5Z6DAgG4hQUQGh4Xpe2UBBgxPT87KR7kExSgQIF3gijYUEKFCpQiJzi1e0TihAZOrog03NiDQrtLMYok0WGMAQwmGxsO2dAuAAYfgoyYOIBgRZKUVIJkaCkhRxMoQaYR+NADykYnNQS2QyDCxg4VEBI1QAFkiRMkPDo06wQAAYULDdg1CLEixgoSGiIgEPAxALxCBMg4hYChw8YJCWwZCUDQYG0jAhVsJIHiZEiLBtUopKihIhsjBCduDvrRQRuAy6kCQIgxOEmNCOGqdH3RhFAREggQQJDgAJUADTAF+eDAjhACFZIFCREBYYRTGBkK7CtaBYoPDbUHEdjAo3QVzxlE+HDy3EYFAg1WCEkixMWD0KIRgLDRg4eMDRIKDSFxKgIJFyTSNQqAQMKGDBBUz3BehUiJA6kA41clAhSYSEZTFNcDbQOtE4ELP1TBAwkMxNNgIQ18MMIv4BUSCAA7]]></data>
	</file>
	<file>
	  <filename>/templates/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/css/alb_fancybox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGZhbmN5Qm94IHYyLjEuMyBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqLw0KLmZhbmN5Ym94LXdyYXAsDQouZmFuY3lib3gtc2tpbiwNCi5mYW5jeWJveC1vdXRlciwNCi5mYW5jeWJveC1pbm5lciwNCi5mYW5jeWJveC1pbWFnZSwNCi5mYW5jeWJveC13cmFwIGlmcmFtZSwNCi5mYW5jeWJveC13cmFwIG9iamVjdCwNCi5mYW5jeWJveC1uYXYsDQouZmFuY3lib3gtbmF2IHNwYW4sDQouZmFuY3lib3gtdG1wDQp7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQoJYm9yZGVyOiAwOw0KCW91dGxpbmU6IG5vbmU7DQoJdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCg0KLmZhbmN5Ym94LXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl6LWluZGV4OiA4MDIwOw0KfQ0KDQouZmFuY3lib3gtc2tpbiB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6ICNmOWY5Zjk7DQoJY29sb3I6ICM0NDQ7DQoJdGV4dC1zaGFkb3c6IG5vbmU7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7DQoJICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7DQoJICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQp9DQoNCi5mYW5jeWJveC1vcGVuZWQgew0KCXotaW5kZXg6IDgwMzA7DQp9DQoNCi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4gew0KCS13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KCSAgIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KCSAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KfQ0KDQouZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouZmFuY3lib3gtaW5uZXIgew0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5mYW5jeWJveC10eXBlLWlmcmFtZSAuZmFuY3lib3gtaW5uZXIgew0KCS13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCn0NCg0KLmZhbmN5Ym94LWVycm9yIHsNCgljb2xvcjogIzQ0NDsNCglmb250OiAxNHB4LzIwcHggIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMTVweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouZmFuY3lib3gtaW1hZ2UsIC5mYW5jeWJveC1pZnJhbWUgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCn0NCg0KLmZhbmN5Ym94LWltYWdlIHsNCgltYXgtd2lkdGg6IDEwMCU7DQoJbWF4LWhlaWdodDogMTAwJTsNCn0NCg0KI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZmFuY3lib3gvZmFuY3lib3hfc3ByaXRlLnBuZycpOw0KfQ0KDQojZmFuY3lib3gtbG9hZGluZyB7DQoJcG9zaXRpb246IGZpeGVkOw0KCXRvcDogNTAlOw0KCWxlZnQ6IDUwJTsNCgltYXJnaW4tdG9wOiAtMjJweDsNCgltYXJnaW4tbGVmdDogLTIycHg7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4cHg7DQoJb3BhY2l0eTogMC44Ow0KCWN1cnNvcjogcG9pbnRlcjsNCgl6LWluZGV4OiA4MDYwOw0KfQ0KDQojZmFuY3lib3gtbG9hZGluZyBkaXYgew0KCXdpZHRoOiA0NHB4Ow0KCWhlaWdodDogNDRweDsNCgliYWNrZ3JvdW5kOiB1cmwoJ2h0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mYW5jeWJveC9mYW5jeWJveF9sb2FkaW5nLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0Ow0KfQ0KDQouZmFuY3lib3gtY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC0xOHB4Ow0KCXJpZ2h0OiAtMThweDsNCgl3aWR0aDogMzZweDsNCgloZWlnaHQ6IDM2cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDgwNDA7DQp9DQoNCi5mYW5jeWJveC1uYXYgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJd2lkdGg6IDQwJTsNCgloZWlnaHQ6IDEwMCU7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJ2JsYW5rLmdpZicpOyAvKiBoZWxwcyBJRSAqLw0KCS13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTsNCgl6LWluZGV4OiA4MDQwOw0KfQ0KDQouZmFuY3lib3gtcHJldiB7DQoJbGVmdDogMDsNCn0NCg0KLmZhbmN5Ym94LW5leHQgew0KCXJpZ2h0OiAwOw0KfQ0KDQouZmFuY3lib3gtbmF2IHNwYW4gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDUwJTsNCgl3aWR0aDogMzZweDsNCgloZWlnaHQ6IDM0cHg7DQoJbWFyZ2luLXRvcDogLTE4cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDgwNDA7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KDQouZmFuY3lib3gtcHJldiBzcGFuIHsNCglsZWZ0OiAxMHB4Ow0KCWJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2cHg7DQp9DQoNCi5mYW5jeWJveC1uZXh0IHNwYW4gew0KCXJpZ2h0OiAxMHB4Ow0KCWJhY2tncm91bmQtcG9zaXRpb246IDAgLTcycHg7DQp9DQoNCi5mYW5jeWJveC1uYXY6aG92ZXIgc3BhbiB7DQoJdmlzaWJpbGl0eTogdmlzaWJsZTsNCn0NCg0KLmZhbmN5Ym94LXRtcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogLTk5OTk5cHg7DQoJbGVmdDogLTk5OTk5cHg7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KCW1heC13aWR0aDogOTk5OTlweDsNCgltYXgtaGVpZ2h0OiA5OTk5OXB4Ow0KCW92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQp9DQoNCi8qIE92ZXJsYXkgaGVscGVyICovDQoNCi5mYW5jeWJveC1sb2NrIHsNCglvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQouZmFuY3lib3gtb3ZlcmxheSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJZGlzcGxheTogbm9uZTsNCgl6LWluZGV4OiA4MDEwOw0KCWJhY2tncm91bmQ6IHVybCgnaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2ZhbmN5Ym94L2ZhbmN5Ym94X292ZXJsYXkucG5nJyk7DQp9DQoNCi5mYW5jeWJveC1vdmVybGF5LWZpeGVkIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJYm90dG9tOiAwOw0KCXJpZ2h0OiAwOw0KfQ0KDQouZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7DQoJb3ZlcmZsb3c6IGF1dG87DQoJb3ZlcmZsb3cteTogc2Nyb2xsOw0KfQ0KDQovKiBUaXRsZSBoZWxwZXIgKi8NCg0KLmZhbmN5Ym94LXRpdGxlIHsNCgl2aXNpYmlsaXR5OiBoaWRkZW47DQoJZm9udDogbm9ybWFsIDEzcHgvMjBweCAiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0ZXh0LXNoYWRvdzogbm9uZTsNCgl6LWluZGV4OiA4MDUwOw0KfQ0KDQouZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC10aXRsZSB7DQoJdmlzaWJpbGl0eTogdmlzaWJsZTsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglib3R0b206IDA7DQoJcmlnaHQ6IDUwJTsNCgltYXJnaW4tYm90dG9tOiAtMzVweDsNCgl6LWluZGV4OiA4MDUwOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAgLmNoaWxkIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJbWFyZ2luLXJpZ2h0OiAtMTAwJTsNCglwYWRkaW5nOiAycHggMjBweDsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogRmFsbGJhY2sgZm9yIHdlYiBicm93c2VycyB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBSR0JhICovDQoJYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOw0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czogMTVweDsNCgkgICAtbW96LWJvcmRlci1yYWRpdXM6IDE1cHg7DQoJICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4Ow0KCXRleHQtc2hhZG93OiAwIDFweCAycHggIzIyMjsNCgljb2xvcjogI0ZGRjsNCglmb250LXdlaWdodDogYm9sZDsNCglsaW5lLWhlaWdodDogMjRweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtb3V0c2lkZS13cmFwIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJbWFyZ2luLXRvcDogMTBweDsNCgljb2xvcjogI2ZmZjsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLWluc2lkZS13cmFwIHsNCglwYWRkaW5nLXRvcDogMTBweDsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLW92ZXItd3JhcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCWNvbG9yOiAjZmZmOw0KCXBhZGRpbmc6IDEwcHg7DQoJYmFja2dyb3VuZDogIzAwMDsNCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC44KTsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB7DQoJcG9zaXRpb246IGZpeGVkOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl6LWluZGV4OiA4MDUwOw0KfQ0KDQojZmFuY3lib3gtdGh1bWJzLmJvdHRvbSB7DQoJYm90dG9tOiAycHg7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMudG9wIHsNCgl0b3A6IDJweDsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkgew0KCWZsb2F0OiBsZWZ0Ow0KCXBhZGRpbmc6IDFweDsNCglvcGFjaXR5OiAwLjU7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkuYWN0aXZlIHsNCglvcGFjaXR5OiAwLjc1Ow0KCXBhZGRpbmc6IDA7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaTpob3ZlciB7DQoJb3BhY2l0eTogMTsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaSBhIHsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglib3JkZXI6IDFweCBzb2xpZCAjMjIyOw0KCWJhY2tncm91bmQ6ICMxMTE7DQoJb3V0bGluZTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaSBpbWcgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglib3JkZXI6IDA7DQoJcGFkZGluZzogMDs=]]></data>
	</file>
	<file>
	  <filename>/templates/css/alb_fancybox_mobile.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogbW9iaWxlIHRoZW1lICovDQovKiEgZmFuY3lCb3ggdjIuMS4zIGZhbmN5YXBwcy5jb20gfCBmYW5jeWFwcHMuY29tL2ZhbmN5Ym94LyNsaWNlbnNlICovDQouZmFuY3lib3gtd3JhcCwNCi5mYW5jeWJveC1za2luLA0KLmZhbmN5Ym94LW91dGVyLA0KLmZhbmN5Ym94LWlubmVyLA0KLmZhbmN5Ym94LWltYWdlLA0KLmZhbmN5Ym94LXdyYXAgaWZyYW1lLA0KLmZhbmN5Ym94LXdyYXAgb2JqZWN0LA0KLmZhbmN5Ym94LW5hdiwNCi5mYW5jeWJveC1uYXYgc3BhbiwNCi5mYW5jeWJveC10bXANCnsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJb3V0bGluZTogbm9uZTsNCgl2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KfQ0KDQouZmFuY3lib3gtd3JhcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXotaW5kZXg6IDgwMjA7DQp9DQoNCi5mYW5jeWJveC1za2luIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZDogI2Y5ZjlmOTsNCgljb2xvcjogIzQ0NDsNCgl0ZXh0LXNoYWRvdzogbm9uZTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsNCgkgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsNCgkgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCn0NCg0KLmZhbmN5Ym94LW9wZW5lZCB7DQoJei1pbmRleDogODAzMDsNCn0NCg0KLmZhbmN5Ym94LW9wZW5lZCAuZmFuY3lib3gtc2tpbiB7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQoJICAgLW1vei1ib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQoJICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQp9DQoNCi5mYW5jeWJveC1vdXRlciwgLmZhbmN5Ym94LWlubmVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5mYW5jeWJveC1pbm5lciB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmZhbmN5Ym94LXR5cGUtaWZyYW1lIC5mYW5jeWJveC1pbm5lciB7DQoJLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KfQ0KDQouZmFuY3lib3gtZXJyb3Igew0KCWNvbG9yOiAjNDQ0Ow0KCWZvbnQ6IDE0cHgvMjBweCAiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOw0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAxNXB4Ow0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5mYW5jeWJveC1pbWFnZSwgLmZhbmN5Ym94LWlmcmFtZSB7DQoJZGlzcGxheTogYmxvY2s7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KDQouZmFuY3lib3gtaW1hZ2Ugew0KCW1heC13aWR0aDogMTAwJTsNCgltYXgtaGVpZ2h0OiAxMDAlOw0KfQ0KDQojZmFuY3lib3gtbG9hZGluZywgLmZhbmN5Ym94LWNsb3NlLCAuZmFuY3lib3gtcHJldiBzcGFuLCAuZmFuY3lib3gtbmV4dCBzcGFuIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mYW5jeWJveC9mYW5jeWJveF9zcHJpdGUucG5nJyk7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi10b3A6IC0yMnB4Ow0KCW1hcmdpbi1sZWZ0OiAtMjJweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDhweDsNCglvcGFjaXR5OiAwLjg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDgwNjA7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nIGRpdiB7DQoJd2lkdGg6IDQ0cHg7DQoJaGVpZ2h0OiA0NHB4Ow0KCWJhY2tncm91bmQ6IHVybCgnaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2ZhbmN5Ym94L2ZhbmN5Ym94X2xvYWRpbmcuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQp9DQoNCi5mYW5jeWJveC1jbG9zZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogLTE4cHg7DQoJcmlnaHQ6IC0xOHB4Ow0KCXdpZHRoOiAzNnB4Ow0KCWhlaWdodDogMzZweDsNCgljdXJzb3I6IHBvaW50ZXI7DQoJei1pbmRleDogODA0MDsNCn0NCg0KLmZhbmN5Ym94LW5hdiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCgl3aWR0aDogMCU7DQoJaGVpZ2h0OiAxMDAlOw0KCWN1cnNvcjogcG9pbnRlcjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdibGFuay5naWYnKTsgLyogaGVscHMgSUUgKi8NCgktd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7DQoJei1pbmRleDogODA0MDsNCn0NCg0KLmZhbmN5Ym94LXByZXYgew0KCWxlZnQ6IDA7DQp9DQoNCi5mYW5jeWJveC1uZXh0IHsNCglyaWdodDogMDsNCn0NCg0KLmZhbmN5Ym94LW5hdiBzcGFuIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJd2lkdGg6IDM2cHg7DQoJaGVpZ2h0OiAzNHB4Ow0KCW1hcmdpbi10b3A6IC0xOHB4Ow0KCWN1cnNvcjogcG9pbnRlcjsNCgl6LWluZGV4OiA4MDQwOw0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCn0NCg0KLmZhbmN5Ym94LXByZXYgc3BhbiB7DQoJbGVmdDogMTBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4Ow0KfQ0KDQouZmFuY3lib3gtbmV4dCBzcGFuIHsNCglyaWdodDogMTBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MnB4Ow0KfQ0KDQouZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4gew0KCXZpc2liaWxpdHk6IHZpc2libGU7DQp9DQoNCi5mYW5jeWJveC10bXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC05OTk5OXB4Ow0KCWxlZnQ6IC05OTk5OXB4Ow0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCgltYXgtd2lkdGg6IDk5OTk5cHg7DQoJbWF4LWhlaWdodDogOTk5OTlweDsNCglvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50Ow0KfQ0KDQovKiBPdmVybGF5IGhlbHBlciAqLw0KDQouZmFuY3lib3gtbG9jayB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmZhbmN5Ym94LW92ZXJsYXkgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWRpc3BsYXk6IG5vbmU7DQoJei1pbmRleDogODAxMDsNCgliYWNrZ3JvdW5kOiB1cmwoJ2h0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mYW5jeWJveC9mYW5jeWJveF9vdmVybGF5LnBuZycpOw0KfQ0KDQouZmFuY3lib3gtb3ZlcmxheS1maXhlZCB7DQoJcG9zaXRpb246IGZpeGVkOw0KCWJvdHRvbTogMDsNCglyaWdodDogMDsNCn0NCg0KLmZhbmN5Ym94LWxvY2sgLmZhbmN5Ym94LW92ZXJsYXkgew0KCW92ZXJmbG93OiBhdXRvOw0KCW92ZXJmbG93LXk6IHNjcm9sbDsNCn0NCg0KLyogVGl0bGUgaGVscGVyICovDQoNCi5mYW5jeWJveC10aXRsZSB7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KCWZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1zaGFkb3c6IG5vbmU7DQoJei1pbmRleDogODA1MDsNCn0NCg0KLmZhbmN5Ym94LW9wZW5lZCAuZmFuY3lib3gtdGl0bGUgew0KCXZpc2liaWxpdHk6IHZpc2libGU7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwOw0KCXJpZ2h0OiA1MCU7DQoJbWFyZ2luLWJvdHRvbTogLTM1cHg7DQoJei1pbmRleDogODA1MDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIC5jaGlsZCB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCW1hcmdpbi1yaWdodDogLTEwMCU7DQoJcGFkZGluZzogMnB4IDIwcHg7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIEZhbGxiYWNrIGZvciB3ZWIgYnJvd3NlcnMgdGhhdCBkb2Vzbid0IHN1cHBvcnQgUkdCYSAqLw0KCWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7DQoJICAgLW1vei1ib3JkZXItcmFkaXVzOiAxNXB4Ow0KCSAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsNCgl0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7DQoJY29sb3I6ICNGRkY7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJbGluZS1oZWlnaHQ6IDI0cHg7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUtd3JhcCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW1hcmdpbi10b3A6IDEwcHg7DQoJY29sb3I6ICNmZmY7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1pbnNpZGUtd3JhcCB7DQoJcGFkZGluZy10b3A6IDEwcHg7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1vdmVyLXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCgljb2xvcjogI2ZmZjsNCglwYWRkaW5nOiAxMHB4Ow0KCWJhY2tncm91bmQ6ICMwMDA7DQoJYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgew0KCXBvc2l0aW9uOiBmaXhlZDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAxMDAlOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJei1pbmRleDogODA1MDsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icy5ib3R0b20gew0KCWJvdHRvbTogMnB4Ow0KfQ0KDQojZmFuY3lib3gtdGh1bWJzLnRvcCB7DQoJdG9wOiAycHg7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglsaXN0LXN0eWxlOiBub25lOw0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KDQojZmFuY3lib3gtdGh1bWJzIHVsIGxpIHsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAxcHg7DQoJb3BhY2l0eTogMC41Ow0KfQ0KDQojZmFuY3lib3gtdGh1bWJzIHVsIGxpLmFjdGl2ZSB7DQoJb3BhY2l0eTogMC43NTsNCglwYWRkaW5nOiAwOw0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmY7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGk6aG92ZXIgew0KCW9wYWNpdHk6IDE7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJYm9yZGVyOiAxcHggc29saWQgIzIyMjsNCgliYWNrZ3JvdW5kOiAjMTExOw0KCW91dGxpbmU6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkgaW1nIHsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYm9yZGVyOiAwOw0KCXBhZGRpbmc6IDA7]]></data>
	</file>
	<file>
	  <filename>/templates/css/alb_foobox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LmZvb2JveC1tb2RhbCB7DQogICAgei1pbmRleDogMTAwMDAwOw0KfQ0KLmZvb2JveC1pbWctbmV4dCB7DQogICAgei1pbmRleDogMTAwMDAxOw0KfQ0KLmZvb2JveC1pbWctY3VycmVudCB7DQogICAgei1pbmRleDogMTAwMDAyOw0KICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOw0KfQ0KLmZvb2JveC1jYXB0aW9uLCAuZm9vYm94LWNvdW50IHsNCiAgICB6LWluZGV4OiAxMDAwMDM7DQp9DQouZm9vYm94LXByZXYsIC5mb29ib3gtbmV4dCwgLmZvb2JveC1jbG9zZSwgLmZvb2JveC1jcmVkaXQsIC5mb29ib3gtbG9hZGVyLCAuZm9vYm94LXRpdGxlIHsNCiAgICB6LWluZGV4OiAxMDAwMDQ7DQp9DQouZm9vYm94LW1vZGFsIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQouZm9vYm94LW1vZGFsLmZvb2JveC1zaG93IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5mb29ib3gtaW5uZXItc3BhY2VyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIHBhZGRpbmc6IDQwcHg7DQp9DQouZm9vYm94LWlubmVyIHsNCiAgICBtaW4td2lkdGg6IDEwMHB4Ow0KICAgIG1pbi1oZWlnaHQ6IDEwMHB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDUwJTsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLXRvcDogLTUwcHg7DQogICAgbWFyZ2luLWxlZnQ6IC01MHB4Ow0KICAgIG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDsNCn0NCi5mb29ib3gtaW5uZXItc3BhY2VyLCAuZm9vYm94LWlubmVyLCAuZm9vYm94LWlubmVyPiogew0KICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3ghaW1wb3J0YW50Ow0KICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3ghaW1wb3J0YW50Ow0KICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94IWltcG9ydGFudDsNCn0NCi5mb29ib3gtaW5uZXIuZm9vYm94LWltZy1lcnJvciAuZm9vYm94LWNvdW50IHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KLmZvb2JveC1pbWctY3VycmVudCwgLmZvb2JveC1pbWctbmV4dCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBib3JkZXI6IG5vbmU7DQogICAgb3V0bGluZTogbm9uZTsNCn0NCi5mb29ib3gtY3JlZGl0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAtMjVweDsNCn0NCi5mb29ib3gtY3JlZGl0IGVtIHsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQp9DQouZm9vYm94LWNvdW50IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAtMjVweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouZm9vYm94LWNhcHRpb24gew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IGF1dG87DQogICAgcmlnaHQ6IGF1dG87DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouZm9vYm94LXByZXYsIC5mb29ib3gtbmV4dCB7DQogICAgd2lkdGg6IDQwcHg7DQogICAgaGVpZ2h0OiAxMDBweDsNCiAgICBtYXJnaW4tdG9wOiAtNTBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA1MCU7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG91dGxpbmU6IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KLmZvb2JveC1tb2RhbD4uZm9vYm94LXByZXYgew0KICAgIGxlZnQ6IDA7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCi5mb29ib3gtbW9kYWw+LmZvb2JveC1uZXh0IHsNCiAgICByaWdodDogMDsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KLmZvb2JveC1pbm5lcj4uZm9vYm94LXByZXYgew0KICAgIGxlZnQ6IC00OHB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwIDJweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggMCAycHggcmdiYSgwLCAwLCAwLCAuOCk7DQogICAgYm94LXNoYWRvdzogLTFweCAwIDJ4IHJnYmEoMCwgMCwgMCwgLjgpOw0KfQ0KLmZvb2JveC1pbm5lcj4uZm9vYm94LW5leHQgew0KICAgIHJpZ2h0OiAtNDhweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAwIDJweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICAtbW96LWJveC1zaGFkb3c6IDFweCAwIDJweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICBib3gtc2hhZG93OiAxcHggMCAycHggcmdiYSgwLCAwLCAwLCAuOCk7DQp9DQouZm9vYm94LWNsb3NlIHsNCiAgICB3aWR0aDogMjhweDsNCiAgICBoZWlnaHQ6IDI4cHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogLTIxcHg7DQogICAgcmlnaHQ6IC0yMXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3V0bGluZTogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQouZm9vYm94LWxvYWRlciB7DQogICAgd2lkdGg6IDgwcHg7DQogICAgaGVpZ2h0OiA4MHB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDUwJTsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC00MHB4Ow0KICAgIG1hcmdpbi10b3A6IC00MHB4Ow0KfQ0KLmZvb2JveC1jbG9zZSwgLmZvb2JveC1pbm5lciwgLmZvb2JveC1sb2FkZXIgew0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAuOCk7DQogICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIC44KTsNCn0NCi5mb29ib3gtbW9kYWwgew0KICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZm9vYm94L2JnLnBuZykgcmVwZWF0IHRvcCBsZWZ0Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpIG5vbmU7DQp9DQouZm9vYm94LWlubmVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlcjogc29saWQgOHB4ICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCn0NCi5mb29ib3gtaW1nLWN1cnJlbnQsIC5mb29ib3gtaW1nLW5leHQgew0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCn0NCi5mb29ib3gtY3JlZGl0IHsNCiAgICBmb250LWZhbWlseTogYXJpYWw7DQogICAgZm9udC1zaXplOiA4cHg7DQogICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsNCn0NCi5mb29ib3gtY3JlZGl0IGEgew0KICAgIGNvbG9yOiAjODg4IWltcG9ydGFudDsNCiAgICBmb250LXNpemU6IDlweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1zaGFkb3c6ICMxNjE2MTYgMXB4IDFweCAwOw0KfQ0KLmZvb2JveC1jcmVkaXQgYTpob3ZlciBzcGFuIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCi5mb29ib3gtY3JlZGl0IGEgc3BhbiB7DQogICAgY29sb3I6ICNkZGQhaW1wb3J0YW50Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQp9DQouZm9vYm94LWNvdW50IHsNCiAgICBjb2xvcjogIzg4ODsNCiAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAxMHB4Ow0KICAgIHRleHQtc2hhZG93OiAjMTYxNjE2IDFweCAxcHggMDsNCn0NCi5mb29ib3gtY2FwdGlvbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2Zvb2JveC9iZy5wbmcpIHJlcGVhdCB0b3AgbGVmdDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KSBub25lOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7DQp9DQouZm9vYm94LWNhcHRpb24tdGl0bGUgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCi5mb29ib3gtY2FwdGlvbi1kZXNjIHsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgY29sb3I6ICNlZWU7DQp9DQouZm9vYm94LWNhcHRpb24tdGl0bGUrLmZvb2JveC1jYXB0aW9uLWRlc2Mgew0KICAgIHBhZGRpbmc6IDAgNXB4IDVweCA1cHg7DQp9DQouZm9vYm94LWNhcHRpb24tZGVzYyBhIHsNCiAgICBjb2xvcjogI2RkZDsNCn0NCi5mb29ib3gtdGl0bGUgew0KICAgIHRleHQtc2hhZG93OiAjMTYxNjE2IDFweCAxcHggMDsNCn0NCi5mb29ib3gtY2xvc2Ugew0KICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKGh0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mb29ib3gvY2xvc2UucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCiAgICBib3JkZXI6IHNvbGlkIDNweCAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBjb2xvcjogI2ZmZjsNCn0NCi5mb29ib3gtcHJldiB7DQogICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2Zvb2JveC9wcmV2LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4Ow0KfQ0KLmZvb2JveC1uZXh0IHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZm9vYm94L25leHQucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDsNCn0NCi5mb29ib3gtY2xvc2U6aG92ZXIgew0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICAtbW96LWJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAuOCk7DQogICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC44KTsNCn0NCi5mb29ib3gtbG9hZGVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZm9vYm94L2xvYWRlci5naWYpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOw0KICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7DQp9DQouZm9vYm94LXNlbGVjdGVkIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1IWltcG9ydGFudDsNCn0NCg0KLmZvb2JveC1jbG9zZSwgLmZvb2JveC1pbmZvIHsNCiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7DQogIC1tb3otYm94LXNoYWRvdzogICAgMHB4IDBweCA4cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOw0KICBib3gtc2hhZG93OiAgICAgICAgIDBweCAwcHggOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsNCn0NCg0KLmZvb2JveC1jbG9zZSAsIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBsYXksIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBhdXNlew0KICBib3JkZXI6IHNvbGlkIDNweCAjMDAwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KfQ0KDQouZm9vYm94LXByZXYgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KfQ0KLmZvb2JveC1uZXh0IHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCn0NCg0KLmZvb2JveC1pbm5lciB7DQogIGJvcmRlci1jb2xvcjogIzAwMDsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7DQogIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsNCn0NCg0KLmZvb2JveC1sb2FkZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICBiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZm9vYm94L2xvYWRlci5naWYpOw0KICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsNCiAgLW1vei1ib3gtc2hhZG93OiAgICAwcHggMHB4IDhweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7DQogIGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCA4cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOw0KfQ0KDQouZm9vYm94LWlubmVyID4gLmZvb2JveC1wcmV2IHsgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyAtbW96LWJveC1zaGFkb3c6IC0xcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IGJveC1zaGFkb3c6IC0xcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH0NCi5mb29ib3gtaW5uZXIgPiAuZm9vYm94LW5leHQgeyAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgLW1vei1ib3gtc2hhZG93OiAxcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IGJveC1zaGFkb3c6IDFweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfQ0KDQouZm9vYm94LWNsb3NlLCAuZm9vYm94LWlubmVyLCAuZm9vYm94LWxvYWRlciB7IC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyBib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9DQoNCi5mb29ib3gtcGxheSwgLmZvb2JveC1wYXVzZSB7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH0NCi5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBsYXksIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBhdXNlIHsgYm9yZGVyOiBzb2xpZCAzcHggIzAwMDsgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IGJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH0NCi5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBsYXk6aG92ZXIsIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBhdXNlOmhvdmVyIHsgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IGJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH0NCg0KDQoNCg0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOjMyMHB4KSBhbmQgKG9yaWVudGF0aW9uIDpwb3J0cmFpdCkgew0KICAgIC5mb29ib3gtaW5uZXItc3BhY2VyIHsNCiAgICBwYWRkaW5nOiAxNXB4IDVweCAzNXB4IDVweDsNCgl9DQoJLmZvb2JveC1jb3VudCB7DQoJICAgIGRpc3BsYXk6IG5vbmU7DQoJfQ0KCS5mb29ib3gtcHJldiwgLmZvb2JveC1uZXh0IHsNCgkgICAgaGVpZ2h0OiA0MHB4Ow0KCSAgICB3aWR0aDogYXV0bzsNCgkgICAgdG9wOiBhdXRvOw0KCSAgICBib3R0b206IDA7DQoJICAgIG1hcmdpbi10b3A6IGF1dG87DQoJfQ0KCS5mb29ib3gtcHJldiB7DQoJICAgIGxlZnQ6IDA7DQoJICAgIHJpZ2h0OiA1MCU7DQoJfQ0KCS5mb29ib3gtbmV4dCB7DQoJICAgIGxlZnQ6IDUwJTsNCgkgICAgcmlnaHQ6IDA7DQoJfQ0KCS5mb29ib3gtY2xvc2Ugew0KCSAgICB0b3A6IDRweDsNCgkgICAgcmlnaHQ6IDRweDsNCgl9DQoJLmZvb2JveC1jcmVkaXQgew0KCSAgICBib3R0b206IDJweDsNCgkgICAgbGVmdDogMnB4Ow0KCX0NCgkuZm9vYm94LWNyZWRpdCBlbSB7DQoJICAgIGRpc3BsYXk6IG5vbmU7DQoJfQ0KCS5mb29ib3gtY2FwdGlvbiB7DQoJICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KCSAgICBoZWlnaHQ6IDIwcHg7DQoJfQ0KCS5mb29ib3gtY2FwdGlvbi10aXRsZSB7DQoJICAgIGZvbnQtc2l6ZTogMTNweDsNCgl9DQoJLmZvb2JveC1jYXB0aW9uLWRlc2Mgew0KCSAgICBmb250LXNpemU6IDExcHg7DQoJICAgIGxpbmUtaGVpZ2h0OiAxNXB4Ow0KCX0NCgkuZm9vYm94LWNhcHRpb24tdGl0bGUgKyAuZm9vYm94LWNhcHRpb24tZGVzYyB7DQoJICAgIHBhZGRpbmc6IDAgM3B4IDNweCAzcHg7DQoJfQ0KCS5mb29ib3gtbW9kYWwgPiAuZm9vYm94LXByZXYsIC5mb29ib3gtbW9kYWwgPiAuZm9vYm94LW5leHQgew0KCSAgICBkaXNwbGF5OiBibG9jazsNCgl9DQoJLmZvb2JveC1pbm5lciA+IC5mb29ib3gtcHJldiwgLmZvb2JveC1pbm5lciA+IC5mb29ib3gtbmV4dCB7DQoJICAgIGRpc3BsYXk6IG5vbmU7DQoJfQ0KfQ0KDQoNCg0KDQoNCg0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpIGFuZCAob3JpZW50YXRpb24gOmxhbmRzY2FwZSkgew0KICAgIC5mb29ib3gtaW5uZXItc3BhY2VyIHsNCiAgICBwYWRkaW5nOiA1cHg7DQoJCX0NCgkJLmZvb2JveC1jb3VudCB7DQoJCSAgICBkaXNwbGF5OiBub25lOw0KCQl9DQoJCS5mb29ib3gtcHJldiwgLmZvb2JveC1uZXh0IHsNCgkJICAgIGhlaWdodDogODBweDsNCgkJICAgIHdpZHRoOiAzNHB4Ow0KCQkgICAgdG9wOiA1MCU7DQoJCSAgICBib3R0b206IGF1dG87DQoJCSAgICBtYXJnaW4tdG9wOiAtNDBweDsNCgkJfQ0KCQkuZm9vYm94LWNsb3NlIHsNCgkJICAgIHRvcDogNHB4Ow0KCQkgICAgcmlnaHQ6IDRweDsNCgkJfQ0KCQkuZm9vYm94LWNyZWRpdCB7DQoJCSAgICBib3R0b206IDJweDsNCgkJICAgIGxlZnQ6IDJweDsNCgkJfQ0KCQkuZm9vYm94LWNyZWRpdCBlbSB7DQoJCSAgICBkaXNwbGF5OiBub25lOw0KCQl9DQoJCS5mb29ib3gtY2FwdGlvbiB7DQoJCSAgICBsaW5lLWhlaWdodDogMjBweDsNCgkJICAgIGhlaWdodDogMjBweDsNCgkJfQ0KCQkuZm9vYm94LWNhcHRpb24tdGl0bGUgew0KCQkgICAgZm9udC1zaXplOiAxM3B4Ow0KCQl9DQoJCS5mb29ib3gtY2FwdGlvbi1kZXNjIHsNCgkJICAgIGZvbnQtc2l6ZTogMTFweDsNCgkJICAgIGxpbmUtaGVpZ2h0OiAxNXB4Ow0KCQl9DQoJCS5mb29ib3gtY2FwdGlvbi10aXRsZSArIC5mb29ib3gtY2FwdGlvbi1kZXNjIHsNCgkJICAgIHBhZGRpbmc6IDAgM3B4IDNweCAzcHg7DQoJCX0NCgkJLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtcHJldiwgLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtbmV4dCB7DQoJCSAgICBkaXNwbGF5OiBibG9jazsNCgkJfQ0KCQkuZm9vYm94LWlubmVyID4gLmZvb2JveC1wcmV2LCAuZm9vYm94LWlubmVyID4gLmZvb2JveC1uZXh0IHsNCgkJICAgIGRpc3BsYXk6IG5vbmU7DQoJCX0NCgkJLmZvb2JveC1wcmV2IHsNCgkJICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7DQoJCX0NCgkJLmZvb2JveC1uZXh0IHsNCgkJICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7DQoJCX0NCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6MzIxcHgpIGFuZCAobWF4LXdpZHRoIDo3NjhweCkgYW5kIChvcmllbnRhdGlvbiA6cG9ydHJhaXQpIHsNCiAgICAuZm9vYm94LXByZXYsIC5mb29ib3gtbmV4dCB7DQoJCSAgICB3aWR0aDogNDBweDsNCgkJICAgIGhlaWdodDogMTAwcHg7DQoJCSAgICB0b3A6IDUwJTsNCgkJICAgIGJvdHRvbTogYXV0bzsNCgkJICAgIG1hcmdpbi10b3A6IC01MHB4Ow0KCQl9DQoJCS5mb29ib3gtY2xvc2Ugew0KCQkgICAgdG9wOiAtMTlweDsNCgkJICAgIHJpZ2h0OiAtMjBweDsNCgkJfQ0KCQkuZm9vYm94LW1vZGFsID4gLmZvb2JveC1wcmV2LCAuZm9vYm94LW1vZGFsID4gLmZvb2JveC1uZXh0IHsNCgkJICAgIGRpc3BsYXk6IGJsb2NrOw0KCQl9DQoJCS5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXByZXYsIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LW5leHQgew0KCQkgICAgZGlzcGxheTogbm9uZTsNCgkJfQ0KCQkuZm9vYm94LXByZXYgew0KCQkgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDsNCgkJfQ0KCQkuZm9vYm94LW5leHQgew0KCQkgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDsNCgkJfQ0KCQl9DQoJCUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6NDgxcHgpIGFuZCAobWF4LXdpZHRoIDoxMDI0cHgpIGFuZCAob3JpZW50YXRpb24gOmxhbmRzY2FwZSkgew0KCQkgICAgLmZvb2JveC1wcmV2LCAuZm9vYm94LW5leHQgew0KCQkgICAgd2lkdGg6IDQwcHg7DQoJCSAgICBoZWlnaHQ6IDEwMHB4Ow0KCQkgICAgdG9wOiA1MCU7DQoJCSAgICBib3R0b206IGF1dG87DQoJCSAgICBtYXJnaW4tdG9wOiAtNTBweDsNCgkJfQ0KCQkuZm9vYm94LWNsb3NlIHsNCgkJICAgIHRvcDogLTE5cHg7DQoJCSAgICByaWdodDogLTIwcHg7DQoJCX0NCgkJLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtcHJldiwgLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtbmV4dCB7DQoJCSAgICBkaXNwbGF5OiBibG9jazsNCgkJfQ0KCQkuZm9vYm94LWlubmVyID4gLmZvb2JveC1wcmV2LCAuZm9vYm94LWlubmVyID4gLmZvb2JveC1uZXh0IHsNCgkJICAgIGRpc3BsYXk6IG5vbmU7DQoJCX0NCgkJLmZvb2JveC1wcmV2IHsNCgkJICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7DQoJCX0NCgkJLmZvb2JveC1uZXh0IHsNCgkJICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7DQoJCX0NCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6MzIwcHgpIGFuZCAob3JpZW50YXRpb24gOnBvcnRyYWl0KSB7DQogICAgLmZvb2JveC1pbm5lciB7DQoJCSAgICBib3JkZXI6IHNvbGlkIDRweCAjZmZmOw0KCQkgICAgYm9yZGVyLXJhZGl1czogNXB4Ow0KCQl9DQoJCS5mb29ib3gtY2FwdGlvbiB7DQoJCSAgICBmb250LXNpemU6IDEycHg7DQoJCX0NCgkJLmZvb2JveC1wcmV2LCAuZm9vYm94LW5leHQgew0KCQkgICAgYm9yZGVyLXJhZGl1czogMDsNCgkJICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCgkJICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTsNCgkJICAgIGJveC1zaGFkb3c6IG5vbmU7DQoJCX0NCgkJLmZvb2JveC1jbG9zZSB7DQoJCSAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGOw0KCQkgICAgb3BhY2l0eTogLjU7DQoJCX0NCgkJLmZvb2JveC1jbG9zZTpob3ZlciB7DQoJCSAgICBvcGFjaXR5OiAxOw0KCQl9DQoJCS5mb29ib3gtY3JlZGl0IHsNCgkJICAgIG9wYWNpdHk6IC41Ow0KCQl9DQoJCS5mb29ib3gtY3JlZGl0OmhvdmVyIHsNCgkJICAgIG9wYWNpdHk6IDE7DQoJCX0NCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKSB7DQoJCSAgICAuZm9vYm94LWlubmVyIHsNCgkJICAgIGJvcmRlcjogc29saWQgNHB4ICNmZmY7DQoJCSAgICBib3JkZXItcmFkaXVzOiA1cHg7DQoJCX0NCgkJLmZvb2JveC1jYXB0aW9uIHsNCgkJICAgIGZvbnQtc2l6ZTogMTJweDsNCgkJfQ0KCQkuZm9vYm94LWNsb3NlIHsNCgkJICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7DQoJCSAgICBvcGFjaXR5OiAuNTsNCgkJfQ0KCQkuZm9vYm94LWNsb3NlOmhvdmVyIHsNCgkJICAgIG9wYWNpdHk6IDE7DQoJCX0NCgkJLmZvb2JveC1jcmVkaXQgew0KCQkgICAgb3BhY2l0eTogLjU7DQoJCX0NCgkJLmZvb2JveC1jcmVkaXQ6aG92ZXIgew0KCQkgICAgb3BhY2l0eTogMTsNCgkJfQ0KfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDozMjFweCkgYW5kIChtYXgtd2lkdGggOjc2OHB4KSBhbmQgKG9yaWVudGF0aW9uIDpwb3J0cmFpdCkgew0KICAgIC5mb29ib3gtaW5uZXItc3BhY2VyIHsNCgkJICAgIHBhZGRpbmc6IDMwcHg7DQoJCX0NCgkJLmZvb2JveC1pbm5lciB7DQoJCSAgICBib3JkZXI6IHNvbGlkIDZweCAjZmZmOw0KCQl9DQp9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOjQ4MXB4KSBhbmQgKG1heC13aWR0aCA6MTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDpsYW5kc2NhcGUpIHsNCgkJICAgIC5mb29ib3gtaW5uZXItc3BhY2VyIHsNCgkJICAgIHBhZGRpbmc6IDMwcHg7DQoJCX0NCgkJLmZvb2JveC1pbm5lciB7DQoJCSAgICBib3JkZXI6IHNvbGlkIDZweCAjZmZmOw0KCQl9DQp9DQouZm9vYm94LXByb2dyZXNzIHsNCiAgICB6LWluZGV4OiAxMDAwMDQ7DQp9DQouZm9vYm94LXBsYXksIC5mb29ib3gtcGF1c2Ugew0KICAgIHotaW5kZXg6IDEwMDAwNDsNCn0NCi5mb29ib3gtcHJvZ3Jlc3Mgew0KICAgIHdpZHRoOiAwJTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICB0b3A6IGF1dG87DQogICAgbGVmdDogMDsNCiAgICBib3R0b206IDA7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KLmZvb2JveC1pbm5lcj4uZm9vYm94LXBsYXksIC5mb29ib3gtaW5uZXI+LmZvb2JveC1wYXVzZSB7DQogICAgd2lkdGg6IDI4cHg7DQogICAgaGVpZ2h0OiAyOHB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICByaWdodDogLTIxcHg7DQogICAgYm90dG9tOiAtMjFweDsNCiAgICBsaW5lLWhlaWdodDogMjhweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG91dGxpbmU6IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KLmZvb2JveC1tb2RhbD4uZm9vYm94LXBsYXksIC5mb29ib3gtbW9kYWw+LmZvb2JveC1wYXVzZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMzMlOw0KICAgIHJpZ2h0OiAzMyU7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIG91dGxpbmU6IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KLmZvb2JveC1wcm9ncmVzcyB7DQogICAgaGVpZ2h0OiA1cHg7DQogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4Ow0KfQ0KLmZvb2JveC1wbGF5IHsNCiAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybChodHRwOi8vd3d3LmNtc21zMTEuZGQvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfZm9vYm94L3BsYXkucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCn0NCi5mb29ib3gtcGF1c2Ugew0KICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKGh0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mb29ib3gvcGF1c2UucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCn0NCi5mb29ib3gtaW5uZXI+LmZvb2JveC1wbGF5LCAuZm9vYm94LWlubmVyPi5mb29ib3gtcGF1c2Ugew0KICAgIGJvcmRlcjogc29saWQgM3B4ICMwMDA7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAuOCk7DQogICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIC44KTsNCn0NCi5mb29ib3gtaW5uZXI+LmZvb2JveC1wbGF5OmhvdmVyLCAuZm9vYm94LWlubmVyPi5mb29ib3gtcGF1c2U6aG92ZXIgew0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC44KTsNCiAgICAtbW96LWJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAuOCk7DQogICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC44KTsNCn0NCi5mb29ib3gtbW9kYWw+LmZvb2JveC1wbGF5LCAuZm9vYm94LW1vZGFsPi5mb29ib3gtcGF1c2Ugew0KICAgIGhlaWdodDogNDBweDsNCiAgICB3aWR0aDogYXV0bzsNCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6MzIwcHgpIGFuZCAob3JpZW50YXRpb24gOnBvcnRyYWl0KSB7DQogICAgLmZvb2JveC1wcmV2IHsNCgkJICAgIGxlZnQ6IDA7DQoJCSAgICByaWdodDogNjYlOw0KCQl9DQoJCS5mb29ib3gtbmV4dCB7DQoJCSAgICBsZWZ0OiA2NiU7DQoJCSAgICByaWdodDogMDsNCgkJfQ0KCQkuZm9vYm94LXByb2dyZXNzIHsNCgkJICAgIGhlaWdodDogM3B4Ow0KCQl9DQoJCS5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBsYXksIC5mb29ib3gtaW5uZXIgPiAuZm9vYm94LXBhdXNlIHsNCgkJICAgIGRpc3BsYXk6IG5vbmU7DQoJCX0NCgkJLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtcGxheSwgLmZvb2JveC1tb2RhbCA+IC5mb29ib3gtcGF1c2Ugew0KCQkgICAgZGlzcGxheTogYmxvY2s7DQoJCX0NCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKSB7DQogICAgLmZvb2JveC1wcm9ncmVzcyB7DQoJCSAgICBoZWlnaHQ6IDNweDsNCgkJfQ0KCQkuZm9vYm94LWlubmVyID4gLmZvb2JveC1wbGF5LCAuZm9vYm94LWlubmVyID4gLmZvb2JveC1wYXVzZSB7DQoJCSAgICBib3R0b206IDRweDsNCgkJICAgIHJpZ2h0OiA0cHg7DQoJCSAgICBvcGFjaXR5OiAuNTsNCgkJfQ0KCQkuZm9vYm94LWlubmVyID4gLmZvb2JveC1wbGF5OmhvdmVyLCAuZm9vYm94LWlubmVyID4gLmZvb2JveC1wYXVzZTpob3ZlciB7DQoJCSAgICBvcGFjaXR5OiAxOw0KCQl9DQoJCX0NCgkJQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDozMjFweCkgYW5kIChtYXgtd2lkdGggOjc2OHB4KSBhbmQgKG9yaWVudGF0aW9uIDpwb3J0cmFpdCkgew0KCQkgICAgLmZvb2JveC1pbm5lciA+IC5mb29ib3gtcGxheSwgLmZvb2JveC1pbm5lciA+IC5mb29ib3gtcGF1c2Ugew0KCQkgICAgYm90dG9tOiAtMTlweDsNCgkJICAgIHJpZ2h0OiAtMjBweDsNCgkJfQ0KCQl9DQoJCUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6NDgxcHgpIGFuZCAobWF4LXdpZHRoIDoxMDI0cHgpIGFuZCAob3JpZW50YXRpb24gOmxhbmRzY2FwZSkgew0KCQkgICAgLmZvb2JveC1pbm5lciA+IC5mb29ib3gtcGxheSwgLmZvb2JveC1pbm5lciA+IC5mb29ib3gtcGF1c2Ugew0KCQkgICAgYm90dG9tOiAtMTlweDsNCgkJICAgIHJpZ2h0OiAtMjBweDsNCgkJfQ0KfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDozMjBweCkgYW5kIChvcmllbnRhdGlvbiA6cG9ydHJhaXQpIHsNCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgYW5kIChvcmllbnRhdGlvbiA6bGFuZHNjYXBlKSB7DQp9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOjMyMXB4KSBhbmQgKG1heC13aWR0aCA6NzY4cHgpIGFuZCAob3JpZW50YXRpb24gOnBvcnRyYWl0KSB7DQp9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOjQ4MXB4KSBhbmQgKG1heC13aWR0aCA6MTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDpsYW5kc2NhcGUpIHsNCn0NCi5mb29ib3gtc29jaWFsIHsNCiAgICB6LWluZGV4OiAxMDAwMDM7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDVweDsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQouZm9vYm94LXNvY2lhbC5mb29ib3gtdG9wIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouZm9vYm94LXNvY2lhbC5mb29ib3gtdG9wbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCi5mb29ib3gtc29jaWFsLmZvb2JveC10b3ByaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQouZm9vYm94LXNvY2lhbC5mb29ib3gtYm90dG9tIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5mb29ib3gtc29jaWFsLmZvb2JveC1ib3R0b21sZWZ0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQouZm9vYm94LXNvY2lhbC5mb29ib3gtYm90dG9tcmlnaHQgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQouZm9vYm94LXNob3ctY2FwdGlvbiAuZm9vYm94LXNvY2lhbC5mb29ib3gtYm90dG9tLCAuZm9vYm94LXNob3ctY2FwdGlvbiAuZm9vYm94LXNvY2lhbC5mb29ib3gtYm90dG9tbGVmdCwgLmZvb2JveC1zaG93LWNhcHRpb24gLmZvb2JveC1zb2NpYWwuZm9vYm94LWJvdHRvbXJpZ2h0IHsNCiAgICBib3R0b206IDMwcHg7DQp9DQouZm9vYm94LXNvY2lhbCBhIHsNCiAgICB3aWR0aDogMzJweDsNCiAgICBoZWlnaHQ6IDMycHg7DQogICAgYmFja2dyb3VuZDogdXJsKGh0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2FsYl9mb29ib3gvc29jaWFsc3ByaXRlLnBuZykgbm8tcmVwZWF0Ow0KICAgIG1hcmdpbjogNXB4Ow0KICAgIHRleHQtaW5kZW50OiAtOTk5OXB4Ow0KICAgIG9wYWNpdHk6IC41Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5mb29ib3gtc29jaWFsLmZvb2JveC1yaWdodCBhIHsNCiAgICB0ZXh0LWluZGVudDogOTk5OXB4Ow0KfQ0KLmZvb2JveC1zb2NpYWwgYS5mb29ib3gtZmFjZWJvb2sgew0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsNCn0NCi5mb29ib3gtc29jaWFsIGEuZm9vYm94LWdvb2dsZS1wbHVzIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOw0KfQ0KLmZvb2JveC1zb2NpYWwgYS5mb29ib3gtdHdpdHRlciB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsNCn0NCi5mb29ib3gtc29jaWFsIGEuZm9vYm94LXBpbnRlcmVzdCB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsNCn0NCi5mb29ib3gtc29jaWFsIGEuZm9vYm94LWxpbmtlZGluIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsNCn0NCi5mb29ib3gtc29jaWFsIGE6aG92ZXIgew0KICAgIG9wYWNpdHk6IDE7DQp9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOjEwMjRweCkgew0KICAgIC5mb29ib3gtc29jaWFsIHsNCiAgICBwYWRkaW5nOiAzcHg7DQp9DQouZm9vYm94LXNvY2lhbCBhIHsNCiAgICB3aWR0aDogMjRweDsNCiAgICBoZWlnaHQ6IDI0cHg7DQogICAgbWFyZ2luOiA0cHggNXB4Ow0KfQ0KLmZvb2JveC1zb2NpYWwgYS5mb29ib3gtZmFjZWJvb2sgew0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7DQp9DQouZm9vYm94LXNvY2lhbCBhLmZvb2JveC1nb29nbGUtcGx1cyB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggLTMycHg7DQp9DQouZm9vYm94LXNvY2lhbCBhLmZvb2JveC10d2l0dGVyIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsNCn0NCi5mb29ib3gtc29jaWFsIGEuZm9vYm94LXBpbnRlcmVzdCB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTMycHg7DQp9DQouZm9vYm94LXNvY2lhbCBhLmZvb2JveC1saW5rZWRpbiB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7DQp9DQp9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOjMyMHB4KSBhbmQgKG9yaWVudGF0aW9uIDpwb3J0cmFpdCkgew0KICAgIC5mb29ib3gtc2hvdy1jYXB0aW9uIC5mb29ib3gtc29jaWFsLmZvb2JveC1ib3R0b20sIC5mb29ib3gtc2hvdy1jYXB0aW9uIC5mb29ib3gtc29jaWFsLmZvb2JveC1ib3R0b21sZWZ0LCAuZm9vYm94LXNob3ctY2FwdGlvbiAuZm9vYm94LXNvY2lhbC5mb29ib3gtYm90dG9tcmlnaHQgew0KICAgIGJvdHRvbTogMTVweDsNCn0=]]></data>
	</file>
	<file>
	  <filename>/templates/css/alb_jquery-lightbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmNzcw0KICogQGF1dGhvciBMZWFuZHJvIFZpZWlyYSBQaW5obyAtIGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbQ0KICogQHZlcnNpb24gMC41DQogKiBAZGF0ZSBBcHJpbCAxMSwgMjAwOA0KICogQGNhdGVnb3J5IGpRdWVyeSBwbHVnaW4NCiAqIEBjb3B5cmlnaHQgKGMpIDIwMDggTGVhbmRybyBWaWVpcmEgUGluaG8gKGxlYW5kcm92aWVpcmEuY29tKQ0KICogQGxpY2Vuc2UgQ0MgQXR0cmlidXRpb24tTm8gRGVyaXZhdGl2ZSBXb3JrcyAyLjUgQnJhemlsIC0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmQvMi41L2JyL2RlZWQuZW5fVVMNCiAqIEBleGFtcGxlIFZpc2l0IGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIGZvciBtb3JlIGluZm9ybWF0aW9ucyBhYm91dCB0aGlzIGpRdWVyeSBwbHVnaW4NCiAqLw0KI2pxdWVyeS1vdmVybGF5IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDgwMDsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogNTAwcHg7DQp9DQojanF1ZXJ5LWxpZ2h0Ym94IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICB6LWluZGV4OiAxMDAwOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2pxdWVyeS1saWdodGJveCBhIGltZyB7IGJvcmRlcjogbm9uZTsgfQ0KI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3ggew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIHdpZHRoOiAyNTBweDsNCiAgaGVpZ2h0OiAyNTBweDsNCiAgbWFyZ2luOiAwIGF1dG87DQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlIHsgcGFkZGluZzogMTBweDsgfQ0KI2xpZ2h0Ym94LWxvYWRpbmcgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogNDAlOw0KICBsZWZ0OiAwJTsNCiAgaGVpZ2h0OiAyNSU7DQogIHdpZHRoOiAxMDAlOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2xpZ2h0Ym94LW5hdiB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICBoZWlnaHQ6IDEwMCU7DQogIHdpZHRoOiAxMDAlOw0KICB6LWluZGV4OiAxMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtYm94ID4gI2xpZ2h0Ym94LW5hdiB7IGxlZnQ6IDA7IH0NCiNsaWdodGJveC1uYXYgYSB7IG91dGxpbmU6IG5vbmU7fQ0KI2xpZ2h0Ym94LW5hdi1idG5QcmV2LCAjbGlnaHRib3gtbmF2LWJ0bk5leHQgew0KICB3aWR0aDogNDklOw0KICBoZWlnaHQ6IDEwMCU7DQogIC8qem9vbTogMTsqLw0KICBkaXNwbGF5OiBibG9jazsNCn0NCiNsaWdodGJveC1uYXYtYnRuUHJldiB7DQogIGxlZnQ6IDA7DQogIGZsb2F0OiBsZWZ0Ow0KfQ0KI2xpZ2h0Ym94LW5hdi1idG5OZXh0IHsNCiAgcmlnaHQ6IDA7DQogIGZsb2F0OiByaWdodDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YS1ib3ggew0KICBmb250OiAxMHB4IFZlcmRhbmEsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgbWFyZ2luOiAwIGF1dG87DQogIGxpbmUtaGVpZ2h0OiAxLjRlbTsNCiAgb3ZlcmZsb3c6IGF1dG87DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAwIDEwcHggMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YSB7DQogIHBhZGRpbmc6IDAgMTBweDsNCiAgY29sb3I6ICM2NjY7DQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEgI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMgew0KICB3aWR0aDogNzAlOw0KICBmbG9hdDogbGVmdDsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCiNsaWdodGJveC1pbWFnZS1kZXRhaWxzLWNhcHRpb24geyBmb250LXdlaWdodDogYm9sZDsgfQ0KI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY3VycmVudE51bWJlciB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBjbGVhcjogbGVmdDsNCiAgcGFkZGluZy1ib3R0b206IDEuMGVtOw0KfQ0KI2xpZ2h0Ym94LXNlY05hdi1idG5DbG9zZSB7DQogIHdpZHRoOiA2NnB4Ow0KICBmbG9hdDogcmlnaHQ7DQogIHBhZGRpbmctYm90dG9tOiAwLjdlbTsNCn0=]]></data>
	</file>
	<file>
	  <filename>/templates/css/csvsum_artikel.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGFibGUuY3N2IHsNCglib3JkZXItd2lkdGg6IDFweDsNCglib3JkZXItc3BhY2luZzogMnB4Ow0KCWJvcmRlci1zdHlsZTogb3V0c2V0Ow0KCWJvcmRlci1jb2xvcjogZ3JheTsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCWJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KfQ0KdGFibGUuY3N2IHRoIHsNCglib3JkZXItd2lkdGg6IDFweDsNCglwYWRkaW5nOiAxcHg7DQoJYm9yZGVyLXN0eWxlOiBpbnNldDsNCglib3JkZXItY29sb3I6IGdyYXk7DQoJYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQoJLW1vei1ib3JkZXItcmFkaXVzOiA7DQp9DQp0YWJsZS5jc3YgdGQgew0KCWJvcmRlci13aWR0aDogMXB4Ow0KCXBhZGRpbmc6IDFweDsNCglib3JkZXItc3R5bGU6IGluc2V0Ow0KCWJvcmRlci1jb2xvcjogZ3JheTsNCgliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCgktbW96LWJvcmRlci1yYWRpdXM6IDsNCn0NCg0K]]></data>
	</file>
	<file>
	  <filename>/templates/css/socialshareprivacy.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgew0KICBjbGVhcjogYm90aDsNCiAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDsNCiAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogIGhlaWdodDogMjVweDsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSB7DQogIG1hcmdpbjogMCAhaW1wb3J0YW50Ow0KICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogIGhlaWdodDogMjBweDsNCiAgZmxvYXQ6IGxlZnQ7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuZHVtbXlfYnRuIHsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbi1sZWZ0OiAxMHB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSAuZmFjZWJvb2sgew0KICB3aWR0aDogMTgwcHg7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIC5mYWNlYm9vayAuZmJfbGlrZSBpZnJhbWUgew0KICB3aWR0aDogMTQ1cHg7DQogIGhlaWdodDogMjFweDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIC50d2l0dGVyIHsNCiAgd2lkdGg6IDE0OHB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgZGl2LnR3ZWV0IHsNCiAgd2lkdGg6IDExNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgLmdwbHVzIHsNCiAgd2lkdGg6IDEyM3B4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgZGl2LmdwbHVzb25lIHsNCiAgd2lkdGg6IDkwcHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuc3dpdGNoIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB0ZXh0LWluZGVudDogLTk5OTllbTsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGh0dHA6Ly93d3cuY21zbXMxMS5kZC9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3NvY2lhbHNoYXJlcHJpdmFjeS9vbl9vZmYucG5nKSBuby1yZXBlYXQgMCAwIHNjcm9sbDsNCiAgd2lkdGg6IDIzcHg7DQogIGhlaWdodDogMTJweDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbjogNHB4IDAgMDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLnN3aXRjaC5vbiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEycHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5oZWxwX2luZm8gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5oZWxwX2luZm8gLmluZm8sIC5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpIC5oZWxwX2luZm8uaWNvbiAuaW5mbyB7DQogIGRpc3BsYXk6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiA0MHB4Ow0KICBsZWZ0OiAwOw0KICB3aWR0aDogMjkwcHg7DQogIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgZm9udC1zaXplOiAxMnB4Ow0KICBsaW5lLWhlaWdodDogMTZweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDRweCAjOTk5Ow0KICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDRweCAjOTk5Ow0KICBib3gtc2hhZG93OiAwIDNweCA0cHggIzk5OTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmJlYzsNCiAgY29sb3I6ICMwMDA7DQogIHotaW5kZXg6IDUwMDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLmdwbHVzLmhlbHBfaW5mbyAuaW5mbyB7DQogIGxlZnQ6IC02MHB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLmhlbHBfaW5mby5pY29uIC5pbmZvIHsNCiAgbGVmdDogLTI0M3B4Ow0KICB3aWR0aDogMzUwcHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuaGVscF9pbmZvLmljb24uZGlzcGxheSAuaW5mbyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuaGVscF9pbmZvLmluZm9fb2ZmLmRpc3BsYXkgLmluZm8gew0KICBkaXNwbGF5OiBub25lOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLmhlbHBfaW5mby5pY29uIHsNCiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvc29jaWFsc2hhcmVwcml2YWN5L2luZm8ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBzY3JvbGw7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDIwcHg7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICBib3JkZXI6IDJweCBzb2xpZCAjZTdlM2UzOw0KICBib3JkZXItcmlnaHQtd2lkdGg6IDA7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQogIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51Lm9uIC5oZWxwX2luZm8uaWNvbiB7DQogIGJvcmRlci10b3Atd2lkdGg6IDA7DQogIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51LnBlcm1hX29wdGlvbl9vZmYgLmhlbHBfaW5mby5pY29uIHsNCiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdG9wOiAtMnB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyBhIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBtYXJnaW46IDAgIWltcG9ydGFudDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7DQogIGJvcmRlcjogMnB4IHNvbGlkICNlN2UzZTM7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtbW96LWJveC1zaGFkb3c6IDJweCAycHggM3B4ICNjMWMxYzE7DQogIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAzcHggI2MxYzFjMTsNCiAgYm94LXNoYWRvdzogM3B4IDNweCAzcHggI2MxYzFjMTsNCiAgbGVmdDogMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIHdpZHRoOiAxMzVweDsNCiAgei1pbmRleDogMTAwMDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudS5vZmYgew0KICBib3JkZXItd2lkdGg6IDA7DQogIC1tb3otYm94LXNoYWRvdzogbm9uZTsNCiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICBib3gtc2hhZG93OiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudS5vZmYgZm9ybSB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgLnNldHRpbmdzIHsNCiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaHR0cDovL3d3dy5jbXNtczExLmRkL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvc29jaWFsc2hhcmVwcml2YWN5L3NldHRpbmdzLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgc2Nyb2xsOw0KICB3aWR0aDogMjVweDsNCiAgaGVpZ2h0OiAyMHB4Ow0KICBib3JkZXI6IDJweCBzb2xpZCAjZTdlM2UzOw0KICAtbW96LWJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOw0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOw0KICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsNCiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51Lm9uIC5zZXR0aW5ncyB7DQogIGJvcmRlci10b3Atd2lkdGg6IDA7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgZm9ybSBmaWVsZHNldCB7DQogIGJvcmRlci13aWR0aDogMDsNCiAgbWFyZ2luOiAwOw0KICBwYWRkaW5nOiAwIDEwcHggMTBweDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDEwcHggMDsNCiAgd2lkdGg6IDExNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51IGZvcm0gZmllbGRzZXQgaW5wdXQgew0KICBjbGVhcjogYm90aDsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbjogNHB4IDEwcHggNHB4IDA7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgZm9ybSBmaWVsZHNldCBsYWJlbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZmxvYXQ6IGxlZnQ7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAtbW96LXRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNlLWluOw0KICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNlLWluOw0KICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzZS1pbjsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSBmb3JtIGZpZWxkc2V0IGxhYmVsLmNoZWNrZWQgew0KICBjb2xvcjogIzA5MDsNCn0NCiNtaXR0ZSAjbWl0dGVfbGlua3Mgew0KICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50Ow0KfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/css/ToolBoxBackendStyles.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCBTdHlsZXMgVG9vbEJveCBNb2R1bGUgKi8gLyogd3JpdHRlbiBieSBsdWthcyBibGF0dGVyICovDQp0YWJsZS5Ub29sQm94TWFpblRhYmxlIHsNCgl3aWR0aDogMTAwJTsNCn0NCg0KdGFibGUuVG9vbEJveE1haW5UYWJsZSB0ZCB7DQoJdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCg0KDQoudGJBY3RpdmUgew0KCWNvbG9yOiAjZmZmOyAvKiAjMzUzNjM2OyAqLw0KCWJhY2tncm91bmQ6ICMxNDdGREI7IC8qICNGRjg4MDAgI2NjYzsgKi8JDQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi50YkluYWN0aXZlIHsNCgljb2xvcjogIzM1MzYzNjsNCgliYWNrZ3JvdW5kOiAjRUJFQUVBOw0KfQ0KDQoudGJBY3RpdmUsIC50YkluYWN0aXZlIHsNCglwYWRkaW5nOiA1cHggMTBweDsNCgltYXJnaW46IDVweCAwOw0KfQ0KDQoudzMwIGlucHV0IHsNCgl3aWR0aDogMzBweCAhaW1wb3J0YW50Ow0KCW1pbi13aWR0aDogMjBweA0KfQ0KDQoudzUwIGlucHV0IHsNCgl3aWR0aDogNTBweCAhaW1wb3J0YW50Ow0KCW1pbi13aWR0aDogMjBweA0KfQ0KDQoudzgwIGlucHV0IHsNCgl3aWR0aDogODBweCAhaW1wb3J0YW50Ow0KCW1pbi13aWR0aDogNTBweA0KfQ0KDQoNCg0KLyoqKiB0YWJzICoqKi8NCiN0YnBhZ2VfdGFicyB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgltYXJnaW4tdG9wOiAyMHB4DQp9DQojdGJwYWdlX3RhYnMgZGl2IHsNCgljb2xvcjogIzU4NTg1ODsNCglib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsNCgl0ZXh0LXNoYWRvdzogLTFweCAxcHggMCAjZmZmOw0KCWJhY2tncm91bmQ6ICNkZGQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWZsb2F0OiBsZWZ0Ow0KCWN1cnNvcjogcG9pbnRlcjsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KCXBhZGRpbmc6IDExcHg7DQoJbWFyZ2luLXRvcDogMXB4Ow0KCW1hcmdpbi1yaWdodDogMXB4DQp9DQojdGJwYWdlX3RhYnMgZGl2IGltZyB7DQoJaGVpZ2h0OiAxNHB4Ow0KCW1hcmdpbi10b3A6IDJweDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KCW1hcmdpbi1yaWdodDogNXB4DQp9DQojdGJwYWdlX3RhYnMgZGl2OmhvdmVyIHsNCgljb2xvcjogIzE0N2ZkYg0KfQ0KI3RicGFnZV90YWJzIGRpdi5hY3RpdmUgew0KCWNvbG9yOiAjZmZmOw0KCXRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjMDU0ODgyOw0KCWJhY2tncm91bmQ6ICMxNDdmZGIgLyp1cmwoLi4vLi4vLi4vLi4vdGhlbWVzL09uZUVsZXZlbi9pbWFnZXMvbGF5b3V0L3RhYi1hY3RpdmUucG5nKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSovDQp9DQojdGJwYWdlX2NvbnRlbnQgew0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7DQoJcGFkZGluZzogMjBweCAxMHB4Ow0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQoJYm9yZGVyLXRvcDogM3B4IHNvbGlkICNkZGQNCn0=]]></data>
	</file>
	<file>
	  <filename>/templates/css/twf_twitterfeed.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnRiVHdpdHRlcmZlZWQgew0KICAgIGZvbnQtZmFtaWx5OiBoZWx2ZXRpY2EsICdHZW9yZ2lhJywgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgd2lkdGg6IDMyMHB4Ow0KICAgIHBhZGRpbmc6IDEwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMkYyRjI7DQp9DQoudGJUd2l0dGVyZmVlZCB1bCwgIHsNCiAgICBtYXJnaW46IDAgMTBweCAwIDA7DQogICAgcGFkZGluZzogMDsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0YyRjJGMjsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNnB4Ow0KICAgIG1pbi1oZWlnaHQ6IDQ4cHg7DQp9DQoudGJUd2l0dGVyZmVlZCBsaS5sYXN0IHsNCiAgICBib3JkZXI6IG5vbmU7DQp9DQoudGJUd2l0dGVyZmVlZCBsaSAgew0KICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIC1tcy1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW8tYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7DQp9DQoudGJUd2l0dGVyZmVlZCBsaSBpbWcgew0KICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIC1tcy1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW8tYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7DQp9DQoudGJUd2l0dGVyZmVlZCBsaSBzcGFuIHsNCiAgICBtYXJnaW4tbGVmdDogNThweDsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1hdXRob3Igew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1saW5rcywNCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1yZXR3ZWV0ZWRieSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgY29sb3I6ICM5OTk7DQogICAgZm9udC1zaXplOiAxMXB4Ow0KICAgIHBhZGRpbmctdG9wOiA1cHg7DQp9DQoNCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1saW5rcyBhIHsNCiAgICBjb2xvcjogIzk5OTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1saW5rcyBhOmhvdmVyIHsNCiAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KfQ0KDQoudGJUd2l0dGVyZmVlZCBsaSAudHdlZXQtcmV0d2VldGVkYnkgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogLTVweDsNCn0=]]></data>
	</file>
	<file>
	  <filename>/templates/csvdet_detail/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/csvsum_artikel/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/edittemplate_alb.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW5hbWV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX17JHJlc2V0fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0dGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KCntpZiAhJGpxdWVyeV9vd259CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2pxdWVyeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3VzZV9tb2JpbGV0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VfbW9iaWxldGVtcGxhdGV9PC9wPgo8L2Rpdj4KCnskbW9kLT5TdGFydFRhYkhlYWRlcnMoKX0KeyRtb2QtPlNldFRhYkhlYWRlcignZGVza3RvcCcsJG1vZC0+TGFuZygnZGVza3RvcHRwbCcpLHRydWUpfQp7JG1vZC0+U2V0VGFiSGVhZGVyKCdtb2JpbGUnLCRtb2QtPkxhbmcoJ21vYmlsZXRwbCcpLGZhbHNlKX0KeyRtb2QtPkVuZFRhYkhlYWRlcnMoKX0KCgp7JG1vZC0+U3RhcnRUYWJDb250ZW50KCl9Cgp7JG1vZC0+U3RhcnRUYWIoJ2Rlc2t0b3AnLCIiKX0KCntpZiAkc2VjdGlvbiAhPSAnYXV0b2xpZ2h0Ym94J30KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlY3NzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVjc3N9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlanMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdzbWFydHl0YWdzJyl9PGJyIC8+eyR0ZW1wbGF0ZWpzfTwvcD4KPC9kaXY+Cgp7JG1vZC0+RW5kVGFiKCl9CnskbW9kLT5TdGFydFRhYignbW9iaWxlJywiIil9Cgp7aWYgJHNlY3Rpb24gIT0gJ2F1dG9saWdodGJveCd9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW1vYmlsZX08L3A+CjwvZGl2Pgp7L2lmfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWNzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlbW9iaWxlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWpzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVtb2JpbGVqc308L3A+CjwvZGl2PgoKeyRtb2QtPkVuZFRhYigpfQp7JG1vZC0+RW5kVGFiQ29udGVudCgpfQoKCntpZiAkbW9kZSAhPSAiYWRkIn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlZmlsZXMnKX08L2gzPgo8L2Rpdj4KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0IGZibWFpbiI+Cgk8ZGl2IGNsYXNzPSJ6ZWlsZW5ib3ggYm94dGl0ZWwiPgoJCTxzcGFuIGNsYXNzPSJ0aXRsZW5hbWUiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmlsZScpfTwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ic2l6ZSI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zaXplJyl9PC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJhY3Rpb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlJyl9PC9zcGFuPgoJPC9kaXY+CiAgCTxkaXYgY2xhc3M9Im1pbmlib3giPgogIAl7Zm9yZWFjaCBmcm9tPSR0cGxmaWxlcyBpdGVtPWZpbGV9CgkJPGRpdiBjbGFzcz0iemVpbGVuYm94Ij4KCQkJPHNwYW4gY2xhc3M9Imljb24iPnskZmlsZS0+ZXh0fTwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9Im5hbWUiPnskZmlsZS0+bGlua308L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJzaXplIj57JGZpbGUtPnNpemV9PC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0iYWN0aW9uIj57JGZpbGUtPmFjdGlvbn08L3NwYW4+CgkJPC9kaXY+Cgl7L2ZvcmVhY2h9Cgk8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CjxkaXYgaWQ9ImZpbGUtdXBsb2FkZXIiIHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoeyRhZGRmaWxlc2ljb259KSBuby1yZXBlYXQ7Ij57JGFkZGZpbGVzfQoJCTxub3NjcmlwdD4JCQkKCQkJPHA+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHVzZSBmaWxlIHVwbG9hZGVyLjwvcD4KCQkJPCEtLSBvciBwdXQgYSBzaW1wbGUgZm9ybSBmb3IgdXBsb2FkIGhlcmUgLS0+CgkJPC9ub3NjcmlwdD4gICAgICAgICAKCTwvZGl2PgogICAge2xpdGVyYWx9CiAgICA8c2NyaXB0PiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gY3JlYXRlVXBsb2FkZXIoKXsgICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHVwbG9hZGVyID0gbmV3IHFxLkZpbGVVcGxvYWRlcih7CiAgICAgICAgICAgIAl0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9InFxLXVwbG9hZGVyIj4nICsgCgkJCSAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWRyb3AtYXJlYSI+PHNwYW4+WW91ciB0ZXh0IGhlcmU8L3NwYW4+PC9kaXY+JyArCgkJCSAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWJ1dHRvbiI+ey9saXRlcmFsfXskYWRkZmlsZXN9e2xpdGVyYWx9PC9kaXY+JyArCgkJCSAgICAgICAgICAgICAgICAnPHVsIGNsYXNzPSJxcS11cGxvYWQtbGlzdCI+PC91bD4nICsgCgkJCSAgICAgICAgICAJCSc8L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlLXVwbG9hZGVyJyksCiAgICAgICAgICAgICAgICBhY3Rpb246ICd7L2xpdGVyYWx9eyR1cGxvYWRfdXJsfXtsaXRlcmFsfScsCiAgICAgICAgICAgICAgICBhbGxvd2VkRXh0ZW5zaW9uczogWydnaWYnLCdqcGVnJywnanBnJywncG5nJywnanMnLCdjc3MnXSwKICAgICAgICAgICAgICAgIHBhcmFtcyA6eyB7L2xpdGVyYWx9CiAgICAgICAgICAgICAgICAgICAgJ3RlbXBsYXRlaWQnIDogJ3skdGVtcGxhdGVpZH0nLAogICAgICAgICAgICAgICAgICAgICdzZWN0aW9uJyA6ICd7JHNlY3Rpb259JwogICAgICAgICAgICAgICAge2xpdGVyYWx9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICBkZWJ1ZzogdHJ1ZQogICAgICAgICAgICB9KTsgCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAKICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIC8vIGluIHlvdXIgYXBwIGNyZWF0ZSB1cGxvYWRlciBhcyBzb29uIGFzIHRoZSBET00gaXMgcmVhZHkKICAgICAgICAvLyBkb24ndCB3YWl0IGZvciB0aGUgd2luZG93IHRvIGxvYWQgIAogICAgICAgIHdpbmRvdy5vbmxvYWQgPSBjcmVhdGVVcGxvYWRlcjsgICAgIAogICAgPC9zY3JpcHQ+ICAgIAoKCXsvbGl0ZXJhbH0KPC9kaXY+CjwvZGl2Pgp7L2lmfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfXskYXBwbHl9eyRyZXNldH08L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQoKCgoKCgoKCg==]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3BhcmFtZXRlcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGNvZGU+CgkJICAKICA8L2NvZGU+PC9wPgo8L2Rpdj4KCntpZiAhJGpxdWVyeV9vd259CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2pxdWVyeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygncHJvbXB0X2VkaXR0ZW1wbGF0ZScpfTwvaDM+CjwvZGl2PgoKCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWNzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWpzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVqc308L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0KCgoKCgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate_twf.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3BhcmFtZXRlcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGNvZGU+CgkJICAmIzAzNjtpdGVtLSZndDt0ZXh0PGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2RhdGU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmF3ZGF0ZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtpbWdfdXJsPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmxfaHR0cHM8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7c2NyZWVubmFtZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lX3VybDxici8+CgkJICAmIzAzNjtpdGVtLSZndDthdXRob3I8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7c291cmNlPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2xvY2F0aW9uPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfY291bnQ8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9zY3JlZW5uYW1lPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfYXV0aG9yPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2Zhdm9yaXRlZDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtkYXRlX2xpbms8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmVwbHlfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2xpbms8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXBseV9yYXdsaW5rPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfcmF3bGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZV9yYXdsaW5rCiAgPC9jb2RlPjwvcD4KPC9kaXY+Cgp7aWYgISRqcXVlcnlfb3dufQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9qcXVlcnknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfanF1ZXJ5fTwvcD4KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0dGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVjc3MnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdzbWFydHl0YWdzJyl9PGJyIC8+eyR0ZW1wbGF0ZWNzc308L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVqcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlanN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX17JHJlc2V0fTwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CgoKCgoKCgoK]]></data>
	</file>
	<file>
	  <filename>/templates/edittplabout.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQp7JGhpZGRlbn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlbmFtZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVuYW1lfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdmVyc2lvbn06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdmVyc2lvbn08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2Fib3V0fTo8L3A+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGFib3V0fTwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/importtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9DQp7JHRhYnRvfQ0KPGZpZWxkc2V0Pg0KPGxlZ2VuZD57JHRpdGxlX2ltcG9ydHhtbH08L2xlZ2VuZD4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1wb3J0eG1sbm90ZX08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaW1wb3J0eG1sfTo8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij4NCnskaW1wb3J0eG1sfQ0KPC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X292ZXJ3cml0ZX06PC9wPg0KPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQp7JG92ZXJ3cml0ZX0NCjwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij4NCnskc3VibWl0fQ0KPC9wPg0KPC9kaXY+DQoNCjwvZmllbGRzZXQ+DQp7JGZvcm1lbmR9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/fileuploader.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoucXEtdXBsb2FkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6IDEwMCU7fQoKLnFxLXVwbG9hZC1idXR0b24gewogICAgZGlzcGxheTpibG9jazsgCiAgICB3aWR0aDogMTA1cHg7IHBhZGRpbmc6IDdweCAwOyB0ZXh0LWFsaWduOmNlbnRlcjsgICAgCiAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtjb2xvcjojZmZmOwp9Ci5xcS11cGxvYWQtYnV0dG9uLWhvdmVyIHtiYWNrZ3JvdW5kOiNjYzAwMDA7fQoucXEtdXBsb2FkLWJ1dHRvbi1mb2N1cyB7b3V0bGluZToxcHggZG90dGVkIGJsYWNrO30KCiovCi5xcS11cGxvYWQtYnV0dG9uIHsKCW1hcmdpbi1sZWZ0OiAzMHB4OwoJY3Vyc29yOiBwb2ludGVyOwoJaGVpZ2h0OiAzMHB4Owp9CgoucXEtdXBsb2FkLWJ1dHRvbi1ob3ZlciB7Cgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKCWN1cnNvcjogcG9pbnRlcjsKfQoKLnFxLXVwbG9hZC1kcm9wLWFyZWEgewogICAgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OiA3MHB4OyB6LWluZGV4OjI7CiAgICBiYWNrZ3JvdW5kOiNGRjk3OTc7IHRleHQtYWxpZ246Y2VudGVyOyAKfQoucXEtdXBsb2FkLWRyb3AtYXJlYSBzcGFuIHsKICAgIGRpc3BsYXk6YmxvY2s7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDUwJTsgd2lkdGg6MTAwJTsgbWFyZ2luLXRvcDotOHB4OyBmb250LXNpemU6MTZweDsKfQoucXEtdXBsb2FkLWRyb3AtYXJlYS1hY3RpdmUge2JhY2tncm91bmQ6I0ZGNzE3MTt9CgoucXEtdXBsb2FkLWxpc3Qge21hcmdpbjoxNXB4IDM1cHg7IHBhZGRpbmc6MDsgbGlzdC1zdHlsZTpkaXNjO30KLnFxLXVwbG9hZC1saXN0IGxpIHsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgbGluZS1oZWlnaHQ6MTVweDsgZm9udC1zaXplOjEycHg7fQoucXEtdXBsb2FkLWZpbGUsIC5xcS11cGxvYWQtc3Bpbm5lciwgLnFxLXVwbG9hZC1zaXplLCAucXEtdXBsb2FkLWNhbmNlbCwgLnFxLXVwbG9hZC1mYWlsZWQtdGV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IDdweDsKfQoKLnFxLXVwbG9hZC1maWxlIHt9Ci5xcS11cGxvYWQtc3Bpbm5lciB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IHVybCgibG9hZGluZy5naWYiKTsgd2lkdGg6MTVweDsgaGVpZ2h0OjE1cHg7IHZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tO30KLnFxLXVwbG9hZC1zaXplLC5xcS11cGxvYWQtY2FuY2VsIHtmb250LXNpemU6MTFweDt9CgoucXEtdXBsb2FkLWZhaWxlZC10ZXh0IHtkaXNwbGF5Om5vbmU7fQoucXEtdXBsb2FkLWZhaWwgLnFxLXVwbG9hZC1mYWlsZWQtdGV4dCB7ZGlzcGxheTppbmxpbmU7fQ==]]></data>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/fileuploader.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIGh0dHA6Ly9naXRodWIuY29tL3ZhbHVtcy9maWxlLXVwbG9hZGVyCiAqIAogKiBNdWx0aXBsZSBmaWxlIHVwbG9hZCBjb21wb25lbnQgd2l0aCBwcm9ncmVzcy1iYXIsIGRyYWctYW5kLWRyb3AuIAogKiDCqSAyMDEwIEFuZHJldyBWYWx1bXMgKCBhbmRyZXcoYXQpdmFsdW1zLmNvbSApIAogKiAKICogTGljZW5zZWQgdW5kZXIgR05VIEdQTCAyIG9yIGxhdGVyIGFuZCBHTlUgTEdQTCAyIG9yIGxhdGVyLCBzZWUgbGljZW5zZS50eHQuCiAqLyAgICAKCi8vCi8vIEhlbHBlciBmdW5jdGlvbnMKLy8KCnZhciBxcSA9IHFxIHx8IHt9OwoKLyoqCiAqIEFkZHMgYWxsIG1pc3NpbmcgcHJvcGVydGllcyBmcm9tIHNlY29uZCBvYmogdG8gZmlyc3Qgb2JqCiAqLyAKcXEuZXh0ZW5kID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCl7CiAgICBmb3IgKHZhciBwcm9wIGluIHNlY29uZCl7CiAgICAgICAgZmlyc3RbcHJvcF0gPSBzZWNvbmRbcHJvcF07CiAgICB9Cn07ICAKCi8qKgogKiBTZWFyY2hlcyBmb3IgYSBnaXZlbiBlbGVtZW50IGluIHRoZSBhcnJheSwgcmV0dXJucyAtMSBpZiBpdCBpcyBub3QgcHJlc2VudC4KICogQHBhcmFtIHtOdW1iZXJ9IFtmcm9tXSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gYmVnaW4gdGhlIHNlYXJjaAogKi8KcXEuaW5kZXhPZiA9IGZ1bmN0aW9uKGFyciwgZWx0LCBmcm9tKXsKICAgIGlmIChhcnIuaW5kZXhPZikgcmV0dXJuIGFyci5pbmRleE9mKGVsdCwgZnJvbSk7CiAgICAKICAgIGZyb20gPSBmcm9tIHx8IDA7CiAgICB2YXIgbGVuID0gYXJyLmxlbmd0aDsgICAgCiAgICAKICAgIGlmIChmcm9tIDwgMCkgZnJvbSArPSBsZW47ICAKCiAgICBmb3IgKDsgZnJvbSA8IGxlbjsgZnJvbSsrKXsgIAogICAgICAgIGlmIChmcm9tIGluIGFyciAmJiBhcnJbZnJvbV0gPT09IGVsdCl7ICAKICAgICAgICAgICAgcmV0dXJuIGZyb207CiAgICAgICAgfQogICAgfSAgCiAgICByZXR1cm4gLTE7ICAKfTsgCiAgICAKcXEuZ2V0VW5pcXVlSWQgPSAoZnVuY3Rpb24oKXsKICAgIHZhciBpZCA9IDA7CiAgICByZXR1cm4gZnVuY3Rpb24oKXsgcmV0dXJuIGlkKys7IH07Cn0pKCk7CgovLwovLyBFdmVudHMKCnFxLmF0dGFjaCA9IGZ1bmN0aW9uKGVsZW1lbnQsIHR5cGUsIGZuKXsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpewogICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBmbiwgZmFsc2UpOwogICAgfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KXsKICAgICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCdvbicgKyB0eXBlLCBmbik7CiAgICB9Cn07CnFxLmRldGFjaCA9IGZ1bmN0aW9uKGVsZW1lbnQsIHR5cGUsIGZuKXsKICAgIGlmIChlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpewogICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBmbiwgZmFsc2UpOwogICAgfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KXsKICAgICAgICBlbGVtZW50LmRldGFjaEV2ZW50KCdvbicgKyB0eXBlLCBmbik7CiAgICB9Cn07CgpxcS5wcmV2ZW50RGVmYXVsdCA9IGZ1bmN0aW9uKGUpewogICAgaWYgKGUucHJldmVudERlZmF1bHQpewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0gZWxzZXsKICAgICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICB9Cn07CgovLwovLyBOb2RlIG1hbmlwdWxhdGlvbnMKCi8qKgogKiBJbnNlcnQgbm9kZSBhIGJlZm9yZSBub2RlIGIuCiAqLwpxcS5pbnNlcnRCZWZvcmUgPSBmdW5jdGlvbihhLCBiKXsKICAgIGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgYik7Cn07CnFxLnJlbW92ZSA9IGZ1bmN0aW9uKGVsZW1lbnQpewogICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpOwp9OwoKcXEuY29udGFpbnMgPSBmdW5jdGlvbihwYXJlbnQsIGRlc2NlbmRhbnQpeyAgICAgICAKICAgIC8vIGNvbXBhcmVwb3NpdGlvbiByZXR1cm5zIGZhbHNlIGluIHRoaXMgY2FzZQogICAgaWYgKHBhcmVudCA9PSBkZXNjZW5kYW50KSByZXR1cm4gdHJ1ZTsKICAgIAogICAgaWYgKHBhcmVudC5jb250YWlucyl7CiAgICAgICAgcmV0dXJuIHBhcmVudC5jb250YWlucyhkZXNjZW5kYW50KTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICEhKGRlc2NlbmRhbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocGFyZW50KSAmIDgpOwogICAgfQp9OwoKLyoqCiAqIENyZWF0ZXMgYW5kIHJldHVybnMgZWxlbWVudCBmcm9tIGh0bWwgc3RyaW5nCiAqIFVzZXMgaW5uZXJIVE1MIHRvIGNyZWF0ZSBhbiBlbGVtZW50CiAqLwpxcS50b0VsZW1lbnQgPSAoZnVuY3Rpb24oKXsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIHJldHVybiBmdW5jdGlvbihodG1sKXsKICAgICAgICBkaXYuaW5uZXJIVE1MID0gaHRtbDsKICAgICAgICB2YXIgZWxlbWVudCA9IGRpdi5maXJzdENoaWxkOwogICAgICAgIGRpdi5yZW1vdmVDaGlsZChlbGVtZW50KTsKICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgIH07Cn0pKCk7CgovLwovLyBOb2RlIHByb3BlcnRpZXMgYW5kIGF0dHJpYnV0ZXMKCi8qKgogKiBTZXRzIHN0eWxlcyBmb3IgYW4gZWxlbWVudC4KICogRml4ZXMgb3BhY2l0eSBpbiBJRTYtOC4KICovCnFxLmNzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIHN0eWxlcyl7CiAgICBpZiAoc3R5bGVzLm9wYWNpdHkgIT0gbnVsbCl7CiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LnN0eWxlLm9wYWNpdHkgIT0gJ3N0cmluZycgJiYgdHlwZW9mKGVsZW1lbnQuZmlsdGVycykgIT0gJ3VuZGVmaW5lZCcpewogICAgICAgICAgICBzdHlsZXMuZmlsdGVyID0gJ2FscGhhKG9wYWNpdHk9JyArIE1hdGgucm91bmQoMTAwICogc3R5bGVzLm9wYWNpdHkpICsgJyknOwogICAgICAgIH0KICAgIH0KICAgIHFxLmV4dGVuZChlbGVtZW50LnN0eWxlLCBzdHlsZXMpOwp9OwpxcS5oYXNDbGFzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUpewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICcoIHwkKScpOwogICAgcmV0dXJuIHJlLnRlc3QoZWxlbWVudC5jbGFzc05hbWUpOwp9OwpxcS5hZGRDbGFzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUpewogICAgaWYgKCFxcS5oYXNDbGFzcyhlbGVtZW50LCBuYW1lKSl7CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgKz0gJyAnICsgbmFtZTsKICAgIH0KfTsKcXEucmVtb3ZlQ2xhc3MgPSBmdW5jdGlvbihlbGVtZW50LCBuYW1lKXsKICAgIHZhciByZSA9IG5ldyBSZWdFeHAoJyhefCApJyArIG5hbWUgKyAnKCB8JCknKTsKICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShyZSwgJyAnKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOwp9OwpxcS5zZXRUZXh0ID0gZnVuY3Rpb24oZWxlbWVudCwgdGV4dCl7CiAgICBlbGVtZW50LmlubmVyVGV4dCA9IHRleHQ7CiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGV4dDsKfTsKCi8vCi8vIFNlbGVjdGluZyBlbGVtZW50cwoKcXEuY2hpbGRyZW4gPSBmdW5jdGlvbihlbGVtZW50KXsKICAgIHZhciBjaGlsZHJlbiA9IFtdLAogICAgY2hpbGQgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CgogICAgd2hpbGUgKGNoaWxkKXsKICAgICAgICBpZiAoY2hpbGQubm9kZVR5cGUgPT0gMSl7CiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGQpOwogICAgICAgIH0KICAgICAgICBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nOwogICAgfQoKICAgIHJldHVybiBjaGlsZHJlbjsKfTsKCnFxLmdldEJ5Q2xhc3MgPSBmdW5jdGlvbihlbGVtZW50LCBjbGFzc05hbWUpewogICAgaWYgKGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCl7CiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLicgKyBjbGFzc05hbWUpOwogICAgfQoKICAgIHZhciByZXN1bHQgPSBbXTsKICAgIHZhciBjYW5kaWRhdGVzID0gZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOwogICAgdmFyIGxlbiA9IGNhbmRpZGF0ZXMubGVuZ3RoOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspewogICAgICAgIGlmIChxcS5oYXNDbGFzcyhjYW5kaWRhdGVzW2ldLCBjbGFzc05hbWUpKXsKICAgICAgICAgICAgcmVzdWx0LnB1c2goY2FuZGlkYXRlc1tpXSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfTsKCi8qKgogKiBvYmoydXJsKCkgdGFrZXMgYSBqc29uLW9iamVjdCBhcyBhcmd1bWVudCBhbmQgZ2VuZXJhdGVzCiAqIGEgcXVlcnlzdHJpbmcuIHByZXR0eSBtdWNoIGxpa2UgalF1ZXJ5LnBhcmFtKCkKICogCiAqIGhvdyB0byB1c2U6CiAqCiAqICAgIGBxcS5vYmoydXJsKHthOidiJyxjOidkJ30sJ2h0dHA6Ly9hbnkudXJsL3VwbG9hZD9vdGhlclBhcmFtPXZhbHVlJyk7YAogKgogKiB3aWxsIHJlc3VsdCBpbjoKICoKICogICAgYGh0dHA6Ly9hbnkudXJsL3VwbG9hZD9vdGhlclBhcmFtPXZhbHVlJmE9YiZjPWRgCiAqCiAqIEBwYXJhbSAgT2JqZWN0IEpTT04tT2JqZWN0CiAqIEBwYXJhbSAgU3RyaW5nIGN1cnJlbnQgcXVlcnlzdHJpbmctcGFydAogKiBAcmV0dXJuIFN0cmluZyBlbmNvZGVkIHF1ZXJ5c3RyaW5nCiAqLwpxcS5vYmoydXJsID0gZnVuY3Rpb24ob2JqLCB0ZW1wLCBwcmVmaXhEb25lKXsKICAgIHZhciB1cmlzdHJpbmdzID0gW10sCiAgICAgICAgcHJlZml4ID0gJyYnLAogICAgICAgIGFkZCA9IGZ1bmN0aW9uKG5leHRPYmosIGkpewogICAgICAgICAgICB2YXIgbmV4dFRlbXAgPSB0ZW1wIAogICAgICAgICAgICAgICAgPyAoL1xbXF0kLy50ZXN0KHRlbXApKSAvLyBwcmV2ZW50IGRvdWJsZS1lbmNvZGluZwogICAgICAgICAgICAgICAgICAgPyB0ZW1wCiAgICAgICAgICAgICAgICAgICA6IHRlbXArJ1snK2krJ10nCiAgICAgICAgICAgICAgICA6IGk7CiAgICAgICAgICAgIGlmICgobmV4dFRlbXAgIT0gJ3VuZGVmaW5lZCcpICYmIChpICE9ICd1bmRlZmluZWQnKSkgeyAgCiAgICAgICAgICAgICAgICB1cmlzdHJpbmdzLnB1c2goCiAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBuZXh0T2JqID09PSAnb2JqZWN0JykgCiAgICAgICAgICAgICAgICAgICAgICAgID8gcXEub2JqMnVybChuZXh0T2JqLCBuZXh0VGVtcCwgdHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgOiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5leHRPYmopID09PSAnW29iamVjdCBGdW5jdGlvbl0nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbmNvZGVVUklDb21wb25lbnQobmV4dFRlbXApICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG5leHRPYmooKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW5jb2RlVVJJQ29tcG9uZW50KG5leHRUZW1wKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChuZXh0T2JqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9OyAKCiAgICBpZiAoIXByZWZpeERvbmUgJiYgdGVtcCkgewogICAgICBwcmVmaXggPSAoL1w/Ly50ZXN0KHRlbXApKSA/ICgvXD8kLy50ZXN0KHRlbXApKSA/ICcnIDogJyYnIDogJz8nOwogICAgICB1cmlzdHJpbmdzLnB1c2godGVtcCk7CiAgICAgIHVyaXN0cmluZ3MucHVzaChxcS5vYmoydXJsKG9iaikpOwogICAgfSBlbHNlIGlmICgoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IEFycmF5XScpICYmICh0eXBlb2Ygb2JqICE9ICd1bmRlZmluZWQnKSApIHsKICAgICAgICAvLyB3ZSB3b250IHVzZSBhIGZvci1pbi1sb29wIG9uIGFuIGFycmF5IChwZXJmb3JtYW5jZSkKICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gb2JqLmxlbmd0aDsgaSA8IGxlbjsgKytpKXsKICAgICAgICAgICAgYWRkKG9ialtpXSwgaSk7CiAgICAgICAgfQogICAgfSBlbHNlIGlmICgodHlwZW9mIG9iaiAhPSAndW5kZWZpbmVkJykgJiYgKG9iaiAhPT0gbnVsbCkgJiYgKHR5cGVvZiBvYmogPT09ICJvYmplY3QiKSl7CiAgICAgICAgLy8gZm9yIGFueXRoaW5nIGVsc2UgYnV0IGEgc2NhbGFyLCB3ZSB3aWxsIHVzZSBmb3ItaW4tbG9vcAogICAgICAgIGZvciAodmFyIGkgaW4gb2JqKXsKICAgICAgICAgICAgYWRkKG9ialtpXSwgaSk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICB1cmlzdHJpbmdzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KHRlbXApICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG9iaikpOwogICAgfQoKICAgIHJldHVybiB1cmlzdHJpbmdzLmpvaW4ocHJlZml4KQogICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXiYvLCAnJykKICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLyUyMC9nLCAnKycpOyAKfTsKCi8vCi8vCi8vIFVwbG9hZGVyIENsYXNzZXMKLy8KLy8KCnZhciBxcSA9IHFxIHx8IHt9OwogICAgCi8qKgogKiBDcmVhdGVzIHVwbG9hZCBidXR0b24sIHZhbGlkYXRlcyB1cGxvYWQsIGJ1dCBkb2Vzbid0IGNyZWF0ZSBmaWxlIGxpc3Qgb3IgZGQuIAogKi8KcXEuRmlsZVVwbG9hZGVyQmFzaWMgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgLy8gc2V0IHRvIHRydWUgdG8gc2VlIHRoZSBzZXJ2ZXIgcmVzcG9uc2UKICAgICAgICBkZWJ1ZzogZmFsc2UsCiAgICAgICAgYWN0aW9uOiAnL3NlcnZlci91cGxvYWQnLAogICAgICAgIHBhcmFtczoge30sCiAgICAgICAgYnV0dG9uOiBudWxsLAogICAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAgIG1heENvbm5lY3Rpb25zOiAzLAogICAgICAgIC8vIHZhbGlkYXRpb24gICAgICAgIAogICAgICAgIGFsbG93ZWRFeHRlbnNpb25zOiBbXSwgICAgICAgICAgICAgICAKICAgICAgICBzaXplTGltaXQ6IDAsICAgCiAgICAgICAgbWluU2l6ZUxpbWl0OiAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgLy8gZXZlbnRzCiAgICAgICAgLy8gcmV0dXJuIGZhbHNlIHRvIGNhbmNlbCBzdWJtaXQKICAgICAgICBvblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXt9LAogICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCl7fSwKICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIHJlc3BvbnNlSlNPTil7fSwKICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXt9LAogICAgICAgIC8vIG1lc3NhZ2VzICAgICAgICAgICAgICAgIAogICAgICAgIG1lc3NhZ2VzOiB7CiAgICAgICAgICAgIHR5cGVFcnJvcjogIntmaWxlfSBoYXMgaW52YWxpZCBleHRlbnNpb24uIE9ubHkge2V4dGVuc2lvbnN9IGFyZSBhbGxvd2VkLiIsCiAgICAgICAgICAgIHNpemVFcnJvcjogIntmaWxlfSBpcyB0b28gbGFyZ2UsIG1heGltdW0gZmlsZSBzaXplIGlzIHtzaXplTGltaXR9LiIsCiAgICAgICAgICAgIG1pblNpemVFcnJvcjogIntmaWxlfSBpcyB0b28gc21hbGwsIG1pbmltdW0gZmlsZSBzaXplIGlzIHttaW5TaXplTGltaXR9LiIsCiAgICAgICAgICAgIGVtcHR5RXJyb3I6ICJ7ZmlsZX0gaXMgZW1wdHksIHBsZWFzZSBzZWxlY3QgZmlsZXMgYWdhaW4gd2l0aG91dCBpdC4iLAogICAgICAgICAgICBvbkxlYXZlOiAiVGhlIGZpbGVzIGFyZSBiZWluZyB1cGxvYWRlZCwgaWYgeW91IGxlYXZlIG5vdyB0aGUgdXBsb2FkIHdpbGwgYmUgY2FuY2VsbGVkLiIgICAgICAgICAgICAKICAgICAgICB9LAogICAgICAgIHNob3dNZXNzYWdlOiBmdW5jdGlvbihtZXNzYWdlKXsKICAgICAgICAgICAgYWxlcnQobWVzc2FnZSk7CiAgICAgICAgfSAgICAgICAgICAgICAgIAogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsKICAgICAgICAKICAgIC8vIG51bWJlciBvZiBmaWxlcyBiZWluZyB1cGxvYWRlZAogICAgdGhpcy5fZmlsZXNJblByb2dyZXNzID0gMDsKICAgIHRoaXMuX2hhbmRsZXIgPSB0aGlzLl9jcmVhdGVVcGxvYWRIYW5kbGVyKCk7IAogICAgCiAgICBpZiAodGhpcy5fb3B0aW9ucy5idXR0b24peyAKICAgICAgICB0aGlzLl9idXR0b24gPSB0aGlzLl9jcmVhdGVVcGxvYWRCdXR0b24odGhpcy5fb3B0aW9ucy5idXR0b24pOwogICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgIHRoaXMuX3ByZXZlbnRMZWF2ZUluUHJvZ3Jlc3MoKTsgICAgICAgICAKfTsKICAgCnFxLkZpbGVVcGxvYWRlckJhc2ljLnByb3RvdHlwZSA9IHsKICAgIHNldFBhcmFtczogZnVuY3Rpb24ocGFyYW1zKXsKICAgICAgICB0aGlzLl9vcHRpb25zLnBhcmFtcyA9IHBhcmFtczsKICAgIH0sCiAgICBnZXRJblByb2dyZXNzOiBmdW5jdGlvbigpewogICAgICAgIHJldHVybiB0aGlzLl9maWxlc0luUHJvZ3Jlc3M7ICAgICAgICAgCiAgICB9LAogICAgX2NyZWF0ZVVwbG9hZEJ1dHRvbjogZnVuY3Rpb24oZWxlbWVudCl7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgIAogICAgICAgIHJldHVybiBuZXcgcXEuVXBsb2FkQnV0dG9uKHsKICAgICAgICAgICAgZWxlbWVudDogZWxlbWVudCwKICAgICAgICAgICAgbXVsdGlwbGU6IHRoaXMuX29wdGlvbnMubXVsdGlwbGUgJiYgcXEuVXBsb2FkSGFuZGxlclhoci5pc1N1cHBvcnRlZCgpLAogICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oaW5wdXQpewogICAgICAgICAgICAgICAgc2VsZi5fb25JbnB1dENoYW5nZShpbnB1dCk7CiAgICAgICAgICAgIH0gICAgICAgIAogICAgICAgIH0pOyAgICAgICAgICAgCiAgICB9LCAgICAKICAgIF9jcmVhdGVVcGxvYWRIYW5kbGVyOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgaGFuZGxlckNsYXNzOyAgICAgICAgCiAgICAgICAgCiAgICAgICAgaWYocXEuVXBsb2FkSGFuZGxlclhoci5pc1N1cHBvcnRlZCgpKXsgICAgICAgICAgIAogICAgICAgICAgICBoYW5kbGVyQ2xhc3MgPSAnVXBsb2FkSGFuZGxlclhocic7ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaGFuZGxlckNsYXNzID0gJ1VwbG9hZEhhbmRsZXJGb3JtJzsKICAgICAgICB9CgogICAgICAgIHZhciBoYW5kbGVyID0gbmV3IHFxW2hhbmRsZXJDbGFzc10oewogICAgICAgICAgICBkZWJ1ZzogdGhpcy5fb3B0aW9ucy5kZWJ1ZywKICAgICAgICAgICAgYWN0aW9uOiB0aGlzLl9vcHRpb25zLmFjdGlvbiwgICAgICAgICAKICAgICAgICAgICAgbWF4Q29ubmVjdGlvbnM6IHRoaXMuX29wdGlvbnMubWF4Q29ubmVjdGlvbnMsICAgCiAgICAgICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCl7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgc2VsZi5fb25Qcm9ncmVzcyhpZCwgZmlsZU5hbWUsIGxvYWRlZCwgdG90YWwpOwogICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCk7ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfSwgICAgICAgICAgICAKICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCByZXN1bHQpewogICAgICAgICAgICAgICAgc2VsZi5fb25Db21wbGV0ZShpZCwgZmlsZU5hbWUsIHJlc3VsdCk7CiAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uQ29tcGxldGUoaWQsIGZpbGVOYW1lLCByZXN1bHQpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICAgICAgICAgIHNlbGYuX29uQ2FuY2VsKGlkLCBmaWxlTmFtZSk7CiAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uQ2FuY2VsKGlkLCBmaWxlTmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGhhbmRsZXI7CiAgICB9LCAgICAKICAgIF9wcmV2ZW50TGVhdmVJblByb2dyZXNzOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAKICAgICAgICBxcS5hdHRhY2god2luZG93LCAnYmVmb3JldW5sb2FkJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmICghc2VsZi5fZmlsZXNJblByb2dyZXNzKXtyZXR1cm47fQogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgLy8gZm9yIGllLCBmZgogICAgICAgICAgICBlLnJldHVyblZhbHVlID0gc2VsZi5fb3B0aW9ucy5tZXNzYWdlcy5vbkxlYXZlOwogICAgICAgICAgICAvLyBmb3Igd2Via2l0CiAgICAgICAgICAgIHJldHVybiBzZWxmLl9vcHRpb25zLm1lc3NhZ2VzLm9uTGVhdmU7ICAgICAgICAgICAgIAogICAgICAgIH0pOyAgICAgICAgCiAgICB9LCAgICAKICAgIF9vblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICB0aGlzLl9maWxlc0luUHJvZ3Jlc3MrKzsgIAogICAgfSwKICAgIF9vblByb2dyZXNzOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIGxvYWRlZCwgdG90YWwpeyAgICAgICAgCiAgICB9LAogICAgX29uQ29tcGxldGU6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgcmVzdWx0KXsKICAgICAgICB0aGlzLl9maWxlc0luUHJvZ3Jlc3MtLTsgICAgICAgICAgICAgICAgIAogICAgICAgIGlmIChyZXN1bHQuZXJyb3IpewogICAgICAgICAgICB0aGlzLl9vcHRpb25zLnNob3dNZXNzYWdlKHJlc3VsdC5lcnJvcik7CiAgICAgICAgfSAgICAgICAgICAgICAKICAgIH0sCiAgICBfb25DYW5jZWw6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7CiAgICAgICAgdGhpcy5fZmlsZXNJblByb2dyZXNzLS07ICAgICAgICAKICAgIH0sCiAgICBfb25JbnB1dENoYW5nZTogZnVuY3Rpb24oaW5wdXQpewogICAgICAgIGlmICh0aGlzLl9oYW5kbGVyIGluc3RhbmNlb2YgcXEuVXBsb2FkSGFuZGxlclhocil7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl91cGxvYWRGaWxlTGlzdChpbnB1dC5maWxlcyk7ICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAodGhpcy5fdmFsaWRhdGVGaWxlKGlucHV0KSl7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShpbnB1dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSAgICAgICAgICAgICAgIAogICAgICAgIHRoaXMuX2J1dHRvbi5yZXNldCgpOyAgIAogICAgfSwgIAogICAgX3VwbG9hZEZpbGVMaXN0OiBmdW5jdGlvbihmaWxlcyl7CiAgICAgICAgZm9yICh2YXIgaT0wOyBpPGZpbGVzLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgaWYgKCAhdGhpcy5fdmFsaWRhdGVGaWxlKGZpbGVzW2ldKSl7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0gICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yICh2YXIgaT0wOyBpPGZpbGVzLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShmaWxlc1tpXSk7ICAgICAgICAKICAgICAgICB9ICAgICAgICAKICAgIH0sICAgICAgIAogICAgX3VwbG9hZEZpbGU6IGZ1bmN0aW9uKGZpbGVDb250YWluZXIpeyAgICAgIAogICAgICAgIHZhciBpZCA9IHRoaXMuX2hhbmRsZXIuYWRkKGZpbGVDb250YWluZXIpOwogICAgICAgIHZhciBmaWxlTmFtZSA9IHRoaXMuX2hhbmRsZXIuZ2V0TmFtZShpZCk7CiAgICAgICAgCiAgICAgICAgaWYgKHRoaXMuX29wdGlvbnMub25TdWJtaXQoaWQsIGZpbGVOYW1lKSAhPT0gZmFsc2UpewogICAgICAgICAgICB0aGlzLl9vblN1Ym1pdChpZCwgZmlsZU5hbWUpOwogICAgICAgICAgICB0aGlzLl9oYW5kbGVyLnVwbG9hZChpZCwgdGhpcy5fb3B0aW9ucy5wYXJhbXMpOwogICAgICAgIH0KICAgIH0sICAgICAgCiAgICBfdmFsaWRhdGVGaWxlOiBmdW5jdGlvbihmaWxlKXsKICAgICAgICB2YXIgbmFtZSwgc2l6ZTsKICAgICAgICAKICAgICAgICBpZiAoZmlsZS52YWx1ZSl7CiAgICAgICAgICAgIC8vIGl0IGlzIGEgZmlsZSBpbnB1dCAgICAgICAgICAgIAogICAgICAgICAgICAvLyBnZXQgaW5wdXQgdmFsdWUgYW5kIHJlbW92ZSBwYXRoIHRvIG5vcm1hbGl6ZQogICAgICAgICAgICBuYW1lID0gZmlsZS52YWx1ZS5yZXBsYWNlKC8uKihcL3xcXCkvLCAiIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gZml4IG1pc3NpbmcgcHJvcGVydGllcyBpbiBTYWZhcmkKICAgICAgICAgICAgbmFtZSA9IGZpbGUuZmlsZU5hbWUgIT0gbnVsbCA/IGZpbGUuZmlsZU5hbWUgOiBmaWxlLm5hbWU7CiAgICAgICAgICAgIHNpemUgPSBmaWxlLmZpbGVTaXplICE9IG51bGwgPyBmaWxlLmZpbGVTaXplIDogZmlsZS5zaXplOwogICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKICAgICAgICBpZiAoISB0aGlzLl9pc0FsbG93ZWRFeHRlbnNpb24obmFtZSkpeyAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9lcnJvcigndHlwZUVycm9yJywgbmFtZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAwKXsgICAgICAgICAgICAKICAgICAgICAgICAgdGhpcy5fZXJyb3IoJ2VtcHR5RXJyb3InLCBuYW1lKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSBpZiAoc2l6ZSAmJiB0aGlzLl9vcHRpb25zLnNpemVMaW1pdCAmJiBzaXplID4gdGhpcy5fb3B0aW9ucy5zaXplTGltaXQpeyAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9lcnJvcignc2l6ZUVycm9yJywgbmFtZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIGlmIChzaXplICYmIHNpemUgPCB0aGlzLl9vcHRpb25zLm1pblNpemVMaW1pdCl7CiAgICAgICAgICAgIHRoaXMuX2Vycm9yKCdtaW5TaXplRXJyb3InLCBuYW1lKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgICAgCiAgICB9LAogICAgX2Vycm9yOiBmdW5jdGlvbihjb2RlLCBmaWxlTmFtZSl7CiAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLl9vcHRpb25zLm1lc3NhZ2VzW2NvZGVdOyAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gcihuYW1lLCByZXBsYWNlbWVudCl7IG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UobmFtZSwgcmVwbGFjZW1lbnQpOyB9CiAgICAgICAgCiAgICAgICAgcigne2ZpbGV9JywgdGhpcy5fZm9ybWF0RmlsZU5hbWUoZmlsZU5hbWUpKTsgICAgICAgIAogICAgICAgIHIoJ3tleHRlbnNpb25zfScsIHRoaXMuX29wdGlvbnMuYWxsb3dlZEV4dGVuc2lvbnMuam9pbignLCAnKSk7CiAgICAgICAgcigne3NpemVMaW1pdH0nLCB0aGlzLl9mb3JtYXRTaXplKHRoaXMuX29wdGlvbnMuc2l6ZUxpbWl0KSk7CiAgICAgICAgcigne21pblNpemVMaW1pdH0nLCB0aGlzLl9mb3JtYXRTaXplKHRoaXMuX29wdGlvbnMubWluU2l6ZUxpbWl0KSk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fb3B0aW9ucy5zaG93TWVzc2FnZShtZXNzYWdlKTsgICAgICAgICAgICAgICAgCiAgICB9LAogICAgX2Zvcm1hdEZpbGVOYW1lOiBmdW5jdGlvbihuYW1lKXsKICAgICAgICBpZiAobmFtZS5sZW5ndGggPiAzMyl7CiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDAsIDE5KSArICcuLi4nICsgbmFtZS5zbGljZSgtMTMpOyAgICAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5hbWU7CiAgICB9LAogICAgX2lzQWxsb3dlZEV4dGVuc2lvbjogZnVuY3Rpb24oZmlsZU5hbWUpewogICAgICAgIHZhciBleHQgPSAoLTEgIT09IGZpbGVOYW1lLmluZGV4T2YoJy4nKSkgPyBmaWxlTmFtZS5yZXBsYWNlKC8uKlsuXS8sICcnKS50b0xvd2VyQ2FzZSgpIDogJyc7CiAgICAgICAgdmFyIGFsbG93ZWQgPSB0aGlzLl9vcHRpb25zLmFsbG93ZWRFeHRlbnNpb25zOwogICAgICAgIAogICAgICAgIGlmICghYWxsb3dlZC5sZW5ndGgpe3JldHVybiB0cnVlO30gICAgICAgIAogICAgICAgIAogICAgICAgIGZvciAodmFyIGk9MDsgaTxhbGxvd2VkLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgaWYgKGFsbG93ZWRbaV0udG9Mb3dlckNhc2UoKSA9PSBleHQpeyByZXR1cm4gdHJ1ZTt9ICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9LCAgICAKICAgIF9mb3JtYXRTaXplOiBmdW5jdGlvbihieXRlcyl7CiAgICAgICAgdmFyIGkgPSAtMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICBkbyB7CiAgICAgICAgICAgIGJ5dGVzID0gYnl0ZXMgLyAxMDI0OwogICAgICAgICAgICBpKys7ICAKICAgICAgICB9IHdoaWxlIChieXRlcyA+IDk5KTsKICAgICAgICAKICAgICAgICByZXR1cm4gTWF0aC5tYXgoYnl0ZXMsIDAuMSkudG9GaXhlZCgxKSArIFsna0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInXVtpXTsgICAgICAgICAgCiAgICB9Cn07CiAgICAKICAgICAgIAovKioKICogQ2xhc3MgdGhhdCBjcmVhdGVzIHVwbG9hZCB3aWRnZXQgd2l0aCBkcmFnLWFuZC1kcm9wIGFuZCBmaWxlIGxpc3QKICogQGluaGVyaXRzIHFxLkZpbGVVcGxvYWRlckJhc2ljCiAqLwpxcS5GaWxlVXBsb2FkZXIgPSBmdW5jdGlvbihvKXsKICAgIC8vIGNhbGwgcGFyZW50IGNvbnN0cnVjdG9yCiAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgCiAgICAvLyBhZGRpdGlvbmFsIG9wdGlvbnMgICAgCiAgICBxcS5leHRlbmQodGhpcy5fb3B0aW9ucywgewogICAgICAgIGVsZW1lbnQ6IG51bGwsCiAgICAgICAgLy8gaWYgc2V0LCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiBxcS11cGxvYWQtbGlzdCBpbiB0ZW1wbGF0ZQogICAgICAgIGxpc3RFbGVtZW50OiBudWxsLAogICAgICAgICAgICAgICAgCiAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJxcS11cGxvYWRlciI+JyArIAogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InFxLXVwbG9hZC1kcm9wLWFyZWEiPjxzcGFuPkRyb3AgZmlsZXMgaGVyZSB0byB1cGxvYWQ8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWJ1dHRvbiI+VXBsb2FkIGEgZmlsZTwvZGl2PicgKwogICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0icXEtdXBsb2FkLWxpc3QiPjwvdWw+JyArIAogICAgICAgICAgICAgJzwvZGl2PicsCgogICAgICAgIC8vIHRlbXBsYXRlIGZvciBvbmUgaXRlbSBpbiBmaWxlIGxpc3QKICAgICAgICBmaWxlVGVtcGxhdGU6ICc8bGk+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1maWxlIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1zcGlubmVyIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1zaXplIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPGEgY2xhc3M9InFxLXVwbG9hZC1jYW5jZWwiIGhyZWY9IiMiPkNhbmNlbDwvYT4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icXEtdXBsb2FkLWZhaWxlZC10ZXh0Ij5GYWlsZWQ8L3NwYW4+JyArCiAgICAgICAgICAgICc8L2xpPicsICAgICAgICAKICAgICAgICAKICAgICAgICBjbGFzc2VzOiB7CiAgICAgICAgICAgIC8vIHVzZWQgdG8gZ2V0IGVsZW1lbnRzIGZyb20gdGVtcGxhdGVzCiAgICAgICAgICAgIGJ1dHRvbjogJ3FxLXVwbG9hZC1idXR0b24nLAogICAgICAgICAgICBkcm9wOiAncXEtdXBsb2FkLWRyb3AtYXJlYScsCiAgICAgICAgICAgIGRyb3BBY3RpdmU6ICdxcS11cGxvYWQtZHJvcC1hcmVhLWFjdGl2ZScsCiAgICAgICAgICAgIGxpc3Q6ICdxcS11cGxvYWQtbGlzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBmaWxlOiAncXEtdXBsb2FkLWZpbGUnLAogICAgICAgICAgICBzcGlubmVyOiAncXEtdXBsb2FkLXNwaW5uZXInLAogICAgICAgICAgICBzaXplOiAncXEtdXBsb2FkLXNpemUnLAogICAgICAgICAgICBjYW5jZWw6ICdxcS11cGxvYWQtY2FuY2VsJywKCiAgICAgICAgICAgIC8vIGFkZGVkIHRvIGxpc3QgaXRlbSB3aGVuIHVwbG9hZCBjb21wbGV0ZXMKICAgICAgICAgICAgLy8gdXNlZCBpbiBjc3MgdG8gaGlkZSBwcm9ncmVzcyBzcGlubmVyCiAgICAgICAgICAgIHN1Y2Nlc3M6ICdxcS11cGxvYWQtc3VjY2VzcycsCiAgICAgICAgICAgIGZhaWw6ICdxcS11cGxvYWQtZmFpbCcKICAgICAgICB9CiAgICB9KTsKICAgIC8vIG92ZXJ3cml0ZSBvcHRpb25zIHdpdGggdXNlciBzdXBwbGllZCAgICAKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgICAgICAgCgogICAgdGhpcy5fZWxlbWVudCA9IHRoaXMuX29wdGlvbnMuZWxlbWVudDsKICAgIHRoaXMuX2VsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fb3B0aW9ucy50ZW1wbGF0ZTsgICAgICAgIAogICAgdGhpcy5fbGlzdEVsZW1lbnQgPSB0aGlzLl9vcHRpb25zLmxpc3RFbGVtZW50IHx8IHRoaXMuX2ZpbmQodGhpcy5fZWxlbWVudCwgJ2xpc3QnKTsKICAgIAogICAgdGhpcy5fY2xhc3NlcyA9IHRoaXMuX29wdGlvbnMuY2xhc3NlczsKICAgICAgICAKICAgIHRoaXMuX2J1dHRvbiA9IHRoaXMuX2NyZWF0ZVVwbG9hZEJ1dHRvbih0aGlzLl9maW5kKHRoaXMuX2VsZW1lbnQsICdidXR0b24nKSk7ICAgICAgICAKICAgIAogICAgdGhpcy5fYmluZENhbmNlbEV2ZW50KCk7CiAgICB0aGlzLl9zZXR1cERyYWdEcm9wKCk7Cn07CgovLyBpbmhlcml0IGZyb20gQmFzaWMgVXBsb2FkZXIKcXEuZXh0ZW5kKHFxLkZpbGVVcGxvYWRlci5wcm90b3R5cGUsIHFxLkZpbGVVcGxvYWRlckJhc2ljLnByb3RvdHlwZSk7CgpxcS5leHRlbmQocXEuRmlsZVVwbG9hZGVyLnByb3RvdHlwZSwgewogICAgLyoqCiAgICAgKiBHZXRzIG9uZSBvZiB0aGUgZWxlbWVudHMgbGlzdGVkIGluIHRoaXMuX29wdGlvbnMuY2xhc3NlcwogICAgICoqLwogICAgX2ZpbmQ6IGZ1bmN0aW9uKHBhcmVudCwgdHlwZSl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB2YXIgZWxlbWVudCA9IHFxLmdldEJ5Q2xhc3MocGFyZW50LCB0aGlzLl9vcHRpb25zLmNsYXNzZXNbdHlwZV0pWzBdOyAgICAgICAgCiAgICAgICAgaWYgKCFlbGVtZW50KXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdlbGVtZW50IG5vdCBmb3VuZCAnICsgdHlwZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBlbGVtZW50OwogICAgfSwKICAgIF9zZXR1cERyYWdEcm9wOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgZHJvcEFyZWEgPSB0aGlzLl9maW5kKHRoaXMuX2VsZW1lbnQsICdkcm9wJyk7ICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgIHZhciBkeiA9IG5ldyBxcS5VcGxvYWREcm9wWm9uZSh7CiAgICAgICAgICAgIGVsZW1lbnQ6IGRyb3BBcmVhLAogICAgICAgICAgICBvbkVudGVyOiBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgIHFxLmFkZENsYXNzKGRyb3BBcmVhLCBzZWxmLl9jbGFzc2VzLmRyb3BBY3RpdmUpOwogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb25MZWF2ZTogZnVuY3Rpb24oZSl7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbkxlYXZlTm90RGVzY2VuZGFudHM6IGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgcXEucmVtb3ZlQ2xhc3MoZHJvcEFyZWEsIHNlbGYuX2NsYXNzZXMuZHJvcEFjdGl2ZSk7ICAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb25Ecm9wOiBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICBxcS5yZW1vdmVDbGFzcyhkcm9wQXJlYSwgc2VsZi5fY2xhc3Nlcy5kcm9wQWN0aXZlKTsKICAgICAgICAgICAgICAgIHNlbGYuX3VwbG9hZEZpbGVMaXN0KGUuZGF0YVRyYW5zZmVyLmZpbGVzKTsgICAgCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICAgICAgICAgIAogICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgogICAgICAgIHFxLmF0dGFjaChkb2N1bWVudCwgJ2RyYWdlbnRlcicsIGZ1bmN0aW9uKGUpeyAgICAgCiAgICAgICAgICAgIGlmICghZHouX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOyAKICAgICAgICAgICAgCiAgICAgICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOyAgICAgICAgICAgIAogICAgICAgIH0pOyAgICAgICAgICAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKGRvY3VtZW50LCAnZHJhZ2xlYXZlJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmICghZHouX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOyAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTsKICAgICAgICAgICAgLy8gb25seSBmaXJlIHdoZW4gbGVhdmluZyBkb2N1bWVudCBvdXQKICAgICAgICAgICAgaWYgKCAhIHJlbGF0ZWRUYXJnZXQgfHwgcmVsYXRlZFRhcmdldC5ub2RlTmFtZSA9PSAiSFRNTCIpeyAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZHJvcEFyZWEuc3R5bGUuZGlzcGxheSA9ICdub25lJzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgICAgICAgICAgIAogICAgfSwKICAgIF9vblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5wcm90b3R5cGUuX29uU3VibWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgdGhpcy5fYWRkVG9MaXN0KGlkLCBmaWxlTmFtZSk7ICAKICAgIH0sCiAgICBfb25Qcm9ncmVzczogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCBsb2FkZWQsIHRvdGFsKXsKICAgICAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5wcm90b3R5cGUuX29uUHJvZ3Jlc3MuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCiAgICAgICAgdmFyIGl0ZW0gPSB0aGlzLl9nZXRJdGVtQnlGaWxlSWQoaWQpOwogICAgICAgIHZhciBzaXplID0gdGhpcy5fZmluZChpdGVtLCAnc2l6ZScpOwogICAgICAgIHNpemUuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOwogICAgICAgIAogICAgICAgIHZhciB0ZXh0OyAKICAgICAgICBpZiAobG9hZGVkICE9IHRvdGFsKXsKICAgICAgICAgICAgdGV4dCA9IE1hdGgucm91bmQobG9hZGVkIC8gdG90YWwgKiAxMDApICsgJyUgZnJvbSAnICsgdGhpcy5fZm9ybWF0U2l6ZSh0b3RhbCk7CiAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0ZXh0ID0gdGhpcy5fZm9ybWF0U2l6ZSh0b3RhbCk7CiAgICAgICAgfSAgICAgICAgICAKICAgICAgICAKICAgICAgICBxcS5zZXRUZXh0KHNpemUsIHRleHQpOyAgICAgICAgIAogICAgfSwKICAgIF9vbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIHJlc3VsdCl7CiAgICAgICAgcXEuRmlsZVVwbG9hZGVyQmFzaWMucHJvdG90eXBlLl9vbkNvbXBsZXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICAgIC8vIG1hcmsgY29tcGxldGVkCiAgICAgICAgdmFyIGl0ZW0gPSB0aGlzLl9nZXRJdGVtQnlGaWxlSWQoaWQpOyAgICAgICAgICAgICAgICAKICAgICAgICBxcS5yZW1vdmUodGhpcy5fZmluZChpdGVtLCAnY2FuY2VsJykpOwogICAgICAgIHFxLnJlbW92ZSh0aGlzLl9maW5kKGl0ZW0sICdzcGlubmVyJykpOwogICAgICAgIAogICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzcyl7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKGl0ZW0sIHRoaXMuX2NsYXNzZXMuc3VjY2Vzcyk7ICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKGl0ZW0sIHRoaXMuX2NsYXNzZXMuZmFpbCk7CiAgICAgICAgfSAgICAgICAgIAogICAgfSwKICAgIF9hZGRUb0xpc3Q6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7CiAgICAgICAgdmFyIGl0ZW0gPSBxcS50b0VsZW1lbnQodGhpcy5fb3B0aW9ucy5maWxlVGVtcGxhdGUpOyAgICAgICAgICAgICAgICAKICAgICAgICBpdGVtLnFxRmlsZUlkID0gaWQ7CgogICAgICAgIHZhciBmaWxlRWxlbWVudCA9IHRoaXMuX2ZpbmQoaXRlbSwgJ2ZpbGUnKTsgICAgICAgIAogICAgICAgIHFxLnNldFRleHQoZmlsZUVsZW1lbnQsIHRoaXMuX2Zvcm1hdEZpbGVOYW1lKGZpbGVOYW1lKSk7CiAgICAgICAgdGhpcy5fZmluZChpdGVtLCAnc2l6ZScpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7ICAgICAgICAKCiAgICAgICAgdGhpcy5fbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoaXRlbSk7CiAgICB9LAogICAgX2dldEl0ZW1CeUZpbGVJZDogZnVuY3Rpb24oaWQpewogICAgICAgIHZhciBpdGVtID0gdGhpcy5fbGlzdEVsZW1lbnQuZmlyc3RDaGlsZDsgICAgICAgIAogICAgICAgIAogICAgICAgIC8vIHRoZXJlIGNhbid0IGJlIHR4dCBub2RlcyBpbiBkeW5hbWljYWxseSBjcmVhdGVkIGxpc3QKICAgICAgICAvLyBhbmQgd2UgY2FuICB1c2UgbmV4dFNpYmxpbmcKICAgICAgICB3aGlsZSAoaXRlbSl7ICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChpdGVtLnFxRmlsZUlkID09IGlkKSByZXR1cm4gaXRlbTsgICAgICAgICAgICAKICAgICAgICAgICAgaXRlbSA9IGl0ZW0ubmV4dFNpYmxpbmc7CiAgICAgICAgfSAgICAgICAgICAKICAgIH0sCiAgICAvKioKICAgICAqIGRlbGVnYXRlIGNsaWNrIGV2ZW50IGZvciBjYW5jZWwgbGluayAKICAgICAqKi8KICAgIF9iaW5kQ2FuY2VsRXZlbnQ6IGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgICBsaXN0ID0gdGhpcy5fbGlzdEVsZW1lbnQ7ICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKGxpc3QsICdjbGljaycsIGZ1bmN0aW9uKGUpeyAgICAgICAgICAgIAogICAgICAgICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocXEuaGFzQ2xhc3ModGFyZ2V0LCBzZWxmLl9jbGFzc2VzLmNhbmNlbCkpeyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHFxLnByZXZlbnREZWZhdWx0KGUpOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBpdGVtID0gdGFyZ2V0LnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVyLmNhbmNlbChpdGVtLnFxRmlsZUlkKTsKICAgICAgICAgICAgICAgIHFxLnJlbW92ZShpdGVtKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSAgICAKfSk7CiAgICAKcXEuVXBsb2FkRHJvcFpvbmUgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZWxlbWVudDogbnVsbCwgIAogICAgICAgIG9uRW50ZXI6IGZ1bmN0aW9uKGUpe30sCiAgICAgICAgb25MZWF2ZTogZnVuY3Rpb24oZSl7fSwgIAogICAgICAgIC8vIGlzIG5vdCBmaXJlZCB3aGVuIGxlYXZpbmcgZWxlbWVudCBieSBob3ZlcmluZyBkZXNjZW5kYW50cyAgIAogICAgICAgIG9uTGVhdmVOb3REZXNjZW5kYW50czogZnVuY3Rpb24oZSl7fSwgICAKICAgICAgICBvbkRyb3A6IGZ1bmN0aW9uKGUpe30gICAgICAgICAgICAgICAgICAgICAgIAogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgCiAgICAKICAgIHRoaXMuX2VsZW1lbnQgPSB0aGlzLl9vcHRpb25zLmVsZW1lbnQ7CiAgICAKICAgIHRoaXMuX2Rpc2FibGVEcm9wT3V0c2lkZSgpOwogICAgdGhpcy5fYXR0YWNoRXZlbnRzKCk7ICAgCn07CgpxcS5VcGxvYWREcm9wWm9uZS5wcm90b3R5cGUgPSB7CiAgICBfZGlzYWJsZURyb3BPdXRzaWRlOiBmdW5jdGlvbihlKXsKICAgICAgICAvLyBydW4gb25seSBvbmNlIGZvciBhbGwgaW5zdGFuY2VzCiAgICAgICAgaWYgKCFxcS5VcGxvYWREcm9wWm9uZS5kcm9wT3V0c2lkZURpc2FibGVkICl7CgogICAgICAgICAgICBxcS5hdHRhY2goZG9jdW1lbnQsICdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgaWYgKGUuZGF0YVRyYW5zZmVyKXsKICAgICAgICAgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgCiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBxcS5VcGxvYWREcm9wWm9uZS5kcm9wT3V0c2lkZURpc2FibGVkID0gdHJ1ZTsgCiAgICAgICAgfSAgICAgICAgCiAgICB9LAogICAgX2F0dGFjaEV2ZW50czogZnVuY3Rpb24oKXsKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKHNlbGYuX2VsZW1lbnQsICdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICBpZiAoIXNlbGYuX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIGVmZmVjdCA9IGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ7CiAgICAgICAgICAgIGlmIChlZmZlY3QgPT0gJ21vdmUnIHx8IGVmZmVjdCA9PSAnbGlua01vdmUnKXsKICAgICAgICAgICAgICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7IC8vIGZvciBGRiAob25seSBtb3ZlIGFsbG93ZWQpICAgIAogICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknOyAvLyBmb3IgQ2hyb21lCiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKHNlbGYuX2VsZW1lbnQsICdkcmFnZW50ZXInLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgaWYgKCFzZWxmLl9pc1ZhbGlkRmlsZURyYWcoZSkpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHNlbGYuX29wdGlvbnMub25FbnRlcihlKTsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICBxcS5hdHRhY2goc2VsZi5fZWxlbWVudCwgJ2RyYWdsZWF2ZScsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICBpZiAoIXNlbGYuX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOwogICAgICAgICAgICAKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkxlYXZlKGUpOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTsgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIGRvIG5vdCBmaXJlIHdoZW4gbW92aW5nIGEgbW91c2Ugb3ZlciBhIGRlc2NlbmRhbnQKICAgICAgICAgICAgaWYgKHFxLmNvbnRhaW5zKHRoaXMsIHJlbGF0ZWRUYXJnZXQpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uTGVhdmVOb3REZXNjZW5kYW50cyhlKTsgCiAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKICAgICAgICBxcS5hdHRhY2goc2VsZi5fZWxlbWVudCwgJ2Ryb3AnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgaWYgKCFzZWxmLl9pc1ZhbGlkRmlsZURyYWcoZSkpIHJldHVybjsKICAgICAgICAgICAgCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkRyb3AoZSk7CiAgICAgICAgfSk7ICAgICAgICAgIAogICAgfSwKICAgIF9pc1ZhbGlkRmlsZURyYWc6IGZ1bmN0aW9uKGUpewogICAgICAgIHZhciBkdCA9IGUuZGF0YVRyYW5zZmVyLAogICAgICAgICAgICAvLyBkbyBub3QgY2hlY2sgZHQudHlwZXMuY29udGFpbnMgaW4gd2Via2l0LCBiZWNhdXNlIGl0IGNyYXNoZXMgc2FmYXJpIDQgICAgICAgICAgICAKICAgICAgICAgICAgaXNXZWJraXQgPSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkFwcGxlV2ViS2l0IikgPiAtMTsgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgLy8gZHQuZWZmZWN0QWxsb3dlZCBpcyBub25lIGluIFNhZmFyaSA1CiAgICAgICAgLy8gZHQudHlwZXMuY29udGFpbnMgY2hlY2sgaXMgZm9yIGZpcmVmb3ggICAgICAgICAgICAKICAgICAgICByZXR1cm4gZHQgJiYgZHQuZWZmZWN0QWxsb3dlZCAhPSAnbm9uZScgJiYgCiAgICAgICAgICAgIChkdC5maWxlcyB8fCAoIWlzV2Via2l0ICYmIGR0LnR5cGVzLmNvbnRhaW5zICYmIGR0LnR5cGVzLmNvbnRhaW5zKCdGaWxlcycpKSk7CiAgICAgICAgCiAgICB9ICAgICAgICAKfTsgCgpxcS5VcGxvYWRCdXR0b24gPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZWxlbWVudDogbnVsbCwgIAogICAgICAgIC8vIGlmIHNldCB0byB0cnVlIGFkZHMgbXVsdGlwbGUgYXR0cmlidXRlIHRvIGZpbGUgaW5wdXQgICAgICAKICAgICAgICBtdWx0aXBsZTogZmFsc2UsCiAgICAgICAgLy8gbmFtZSBhdHRyaWJ1dGUgb2YgZmlsZSBpbnB1dAogICAgICAgIG5hbWU6ICdmaWxlJywKICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oaW5wdXQpe30sCiAgICAgICAgaG92ZXJDbGFzczogJ3FxLXVwbG9hZC1idXR0b24taG92ZXInLAogICAgICAgIGZvY3VzQ2xhc3M6ICdxcS11cGxvYWQtYnV0dG9uLWZvY3VzJyAgICAgICAgICAgICAgICAgICAgICAgCiAgICB9OwogICAgCiAgICBxcS5leHRlbmQodGhpcy5fb3B0aW9ucywgbyk7CiAgICAgICAgCiAgICB0aGlzLl9lbGVtZW50ID0gdGhpcy5fb3B0aW9ucy5lbGVtZW50OwogICAgCiAgICAvLyBtYWtlIGJ1dHRvbiBzdWl0YWJsZSBjb250YWluZXIgZm9yIGlucHV0CiAgICBxcS5jc3ModGhpcy5fZWxlbWVudCwgewogICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLAogICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJywKICAgICAgICAvLyBNYWtlIHN1cmUgYnJvd3NlIGJ1dHRvbiBpcyBpbiB0aGUgcmlnaHQgc2lkZQogICAgICAgIC8vIGluIEludGVybmV0IEV4cGxvcmVyCiAgICAgICAgZGlyZWN0aW9uOiAnbHRyJwogICAgfSk7ICAgCiAgICAKICAgIHRoaXMuX2lucHV0ID0gdGhpcy5fY3JlYXRlSW5wdXQoKTsKfTsKCnFxLlVwbG9hZEJ1dHRvbi5wcm90b3R5cGUgPSB7CiAgICAvKiByZXR1cm5zIGZpbGUgaW5wdXQgZWxlbWVudCAqLyAgICAKICAgIGdldElucHV0OiBmdW5jdGlvbigpewogICAgICAgIHJldHVybiB0aGlzLl9pbnB1dDsKICAgIH0sCiAgICAvKiBjbGVhbnMvcmVjcmVhdGVzIHRoZSBmaWxlIGlucHV0ICovCiAgICByZXNldDogZnVuY3Rpb24oKXsKICAgICAgICBpZiAodGhpcy5faW5wdXQucGFyZW50Tm9kZSl7CiAgICAgICAgICAgIHFxLnJlbW92ZSh0aGlzLl9pbnB1dCk7ICAgIAogICAgICAgIH0gICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgcXEucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudCwgdGhpcy5fb3B0aW9ucy5mb2N1c0NsYXNzKTsKICAgICAgICB0aGlzLl9pbnB1dCA9IHRoaXMuX2NyZWF0ZUlucHV0KCk7CiAgICB9LCAgICAKICAgIF9jcmVhdGVJbnB1dDogZnVuY3Rpb24oKXsgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgICAKICAgICAgICBpZiAodGhpcy5fb3B0aW9ucy5tdWx0aXBsZSl7CiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCAibXVsdGlwbGUiKTsKICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiZmlsZSIpOwogICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgibmFtZSIsIHRoaXMuX29wdGlvbnMubmFtZSk7CiAgICAgICAgCiAgICAgICAgcXEuY3NzKGlucHV0LCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLAogICAgICAgICAgICAvLyBpbiBPcGVyYSBvbmx5ICdicm93c2UnIGJ1dHRvbgogICAgICAgICAgICAvLyBpcyBjbGlja2FibGUgYW5kIGl0IGlzIGxvY2F0ZWQgYXQKICAgICAgICAgICAgLy8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0CiAgICAgICAgICAgIHJpZ2h0OiAwLAogICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdBcmlhbCcsCiAgICAgICAgICAgIC8vIDQgcGVyc29ucyByZXBvcnRlZCB0aGlzLCB0aGUgbWF4IHZhbHVlcyB0aGF0IHdvcmtlZCBmb3IgdGhlbSB3ZXJlIDI0MywgMjM2LCAyMzYsIDExOAogICAgICAgICAgICBmb250U2l6ZTogJzExOHB4JywKICAgICAgICAgICAgbWFyZ2luOiAwLAogICAgICAgICAgICBwYWRkaW5nOiAwLAogICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJywKICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgIH0pOwogICAgICAgIAogICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXQpOwoKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgcXEuYXR0YWNoKGlucHV0LCAnY2hhbmdlJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkNoYW5nZShpbnB1dCk7CiAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKICAgICAgICBxcS5hdHRhY2goaW5wdXQsICdtb3VzZW92ZXInLCBmdW5jdGlvbigpewogICAgICAgICAgICBxcS5hZGRDbGFzcyhzZWxmLl9lbGVtZW50LCBzZWxmLl9vcHRpb25zLmhvdmVyQ2xhc3MpOwogICAgICAgIH0pOwogICAgICAgIHFxLmF0dGFjaChpbnB1dCwgJ21vdXNlb3V0JywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgcXEucmVtb3ZlQ2xhc3Moc2VsZi5fZWxlbWVudCwgc2VsZi5fb3B0aW9ucy5ob3ZlckNsYXNzKTsKICAgICAgICB9KTsKICAgICAgICBxcS5hdHRhY2goaW5wdXQsICdmb2N1cycsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKHNlbGYuX2VsZW1lbnQsIHNlbGYuX29wdGlvbnMuZm9jdXNDbGFzcyk7CiAgICAgICAgfSk7CiAgICAgICAgcXEuYXR0YWNoKGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHFxLnJlbW92ZUNsYXNzKHNlbGYuX2VsZW1lbnQsIHNlbGYuX29wdGlvbnMuZm9jdXNDbGFzcyk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIElFIGFuZCBPcGVyYSwgdW5mb3J0dW5hdGVseSBoYXZlIDIgdGFiIHN0b3BzIG9uIGZpbGUgaW5wdXQKICAgICAgICAvLyB3aGljaCBpcyB1bmFjY2VwdGFibGUgaW4gb3VyIGNhc2UsIGRpc2FibGUga2V5Ym9hcmQgYWNjZXNzCiAgICAgICAgaWYgKHdpbmRvdy5hdHRhY2hFdmVudCl7CiAgICAgICAgICAgIC8vIGl0IGlzIElFIG9yIE9wZXJhCiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndGFiSW5kZXgnLCAiLTEiKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpbnB1dDsgICAgICAgICAgICAKICAgIH0gICAgICAgIAp9OwoKLyoqCiAqIENsYXNzIGZvciB1cGxvYWRpbmcgZmlsZXMsIHVwbG9hZGluZyBpdHNlbGYgaXMgaGFuZGxlZCBieSBjaGlsZCBjbGFzc2VzCiAqLwpxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZGVidWc6IGZhbHNlLAogICAgICAgIGFjdGlvbjogJy91cGxvYWQucGhwJywKICAgICAgICAvLyBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHVwbG9hZHMgICAgICAgIAogICAgICAgIG1heENvbm5lY3Rpb25zOiA5OTksCiAgICAgICAgb25Qcm9ncmVzczogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCBsb2FkZWQsIHRvdGFsKXt9LAogICAgICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgcmVzcG9uc2Upe30sCiAgICAgICAgb25DYW5jZWw6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7fQogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgICAgCiAgICAKICAgIHRoaXMuX3F1ZXVlID0gW107CiAgICAvLyBwYXJhbXMgZm9yIGZpbGVzIGluIHF1ZXVlCiAgICB0aGlzLl9wYXJhbXMgPSBbXTsKfTsKcXEuVXBsb2FkSGFuZGxlckFic3RyYWN0LnByb3RvdHlwZSA9IHsKICAgIGxvZzogZnVuY3Rpb24oc3RyKXsKICAgICAgICBpZiAodGhpcy5fb3B0aW9ucy5kZWJ1ZyAmJiB3aW5kb3cuY29uc29sZSkgY29uc29sZS5sb2coJ1t1cGxvYWRlcl0gJyArIHN0cik7ICAgICAgICAKICAgIH0sCiAgICAvKioKICAgICAqIEFkZHMgZmlsZSBvciBmaWxlIGlucHV0IHRvIHRoZSBxdWV1ZQogICAgICogQHJldHVybnMgaWQKICAgICAqKi8gICAgCiAgICBhZGQ6IGZ1bmN0aW9uKGZpbGUpe30sCiAgICAvKioKICAgICAqIFNlbmRzIHRoZSBmaWxlIGlkZW50aWZpZWQgYnkgaWQgYW5kIGFkZGl0aW9uYWwgcXVlcnkgcGFyYW1zIHRvIHRoZSBzZXJ2ZXIKICAgICAqLwogICAgdXBsb2FkOiBmdW5jdGlvbihpZCwgcGFyYW1zKXsKICAgICAgICB2YXIgbGVuID0gdGhpcy5fcXVldWUucHVzaChpZCk7CgogICAgICAgIHZhciBjb3B5ID0ge307ICAgICAgICAKICAgICAgICBxcS5leHRlbmQoY29weSwgcGFyYW1zKTsKICAgICAgICB0aGlzLl9wYXJhbXNbaWRdID0gY29weTsgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgLy8gaWYgdG9vIG1hbnkgYWN0aXZlIHVwbG9hZHMsIHdhaXQuLi4KICAgICAgICBpZiAobGVuIDw9IHRoaXMuX29wdGlvbnMubWF4Q29ubmVjdGlvbnMpeyAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl91cGxvYWQoaWQsIHRoaXMuX3BhcmFtc1tpZF0pOwogICAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIENhbmNlbHMgZmlsZSB1cGxvYWQgYnkgaWQKICAgICAqLwogICAgY2FuY2VsOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdGhpcy5fY2FuY2VsKGlkKTsKICAgICAgICB0aGlzLl9kZXF1ZXVlKGlkKTsKICAgIH0sCiAgICAvKioKICAgICAqIENhbmNlbGxzIGFsbCB1cGxvYWRzCiAgICAgKi8KICAgIGNhbmNlbEFsbDogZnVuY3Rpb24oKXsKICAgICAgICBmb3IgKHZhciBpPTA7IGk8dGhpcy5fcXVldWUubGVuZ3RoOyBpKyspewogICAgICAgICAgICB0aGlzLl9jYW5jZWwodGhpcy5fcXVldWVbaV0pOwogICAgICAgIH0KICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdOwogICAgfSwKICAgIC8qKgogICAgICogUmV0dXJucyBuYW1lIG9mIHRoZSBmaWxlIGlkZW50aWZpZWQgYnkgaWQKICAgICAqLwogICAgZ2V0TmFtZTogZnVuY3Rpb24oaWQpe30sCiAgICAvKioKICAgICAqIFJldHVybnMgc2l6ZSBvZiB0aGUgZmlsZSBpZGVudGlmaWVkIGJ5IGlkCiAgICAgKi8gICAgICAgICAgCiAgICBnZXRTaXplOiBmdW5jdGlvbihpZCl7fSwKICAgIC8qKgogICAgICogUmV0dXJucyBpZCBvZiBmaWxlcyBiZWluZyB1cGxvYWRlZCBvcgogICAgICogd2FpdGluZyBmb3IgdGhlaXIgdHVybgogICAgICovCiAgICBnZXRRdWV1ZTogZnVuY3Rpb24oKXsKICAgICAgICByZXR1cm4gdGhpcy5fcXVldWU7CiAgICB9LAogICAgLyoqCiAgICAgKiBBY3R1YWwgdXBsb2FkIG1ldGhvZAogICAgICovCiAgICBfdXBsb2FkOiBmdW5jdGlvbihpZCl7fSwKICAgIC8qKgogICAgICogQWN0dWFsIGNhbmNlbCBtZXRob2QKICAgICAqLwogICAgX2NhbmNlbDogZnVuY3Rpb24oaWQpe30sICAgICAKICAgIC8qKgogICAgICogUmVtb3ZlcyBlbGVtZW50IGZyb20gcXVldWUsIHN0YXJ0cyB1cGxvYWQgb2YgbmV4dAogICAgICovCiAgICBfZGVxdWV1ZTogZnVuY3Rpb24oaWQpewogICAgICAgIHZhciBpID0gcXEuaW5kZXhPZih0aGlzLl9xdWV1ZSwgaWQpOwogICAgICAgIHRoaXMuX3F1ZXVlLnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICAgIAogICAgICAgIHZhciBtYXggPSB0aGlzLl9vcHRpb25zLm1heENvbm5lY3Rpb25zOwogICAgICAgIAogICAgICAgIGlmICh0aGlzLl9xdWV1ZS5sZW5ndGggPj0gbWF4ICYmIGkgPCBtYXgpewogICAgICAgICAgICB2YXIgbmV4dElkID0gdGhpcy5fcXVldWVbbWF4LTFdOwogICAgICAgICAgICB0aGlzLl91cGxvYWQobmV4dElkLCB0aGlzLl9wYXJhbXNbbmV4dElkXSk7CiAgICAgICAgfQogICAgfSAgICAgICAgCn07CgovKioKICogQ2xhc3MgZm9yIHVwbG9hZGluZyBmaWxlcyB1c2luZyBmb3JtIGFuZCBpZnJhbWUKICogQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdAogKi8KcXEuVXBsb2FkSGFuZGxlckZvcm0gPSBmdW5jdGlvbihvKXsKICAgIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgCiAgICB0aGlzLl9pbnB1dHMgPSB7fTsKfTsKLy8gQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdApxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlckZvcm0ucHJvdG90eXBlLCBxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QucHJvdG90eXBlKTsKCnFxLmV4dGVuZChxcS5VcGxvYWRIYW5kbGVyRm9ybS5wcm90b3R5cGUsIHsKICAgIGFkZDogZnVuY3Rpb24oZmlsZUlucHV0KXsKICAgICAgICBmaWxlSW5wdXQuc2V0QXR0cmlidXRlKCduYW1lJywgJ3FxZmlsZScpOwogICAgICAgIHZhciBpZCA9ICdxcS11cGxvYWQtaGFuZGxlci1pZnJhbWUnICsgcXEuZ2V0VW5pcXVlSWQoKTsgICAgICAgCiAgICAgICAgCiAgICAgICAgdGhpcy5faW5wdXRzW2lkXSA9IGZpbGVJbnB1dDsKICAgICAgICAKICAgICAgICAvLyByZW1vdmUgZmlsZSBpbnB1dCBmcm9tIERPTQogICAgICAgIGlmIChmaWxlSW5wdXQucGFyZW50Tm9kZSl7CiAgICAgICAgICAgIHFxLnJlbW92ZShmaWxlSW5wdXQpOwogICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgIHJldHVybiBpZDsKICAgIH0sCiAgICBnZXROYW1lOiBmdW5jdGlvbihpZCl7CiAgICAgICAgLy8gZ2V0IGlucHV0IHZhbHVlIGFuZCByZW1vdmUgcGF0aCB0byBub3JtYWxpemUKICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRzW2lkXS52YWx1ZS5yZXBsYWNlKC8uKihcL3xcXCkvLCAiIik7CiAgICB9LCAgICAKICAgIF9jYW5jZWw6IGZ1bmN0aW9uKGlkKXsKICAgICAgICB0aGlzLl9vcHRpb25zLm9uQ2FuY2VsKGlkLCB0aGlzLmdldE5hbWUoaWQpKTsKICAgICAgICAKICAgICAgICBkZWxldGUgdGhpcy5faW5wdXRzW2lkXTsgICAgICAgIAoKICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgIGlmIChpZnJhbWUpewogICAgICAgICAgICAvLyB0byBjYW5jZWwgcmVxdWVzdCBzZXQgc3JjIHRvIHNvbWV0aGluZyBlbHNlCiAgICAgICAgICAgIC8vIHdlIHVzZSBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiBiZWNhdXNlIGl0IGRvZXNuJ3QKICAgICAgICAgICAgLy8gdHJpZ2dlciBpZTYgcHJvbXB0IG9uIGh0dHBzCiAgICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdqYXZhc2NyaXB0OmZhbHNlOycpOwoKICAgICAgICAgICAgcXEucmVtb3ZlKGlmcmFtZSk7CiAgICAgICAgfQogICAgfSwgICAgIAogICAgX3VwbG9hZDogZnVuY3Rpb24oaWQsIHBhcmFtcyl7ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIGlucHV0ID0gdGhpcy5faW5wdXRzW2lkXTsKICAgICAgICAKICAgICAgICBpZiAoIWlucHV0KXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmaWxlIHdpdGggcGFzc2VkIGlkIHdhcyBub3QgYWRkZWQsIG9yIGFscmVhZHkgdXBsb2FkZWQgb3IgY2FuY2VsbGVkJyk7CiAgICAgICAgfSAgICAgICAgICAgICAgICAKCiAgICAgICAgdmFyIGZpbGVOYW1lID0gdGhpcy5nZXROYW1lKGlkKTsKICAgICAgICAgICAgICAgIAogICAgICAgIHZhciBpZnJhbWUgPSB0aGlzLl9jcmVhdGVJZnJhbWUoaWQpOwogICAgICAgIHZhciBmb3JtID0gdGhpcy5fY3JlYXRlRm9ybShpZnJhbWUsIHBhcmFtcyk7CiAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7CgogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICB0aGlzLl9hdHRhY2hMb2FkRXZlbnQoaWZyYW1lLCBmdW5jdGlvbigpeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBzZWxmLmxvZygnaWZyYW1lIGxvYWRlZCcpOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlc3BvbnNlID0gc2VsZi5fZ2V0SWZyYW1lQ29udGVudEpTT04oaWZyYW1lKTsKCiAgICAgICAgICAgIHNlbGYuX29wdGlvbnMub25Db21wbGV0ZShpZCwgZmlsZU5hbWUsIHJlc3BvbnNlKTsKICAgICAgICAgICAgc2VsZi5fZGVxdWV1ZShpZCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBkZWxldGUgc2VsZi5faW5wdXRzW2lkXTsKICAgICAgICAgICAgLy8gdGltZW91dCBhZGRlZCB0byBmaXggYnVzeSBzdGF0ZSBpbiBGRjMuNgogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBxcS5yZW1vdmUoaWZyYW1lKTsKICAgICAgICAgICAgfSwgMSk7CiAgICAgICAgfSk7CgogICAgICAgIGZvcm0uc3VibWl0KCk7ICAgICAgICAKICAgICAgICBxcS5yZW1vdmUoZm9ybSk7ICAgICAgICAKICAgICAgICAKICAgICAgICByZXR1cm4gaWQ7CiAgICB9LCAKICAgIF9hdHRhY2hMb2FkRXZlbnQ6IGZ1bmN0aW9uKGlmcmFtZSwgY2FsbGJhY2spewogICAgICAgIHFxLmF0dGFjaChpZnJhbWUsICdsb2FkJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgLy8gd2hlbiB3ZSByZW1vdmUgaWZyYW1lIGZyb20gZG9tCiAgICAgICAgICAgIC8vIHRoZSByZXF1ZXN0IHN0b3BzLCBidXQgaW4gSUUgbG9hZAogICAgICAgICAgICAvLyBldmVudCBmaXJlcwogICAgICAgICAgICBpZiAoIWlmcmFtZS5wYXJlbnROb2RlKXsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gZml4aW5nIE9wZXJhIDEwLjUzCiAgICAgICAgICAgIGlmIChpZnJhbWUuY29udGVudERvY3VtZW50ICYmCiAgICAgICAgICAgICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkgJiYKICAgICAgICAgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPT0gImZhbHNlIil7CiAgICAgICAgICAgICAgICAvLyBJbiBPcGVyYSBldmVudCBpcyBmaXJlZCBzZWNvbmQgdGltZQogICAgICAgICAgICAgICAgLy8gd2hlbiBib2R5LmlubmVySFRNTCBjaGFuZ2VkIGZyb20gZmFsc2UKICAgICAgICAgICAgICAgIC8vIHRvIHNlcnZlciByZXNwb25zZSBhcHByb3guIGFmdGVyIDEgc2VjCiAgICAgICAgICAgICAgICAvLyB3aGVuIHdlIHVwbG9hZCBmaWxlIHdpdGggaWZyYW1lCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZXR1cm5zIGpzb24gb2JqZWN0IHJlY2VpdmVkIGJ5IGlmcmFtZSBmcm9tIHNlcnZlci4KICAgICAqLwogICAgX2dldElmcmFtZUNvbnRlbnRKU09OOiBmdW5jdGlvbihpZnJhbWUpewogICAgICAgIC8vIGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50IC0gZm9yIElFPDcKICAgICAgICB2YXIgZG9jID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudCA/IGlmcmFtZS5jb250ZW50RG9jdW1lbnQ6IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LAogICAgICAgICAgICByZXNwb25zZTsKICAgICAgICAKICAgICAgICB0aGlzLmxvZygiY29udmVydGluZyBpZnJhbWUncyBpbm5lckhUTUwgdG8gSlNPTiIpOwogICAgICAgIHRoaXMubG9nKCJpbm5lckhUTUwgPSAiICsgZG9jLmJvZHkuaW5uZXJIVE1MKTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmVzcG9uc2UgPSBldmFsKCIoIiArIGRvYy5ib2R5LmlubmVySFRNTCArICIpIik7CiAgICAgICAgfSBjYXRjaChlcnIpewogICAgICAgICAgICByZXNwb25zZSA9IHt9OwogICAgICAgIH0gICAgICAgIAoKICAgICAgICByZXR1cm4gcmVzcG9uc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBDcmVhdGVzIGlmcmFtZSB3aXRoIHVuaXF1ZSBuYW1lCiAgICAgKi8KICAgIF9jcmVhdGVJZnJhbWU6IGZ1bmN0aW9uKGlkKXsKICAgICAgICAvLyBXZSBjYW4ndCB1c2UgZm9sbG93aW5nIGNvZGUgYXMgdGhlIG5hbWUgYXR0cmlidXRlCiAgICAgICAgLy8gd29uJ3QgYmUgcHJvcGVybHkgcmVnaXN0ZXJlZCBpbiBJRTYsIGFuZCBuZXcgd2luZG93CiAgICAgICAgLy8gb24gZm9ybSBzdWJtaXQgd2lsbCBvcGVuCiAgICAgICAgLy8gdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgIC8vIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBpZCk7CgogICAgICAgIHZhciBpZnJhbWUgPSBxcS50b0VsZW1lbnQoJzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlOyIgbmFtZT0iJyArIGlkICsgJyIgLz4nKTsKICAgICAgICAvLyBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiByZW1vdmVzIGllNiBwcm9tcHQgb24gaHR0cHMKCiAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnaWQnLCBpZCk7CgogICAgICAgIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKCiAgICAgICAgcmV0dXJuIGlmcmFtZTsKICAgIH0sCiAgICAvKioKICAgICAqIENyZWF0ZXMgZm9ybSwgdGhhdCB3aWxsIGJlIHN1Ym1pdHRlZCB0byBpZnJhbWUKICAgICAqLwogICAgX2NyZWF0ZUZvcm06IGZ1bmN0aW9uKGlmcmFtZSwgcGFyYW1zKXsKICAgICAgICAvLyBXZSBjYW4ndCB1c2UgdGhlIGZvbGxvd2luZyBjb2RlIGluIElFNgogICAgICAgIC8vIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwogICAgICAgIC8vIGZvcm0uc2V0QXR0cmlidXRlKCdtZXRob2QnLCAncG9zdCcpOwogICAgICAgIC8vIGZvcm0uc2V0QXR0cmlidXRlKCdlbmN0eXBlJywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsKICAgICAgICAvLyBCZWNhdXNlIGluIHRoaXMgY2FzZSBmaWxlIHdvbid0IGJlIGF0dGFjaGVkIHRvIHJlcXVlc3QKICAgICAgICB2YXIgZm9ybSA9IHFxLnRvRWxlbWVudCgnPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj48L2Zvcm0+Jyk7CgogICAgICAgIHZhciBxdWVyeVN0cmluZyA9IHFxLm9iajJ1cmwocGFyYW1zLCB0aGlzLl9vcHRpb25zLmFjdGlvbik7CgogICAgICAgIGZvcm0uc2V0QXR0cmlidXRlKCdhY3Rpb24nLCBxdWVyeVN0cmluZyk7CiAgICAgICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsIGlmcmFtZS5uYW1lKTsKICAgICAgICBmb3JtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTsKCiAgICAgICAgcmV0dXJuIGZvcm07CiAgICB9Cn0pOwoKLyoqCiAqIENsYXNzIGZvciB1cGxvYWRpbmcgZmlsZXMgdXNpbmcgeGhyCiAqIEBpbmhlcml0cyBxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QKICovCnFxLlVwbG9hZEhhbmRsZXJYaHIgPSBmdW5jdGlvbihvKXsKICAgIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoKICAgIHRoaXMuX2ZpbGVzID0gW107CiAgICB0aGlzLl94aHJzID0gW107CiAgICAKICAgIC8vIGN1cnJlbnQgbG9hZGVkIHNpemUgaW4gYnl0ZXMgZm9yIGVhY2ggZmlsZSAKICAgIHRoaXMuX2xvYWRlZCA9IFtdOwp9OwoKLy8gc3RhdGljIG1ldGhvZApxcS5VcGxvYWRIYW5kbGVyWGhyLmlzU3VwcG9ydGVkID0gZnVuY3Rpb24oKXsKICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICBpbnB1dC50eXBlID0gJ2ZpbGUnOyAgICAgICAgCiAgICAKICAgIHJldHVybiAoCiAgICAgICAgJ211bHRpcGxlJyBpbiBpbnB1dCAmJgogICAgICAgIHR5cGVvZiBGaWxlICE9ICJ1bmRlZmluZWQiICYmCiAgICAgICAgdHlwZW9mIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkICE9ICJ1bmRlZmluZWQiICk7ICAgICAgIAp9OwoKLy8gQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdApxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlclhoci5wcm90b3R5cGUsIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5wcm90b3R5cGUpCgpxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlclhoci5wcm90b3R5cGUsIHsKICAgIC8qKgogICAgICogQWRkcyBmaWxlIHRvIHRoZSBxdWV1ZQogICAgICogUmV0dXJucyBpZCB0byB1c2Ugd2l0aCB1cGxvYWQsIGNhbmNlbAogICAgICoqLyAgICAKICAgIGFkZDogZnVuY3Rpb24oZmlsZSl7CiAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXNzZWQgb2JqIGluIG5vdCBhIEZpbGUgKGluIHFxLlVwbG9hZEhhbmRsZXJYaHIpJyk7CiAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzLnB1c2goZmlsZSkgLSAxOyAgICAgICAgCiAgICB9LAogICAgZ2V0TmFtZTogZnVuY3Rpb24oaWQpeyAgICAgICAgCiAgICAgICAgdmFyIGZpbGUgPSB0aGlzLl9maWxlc1tpZF07CiAgICAgICAgLy8gZml4IG1pc3NpbmcgbmFtZSBpbiBTYWZhcmkgNAogICAgICAgIHJldHVybiBmaWxlLmZpbGVOYW1lICE9IG51bGwgPyBmaWxlLmZpbGVOYW1lIDogZmlsZS5uYW1lOyAgICAgICAKICAgIH0sCiAgICBnZXRTaXplOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdmFyIGZpbGUgPSB0aGlzLl9maWxlc1tpZF07CiAgICAgICAgcmV0dXJuIGZpbGUuZmlsZVNpemUgIT0gbnVsbCA/IGZpbGUuZmlsZVNpemUgOiBmaWxlLnNpemU7CiAgICB9LCAgICAKICAgIC8qKgogICAgICogUmV0dXJucyB1cGxvYWRlZCBieXRlcyBmb3IgZmlsZSBpZGVudGlmaWVkIGJ5IGlkIAogICAgICovICAgIAogICAgZ2V0TG9hZGVkOiBmdW5jdGlvbihpZCl7CiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZFtpZF0gfHwgMDsgCiAgICB9LAogICAgLyoqCiAgICAgKiBTZW5kcyB0aGUgZmlsZSBpZGVudGlmaWVkIGJ5IGlkIGFuZCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtcyB0byB0aGUgc2VydmVyCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIG5hbWUtdmFsdWUgc3RyaW5nIHBhaXJzCiAgICAgKi8gICAgCiAgICBfdXBsb2FkOiBmdW5jdGlvbihpZCwgcGFyYW1zKXsKICAgICAgICB2YXIgZmlsZSA9IHRoaXMuX2ZpbGVzW2lkXSwKICAgICAgICAgICAgbmFtZSA9IHRoaXMuZ2V0TmFtZShpZCksCiAgICAgICAgICAgIHNpemUgPSB0aGlzLmdldFNpemUoaWQpOwogICAgICAgICAgICAgICAgCiAgICAgICAgdGhpcy5fbG9hZGVkW2lkXSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIHhociA9IHRoaXMuX3hocnNbaWRdID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgeGhyLnVwbG9hZC5vbnByb2dyZXNzID0gZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmIChlLmxlbmd0aENvbXB1dGFibGUpewogICAgICAgICAgICAgICAgc2VsZi5fbG9hZGVkW2lkXSA9IGUubG9hZGVkOwogICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBuYW1lLCBlLmxvYWRlZCwgZS50b3RhbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsgICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQpewogICAgICAgICAgICAgICAgc2VsZi5fb25Db21wbGV0ZShpZCwgeGhyKTsgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgLy8gYnVpbGQgcXVlcnkgc3RyaW5nCiAgICAgICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9OwogICAgICAgIHBhcmFtc1sncXFmaWxlJ10gPSBuYW1lOwogICAgICAgIHZhciBxdWVyeVN0cmluZyA9IHFxLm9iajJ1cmwocGFyYW1zLCB0aGlzLl9vcHRpb25zLmFjdGlvbik7CgogICAgICAgIHhoci5vcGVuKCJQT1NUIiwgcXVlcnlTdHJpbmcsIHRydWUpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwgIlhNTEh0dHBSZXF1ZXN0Iik7CiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIlgtRmlsZS1OYW1lIiwgZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwogICAgICAgIHhoci5zZW5kKGZpbGUpOwogICAgfSwKICAgIF9vbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgeGhyKXsKICAgICAgICAvLyB0aGUgcmVxdWVzdCB3YXMgYWJvcnRlZC9jYW5jZWxsZWQKICAgICAgICBpZiAoIXRoaXMuX2ZpbGVzW2lkXSkgcmV0dXJuOwogICAgICAgIAogICAgICAgIHZhciBuYW1lID0gdGhpcy5nZXROYW1lKGlkKTsKICAgICAgICB2YXIgc2l6ZSA9IHRoaXMuZ2V0U2l6ZShpZCk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBuYW1lLCBzaXplLCBzaXplKTsKICAgICAgICAgICAgICAgIAogICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCl7CiAgICAgICAgICAgIHRoaXMubG9nKCJ4aHIgLSBzZXJ2ZXIgcmVzcG9uc2UgcmVjZWl2ZWQiKTsKICAgICAgICAgICAgdGhpcy5sb2coInJlc3BvbnNlVGV4dCA9ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciByZXNwb25zZTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gZXZhbCgiKCIgKyB4aHIucmVzcG9uc2VUZXh0ICsgIikiKTsKICAgICAgICAgICAgfSBjYXRjaChlcnIpewogICAgICAgICAgICAgICAgcmVzcG9uc2UgPSB7fTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy5vbkNvbXBsZXRlKGlkLCBuYW1lLCByZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUoaWQsIG5hbWUsIHt9KTsKICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICB0aGlzLl9maWxlc1tpZF0gPSBudWxsOwogICAgICAgIHRoaXMuX3hocnNbaWRdID0gbnVsbDsgICAgCiAgICAgICAgdGhpcy5fZGVxdWV1ZShpZCk7ICAgICAgICAgICAgICAgICAgICAKICAgIH0sCiAgICBfY2FuY2VsOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdGhpcy5fb3B0aW9ucy5vbkNhbmNlbChpZCwgdGhpcy5nZXROYW1lKGlkKSk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fZmlsZXNbaWRdID0gbnVsbDsKICAgICAgICAKICAgICAgICBpZiAodGhpcy5feGhyc1tpZF0pewogICAgICAgICAgICB0aGlzLl94aHJzW2lkXS5hYm9ydCgpOwogICAgICAgICAgICB0aGlzLl94aHJzW2lkXSA9IG51bGw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB9CiAgICB9Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDwAPAKUAAEQ+PKSmpHx6fNTW1FxaXOzu7ExOTIyOjGRmZMTCxPz6/ERGROTi5Pz29JyanGxubMzKzIyKjGReXPT29FxWVGxmZExGROzq7ERCRLy6vISChNze3FxeXPTy9FROTJSSlMTGxPz+/OTm5JyenNTOzGxqbExKTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBgAhACwAAAAADwAPAAAGd8CQcEgsChuTZMNIDFgsC1Nn9GEwDwDAoqMBWEDFiweA2YoiZevwA9BkDAUhW0MkADYhiEJYwJj2QhYGTBwAE0MUGGp5IR1+RBEAEUMVDg4AAkQMJhgfFyEIWRgDRSALABKgWQ+HRQwaCCEVC7R0TEITHbmtt0xBACH5BAkGACYALAAAAAAPAA8AhUQ+PKSmpHRydNTW1FxWVOzu7MTCxIyKjExKTOTi5LSytHx+fPz6/ERGROTe3GxqbNTS1JyWlFRSVKympNze3FxeXPT29MzKzFROTOzq7ISGhERCRHx6fNza3FxaXPTy9MTGxJSSlExOTOTm5LS2tISChPz+/ExGRJyenKyqrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ6QJNQeIkUhsjkp+EhMZLITKgBAGigQgiiCtiAKJdkBgNYgDYLhmDjQIbKwgfF9C4hPYC5KSMsbBBIJyJYFQAWQwQbI0J8Jh8nDUgHAAcmDA+LKAAcSAkIEhYTAAEoGxsdSSAKIyJcGyRYJiQbVRwDsVkPXrhDDCQBSUEAIfkECQYAEAAsAAAAAA8ADwCFRD48pKKkdHZ01NLUXFpc7OrsTE5MlJKU9Pb03N7cREZExMbEhIKEbGpsXFZUVFZU/P78tLa0fH583NrcZGJk9PL0VE5MnJ6c/Pb05ObkTEZEREJErKqsfHp81NbUXF5c7O7slJaU5OLkzMrMjIaEdG5sVFJU/Pr8TEpMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABndAiHA4DICISCIllBQWQgSNY6NJJAcoAMCw0XaQBQtAYj0ANgcE0SwZlgSe04hI2FiFAyEFRdQYmh8AakIOJhgQHhVCFQoaRAsVGSQWihAXAF9EHFkNEBUXGxsTSBxaGx9dGxFJGKgKAAoSEydNIwoFg01DF7oQQQAh+QQJBgAYACwAAAAADwAPAIVEPjykoqR0cnTU0tRUUlSMiozs6uxMSkx8fnzc3txcXlyUlpT09vRcWlxMRkS0trR8enzc2txcVlSUkpRUTkyMhoTk5uScnpz8/vxEQkR8dnTU1tRUVlSMjoz08vRMTkyEgoTk4uRkYmSclpT8+vy8urwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGc0CMcEgsGo9Gw6LhkHRCmICFODgAAJ8M4FDJTIUGCgCRwIQKV+9wMiaWtIAvRqOACiMKwucjJzFIJEN+gEQiHAQcJUMeBROCBFcLRBcAEESQAB0GGB4XGRkbghwCnxkiWhkPRRMMCSAfABkIoUhCDLW4Q0EAIfkECQYAGQAsAAAAAA8ADwCFRD48pKKkdHJ01NLU7OrsXFZUjIqMvLq8TEpM3N7c9Pb0lJaUxMbErK6sfH58bGpsVFJUTEZE3Nrc9PL0XF5clJKUxMLEVE5M5Obk/P78nJ6ctLa0hIaEREJE1NbU7O7sXFpcjI6MvL68TE5M5OLk/Pr8nJqczM7MtLK0hIKEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnPAjHBILBqPRsICFCmESMcBAgAYdQAIi9HzSCUyJEOnAx0GBqUSsQJwYFAZyTiFGZZEgHGlJKACQBIZEwJXVR8iYwANE0MTAVMNGSISHAAhRSUYC2pCJFMhH4IaEAdGDGMdFFcdG0cJKSNYDoFIQgqctblBADs=]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.periodicalupdater.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQoqIFBlcmlvZGljYWxVcGRhdGVyIC0galF1ZXJ5IHBsdWdpbiBmb3IgdGltZWQsIGRlY2F5aW5nIGFqYXggY2FsbHMNCioNCiogaHR0cDovL3d3dy4zNjBpbm5vdmF0ZS5jby51ay9ibG9nLzIwMDkvMDMvcGVyaW9kaWNhbHVwZGF0ZXItZm9yLWpxdWVyeS8NCiogaHR0cDovL2VuZnJhbmNoaXNlZG1pbmQuY29tL2Jsb2cvcG9zdHMvanF1ZXJ5LXBlcmlvZGljYWx1cGRhdGVyLWFqYXgtcG9sbGluZy8NCioNCiogQ29weXJpZ2h0IChjKSAyMDA5IGJ5IHRoZSBmb2xsb3dpbmc6DQoqIEZyYW5rIFdoaXRlIChodHRwOi8vY3VzdG9tY29kZS5pbmZvKQ0KKiBSb2JlcnQgRmlzY2hlciAoaHR0cDovL3Ntb2tlanVtcGVyaXQuY29tKQ0KKiAzNjBpbm5vdmF0ZSAoaHR0cDovL3d3dy4zNjBpbm5vdmF0ZS5jby51aykNCioNCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQoqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQoqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KKg0KKi8NCg0KKGZ1bmN0aW9uKCQpIHsNCiAgICB2YXIgcHVfbG9nID0gZnVuY3Rpb24obXNnKSB7DQogICAgICB0cnkgew0KICAgICAgICBjb25zb2xlLmxvZyhtc2cpOw0KICAgICAgfSBjYXRjaChlcnIpIHt9DQogICAgfQ0KDQogICAgLy8gTm93IGJhY2sgdG8gb3VyIHJlZ3VsYXJseSBzY2hlZHVsZWQgd29yaw0KICAgICQuUGVyaW9kaWNhbFVwZGF0ZXIgPSBmdW5jdGlvbih1cmwsIG9wdGlvbnMsIGNhbGxiYWNrLCBhdXRvU3RvcENhbGxiYWNrKXsNCiAgICAgIHZhciBzZXR0aW5ncyA9IGpRdWVyeS5leHRlbmQodHJ1ZSwgew0KICAgICAgICAgIHVybDogdXJsLCAvLyBVUkwgb2YgYWpheCByZXF1ZXN0DQogICAgICAgICAgY2FjaGU6IGZhbHNlLCAvLyBCeSBkZWZhdWx0LCBkb24ndCBhbGxvdyBjYWNoaW5nDQogICAgICAgICAgbWV0aG9kOiAnR0VUJywgLy8gbWV0aG9kOyBnZXQgb3IgcG9zdA0KICAgICAgICAgIGRhdGE6ICcnLCAvLyBhcnJheSBvZiB2YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBwYWdlIC0gZS5nLiB7bmFtZTogIkpvaG4iLCBncmVldGluZzogImhlbGxvIn0NCiAgICAgICAgICBtaW5UaW1lb3V0OiAxMDAwLCAvLyBzdGFydGluZyB2YWx1ZSBmb3IgdGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzDQogICAgICAgICAgbWF4VGltZW91dDogODAwMCwgLy8gbWF4aW11bSBsZW5ndGggb2YgdGltZSBiZXR3ZWVuIHJlcXVlc3RzDQogICAgICAgICAgbXVsdGlwbGllcjogMiwgLy8gaWYgc2V0IHRvIDIsIHRpbWVySW50ZXJ2YWwgd2lsbCBkb3VibGUgZWFjaCB0aW1lIHRoZSByZXNwb25zZSBoYXNuJ3QgY2hhbmdlZCAodXAgdG8gbWF4VGltZW91dCkNCiAgICAgICAgICBtYXhDYWxsczogMCwgLy8gbWF4aW11bSBudW1iZXIgb2YgY2FsbHMuIDAgPSBubyBsaW1pdC4NCiAgICAgICAgICBhdXRvU3RvcDogMCAvLyBhdXRvbWF0aWNhbGx5IHN0b3AgcmVxdWVzdHMgYWZ0ZXIgdGhpcyBtYW55IHJldHVybnMgb2YgdGhlIHNhbWUgZGF0YS4gMCA9IGRpc2FibGVkDQogICAgICAgIH0sIG9wdGlvbnMpOw0KDQogICAgICAgIC8vIHNldCBzb21lIGluaXRpYWwgdmFsdWVzLCB0aGVuIGJlZ2luDQogICAgICAgIHZhciB0aW1lciA9IG51bGw7DQogICAgICAgIHZhciB0aW1lckludGVydmFsID0gc2V0dGluZ3MubWluVGltZW91dDsNCiAgICAgICAgdmFyIG1heENhbGxzID0gc2V0dGluZ3MubWF4Q2FsbHM7DQogICAgICAgIHZhciBhdXRvU3RvcCA9IHNldHRpbmdzLmF1dG9TdG9wOw0KICAgICAgICB2YXIgY2FsbHMgPSAwOw0KICAgICAgICB2YXIgbm9DaGFuZ2UgPSAwOw0KICAgICAgICB2YXIgb3JpZ2luYWxNYXhDYWxscyA9IG1heENhbGxzOw0KDQogICAgICAgIHZhciByZXNldF90aW1lciA9IGZ1bmN0aW9uKGludGVydmFsKSB7DQogICAgICAgICAgaWYgKHRpbWVyICE9IG51bGwpIHsNCiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7DQogICAgICAgICAgfQ0KICAgICAgICAgIHRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsNCiAgICAgICAgICBwdV9sb2coJ3Jlc2V0dGluZyB0aW1lciB0byAnKyB0aW1lckludGVydmFsICsnLicpOw0KICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChnZXRkYXRhLCB0aW1lckludGVydmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIEZ1bmN0aW9uIHRvIGJvb3N0IHRoZSB0aW1lcg0KICAgICAgICB2YXIgYm9vc3RQZXJpb2QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICBpZihzZXR0aW5ncy5tdWx0aXBsaWVyID49IDEpIHsNCiAgICAgICAgICAgIGJlZm9yZSA9IHRpbWVySW50ZXJ2YWw7DQogICAgICAgICAgICB0aW1lckludGVydmFsID0gdGltZXJJbnRlcnZhbCAqIHNldHRpbmdzLm11bHRpcGxpZXI7DQoNCiAgICAgICAgICAgIGlmKHRpbWVySW50ZXJ2YWwgPiBzZXR0aW5ncy5tYXhUaW1lb3V0KSB7DQogICAgICAgICAgICAgIHRpbWVySW50ZXJ2YWwgPSBzZXR0aW5ncy5tYXhUaW1lb3V0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgYWZ0ZXIgPSB0aW1lckludGVydmFsOw0KICAgICAgICAgICAgcHVfbG9nKCdhZGp1c3RpbmcgdGltZXIgZnJvbSAnKyBiZWZvcmUgKycgdG8gJysgYWZ0ZXIgKycuJyk7DQogICAgICAgICAgICByZXNldF90aW1lcih0aW1lckludGVydmFsKTsNCiAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gQ29uc3RydWN0IHRoZSBzZXR0aW5ncyBmb3IgJC5hamF4IGJhc2VkIG9uIHNldHRpbmdzDQogICAgICAgIHZhciBhamF4U2V0dGluZ3MgPSBqUXVlcnkuZXh0ZW5kKHRydWUsIHt9LCBzZXR0aW5ncyk7DQogICAgICAgIGlmKHNldHRpbmdzLnR5cGUgJiYgIWFqYXhTZXR0aW5ncy5kYXRhVHlwZSkgYWpheFNldHRpbmdzLmRhdGFUeXBlID0gc2V0dGluZ3MudHlwZTsNCiAgICAgICAgaWYoc2V0dGluZ3Muc2VuZERhdGEpIGFqYXhTZXR0aW5ncy5kYXRhID0gc2V0dGluZ3Muc2VuZERhdGE7DQogICAgICAgIGFqYXhTZXR0aW5ncy50eXBlID0gc2V0dGluZ3MubWV0aG9kOyAvLyAndHlwZScgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBqUXVlcnkuIFdobyBrbmV3Pw0KICAgICAgICBhamF4U2V0dGluZ3MuaWZNb2RpZmllZCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGhhbmRsZSA9IHsNCgkJCQlyZXN0YXJ0OiBmdW5jdGlvbigpIHsNCgkJCQltYXhDYWxscyA9IG9yaWdpbmFsTWF4Q2FsbHM7DQoJCQkJY2FsbHMgPSAwOw0KCQkJCXJlc2V0X3RpbWVyKHRpbWVySW50ZXJ2YWwpOw0KCQkJCXJldHVybjsNCgkJCQl9LA0KICAgICAgICAgIHN0b3A6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbWF4Q2FsbHMgPSAtMTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gQ3JlYXRlIHRoZSBmdW5jdGlvbiB0byBnZXQgZGF0YQ0KICAgICAgICAvLyBUT0RPIEl0J2QgYmUgbmljZSB0byBkbyB0aGUgb3B0aW9ucy5kYXRhIGNoZWNrIG9uY2UgKGEgbGEgYm9vc3RQZXJpb2QpDQogICAgICAgIGZ1bmN0aW9uIGdldGRhdGEoKSB7DQogICAgICAgICAgdmFyIHRvU2VuZCA9IGpRdWVyeS5leHRlbmQodHJ1ZSwge30sIGFqYXhTZXR0aW5ncyk7IC8vIGpRdWVyeSBzY3Jld3Mgd2l0aCB3aGF0IHlvdSBwYXNzIGluDQogICAgICAgICAgaWYodHlwZW9mKG9wdGlvbnMuZGF0YSkgPT0gJ2Z1bmN0aW9uJykgew0KICAgICAgICAgICAgdG9TZW5kLmRhdGEgPSBvcHRpb25zLmRhdGEoKTsNCiAgICAgICAgICAgIGlmKHRvU2VuZC5kYXRhKSB7DQogICAgICAgICAgICAgIC8vIEhhbmRsZSB0cmFuc2Zvcm1hdGlvbnMgKG9ubHkgc3RyaW5ncyBhbmQgb2JqZWN0cyBhcmUgdW5kZXJzdG9vZCkNCiAgICAgICAgICAgICAgaWYodHlwZW9mKHRvU2VuZC5kYXRhKSA9PSAibnVtYmVyIikgew0KICAgICAgICAgICAgICAgIHRvU2VuZC5kYXRhID0gdG9TZW5kLmRhdGEudG9TdHJpbmcoKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCg0KICAgICAgICAgIGlmKG1heENhbGxzID09IDApIHsNCiAgICAgICAgICAgICQuYWpheCh0b1NlbmQpOw0KICAgICAgICAgIH0gZWxzZSBpZihtYXhDYWxscyA+IDAgJiYgY2FsbHMgPCBtYXhDYWxscykgew0KICAgICAgICAgICAgJC5hamF4KHRvU2VuZCk7DQogICAgICAgICAgICBjYWxscysrOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIEltcGxlbWVudCB0aGUgdHJpY2t5IGJlaGluZCBsb2dpYw0KICAgICAgICB2YXIgcmVtb3RlRGF0YSA9IG51bGw7DQogICAgICAgIHZhciBwcmV2RGF0YSA9IG51bGw7DQoNCiAgICAgICAgYWpheFNldHRpbmdzLnN1Y2Nlc3MgPSBmdW5jdGlvbihkYXRhKSB7DQogICAgICAgICAgcHVfbG9nKCJTdWNjZXNzZnVsIHJ1biEgKEluICdzdWNjZXNzJykiKTsNCiAgICAgICAgICByZW1vdGVEYXRhID0gZGF0YTsNCiAgICAgICAgICAvLyB0aW1lckludGVydmFsID0gc2V0dGluZ3MubWluVGltZW91dDsNCiAgICAgICAgfTsNCg0KICAgICAgICBhamF4U2V0dGluZ3MuY29tcGxldGUgPSBmdW5jdGlvbih4aHIsIHN1Y2Nlc3MpIHsNCiAgICAgICAgICAvL3B1X2xvZygiU3RhdHVzIG9mIGNhbGw6ICIgKyBzdWNjZXNzICsgIiAoSW4gJ2NvbXBsZXRlJykiKTsNCiAgICAgICAgICBpZihtYXhDYWxscyA9PSAtMSkgcmV0dXJuOw0KICAgICAgICAgIGlmKHN1Y2Nlc3MgPT0gInN1Y2Nlc3MiIHx8IHN1Y2Nlc3MgPT0gIm5vdG1vZGlmaWVkIikgew0KICAgICAgICAgICAgdmFyIHJhd0RhdGEgPSAkLnRyaW0oeGhyLnJlc3BvbnNlVGV4dCk7DQogICAgICAgICAgICBpZihyYXdEYXRhID09ICdTVE9QX0FKQVhfQ0FMTFMnKSB7DQoJCQkJCQkJaGFuZGxlLnN0b3AoKTsNCiAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYocHJldkRhdGEgPT0gcmF3RGF0YSkgew0KICAgICAgICAgICAgICBpZihhdXRvU3RvcCA+IDApIHsNCiAgICAgICAgICAgICAgICBub0NoYW5nZSsrOw0KICAgICAgICAgICAgICAgIGlmKG5vQ2hhbmdlID09IGF1dG9TdG9wKSB7DQoJCQkJCQkJCQloYW5kbGUuc3RvcCgpOw0KICAgICAgICAgICAgICAgICAgaWYoYXV0b1N0b3BDYWxsYmFjaykgYXV0b1N0b3BDYWxsYmFjayhub0NoYW5nZSk7DQogICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIGJvb3N0UGVyaW9kKCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBub0NoYW5nZSA9IDA7DQogICAgICAgICAgICAgIHJlc2V0X3RpbWVyKHNldHRpbmdzLm1pblRpbWVvdXQpOw0KICAgICAgICAgICAgICBwcmV2RGF0YSA9IHJhd0RhdGE7DQogICAgICAgICAgICAgIGlmKHJlbW90ZURhdGEgPT0gbnVsbCkgcmVtb3RlRGF0YSA9IHJhd0RhdGE7DQogICAgICAgICAgICAgIC8vIGpRdWVyeSAxLjQrICQuYWpheCgpIGF1dG9tYXRpY2FsbHkgY29udmVydHMgImRhdGEiIGludG8gYSBKUyBPYmplY3QgZm9yICJ0eXBlOmpzb24iIHJlcXVlc3RzIG5vdw0KICAgICAgICAgICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIDEuNCsgYW5kIHByZTEuNCBqUXVlcnkgb25seSB0cnkgdG8gcGFyc2UgYWN0dWFsIHN0cmluZ3MsIHNraXAgd2hlbiByZW1vdGVEYXRhIGlzIGFscmVhZHkgYW4gT2JqZWN0DQogICAgICAgICAgICAgIGlmKChhamF4U2V0dGluZ3MuZGF0YVR5cGUgPT09ICdqc29uJykgJiYgKHR5cGVvZihyZW1vdGVEYXRhKSA9PT0gJ3N0cmluZycpICYmIChzdWNjZXNzID09ICJzdWNjZXNzIikpIHsNCiAgICAgICAgICAgICAgICByZW1vdGVEYXRhID0gSlNPTi5wYXJzZShyZW1vdGVEYXRhKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBpZihzZXR0aW5ncy5zdWNjZXNzKSB7IHNldHRpbmdzLnN1Y2Nlc3MocmVtb3RlRGF0YSwgc3VjY2VzcywgeGhyLCBoYW5kbGUpOyB9DQogICAgICAgICAgICAgIGlmKGNhbGxiYWNrKSBjYWxsYmFjayhyZW1vdGVEYXRhLCBzdWNjZXNzLCB4aHIsIGhhbmRsZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIHJlbW90ZURhdGEgPSBudWxsOw0KICAgICAgICB9DQoNCg0KICAgICAgIAkgYWpheFNldHRpbmdzLmVycm9yID0gZnVuY3Rpb24gKHhociwgdGV4dFN0YXR1cykgew0KICAgICAgICAgIC8vcHVfbG9nKCJFcnJvciBtZXNzYWdlOiAiICsgdGV4dFN0YXR1cyArICIgKEluICdlcnJvcicpIik7DQogICAgICAgICAgaWYodGV4dFN0YXR1cyAhPSAibm90bW9kaWZpZWQiKSB7DQogICAgICAgICAgICBwcmV2RGF0YSA9IG51bGw7DQogICAgICAgICAgICByZXNldF90aW1lcihzZXR0aW5ncy5taW5UaW1lb3V0KTsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYoc2V0dGluZ3MuZXJyb3IpIHsgc2V0dGluZ3MuZXJyb3IoeGhyLCB0ZXh0U3RhdHVzKTsgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIC8vIE1ha2UgdGhlIGZpcnN0IGNhbGwNCiAgICAgICAgJChmdW5jdGlvbigpIHsgcmVzZXRfdGltZXIodGltZXJJbnRlcnZhbCk7IH0pOw0KDQogICAgICAgIHJldHVybiBoYW5kbGU7DQogICAgfTsNCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.socialshareprivacy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICoganF1ZXJ5LnNvY2lhbHNoYXJlcHJpdmFjeS5qcyB8IDIgS2xpY2tzIGZ1ZXIgbWVociBEYXRlbnNjaHV0egogKgogKiBodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvCiAqIGh0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMSBIaWxrbyBIb2x3ZWcsIFNlYmFzdGlhbiBIaWxiaWcsIE5pY29sYXMgSGVpcmluZ2hvZmYsIEp1ZXJnZW4gU2NobWlkdCwKICogSGVpc2UgWmVpdHNjaHJpZnRlbiBWZXJsYWcgR21iSCAmIENvLiBLRywgaHR0cDovL3d3dy5oZWlzZS5kZQogKgogKiBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKICoKICogU3ByZWFkIHRoZSB3b3JkLCBsaW5rIHRvIHVzIGlmIHlvdSBjYW4uCiAqLwooZnVuY3Rpb24gKCQpIHsKCiAgICAidXNlIHN0cmljdCI7CgoJLyoKCSAqIGhlbHBlciBmdW5jdGlvbnMKCSAqLyAKCiAgICAvLyBhYmJyZXZpYXRlIGF0IGxhc3QgYmxhbmsgYmVmb3JlIGxlbmd0aCBhbmQgYWRkICJcdTIwMjYiIChob3Jpem9udGFsIGVsbGlwc2lzKQogICAgZnVuY3Rpb24gYWJicmV2aWF0ZVRleHQodGV4dCwgbGVuZ3RoKSB7CiAgICAgICAgdmFyIGFiYnJldmlhdGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHRleHQpOwogICAgICAgIGlmIChhYmJyZXZpYXRlZC5sZW5ndGggPD0gbGVuZ3RoKSB7CiAgICAgICAgICAgIHJldHVybiB0ZXh0OwogICAgICAgIH0KCiAgICAgICAgdmFyIGxhc3RXaGl0ZXNwYWNlSW5kZXggPSBhYmJyZXZpYXRlZC5zdWJzdHJpbmcoMCwgbGVuZ3RoIC0gMSkubGFzdEluZGV4T2YoJyAnKTsKICAgICAgICBhYmJyZXZpYXRlZCA9IGVuY29kZVVSSUNvbXBvbmVudChhYmJyZXZpYXRlZC5zdWJzdHJpbmcoMCwgbGFzdFdoaXRlc3BhY2VJbmRleCkpICsgIlx1MjAyNiI7CgogICAgICAgIHJldHVybiBhYmJyZXZpYXRlZDsKICAgIH0KCiAgICAvLyByZXR1cm5zIGNvbnRlbnQgb2YgPG1ldGEgbmFtZT0iIiBjb250ZW50PSIiPiB0YWdzIG9yICcnIGlmIGVtcHR5L25vbiBleGlzdGFudAogICAgZnVuY3Rpb24gZ2V0TWV0YShuYW1lKSB7CiAgICAgICAgdmFyIG1ldGFDb250ZW50ID0gJCgnbWV0YVtuYW1lPSInICsgbmFtZSArICciXScpLmF0dHIoJ2NvbnRlbnQnKTsKICAgICAgICByZXR1cm4gbWV0YUNvbnRlbnQgfHwgJyc7CiAgICB9CiAgICAKICAgIC8vIGNyZWF0ZSB0d2VldCB0ZXh0IGZyb20gY29udGVudCBvZiA8bWV0YSBuYW1lPSJEQy50aXRsZSI+IGFuZCA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIj4KICAgIC8vIGZhbGxiYWNrIHRvIGNvbnRlbnQgb2YgPHRpdGxlPiB0YWcKICAgIGZ1bmN0aW9uIGdldFR3ZWV0VGV4dCgpIHsKICAgICAgICB2YXIgdGl0bGUgPSBnZXRNZXRhKCdEQy50aXRsZScpOwogICAgICAgIHZhciBjcmVhdG9yID0gZ2V0TWV0YSgnREMuY3JlYXRvcicpOwoKICAgICAgICBpZiAodGl0bGUubGVuZ3RoID4gMCAmJiBjcmVhdG9yLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdGl0bGUgKz0gJyAtICcgKyBjcmVhdG9yOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRpdGxlID0gJCgndGl0bGUnKS50ZXh0KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHRpdGxlKTsKICAgIH0KCiAgICAvLyBidWlsZCBVUkkgZnJvbSByZWw9ImNhbm9uaWNhbCIgb3IgZG9jdW1lbnQubG9jYXRpb24KICAgIGZ1bmN0aW9uIGdldFVSSSgpIHsKICAgICAgICB2YXIgdXJpID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKICAgICAgICB2YXIgY2Fub25pY2FsID0gJCgibGlua1tyZWw9Y2Fub25pY2FsXSIpLmF0dHIoImhyZWYiKTsKCiAgICAgICAgaWYgKGNhbm9uaWNhbCAmJiBjYW5vbmljYWwubGVuZ3RoID4gMCkgewogICAgICAgICAgICBpZiAoY2Fub25pY2FsLmluZGV4T2YoImh0dHAiKSA8IDApIHsKICAgICAgICAgICAgICAgIGNhbm9uaWNhbCA9IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgKyBjYW5vbmljYWw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdXJpID0gY2Fub25pY2FsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHVyaTsKICAgIH0KCiAgICBmdW5jdGlvbiBjb29raWVTZXQobmFtZSwgdmFsdWUsIGRheXMsIHBhdGgsIGRvbWFpbikgewogICAgICAgIHZhciBleHBpcmVzID0gbmV3IERhdGUoKTsKICAgICAgICBleHBpcmVzLnNldFRpbWUoZXhwaXJlcy5nZXRUaW1lKCkgKyAoZGF5cyAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTsKICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgJz0nICsgdmFsdWUgKyAnOyBleHBpcmVzPScgKyBleHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyBwYXRoPScgKyBwYXRoICsgJzsgZG9tYWluPScgKyBkb21haW47CiAgICB9CiAgICBmdW5jdGlvbiBjb29raWVEZWwobmFtZSwgdmFsdWUsIHBhdGgsIGRvbWFpbikgewogICAgICAgIHZhciBleHBpcmVzID0gbmV3IERhdGUoKTsKICAgICAgICBleHBpcmVzLnNldFRpbWUoZXhwaXJlcy5nZXRUaW1lKCkgLSAxMDApOwogICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnPScgKyB2YWx1ZSArICc7IGV4cGlyZXM9JyArIGV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7IHBhdGg9JyArIHBhdGggKyAnOyBkb21haW49JyArIGRvbWFpbjsKICAgIH0KCiAgICAvLyBleHRlbmQganF1ZXJ5IHdpdGggb3VyIHBsdWdpbiBmdW5jdGlvbgogICAgJC5mbi5zb2NpYWxTaGFyZVByaXZhY3kgPSBmdW5jdGlvbiAoc2V0dGluZ3MpIHsKICAgICAgICB2YXIgZGVmYXVsdHMgPSB7CiAgICAgICAgICAgICdzZXJ2aWNlcycgOiB7CiAgICAgICAgICAgICAgICAnZmFjZWJvb2snIDogewogICAgICAgICAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgOiAnb24nLAogICAgICAgICAgICAgICAgICAgICdkdW1teV9pbWcnICAgICAgICAgOiAnc29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV9mYWNlYm9vay5wbmcnLAogICAgICAgICAgICAgICAgICAgICd0eHRfaW5mbycgICAgICAgICAgOiAnMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBGYWNlYm9vayBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlIDxlbT5pPC9lbT4uJywKICAgICAgICAgICAgICAgICAgICAndHh0X2ZiX29mZicgICAgICAgIDogJ25pY2h0IG1pdCBGYWNlYm9vayB2ZXJidW5kZW4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfZmJfb24nICAgICAgICAgOiAnbWl0IEZhY2Vib29rIHZlcmJ1bmRlbicsCiAgICAgICAgICAgICAgICAgICAgJ3Blcm1hX29wdGlvbicgICAgICA6ICdvbicsCiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXlfbmFtZScgICAgICA6ICdGYWNlYm9vaycsCiAgICAgICAgICAgICAgICAgICAgJ3JlZmVycmVyX3RyYWNrJyAgICA6ICcnLAogICAgICAgICAgICAgICAgICAgICdsYW5ndWFnZScgICAgICAgICAgOiAnZGVfREUnLAogICAgICAgICAgICAgICAgICAgICdhY3Rpb24nICAgICAgICAgICAgOiAncmVjb21tZW5kJwogICAgICAgICAgICAgICAgfSwgCiAgICAgICAgICAgICAgICAndHdpdHRlcicgOiB7CiAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICA6ICdvbicsIAogICAgICAgICAgICAgICAgICAgICdkdW1teV9pbWcnICAgICAgICAgOiAnc29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV90d2l0dGVyLnBuZycsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF9pbmZvJyAgICAgICAgICA6ICcyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIFR3aXR0ZXIgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSA8ZW0+aTwvZW0+LicsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF90d2l0dGVyX29mZicgICA6ICduaWNodCBtaXQgVHdpdHRlciB2ZXJidW5kZW4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfdHdpdHRlcl9vbicgICAgOiAnbWl0IFR3aXR0ZXIgdmVyYnVuZGVuJywKICAgICAgICAgICAgICAgICAgICAncGVybWFfb3B0aW9uJyAgICAgIDogJ29uJywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9uYW1lJyAgICAgIDogJ1R3aXR0ZXInLAogICAgICAgICAgICAgICAgICAgICdyZWZlcnJlcl90cmFjaycgICAgOiAnJywgCiAgICAgICAgICAgICAgICAgICAgJ3R3ZWV0X3RleHQnICAgICAgICA6IGdldFR3ZWV0VGV4dCwKICAgICAgICAgICAgICAgICAgICAnbGFuZ3VhZ2UnICAgICAgICAgIDogJ2VuJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICdncGx1cycgOiB7CiAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICA6ICdvbicsCiAgICAgICAgICAgICAgICAgICAgJ2R1bW15X2ltZycgICAgICAgICA6ICdzb2NpYWxzaGFyZXByaXZhY3kvaW1hZ2VzL2R1bW15X2dwbHVzLnBuZycsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF9pbmZvJyAgICAgICAgICA6ICcyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIEdvb2dsZSsgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSA8ZW0+aTwvZW0+LicsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF9ncGx1c19vZmYnICAgICA6ICduaWNodCBtaXQgR29vZ2xlKyB2ZXJidW5kZW4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfZ3BsdXNfb24nICAgICAgOiAnbWl0IEdvb2dsZSsgdmVyYnVuZGVuJywKICAgICAgICAgICAgICAgICAgICAncGVybWFfb3B0aW9uJyAgICAgIDogJ29uJywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9uYW1lJyAgICAgIDogJ0dvb2dsZSsnLAogICAgICAgICAgICAgICAgICAgICdyZWZlcnJlcl90cmFjaycgICAgOiAnJywKICAgICAgICAgICAgICAgICAgICAnbGFuZ3VhZ2UnICAgICAgICAgIDogJ2RlJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAnaW5mb19saW5rJyAgICAgICAgIDogJ2h0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sJywKICAgICAgICAgICAgJ3R4dF9oZWxwJyAgICAgICAgICA6ICdXZW5uIFNpZSBkaWVzZSBGZWxkZXIgZHVyY2ggZWluZW4gS2xpY2sgYWt0aXZpZXJlbiwgd2VyZGVuIEluZm9ybWF0aW9uZW4gYW4gRmFjZWJvb2ssIFR3aXR0ZXIgb2RlciBHb29nbGUgaW4gZGllIFVTQSAmdXVtbDtiZXJ0cmFnZW4gdW5kIHVudGVyIFVtc3QmYXVtbDtuZGVuIGF1Y2ggZG9ydCBnZXNwZWljaGVydC4gTiZhdW1sO2hlcmVzIGVyZmFocmVuIFNpZSBkdXJjaCBlaW5lbiBLbGljayBhdWYgZGFzIDxlbT5pPC9lbT4uJywKICAgICAgICAgICAgJ3NldHRpbmdzX3Blcm1hJyAgICA6ICdEYXVlcmhhZnQgYWt0aXZpZXJlbiB1bmQgRGF0ZW4mdXVtbDtiZXImc2h5O3RyYWd1bmcgenVzdGltbWVuOicsCiAgICAgICAgICAgICdjb29raWVfcGF0aCcgICAgICAgOiAnLycsCiAgICAgICAgICAgICdjb29raWVfZG9tYWluJyAgICAgOiBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LAogICAgICAgICAgICAnY29va2llX2V4cGlyZXMnICAgIDogJzM2NScsCiAgICAgICAgICAgICdjc3NfcGF0aCcgICAgICAgICAgOiAnc29jaWFsc2hhcmVwcml2YWN5L3NvY2lhbHNoYXJlcHJpdmFjeS5jc3MnLAogICAgICAgICAgICAndXJpJyAgICAgICAgICAgICAgIDogZ2V0VVJJCiAgICAgICAgfTsKCiAgICAgICAgLy8gU3RhbmRhcmR3ZXJ0ZSBkZXMgUGx1Zy1JbmdzIG1pdCBkZW4gdm9tIFVzZXIgYW5nZWdlYmVuZW4gT3B0aW9uZW4gdWViZXJzY2hyZWliZW4KICAgICAgICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIGRlZmF1bHRzLCBzZXR0aW5ncyk7CgogICAgICAgIHZhciBmYWNlYm9va19vbiA9IChvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnN0YXR1cyA9PT0gJ29uJyk7CiAgICAgICAgdmFyIHR3aXR0ZXJfb24gID0gKG9wdGlvbnMuc2VydmljZXMudHdpdHRlci5zdGF0dXMgID09PSAnb24nKTsKICAgICAgICB2YXIgZ3BsdXNfb24gICAgPSAob3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy5zdGF0dXMgICAgPT09ICdvbicpOwoKICAgICAgICAvLyBjaGVjayBpZiBhdCBsZWFzdCBvbmUgc2VydmljZSBpcyAib24iCiAgICAgICAgaWYgKCFmYWNlYm9va19vbiAmJiAhdHdpdHRlcl9vbiAmJiAhZ3BsdXNfb24pIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gaW5zZXJ0IHN0eWxlc2hlZXQgaW50byBkb2N1bWVudCBhbmQgcHJlcGVuZCB0YXJnZXQgZWxlbWVudAogICAgICAgIGlmIChvcHRpb25zLmNzc19wYXRoLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgLy8gSUUgZml4IChub2V0aWcgZnVlciBJRSA8IDkgLSB3aXJkIGhpZXIgYWJlciBmdWVyIGFsbGUgSUUgZ2VtYWNodCkKICAgICAgICAgICAgaWYgKGRvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQob3B0aW9ucy5jc3NfcGF0aCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkKCdoZWFkJykuYXBwZW5kKCc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInICsgb3B0aW9ucy5jc3NfcGF0aCArICciIC8+Jyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgJCh0aGlzKS5wcmVwZW5kKCc8dWwgY2xhc3M9InNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEiPjwvdWw+Jyk7CiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gJCgnLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEnLCB0aGlzKTsKCiAgICAgICAgICAgIC8vIGNhbm9uaWNhbCB1cmkgdGhhdCB3aWxsIGJlIHNoYXJlZAogICAgICAgICAgICB2YXIgdXJpID0gb3B0aW9ucy51cmk7CiAgICAgICAgICAgIGlmICh0eXBlb2YgdXJpID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICB1cmkgPSB1cmkoY29udGV4dCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIEZhY2Vib29rCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIGlmIChmYWNlYm9va19vbikgewogICAgICAgICAgICAgICAgdmFyIGZiX2VuY191cmkgPSBlbmNvZGVVUklDb21wb25lbnQodXJpICsgb3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay5yZWZlcnJlcl90cmFjayk7CiAgICAgICAgICAgICAgICB2YXIgZmJfY29kZSA9ICc8aWZyYW1lIHNyYz0iaHR0cDovL3d3dy5mYWNlYm9vay5jb20vcGx1Z2lucy9saWtlLnBocD9sb2NhbGU9JyArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2subGFuZ3VhZ2UgKyAnJmFtcDtocmVmPScgKyBmYl9lbmNfdXJpICsgJyZhbXA7c2VuZD1mYWxzZSZhbXA7bGF5b3V0PWJ1dHRvbl9jb3VudCZhbXA7d2lkdGg9MTIwJmFtcDtzaG93X2ZhY2VzPWZhbHNlJmFtcDthY3Rpb249JyArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2suYWN0aW9uICsgJyZhbXA7Y29sb3JzY2hlbWU9bGlnaHQmYW1wO2ZvbnQmYW1wO2hlaWdodD0yMSIgc2Nyb2xsaW5nPSJubyIgZnJhbWVib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6bm9uZTsgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDoxNDVweDsgaGVpZ2h0OjIxcHg7IiBhbGxvd1RyYW5zcGFyZW5jeT0idHJ1ZSI+PC9pZnJhbWU+JzsKICAgICAgICAgICAgICAgIHZhciBmYl9kdW1teV9idG4gPSAnPGltZyBzcmM9IicgKyBvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLmR1bW15X2ltZyArICciIGFsdD0iRmFjZWJvb2sgJnF1b3Q7TGlrZSZxdW90Oy1EdW1teSIgY2xhc3M9ImZiX2xpa2VfcHJpdmFjeV9kdW1teSIgLz4nOwoKICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kKCc8bGkgY2xhc3M9ImZhY2Vib29rIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicgKyBvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9pbmZvICsgJzwvc3Bhbj48c3BhbiBjbGFzcz0ic3dpdGNoIG9mZiI+JyArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2sudHh0X2ZiX29mZiArICc8L3NwYW4+PGRpdiBjbGFzcz0iZmJfbGlrZSBkdW1teV9idG4iPicgKyBmYl9kdW1teV9idG4gKyAnPC9kaXY+PC9saT4nKTsKCiAgICAgICAgICAgICAgICB2YXIgJGNvbnRhaW5lcl9mYiA9ICQoJ2xpLmZhY2Vib29rJywgY29udGV4dCk7CgogICAgICAgICAgICAgICAgJCgnbGkuZmFjZWJvb2sgZGl2LmZiX2xpa2UgaW1nLmZiX2xpa2VfcHJpdmFjeV9kdW1teSxsaS5mYWNlYm9vayBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICgkY29udGFpbmVyX2ZiLmZpbmQoJ3NwYW4uc3dpdGNoJykuaGFzQ2xhc3MoJ29mZicpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuYWRkQ2xhc3MoJ2luZm9fb2ZmJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnc3Bhbi5zd2l0Y2gnKS5hZGRDbGFzcygnb24nKS5yZW1vdmVDbGFzcygnb2ZmJykuaHRtbChvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vbik7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnaW1nLmZiX2xpa2VfcHJpdmFjeV9kdW1teScpLnJlcGxhY2VXaXRoKGZiX2NvZGUpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIucmVtb3ZlQ2xhc3MoJ2luZm9fb2ZmJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnc3Bhbi5zd2l0Y2gnKS5hZGRDbGFzcygnb2ZmJykucmVtb3ZlQ2xhc3MoJ29uJykuaHRtbChvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vZmYpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2ZiLmZpbmQoJy5mYl9saWtlJykuaHRtbChmYl9kdW1teV9idG4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBUd2l0dGVyCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIGlmICh0d2l0dGVyX29uKSB7CiAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IG9wdGlvbnMuc2VydmljZXMudHdpdHRlci50d2VldF90ZXh0OwogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIDEyMCBpcyB0aGUgbWF4IGNoYXJhY3RlciBjb3VudCBsZWZ0IGFmdGVyIHR3aXR0ZXJzIGF1dG9tYXRpYyB1cmwgc2hvcnRlbmluZyB3aXRoIHQuY28KICAgICAgICAgICAgICAgIHRleHQgPSBhYmJyZXZpYXRlVGV4dCh0ZXh0LCAnMTIwJyk7CgogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfZW5jX3VyaSA9IGVuY29kZVVSSUNvbXBvbmVudCh1cmkgKyBvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIucmVmZXJyZXJfdHJhY2spOwogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfY291bnRfdXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KHVyaSk7CiAgICAgICAgICAgICAgICB2YXIgdHdpdHRlcl9jb2RlID0gJzxpZnJhbWUgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzL3R3ZWV0X2J1dHRvbi5odG1sP3VybD0nICsgdHdpdHRlcl9lbmNfdXJpICsgJyZhbXA7Y291bnR1cmw9JyArIHR3aXR0ZXJfY291bnRfdXJsICsgJyZhbXA7dGV4dD0nICsgdGV4dCArICcmYW1wO2NvdW50PWhvcml6b250YWwmYW1wO2xhbmc9JyArIG9wdGlvbnMuc2VydmljZXMudHdpdHRlci5sYW5ndWFnZSArICciIHN0eWxlPSJ3aWR0aDoxMzBweDsgaGVpZ2h0OjI1cHg7Ij48L2lmcmFtZT4nOwogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfZHVtbXlfYnRuID0gJzxpbWcgc3JjPSInICsgb3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLmR1bW15X2ltZyArICciIGFsdD0iJnF1b3Q7VHdlZXQgdGhpcyZxdW90Oy1EdW1teSIgY2xhc3M9InR3ZWV0X3RoaXNfZHVtbXkiIC8+JzsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZCgnPGxpIGNsYXNzPSJ0d2l0dGVyIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicgKyBvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIudHh0X2luZm8gKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nICsgb3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29mZiArICc8L3NwYW4+PGRpdiBjbGFzcz0idHdlZXQgZHVtbXlfYnRuIj4nICsgdHdpdHRlcl9kdW1teV9idG4gKyAnPC9kaXY+PC9saT4nKTsKCiAgICAgICAgICAgICAgICB2YXIgJGNvbnRhaW5lcl90dyA9ICQoJ2xpLnR3aXR0ZXInLCBjb250ZXh0KTsKCiAgICAgICAgICAgICAgICAkKCdsaS50d2l0dGVyIGRpdi50d2VldCBpbWcsbGkudHdpdHRlciBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICgkY29udGFpbmVyX3R3LmZpbmQoJ3NwYW4uc3dpdGNoJykuaGFzQ2xhc3MoJ29mZicpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfdHcuYWRkQ2xhc3MoJ2luZm9fb2ZmJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfdHcuZmluZCgnc3Bhbi5zd2l0Y2gnKS5hZGRDbGFzcygnb24nKS5yZW1vdmVDbGFzcygnb2ZmJykuaHRtbChvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIudHh0X3R3aXR0ZXJfb24pOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LmZpbmQoJ2ltZy50d2VldF90aGlzX2R1bW15JykucmVwbGFjZVdpdGgodHdpdHRlcl9jb2RlKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LnJlbW92ZUNsYXNzKCdpbmZvX29mZicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LmZpbmQoJ3NwYW4uc3dpdGNoJykuYWRkQ2xhc3MoJ29mZicpLnJlbW92ZUNsYXNzKCdvbicpLmh0bWwob3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29mZik7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfdHcuZmluZCgnLnR3ZWV0JykuaHRtbCh0d2l0dGVyX2R1bW15X2J0bik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIEdvb2dsZSsKICAgICAgICAgICAgLy8KICAgICAgICAgICAgaWYgKGdwbHVzX29uKSB7CiAgICAgICAgICAgICAgICAvLyBmdWVyIEcrIHdpcmQgZGllIFVSTCBuaWNodCBlbmNvZGVkLCBkYSBkYXMgenUgZWluZW0gRmVobGVyIGZ1ZWhydAogICAgICAgICAgICAgICAgdmFyIGdwbHVzX3VyaSA9IHVyaSArIG9wdGlvbnMuc2VydmljZXMuZ3BsdXMucmVmZXJyZXJfdHJhY2s7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIC8vIHdlIHVzZSB0aGUgR29vZ2xlKyAiYXN5bmNocm9ub3VzIiBjb2RlLCBzdGFuZGFyZCBjb2RlIGlzIGZsYWt5IGlmIGluc2VydGVkIGludG8gZG9tIGFmdGVyIGxvYWQKICAgICAgICAgICAgICAgIHZhciBncGx1c19jb2RlID0gJzxkaXYgY2xhc3M9ImctcGx1c29uZSIgZGF0YS1zaXplPSJtZWRpdW0iIGRhdGEtaHJlZj0iJyArIGdwbHVzX3VyaSArICciPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij53aW5kb3cuX19fZ2NmZyA9IHtsYW5nOiAiJyArIG9wdGlvbnMuc2VydmljZXMuZ3BsdXMubGFuZ3VhZ2UgKyAnIn07IChmdW5jdGlvbigpIHsgdmFyIHBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7IHBvLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsgcG8uYXN5bmMgPSB0cnVlOyBwby5zcmMgPSAiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vanMvcGx1c29uZS5qcyI7IHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHBvLCBzKTsgfSkoKTsgPC9zY3JpcHQ+JzsKICAgICAgICAgICAgICAgIHZhciBncGx1c19kdW1teV9idG4gPSAnPGltZyBzcmM9IicgKyBvcHRpb25zLnNlcnZpY2VzLmdwbHVzLmR1bW15X2ltZyArICciIGFsdD0iJnF1b3Q7R29vZ2xlKzEmcXVvdDstRHVtbXkiIGNsYXNzPSJncGx1c19vbmVfZHVtbXkiIC8+JzsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZCgnPGxpIGNsYXNzPSJncGx1cyBoZWxwX2luZm8iPjxzcGFuIGNsYXNzPSJpbmZvIj4nICsgb3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy50eHRfaW5mbyArICc8L3NwYW4+PHNwYW4gY2xhc3M9InN3aXRjaCBvZmYiPicgKyBvcHRpb25zLnNlcnZpY2VzLmdwbHVzLnR4dF9ncGx1c19vZmYgKyAnPC9zcGFuPjxkaXYgY2xhc3M9ImdwbHVzb25lIGR1bW15X2J0biI+JyArIGdwbHVzX2R1bW15X2J0biArICc8L2Rpdj48L2xpPicpOwoKICAgICAgICAgICAgICAgIHZhciAkY29udGFpbmVyX2dwbHVzID0gJCgnbGkuZ3BsdXMnLCBjb250ZXh0KTsKCiAgICAgICAgICAgICAgICAkKCdsaS5ncGx1cyBkaXYuZ3BsdXNvbmUgaW1nLGxpLmdwbHVzIHNwYW4uc3dpdGNoJywgY29udGV4dCkubGl2ZSgnY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRjb250YWluZXJfZ3BsdXMuZmluZCgnc3Bhbi5zd2l0Y2gnKS5oYXNDbGFzcygnb2ZmJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5hZGRDbGFzcygnaW5mb19vZmYnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5maW5kKCdzcGFuLnN3aXRjaCcpLmFkZENsYXNzKCdvbicpLnJlbW92ZUNsYXNzKCdvZmYnKS5odG1sKG9wdGlvbnMuc2VydmljZXMuZ3BsdXMudHh0X2dwbHVzX29uKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5maW5kKCdpbWcuZ3BsdXNfb25lX2R1bW15JykucmVwbGFjZVdpdGgoZ3BsdXNfY29kZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5yZW1vdmVDbGFzcygnaW5mb19vZmYnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5maW5kKCdzcGFuLnN3aXRjaCcpLmFkZENsYXNzKCdvZmYnKS5yZW1vdmVDbGFzcygnb24nKS5odG1sKG9wdGlvbnMuc2VydmljZXMuZ3BsdXMudHh0X2dwbHVzX29mZik7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZ3BsdXMuZmluZCgnLmdwbHVzb25lJykuaHRtbChncGx1c19kdW1teV9idG4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBEZXIgSW5mby9TZXR0aW5ncy1CZXJlaWNoIHdpcmQgZWluZ2VidW5kZW4KICAgICAgICAgICAgLy8KICAgICAgICAgICAgY29udGV4dC5hcHBlbmQoJzxsaSBjbGFzcz0ic2V0dGluZ3NfaW5mbyI+PGRpdiBjbGFzcz0ic2V0dGluZ3NfaW5mb19tZW51IG9mZiBwZXJtYV9vcHRpb25fb2ZmIj48YSBocmVmPSInICsgb3B0aW9ucy5pbmZvX2xpbmsgKyAnIj48c3BhbiBjbGFzcz0iaGVscF9pbmZvIGljb24iPjxzcGFuIGNsYXNzPSJpbmZvIj4nICsgb3B0aW9ucy50eHRfaGVscCArICc8L3NwYW4+PC9zcGFuPjwvYT48L2Rpdj48L2xpPicpOwoKICAgICAgICAgICAgLy8gSW5mby1PdmVybGF5cyBtaXQgbGVpY2h0ZXIgVmVyem9lZ2VydW5nIGVpbmJsZW5kZW4KICAgICAgICAgICAgJCgnLmhlbHBfaW5mbzpub3QoLmluZm9fb2ZmKScsIGNvbnRleHQpLmxpdmUoJ21vdXNlZW50ZXInLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgJGluZm9fd3JhcHBlciA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgJCgkaW5mb193cmFwcGVyKS5hZGRDbGFzcygnZGlzcGxheScpOyB9LCA1MDApOwogICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCd0aW1lb3V0X2lkJywgdGltZW91dF9pZCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAkKCcuaGVscF9pbmZvJywgY29udGV4dCkubGl2ZSgnbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciB0aW1lb3V0X2lkID0gJCh0aGlzKS5kYXRhKCd0aW1lb3V0X2lkJyk7CiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXRfaWQpOwogICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ2Rpc3BsYXknKSkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2Rpc3BsYXknKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB2YXIgZmFjZWJvb2tfcGVybWEgPSAob3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay5wZXJtYV9vcHRpb24gPT09ICdvbicpOwogICAgICAgICAgICB2YXIgdHdpdHRlcl9wZXJtYSAgPSAob3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnBlcm1hX29wdGlvbiAgPT09ICdvbicpOwogICAgICAgICAgICB2YXIgZ3BsdXNfcGVybWEgICAgPSAob3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy5wZXJtYV9vcHRpb24gICAgPT09ICdvbicpOwoKICAgICAgICAgICAgLy8gTWVudWUgenVtIGRhdWVyaGFmdGVuIEVpbmJsZW5kZW4gZGVyIGFrdGl2ZW4gRGllbnN0ZSB2aWEgQ29va2llIGVpbmJpbmRlbgogICAgICAgICAgICAvLyBEaWUgSUU3IHdpcmQgaGllciBhdXNnZW5vbW1lbiwgZGEgZXIga2VpbiBKU09OIGthbm4gdW5kIGRpZSBDb29raWVzIGhpZXIgdWViZXIgSlNPTi1TdHJ1a3R1ciBhYmdlYmlsZGV0IHdlcmRlbgogICAgICAgICAgICBpZiAoKChmYWNlYm9va19vbiAmJiBmYWNlYm9va19wZXJtYSkKICAgICAgICAgICAgICAgIHx8ICh0d2l0dGVyX29uICYmIHR3aXR0ZXJfcGVybWEpCiAgICAgICAgICAgICAgICB8fCAoZ3BsdXNfb24gJiYgZ3BsdXNfcGVybWEpKQogICAgICAgICAgICAgICAgICAgICYmICghJC5icm93c2VyLm1zaWUgfHwgKCQuYnJvd3Nlci5tc2llICYmICQuYnJvd3Nlci52ZXJzaW9uID4gNy4wKSkpIHsKCiAgICAgICAgICAgICAgICAvLyBDb29raWVzIGFicnVmZW4KICAgICAgICAgICAgICAgIHZhciBjb29raWVfbGlzdCA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpOwogICAgICAgICAgICAgICAgdmFyIGNvb2tpZXMgPSAneyc7CiAgICAgICAgICAgICAgICB2YXIgaSA9IDA7CiAgICAgICAgICAgICAgICBmb3IgKDsgaSA8IGNvb2tpZV9saXN0Lmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGZvbyA9IGNvb2tpZV9saXN0W2ldLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICAgICAgY29va2llcyArPSAnIicgKyAkLnRyaW0oZm9vWzBdKSArICciOiInICsgJC50cmltKGZvb1sxXSkgKyAnIic7CiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBjb29raWVfbGlzdC5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZXMgKz0gJywnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvb2tpZXMgKz0gJ30nOwogICAgICAgICAgICAgICAgY29va2llcyA9IEpTT04ucGFyc2UoY29va2llcyk7CgogICAgICAgICAgICAgICAgLy8gQ29udGFpbmVyIGRlZmluaWVyZW4KICAgICAgICAgICAgICAgIHZhciAkY29udGFpbmVyX3NldHRpbmdzX2luZm8gPSAkKCdsaS5zZXR0aW5nc19pbmZvJywgY29udGV4dCk7CgogICAgICAgICAgICAgICAgLy8gS2xhc3NlIGVudGZlcm5lbiwgZGllIGRhcyBpLUljb24gYWxsZWluZSBmb3JtYXRpZXJ0LCBkYSBQZXJtYS1PcHRpb25lbiBlaW5nZWJsZW5kZXQgd2VyZGVuCiAgICAgICAgICAgICAgICAkY29udGFpbmVyX3NldHRpbmdzX2luZm8uZmluZCgnLnNldHRpbmdzX2luZm9fbWVudScpLnJlbW92ZUNsYXNzKCdwZXJtYV9vcHRpb25fb2ZmJyk7CgogICAgICAgICAgICAgICAgLy8gUGVybWEtT3B0aW9uZW4tSWNvbiAoLnNldHRpbmdzKSB1bmQgRm9ybXVsYXIgKG5vY2ggdmVyc3RlY2t0KSBlaW5iaW5kZW4KICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCcuc2V0dGluZ3NfaW5mb19tZW51JykuYXBwZW5kKCc8c3BhbiBjbGFzcz0ic2V0dGluZ3MiPkVpbnN0ZWxsdW5nZW48L3NwYW4+PGZvcm0+PGZpZWxkc2V0PjxsZWdlbmQ+JyArIG9wdGlvbnMuc2V0dGluZ3NfcGVybWEgKyAnPC9sZWdlbmQ+PC9maWVsZHNldD48L2Zvcm0+Jyk7CgoKICAgICAgICAgICAgICAgIC8vIERpZSBEaWVuc3RlIG1pdCA8aW5wdXQ+IHVuZCA8bGFiZWw+LCBzb3dpZSBjaGVja2VkLVN0YXR1cyBsYXV0IENvb2tpZSwgc2NocmVpYmVuCiAgICAgICAgICAgICAgICB2YXIgY2hlY2tlZCA9ICcgY2hlY2tlZD0iY2hlY2tlZCInOwogICAgICAgICAgICAgICAgaWYgKGZhY2Vib29rX29uICYmIGZhY2Vib29rX3Blcm1hKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHBlcm1hX3N0YXR1c19mYWNlYm9vayA9IGNvb2tpZXMuc29jaWFsU2hhcmVQcml2YWN5X2ZhY2Vib29rID09PSAncGVybWFfb24nID8gY2hlY2tlZCA6ICcnOwogICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCdmb3JtIGZpZWxkc2V0JykuYXBwZW5kKAogICAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJwZXJtYV9zdGF0dXNfZmFjZWJvb2siIGlkPSJwZXJtYV9zdGF0dXNfZmFjZWJvb2siJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBwZXJtYV9zdGF0dXNfZmFjZWJvb2sgKyAnIC8+PGxhYmVsIGZvcj0icGVybWFfc3RhdHVzX2ZhY2Vib29rIj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2suZGlzcGxheV9uYW1lICsgJzwvbGFiZWw+JwogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHR3aXR0ZXJfb24gJiYgdHdpdHRlcl9wZXJtYSkgewogICAgICAgICAgICAgICAgICAgIHZhciBwZXJtYV9zdGF0dXNfdHdpdHRlciA9IGNvb2tpZXMuc29jaWFsU2hhcmVQcml2YWN5X3R3aXR0ZXIgPT09ICdwZXJtYV9vbicgPyBjaGVja2VkIDogJyc7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJ2Zvcm0gZmllbGRzZXQnKS5hcHBlbmQoCiAgICAgICAgICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InBlcm1hX3N0YXR1c190d2l0dGVyIiBpZD0icGVybWFfc3RhdHVzX3R3aXR0ZXIiJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBwZXJtYV9zdGF0dXNfdHdpdHRlciArICcgLz48bGFiZWwgZm9yPSJwZXJtYV9zdGF0dXNfdHdpdHRlciI+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIuZGlzcGxheV9uYW1lICsgJzwvbGFiZWw+JwogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGdwbHVzX29uICYmIGdwbHVzX3Blcm1hKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHBlcm1hX3N0YXR1c19ncGx1cyA9IGNvb2tpZXMuc29jaWFsU2hhcmVQcml2YWN5X2dwbHVzID09PSAncGVybWFfb24nID8gY2hlY2tlZCA6ICcnOwogICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCdmb3JtIGZpZWxkc2V0JykuYXBwZW5kKAogICAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJwZXJtYV9zdGF0dXNfZ3BsdXMiIGlkPSJwZXJtYV9zdGF0dXNfZ3BsdXMiJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBwZXJtYV9zdGF0dXNfZ3BsdXMgKyAnIC8+PGxhYmVsIGZvcj0icGVybWFfc3RhdHVzX2dwbHVzIj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIG9wdGlvbnMuc2VydmljZXMuZ3BsdXMuZGlzcGxheV9uYW1lICsgJzwvbGFiZWw+JwogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ3Vyc29yIGF1ZiBQb2ludGVyIHNldHplbiBmdWVyIGRhcyBaYWhucmFkCiAgICAgICAgICAgICAgICAkY29udGFpbmVyX3NldHRpbmdzX2luZm8uZmluZCgnc3Bhbi5zZXR0aW5ncycpLmNzcygnY3Vyc29yJywgJ3BvaW50ZXInKTsKCiAgICAgICAgICAgICAgICAvLyBFaW5zdGVsbHVuZ3MtTWVudWUgYmVpIG1vdXNlb3ZlciBlaW4tL2F1c2JsZW5kZW4KICAgICAgICAgICAgICAgICQoJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJ3NwYW4uc2V0dGluZ3MnKSwgY29udGV4dCkubGl2ZSgnbW91c2VlbnRlcicsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJy5zZXR0aW5nc19pbmZvX21lbnUnKS5yZW1vdmVDbGFzcygnb2ZmJykuYWRkQ2xhc3MoJ29uJyk7IH0sIDUwMCk7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCd0aW1lb3V0X2lkJywgdGltZW91dF9pZCk7CiAgICAgICAgICAgICAgICB9KTsgCiAgICAgICAgICAgICAgICAkKCRjb250YWluZXJfc2V0dGluZ3NfaW5mbywgY29udGV4dCkubGl2ZSgnbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9ICQodGhpcykuZGF0YSgndGltZW91dF9pZCcpOwogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dF9pZCk7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJy5zZXR0aW5nc19pbmZvX21lbnUnKS5yZW1vdmVDbGFzcygnb24nKS5hZGRDbGFzcygnb2ZmJyk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBLbGljay1JbnRlcmFrdGlvbiBhdWYgPGlucHV0PiB1bSBEaWVuc3RlIGRhdWVyaGFmdCBlaW4tIG9kZXIgYXVzenVzY2hhbHRlbiAoQ29va2llIHdpcmQgZ2VzZXR6dCBvZGVyIGdlbG9lc2NodCkKICAgICAgICAgICAgICAgICQoJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJ2ZpZWxkc2V0IGlucHV0JykpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNsaWNrID0gZXZlbnQudGFyZ2V0LmlkOwogICAgICAgICAgICAgICAgICAgIHZhciBzZXJ2aWNlID0gY2xpY2suc3Vic3RyKGNsaWNrLmxhc3RJbmRleE9mKCdfJykgKyAxLCBjbGljay5sZW5ndGgpOwogICAgICAgICAgICAgICAgICAgIHZhciBjb29raWVfbmFtZSA9ICdzb2NpYWxTaGFyZVByaXZhY3lfJyArIHNlcnZpY2U7CgogICAgICAgICAgICAgICAgICAgIGlmICgkKCcjJyArIGV2ZW50LnRhcmdldC5pZCArICc6Y2hlY2tlZCcpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb29raWVTZXQoY29va2llX25hbWUsICdwZXJtYV9vbicsIG9wdGlvbnMuY29va2llX2V4cGlyZXMsIG9wdGlvbnMuY29va2llX3BhdGgsIG9wdGlvbnMuY29va2llX2RvbWFpbik7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2Zvcm0gZmllbGRzZXQgbGFiZWxbZm9yPScgKyBjbGljayArICddJywgY29udGV4dCkuYWRkQ2xhc3MoJ2NoZWNrZWQnKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBjb29raWVEZWwoY29va2llX25hbWUsICdwZXJtYV9vbicsIG9wdGlvbnMuY29va2llX3BhdGgsIG9wdGlvbnMuY29va2llX2RvbWFpbik7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2Zvcm0gZmllbGRzZXQgbGFiZWxbZm9yPScgKyBjbGljayArICddJywgY29udGV4dCkucmVtb3ZlQ2xhc3MoJ2NoZWNrZWQnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBEaWVuc3RlIGF1dG9tYXRpc2NoIGVpbmJpbmRlbiwgd2VubiBlbnRzcHJlY2hlbmRlcyBDb29raWUgdm9yaGFuZGVuIGlzdAogICAgICAgICAgICAgICAgaWYgKGZhY2Vib29rX29uICYmIGZhY2Vib29rX3Blcm1hICYmIGNvb2tpZXMuc29jaWFsU2hhcmVQcml2YWN5X2ZhY2Vib29rID09PSAncGVybWFfb24nKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnbGkuZmFjZWJvb2sgc3Bhbi5zd2l0Y2gnLCBjb250ZXh0KS5jbGljaygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHR3aXR0ZXJfb24gJiYgdHdpdHRlcl9wZXJtYSAmJiBjb29raWVzLnNvY2lhbFNoYXJlUHJpdmFjeV90d2l0dGVyID09PSAncGVybWFfb24nKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnbGkudHdpdHRlciBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoZ3BsdXNfb24gJiYgZ3BsdXNfcGVybWEgJiYgY29va2llcy5zb2NpYWxTaGFyZVByaXZhY3lfZ3BsdXMgPT09ICdwZXJtYV9vbicpIHsKICAgICAgICAgICAgICAgICAgICAkKCdsaS5ncGx1cyBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsgLy8gdGhpcy5lYWNoKGZ1bmN0aW9uICgpCiAgICB9OyAgICAgIC8vICQuZm4uc29jaWFsU2hhcmVQcml2YWN5ID0gZnVuY3Rpb24gKHNldHRpbmdzKSB7Cn0oalF1ZXJ5KSk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.socialshareprivacy.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICoganF1ZXJ5LnNvY2lhbHNoYXJlcHJpdmFjeS5qcyB8IDIgS2xpY2tzIGZ1ZXIgbWVociBEYXRlbnNjaHV0egogKgogKiBodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvCiAqIGh0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMSBIaWxrbyBIb2x3ZWcsIFNlYmFzdGlhbiBIaWxiaWcsIE5pY29sYXMgSGVpcmluZ2hvZmYsIEp1ZXJnZW4gU2NobWlkdCwKICogSGVpc2UgWmVpdHNjaHJpZnRlbiBWZXJsYWcgR21iSCAmIENvLiBLRywgaHR0cDovL3d3dy5oZWlzZS5kZQogKgogKiBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKICoKICogU3ByZWFkIHRoZSB3b3JkLCBsaW5rIHRvIHVzIGlmIHlvdSBjYW4uCiAqLwooZnVuY3Rpb24oYil7ZnVuY3Rpb24geChiLGEpe3ZhciBmPWRlY29kZVVSSUNvbXBvbmVudChiKTtpZihmLmxlbmd0aDw9YSlyZXR1cm4gYjt2YXIgaj1mLnN1YnN0cmluZygwLGEtMSkubGFzdEluZGV4T2YoIiAiKTtyZXR1cm4gZj1lbmNvZGVVUklDb21wb25lbnQoZi5zdWJzdHJpbmcoMCxqKSkrIlx1MjAyNiJ9ZnVuY3Rpb24gcShjKXtyZXR1cm4gYignbWV0YVtuYW1lPSInK2MrJyJdJykuYXR0cigiY29udGVudCIpfHwiIn1mdW5jdGlvbiByKCl7dmFyIGM9cSgiREMudGl0bGUiKSxhPXEoIkRDLmNyZWF0b3IiKSxjPTA8Yy5sZW5ndGgmJjA8YS5sZW5ndGg/YysoIiAtICIrYSk6YigidGl0bGUiKS50ZXh0KCk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChjKX1mdW5jdGlvbiBzKCl7dmFyIGM9ZG9jdW1lbnQubG9jYXRpb24uaHJlZixhPWIoImxpbmtbcmVsPWNhbm9uaWNhbF0iKS5hdHRyKCJocmVmIik7YSYmMDxhLmxlbmd0aCYmKDA+YS5pbmRleE9mKCJodHRwIikmJihhPWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKwoiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3QrYSksYz1hKTtyZXR1cm4gY31iLmZuLnNvY2lhbFNoYXJlUHJpdmFjeT1mdW5jdGlvbihjKXt2YXIgYT1iLmV4dGVuZCghMCx7c2VydmljZXM6e2ZhY2Vib29rOntzdGF0dXM6Im9uIixkdW1teV9pbWc6InNvY2lhbHNoYXJlcHJpdmFjeS9pbWFnZXMvZHVtbXlfZmFjZWJvb2sucG5nIix0eHRfaW5mbzoiMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBGYWNlYm9vayBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlIDxlbT5pPC9lbT4uIix0eHRfZmJfb2ZmOiJuaWNodCBtaXQgRmFjZWJvb2sgdmVyYnVuZGVuIix0eHRfZmJfb246Im1pdCBGYWNlYm9vayB2ZXJidW5kZW4iLApwZXJtYV9vcHRpb246Im9uIixkaXNwbGF5X25hbWU6IkZhY2Vib29rIixyZWZlcnJlcl90cmFjazoiIixsYW5ndWFnZToiZGVfREUiLGFjdGlvbjoicmVjb21tZW5kIn0sdHdpdHRlcjp7c3RhdHVzOiJvbiIsZHVtbXlfaW1nOiJzb2NpYWxzaGFyZXByaXZhY3kvaW1hZ2VzL2R1bW15X3R3aXR0ZXIucG5nIix0eHRfaW5mbzoiMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBUd2l0dGVyIHNlbmRlbi4gU2Nob24gYmVpbSBBa3RpdmllcmVuIHdlcmRlbiBEYXRlbiBhbiBEcml0dGUgJnV1bWw7YmVydHJhZ2VuICZuZGFzaDsgc2llaGUgPGVtPmk8L2VtPi4iLHR4dF90d2l0dGVyX29mZjoibmljaHQgbWl0IFR3aXR0ZXIgdmVyYnVuZGVuIix0eHRfdHdpdHRlcl9vbjoibWl0IFR3aXR0ZXIgdmVyYnVuZGVuIixwZXJtYV9vcHRpb246Im9uIiwKZGlzcGxheV9uYW1lOiJUd2l0dGVyIixyZWZlcnJlcl90cmFjazoiIix0d2VldF90ZXh0OnIsbGFuZ3VhZ2U6ImVuIn0sZ3BsdXM6e3N0YXR1czoib24iLGR1bW15X2ltZzoic29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV9ncGx1cy5wbmciLHR4dF9pbmZvOiIyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIEdvb2dsZSsgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSA8ZW0+aTwvZW0+LiIsdHh0X2dwbHVzX29mZjoibmljaHQgbWl0IEdvb2dsZSsgdmVyYnVuZGVuIix0eHRfZ3BsdXNfb246Im1pdCBHb29nbGUrIHZlcmJ1bmRlbiIscGVybWFfb3B0aW9uOiJvbiIsZGlzcGxheV9uYW1lOiJHb29nbGUrIiwKcmVmZXJyZXJfdHJhY2s6IiIsbGFuZ3VhZ2U6ImRlIn19LGluZm9fbGluazoiaHR0cDovL3d3dy5oZWlzZS5kZS9jdC9hcnRpa2VsLzItS2xpY2tzLWZ1ZXItbWVoci1EYXRlbnNjaHV0ei0xMzMzODc5Lmh0bWwiLHR4dF9oZWxwOiJXZW5uIFNpZSBkaWVzZSBGZWxkZXIgZHVyY2ggZWluZW4gS2xpY2sgYWt0aXZpZXJlbiwgd2VyZGVuIEluZm9ybWF0aW9uZW4gYW4gRmFjZWJvb2ssIFR3aXR0ZXIgb2RlciBHb29nbGUgaW4gZGllIFVTQSAmdXVtbDtiZXJ0cmFnZW4gdW5kIHVudGVyIFVtc3QmYXVtbDtuZGVuIGF1Y2ggZG9ydCBnZXNwZWljaGVydC4gTiZhdW1sO2hlcmVzIGVyZmFocmVuIFNpZSBkdXJjaCBlaW5lbiBLbGljayBhdWYgZGFzIDxlbT5pPC9lbT4uIixzZXR0aW5nc19wZXJtYToiRGF1ZXJoYWZ0IGFrdGl2aWVyZW4gdW5kIERhdGVuJnV1bWw7YmVyJnNoeTt0cmFndW5nIHp1c3RpbW1lbjoiLGNvb2tpZV9wYXRoOiIvIixjb29raWVfZG9tYWluOmRvY3VtZW50LmxvY2F0aW9uLmhvc3QsCmNvb2tpZV9leHBpcmVzOiIzNjUiLGNzc19wYXRoOiJzb2NpYWxzaGFyZXByaXZhY3kvc29jaWFsc2hhcmVwcml2YWN5LmNzcyIsdXJpOnN9LGMpLGY9Im9uIj09PWEuc2VydmljZXMuZmFjZWJvb2suc3RhdHVzLGo9Im9uIj09PWEuc2VydmljZXMudHdpdHRlci5zdGF0dXMsbj0ib24iPT09YS5zZXJ2aWNlcy5ncGx1cy5zdGF0dXM7aWYoZnx8anx8bilyZXR1cm4gMDxhLmNzc19wYXRoLmxlbmd0aCYmKGRvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQ/ZG9jdW1lbnQuY3JlYXRlU3R5bGVTaGVldChhLmNzc19wYXRoKTpiKCJoZWFkIikuYXBwZW5kKCc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK2EuY3NzX3BhdGgrJyIgLz4nKSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5wcmVwZW5kKCc8dWwgY2xhc3M9InNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEiPjwvdWw+Jyk7dmFyIGQ9YigiLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEiLHRoaXMpLApjPWEudXJpOyJmdW5jdGlvbiI9PT10eXBlb2YgYyYmKGM9YyhkKSk7aWYoZil7dmFyIGc9ZW5jb2RlVVJJQ29tcG9uZW50KGMrYS5zZXJ2aWNlcy5mYWNlYm9vay5yZWZlcnJlcl90cmFjaykscT0nPGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BsdWdpbnMvbGlrZS5waHA/bG9jYWxlPScrYS5zZXJ2aWNlcy5mYWNlYm9vay5sYW5ndWFnZSsiJmFtcDtocmVmPSIrZysiJmFtcDtzZW5kPWZhbHNlJmFtcDtsYXlvdXQ9YnV0dG9uX2NvdW50JmFtcDt3aWR0aD0xMjAmYW1wO3Nob3dfZmFjZXM9ZmFsc2UmYW1wO2FjdGlvbj0iK2Euc2VydmljZXMuZmFjZWJvb2suYWN0aW9uKycmYW1wO2NvbG9yc2NoZW1lPWxpZ2h0JmFtcDtmb250JmFtcDtoZWlnaHQ9MjEiIHNjcm9sbGluZz0ibm8iIGZyYW1lYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IG92ZXJmbG93OmhpZGRlbjsgd2lkdGg6MTQ1cHg7IGhlaWdodDoyMXB4OyIgYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiPjwvaWZyYW1lPicsCnQ9JzxpbWcgc3JjPSInK2Euc2VydmljZXMuZmFjZWJvb2suZHVtbXlfaW1nKyciIGFsdD0iRmFjZWJvb2sgJnF1b3Q7TGlrZSZxdW90Oy1EdW1teSIgY2xhc3M9ImZiX2xpa2VfcHJpdmFjeV9kdW1teSIgLz4nO2QuYXBwZW5kKCc8bGkgY2xhc3M9ImZhY2Vib29rIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicrYS5zZXJ2aWNlcy5mYWNlYm9vay50eHRfaW5mbysnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nK2Euc2VydmljZXMuZmFjZWJvb2sudHh0X2ZiX29mZisnPC9zcGFuPjxkaXYgY2xhc3M9ImZiX2xpa2UgZHVtbXlfYnRuIj4nK3QrIjwvZGl2PjwvbGk+Iik7dmFyIGs9YigibGkuZmFjZWJvb2siLGQpO2IoImxpLmZhY2Vib29rIGRpdi5mYl9saWtlIGltZy5mYl9saWtlX3ByaXZhY3lfZHVtbXksbGkuZmFjZWJvb2sgc3Bhbi5zd2l0Y2giLGQpLmxpdmUoImNsaWNrIixmdW5jdGlvbigpe2suZmluZCgic3Bhbi5zd2l0Y2giKS5oYXNDbGFzcygib2ZmIik/CihrLmFkZENsYXNzKCJpbmZvX29mZiIpLGsuZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib24iKS5yZW1vdmVDbGFzcygib2ZmIikuaHRtbChhLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vbiksay5maW5kKCJpbWcuZmJfbGlrZV9wcml2YWN5X2R1bW15IikucmVwbGFjZVdpdGgocSkpOihrLnJlbW92ZUNsYXNzKCJpbmZvX29mZiIpLGsuZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib2ZmIikucmVtb3ZlQ2xhc3MoIm9uIikuaHRtbChhLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vZmYpLGsuZmluZCgiLmZiX2xpa2UiKS5odG1sKHQpKX0pfWlmKGope2c9YS5zZXJ2aWNlcy50d2l0dGVyLnR3ZWV0X3RleHQ7ImZ1bmN0aW9uIj09PXR5cGVvZiBnJiYoZz1nKCkpO3ZhciBnPXgoZywiMTIwIiksbz1lbmNvZGVVUklDb21wb25lbnQoYythLnNlcnZpY2VzLnR3aXR0ZXIucmVmZXJyZXJfdHJhY2spLGU9ZW5jb2RlVVJJQ29tcG9uZW50KGMpLHI9JzxpZnJhbWUgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzL3R3ZWV0X2J1dHRvbi5odG1sP3VybD0nKwpvKyImYW1wO2NvdW50dXJsPSIrZSsiJmFtcDt0ZXh0PSIrZysiJmFtcDtjb3VudD1ob3Jpem9udGFsJmFtcDtsYW5nPSIrYS5zZXJ2aWNlcy50d2l0dGVyLmxhbmd1YWdlKyciIHN0eWxlPSJ3aWR0aDoxMzBweDsgaGVpZ2h0OjI1cHg7Ij48L2lmcmFtZT4nLHU9JzxpbWcgc3JjPSInK2Euc2VydmljZXMudHdpdHRlci5kdW1teV9pbWcrJyIgYWx0PSImcXVvdDtUd2VldCB0aGlzJnF1b3Q7LUR1bW15IiBjbGFzcz0idHdlZXRfdGhpc19kdW1teSIgLz4nO2QuYXBwZW5kKCc8bGkgY2xhc3M9InR3aXR0ZXIgaGVscF9pbmZvIj48c3BhbiBjbGFzcz0iaW5mbyI+JythLnNlcnZpY2VzLnR3aXR0ZXIudHh0X2luZm8rJzwvc3Bhbj48c3BhbiBjbGFzcz0ic3dpdGNoIG9mZiI+JythLnNlcnZpY2VzLnR3aXR0ZXIudHh0X3R3aXR0ZXJfb2ZmKyc8L3NwYW4+PGRpdiBjbGFzcz0idHdlZXQgZHVtbXlfYnRuIj4nK3UrIjwvZGl2PjwvbGk+Iik7dmFyIGw9YigibGkudHdpdHRlciIsZCk7YigibGkudHdpdHRlciBkaXYudHdlZXQgaW1nLGxpLnR3aXR0ZXIgc3Bhbi5zd2l0Y2giLApkKS5saXZlKCJjbGljayIsZnVuY3Rpb24oKXtsLmZpbmQoInNwYW4uc3dpdGNoIikuaGFzQ2xhc3MoIm9mZiIpPyhsLmFkZENsYXNzKCJpbmZvX29mZiIpLGwuZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib24iKS5yZW1vdmVDbGFzcygib2ZmIikuaHRtbChhLnNlcnZpY2VzLnR3aXR0ZXIudHh0X3R3aXR0ZXJfb24pLGwuZmluZCgiaW1nLnR3ZWV0X3RoaXNfZHVtbXkiKS5yZXBsYWNlV2l0aChyKSk6KGwucmVtb3ZlQ2xhc3MoImluZm9fb2ZmIiksbC5maW5kKCJzcGFuLnN3aXRjaCIpLmFkZENsYXNzKCJvZmYiKS5yZW1vdmVDbGFzcygib24iKS5odG1sKGEuc2VydmljZXMudHdpdHRlci50eHRfdHdpdHRlcl9vZmYpLGwuZmluZCgiLnR3ZWV0IikuaHRtbCh1KSl9KX1pZihuKXt2YXIgcz0nPGRpdiBjbGFzcz0iZy1wbHVzb25lIiBkYXRhLXNpemU9Im1lZGl1bSIgZGF0YS1ocmVmPSInKyhjK2Euc2VydmljZXMuZ3BsdXMucmVmZXJyZXJfdHJhY2spKyciPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij53aW5kb3cuX19fZ2NmZyA9IHtsYW5nOiAiJysKYS5zZXJ2aWNlcy5ncGx1cy5sYW5ndWFnZSsnIn07IChmdW5jdGlvbigpIHsgdmFyIHBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7IHBvLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsgcG8uYXN5bmMgPSB0cnVlOyBwby5zcmMgPSAiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vanMvcGx1c29uZS5qcyI7IHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHBvLCBzKTsgfSkoKTsgPFwvc2NyaXB0Picsdj0nPGltZyBzcmM9IicrYS5zZXJ2aWNlcy5ncGx1cy5kdW1teV9pbWcrJyIgYWx0PSImcXVvdDtHb29nbGUrMSZxdW90Oy1EdW1teSIgY2xhc3M9ImdwbHVzX29uZV9kdW1teSIgLz4nO2QuYXBwZW5kKCc8bGkgY2xhc3M9ImdwbHVzIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicrYS5zZXJ2aWNlcy5ncGx1cy50eHRfaW5mbysnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nKwphLnNlcnZpY2VzLmdwbHVzLnR4dF9ncGx1c19vZmYrJzwvc3Bhbj48ZGl2IGNsYXNzPSJncGx1c29uZSBkdW1teV9idG4iPicrdisiPC9kaXY+PC9saT4iKTt2YXIgbT1iKCJsaS5ncGx1cyIsZCk7YigibGkuZ3BsdXMgZGl2LmdwbHVzb25lIGltZyxsaS5ncGx1cyBzcGFuLnN3aXRjaCIsZCkubGl2ZSgiY2xpY2siLGZ1bmN0aW9uKCl7bS5maW5kKCJzcGFuLnN3aXRjaCIpLmhhc0NsYXNzKCJvZmYiKT8obS5hZGRDbGFzcygiaW5mb19vZmYiKSxtLmZpbmQoInNwYW4uc3dpdGNoIikuYWRkQ2xhc3MoIm9uIikucmVtb3ZlQ2xhc3MoIm9mZiIpLmh0bWwoYS5zZXJ2aWNlcy5ncGx1cy50eHRfZ3BsdXNfb24pLG0uZmluZCgiaW1nLmdwbHVzX29uZV9kdW1teSIpLnJlcGxhY2VXaXRoKHMpKToobS5yZW1vdmVDbGFzcygiaW5mb19vZmYiKSxtLmZpbmQoInNwYW4uc3dpdGNoIikuYWRkQ2xhc3MoIm9mZiIpLnJlbW92ZUNsYXNzKCJvbiIpLmh0bWwoYS5zZXJ2aWNlcy5ncGx1cy50eHRfZ3BsdXNfb2ZmKSwKbS5maW5kKCIuZ3BsdXNvbmUiKS5odG1sKHYpKX0pfWQuYXBwZW5kKCc8bGkgY2xhc3M9InNldHRpbmdzX2luZm8iPjxkaXYgY2xhc3M9InNldHRpbmdzX2luZm9fbWVudSBvZmYgcGVybWFfb3B0aW9uX29mZiI+PGEgaHJlZj0iJythLmluZm9fbGluaysnIj48c3BhbiBjbGFzcz0iaGVscF9pbmZvIGljb24iPjxzcGFuIGNsYXNzPSJpbmZvIj4nK2EudHh0X2hlbHArIjwvc3Bhbj48L3NwYW4+PC9hPjwvZGl2PjwvbGk+Iik7YigiLmhlbHBfaW5mbzpub3QoLmluZm9fb2ZmKSIsZCkubGl2ZSgibW91c2VlbnRlciIsZnVuY3Rpb24oKXt2YXIgYT1iKHRoaXMpLGM9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKGEpLmFkZENsYXNzKCJkaXNwbGF5Iil9LDUwMCk7Yih0aGlzKS5kYXRhKCJ0aW1lb3V0X2lkIixjKX0pO2IoIi5oZWxwX2luZm8iLGQpLmxpdmUoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7dmFyIGE9Yih0aGlzKS5kYXRhKCJ0aW1lb3V0X2lkIik7d2luZG93LmNsZWFyVGltZW91dChhKTsKYih0aGlzKS5oYXNDbGFzcygiZGlzcGxheSIpJiZiKHRoaXMpLnJlbW92ZUNsYXNzKCJkaXNwbGF5Iil9KTtjPSJvbiI9PT1hLnNlcnZpY2VzLmZhY2Vib29rLnBlcm1hX29wdGlvbjtnPSJvbiI9PT1hLnNlcnZpY2VzLnR3aXR0ZXIucGVybWFfb3B0aW9uO289Im9uIj09PWEuc2VydmljZXMuZ3BsdXMucGVybWFfb3B0aW9uO2lmKChmJiZjfHxqJiZnfHxuJiZvKSYmKCFiLmJyb3dzZXIubXNpZXx8Yi5icm93c2VyLm1zaWUmJjc8Yi5icm93c2VyLnZlcnNpb24pKXtmb3IodmFyIGk9ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IiksZT0ieyIscD0wO3A8aS5sZW5ndGg7cCs9MSl7dmFyIHc9aVtwXS5zcGxpdCgiPSIpLGU9ZSsoJyInK2IudHJpbSh3WzBdKSsnIjoiJytiLnRyaW0od1sxXSkrJyInKTtwPGkubGVuZ3RoLTEmJihlKz0iLCIpfXZhciBlPUpTT04ucGFyc2UoZSsifSIpLGg9YigibGkuc2V0dGluZ3NfaW5mbyIsZCk7aC5maW5kKCIuc2V0dGluZ3NfaW5mb19tZW51IikucmVtb3ZlQ2xhc3MoInBlcm1hX29wdGlvbl9vZmYiKTsKaC5maW5kKCIuc2V0dGluZ3NfaW5mb19tZW51IikuYXBwZW5kKCc8c3BhbiBjbGFzcz0ic2V0dGluZ3MiPkVpbnN0ZWxsdW5nZW48L3NwYW4+PGZvcm0+PGZpZWxkc2V0PjxsZWdlbmQ+JythLnNldHRpbmdzX3Blcm1hKyI8L2xlZ2VuZD48L2ZpZWxkc2V0PjwvZm9ybT4iKTtmJiZjJiYoaT0icGVybWFfb24iPT09ZS5zb2NpYWxTaGFyZVByaXZhY3lfZmFjZWJvb2s/JyBjaGVja2VkPSJjaGVja2VkIic6IiIsaC5maW5kKCJmb3JtIGZpZWxkc2V0IikuYXBwZW5kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InBlcm1hX3N0YXR1c19mYWNlYm9vayIgaWQ9InBlcm1hX3N0YXR1c19mYWNlYm9vayInK2krJyAvPjxsYWJlbCBmb3I9InBlcm1hX3N0YXR1c19mYWNlYm9vayI+JythLnNlcnZpY2VzLmZhY2Vib29rLmRpc3BsYXlfbmFtZSsiPC9sYWJlbD4iKSk7aiYmZyYmKGk9InBlcm1hX29uIj09PWUuc29jaWFsU2hhcmVQcml2YWN5X3R3aXR0ZXI/JyBjaGVja2VkPSJjaGVja2VkIic6CiIiLGguZmluZCgiZm9ybSBmaWVsZHNldCIpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJwZXJtYV9zdGF0dXNfdHdpdHRlciIgaWQ9InBlcm1hX3N0YXR1c190d2l0dGVyIicraSsnIC8+PGxhYmVsIGZvcj0icGVybWFfc3RhdHVzX3R3aXR0ZXIiPicrYS5zZXJ2aWNlcy50d2l0dGVyLmRpc3BsYXlfbmFtZSsiPC9sYWJlbD4iKSk7biYmbyYmKGk9InBlcm1hX29uIj09PWUuc29jaWFsU2hhcmVQcml2YWN5X2dwbHVzPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiLGguZmluZCgiZm9ybSBmaWVsZHNldCIpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJwZXJtYV9zdGF0dXNfZ3BsdXMiIGlkPSJwZXJtYV9zdGF0dXNfZ3BsdXMiJytpKycgLz48bGFiZWwgZm9yPSJwZXJtYV9zdGF0dXNfZ3BsdXMiPicrYS5zZXJ2aWNlcy5ncGx1cy5kaXNwbGF5X25hbWUrIjwvbGFiZWw+IikpO2guZmluZCgic3Bhbi5zZXR0aW5ncyIpLmNzcygiY3Vyc29yIiwicG9pbnRlciIpOwpiKGguZmluZCgic3Bhbi5zZXR0aW5ncyIpLGQpLmxpdmUoIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtoLmZpbmQoIi5zZXR0aW5nc19pbmZvX21lbnUiKS5yZW1vdmVDbGFzcygib2ZmIikuYWRkQ2xhc3MoIm9uIil9LDUwMCk7Yih0aGlzKS5kYXRhKCJ0aW1lb3V0X2lkIixhKX0pO2IoaCxkKS5saXZlKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe3ZhciBhPWIodGhpcykuZGF0YSgidGltZW91dF9pZCIpO3dpbmRvdy5jbGVhclRpbWVvdXQoYSk7aC5maW5kKCIuc2V0dGluZ3NfaW5mb19tZW51IikucmVtb3ZlQ2xhc3MoIm9uIikuYWRkQ2xhc3MoIm9mZiIpfSk7YihoLmZpbmQoImZpZWxkc2V0IGlucHV0IikpLmxpdmUoImNsaWNrIixmdW5jdGlvbihjKXt2YXIgZT1jLnRhcmdldC5pZCxnPSJzb2NpYWxTaGFyZVByaXZhY3lfIitlLnN1YnN0cihlLmxhc3RJbmRleE9mKCJfIikrMSxlLmxlbmd0aCk7aWYoYigiIyIrYy50YXJnZXQuaWQrCiI6Y2hlY2tlZCIpLmxlbmd0aCl7dmFyIGM9YS5jb29raWVfZXhwaXJlcyxoPWEuY29va2llX3BhdGgsZj1hLmNvb2tpZV9kb21haW4saT1uZXcgRGF0ZTtpLnNldFRpbWUoaS5nZXRUaW1lKCkrYyo4NjRFNSk7ZG9jdW1lbnQuY29va2llPWcrIj1wZXJtYV9vbjsgZXhwaXJlcz0iK2kudG9VVENTdHJpbmcoKSsiOyBwYXRoPSIraCsiOyBkb21haW49IitmO2IoImZvcm0gZmllbGRzZXQgbGFiZWxbZm9yPSIrZSsiXSIsZCkuYWRkQ2xhc3MoImNoZWNrZWQiKX1lbHNle2M9YS5jb29raWVfcGF0aDtoPWEuY29va2llX2RvbWFpbjtmPW5ldyBEYXRlO2Yuc2V0VGltZShmLmdldFRpbWUoKS0xMDApO2RvY3VtZW50LmNvb2tpZT1nKyI9cGVybWFfb247IGV4cGlyZXM9IitmLnRvVVRDU3RyaW5nKCkrIjsgcGF0aD0iK2MrIjsgZG9tYWluPSIraDtiKCJmb3JtIGZpZWxkc2V0IGxhYmVsW2Zvcj0iK2UrIl0iLGQpLnJlbW92ZUNsYXNzKCJjaGVja2VkIil9fSk7ZiYmYyYmInBlcm1hX29uIj09PQplLnNvY2lhbFNoYXJlUHJpdmFjeV9mYWNlYm9vayYmYigibGkuZmFjZWJvb2sgc3Bhbi5zd2l0Y2giLGQpLmNsaWNrKCk7aiYmZyYmInBlcm1hX29uIj09PWUuc29jaWFsU2hhcmVQcml2YWN5X3R3aXR0ZXImJmIoImxpLnR3aXR0ZXIgc3Bhbi5zd2l0Y2giLGQpLmNsaWNrKCk7biYmbyYmInBlcm1hX29uIj09PWUuc29jaWFsU2hhcmVQcml2YWN5X2dwbHVzJiZiKCJsaS5ncGx1cyBzcGFuLnN3aXRjaCIsZCkuY2xpY2soKX19KX19KShqUXVlcnkpOwo=]]></data>
	</file>
	<file>
	  <filename>/templates/js/ToolBoxBackendJS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQUNUSVZBVEUgQSBUQUINCmZ1bmN0aW9uIHRiQWN0aXZhdGV0YWIoaW5kZXgpIHsNCgl2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjdGJuYXZ0X3RhYnMnKTsNCglpZihjb250YWluZXIubGVuZ3RoID09PSAwKQ0KCXsNCgkJY29udGFpbmVyID0galF1ZXJ5KCcjdGJwYWdlX3RhYnMnKTsNCgl9DQoJY29udGFpbmVyLmZpbmQoJ2RpdjplcSgnICsgaW5kZXggKyAnKScpLm1vdXNlZG93bigpOw0KfQ0KDQpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsNCg0KCS8vIElOSVQgVG9vbEJveCBOQVYgVEFCUw0KCXZhciB0YWJzID0gJCgnI3RibmF2dF90YWJzLCAjdGJwYWdlX3RhYnMnKS5maW5kKCdkaXYnKTsNCgl0YWJzLm1vdXNlZG93bihmdW5jdGlvbigpew0KCQl0YWJzLmVhY2goZnVuY3Rpb24oKXsNCgkJCSQodGhpcykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJJCgnIycgKyAkKHRoaXMpLmF0dHIoJ2lkJykgKyAnX2MnKS5oaWRlKCk7DQoJCX0pOw0KCQkkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgkJJCgnIycgKyAkKHRoaXMpLmF0dHIoJ2lkJykgKyAnX2MnKS5zaG93KCk7DQoJCXJldHVybiB0cnVlOw0KCX0pOw0KCWlmKHRhYnMuZmlsdGVyKCcuYWN0aXZlJykubW91c2Vkb3duKCkubGVuZ3RoID09PSAwKXsNCgkJdGJBY3RpdmF0ZXRhYigwKTsNCgl9DQoJDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/logUpdater.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCd0YWlsX3RpdGxlJyl9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQp7JHRhYnRvfQp7JGxvZ0ZpbGV9CnskaGFzaH0KeyRrZXl9CnskbGluZXN9CjxmaWVsZHNldD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0YWlsX3Byb21wdF9sb2cnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbG9nfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/stats_email.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAkb2xkdXJsX3VzZX0KPGJyIC8+PGJyIC8+CjxoMj5VUkxzPC9oMj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjYWFhYWFhIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBiZ2NvbG9yPSIjY2NjY2NjIj57JHVybH08L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRwYWdlfTwvdGg+CgkJCTx0aCBiZ2NvbG9yPSIjY2NjY2NjIj57JHZpc2l0c308L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRzZWFyY2hlbmdpbmV9PC90aD4KCQkJPHRoIGJnY29sb3I9IiNjY2NjY2MiPnska2V5d29yZH08L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRyZWZlcmVyfTwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgl7Zm9yZWFjaCBmcm9tPSR1cmxzIGl0ZW09ZW50cnl9CgkJe2N5Y2xlIHZhbHVlcz0iZWVlZWVlLGRkZGRkZCIgYXNzaWduPSdyb3djbGFzcyd9CgkJPHRyPgoJCQk8dGQgYmdjb2xvcj0iI3skcm93Y2xhc3N9Ij57JGVudHJ5LnVybH08L3RkPgoJCQk8dGQgYmdjb2xvcj0iI3skcm93Y2xhc3N9Ij57JGVudHJ5LnBhZ2V9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS52aXNpdHN9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS5zZWFyY2hlbmdpbmV9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS5rZXl3b3JkfTwvdGQ+CgkJCTx0ZCBiZ2NvbG9yPSIjeyRyb3djbGFzc30iPnskZW50cnkucmVmZXJlcn08L3RkPgoJCTwvdHI+Cgl7L2ZvcmVhY2h9CjwvdGFibGU+CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-fancybox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfZmFuY3lib3g8L25hbWU+Cgk8dmVyc2lvbj4yLjEuMzwvdmVyc2lvbj4KCTx0b29sYm94dmVyc2lvbj4xLjMuMDwvdG9vbGJveHZlcnNpb24+Cgk8YWJvdXQ+VkdocGN5QlViMjlzUW05NElFRjFkRzlNYVdkb2RFSnZlQ0IwWlcxd2JHRjBaU0IxYzJWeklIUm9aU0JtWVc1amVVSnZlQ0J6ZVhOMFpXMGdkbVZ5YzJsdmJpQXlMakV1TXp4aWNpQXZQaUE4WW5JZ0x6NGdSRzlqZFcxbGJuUmhkR2x2YmlCbWIzSWdaWGgwY21FZ2IzQjBhVzl1Y3lCallXNGdZbVVnWm05MWJtUWdZWFFnUEdFZ2FISmxaajBpYUhSMGNEb3ZMM2QzZHk1bVlXNWplV0p2ZUM1dVpYUXZJaUIwWVhKblpYUTlJbDlpYkdGdWF5SStkM2QzTG1aaGJtTjVZbTk0TG01bGREd3ZZVDQ4WW5JZ0x6NGdQR0p5SUM4K0lFWnBiR1Z6SUhSb1lYUWdZMjl0WlNCM2FYUm9JRVpoYm1ONVltOTRJR0Z5WlNCemRHOXlaV1FnYVc0Z2JXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabUZ1WTNsaWIzZ3ZQR0p5SUM4K0lEeGljaUF2UGlCbVlXNWplVUp2ZUNCM1lYTWdZblZwYkhRZ2RYTnBibWNnZEdobElEeGhJR2h5WldZOUltaDBkSEE2THk5cWNYVmxjbmt1WTI5dElpQjBZWEpuWlhROUlsOWliR0Z1YXlJK2FsRjFaWEo1UEM5aFBpQnNhV0p5WVhKNUxpQm1ZVzVqZVVKdmVDQnNhV05sYm5ObFpDQjFibVJsY2lBOFlTQm9jbVZtUFNKb2RIUndPaTh2WTNKbFlYUnBkbVZqYjIxdGIyNXpMbTl5Wnk5c2FXTmxibk5sY3k5aWVTMXVZeTh6TGpBdklpQjBZWEpuWlhROUlsOWliR0Z1YXlJK1EzSmxZWFJwZG1VZ1EyOXRiVzl1Y3lCQmRIUnlhV0oxZEdsdmJpMU9iMjVEYjIxdFpYSmphV0ZzSURNdU1Ed3ZZVDRnYkdsalpXNXpaUzRnUEdKeUlDOCtJRVp2Y2lCamIyMWxjbU5wWVd3Z2RYTmxJSFpwYzJsMElIUm9aWEpsSUR4aElHaHlaV1k5SW1oMGRIQTZMeTl6YVhSbGN5NW1ZWE4wYzNCeWFXNW5MbU52YlM5bVlXNWplV0Z3Y0hNdmNISnZaSFZqZEM5emRHOXlaU0lnZEdGeVoyVjBQU0pmYzJWc1ppSSthRzl0WlhCaFoyVXVQQzloUGc9PTwvYWJvdXQ+Cgk8c2VjdGlvbj5hdXRvbGlnaHRib3g8L3NlY3Rpb24+Cgk8dHBsc2VjdGlvbj48L3RwbHNlY3Rpb24+Cgk8anF1ZXJ5PjE8L2pxdWVyeT4KCTxqcXVlcnlfb3duPjA8L2pxdWVyeV9vd24+Cgk8b3B0aW9ucz5ZVG94T250ek9qRTRPaUoxYzJWZmJXOWlhV3hsZEdWdGNHeGhkR1VpTzNNNk1Ub2lNU0k3ZlE9PTwvb3B0aW9ucz4KCTx0cGxjb2RlPjwvdHBsY29kZT4KCTx0cGxjc3M+THlvaElHWmhibU41UW05NElIWXlMakV1TXlCbVlXNWplV0Z3Y0hNdVkyOXRJSHdnWm1GdVkzbGhjSEJ6TG1OdmJTOW1ZVzVqZVdKdmVDOGpiR2xqWlc1elpTQXFMdzBLTG1aaGJtTjVZbTk0TFhkeVlYQXNEUW91Wm1GdVkzbGliM2d0YzJ0cGJpd05DaTVtWVc1amVXSnZlQzF2ZFhSbGNpd05DaTVtWVc1amVXSnZlQzFwYm01bGNpd05DaTVtWVc1amVXSnZlQzFwYldGblpTd05DaTVtWVc1amVXSnZlQzEzY21Gd0lHbG1jbUZ0WlN3TkNpNW1ZVzVqZVdKdmVDMTNjbUZ3SUc5aWFtVmpkQ3dOQ2k1bVlXNWplV0p2ZUMxdVlYWXNEUW91Wm1GdVkzbGliM2d0Ym1GMklITndZVzRzRFFvdVptRnVZM2xpYjNndGRHMXdEUXA3RFFvSmNHRmtaR2x1WnpvZ01Ec05DZ2x0WVhKbmFXNDZJREE3RFFvSlltOXlaR1Z5T2lBd093MEtDVzkxZEd4cGJtVTZJRzV2Ym1VN0RRb0pkbVZ5ZEdsallXd3RZV3hwWjI0NklIUnZjRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWGR5WVhBZ2V3MEtDWEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2dsMGIzQTZJREE3RFFvSmJHVm1kRG9nTURzTkNnbDZMV2x1WkdWNE9pQTRNREl3T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0YzJ0cGJpQjdEUW9KY0c5emFYUnBiMjQ2SUhKbGJHRjBhWFpsT3cwS0NXSmhZMnRuY205MWJtUTZJQ05tT1dZNVpqazdEUW9KWTI5c2IzSTZJQ00wTkRRN0RRb0pkR1Y0ZEMxemFHRmtiM2M2SUc1dmJtVTdEUW9KTFhkbFltdHBkQzFpYjNKa1pYSXRjbUZrYVhWek9pQTBjSGc3RFFvSklDQWdMVzF2ZWkxaWIzSmtaWEl0Y21Ga2FYVnpPaUEwY0hnN0RRb0pJQ0FnSUNBZ0lDQmliM0prWlhJdGNtRmthWFZ6T2lBMGNIZzdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXZjR1Z1WldRZ2V3MEtDWG90YVc1a1pYZzZJRGd3TXpBN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdmNHVnVaV1FnTG1aaGJtTjVZbTk0TFhOcmFXNGdldzBLQ1MxM1pXSnJhWFF0WW05NExYTm9ZV1J2ZHpvZ01DQXhNSEI0SURJMWNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBd0xqVXBPdzBLQ1NBZ0lDMXRiM290WW05NExYTm9ZV1J2ZHpvZ01DQXhNSEI0SURJMWNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBd0xqVXBPdzBLQ1NBZ0lDQWdJQ0FnWW05NExYTm9ZV1J2ZHpvZ01DQXhNSEI0SURJMWNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBd0xqVXBPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiM1YwWlhJc0lDNW1ZVzVqZVdKdmVDMXBibTVsY2lCN0RRb0pjRzl6YVhScGIyNDZJSEpsYkdGMGFYWmxPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RhVzV1WlhJZ2V3MEtDVzkyWlhKbWJHOTNPaUJvYVdSa1pXNDdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMTBlWEJsTFdsbWNtRnRaU0F1Wm1GdVkzbGliM2d0YVc1dVpYSWdldzBLQ1MxM1pXSnJhWFF0YjNabGNtWnNiM2N0YzJOeWIyeHNhVzVuT2lCMGIzVmphRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMV1Z5Y205eUlIc05DZ2xqYjJ4dmNqb2dJelEwTkRzTkNnbG1iMjUwT2lBeE5IQjRMekl3Y0hnZ0lraGxiSFpsZEdsallTQk9aWFZsSWl4SVpXeDJaWFJwWTJFc1FYSnBZV3dzYzJGdWN5MXpaWEpwWmpzTkNnbHRZWEpuYVc0NklEQTdEUW9KY0dGa1pHbHVaem9nTVRWd2VEc05DZ2wzYUdsMFpTMXpjR0ZqWlRvZ2JtOTNjbUZ3T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0YVcxaFoyVXNJQzVtWVc1amVXSnZlQzFwWm5KaGJXVWdldzBLQ1dScGMzQnNZWGs2SUdKc2IyTnJPdzBLQ1hkcFpIUm9PaUF4TURBbE93MEtDV2hsYVdkb2REb2dNVEF3SlRzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFdsdFlXZGxJSHNOQ2dsdFlYZ3RkMmxrZEdnNklERXdNQ1U3RFFvSmJXRjRMV2hsYVdkb2REb2dNVEF3SlRzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFd4dllXUnBibWNzSUM1bVlXNWplV0p2ZUMxamJHOXpaU3dnTG1aaGJtTjVZbTk0TFhCeVpYWWdjM0JoYml3Z0xtWmhibU41WW05NExXNWxlSFFnYzNCaGJpQjdEUW9KWW1GamEyZHliM1Z1WkMxcGJXRm5aVG9nZFhKc0tDZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZlptRnVZM2xpYjNndlptRnVZM2xpYjNoZmMzQnlhWFJsTG5CdVp5Y3BPdzBLZlEwS0RRb2pabUZ1WTNsaWIzZ3RiRzloWkdsdVp5QjdEUW9KY0c5emFYUnBiMjQ2SUdacGVHVmtPdzBLQ1hSdmNEb2dOVEFsT3cwS0NXeGxablE2SURVd0pUc05DZ2x0WVhKbmFXNHRkRzl3T2lBdE1qSndlRHNOQ2dsdFlYSm5hVzR0YkdWbWREb2dMVEl5Y0hnN0RRb0pZbUZqYTJkeWIzVnVaQzF3YjNOcGRHbHZiam9nTUNBdE1UQTRjSGc3RFFvSmIzQmhZMmwwZVRvZ01DNDRPdzBLQ1dOMWNuTnZjam9nY0c5cGJuUmxjanNOQ2dsNkxXbHVaR1Y0T2lBNE1EWXdPdzBLZlEwS0RRb2pabUZ1WTNsaWIzZ3RiRzloWkdsdVp5QmthWFlnZXcwS0NYZHBaSFJvT2lBME5IQjRPdzBLQ1dobGFXZG9kRG9nTkRSd2VEc05DZ2xpWVdOclozSnZkVzVrT2lCMWNtd29KMXRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1ZVzVqZVdKdmVDOW1ZVzVqZVdKdmVGOXNiMkZrYVc1bkxtZHBaaWNwSUdObGJuUmxjaUJqWlc1MFpYSWdibTh0Y21Wd1pXRjBPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RZMnh2YzJVZ2V3MEtDWEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2dsMGIzQTZJQzB4T0hCNE93MEtDWEpwWjJoME9pQXRNVGh3ZURzTkNnbDNhV1IwYURvZ016WndlRHNOQ2dsb1pXbG5hSFE2SURNMmNIZzdEUW9KWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLQ1hvdGFXNWtaWGc2SURnd05EQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXVZWFlnZXcwS0NYQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DZ2wwYjNBNklEQTdEUW9KZDJsa2RHZzZJRFF3SlRzTkNnbG9aV2xuYUhRNklERXdNQ1U3RFFvSlkzVnljMjl5T2lCd2IybHVkR1Z5T3cwS0NYUmxlSFF0WkdWamIzSmhkR2x2YmpvZ2JtOXVaVHNOQ2dsaVlXTnJaM0p2ZFc1a09pQjBjbUZ1YzNCaGNtVnVkQ0IxY213b0oySnNZVzVyTG1kcFppY3BPeUF2S2lCb1pXeHdjeUJKUlNBcUx3MEtDUzEzWldKcmFYUXRkR0Z3TFdocFoyaHNhV2RvZEMxamIyeHZjam9nY21kaVlTZ3dMREFzTUN3d0tUc05DZ2w2TFdsdVpHVjRPaUE0TURRd093MEtmUTBLRFFvdVptRnVZM2xpYjNndGNISmxkaUI3RFFvSmJHVm1kRG9nTURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc1bGVIUWdldzBLQ1hKcFoyaDBPaUF3T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Ym1GMklITndZVzRnZXcwS0NYQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DZ2wwYjNBNklEVXdKVHNOQ2dsM2FXUjBhRG9nTXpad2VEc05DZ2xvWldsbmFIUTZJRE0wY0hnN0RRb0piV0Z5WjJsdUxYUnZjRG9nTFRFNGNIZzdEUW9KWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLQ1hvdGFXNWtaWGc2SURnd05EQTdEUW9KZG1semFXSnBiR2wwZVRvZ2FHbGtaR1Z1T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Y0hKbGRpQnpjR0Z1SUhzTkNnbHNaV1owT2lBeE1IQjRPdzBLQ1dKaFkydG5jbTkxYm1RdGNHOXphWFJwYjI0NklEQWdMVE0yY0hnN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdVpYaDBJSE53WVc0Z2V3MEtDWEpwWjJoME9pQXhNSEI0T3cwS0NXSmhZMnRuY205MWJtUXRjRzl6YVhScGIyNDZJREFnTFRjeWNIZzdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXVZWFk2YUc5MlpYSWdjM0JoYmlCN0RRb0pkbWx6YVdKcGJHbDBlVG9nZG1semFXSnNaVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJ0Y0NCN0RRb0pjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLQ1hSdmNEb2dMVGs1T1RrNWNIZzdEUW9KYkdWbWREb2dMVGs1T1RrNWNIZzdEUW9KZG1semFXSnBiR2wwZVRvZ2FHbGtaR1Z1T3cwS0NXMWhlQzEzYVdSMGFEb2dPVGs1T1Rsd2VEc05DZ2x0WVhndGFHVnBaMmgwT2lBNU9UazVPWEI0T3cwS0NXOTJaWEptYkc5M09pQjJhWE5wWW14bElDRnBiWEJ2Y25SaGJuUTdEUXA5RFFvTkNpOHFJRTkyWlhKc1lYa2dhR1ZzY0dWeUlDb3ZEUW9OQ2k1bVlXNWplV0p2ZUMxc2IyTnJJSHNOQ2dsdmRtVnlabXh2ZHpvZ2FHbGtaR1Z1T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0YjNabGNteGhlU0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ01Ec05DZ2xzWldaME9pQXdPdzBLQ1c5MlpYSm1iRzkzT2lCb2FXUmtaVzQ3RFFvSlpHbHpjR3hoZVRvZ2JtOXVaVHNOQ2dsNkxXbHVaR1Y0T2lBNE1ERXdPdzBLQ1dKaFkydG5jbTkxYm1RNklIVnliQ2duVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5MFpXMXdiR0YwWlhNdllXeGlYMlpoYm1ONVltOTRMMlpoYm1ONVltOTRYMjkyWlhKc1lYa3VjRzVuSnlrN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdmRtVnliR0Y1TFdacGVHVmtJSHNOQ2dsd2IzTnBkR2x2YmpvZ1ptbDRaV1E3RFFvSlltOTBkRzl0T2lBd093MEtDWEpwWjJoME9pQXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiRzlqYXlBdVptRnVZM2xpYjNndGIzWmxjbXhoZVNCN0RRb0piM1psY21ac2IzYzZJR0YxZEc4N0RRb0piM1psY21ac2IzY3RlVG9nYzJOeWIyeHNPdzBLZlEwS0RRb3ZLaUJVYVhSc1pTQm9aV3h3WlhJZ0tpOE5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxJSHNOQ2dsMmFYTnBZbWxzYVhSNU9pQm9hV1JrWlc0N0RRb0pabTl1ZERvZ2JtOXliV0ZzSURFemNIZ3ZNakJ3ZUNBaVNHVnNkbVYwYVdOaElFNWxkV1VpTEVobGJIWmxkR2xqWVN4QmNtbGhiQ3h6WVc1ekxYTmxjbWxtT3cwS0NYQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DZ2wwWlhoMExYTm9ZV1J2ZHpvZ2JtOXVaVHNOQ2dsNkxXbHVaR1Y0T2lBNE1EVXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiM0JsYm1Wa0lDNW1ZVzVqZVdKdmVDMTBhWFJzWlNCN0RRb0pkbWx6YVdKcGJHbDBlVG9nZG1semFXSnNaVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJwZEd4bExXWnNiMkYwTFhkeVlYQWdldzBLQ1hCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNnbGliM1IwYjIwNklEQTdEUW9KY21sbmFIUTZJRFV3SlRzTkNnbHRZWEpuYVc0dFltOTBkRzl0T2lBdE16VndlRHNOQ2dsNkxXbHVaR1Y0T2lBNE1EVXdPdzBLQ1hSbGVIUXRZV3hwWjI0NklHTmxiblJsY2pzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxMV1pzYjJGMExYZHlZWEFnTG1Ob2FXeGtJSHNOQ2dsa2FYTndiR0Y1T2lCcGJteHBibVV0WW14dlkyczdEUW9KYldGeVoybHVMWEpwWjJoME9pQXRNVEF3SlRzTkNnbHdZV1JrYVc1bk9pQXljSGdnTWpCd2VEc05DZ2xpWVdOclozSnZkVzVrT2lCMGNtRnVjM0JoY21WdWREc2dMeW9nUm1Gc2JHSmhZMnNnWm05eUlIZGxZaUJpY205M2MyVnljeUIwYUdGMElHUnZaWE51SjNRZ2MzVndjRzl5ZENCU1IwSmhJQ292RFFvSlltRmphMmR5YjNWdVpEb2djbWRpWVNnd0xDQXdMQ0F3TENBd0xqZ3BPdzBLQ1MxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dNVFZ3ZURzTkNna2dJQ0F0Ylc5NkxXSnZjbVJsY2kxeVlXUnBkWE02SURFMWNIZzdEUW9KSUNBZ0lDQWdJQ0JpYjNKa1pYSXRjbUZrYVhWek9pQXhOWEI0T3cwS0NYUmxlSFF0YzJoaFpHOTNPaUF3SURGd2VDQXljSGdnSXpJeU1qc05DZ2xqYjJ4dmNqb2dJMFpHUmpzTkNnbG1iMjUwTFhkbGFXZG9kRG9nWW05c1pEc05DZ2xzYVc1bExXaGxhV2RvZERvZ01qUndlRHNOQ2dsM2FHbDBaUzF6Y0dGalpUb2dibTkzY21Gd093MEtmUTBLRFFvdVptRnVZM2xpYjNndGRHbDBiR1V0YjNWMGMybGtaUzEzY21Gd0lIc05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSmJXRnlaMmx1TFhSdmNEb2dNVEJ3ZURzTkNnbGpiMnh2Y2pvZ0kyWm1aanNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJwZEd4bExXbHVjMmxrWlMxM2NtRndJSHNOQ2dsd1lXUmthVzVuTFhSdmNEb2dNVEJ3ZURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxMVzkyWlhJdGQzSmhjQ0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDV0p2ZEhSdmJUb2dNRHNOQ2dsc1pXWjBPaUF3T3cwS0NXTnZiRzl5T2lBalptWm1PdzBLQ1hCaFpHUnBibWM2SURFd2NIZzdEUW9KWW1GamEyZHliM1Z1WkRvZ0l6QXdNRHNOQ2dsaVlXTnJaM0p2ZFc1a09pQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2cwS0kyWmhibU41WW05NExYUm9kVzFpY3lCN0RRb0pjRzl6YVhScGIyNDZJR1pwZUdWa093MEtDV3hsWm5RNklEQTdEUW9KZDJsa2RHZzZJREV3TUNVN0RRb0piM1psY21ac2IzYzZJR2hwWkdSbGJqc05DZ2w2TFdsdVpHVjRPaUE0TURVd093MEtmUTBLRFFvalptRnVZM2xpYjNndGRHaDFiV0p6TG1KdmRIUnZiU0I3RFFvSlltOTBkRzl0T2lBeWNIZzdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NdWRHOXdJSHNOQ2dsMGIzQTZJREp3ZURzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCN0RRb0pjRzl6YVhScGIyNDZJSEpsYkdGMGFYWmxPdzBLQ1d4cGMzUXRjM1I1YkdVNklHNXZibVU3RFFvSmJXRnlaMmx1T2lBd093MEtDWEJoWkdScGJtYzZJREE3RFFwOURRb05DaU5tWVc1amVXSnZlQzEwYUhWdFluTWdkV3dnYkdrZ2V3MEtDV1pzYjJGME9pQnNaV1owT3cwS0NYQmhaR1JwYm1jNklERndlRHNOQ2dsdmNHRmphWFI1T2lBd0xqVTdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NZ2RXd2diR2t1WVdOMGFYWmxJSHNOQ2dsdmNHRmphWFI1T2lBd0xqYzFPdzBLQ1hCaFpHUnBibWM2SURBN0RRb0pZbTl5WkdWeU9pQXhjSGdnYzI5c2FXUWdJMlptWmpzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCc2FUcG9iM1psY2lCN0RRb0piM0JoWTJsMGVUb2dNVHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMWFJvZFcxaWN5QjFiQ0JzYVNCaElIc05DZ2xrYVhOd2JHRjVPaUJpYkc5amF6c05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSmIzWmxjbVpzYjNjNklHaHBaR1JsYmpzTkNnbGliM0prWlhJNklERndlQ0J6YjJ4cFpDQWpNakl5T3cwS0NXSmhZMnRuY205MWJtUTZJQ014TVRFN0RRb0piM1YwYkdsdVpUb2dibTl1WlRzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCc2FTQnBiV2NnZXcwS0NXUnBjM0JzWVhrNklHSnNiMk5yT3cwS0NYQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DZ2xpYjNKa1pYSTZJREE3RFFvSmNHRmtaR2x1WnpvZ01Ec05DZz09PC90cGxjc3M+Cgk8dHBsanM+UEhOamNtbHdkQ0IwZVhCbFBTSjBaWGgwTDJwaGRtRnpZM0pwY0hRaUlITnlZejBpVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5MFpXMXdiR0YwWlhNdllXeGlYMlpoYm1ONVltOTRMMnB4ZFdWeWVTNXRiM1Z6Wlhkb1pXVnNMVE11TUM0MkxuQmhZMnN1YW5NaVBqd3ZjMk55YVhCMFBnMEtQSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpSUhOeVl6MGlXMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWmhibU41WW05NEwycHhkV1Z5ZVM1bVlXNWplV0p2ZUM1d1lXTnJMbXB6SWo0OEwzTmpjbWx3ZEQ0TkNqeHpZM0pwY0hRZ2RIbHdaVDBpZEdWNGRDOXFZWFpoYzJOeWFYQjBJaUJ6Y21NOUlsdGJjbTl2ZEY5MWNteGRYUzl0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZkR1Z0Y0d4aGRHVnpMMkZzWWw5bVlXNWplV0p2ZUM5cWNYVmxjbmt1Wm1GdVkzbGliM2d0ZEdoMWJXSnpMbXB6SWo0OEwzTmpjbWx3ZEQ0TkNqeHpZM0pwY0hRZ2RIbHdaVDBpZEdWNGRDOXFZWFpoYzJOeWFYQjBJajROQ21wUmRXVnllU2hrYjJOMWJXVnVkQ2t1Y21WaFpIa29ablZ1WTNScGIyNG9LU0I3RFFvSkpDZ25ZUzVoZFhSdmJHbG5hSFJpYjNnbktTNWhkSFJ5S0hzblpHRjBZUzFtWVc1amVXSnZlQzFuY205MWNDYzZJblJvZFcxaUluMHBMbVpoYm1ONVltOTRLSHNOQ2drSmNISmxka1ZtWm1WamRDQTZJQ2R1YjI1bEp5d05DZ2tKYm1WNGRFVm1abVZqZENBNklDZHViMjVsSnl3TkNnMEtDUWxqYkc5elpVSjBiaUFnT2lCbVlXeHpaU3dOQ2drSllYSnliM2R6SUNBZ0lEb2dkSEoxWlN3TkNna0pibVY0ZEVOc2FXTnJJRG9nZEhKMVpTd05DZ2tKYUdWc2NHVnljeUE2SUhzTkNna0pDWFJwZEd4bENUb2dleUIwZVhCbElEb2dKMmx1YzJsa1pTY2dmU3dOQ2drSkNYUm9kVzFpY3lBNklIc05DZ2tKQ1FsM2FXUjBhQ0FnT2lBMU1Dd05DZ2tKQ1Fsb1pXbG5hSFFnT2lBMU1BMEtDUWtKZlEwS0NRbDlEUW9KZlNrN0RRcDlLVHNOQ2p3dmMyTnlhWEIwUGc9PTwvdHBsanM+Cgk8dHBsbW9iaWxlY29kZT48L3RwbG1vYmlsZWNvZGU+Cgk8dHBsbW9iaWxlY3NzPkx5b2diVzlpYVd4bElIUm9aVzFsSUNvdkRRb3ZLaUVnWm1GdVkzbENiM2dnZGpJdU1TNHpJR1poYm1ONVlYQndjeTVqYjIwZ2ZDQm1ZVzVqZVdGd2NITXVZMjl0TDJaaGJtTjVZbTk0THlOc2FXTmxibk5sSUNvdkRRb3VabUZ1WTNsaWIzZ3RkM0poY0N3TkNpNW1ZVzVqZVdKdmVDMXphMmx1TEEwS0xtWmhibU41WW05NExXOTFkR1Z5TEEwS0xtWmhibU41WW05NExXbHVibVZ5TEEwS0xtWmhibU41WW05NExXbHRZV2RsTEEwS0xtWmhibU41WW05NExYZHlZWEFnYVdaeVlXMWxMQTBLTG1aaGJtTjVZbTk0TFhkeVlYQWdiMkpxWldOMExBMEtMbVpoYm1ONVltOTRMVzVoZGl3TkNpNW1ZVzVqZVdKdmVDMXVZWFlnYzNCaGJpd05DaTVtWVc1amVXSnZlQzEwYlhBTkNuc05DZ2x3WVdSa2FXNW5PaUF3T3cwS0NXMWhjbWRwYmpvZ01Ec05DZ2xpYjNKa1pYSTZJREE3RFFvSmIzVjBiR2x1WlRvZ2JtOXVaVHNOQ2dsMlpYSjBhV05oYkMxaGJHbG5iam9nZEc5d093MEtmUTBLRFFvdVptRnVZM2xpYjNndGQzSmhjQ0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ01Ec05DZ2xzWldaME9pQXdPdzBLQ1hvdGFXNWtaWGc2SURnd01qQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXphMmx1SUhzTkNnbHdiM05wZEdsdmJqb2djbVZzWVhScGRtVTdEUW9KWW1GamEyZHliM1Z1WkRvZ0kyWTVaamxtT1RzTkNnbGpiMnh2Y2pvZ0l6UTBORHNOQ2dsMFpYaDBMWE5vWVdSdmR6b2dibTl1WlRzTkNna3RkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURSd2VEc05DZ2tnSUNBdGJXOTZMV0p2Y21SbGNpMXlZV1JwZFhNNklEUndlRHNOQ2drZ0lDQWdJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRFJ3ZURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc5d1pXNWxaQ0I3RFFvSmVpMXBibVJsZURvZ09EQXpNRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMVzl3Wlc1bFpDQXVabUZ1WTNsaWIzZ3RjMnRwYmlCN0RRb0pMWGRsWW10cGRDMWliM2d0YzJoaFpHOTNPaUF3SURFd2NIZ2dNalZ3ZUNCeVoySmhLREFzSURBc0lEQXNJREF1TlNrN0RRb0pJQ0FnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUF3SURFd2NIZ2dNalZ3ZUNCeVoySmhLREFzSURBc0lEQXNJREF1TlNrN0RRb0pJQ0FnSUNBZ0lDQmliM2d0YzJoaFpHOTNPaUF3SURFd2NIZ2dNalZ3ZUNCeVoySmhLREFzSURBc0lEQXNJREF1TlNrN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdmRYUmxjaXdnTG1aaGJtTjVZbTk0TFdsdWJtVnlJSHNOQ2dsd2IzTnBkR2x2YmpvZ2NtVnNZWFJwZG1VN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxcGJtNWxjaUI3RFFvSmIzWmxjbVpzYjNjNklHaHBaR1JsYmpzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhSNWNHVXRhV1p5WVcxbElDNW1ZVzVqZVdKdmVDMXBibTVsY2lCN0RRb0pMWGRsWW10cGRDMXZkbVZ5Wm14dmR5MXpZM0p2Ykd4cGJtYzZJSFJ2ZFdOb093MEtmUTBLRFFvdVptRnVZM2xpYjNndFpYSnliM0lnZXcwS0NXTnZiRzl5T2lBak5EUTBPdzBLQ1dadmJuUTZJREUwY0hndk1qQndlQ0FpU0dWc2RtVjBhV05oSUU1bGRXVWlMRWhsYkhabGRHbGpZU3hCY21saGJDeHpZVzV6TFhObGNtbG1PdzBLQ1cxaGNtZHBiam9nTURzTkNnbHdZV1JrYVc1bk9pQXhOWEI0T3cwS0NYZG9hWFJsTFhOd1lXTmxPaUJ1YjNkeVlYQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXBiV0ZuWlN3Z0xtWmhibU41WW05NExXbG1jbUZ0WlNCN0RRb0paR2x6Y0d4aGVUb2dZbXh2WTJzN0RRb0pkMmxrZEdnNklERXdNQ1U3RFFvSmFHVnBaMmgwT2lBeE1EQWxPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RhVzFoWjJVZ2V3MEtDVzFoZUMxM2FXUjBhRG9nTVRBd0pUc05DZ2x0WVhndGFHVnBaMmgwT2lBeE1EQWxPdzBLZlEwS0RRb2pabUZ1WTNsaWIzZ3RiRzloWkdsdVp5d2dMbVpoYm1ONVltOTRMV05zYjNObExDQXVabUZ1WTNsaWIzZ3RjSEpsZGlCemNHRnVMQ0F1Wm1GdVkzbGliM2d0Ym1WNGRDQnpjR0Z1SUhzTkNnbGlZV05yWjNKdmRXNWtMV2x0WVdkbE9pQjFjbXdvSjF0YmNtOXZkRjkxY214ZFhTOXRiMlIxYkdWekwxUnZiMnhDYjNndmRHVnRjR3hoZEdWekwyRnNZbDltWVc1amVXSnZlQzltWVc1amVXSnZlRjl6Y0hKcGRHVXVjRzVuSnlrN0RRcDlEUW9OQ2lObVlXNWplV0p2ZUMxc2IyRmthVzVuSUhzTkNnbHdiM05wZEdsdmJqb2dabWw0WldRN0RRb0pkRzl3T2lBMU1DVTdEUW9KYkdWbWREb2dOVEFsT3cwS0NXMWhjbWRwYmkxMGIzQTZJQzB5TW5CNE93MEtDVzFoY21kcGJpMXNaV1owT2lBdE1qSndlRHNOQ2dsaVlXTnJaM0p2ZFc1a0xYQnZjMmwwYVc5dU9pQXdJQzB4TURod2VEc05DZ2x2Y0dGamFYUjVPaUF3TGpnN0RRb0pZM1Z5YzI5eU9pQndiMmx1ZEdWeU93MEtDWG90YVc1a1pYZzZJRGd3TmpBN0RRcDlEUW9OQ2lObVlXNWplV0p2ZUMxc2IyRmthVzVuSUdScGRpQjdEUW9KZDJsa2RHZzZJRFEwY0hnN0RRb0phR1ZwWjJoME9pQTBOSEI0T3cwS0NXSmhZMnRuY205MWJtUTZJSFZ5YkNnblcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJaaGJtTjVZbTk0TDJaaGJtTjVZbTk0WDJ4dllXUnBibWN1WjJsbUp5a2dZMlZ1ZEdWeUlHTmxiblJsY2lCdWJ5MXlaWEJsWVhRN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxamJHOXpaU0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ0xURTRjSGc3RFFvSmNtbG5hSFE2SUMweE9IQjRPdzBLQ1hkcFpIUm9PaUF6Tm5CNE93MEtDV2hsYVdkb2REb2dNelp3ZURzTkNnbGpkWEp6YjNJNklIQnZhVzUwWlhJN0RRb0plaTFwYm1SbGVEb2dPREEwTURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc1aGRpQjdEUW9KY0c5emFYUnBiMjQ2SUdGaWMyOXNkWFJsT3cwS0NYUnZjRG9nTURzTkNnbDNhV1IwYURvZ01DVTdEUW9KYUdWcFoyaDBPaUF4TURBbE93MEtDV04xY25OdmNqb2djRzlwYm5SbGNqc05DZ2wwWlhoMExXUmxZMjl5WVhScGIyNDZJRzV2Ym1VN0RRb0pZbUZqYTJkeWIzVnVaRG9nZEhKaGJuTndZWEpsYm5RZ2RYSnNLQ2RpYkdGdWF5NW5hV1luS1RzZ0x5b2dhR1ZzY0hNZ1NVVWdLaThOQ2drdGQyVmlhMmwwTFhSaGNDMW9hV2RvYkdsbmFIUXRZMjlzYjNJNklISm5ZbUVvTUN3d0xEQXNNQ2s3RFFvSmVpMXBibVJsZURvZ09EQTBNRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWEJ5WlhZZ2V3MEtDV3hsWm5RNklEQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXVaWGgwSUhzTkNnbHlhV2RvZERvZ01Ec05DbjBOQ2cwS0xtWmhibU41WW05NExXNWhkaUJ6Y0dGdUlIc05DZ2x3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvSmRHOXdPaUExTUNVN0RRb0pkMmxrZEdnNklETTJjSGc3RFFvSmFHVnBaMmgwT2lBek5IQjRPdzBLQ1cxaGNtZHBiaTEwYjNBNklDMHhPSEI0T3cwS0NXTjFjbk52Y2pvZ2NHOXBiblJsY2pzTkNnbDZMV2x1WkdWNE9pQTRNRFF3T3cwS0NYWnBjMmxpYVd4cGRIazZJR2hwWkdSbGJqc05DbjBOQ2cwS0xtWmhibU41WW05NExYQnlaWFlnYzNCaGJpQjdEUW9KYkdWbWREb2dNVEJ3ZURzTkNnbGlZV05yWjNKdmRXNWtMWEJ2YzJsMGFXOXVPaUF3SUMwek5uQjRPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RibVY0ZENCemNHRnVJSHNOQ2dseWFXZG9kRG9nTVRCd2VEc05DZ2xpWVdOclozSnZkVzVrTFhCdmMybDBhVzl1T2lBd0lDMDNNbkI0T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Ym1GMk9taHZkbVZ5SUhOd1lXNGdldzBLQ1hacGMybGlhV3hwZEhrNklIWnBjMmxpYkdVN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxMGJYQWdldzBLQ1hCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNnbDBiM0E2SUMwNU9UazVPWEI0T3cwS0NXeGxablE2SUMwNU9UazVPWEI0T3cwS0NYWnBjMmxpYVd4cGRIazZJR2hwWkdSbGJqc05DZ2x0WVhndGQybGtkR2c2SURrNU9UazVjSGc3RFFvSmJXRjRMV2hsYVdkb2REb2dPVGs1T1Rsd2VEc05DZ2x2ZG1WeVpteHZkem9nZG1semFXSnNaU0FoYVcxd2IzSjBZVzUwT3cwS2ZRMEtEUW92S2lCUGRtVnliR0Y1SUdobGJIQmxjaUFxTHcwS0RRb3VabUZ1WTNsaWIzZ3RiRzlqYXlCN0RRb0piM1psY21ac2IzYzZJR2hwWkdSbGJqc05DbjBOQ2cwS0xtWmhibU41WW05NExXOTJaWEpzWVhrZ2V3MEtDWEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2dsMGIzQTZJREE3RFFvSmJHVm1kRG9nTURzTkNnbHZkbVZ5Wm14dmR6b2dhR2xrWkdWdU93MEtDV1JwYzNCc1lYazZJRzV2Ym1VN0RRb0plaTFwYm1SbGVEb2dPREF4TURzTkNnbGlZV05yWjNKdmRXNWtPaUIxY213b0oxdGJjbTl2ZEY5MWNteGRYUzl0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZkR1Z0Y0d4aGRHVnpMMkZzWWw5bVlXNWplV0p2ZUM5bVlXNWplV0p2ZUY5dmRtVnliR0Y1TG5CdVp5Y3BPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiM1psY214aGVTMW1hWGhsWkNCN0RRb0pjRzl6YVhScGIyNDZJR1pwZUdWa093MEtDV0p2ZEhSdmJUb2dNRHNOQ2dseWFXZG9kRG9nTURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFd4dlkyc2dMbVpoYm1ONVltOTRMVzkyWlhKc1lYa2dldzBLQ1c5MlpYSm1iRzkzT2lCaGRYUnZPdzBLQ1c5MlpYSm1iRzkzTFhrNklITmpjbTlzYkRzTkNuME5DZzBLTHlvZ1ZHbDBiR1VnYUdWc2NHVnlJQ292RFFvTkNpNW1ZVzVqZVdKdmVDMTBhWFJzWlNCN0RRb0pkbWx6YVdKcGJHbDBlVG9nYUdsa1pHVnVPdzBLQ1dadmJuUTZJRzV2Y20xaGJDQXhNM0I0THpJd2NIZ2dJa2hsYkhabGRHbGpZU0JPWlhWbElpeElaV3gyWlhScFkyRXNRWEpwWVd3c2MyRnVjeTF6WlhKcFpqc05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSmRHVjRkQzF6YUdGa2IzYzZJRzV2Ym1VN0RRb0plaTFwYm1SbGVEb2dPREExTURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc5d1pXNWxaQ0F1Wm1GdVkzbGliM2d0ZEdsMGJHVWdldzBLQ1hacGMybGlhV3hwZEhrNklIWnBjMmxpYkdVN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxMGFYUnNaUzFtYkc5aGRDMTNjbUZ3SUhzTkNnbHdiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9KWW05MGRHOXRPaUF3T3cwS0NYSnBaMmgwT2lBMU1DVTdEUW9KYldGeVoybHVMV0p2ZEhSdmJUb2dMVE0xY0hnN0RRb0plaTFwYm1SbGVEb2dPREExTURzTkNnbDBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMTBhWFJzWlMxbWJHOWhkQzEzY21Gd0lDNWphR2xzWkNCN0RRb0paR2x6Y0d4aGVUb2dhVzVzYVc1bExXSnNiMk5yT3cwS0NXMWhjbWRwYmkxeWFXZG9kRG9nTFRFd01DVTdEUW9KY0dGa1pHbHVaem9nTW5CNElESXdjSGc3RFFvSlltRmphMmR5YjNWdVpEb2dkSEpoYm5Od1lYSmxiblE3SUM4cUlFWmhiR3hpWVdOcklHWnZjaUIzWldJZ1luSnZkM05sY25NZ2RHaGhkQ0JrYjJWemJpZDBJSE4xY0hCdmNuUWdVa2RDWVNBcUx3MEtDV0poWTJ0bmNtOTFibVE2SUhKblltRW9NQ3dnTUN3Z01Dd2dNQzQ0S1RzTkNna3RkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURFMWNIZzdEUW9KSUNBZ0xXMXZlaTFpYjNKa1pYSXRjbUZrYVhWek9pQXhOWEI0T3cwS0NTQWdJQ0FnSUNBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nTVRWd2VEc05DZ2wwWlhoMExYTm9ZV1J2ZHpvZ01DQXhjSGdnTW5CNElDTXlNakk3RFFvSlkyOXNiM0k2SUNOR1JrWTdEUW9KWm05dWRDMTNaV2xuYUhRNklHSnZiR1E3RFFvSmJHbHVaUzFvWldsbmFIUTZJREkwY0hnN0RRb0pkMmhwZEdVdGMzQmhZMlU2SUc1dmQzSmhjRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJwZEd4bExXOTFkSE5wWkdVdGQzSmhjQ0I3RFFvSmNHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtDVzFoY21kcGJpMTBiM0E2SURFd2NIZzdEUW9KWTI5c2IzSTZJQ05tWm1ZN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxMGFYUnNaUzFwYm5OcFpHVXRkM0poY0NCN0RRb0pjR0ZrWkdsdVp5MTBiM0E2SURFd2NIZzdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMTBhWFJzWlMxdmRtVnlMWGR5WVhBZ2V3MEtDWEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2dsaWIzUjBiMjA2SURBN0RRb0piR1ZtZERvZ01Ec05DZ2xqYjJ4dmNqb2dJMlptWmpzTkNnbHdZV1JrYVc1bk9pQXhNSEI0T3cwS0NXSmhZMnRuY205MWJtUTZJQ013TURBN0RRb0pZbUZqYTJkeWIzVnVaRG9nY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFwOURRb05DaU5tWVc1amVXSnZlQzEwYUhWdFluTWdldzBLQ1hCdmMybDBhVzl1T2lCbWFYaGxaRHNOQ2dsc1pXWjBPaUF3T3cwS0NYZHBaSFJvT2lBeE1EQWxPdzBLQ1c5MlpYSm1iRzkzT2lCb2FXUmtaVzQ3RFFvSmVpMXBibVJsZURvZ09EQTFNRHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMWFJvZFcxaWN5NWliM1IwYjIwZ2V3MEtDV0p2ZEhSdmJUb2dNbkI0T3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0ZEdoMWJXSnpMblJ2Y0NCN0RRb0pkRzl3T2lBeWNIZzdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NZ2RXd2dldzBLQ1hCdmMybDBhVzl1T2lCeVpXeGhkR2wyWlRzTkNnbHNhWE4wTFhOMGVXeGxPaUJ1YjI1bE93MEtDVzFoY21kcGJqb2dNRHNOQ2dsd1lXUmthVzVuT2lBd093MEtmUTBLRFFvalptRnVZM2xpYjNndGRHaDFiV0p6SUhWc0lHeHBJSHNOQ2dsbWJHOWhkRG9nYkdWbWREc05DZ2x3WVdSa2FXNW5PaUF4Y0hnN0RRb0piM0JoWTJsMGVUb2dNQzQxT3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0ZEdoMWJXSnpJSFZzSUd4cExtRmpkR2wyWlNCN0RRb0piM0JoWTJsMGVUb2dNQzQzTlRzTkNnbHdZV1JrYVc1bk9pQXdPdzBLQ1dKdmNtUmxjam9nTVhCNElITnZiR2xrSUNObVptWTdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NZ2RXd2diR2s2YUc5MlpYSWdldzBLQ1c5d1lXTnBkSGs2SURFN0RRcDlEUW9OQ2lObVlXNWplV0p2ZUMxMGFIVnRZbk1nZFd3Z2JHa2dZU0I3RFFvSlpHbHpjR3hoZVRvZ1lteHZZMnM3RFFvSmNHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtDVzkyWlhKbWJHOTNPaUJvYVdSa1pXNDdEUW9KWW05eVpHVnlPaUF4Y0hnZ2MyOXNhV1FnSXpJeU1qc05DZ2xpWVdOclozSnZkVzVrT2lBak1URXhPdzBLQ1c5MWRHeHBibVU2SUc1dmJtVTdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NZ2RXd2diR2tnYVcxbklIc05DZ2xrYVhOd2JHRjVPaUJpYkc5amF6c05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSlltOXlaR1Z5T2lBd093MEtDWEJoWkdScGJtYzZJREE3RFFvPTwvdHBsbW9iaWxlY3NzPgoJPHRwbG1vYmlsZWpzPlBITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlJSE55WXowaVcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJaaGJtTjVZbTk0TDJweGRXVnllUzUwYjNWamFGTjNhWEJsTG0xcGJpNXFjeUkrUEM5elkzSnBjSFErRFFvOGMyTnlhWEIwSUhSNWNHVTlJblJsZUhRdmFtRjJZWE5qY21sd2RDSWdjM0pqUFNKYlczSnZiM1JmZFhKc1hWMHZiVzlrZFd4bGN5OVViMjlzUW05NEwzUmxiWEJzWVhSbGN5OWhiR0pmWm1GdVkzbGliM2d2YW5GMVpYSjVMbVpoYm1ONVltOTRMbkJoWTJzdWFuTWlQand2YzJOeWFYQjBQZzBLUEhOamNtbHdkQ0IwZVhCbFBTSjBaWGgwTDJwaGRtRnpZM0pwY0hRaVBnMEthbEYxWlhKNUtHUnZZM1Z0Wlc1MEtTNXlaV0ZrZVNobWRXNWpkR2x2YmlncElIc05DZ2trS0NkaExtRjFkRzlzYVdkb2RHSnZlQ2NwTG1GMGRISW9leWRrWVhSaExXWmhibU41WW05NExXZHliM1Z3SnpvaVlXeGlaMkZzYkdWeWVTSjlLUzVtWVc1amVXSnZlQ2g3RFFvSkNXTnNiM05sUW5SdUlDQTZJSFJ5ZFdVc0RRb0pDV0Z5Y205M2N5QWdJQ0E2SUdaaGJITmxMQTBLQ1Fsb1pXeHdaWEp6SURvZ2V3MEtDUWtKZEdsMGJHVUpPaUI3SUhSNWNHVWdPaUFuYVc1emFXUmxKeUI5TEEwS0NRbDlEUW9KZlNrN0RRcDlLVHNOQ2lRb1pHOWpkVzFsYm5RcExuTjNhWEJsS0hzTkNpQWdJQ0J6ZDJsd1pVeGxablE2SUdaMWJtTjBhVzl1S0NrZ2V3MEtJQ0FnSUNBZ0lDQWtMbVpoYm1ONVltOTRMbTVsZUhRb0tUc05DaUFnSUNCOUxBMEtJQ0FnSUhOM2FYQmxVbWxuYUhRNklHWjFibU4wYVc5dUtDa2dldzBLSUNBZ0lDQWdJQ0FrTG1aaGJtTjVZbTk0TG5CeVpYWW9LVHNOQ2lBZ0lDQjlMQTBLSUNBZ0lIUnlhV2RuWlhKUGJsUnZkV05vUlc1a09tWmhiSE5sRFFwOUtUc05Dand2YzJOeWFYQjBQZz09PC90cGxtb2JpbGVqcz4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2JsYW5rLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhBUUFCQUlBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vZmFuY3lib3hfbG9hZGluZy5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoR0FBWUFQY0lBRG82T2tWRlJUUTBOTW5KeWRQVDA0eU1qQzh2TDd5OHZCMGRIWGw1ZVg1K2Z1N3U3bEpTVXFHaG9RME5EU3NySzYydHJlWGw1WlNVbE1MQ3doZ1lHS2VucDdTMHRMdTd1L1gxOWZyNitrTkRRNXljbkJJU0VnUUVCRnRiVzdHeHNSY1hGekF3TUNNakkyWm1ab2FHaGt0TFM4M056UW9LQ2x4Y1hFMU5UYzdPemhRVUZHVmxaUVVGQlZSVVZHOXZieGtaR1pXVmxlYm01dHpjM05UVTFPTGk0akV4TVZsWldVQkFRSjZlbmlZbUpxS2lvcHFhbW9lSGg2K3ZyOFBEd3drSkNUOC9QNU9Ua3c4UER5a3BLUkFRRUNFaElZbUppWWlJaUNRa0pGMWRYUzB0TFNBZ0lMQ3dzQWdJQ0JFUkVUTXpNNFdGaGIyOXZTb3FLZ3NMQzZPam83Ky92NW1abWZUMDlQbjUrVGc0T0xhMnRycTZ1dERRMENJaUlwMmRuYXVycXd3TUREMDlQVWRIUjY2dXJrUkVSRXhNVE5YVjFlSGg0WmFXbGhNVEU5dmIyOC9Qenp3OFBLQ2dvQllXRnF5c3JMNit2bHBhV201dWJwK2ZuMFpHUnNEQXdKdWJtejQrUGc0T0RqazVPWkNRa0FZR0JpY25KeXdzTERJeU1uaDRlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaC9pMU5ZV1JsSUdKNUlFdHlZWE5wYldseVlTQk9aV3BqYUdWMllTQW9kM2QzTG14dllXUnBibVp2TG01bGRDa0FJZmtFQlFvQUNBQXNBQUFBQUJnQUdBQUFCLytBQ0lLRGhBZzJOb1dKaVVBdGdrTUhCME9La3lzOEw0NHFLcElJTUVhTmt3Z3JCelFHQ0VPWmtrQTJSSitnTGpKQ0xhZWFuQUpGbEN1Q1FEczFBVUNvUlFJNmd5MnRMUVUrS1VBSUFETXhRRGMzTFVZMmtpMUZSRWJFTEQ4RU1RSkFLY09EUUxkQU9nSTJNSVZFUFNvREFaTkRoMGJMaVMwNFI5cUtRRWEzaFVBQ01ySUhTbEF4UVVhRThGaVlJMGpCSWdhSVNDVFNMOGFPSEJoeFBDUVNrWWlPVkVPQWhHdzFxZEhCUkVNOFRlcjNieEUxR3kwTEZhRkhVQkFNRzhJa2hTUjB6UlE2ZFlTTUVDblNTSlcySXJlb2JWcVJqV2NyZExjNHlyS3hEOEhKUkRPMXRaQ0kwRlpCcTBSc0xOdkt5dFFxa3ZlTXJCTVVjVkFudEY4SWRSRDUrbFhrMTBBQUlma0VCUW9BQmdBc0FBQUFBQmdBR0FBQUIvK0FCb0tEaEMxTEQ0U0ppb0l0VG9KT1RSQU9qQzJMaVFVc2dnNVNVcE1HQ1JVVWxvTVFFNGliblFaUUVTcWlvd1lwQkZFdHFBNHREUmxLbGs5UGp4SXFHazZjVGlrWVRZNkxDaHZCQmdJRFNFNE1ERTROQ3hxQ1R3OU1oRXBOVWxGTFRnRkpoQThNdEVsUVVCU1ZnMGtLRnhZQXUrcE15SW9BQ2dpV1RreWVoUWJhdFhzMXFKS1RKQThTTHVrMTZzbWhoRW1jT0VqeThBSERYUThQVFdwUmFTQkJqNG1lYkxQVWdzbkZSRTRRcUR0SjZBa1VBZllTVVZDWFpKSXRRaElOVEJRQVpRVWhKZ3MxUWRuR3l3QVRLQnRYYUNPWlJFQ3ZCMHRvQ1NCSDBNQVRtSUlTQ21JaXdDZEJxTWkwNmx5eXBDb1RWeTBTdHFNd3N1b2dzVzRHRnptNVp5a1FBQ0g1QkFVS0FBSUFMQUFBQUFBWUFCZ0FBQWYvZ0FLQ2c0UUNVMG1GaVlrZEhZSlVEUTFVam8yS2d4d0tIb0poWkdSaGdpOVhJSldDSEY5a2lKdGduZ1kwWEtLakFtTldDUUpVWkdDU01USXVsWXlPU0Z4YXRyZ0JOWkdDTURDRVhsTWNnalpiQ1ZSalkxUXhNd0FDWVI1ZFZaTElOalpKWVIxaUNJUlQxV0lmV1RJSmxJNElXamFlaWd3TFdBMDJsV0ZlMzRsVHFxU0FONGdTUVVVR0IxR1p3cENoczFFY0RFeVJPSVhLUW9ZU0gxYmkwRkRpUDFpTElDTDRTSWdLZ25xSndzaWp0ekdjdjBJd0RJZ2pGK1lqRlU5aGttZ3g4RXFRRndNUHc5andJb0NETXdRRzZuRWtXcENnRms4TWkyb2g1RXNSQnkxRU8wUVY0RVdMeGw0VHZ6RnNSRVhpd1VJZHZDZ1RvSFhLSUJoZUM4N0NTdUlXSkN5TElBTUJBQ0g1QkFVS0FBQUFMQUlBQUFBV0FCY0FBQWZlZ0FDQ2c0TWlJb1NJaVlnU0JZcUtIU0l3Z2c0NVYxU0NJd1VjamgxVElaZFVsWmRURXhCcWpnQnFBb2VVVngwZEpBUm1xSUk2SVE2aGxqaHNFb1NuQUllRERpRWlIVGc0SFVnREFnQlVMaE91Z2lFaE9nNGRIQjJFSW1WVUFsVVJaeStYZ2lJQ3Q0NW1hMmhwRDRrT3dZbzZhV1dKMmJTQ1ZGUU9IQTRPQUE4QTI5RzZ3YVlnR3lzUHBrd1JPTkFnbXdraEJObWpwYTlmUDBJT0pLR0M0UThSbFhJQ09pcWFCaTlWQ0FIVnJya0Q0RUNIT1kwNkh2eHlJRUFqdVhPcHBwUWNaR3NUSVdyM0FLeEtKQ0xpUFlhSWtNYWp0Wk9XRGtRVEJ3VUNBQ0g1QkFVS0FBRUFMQUlBQUFBV0FCY0FBQWZSZ0FHQ2c0TlVWSVNJaVloVFNZTWRpb2dVZzFOVGp3RktDcENKSFpTRFBqd2NtcUdUbFIwS0YyV2FBUjFKSVJ3ZEQxTlViUmM5Z3lzcm1nZ2RISzhLRmcrQ1poWklnaFFoQW8wQkRvZURDQUJVSVRFRVB5eVdnaUdxWlFNcVNGT3FpaUk5YmVDcUR1Zk1BWlNkcWd3L0Z4Yy9GdXRUd2UzdzhNRGxrTTJESXRlSUh1d3dBM0JRQ0ZlUUdDekFzaU9FSlVrQmxLMGkxTUZCaHpJV3NzaEk4RWpFZzFFQlFpQVFsRXZRSVNwS1ZGVG9KNGdWSWtzaUJsR0FTS2lrSUh1M3dJVndzQytSQ0pxUmVncEtrcVFnb2tBQUlma0VCUW9BQUFBc0FBQUFBQmdBR0FBQUI4dUFBSUtEaEFCQVFJV0ppb2tkaTQ2RlM0TVVJbzJQZ2c2Q1MxT05RSnFWbG9vaUFoeWdoVk9DSENGSmcyK2tqeUtFSWt1WVFIVjBDcGFmaGc0ZElVaHhFSEtGaUpaQlcxd0pxNDdFaVFnSldvNjZpeDJIRG9lR1U5bFRrWThwRU45d2JsTkEycHFXSmQvZjRvTFN5NGRBMW9tdWkxTXhkWXZNamlremFESGNwWUttdUFDaXBVcUVNM01nRllJRmdFTUhOd3NDR0hKaElrWTdRcGdHcGNBQWdkaWJONHRBRGpwbHlFMEdZYVVRZGRnbUtFUUVFeFFBWnRva0tFR1ZtQUE3SkNGcEtGOUtuNGtDQVFBaCtRUUZDZ0FCQUN3QUFBQUFHQUFZQUFBSDBZQUJnb09FQVZSVWhZbUtoQStMam9Jd2d3K05rSStTSVlnQms0SlVCcFNQSzR5ZmxvdWJneDJDSGFpTWxnYURIQVlpaEpHRUhJV1pEa2tDSWFHRW1ZOGNJU0VpdjRyRmhCMGlEcVNXVkE3T2lGU1RrNjZQWlhmWWJrTEUwNmFPQUhjOFBIZmJ6TDZIVkIzSEFRN0VpeUpJQUl1WkJzdUtaUU1FUGFNQnRJUFBoSktrb0JJaUJnRTdMQXFOaXRYaHhnMHFNV2JJbzVMQ1J3RlNEbFNvb0ZLbXhnNTdLM29sRXBsUmhZTU9RbVM0SVBVZ3hMS1N5d3pRT0NEU0VTMEhCRXdLZXNIREgwWTdkdXlwTXpkSW1LVkFBQ0g1QkFVS0FDa0FMQUFBQUFBWUFCZ0FBQWF0d0pSd1NFeWRUc1drY3NsVVVwYlBKdEdSUkVxRm5LczI2UkJzbWFFbXhkRHNaSVVoQTZob1RaM0xTdzZpclh3UE8xOGwvY294UFB3UFIza2NmdytHZTFkNFRSd2lpRUlJQ1V5T1JRQVdGd3BKSUFaaFFnd1BSQ0lCSFFZa0J4QW9SV1JDR2dzTkp3d01KeVFEWGljQkc1aDZIeGdsSndjSEp4b0VFbFljZGtRZUdRMGREcjhuSFNRRUpWSVVKaEdjRXdkQ0R4TVFhMHdVRlpGQ3YwTWpCY2RKSFZZbkh4OXRpbDkvVWtFQUlma0VCUW9BQUFBc0FBQUFBQmdBR0FBQUI5bUFBSUtEaEFCVVZJV0ppb3VNaVY2TlNZMkVpSVZVRDVLRWo0V2FtQUNjZ3h3aGpaOURJWjllSVVPREQ1OEFvZ0JESFVPVWc3RkRTUUloRkpXdGlVTVBBbDYwaFVQQ2kxUzluWVVkZ3N5R0Q5RFFtTkhRVk03S2d0Rkpxc3VZSGRlRUhTazdsNG9kWHR6TElUdFlDd3lMb2FiREhRa3lXUjk0VkNXUmd3aDRIVlJ3NlJwRXBVSVhENGkweklpaEx3VzlMYTg0c0NKRVlaZWhIVFVDVUFFRGg0cVdBMGdvZlZ2RVFFWU1nQnl0SmJBU1FOS2JBelF1RFFFREJsRVNPRjg0TkhwejVZV2dtV0M0ZVZEUWlSS1ZIVHVHWVJ2RWoxRWdBQ0g1QkFVS0FBQUFMQUFBQUFBWUFCZ0FBQWZqZ0FDQ2c0UUFRRUNGaVlxRExVa1BpNHN0SW9rdGd5S1ZrSUkyZVFDWWdrQTJENTZaazR3QUlnSnFrWjVKTmh5ZWVUYUVMYU9sZ3JHVHFxY0duSmFGQnJjQWVhTXRuSG10c29WQUlqYkppckUySW9pS0hERFRsTGFFZWR2Ym1ZV1lObllxNHlvMzNnWVA2UTlBQmxiazVkNkQ2TWJjZWRlUW83TUJhVW1SSXIySkRLUkJzOFlNcEdiU1pyMDRFNkdLSGlBQnNnSGhJRXpUTEI1MlhDQVNNQUJKQ3h3NFdzRFlSQ2liTGtOcFZJVGtrUU5Jckg2Q2FDMHljOFlqRUphY1VGSE1wQWFDblU4c0ViRVR4YlBBQ0tBNWVxbTU1QTBJSmlCNzB0eUxWeWpib2tBQUlma0VCUW9BQVFBc0FBQUFBQmdBR0FBQUIvZUFBWUtEaEFGVVZJV0ppb1JFUkl1TGZJV05rWU9Va0VRaGlIeU5nbFIrUkphUGhINStsQ0VjaXhRVWd5SWhZWnRFVkdFaGZaUjhsbndWWFI1aEFiT0NxSUt1ZzQ2VkNUSlpIMko4WVlpVnFHRjlBaUVyaFNFN1dBc01pN01DSXM2RmZHWTd4WW1oaEdIcHplQ1BmRlNVZmg4WGNmVGJvcDlFbjU0ZjlQV2lBWTBDOWxLMzdsK0FXK2NPaWtFaVloRVZCTDBVRWVtaFlrQ1pSeUZDZkNQRWg4V1BMakVFVUFHQWdKQXNYOUpDY0N6Z3d3d2lQeFlTOE9HQUNzR3dBQ3ZLQ1ZwUnpWQ1BPQUFBT3VKQXExSkNRV1hpeU9UejZlZ2lEang4Rkp0a3FLa29EZ284Q0lJMWFJVUlwMFlIOWRGcE1OR2hmNEVBQUNINUJBVUtBQUFBTEFBQUFBQVlBQmdBQUFqL0FBRUlIRWdRd0lrVEJSTW01SU5RWUo4K0NpTUNvRkFod2NBcFV3Z3lrU2lRZ29rSWZ3Umk1R053U1VhT0FGQmtxSUp3eWhLQlRQNFVpZmptamNBd1RUQ2s0SU5SWUVpSlYrSzRRQmhrUVJVK1JXYkdIRmhreXNhQmM4NUVxS0xsQkFPSUEwL01QTkhueng4S0JaZWtRVE9qUk1RaVhwbUVpUmdnRGRhRUo5UXFQRWdYcFVBK2VBRk1xUUlCRGh3SVppVVdNWW14RDljcWZpRUE1amdZSTBhRWRPdmFsYWdGRUlLSWNXY3E3Sk9BeTVZZ0VjUDhFY0NrNFVBNUVPSWcrWVBVTkFDa0E3MFdWRUFuQU9RL1RKQXEvUW5nalZPQ1JXdzYvTFBXSlo4d0FpWURRTnNIcjB1WUFqUkw1TG1rNGZPU0o2Y3pBU3R5Q3NtSlQ1WHJDSDBybnVCQmxBRUJBRHM9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vZmFuY3lib3hfb3ZlcmxheS5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUEyWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcENNRU00TkRnelFqbERSVE5GTVRFeE9ERTROVVZET1RkRlEwSTBSRGd4UlNJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwR1JFVTVPRVZDUXpBek1qWXhNVVV5T1RnNU9VUkRNRGxEUlRKRE1UYzBSU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRHBHUkVVNU9FVkNRakF6TWpZeE1VVXlPVGc1T1VSRE1EbERSVEpETVRjMFJTSWdlRzF3T2tOeVpXRjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ1ExTTJJQ2hYYVc1a2IzZHpLU0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tJeFF6ZzBPRE5DT1VORk0wVXhNVEU0TVRnMVJVTTVOMFZEUWpSRU9ERkZJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0l3UXpnME9ETkNPVU5GTTBVeE1URTRNVGcxUlVNNU4wVkRRalJFT0RGRklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtzM1lSQVFBQUFCdEpSRUZVZU5waUZPRGgyY0JBQkdCaUlCS01LcVNPUW9BQUF3Qm9rUURzNUYvOEZBQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vZmFuY3lib3hfc3ByaXRlLnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUN3QUFBQ1lDQU1BQUFDb0FmdFFBQUFBdlZCTVZFVUFBQUFBQUFBQUFBQU9EZzRBQUFBQUFBQUFBQUROemMwQkFRSFoyZGtEQXdNSEJ3Y0FBQURmMzk4Q0FnSS9QejhCQVFFQUFBQ0Nnb0ljSEJ6bDVlVUFBQUMvdjcveDhmRUdCZ1puWjJjQUFBRHM3T3dHQmdiNCtQZy9Qei9KeWNtZW5wNW5aMmYzOS9lRGc0TUFBQURRME5ENCtQaXVycTdhMnRyOC9QenM3T3dBQUFENStmbjkvZjNlM3Q0QUFBRC8vLzlPVGs3QndjRTFOVFdzckt5TmpZMmNuSng2ZW5wZFhWMW9hR2dzTEN5NnVyb2lJaUxPenM1QlFVRnQzUENOQUFBQUwzUlNUbE1BQVFNSURSSVpIU01uTFRwRVNGTlZYV2xwYkcxNWVuK0hpWkNXb2FHc3NyTzJ2c0RGeWRQVTN1TDQrZnI5L1l3djZ4c0FBQVFWU1VSQlZIaGU3SlpiYzZKTUdJUVhBVU9RRU1pM3VNWWtybW9wWmdxczV1alovLyt6dnBkTnpNc01sbGkxTjN1UnZ0Q2Jwem85SStubWh5cU45T082R05RNkhhMVNHMG1jcmhza1hlOTBydktFNmtiWDdyOU1GNHZwMjg4N25mQnJxUFcweEplbUQ0dzMyZTdqSElqMjYwMlNiTlo3UWZnZDB6Skx0Z0tpMkIwK3RTc0UzaDh1MFJYN0hHR2ZIV3JLOW9pSWJySzY5U2lRSHhUbGlPNVZXdFAwcnJORWVtaG9qNm11YVlxeDJYdUd5SnJ3YmdVS29oaGIzaElGTTZ3Q0M3Wm00K001WnM1ZnBLTmlUWW5kRU9VSERGUllDZUFETHZHaXk3RHRMN0U1LzEyZ0pQYWNhbFBscUVjMmVvRkFkbUNhMlVPR3lPaG9VdVFnd283UHhDd0pNR1hZR2NRTWx5Q1ZYM0RjaENrR3MzVjZoMGlGZ3lVU1pzdVM2UVFMR2FZRGh1ZVVIeGhmM1Jwek9xQjhkUk1jejg0bGY1RlM5QTFOZ2kyUFFtOFBGN1JCWk9uRXlxRm5TQy9CS1g2YkhRbXVjcEIxM21SekNKdFRzUFVvd2xwbDE0aWYySmlmVVhjd2dlcWRBMk9MbjFDK1Bkc2J6Q0trVzBhM0tlS3hiYkF4RjRGSjlFZ0FhWEdxeUZPUkF1TFpOcmtNWk5vTktuTlM5UEU1ZHBsdEZvZmpCNFBKWElBazVyUC9ITXU0VWttbTdYakVrd0xmYzJ5VDY2dEprN2xwMlQySDFMTXRrMndWVnNXcGNFMFNsVzREYmVMRS94RzNlUnZmUXY3RnB0dzRLdnBETlJLTHQxLzNyWnR5L3hianJQZWYxKzVEMDE4SVRZdHRraVRyZkFVc3JtekszUlRJVC93b0h4SDNEYVpsOWgyclJIMmFYMHlkYVliMUJWSzF6TmRBMzJSdk5uN0RrVm1tb3llVkp2WUJNY2RsNVZnMi9sVzB6cFNiVU5JS1QxMktMVjh3VmpzbU52R1c2M2ZlVTNxajg2dmVHUW1BQTFlNXF6YlN0TlpkbVZUbFJ6emJTakcrNCt0NHUxaXFqeHhqUjZwY3phaU5CQ0NWWG9HeDI1WDdtVU5HZ0pCSE0vUXNYV3ArZGs0VTV4SmpYNEVYU003QUNjQ3hubm5tMnpJOHJ4Vm9GZ01yL2xVd1VweU5QdllWeC9lUmZhVVNRemt6TFd4RU9WaGl3eW5DQWQyR3ZDbS8yYnF1QlBFbytMeG5EdjBZWGR5ZkZPSFFQKzhFVi9rWTBlblNvcnh5aXRvTHh4d2lhYkRScURJbVdGMkpKVkJJZVZORWsySGdzREduN3ZraGNQeTY3bE1PaUJHRjRBR1MzdFg4eVlxQWZiNWVGL2tSaU1QWDRjRGpFRExkOHdlekpUNGx3dEhyTUhCdGJnNlY5b0xoWURZTHczQTJlU1ZibjBlbFNkTUNlY0ZnK0VlMEtxN2RsZnRMWFNDclJ4TkU4bHpIN2hwME51M3FwSFF0eTdadHEyc2FiSHZ0cGIvU0xhdWlzVlR5ZTFPK04yVWJieGh1MnhTQXE2eDFVd29BV2Z1bThQM0d1NVpOWWFVQTJqYUZKWUNvZlZQWU9XblpGRDRUY0xweFUxWkFuTjI0S1JuZnhRMmJzaEVFL1Z1YjhyMHAzNXZpL3Q5ZUhSb0JETU5RREpVdk1Ma09rRE1NKzhEN2I5Y1Ira09LTFB5NGp1b2puUWVBa1dXVkF5TExMSU5WZG92ajQ0TjhMT3FpLzNEanhvMGJONVp2ZGJXSnV3SGhydzJJTFlkcUJ3RFQyZkVFWHRyWkZtVmNDV0xpQUFBQUFFbEZUa1N1UW1DQ11dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2pxdWVyeS5mYW5jeWJveC10aHVtYnMuanM8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW0lDOHFJUW9nS2lCVWFIVnRZbTVoYVd3Z2FHVnNjR1Z5SUdadmNpQm1ZVzVqZVVKdmVBb2dLaUIyWlhKemFXOXVPaUF4TGpBdU55QW9UVzl1TENBd01TQlBZM1FnTWpBeE1pa0tJQ29nUUhKbGNYVnBjbVZ6SUdaaGJtTjVRbTk0SUhZeUxqQWdiM0lnYkdGMFpYSUtJQ29LSUNvZ1ZYTmhaMlU2Q2lBcUlDQWdJQ0FrS0NJdVptRnVZM2xpYjNnaUtTNW1ZVzVqZVdKdmVDaDdDaUFxSUNBZ0lDQWdJQ0FnYUdWc2NHVnljeUE2SUhzS0lDb2dJQ0FnSUNBZ0lDQWdJQ0FnZEdoMWJXSnpPaUI3Q2lBcUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2FXUjBhQ0FnT2lBMU1Dd0tJQ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hsYVdkb2RDQTZJRFV3Q2lBcUlDQWdJQ0FnSUNBZ0lDQWdJSDBLSUNvZ0lDQWdJQ0FnSUNCOUNpQXFJQ0FnSUNCOUtUc0tJQ29LSUNvdkNpaG1kVzVqZEdsdmJpQW9KQ2tnZXdvSkx5OVRhRzl5ZEdOMWRDQm1iM0lnWm1GdVkzbENiM2dnYjJKcVpXTjBDZ2wyWVhJZ1JpQTlJQ1F1Wm1GdVkzbGliM2c3Q2dvSkx5OUJaR1FnYUdWc2NHVnlJRzlpYW1WamRBb0pSaTVvWld4d1pYSnpMblJvZFcxaWN5QTlJSHNLQ1Fsa1pXWmhkV3gwY3lBNklIc0tDUWtKZDJsa2RHZ2dJQ0FnT2lBMU1Dd2dJQ0FnSUNBZ0x5OGdkR2gxYldKdVlXbHNJSGRwWkhSb0Nna0pDV2hsYVdkb2RDQWdJRG9nTlRBc0lDQWdJQ0FnSUM4dklIUm9kVzFpYm1GcGJDQm9aV2xuYUhRS0NRa0pjRzl6YVhScGIyNGdPaUFuWW05MGRHOXRKeXdnTHk4Z0ozUnZjQ2NnYjNJZ0oySnZkSFJ2YlNjS0NRa0pjMjkxY21ObElDQWdPaUJtZFc1amRHbHZiaUFvSUdsMFpXMGdLU0I3SUNBdkx5Qm1kVzVqZEdsdmJpQjBieUJ2WW5SaGFXNGdkR2hsSUZWU1RDQnZaaUIwYUdVZ2RHaDFiV0p1WVdsc0lHbHRZV2RsQ2drSkNRbDJZWElnYUhKbFpqc0tDZ2tKQ1FscFppQW9hWFJsYlM1bGJHVnRaVzUwS1NCN0Nna0pDUWtKYUhKbFppQTlJQ1FvYVhSbGJTNWxiR1Z0Wlc1MEtTNW1hVzVrS0NkcGJXY25LUzVoZEhSeUtDZHpjbU1uS1RzS0NRa0pDWDBLQ2drSkNRbHBaaUFvSVdoeVpXWWdKaVlnYVhSbGJTNTBlWEJsSUQwOVBTQW5hVzFoWjJVbklDWW1JR2wwWlcwdWFISmxaaWtnZXdvSkNRa0pDV2h5WldZZ1BTQnBkR1Z0TG1oeVpXWTdDZ2tKQ1FsOUNnb0pDUWtKY21WMGRYSnVJR2h5WldZN0Nna0pDWDBLQ1FsOUxBb0tDUWwzY21Gd0lDQTZJRzUxYkd3c0Nna0piR2x6ZENBZ09pQnVkV3hzTEFvSkNYZHBaSFJvSURvZ01Dd0tDZ2tKYVc1cGREb2dablZ1WTNScGIyNGdLRzl3ZEhNc0lHOWlhaWtnZXdvSkNRbDJZWElnZEdoaGRDQTlJSFJvYVhNc0Nna0pDUWxzYVhOMExBb0pDUWtKZEdoMWJXSlhhV1IwYUNBZ1BTQnZjSFJ6TG5kcFpIUm9MQW9KQ1FrSmRHaDFiV0pJWldsbmFIUWdQU0J2Y0hSekxtaGxhV2RvZEN3S0NRa0pDWFJvZFcxaVUyOTFjbU5sSUQwZ2IzQjBjeTV6YjNWeVkyVTdDZ29KQ1FrdkwwSjFhV3hrSUd4cGMzUWdjM1J5ZFdOMGRYSmxDZ2tKQ1d4cGMzUWdQU0FuSnpzS0Nna0pDV1p2Y2lBb2RtRnlJRzRnUFNBd095QnVJRHdnYjJKcUxtZHliM1Z3TG14bGJtZDBhRHNnYmlzcktTQjdDZ2tKQ1Fsc2FYTjBJQ3M5SUNjOGJHaytQR0VnYzNSNWJHVTlJbmRwWkhSb09pY2dLeUIwYUhWdFlsZHBaSFJvSUNzZ0ozQjRPMmhsYVdkb2REb25JQ3NnZEdoMWJXSklaV2xuYUhRZ0t5QW5jSGc3SWlCb2NtVm1QU0pxWVhaaGMyTnlhWEIwT21wUmRXVnllUzVtWVc1amVXSnZlQzVxZFcxd2RHOG9KeUFySUc0Z0t5QW5LVHNpUGp3dllUNDhMMnhwUGljN0Nna0pDWDBLQ2drSkNYUm9hWE11ZDNKaGNDQTlJQ1FvSnp4a2FYWWdhV1E5SW1aaGJtTjVZbTk0TFhSb2RXMWljeUkrUEM5a2FYWStKeWt1WVdSa1EyeGhjM01vYjNCMGN5NXdiM05wZEdsdmJpa3VZWEJ3Wlc1a1ZHOG9KMkp2WkhrbktUc0tDUWtKZEdocGN5NXNhWE4wSUQwZ0pDZ25QSFZzUGljZ0t5QnNhWE4wSUNzZ0p6d3ZkV3crSnlrdVlYQndaVzVrVkc4b2RHaHBjeTUzY21Gd0tUc0tDZ2tKQ1M4dlRHOWhaQ0JsWVdOb0lIUm9kVzFpYm1GcGJBb0pDUWtrTG1WaFkyZ29iMkpxTG1keWIzVndMQ0JtZFc1amRHbHZiaUFvYVNrZ2V3b0pDUWtKZG1GeUlHaHlaV1lnUFNCMGFIVnRZbE52ZFhKalpTZ2diMkpxTG1keWIzVndXeUJwSUYwZ0tUc0tDZ2tKQ1FscFppQW9JV2h5WldZcElIc0tDUWtKQ1FseVpYUjFjbTQ3Q2drSkNRbDlDZ29KQ1FrSkpDZ2lQR2x0WnlBdlBpSXBMbXh2WVdRb1puVnVZM1JwYjI0Z0tDa2dld29KQ1FrSkNYWmhjaUIzYVdSMGFDQWdQU0IwYUdsekxuZHBaSFJvTEFvSkNRa0pDUWxvWldsbmFIUWdQU0IwYUdsekxtaGxhV2RvZEN3S0NRa0pDUWtKZDJsa2RHaFNZWFJwYnl3Z2FHVnBaMmgwVW1GMGFXOHNJSEJoY21WdWREc0tDZ2tKQ1FrSmFXWWdLQ0YwYUdGMExteHBjM1FnZkh3Z0lYZHBaSFJvSUh4OElDRm9aV2xuYUhRcElIc0tDUWtKQ1FrSmNtVjBkWEp1T3dvSkNRa0pDWDBLQ2drSkNRa0pMeTlEWVd4amRXeGhkR1VnZEdoMWJXSnVZV2xzSUhkcFpIUm9MMmhsYVdkb2RDQmhibVFnWTJWdWRHVnlJR2wwQ2drSkNRa0pkMmxrZEdoU1lYUnBieUFnUFNCM2FXUjBhQ0F2SUhSb2RXMWlWMmxrZEdnN0Nna0pDUWtKYUdWcFoyaDBVbUYwYVc4Z1BTQm9aV2xuYUhRZ0x5QjBhSFZ0WWtobGFXZG9kRHNLQ2drSkNRa0pjR0Z5Wlc1MElEMGdkR2hoZEM1c2FYTjBMbU5vYVd4a2NtVnVLQ2t1WlhFb2FTa3VabWx1WkNnbllTY3BPd29LQ1FrSkNRbHBaaUFvZDJsa2RHaFNZWFJwYnlBK1BTQXhJQ1ltSUdobGFXZG9kRkpoZEdsdklENDlJREVwSUhzS0NRa0pDUWtKYVdZZ0tIZHBaSFJvVW1GMGFXOGdQaUJvWldsbmFIUlNZWFJwYnlrZ2V3b0pDUWtKQ1FrSmQybGtkR2dnSUQwZ1RXRjBhQzVtYkc5dmNpaDNhV1IwYUNBdklHaGxhV2RvZEZKaGRHbHZLVHNLQ1FrSkNRa0pDV2hsYVdkb2RDQTlJSFJvZFcxaVNHVnBaMmgwT3dvS0NRa0pDUWtKZlNCbGJITmxJSHNLQ1FrSkNRa0pDWGRwWkhSb0lDQTlJSFJvZFcxaVYybGtkR2c3Q2drSkNRa0pDUWxvWldsbmFIUWdQU0JOWVhSb0xtWnNiMjl5S0dobGFXZG9kQ0F2SUhkcFpIUm9VbUYwYVc4cE93b0pDUWtKQ1FsOUNna0pDUWtKZlFvS0NRa0pDUWtrS0hSb2FYTXBMbU56Y3loN0Nna0pDUWtKQ1hkcFpIUm9JQ0E2SUhkcFpIUm9MQW9KQ1FrSkNRbG9aV2xuYUhRZ09pQm9aV2xuYUhRc0Nna0pDUWtKQ1hSdmNDQWdJQ0E2SUUxaGRHZ3VabXh2YjNJb2RHaDFiV0pJWldsbmFIUWdMeUF5SUMwZ2FHVnBaMmgwSUM4Z01pa3NDZ2tKQ1FrSkNXeGxablFnSUNBNklFMWhkR2d1Wm14dmIzSW9kR2gxYldKWGFXUjBhQ0F2SURJZ0xTQjNhV1IwYUNBdklESXBDZ2tKQ1FrSmZTazdDZ29KQ1FrSkNYQmhjbVZ1ZEM1M2FXUjBhQ2gwYUhWdFlsZHBaSFJvS1M1b1pXbG5hSFFvZEdoMWJXSklaV2xuYUhRcE93b0tDUWtKQ1Fra0tIUm9hWE1wTG1ocFpHVW9LUzVoY0hCbGJtUlVieWh3WVhKbGJuUXBMbVpoWkdWSmJpZ3pNREFwT3dvS0NRa0pDWDBwTG1GMGRISW9KM055WXljc0lHaHlaV1lwT3dvSkNRbDlLVHNLQ2drSkNTOHZVMlYwSUdsdWFYUnBZV3dnZDJsa2RHZ0tDUWtKZEdocGN5NTNhV1IwYUNBOUlIUm9hWE11YkdsemRDNWphR2xzWkhKbGJpZ3BMbVZ4S0RBcExtOTFkR1Z5VjJsa2RHZ29kSEoxWlNrN0Nnb0pDUWwwYUdsekxteHBjM1F1ZDJsa2RHZ29kR2hwY3k1M2FXUjBhQ0FxSUNodlltb3VaM0p2ZFhBdWJHVnVaM1JvSUNzZ01Ta3BMbU56Y3lnbmJHVm1kQ2NzSUUxaGRHZ3VabXh2YjNJb0pDaDNhVzVrYjNjcExuZHBaSFJvS0NrZ0tpQXdMalVnTFNBb2IySnFMbWx1WkdWNElDb2dkR2hwY3k1M2FXUjBhQ0FySUhSb2FYTXVkMmxrZEdnZ0tpQXdMalVwS1NrN0Nna0pmU3dLQ2drSlltVm1iM0psVEc5aFpEb2dablZ1WTNScGIyNGdLRzl3ZEhNc0lHOWlhaWtnZXdvSkNRa3ZMMUpsYlc5MlpTQnpaV3htSUdsbUlHZGhiR3hsY25rZ1pHOGdibTkwSUdoaGRtVWdZWFFnYkdWaGMzUWdkSGR2SUdsMFpXMXpDZ2tKQ1dsbUlDaHZZbW91WjNKdmRYQXViR1Z1WjNSb0lEd2dNaWtnZXdvSkNRa0piMkpxTG1obGJIQmxjbk11ZEdoMWJXSnpJRDBnWm1Gc2MyVTdDZ29KQ1FrSmNtVjBkWEp1T3dvSkNRbDlDZ29KQ1FrdkwwbHVZM0psWVhObElHSnZkSFJ2YlNCdFlYSm5hVzRnZEc4Z1oybDJaU0J6Y0dGalpTQm1iM0lnZEdoMWJXSnpDZ2tKQ1c5aWFpNXRZWEpuYVc1YklHOXdkSE11Y0c5emFYUnBiMjRnUFQwOUlDZDBiM0FuSUQ4Z01DQTZJRElnWFNBclBTQW9LRzl3ZEhNdWFHVnBaMmgwS1NBcklERTFLVHNLQ1FsOUxBb0tDUWxoWm5SbGNsTm9iM2M2SUdaMWJtTjBhVzl1SUNodmNIUnpMQ0J2WW1vcElIc0tDUWtKTHk5RGFHVmpheUJwWmlCbGVHbHpkSE1nWVc1a0lHTnlaV0YwWlNCdmNpQjFjR1JoZEdVZ2JHbHpkQW9KQ1FscFppQW9kR2hwY3k1c2FYTjBLU0I3Q2drSkNRbDBhR2x6TG05dVZYQmtZWFJsS0c5d2RITXNJRzlpYWlrN0Nnb0pDUWw5SUdWc2MyVWdld29KQ1FrSmRHaHBjeTVwYm1sMEtHOXdkSE1zSUc5aWFpazdDZ2tKQ1gwS0Nna0pDUzh2VTJWMElHRmpkR2wyWlNCbGJHVnRaVzUwQ2drSkNYUm9hWE11YkdsemRDNWphR2xzWkhKbGJpZ3BMbkpsYlc5MlpVTnNZWE56S0NkaFkzUnBkbVVuS1M1bGNTaHZZbW91YVc1a1pYZ3BMbUZrWkVOc1lYTnpLQ2RoWTNScGRtVW5LVHNLQ1FsOUxBb0tDUWt2TDBObGJuUmxjaUJzYVhOMENna0piMjVWY0dSaGRHVTZJR1oxYm1OMGFXOXVJQ2h2Y0hSekxDQnZZbW9wSUhzS0NRa0phV1lnS0hSb2FYTXViR2x6ZENrZ2V3b0pDUWtKZEdocGN5NXNhWE4wTG5OMGIzQW9kSEoxWlNrdVlXNXBiV0YwWlNoN0Nna0pDUWtKSjJ4bFpuUW5PaUJOWVhSb0xtWnNiMjl5S0NRb2QybHVaRzkzS1M1M2FXUjBhQ2dwSUNvZ01DNDFJQzBnS0c5aWFpNXBibVJsZUNBcUlIUm9hWE11ZDJsa2RHZ2dLeUIwYUdsekxuZHBaSFJvSUNvZ01DNDFLU2tLQ1FrSkNYMHNJREUxTUNrN0Nna0pDWDBLQ1FsOUxBb0tDUWxpWldadmNtVkRiRzl6WlRvZ1puVnVZM1JwYjI0Z0tDa2dld29KQ1FscFppQW9kR2hwY3k1M2NtRndLU0I3Q2drSkNRbDBhR2x6TG5keVlYQXVjbVZ0YjNabEtDazdDZ2tKQ1gwS0Nna0pDWFJvYVhNdWQzSmhjQ0FnUFNCdWRXeHNPd29KQ1FsMGFHbHpMbXhwYzNRZ0lEMGdiblZzYkRzS0NRa0pkR2hwY3k1M2FXUjBhQ0E5SURBN0Nna0pmUW9KZlFvS2ZTaHFVWFZsY25rcEtUcz1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9qcXVlcnkuZmFuY3lib3gucGFjay5qczwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbTHlvaElHWmhibU41UW05NElIWXlMakV1TXlCbVlXNWplV0Z3Y0hNdVkyOXRJSHdnWm1GdVkzbGhjSEJ6TG1OdmJTOW1ZVzVqZVdKdmVDOGpiR2xqWlc1elpTQXFMd29vWm5WdVkzUnBiMjRvUWl4NExHWXNjU2w3ZG1GeUlISTlaaWhDS1N4dFBXWW9lQ2tzWWoxbUxtWmhibU41WW05NFBXWjFibU4wYVc5dUtDbDdZaTV2Y0dWdUxtRndjR3g1S0hSb2FYTXNZWEpuZFcxbGJuUnpLWDBzZFQxdWRXeHNMRzQ5ZUM1amNtVmhkR1ZVYjNWamFDRTlQWEVzY3oxbWRXNWpkR2x2YmloaEtYdHlaWFIxY200Z1lTWW1ZUzVvWVhOUGQyNVFjbTl3WlhKMGVTWW1ZU0JwYm5OMFlXNWpaVzltSUdaOUxIQTlablZ1WTNScGIyNG9ZU2w3Y21WMGRYSnVJR0VtSmlKemRISnBibWNpUFQwOVppNTBlWEJsS0dFcGZTeEZQV1oxYm1OMGFXOXVLR0VwZTNKbGRIVnliaUJ3S0dFcEppWXdQR0V1YVc1a1pYaFBaaWdpSlNJcGZTeHJQV1oxYm1OMGFXOXVLR0VzWkNsN2RtRnlJR1U5Y0dGeWMyVkpiblFvWVN3eE1DbDhmREE3WkNZbVJTaGhLU1ltS0dVcVBXSXVaMlYwVm1sbGQzQnZjblFvS1Z0a1hTOHhNREFwTzNKbGRIVnliaUJOWVhSb0xtTmxhV3dvWlNsOUxIWTlablZ1WTNScGIyNG9ZU3hpS1h0eVpYUjFjbTRnYXloaExHSXBLeUp3ZUNKOU8yWXVaWGgwWlc1a0tHSXNlM1psY25OcGIyNDZJakl1TVM0eklpeGtaV1poZFd4MGN6cDdjR0ZrWkdsdVp6b3hOU3h0WVhKbmFXNDZNakFzZDJsa2RHZzZPREF3TEdobGFXZG9kRG8yTURBc2JXbHVWMmxrZEdnNk1UQXdMRzFwYmtobGFXZG9kRG94TURBc0NtMWhlRmRwWkhSb09qazVPVGtzYldGNFNHVnBaMmgwT2prNU9Ua3NZWFYwYjFOcGVtVTZJVEFzWVhWMGIwaGxhV2RvZERvaE1TeGhkWFJ2VjJsa2RHZzZJVEVzWVhWMGIxSmxjMmw2WlRvaE1DeGhkWFJ2UTJWdWRHVnlPaUZ1TEdacGRGUnZWbWxsZHpvaE1DeGhjM0JsWTNSU1lYUnBiem9oTVN4MGIzQlNZWFJwYnpvd0xqVXNiR1ZtZEZKaGRHbHZPakF1TlN4elkzSnZiR3hwYm1jNkltRjFkRzhpTEhkeVlYQkRVMU02SWlJc1lYSnliM2R6T2lFd0xHTnNiM05sUW5SdU9pRXdMR05zYjNObFEyeHBZMnM2SVRFc2JtVjRkRU5zYVdOck9pRXhMRzF2ZFhObFYyaGxaV3c2SVRBc1lYVjBiMUJzWVhrNklURXNjR3hoZVZOd1pXVmtPak5GTXl4d2NtVnNiMkZrT2pNc2JXOWtZV3c2SVRFc2JHOXZjRG9oTUN4aGFtRjRPbnRrWVhSaFZIbHdaVG9pYUhSdGJDSXNhR1ZoWkdWeWN6cDdJbGd0Wm1GdVkzbENiM2dpT2lFd2ZYMHNhV1p5WVcxbE9udHpZM0p2Ykd4cGJtYzZJbUYxZEc4aUxIQnlaV3h2WVdRNklUQjlMSE4zWmpwN2QyMXZaR1U2SW5SeVlXNXpjR0Z5Wlc1MElpeGhiR3h2ZDJaMWJHeHpZM0psWlc0NkluUnlkV1VpTEdGc2JHOTNjMk55YVhCMFlXTmpaWE56T2lKaGJIZGhlWE1pZlN4clpYbHpPbnR1WlhoME9uc3hNem9pYkdWbWRDSXNNelE2SW5Wd0lpd3pPVG9pYkdWbWRDSXNOREE2SW5Wd0luMHNDbkJ5WlhZNmV6ZzZJbkpwWjJoMElpd3pNem9pWkc5M2JpSXNNemM2SW5KcFoyaDBJaXd6T0RvaVpHOTNiaUo5TEdOc2IzTmxPbHN5TjEwc2NHeGhlVHBiTXpKZExIUnZaMmRzWlRwYk56QmRmU3hrYVhKbFkzUnBiMjQ2ZTI1bGVIUTZJbXhsWm5RaUxIQnlaWFk2SW5KcFoyaDBJbjBzYzJOeWIyeHNUM1YwYzJsa1pUb2hNQ3hwYm1SbGVEb3dMSFI1Y0dVNmJuVnNiQ3hvY21WbU9tNTFiR3dzWTI5dWRHVnVkRHB1ZFd4c0xIUnBkR3hsT201MWJHd3NkSEJzT250M2NtRndPaWM4WkdsMklHTnNZWE56UFNKbVlXNWplV0p2ZUMxM2NtRndJaUIwWVdKSmJtUmxlRDBpTFRFaVBqeGthWFlnWTJ4aGMzTTlJbVpoYm1ONVltOTRMWE5yYVc0aVBqeGthWFlnWTJ4aGMzTTlJbVpoYm1ONVltOTRMVzkxZEdWeUlqNDhaR2wySUdOc1lYTnpQU0ptWVc1amVXSnZlQzFwYm01bGNpSStQQzlrYVhZK1BDOWthWFkrUEM5a2FYWStQQzlrYVhZK0p5eHBiV0ZuWlRvblBHbHRaeUJqYkdGemN6MGlabUZ1WTNsaWIzZ3RhVzFoWjJVaUlITnlZejBpZTJoeVpXWjlJaUJoYkhROUlpSWdMejRuTEdsbWNtRnRaVG9uUEdsbWNtRnRaU0JwWkQwaVptRnVZM2xpYjNndFpuSmhiV1Y3Y201a2ZTSWdibUZ0WlQwaVptRnVZM2xpYjNndFpuSmhiV1Y3Y201a2ZTSWdZMnhoYzNNOUltWmhibU41WW05NExXbG1jbUZ0WlNJZ1puSmhiV1ZpYjNKa1pYSTlJakFpSUhaemNHRmpaVDBpTUNJZ2FITndZV05sUFNJd0lpQjNaV0pyYVhSQmJHeHZkMFoxYkd4VFkzSmxaVzRnYlc5NllXeHNiM2RtZFd4c2MyTnlaV1Z1SUdGc2JHOTNSblZzYkZOamNtVmxiaWNyQ2lobUxtSnliM2R6WlhJdWJYTnBaVDhuSUdGc2JHOTNkSEpoYm5Od1lYSmxibU41UFNKMGNuVmxJaWM2SWlJcEt5SStQQzlwWm5KaGJXVStJaXhsY25KdmNqb25QSEFnWTJ4aGMzTTlJbVpoYm1ONVltOTRMV1Z5Y205eUlqNVVhR1VnY21WeGRXVnpkR1ZrSUdOdmJuUmxiblFnWTJGdWJtOTBJR0psSUd4dllXUmxaQzQ4WW5JdlBsQnNaV0Z6WlNCMGNua2dZV2RoYVc0Z2JHRjBaWEl1UEM5d1BpY3NZMnh2YzJWQ2RHNDZKenhoSUhScGRHeGxQU0pEYkc5elpTSWdZMnhoYzNNOUltWmhibU41WW05NExXbDBaVzBnWm1GdVkzbGliM2d0WTJ4dmMyVWlJR2h5WldZOUltcGhkbUZ6WTNKcGNIUTZPeUkrUEM5aFBpY3NibVY0ZERvblBHRWdkR2wwYkdVOUlrNWxlSFFpSUdOc1lYTnpQU0ptWVc1amVXSnZlQzF1WVhZZ1ptRnVZM2xpYjNndGJtVjRkQ0lnYUhKbFpqMGlhbUYyWVhOamNtbHdkRG83SWo0OGMzQmhiajQ4TDNOd1lXNCtQQzloUGljc2NISmxkam9uUEdFZ2RHbDBiR1U5SWxCeVpYWnBiM1Z6SWlCamJHRnpjejBpWm1GdVkzbGliM2d0Ym1GMklHWmhibU41WW05NExYQnlaWFlpSUdoeVpXWTlJbXBoZG1GelkzSnBjSFE2T3lJK1BITndZVzQrUEM5emNHRnVQand2WVQ0bmZTeHZjR1Z1UldabVpXTjBPaUptWVdSbElpeHZjR1Z1VTNCbFpXUTZNalV3TEc5d1pXNUZZWE5wYm1jNkluTjNhVzVuSWl3S2IzQmxiazl3WVdOcGRIazZJVEFzYjNCbGJrMWxkR2h2WkRvaWVtOXZiVWx1SWl4amJHOXpaVVZtWm1WamREb2labUZrWlNJc1kyeHZjMlZUY0dWbFpEb3lOVEFzWTJ4dmMyVkZZWE5wYm1jNkluTjNhVzVuSWl4amJHOXpaVTl3WVdOcGRIazZJVEFzWTJ4dmMyVk5aWFJvYjJRNklucHZiMjFQZFhRaUxHNWxlSFJGWm1abFkzUTZJbVZzWVhOMGFXTWlMRzVsZUhSVGNHVmxaRG95TlRBc2JtVjRkRVZoYzJsdVp6b2ljM2RwYm1jaUxHNWxlSFJOWlhSb2IyUTZJbU5vWVc1blpVbHVJaXh3Y21WMlJXWm1aV04wT2lKbGJHRnpkR2xqSWl4d2NtVjJVM0JsWldRNk1qVXdMSEJ5WlhaRllYTnBibWM2SW5OM2FXNW5JaXh3Y21WMlRXVjBhRzlrT2lKamFHRnVaMlZQZFhRaUxHaGxiSEJsY25NNmUyOTJaWEpzWVhrNklUQXNkR2wwYkdVNklUQjlMRzl1UTJGdVkyVnNPbVl1Ym05dmNDeGlaV1p2Y21WTWIyRmtPbVl1Ym05dmNDeGhablJsY2t4dllXUTZaaTV1YjI5d0xHSmxabTl5WlZOb2IzYzZaaTV1YjI5d0xHRm1kR1Z5VTJodmR6cG1MbTV2YjNBc1ltVm1iM0psUTJoaGJtZGxPbVl1Ym05dmNDeGlaV1p2Y21WRGJHOXpaVHBtTG01dmIzQXNZV1owWlhKRGJHOXpaVHBtTG01dmIzQjlMR2R5YjNWd09udDlMRzl3ZEhNNmUzMHNjSEpsZG1sdmRYTTZiblZzYkN4amIyMXBibWM2Ym5Wc2JDeGpkWEp5Wlc1ME9tNTFiR3dzQ21selFXTjBhWFpsT2lFeExHbHpUM0JsYmpvaE1TeHBjMDl3Wlc1bFpEb2hNU3gzY21Gd09tNTFiR3dzYzJ0cGJqcHVkV3hzTEc5MWRHVnlPbTUxYkd3c2FXNXVaWEk2Ym5Wc2JDeHdiR0Y1WlhJNmUzUnBiV1Z5T201MWJHd3NhWE5CWTNScGRtVTZJVEY5TEdGcVlYaE1iMkZrT201MWJHd3NhVzFuVUhKbGJHOWhaRHB1ZFd4c0xIUnlZVzV6YVhScGIyNXpPbnQ5TEdobGJIQmxjbk02ZTMwc2IzQmxianBtZFc1amRHbHZiaWhoTEdRcGUybG1LR0VtSmlobUxtbHpVR3hoYVc1UFltcGxZM1FvWkNsOGZDaGtQWHQ5S1N3aE1TRTlQV0l1WTJ4dmMyVW9JVEFwS1NseVpYUjFjbTRnWmk1cGMwRnljbUY1S0dFcGZId29ZVDF6S0dFcFAyWW9ZU2t1WjJWMEtDazZXMkZkS1N4bUxtVmhZMmdvWVN4bWRXNWpkR2x2YmlobExHTXBlM1poY2lCcVBYdDlMR2NzYUN4cExHd3NhenNpYjJKcVpXTjBJajA5UFdZdWRIbHdaU2hqS1NZbUtHTXVibTlrWlZSNWNHVW1KaWhqUFdZb1l5a3BMSE1vWXlrL0tHbzllMmh5WldZNll5NWtZWFJoS0NKbVlXNWplV0p2ZUMxb2NtVm1JaWw4ZkdNdVlYUjBjaWdpYUhKbFppSXBMSFJwZEd4bE9tTXVaR0YwWVNnaVptRnVZM2xpYjNndGRHbDBiR1VpS1h4OFl5NWhkSFJ5S0NKMGFYUnNaU0lwTEdselJHOXRPaUV3TEdWc1pXMWxiblE2WTMwc1ppNXRaWFJoWkdGMFlTWW1aaTVsZUhSbGJtUW9JVEFzQ21vc1l5NXRaWFJoWkdGMFlTZ3BLU2s2YWoxaktUdG5QV1F1YUhKbFpueDhhaTVvY21WbWZId29jQ2hqS1Q5ak9tNTFiR3dwTzJnOVpDNTBhWFJzWlNFOVBYRS9aQzUwYVhSc1pUcHFMblJwZEd4bGZId2lJanRzUFNocFBXUXVZMjl1ZEdWdWRIeDhhaTVqYjI1MFpXNTBLVDhpYUhSdGJDSTZaQzUwZVhCbGZIeHFMblI1Y0dVN0lXd21KbW91YVhORWIyMG1KaWhzUFdNdVpHRjBZU2dpWm1GdVkzbGliM2d0ZEhsd1pTSXBMR3g4ZkNoc1BTaHNQV011Y0hKdmNDZ2lZMnhoYzNNaUtTNXRZWFJqYUNndlptRnVZM2xpYjNoY0xpaGNkeXNwTHlrcFAyeGJNVjA2Ym5Wc2JDa3BPM0FvWnlrbUppaHNmSHdvWWk1cGMwbHRZV2RsS0djcFAydzlJbWx0WVdkbElqcGlMbWx6VTFkR0tHY3BQMnc5SW5OM1ppSTZJaU1pUFQwOVp5NWphR0Z5UVhRb01Day9iRDBpYVc1c2FXNWxJanB3S0dNcEppWW9iRDBpYUhSdGJDSXNhVDFqS1Nrc0ltRnFZWGdpUFQwOWJDWW1LR3M5Wnk1emNHeHBkQ2d2WEhNckx5d3lLU3huUFdzdWMyaHBablFvS1N4clBXc3VjMmhwWm5Rb0tTa3BPMmw4ZkNnaWFXNXNhVzVsSWowOVBXdy9aejlwUFdZb2NDaG5LVDluTG5KbGNHeGhZMlVvTHk0cUtEODlJMXRlWEhOZEt5UXBMeXdpSWlrNlp5azZhaTVwYzBSdmJTWW1LR2s5WXlrNkltaDBiV3dpUFQwOWJEOXBQV2M2SVd3bUppZ2haeVltQ21vdWFYTkViMjBwSmlZb2JEMGlhVzVzYVc1bElpeHBQV01wS1R0bUxtVjRkR1Z1WkNocUxIdG9jbVZtT21jc2RIbHdaVHBzTEdOdmJuUmxiblE2YVN4MGFYUnNaVHBvTEhObGJHVmpkRzl5T210OUtUdGhXMlZkUFdwOUtTeGlMbTl3ZEhNOVppNWxlSFJsYm1Rb0lUQXNlMzBzWWk1a1pXWmhkV3gwY3l4a0tTeGtMbXRsZVhNaFBUMXhKaVlvWWk1dmNIUnpMbXRsZVhNOVpDNXJaWGx6UDJZdVpYaDBaVzVrS0h0OUxHSXVaR1ZtWVhWc2RITXVhMlY1Y3l4a0xtdGxlWE1wT2lFeEtTeGlMbWR5YjNWd1BXRXNZaTVmYzNSaGNuUW9ZaTV2Y0hSekxtbHVaR1Y0S1gwc1kyRnVZMlZzT21aMWJtTjBhVzl1S0NsN2RtRnlJR0U5WWk1amIyMXBibWM3WVNZbUlURWhQVDFpTG5SeWFXZG5aWElvSW05dVEyRnVZMlZzSWlrbUppaGlMbWhwWkdWTWIyRmthVzVuS0Nrc1lpNWhhbUY0VEc5aFpDWW1ZaTVoYW1GNFRHOWhaQzVoWW05eWRDZ3BMR0l1WVdwaGVFeHZZV1E5Ym5Wc2JDeGlMbWx0WjFCeVpXeHZZV1FtSmloaUxtbHRaMUJ5Wld4dllXUXViMjVzYjJGa1BXSXVhVzFuVUhKbGJHOWhaQzV2Ym1WeWNtOXlQVzUxYkd3cExHRXVkM0poY0NZbVlTNTNjbUZ3TG5OMGIzQW9JVEFzSVRBcExuUnlhV2RuWlhJb0ltOXVVbVZ6WlhRaUtTNXlaVzF2ZG1Vb0tTeGlMbU52YldsdVp6MXVkV3hzTEdJdVkzVnljbVZ1ZEh4OENtSXVYMkZtZEdWeVdtOXZiVTkxZENoaEtTbDlMR05zYjNObE9tWjFibU4wYVc5dUtHRXBlMkl1WTJGdVkyVnNLQ2s3SVRFaFBUMWlMblJ5YVdkblpYSW9JbUpsWm05eVpVTnNiM05sSWlrbUppaGlMblZ1WW1sdVpFVjJaVzUwY3lncExHSXVhWE5CWTNScGRtVW1KaWdoWWk1cGMwOXdaVzU4ZkNFd1BUMDlZVDhvWmlnaUxtWmhibU41WW05NExYZHlZWEFpS1M1emRHOXdLQ0V3S1M1MGNtbG5aMlZ5S0NKdmJsSmxjMlYwSWlrdWNtVnRiM1psS0Nrc1lpNWZZV1owWlhKYWIyOXRUM1YwS0NrcE9paGlMbWx6VDNCbGJqMWlMbWx6VDNCbGJtVmtQU0V4TEdJdWFYTkRiRzl6YVc1blBTRXdMR1lvSWk1bVlXNWplV0p2ZUMxcGRHVnRMQ0F1Wm1GdVkzbGliM2d0Ym1GMklpa3VjbVZ0YjNabEtDa3NZaTUzY21Gd0xuTjBiM0FvSVRBc0lUQXBMbkpsYlc5MlpVTnNZWE56S0NKbVlXNWplV0p2ZUMxdmNHVnVaV1FpS1N4aUxuUnlZVzV6YVhScGIyNXpXMkl1WTNWeWNtVnVkQzVqYkc5elpVMWxkR2h2WkYwb0tTa3BLWDBzY0d4aGVUcG1kVzVqZEdsdmJpaGhLWHQyWVhJZ1pEMW1kVzVqZEdsdmJpZ3BlMk5zWldGeVZHbHRaVzkxZENoaUxuQnNZWGxsY2k1MGFXMWxjaWw5TEdVOVpuVnVZM1JwYjI0b0tYdGtLQ2s3WWk1amRYSnlaVzUwSmlaaUxuQnNZWGxsY2k1cGMwRmpkR2wyWlNZbUtHSXVjR3hoZVdWeUxuUnBiV1Z5UFFwelpYUlVhVzFsYjNWMEtHSXVibVY0ZEN4aUxtTjFjbkpsYm5RdWNHeGhlVk53WldWa0tTbDlMR005Wm5WdVkzUnBiMjRvS1h0a0tDazdaaWdpWW05a2VTSXBMblZ1WW1sdVpDZ2lMbkJzWVhsbGNpSXBPMkl1Y0d4aGVXVnlMbWx6UVdOMGFYWmxQU0V4TzJJdWRISnBaMmRsY2lnaWIyNVFiR0Y1Ulc1a0lpbDlPMmxtS0NFd1BUMDlZWHg4SVdJdWNHeGhlV1Z5TG1selFXTjBhWFpsSmlZaE1TRTlQV0VwZTJsbUtHSXVZM1Z5Y21WdWRDWW1LR0l1WTNWeWNtVnVkQzVzYjI5d2ZIeGlMbU4xY25KbGJuUXVhVzVrWlhnOFlpNW5jbTkxY0M1c1pXNW5kR2d0TVNrcFlpNXdiR0Y1WlhJdWFYTkJZM1JwZG1VOUlUQXNaaWdpWW05a2VTSXBMbUpwYm1Rb2V5SmhablJsY2xOb2IzY3VjR3hoZVdWeUlHOXVWWEJrWVhSbExuQnNZWGxsY2lJNlpTd2liMjVEWVc1alpXd3VjR3hoZVdWeUlHSmxabTl5WlVOc2IzTmxMbkJzWVhsbGNpSTZZeXdpWW1WbWIzSmxURzloWkM1d2JHRjVaWElpT21SOUtTeGxLQ2tzWWk1MGNtbG5aMlZ5S0NKdmJsQnNZWGxUZEdGeWRDSXBmV1ZzYzJVZ1l5Z3BmU3h1WlhoME9tWjFibU4wYVc5dUtHRXBlM1poY2lCa1BXSXVZM1Z5Y21WdWREdGtKaVlvY0NoaEtYeDhLR0U5WkM1a2FYSmxZM1JwYjI0dWJtVjRkQ2tzWWk1cWRXMXdkRzhvWkM1cGJtUmxlQ3N4TEdFc0ltNWxlSFFpS1NsOUxBcHdjbVYyT21aMWJtTjBhVzl1S0dFcGUzWmhjaUJrUFdJdVkzVnljbVZ1ZER0a0ppWW9jQ2hoS1h4OEtHRTlaQzVrYVhKbFkzUnBiMjR1Y0hKbGRpa3NZaTVxZFcxd2RHOG9aQzVwYm1SbGVDMHhMR0VzSW5CeVpYWWlLU2w5TEdwMWJYQjBienBtZFc1amRHbHZiaWhoTEdRc1pTbDdkbUZ5SUdNOVlpNWpkWEp5Wlc1ME8yTW1KaWhoUFdzb1lTa3NZaTVrYVhKbFkzUnBiMjQ5Wkh4OFl5NWthWEpsWTNScGIyNWJZVDQ5WXk1cGJtUmxlRDhpYm1WNGRDSTZJbkJ5WlhZaVhTeGlMbkp2ZFhSbGNqMWxmSHdpYW5WdGNIUnZJaXhqTG14dmIzQW1KaWd3UG1FbUppaGhQV011WjNKdmRYQXViR1Z1WjNSb0syRWxZeTVuY205MWNDNXNaVzVuZEdncExHRWxQV011WjNKdmRYQXViR1Z1WjNSb0tTeGpMbWR5YjNWd1cyRmRJVDA5Y1NZbUtHSXVZMkZ1WTJWc0tDa3NZaTVmYzNSaGNuUW9ZU2twS1gwc2NtVndiM05wZEdsdmJqcG1kVzVqZEdsdmJpaGhMR1FwZTNaaGNpQmxQV0l1WTNWeWNtVnVkQ3hqUFdVL1pTNTNjbUZ3T201MWJHd3NhanRqSmlZb2FqMWlMbDluWlhSUWIzTnBkR2x2Ymloa0tTeGhKaVlpYzJOeWIyeHNJajA5UFdFdWRIbHdaVDhvWkdWc1pYUmxJR291Y0c5emFYUnBiMjRzWXk1emRHOXdLQ0V3TENFd0tTNWhibWx0WVhSbEtHb3NNakF3S1NrNktHTXVZM056S0dvcExHVXVjRzl6UFdZdVpYaDBaVzVrS0h0OUxBcGxMbVJwYlN4cUtTa3BmU3gxY0dSaGRHVTZablZ1WTNScGIyNG9ZU2w3ZG1GeUlHUTlZU1ltWVM1MGVYQmxMR1U5SVdSOGZDSnZjbWxsYm5SaGRHbHZibU5vWVc1blpTSTlQVDFrTzJVbUppaGpiR1ZoY2xScGJXVnZkWFFvZFNrc2RUMXVkV3hzS1R0aUxtbHpUM0JsYmlZbUlYVW1KaWgxUFhObGRGUnBiV1Z2ZFhRb1puVnVZM1JwYjI0b0tYdDJZWElnWXoxaUxtTjFjbkpsYm5RN1l5WW1JV0l1YVhORGJHOXphVzVuSmlZb1lpNTNjbUZ3TG5KbGJXOTJaVU5zWVhOektDSm1ZVzVqZVdKdmVDMTBiWEFpS1N3b1pYeDhJbXh2WVdRaVBUMDlaSHg4SW5KbGMybDZaU0k5UFQxa0ppWmpMbUYxZEc5U1pYTnBlbVVwSmlaaUxsOXpaWFJFYVcxbGJuTnBiMjRvS1N3aWMyTnliMnhzSWowOVBXUW1KbU11WTJGdVUyaHlhVzVyZkh4aUxuSmxjRzl6YVhScGIyNG9ZU2tzWWk1MGNtbG5aMlZ5S0NKdmJsVndaR0YwWlNJcExIVTliblZzYkNsOUxHVW1KaUZ1UHpBNk16QXdLU2w5TEhSdloyZHNaVHBtZFc1amRHbHZiaWhoS1h0aUxtbHpUM0JsYmlZbUtHSXVZM1Z5Y21WdWRDNW1hWFJVYjFacFpYYzlJbUp2YjJ4bFlXNGlQVDA5Wmk1MGVYQmxLR0VwUDJFNklXSXVZM1Z5Y21WdWRDNW1hWFJVYjFacFpYY3NiaVltS0dJdWQzSmhjQzV5WlcxdmRtVkJkSFJ5S0NKemRIbHNaU0lwTG1Ga1pFTnNZWE56S0NKbVlXNWplV0p2ZUMxMGJYQWlLU3dLWWk1MGNtbG5aMlZ5S0NKdmJsVndaR0YwWlNJcEtTeGlMblZ3WkdGMFpTZ3BLWDBzYUdsa1pVeHZZV1JwYm1jNlpuVnVZM1JwYjI0b0tYdHRMblZ1WW1sdVpDZ2lMbXh2WVdScGJtY2lLVHRtS0NJalptRnVZM2xpYjNndGJHOWhaR2x1WnlJcExuSmxiVzkyWlNncGZTeHphRzkzVEc5aFpHbHVaenBtZFc1amRHbHZiaWdwZTNaaGNpQmhMR1E3WWk1b2FXUmxURzloWkdsdVp5Z3BPMkU5WmlnblBHUnBkaUJwWkQwaVptRnVZM2xpYjNndGJHOWhaR2x1WnlJK1BHUnBkajQ4TDJScGRqNDhMMlJwZGo0bktTNWpiR2xqYXloaUxtTmhibU5sYkNrdVlYQndaVzVrVkc4b0ltSnZaSGtpS1R0dExtSnBibVFvSW10bGVXUnZkMjR1Ykc5aFpHbHVaeUlzWm5WdVkzUnBiMjRvWVNsN2FXWW9NamM5UFQwb1lTNTNhR2xqYUh4OFlTNXJaWGxEYjJSbEtTbGhMbkJ5WlhabGJuUkVaV1poZFd4MEtDa3NZaTVqWVc1alpXd29LWDBwTzJJdVpHVm1ZWFZzZEhNdVptbDRaV1I4ZkNoa1BXSXVaMlYwVm1sbGQzQnZjblFvS1N4aExtTnpjeWg3Y0c5emFYUnBiMjQ2SW1GaWMyOXNkWFJsSWl4MGIzQTZNQzQxS21RdWFDdGtMbmtzYkdWbWREb3dMalVxWkM1M0syUXVlSDBwS1gwc1oyVjBWbWxsZDNCdmNuUTZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU4xY25KbGJuUW1KbUl1WTNWeWNtVnVkQzVzYjJOclpXUjhmQW9oTVN4a1BYdDRPbkl1YzJOeWIyeHNUR1ZtZENncExIazZjaTV6WTNKdmJHeFViM0FvS1gwN1lUOG9aQzUzUFdGYk1GMHVZMnhwWlc1MFYybGtkR2dzWkM1b1BXRmJNRjB1WTJ4cFpXNTBTR1ZwWjJoMEtUb29aQzUzUFc0bUprSXVhVzV1WlhKWGFXUjBhRDlDTG1sdWJtVnlWMmxrZEdnNmNpNTNhV1IwYUNncExHUXVhRDF1SmlaQ0xtbHVibVZ5U0dWcFoyaDBQMEl1YVc1dVpYSklaV2xuYUhRNmNpNW9aV2xuYUhRb0tTazdjbVYwZFhKdUlHUjlMSFZ1WW1sdVpFVjJaVzUwY3pwbWRXNWpkR2x2YmlncGUySXVkM0poY0NZbWN5aGlMbmR5WVhBcEppWmlMbmR5WVhBdWRXNWlhVzVrS0NJdVptSWlLVHR0TG5WdVltbHVaQ2dpTG1aaUlpazdjaTUxYm1KcGJtUW9JaTVtWWlJcGZTeGlhVzVrUlhabGJuUnpPbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHRTlZaTVqZFhKeVpXNTBMR1E3WVNZbUtISXVZbWx1WkNnaWIzSnBaVzUwWVhScGIyNWphR0Z1WjJVdVptSWlLeWh1UHlJaU9pSWdjbVZ6YVhwbExtWmlJaWtyS0dFdVlYVjBiME5sYm5SbGNpWW1JV0V1Ykc5amEyVmtQeUlnYzJOeWIyeHNMbVppSWpvaUlpa3NZaTUxY0dSaGRHVXBMQ2hrUFdFdWEyVjVjeWttSm0wdVltbHVaQ2dpYTJWNVpHOTNiaTVtWWlJc1puVnVZM1JwYjI0b1pTbDdkbUZ5SUdNOVpTNTNhR2xqYUh4OFpTNXJaWGxEYjJSbExHbzlDbVV1ZEdGeVoyVjBmSHhsTG5OeVkwVnNaVzFsYm5RN2FXWW9NamM5UFQxakppWmlMbU52YldsdVp5bHlaWFIxY200aE1Uc2haUzVqZEhKc1MyVjVKaVlvSVdVdVlXeDBTMlY1SmlZaFpTNXphR2xtZEV0bGVTWW1JV1V1YldWMFlVdGxlU1ltS0NGcWZId2hhaTUwZVhCbEppWWhaaWhxS1M1cGN5Z2lXMk52Ym5SbGJuUmxaR2wwWVdKc1pWMGlLU2twSmlabUxtVmhZMmdvWkN4bWRXNWpkR2x2Ymloa0xHb3BlMmxtS0RFOFlTNW5jbTkxY0M1c1pXNW5kR2dtSm1wYlkxMGhQVDF4S1hKbGRIVnliaUJpVzJSZEtHcGJZMTBwTEdVdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1N3aE1UdHBaaWd0TVR4bUxtbHVRWEp5WVhrb1l5eHFLU2x5WlhSMWNtNGdZbHRrWFNncExHVXVjSEpsZG1WdWRFUmxabUYxYkhRb0tTd2hNWDBwZlNrc1ppNW1iaTV0YjNWelpYZG9aV1ZzSmlaaExtMXZkWE5sVjJobFpXd21KbUl1ZDNKaGNDNWlhVzVrS0NKdGIzVnpaWGRvWldWc0xtWmlJaXhtZFc1amRHbHZiaWhrTEdNc2FpeG5LWHRtYjNJb2RtRnlJR2c5Wmloa0xuUmhjbWRsZEh4OGJuVnNiQ2tzYVQwaE1UdG9MbXhsYm1kMGFDWW1JV2ttSmlGb0xtbHpLQ0l1Wm1GdVkzbGliM2d0YzJ0cGJpSXBKaVloYUM1cGN5Z2lMbVpoYm1ONVltOTRMWGR5WVhBaUtUc3BhVDFvV3pCZEppWWhLR2hiTUYwdWMzUjViR1V1YjNabGNtWnNiM2NtSmdvaWFHbGtaR1Z1SWowOVBXaGJNRjB1YzNSNWJHVXViM1psY21ac2IzY3BKaVlvYUZzd1hTNWpiR2xsYm5SWGFXUjBhQ1ltYUZzd1hTNXpZM0p2Ykd4WGFXUjBhRDVvV3pCZExtTnNhV1Z1ZEZkcFpIUm9mSHhvV3pCZExtTnNhV1Z1ZEVobGFXZG9kQ1ltYUZzd1hTNXpZM0p2Ykd4SVpXbG5hSFErYUZzd1hTNWpiR2xsYm5SSVpXbG5hSFFwTEdnOVppaG9LUzV3WVhKbGJuUW9LVHRwWmlnd0lUMDlZeVltSVdrbUpqRThZaTVuY205MWNDNXNaVzVuZEdnbUppRmhMbU5oYmxOb2NtbHVheWw3YVdZb01EeG5mSHd3UEdvcFlpNXdjbVYyS0RBOFp6OGlaRzkzYmlJNklteGxablFpS1R0bGJITmxJR2xtS0RBK1ozeDhNRDVxS1dJdWJtVjRkQ2d3UG1jL0luVndJam9pY21sbmFIUWlLVHRrTG5CeVpYWmxiblJFWldaaGRXeDBLQ2w5ZlNrcGZTeDBjbWxuWjJWeU9tWjFibU4wYVc5dUtHRXNaQ2w3ZG1GeUlHVXNZejFrZkh4aUxtTnZiV2x1WjN4OFlpNWpkWEp5Wlc1ME8ybG1LR01wZTJZdWFYTkdkVzVqZEdsdmJpaGpXMkZkS1NZbUtHVTlZMXRoWFM1aGNIQnNlU2hqTEVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV6YkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3l3eEtTa3BPMmxtS0NFeFBUMDlaU2x5WlhSMWNtNGhNVHRqTG1obGJIQmxjbk1tSm1ZdVpXRmphQ2hqTG1obGJIQmxjbk1zWm5WdVkzUnBiMjRvWkN3S1pTbDdaU1ltS0dJdWFHVnNjR1Z5YzF0a1hTWW1aaTVwYzBaMWJtTjBhVzl1S0dJdWFHVnNjR1Z5YzF0a1hWdGhYU2twSmlZb1pUMW1MbVY0ZEdWdVpDZ2hNQ3g3ZlN4aUxtaGxiSEJsY25OYlpGMHVaR1ZtWVhWc2RITXNaU2tzWWk1b1pXeHdaWEp6VzJSZFcyRmRLR1VzWXlrcGZTazdaaTVsZG1WdWRDNTBjbWxuWjJWeUtHRXJJaTVtWWlJcGZYMHNhWE5KYldGblpUcG1kVzVqZEdsdmJpaGhLWHR5WlhSMWNtNGdjQ2hoS1NZbVlTNXRZWFJqYUNndktGNWtZWFJoT21sdFlXZGxYQzh1S2l3cGZDaGNMaWhxY0NobGZHZDhaV2NwZkdkcFpueHdibWQ4WW0xd2ZIZGxZbkFwS0NoY1Azd2pLUzRxS1Q4a0tTOXBLWDBzYVhOVFYwWTZablZ1WTNScGIyNG9ZU2w3Y21WMGRYSnVJSEFvWVNrbUptRXViV0YwWTJnb0wxd3VLSE4zWmlrb0tGdy9mQ01wTGlvcFB5UXZhU2w5TEY5emRHRnlkRHBtZFc1amRHbHZiaWhoS1h0MllYSWdaRDE3ZlN4bExHTXNZVDFyS0dFcE8yVTlZaTVuY205MWNGdGhYWHg4Ym5Wc2JEdHBaaWdoWlNseVpYUjFjbTRoTVR0a1BXWXVaWGgwWlc1a0tDRXdMSHQ5TEdJdWIzQjBjeXhsS1R0bFBXUXViV0Z5WjJsdU8yTTlaQzV3WVdSa2FXNW5PeUp1ZFcxaVpYSWlQVDA5Wmk1MGVYQmxLR1VwSmlZb1pDNXRZWEpuYVc0OVcyVXNaU3hsTEdWZEtUc2liblZ0WW1WeUlqMDlQV1l1ZEhsd1pTaGpLU1ltQ2loa0xuQmhaR1JwYm1jOVcyTXNZeXhqTEdOZEtUdGtMbTF2WkdGc0ppWm1MbVY0ZEdWdVpDZ2hNQ3hrTEh0amJHOXpaVUowYmpvaE1TeGpiRzl6WlVOc2FXTnJPaUV4TEc1bGVIUkRiR2xqYXpvaE1TeGhjbkp2ZDNNNklURXNiVzkxYzJWWGFHVmxiRG9oTVN4clpYbHpPbTUxYkd3c2FHVnNjR1Z5Y3pwN2IzWmxjbXhoZVRwN1kyeHZjMlZEYkdsamF6b2hNWDE5ZlNrN1pDNWhkWFJ2VTJsNlpTWW1LR1F1WVhWMGIxZHBaSFJvUFdRdVlYVjBiMGhsYVdkb2REMGhNQ2s3SW1GMWRHOGlQVDA5WkM1M2FXUjBhQ1ltS0dRdVlYVjBiMWRwWkhSb1BTRXdLVHNpWVhWMGJ5STlQVDFrTG1obGFXZG9kQ1ltS0dRdVlYVjBiMGhsYVdkb2REMGhNQ2s3WkM1bmNtOTFjRDFpTG1keWIzVndPMlF1YVc1a1pYZzlZVHRpTG1OdmJXbHVaejFrTzJsbUtDRXhQVDA5WWk1MGNtbG5aMlZ5S0NKaVpXWnZjbVZNYjJGa0lpa3BZaTVqYjIxcGJtYzliblZzYkR0bGJITmxlMk05WkM1MGVYQmxPMlU5WkM1b2NtVm1PMmxtS0NGaktYSmxkSFZ5YmlCaUxtTnZiV2x1WnoxdWRXeHNMR0l1WTNWeWNtVnVkQ1ltWWk1eWIzVjBaWEltSmlKcWRXMXdkRzhpSVQwOVlpNXliM1YwWlhJL0tHSXVZM1Z5Y21WdWRDNXBibVJsZUQxaExHSmJZaTV5YjNWMFpYSmRLR0l1WkdseVpXTjBhVzl1S1NrNklURTdZaTVwYzBGamRHbDJaVDBLSVRBN2FXWW9JbWx0WVdkbElqMDlQV044ZkNKemQyWWlQVDA5WXlsa0xtRjFkRzlJWldsbmFIUTlaQzVoZFhSdlYybGtkR2c5SVRFc1pDNXpZM0p2Ykd4cGJtYzlJblpwYzJsaWJHVWlPeUpwYldGblpTSTlQVDFqSmlZb1pDNWhjM0JsWTNSU1lYUnBiejBoTUNrN0ltbG1jbUZ0WlNJOVBUMWpKaVp1SmlZb1pDNXpZM0p2Ykd4cGJtYzlJbk5qY205c2JDSXBPMlF1ZDNKaGNEMW1LR1F1ZEhCc0xuZHlZWEFwTG1Ga1pFTnNZWE56S0NKbVlXNWplV0p2ZUMwaUt5aHVQeUp0YjJKcGJHVWlPaUprWlhOcmRHOXdJaWtySWlCbVlXNWplV0p2ZUMxMGVYQmxMU0lyWXlzaUlHWmhibU41WW05NExYUnRjQ0FpSzJRdWQzSmhjRU5UVXlrdVlYQndaVzVrVkc4b1pDNXdZWEpsYm5SOGZDSmliMlI1SWlrN1ppNWxlSFJsYm1Rb1pDeDdjMnRwYmpwbUtDSXVabUZ1WTNsaWIzZ3RjMnRwYmlJc1pDNTNjbUZ3S1N4dmRYUmxjanBtS0NJdVptRnVZM2xpYjNndGIzVjBaWElpTEdRdWQzSmhjQ2tzYVc1dVpYSTZaaWdpTG1aaGJtTjVZbTk0TFdsdWJtVnlJaXhrTG5keVlYQXBmU2s3Wmk1bFlXTm9LRnNpVkc5d0lpd2lVbWxuYUhRaUxDSkNiM1IwYjIwaUxDSk1aV1owSWwwc1puVnVZM1JwYjI0b1lTeGlLWHRrTG5OcmFXNHVZM056S0NKd1lXUmthVzVuSWl0aUxIWW9aQzV3WVdSa2FXNW5XMkZkS1NsOUtUdGlMblJ5YVdkblpYSW9JbTl1VW1WaFpIa2lLVHNLYVdZb0ltbHViR2x1WlNJOVBUMWpmSHdpYUhSdGJDSTlQVDFqS1h0cFppZ2haQzVqYjI1MFpXNTBmSHdoWkM1amIyNTBaVzUwTG14bGJtZDBhQ2x5WlhSMWNtNGdZaTVmWlhKeWIzSW9JbU52Ym5SbGJuUWlLWDFsYkhObElHbG1LQ0ZsS1hKbGRIVnliaUJpTGw5bGNuSnZjaWdpYUhKbFppSXBPeUpwYldGblpTSTlQVDFqUDJJdVgyeHZZV1JKYldGblpTZ3BPaUpoYW1GNElqMDlQV00vWWk1ZmJHOWhaRUZxWVhnb0tUb2lhV1p5WVcxbElqMDlQV00vWWk1ZmJHOWhaRWxtY21GdFpTZ3BPbUl1WDJGbWRHVnlURzloWkNncGZYMHNYMlZ5Y205eU9tWjFibU4wYVc5dUtHRXBlMll1WlhoMFpXNWtLR0l1WTI5dGFXNW5MSHQwZVhCbE9pSm9kRzFzSWl4aGRYUnZWMmxrZEdnNklUQXNZWFYwYjBobGFXZG9kRG9oTUN4dGFXNVhhV1IwYURvd0xHMXBia2hsYVdkb2REb3dMSE5qY205c2JHbHVaem9pYm04aUxHaGhjMFZ5Y205eU9tRXNZMjl1ZEdWdWREcGlMbU52YldsdVp5NTBjR3d1WlhKeWIzSjlLVHRpTGw5aFpuUmxja3h2WVdRb0tYMHNYMnh2WVdSSmJXRm5aVHBtZFc1amRHbHZiaWdwZTNaaGNpQmhQV0l1YVcxblVISmxiRzloWkQxdVpYY2dTVzFoWjJVN1lTNXZibXh2WVdROVpuVnVZM1JwYjI0b0tYdDBhR2x6TG05dWJHOWhaRDEwYUdsekxtOXVaWEp5YjNJOWJuVnNiRHRpTG1OdmJXbHVaeTUzYVdSMGFEMEtkR2hwY3k1M2FXUjBhRHRpTG1OdmJXbHVaeTVvWldsbmFIUTlkR2hwY3k1b1pXbG5hSFE3WWk1ZllXWjBaWEpNYjJGa0tDbDlPMkV1YjI1bGNuSnZjajFtZFc1amRHbHZiaWdwZTNSb2FYTXViMjVzYjJGa1BYUm9hWE11YjI1bGNuSnZjajF1ZFd4c08ySXVYMlZ5Y205eUtDSnBiV0ZuWlNJcGZUdGhMbk55WXoxaUxtTnZiV2x1Wnk1b2NtVm1PeUV3SVQwOVlTNWpiMjF3YkdWMFpTWW1ZaTV6YUc5M1RHOWhaR2x1WnlncGZTeGZiRzloWkVGcVlYZzZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU52YldsdVp6dGlMbk5vYjNkTWIyRmthVzVuS0NrN1lpNWhhbUY0VEc5aFpEMW1MbUZxWVhnb1ppNWxlSFJsYm1Rb2UzMHNZUzVoYW1GNExIdDFjbXc2WVM1b2NtVm1MR1Z5Y205eU9tWjFibU4wYVc5dUtHRXNaU2w3WWk1amIyMXBibWNtSmlKaFltOXlkQ0loUFQxbFAySXVYMlZ5Y205eUtDSmhhbUY0SWl4aEtUcGlMbWhwWkdWTWIyRmthVzVuS0NsOUxITjFZMk5sYzNNNlpuVnVZM1JwYjI0b1pDeGxLWHNpYzNWalkyVnpjeUk5UFQxbEppWW9ZUzVqYjI1MFpXNTBQV1FzWWk1ZllXWjBaWEpNYjJGa0tDa3BmWDBwS1gwc1gyeHZZV1JKWm5KaGJXVTZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU52YldsdVp5eGtQV1lvWVM1MGNHd3VhV1p5WVcxbExuSmxjR3hoWTJVb0wxeDdjbTVrWEgwdlp5d0tLRzVsZHlCRVlYUmxLUzVuWlhSVWFXMWxLQ2twS1M1aGRIUnlLQ0p6WTNKdmJHeHBibWNpTEc0L0ltRjFkRzhpT21FdWFXWnlZVzFsTG5OamNtOXNiR2x1WnlrdVlYUjBjaWdpYzNKaklpeGhMbWh5WldZcE8yWW9ZUzUzY21Gd0tTNWlhVzVrS0NKdmJsSmxjMlYwSWl4bWRXNWpkR2x2YmlncGUzUnllWHRtS0hSb2FYTXBMbVpwYm1Rb0ltbG1jbUZ0WlNJcExtaHBaR1VvS1M1aGRIUnlLQ0p6Y21NaUxDSXZMMkZpYjNWME9tSnNZVzVySWlrdVpXNWtLQ2t1Wlcxd2RIa29LWDFqWVhSamFDaGhLWHQ5ZlNrN1lTNXBabkpoYldVdWNISmxiRzloWkNZbUtHSXVjMmh2ZDB4dllXUnBibWNvS1N4a0xtOXVaU2dpYkc5aFpDSXNablZ1WTNScGIyNG9LWHRtS0hSb2FYTXBMbVJoZEdFb0luSmxZV1I1SWl3eEtUdHVmSHhtS0hSb2FYTXBMbUpwYm1Rb0lteHZZV1F1Wm1JaUxHSXVkWEJrWVhSbEtUdG1LSFJvYVhNcExuQmhjbVZ1ZEhNb0lpNW1ZVzVqZVdKdmVDMTNjbUZ3SWlrdWQybGtkR2dvSWpFd01DVWlLUzV5WlcxdmRtVkRiR0Z6Y3lnaVptRnVZM2xpYjNndGRHMXdJaWt1YzJodmR5Z3BPMkl1WDJGbWRHVnlURzloWkNncGZTa3BPMkV1WTI5dWRHVnVkRDFrTG1Gd2NHVnVaRlJ2S0dFdWFXNXVaWElwTzJFdWFXWnlZVzFsTG5CeVpXeHZZV1I4ZkdJdVgyRm1kR1Z5VEc5aFpDZ3BmU3hmY0hKbGJHOWhaRWx0WVdkbGN6cG1kVzVqZEdsdmJpZ3BlM1poY2lCaFBRcGlMbWR5YjNWd0xHUTlZaTVqZFhKeVpXNTBMR1U5WVM1c1pXNW5kR2dzWXoxa0xuQnlaV3h2WVdRL1RXRjBhQzV0YVc0b1pDNXdjbVZzYjJGa0xHVXRNU2s2TUN4bUxHYzdabTl5S0djOU1UdG5QRDFqTzJjclBURXBaajFoV3loa0xtbHVaR1Y0SzJjcEpXVmRMQ0pwYldGblpTSTlQVDFtTG5SNWNHVW1KbVl1YUhKbFppWW1LQ2h1WlhjZ1NXMWhaMlVwTG5OeVl6MW1MbWh5WldZcGZTeGZZV1owWlhKTWIyRmtPbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHRTlZaTVqYjIxcGJtY3NaRDFpTG1OMWNuSmxiblFzWlN4akxHb3NaeXhvTzJJdWFHbGtaVXh2WVdScGJtY29LVHRwWmloaEppWWhNU0U5UFdJdWFYTkJZM1JwZG1VcGFXWW9JVEU5UFQxaUxuUnlhV2RuWlhJb0ltRm1kR1Z5VEc5aFpDSXNZU3hrS1NsaExuZHlZWEF1YzNSdmNDZ2hNQ2t1ZEhKcFoyZGxjaWdpYjI1U1pYTmxkQ0lwTG5KbGJXOTJaU2dwTEdJdVkyOXRhVzVuUFc1MWJHdzdaV3h6Wlh0a0ppWW9ZaTUwY21sbloyVnlLQ0ppWldadmNtVkRhR0Z1WjJVaUxHUXBMR1F1ZDNKaGNDNXpkRzl3S0NFd0tTNXlaVzF2ZG1WRGJHRnpjeWdpWm1GdVkzbGliM2d0YjNCbGJtVmtJaWt1Wm1sdVpDZ2lMbVpoYm1ONVltOTRMV2wwWlcwc0lDNW1ZVzVqZVdKdmVDMXVZWFlpS1M1eVpXMXZkbVVvS1NrN1lpNTFibUpwYm1SRmRtVnVkSE1vS1RzS1pUMWhMbU52Ym5SbGJuUTdZejFoTG5SNWNHVTdhajFoTG5OamNtOXNiR2x1Wnp0bUxtVjRkR1Z1WkNoaUxIdDNjbUZ3T21FdWQzSmhjQ3h6YTJsdU9tRXVjMnRwYml4dmRYUmxjanBoTG05MWRHVnlMR2x1Ym1WeU9tRXVhVzV1WlhJc1kzVnljbVZ1ZERwaExIQnlaWFpwYjNWek9tUjlLVHRuUFdFdWFISmxaanR6ZDJsMFkyZ29ZeWw3WTJGelpTQWlhVzVzYVc1bElqcGpZWE5sSUNKaGFtRjRJanBqWVhObElDSm9kRzFzSWpwaExuTmxiR1ZqZEc5eVAyVTlaaWdpUEdScGRqNGlLUzVvZEcxc0tHVXBMbVpwYm1Rb1lTNXpaV3hsWTNSdmNpazZjeWhsS1NZbUtHVXVaR0YwWVNnaVptRnVZM2xpYjNndGNHeGhZMlZvYjJ4a1pYSWlLWHg4WlM1a1lYUmhLQ0ptWVc1amVXSnZlQzF3YkdGalpXaHZiR1JsY2lJc1ppZ25QR1JwZGlCamJHRnpjejBpWm1GdVkzbGliM2d0Y0d4aFkyVm9iMnhrWlhJaVBqd3ZaR2wyUGljcExtbHVjMlZ5ZEVGbWRHVnlLR1VwTG1ocFpHVW9LU2tzWlQxbExuTm9iM2NvS1M1a1pYUmhZMmdvS1N4aExuZHlZWEF1WW1sdVpDZ2liMjVTWlhObGRDSXNablZ1WTNScGIyNG9LWHRtS0hSb2FYTXBMbVpwYm1Rb1pTa3ViR1Z1WjNSb0ppWmxMbWhwWkdVb0tTNXlaWEJzWVdObFFXeHNLR1V1WkdGMFlTZ2labUZ1WTNsaWIzZ3RjR3hoWTJWb2IyeGtaWElpS1NrdVpHRjBZU2dpWm1GdVkzbGliM2d0Y0d4aFkyVm9iMnhrWlhJaUxBb2hNU2w5S1NrN1luSmxZV3M3WTJGelpTQWlhVzFoWjJVaU9tVTlZUzUwY0d3dWFXMWhaMlV1Y21Wd2JHRmpaU2dpZTJoeVpXWjlJaXhuS1R0aWNtVmhhenRqWVhObElDSnpkMllpT21VOUp6eHZZbXBsWTNRZ2FXUTlJbVpoYm1ONVltOTRMWE4zWmlJZ1kyeGhjM05wWkQwaVkyeHphV1E2UkRJM1EwUkNOa1V0UVVVMlJDMHhNV05tTFRrMlFqZ3RORFEwTlRVek5UUXdNREF3SWlCM2FXUjBhRDBpTVRBd0pTSWdhR1ZwWjJoMFBTSXhNREFsSWo0OGNHRnlZVzBnYm1GdFpUMGliVzkyYVdVaUlIWmhiSFZsUFNJbksyY3JKeUkrUEM5d1lYSmhiVDRuTEdnOUlpSXNaaTVsWVdOb0tHRXVjM2RtTEdaMWJtTjBhVzl1S0dFc1lpbDdaU3M5Snp4d1lYSmhiU0J1WVcxbFBTSW5LMkVySnlJZ2RtRnNkV1U5SWljcllpc25JajQ4TDNCaGNtRnRQaWM3YUNzOUlpQWlLMkVySnowaUp5dGlLeWNpSjMwcExHVXJQU2M4WlcxaVpXUWdjM0pqUFNJbksyY3JKeUlnZEhsd1pUMGlZWEJ3YkdsallYUnBiMjR2ZUMxemFHOWphM2RoZG1VdFpteGhjMmdpSUhkcFpIUm9QU0l4TURBbElpQm9aV2xuYUhROUlqRXdNQ1VpSnl0b0t5SStQQzlsYldKbFpENDhMMjlpYW1WamRENGlmU2doY3lobEtYeDhJV1V1Y0dGeVpXNTBLQ2t1YVhNb1lTNXBibTVsY2lrcEppWmhMbWx1Ym1WeUxtRndjR1Z1WkNobEtUdGlMblJ5YVdkblpYSW9JbUpsWm05eVpWTm9iM2NpS1RzS1lTNXBibTVsY2k1amMzTW9JbTkyWlhKbWJHOTNJaXdpZVdWeklqMDlQV28vSW5OamNtOXNiQ0k2SW01dklqMDlQV28vSW1ocFpHUmxiaUk2YWlrN1lpNWZjMlYwUkdsdFpXNXphVzl1S0NrN1lpNXlaWEJ2YzJsMGFXOXVLQ2s3WWk1cGMwOXdaVzQ5SVRFN1lpNWpiMjFwYm1jOWJuVnNiRHRpTG1KcGJtUkZkbVZ1ZEhNb0tUdHBaaWhpTG1selQzQmxibVZrS1h0cFppaGtMbkJ5WlhaTlpYUm9iMlFwWWk1MGNtRnVjMmwwYVc5dWMxdGtMbkJ5WlhaTlpYUm9iMlJkS0NsOVpXeHpaU0JtS0NJdVptRnVZM2xpYjNndGQzSmhjQ0lwTG01dmRDaGhMbmR5WVhBcExuTjBiM0FvSVRBcExuUnlhV2RuWlhJb0ltOXVVbVZ6WlhRaUtTNXlaVzF2ZG1Vb0tUdGlMblJ5WVc1emFYUnBiMjV6VzJJdWFYTlBjR1Z1WldRL1lTNXVaWGgwVFdWMGFHOWtPbUV1YjNCbGJrMWxkR2h2WkYwb0tUdGlMbDl3Y21Wc2IyRmtTVzFoWjJWektDbDlmU3hmYzJWMFJHbHRaVzV6YVc5dU9tWjFibU4wYVc5dUtDbDdkbUZ5SUdFOVlpNW5aWFJXYVdWM2NHOXlkQ2dwTEdROU1DeGxQU0V4TEdNOUlURXNaVDFpTG5keVlYQXNhajFpTG5OcmFXNHNaejFpTG1sdWJtVnlMR2c5WWk1amRYSnlaVzUwTEdNOWFDNTNhV1IwYUN4cFBXZ3VhR1ZwWjJoMExHdzlhQzV0YVc1WGFXUjBhQ3gwUFdndWJXbHVTR1ZwWjJoMExHMDlhQzV0WVhoWGFXUjBhQ3dLYmoxb0xtMWhlRWhsYVdkb2RDeHlQV2d1YzJOeWIyeHNhVzVuTEhBOWFDNXpZM0p2Ykd4UGRYUnphV1JsUDJndWMyTnliMnhzWW1GeVYybGtkR2c2TUN4M1BXZ3ViV0Z5WjJsdUxIazlheWgzV3pGZEszZGJNMTBwTEhFOWF5aDNXekJkSzNkYk1sMHBMSGdzZWl4ekxFTXNRU3hHTEVJc1JDeDFPMlV1WVdSa0tHb3BMbUZrWkNobktTNTNhV1IwYUNnaVlYVjBieUlwTG1obGFXZG9kQ2dpWVhWMGJ5SXBMbkpsYlc5MlpVTnNZWE56S0NKbVlXNWplV0p2ZUMxMGJYQWlLVHQzUFdzb2FpNXZkWFJsY2xkcFpIUm9LQ0V3S1MxcUxuZHBaSFJvS0NrcE8zZzlheWhxTG05MWRHVnlTR1ZwWjJoMEtDRXdLUzFxTG1obGFXZG9kQ2dwS1R0NlBYa3JkenR6UFhFcmVEdERQVVVvWXlrL0tHRXVkeTE2S1NwcktHTXBMekV3TURwak8wRTlSU2hwS1Q4b1lTNW9MWE1wS21zb2FTa3ZNVEF3T21rN2FXWW9JbWxtY21GdFpTSTlQVDFvTG5SNWNHVXBlMmxtS0hVOWFDNWpiMjUwWlc1MExHZ3VZWFYwYjBobGFXZG9kQ1ltTVQwOVBYVXVaR0YwWVNnaWNtVmhaSGtpS1NsMGNubDdkVnN3WFM1amIyNTBaVzUwVjJsdVpHOTNMbVJ2WTNWdFpXNTBMbXh2WTJGMGFXOXVKaVlvWnk1M2FXUjBhQ2hES1M1b1pXbG5hSFFvT1RrNU9Ta3NSajExTG1OdmJuUmxiblJ6S0NrdVptbHVaQ2dpWW05a2VTSXBMSEFtSmtZdVkzTnpLQ0p2ZG1WeVpteHZkeTE0SWl3S0ltaHBaR1JsYmlJcExFRTlSaTVvWldsbmFIUW9LU2w5WTJGMFkyZ29SeWw3ZlgxbGJITmxJR2xtS0dndVlYVjBiMWRwWkhSb2ZIeG9MbUYxZEc5SVpXbG5hSFFwWnk1aFpHUkRiR0Z6Y3lnaVptRnVZM2xpYjNndGRHMXdJaWtzYUM1aGRYUnZWMmxrZEdoOGZHY3VkMmxrZEdnb1F5a3NhQzVoZFhSdlNHVnBaMmgwZkh4bkxtaGxhV2RvZENoQktTeG9MbUYxZEc5WGFXUjBhQ1ltS0VNOVp5NTNhV1IwYUNncEtTeG9MbUYxZEc5SVpXbG5hSFFtSmloQlBXY3VhR1ZwWjJoMEtDa3BMR2N1Y21WdGIzWmxRMnhoYzNNb0ltWmhibU41WW05NExYUnRjQ0lwTzJNOWF5aERLVHRwUFdzb1FTazdSRDFETDBFN2JEMXJLRVVvYkNrL2F5aHNMQ0ozSWlrdGVqcHNLVHR0UFdzb1JTaHRLVDlyS0cwc0luY2lLUzE2T20wcE8zUTlheWhGS0hRcFAyc29kQ3dpYUNJcExYTTZkQ2s3YmoxcktFVW9iaWsvYXlodUxDSm9JaWt0Y3pwdUtUdEdQVzA3UWoxdU8yZ3VabWwwVkc5V2FXVjNKaVlvYlQxTllYUm9MbTFwYmloaExuY3RlaXh0S1N4dVBVMWhkR2d1YldsdUtHRXVhQzF6TEc0cEtUdDZQV0V1ZHkxNU8zRTlZUzVvTFhFN2FDNWhjM0JsWTNSU1lYUnBiejhvWXo1dEppWW9ZejF0TEdrOWF5aGpMMFFwS1N4cFBtNG1KaWhwUFc0c1l6MXJLR2txUkNrcExHTThiQ1ltS0dNOWJDeHBQV3NvWXk5RUtTa3NhVHgwSmlZS0tHazlkQ3hqUFdzb2FTcEVLU2twT2loalBVMWhkR2d1YldGNEtHd3NUV0YwYUM1dGFXNG9ZeXh0S1Nrc2FDNWhkWFJ2U0dWcFoyaDBKaVlpYVdaeVlXMWxJaUU5UFdndWRIbHdaU1ltS0djdWQybGtkR2dvWXlrc2FUMW5MbWhsYVdkb2RDZ3BLU3hwUFUxaGRHZ3ViV0Y0S0hRc1RXRjBhQzV0YVc0b2FTeHVLU2twTzJsbUtHZ3VabWwwVkc5V2FXVjNLV2xtS0djdWQybGtkR2dvWXlrdWFHVnBaMmgwS0drcExHVXVkMmxrZEdnb1l5dDNLU3hoUFdVdWQybGtkR2dvS1N4NVBXVXVhR1ZwWjJoMEtDa3NhQzVoYzNCbFkzUlNZWFJwYnlsbWIzSW9PeWhoUG5wOGZIaytjU2ttSmloalBtd21KbWsrZENrbUppRW9NVGs4WkNzcktUc3BhVDFOWVhSb0xtMWhlQ2gwTEUxaGRHZ3ViV2x1S0c0c2FTMHhNQ2twTEdNOWF5aHBLa1FwTEdNOGJDWW1LR005YkN4cFBXc29ZeTlFS1Nrc1l6NXRKaVlvWXoxdExHazlheWhqTDBRcEtTeG5MbmRwWkhSb0tHTXBMbWhsYVdkb2RDaHBLU3hsTG5kcFpIUm9LR01yZHlrc1lUMWxMbmRwWkhSb0tDa3NlVDFsTG1obGFXZG9kQ2dwTzJWc2MyVWdZejFOWVhSb0xtMWhlQ2hzTEUxaGRHZ3ViV2x1S0dNc1l5MG9ZUzE2S1NrcExHazlUV0YwYUM1dFlYZ29kQ3hOWVhSb0xtMXBiaWhwTEdrdEtIa3RjU2twS1R0d0ppWW9JbUYxZEc4aVBUMDljaVltYVR4QkppWmpLM2NyQ25BOGVpa21KaWhqS3oxd0tUdG5MbmRwWkhSb0tHTXBMbWhsYVdkb2RDaHBLVHRsTG5kcFpIUm9LR01yZHlrN1lUMWxMbmRwWkhSb0tDazdlVDFsTG1obGFXZG9kQ2dwTzJVOUtHRStlbng4ZVQ1eEtTWW1ZejVzSmlacFBuUTdZejFvTG1GemNHVmpkRkpoZEdsdlAyTThSaVltYVR4Q0ppWmpQRU1tSm1rOFFUb29ZenhHZkh4cFBFSXBKaVlvWXp4RGZIeHBQRUVwTzJZdVpYaDBaVzVrS0dnc2UyUnBiVHA3ZDJsa2RHZzZkaWhoS1N4b1pXbG5hSFE2ZGloNUtYMHNiM0pwWjFkcFpIUm9Pa01zYjNKcFowaGxhV2RvZERwQkxHTmhibE5vY21sdWF6cGxMR05oYmtWNGNHRnVaRHBqTEhkUVlXUmthVzVuT25jc2FGQmhaR1JwYm1jNmVDeDNjbUZ3VTNCaFkyVTZlUzFxTG05MWRHVnlTR1ZwWjJoMEtDRXdLU3h6YTJsdVUzQmhZMlU2YWk1b1pXbG5hSFFvS1MxcGZTazdJWFVtSmlob0xtRjFkRzlJWldsbmFIUW1KbWsrZENZbWFUeHVKaVloWXlrbUptY3VhR1ZwWjJoMEtDSmhkWFJ2SWlsOUxGOW5aWFJRYjNOcGRHbHZianBtZFc1amRHbHZiaWhoS1h0MllYSWdaRDFpTG1OMWNuSmxiblFzWlQxaUxtZGxkRlpwWlhkd2IzSjBLQ2tzWXoxa0xtMWhjbWRwYml4bVBXSXVkM0poY0M1M2FXUjBhQ2dwSzJOYk1WMHJZMXN6WFN4blBXSXVkM0poY0M1b1pXbG5hSFFvS1N0ald6QmRLMk5iTWwwc1l6MTdjRzl6YVhScGIyNDZJbUZpYzI5c2RYUmxJaXdLZEc5d09tTmJNRjBzYkdWbWREcGpXek5kZlR0a0xtRjFkRzlEWlc1MFpYSW1KbVF1Wm1sNFpXUW1KaUZoSmlablBEMWxMbWdtSm1ZOFBXVXVkejlqTG5CdmMybDBhVzl1UFNKbWFYaGxaQ0k2WkM1c2IyTnJaV1I4ZkNoakxuUnZjQ3M5WlM1NUxHTXViR1ZtZENzOVpTNTRLVHRqTG5SdmNEMTJLRTFoZEdndWJXRjRLR011ZEc5d0xHTXVkRzl3S3lobExtZ3RaeWtxWkM1MGIzQlNZWFJwYnlrcE8yTXViR1ZtZEQxMktFMWhkR2d1YldGNEtHTXViR1ZtZEN4akxteGxablFyS0dVdWR5MW1LU3BrTG14bFpuUlNZWFJwYnlrcE8zSmxkSFZ5YmlCamZTeGZZV1owWlhKYWIyOXRTVzQ2Wm5WdVkzUnBiMjRvS1h0MllYSWdZVDFpTG1OMWNuSmxiblE3WVNZbUtHSXVhWE5QY0dWdVBXSXVhWE5QY0dWdVpXUTlJVEFzWWk1M2NtRndMbU56Y3lnaWIzWmxjbVpzYjNjaUxDSjJhWE5wWW14bElpa3VZV1JrUTJ4aGMzTW9JbVpoYm1ONVltOTRMVzl3Wlc1bFpDSXBMR0l1ZFhCa1lYUmxLQ2tzS0dFdVkyeHZjMlZEYkdsamEzeDhZUzV1WlhoMFEyeHBZMnNtSmpFOFlpNW5jbTkxY0M1c1pXNW5kR2dwSmlaaUxtbHVibVZ5TG1OemN5Z2lZM1Z5YzI5eUlpd2ljRzlwYm5SbGNpSXBMbUpwYm1Rb0ltTnNhV05yTG1aaUlpeG1kVzVqZEdsdmJpaGtLWHNoWmloa0xuUmhjbWRsZENrdWFYTW9JbUVpS1NZbUlXWW9aQzUwWVhKblpYUXBMbkJoY21WdWRDZ3BMbWx6S0NKaElpa21KZ29vWkM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTEdKYllTNWpiRzl6WlVOc2FXTnJQeUpqYkc5elpTSTZJbTVsZUhRaVhTZ3BLWDBwTEdFdVkyeHZjMlZDZEc0bUptWW9ZUzUwY0d3dVkyeHZjMlZDZEc0cExtRndjR1Z1WkZSdktHSXVjMnRwYmlrdVltbHVaQ2h1UHlKMGIzVmphSE4wWVhKMExtWmlJam9pWTJ4cFkyc3VabUlpTEdaMWJtTjBhVzl1S0dFcGUyRXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdGlMbU5zYjNObEtDbDlLU3hoTG1GeWNtOTNjeVltTVR4aUxtZHliM1Z3TG14bGJtZDBhQ1ltS0NoaExteHZiM0I4ZkRBOFlTNXBibVJsZUNrbUptWW9ZUzUwY0d3dWNISmxkaWt1WVhCd1pXNWtWRzhvWWk1dmRYUmxjaWt1WW1sdVpDZ2lZMnhwWTJzdVptSWlMR0l1Y0hKbGRpa3NLR0V1Ykc5dmNIeDhZUzVwYm1SbGVEeGlMbWR5YjNWd0xteGxibWQwYUMweEtTWW1aaWhoTG5Sd2JDNXVaWGgwS1M1aGNIQmxibVJVYnloaUxtOTFkR1Z5S1M1aWFXNWtLQ0pqYkdsamF5NW1ZaUlzWWk1dVpYaDBLU2tzWWk1MGNtbG5aMlZ5S0NKaFpuUmxjbE5vYjNjaUtTd2hZUzVzYjI5d0ppWmhMbWx1WkdWNFBUMDlZUzVuY205MWNDNXNaVzVuZEdndE1UOWlMbkJzWVhrb0lURXBPbUl1YjNCMGN5NWhkWFJ2VUd4aGVTWW1JV0l1Y0d4aGVXVnlMbWx6UVdOMGFYWmxKaVlvWWk1dmNIUnpMbUYxZEc5UWJHRjVQUW9oTVN4aUxuQnNZWGtvS1NrcGZTeGZZV1owWlhKYWIyOXRUM1YwT21aMWJtTjBhVzl1S0dFcGUyRTlZWHg4WWk1amRYSnlaVzUwTzJZb0lpNW1ZVzVqZVdKdmVDMTNjbUZ3SWlrdWRISnBaMmRsY2lnaWIyNVNaWE5sZENJcExuSmxiVzkyWlNncE8yWXVaWGgwWlc1a0tHSXNlMmR5YjNWd09udDlMRzl3ZEhNNmUzMHNjbTkxZEdWeU9pRXhMR04xY25KbGJuUTZiblZzYkN4cGMwRmpkR2wyWlRvaE1TeHBjMDl3Wlc1bFpEb2hNU3hwYzA5d1pXNDZJVEVzYVhORGJHOXphVzVuT2lFeExIZHlZWEE2Ym5Wc2JDeHphMmx1T201MWJHd3NiM1YwWlhJNmJuVnNiQ3hwYm01bGNqcHVkV3hzZlNrN1lpNTBjbWxuWjJWeUtDSmhablJsY2tOc2IzTmxJaXhoS1gxOUtUdGlMblJ5WVc1emFYUnBiMjV6UFh0blpYUlBjbWxuVUc5emFYUnBiMjQ2Wm5WdVkzUnBiMjRvS1h0MllYSWdZVDFpTG1OMWNuSmxiblFzWkQxaExtVnNaVzFsYm5Rc1pUMWhMbTl5YVdjc1l6MTdmU3htUFRVd0xHYzlOVEFzYUQxaExtaFFZV1JrYVc1bkxHazlZUzUzVUdGa1pHbHVaeXhzUFdJdVoyVjBWbWxsZDNCdmNuUW9LVHNoWlNZbUtHRXVhWE5FYjIwbUptUXVhWE1vSWpwMmFYTnBZbXhsSWlrcEppWW9aVDFrTG1acGJtUW9JbWx0WnpwbWFYSnpkQ0lwTEdVdWJHVnVaM1JvZkh3b1pUMWtLU2s3Y3lobEtUOG9ZejFsTG05bVpuTmxkQ2dwTEFwbExtbHpLQ0pwYldjaUtTWW1LR1k5WlM1dmRYUmxjbGRwWkhSb0tDa3NaejFsTG05MWRHVnlTR1ZwWjJoMEtDa3BLVG9vWXk1MGIzQTliQzU1S3loc0xtZ3RaeWtxWVM1MGIzQlNZWFJwYnl4akxteGxablE5YkM1NEt5aHNMbmN0WmlrcVlTNXNaV1owVW1GMGFXOHBPMmxtS0NKbWFYaGxaQ0k5UFQxaUxuZHlZWEF1WTNOektDSndiM05wZEdsdmJpSXBmSHhoTG14dlkydGxaQ2xqTG5SdmNDMDliQzU1TEdNdWJHVm1kQzA5YkM1NE8zSmxkSFZ5YmlCalBYdDBiM0E2ZGloakxuUnZjQzFvS21FdWRHOXdVbUYwYVc4cExHeGxablE2ZGloakxteGxablF0YVNwaExteGxablJTWVhScGJ5a3NkMmxrZEdnNmRpaG1LMmtwTEdobGFXZG9kRHAyS0djcmFDbDlmU3h6ZEdWd09tWjFibU4wYVc5dUtHRXNaQ2w3ZG1GeUlHVXNZeXhtUFdRdWNISnZjRHRqUFdJdVkzVnljbVZ1ZER0MllYSWdaejFqTG5keVlYQlRjR0ZqWlN4b1BXTXVjMnRwYmxOd1lXTmxPMmxtS0NKM2FXUjBhQ0k5UFQxbWZId2lhR1ZwWjJoMElqMDlQV1lwWlQxa0xtVnVaRDA5UFdRdWMzUmhjblEvTVRvb1lTMWtMbk4wWVhKMEtTOG9aQzVsYm1RdFpDNXpkR0Z5ZENrc1lpNXBjME5zYjNOcGJtY21KaWhsUFRFdFpTa3NZejBpZDJsa2RHZ2lQVDA5Wmo5akxuZFFZV1JrYVc1bk9tTXVhRkJoWkdScGJtY3NZejFoTFdNc1lpNXphMmx1VzJaZEtHc29JbmRwWkhSb0lqMDlQUXBtUDJNNll5MW5LbVVwS1N4aUxtbHVibVZ5VzJaZEtHc29JbmRwWkhSb0lqMDlQV1kvWXpwakxXY3FaUzFvS21VcEtYMHNlbTl2YlVsdU9tWjFibU4wYVc5dUtDbDdkbUZ5SUdFOVlpNWpkWEp5Wlc1MExHUTlZUzV3YjNNc1pUMWhMbTl3Wlc1RlptWmxZM1FzWXowaVpXeGhjM1JwWXlJOVBUMWxMR285Wmk1bGVIUmxibVFvZTI5d1lXTnBkSGs2TVgwc1pDazdaR1ZzWlhSbElHb3VjRzl6YVhScGIyNDdZejhvWkQxMGFHbHpMbWRsZEU5eWFXZFFiM05wZEdsdmJpZ3BMR0V1YjNCbGJrOXdZV05wZEhrbUppaGtMbTl3WVdOcGRIazlNQzR4S1NrNkltWmhaR1VpUFQwOVpTWW1LR1F1YjNCaFkybDBlVDB3TGpFcE8ySXVkM0poY0M1amMzTW9aQ2t1WVc1cGJXRjBaU2hxTEh0a2RYSmhkR2x2YmpvaWJtOXVaU0k5UFQxbFB6QTZZUzV2Y0dWdVUzQmxaV1FzWldGemFXNW5PbUV1YjNCbGJrVmhjMmx1Wnl4emRHVndPbU0vZEdocGN5NXpkR1Z3T201MWJHd3NZMjl0Y0d4bGRHVTZZaTVmWVdaMFpYSmFiMjl0U1c1OUtYMHNlbTl2YlU5MWREcG1kVzVqZEdsdmJpZ3BlM1poY2lCaFBXSXVZM1Z5Y21WdWRDeGtQV0V1WTJ4dmMyVkZabVpsWTNRc1pUMGlaV3hoYzNScFl5STlQVDFrTEdNOWUyOXdZV05wZEhrNk1DNHhmVHRsSmlZb1l6MTBhR2x6TG1kbGRFOXlhV2RRYjNOcGRHbHZiaWdwTEdFdVkyeHZjMlZQY0dGamFYUjVKaVlLS0dNdWIzQmhZMmwwZVQwd0xqRXBLVHRpTG5keVlYQXVZVzVwYldGMFpTaGpMSHRrZFhKaGRHbHZiam9pYm05dVpTSTlQVDFrUHpBNllTNWpiRzl6WlZOd1pXVmtMR1ZoYzJsdVp6cGhMbU5zYjNObFJXRnphVzVuTEhOMFpYQTZaVDkwYUdsekxuTjBaWEE2Ym5Wc2JDeGpiMjF3YkdWMFpUcGlMbDloWm5SbGNscHZiMjFQZFhSOUtYMHNZMmhoYm1kbFNXNDZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU4xY25KbGJuUXNaRDFoTG01bGVIUkZabVpsWTNRc1pUMWhMbkJ2Y3l4alBYdHZjR0ZqYVhSNU9qRjlMR1k5WWk1a2FYSmxZM1JwYjI0c1p6dGxMbTl3WVdOcGRIazlNQzR4T3lKbGJHRnpkR2xqSWowOVBXUW1KaWhuUFNKa2IzZHVJajA5UFdaOGZDSjFjQ0k5UFQxbVB5SjBiM0FpT2lKc1pXWjBJaXdpWkc5M2JpSTlQVDFtZkh3aWNtbG5hSFFpUFQwOVpqOG9aVnRuWFQxMktHc29aVnRuWFNrdE1qQXdLU3hqVzJkZFBTSXJQVEl3TUhCNElpazZLR1ZiWjEwOWRpaHJLR1ZiWjEwcEt6SXdNQ2tzWTF0blhUMGlMVDB5TURCd2VDSXBLVHNpYm05dVpTSTlQVDFrUDJJdVgyRm1kR1Z5V205dmJVbHVLQ2s2WWk1M2NtRndMbU56Y3lobEtTNWhibWx0WVhSbEtHTXNlMlIxY21GMGFXOXVPbUV1Ym1WNGRGTndaV1ZrTEdWaGMybHVaenBoTG01bGVIUkZZWE5wYm1jc1kyOXRjR3hsZEdVNlpuVnVZM1JwYjI0b0tYdHpaWFJVYVcxbGIzVjBLR0l1WDJGbWRHVnlXbTl2YlVsdUxBb3lNQ2w5ZlNsOUxHTm9ZVzVuWlU5MWREcG1kVzVqZEdsdmJpZ3BlM1poY2lCaFBXSXVjSEpsZG1sdmRYTXNaRDFoTG5CeVpYWkZabVpsWTNRc1pUMTdiM0JoWTJsMGVUb3dMakY5TEdNOVlpNWthWEpsWTNScGIyNDdJbVZzWVhOMGFXTWlQVDA5WkNZbUtHVmJJbVJ2ZDI0aVBUMDlZM3g4SW5Wd0lqMDlQV00vSW5SdmNDSTZJbXhsWm5RaVhUMG9JblZ3SWowOVBXTjhmQ0pzWldaMElqMDlQV00vSWkwaU9pSXJJaWtySWoweU1EQndlQ0lwTzJFdWQzSmhjQzVoYm1sdFlYUmxLR1VzZTJSMWNtRjBhVzl1T2lKdWIyNWxJajA5UFdRL01EcGhMbkJ5WlhaVGNHVmxaQ3hsWVhOcGJtYzZZUzV3Y21WMlJXRnphVzVuTEdOdmJYQnNaWFJsT21aMWJtTjBhVzl1S0NsN1ppaDBhR2x6S1M1MGNtbG5aMlZ5S0NKdmJsSmxjMlYwSWlrdWNtVnRiM1psS0NsOWZTbDlmVHRpTG1obGJIQmxjbk11YjNabGNteGhlVDE3WkdWbVlYVnNkSE02ZTJOc2IzTmxRMnhwWTJzNklUQXNjM0JsWldSUGRYUTZNakF3TEhOb2IzZEZZWEpzZVRvaE1DeGpjM002ZTMwc2JHOWphMlZrT2lGdUxHWnBlR1ZrT2lFd2ZTeHZkbVZ5YkdGNU9tNTFiR3dzWm1sNFpXUTZJVEVzWTNKbFlYUmxPbVoxYm1OMGFXOXVLR0VwZTJFOVppNWxlSFJsYm1Rb2UzMHNkR2hwY3k1a1pXWmhkV3gwY3l4aEtUdDBhR2x6TG05MlpYSnNZWGttSm5Sb2FYTXVZMnh2YzJVb0tUc0tkR2hwY3k1dmRtVnliR0Y1UFdZb0p6eGthWFlnWTJ4aGMzTTlJbVpoYm1ONVltOTRMVzkyWlhKc1lYa2lQand2WkdsMlBpY3BMbUZ3Y0dWdVpGUnZLQ0ppYjJSNUlpazdkR2hwY3k1bWFYaGxaRDBoTVR0aExtWnBlR1ZrSmlaaUxtUmxabUYxYkhSekxtWnBlR1ZrSmlZb2RHaHBjeTV2ZG1WeWJHRjVMbUZrWkVOc1lYTnpLQ0ptWVc1amVXSnZlQzF2ZG1WeWJHRjVMV1pwZUdWa0lpa3NkR2hwY3k1bWFYaGxaRDBoTUNsOUxHOXdaVzQ2Wm5WdVkzUnBiMjRvWVNsN2RtRnlJR1E5ZEdocGN5eGhQV1l1WlhoMFpXNWtLSHQ5TEhSb2FYTXVaR1ZtWVhWc2RITXNZU2s3ZEdocGN5NXZkbVZ5YkdGNVAzUm9hWE11YjNabGNteGhlUzUxYm1KcGJtUW9JaTV2ZG1WeWJHRjVJaWt1ZDJsa2RHZ29JbUYxZEc4aUtTNW9aV2xuYUhRb0ltRjFkRzhpS1RwMGFHbHpMbU55WldGMFpTaGhLVHQwYUdsekxtWnBlR1ZrZkh3b2NpNWlhVzVrS0NKeVpYTnBlbVV1YjNabGNteGhlU0lzWmk1d2NtOTRlU2gwYUdsekxuVndaR0YwWlN4MGFHbHpLU2tzZEdocGN5NTFjR1JoZEdVb0tTazdZUzVqYkc5elpVTnNhV05ySmlaMGFHbHpMbTkyWlhKc1lYa3VZbWx1WkNnaVkyeHBZMnN1YjNabGNteGhlU0lzWm5WdVkzUnBiMjRvWVNsN1ppaGhMblJoY21kbGRDa3VhR0Z6UTJ4aGMzTW9JbVpoYm1ONVltOTRMVzkyWlhKc1lYa2lLU1ltQ2loaUxtbHpRV04wYVhabFAySXVZMnh2YzJVb0tUcGtMbU5zYjNObEtDa3BmU2s3ZEdocGN5NXZkbVZ5YkdGNUxtTnpjeWhoTG1OemN5a3VjMmh2ZHlncGZTeGpiRzl6WlRwbWRXNWpkR2x2YmlncGUyWW9JaTVtWVc1amVXSnZlQzF2ZG1WeWJHRjVJaWt1Y21WdGIzWmxLQ2s3Y2k1MWJtSnBibVFvSW5KbGMybDZaUzV2ZG1WeWJHRjVJaWs3ZEdocGN5NXZkbVZ5YkdGNVBXNTFiR3c3SVRFaFBUMTBhR2x6TG0xaGNtZHBiaVltS0dZb0ltSnZaSGtpS1M1amMzTW9JbTFoY21kcGJpMXlhV2RvZENJc2RHaHBjeTV0WVhKbmFXNHBMSFJvYVhNdWJXRnlaMmx1UFNFeEtUdDBhR2x6TG1Wc0ppWjBhR2x6TG1Wc0xuSmxiVzkyWlVOc1lYTnpLQ0ptWVc1amVXSnZlQzFzYjJOcklpbDlMSFZ3WkdGMFpUcG1kVzVqZEdsdmJpZ3BlM1poY2lCaFBTSXhNREFsSWl4aU8zUm9hWE11YjNabGNteGhlUzUzYVdSMGFDaGhLUzVvWldsbmFIUW9JakV3TUNVaUtUdG1MbUp5YjNkelpYSXViWE5wWlQ4b1lqMU5ZWFJvTG0xaGVDaDRMbVJ2WTNWdFpXNTBSV3hsYldWdWRDNXZabVp6WlhSWGFXUjBhQ3g0TG1KdlpIa3ViMlptYzJWMFYybGtkR2dwTEcwdWQybGtkR2dvS1Q1aUppWW9ZVDF0TG5kcFpIUm9LQ2twS1RwdExuZHBaSFJvS0NrK2NpNTNhV1IwYUNncEppWW9ZVDF0TG5kcFpIUm9LQ2twTzNSb2FYTXViM1psY214aGVTNTNhV1IwYUNoaEtTNW9aV2xuYUhRb2JTNW9aV2xuYUhRb0tTbDlMQXB2YmxKbFlXUjVPbVoxYm1OMGFXOXVLR0VzWWlsN1ppZ2lMbVpoYm1ONVltOTRMVzkyWlhKc1lYa2lLUzV6ZEc5d0tDRXdMQ0V3S1R0MGFHbHpMbTkyWlhKc1lYbDhmQ2gwYUdsekxtMWhjbWRwYmoxdExtaGxhV2RvZENncFBuSXVhR1ZwWjJoMEtDbDhmQ0p6WTNKdmJHd2lQVDA5WmlnaVltOWtlU0lwTG1OemN5Z2liM1psY21ac2IzY3RlU0lwUDJZb0ltSnZaSGtpS1M1amMzTW9JbTFoY21kcGJpMXlhV2RvZENJcE9pRXhMSFJvYVhNdVpXdzllQzVoYkd3bUppRjRMbkYxWlhKNVUyVnNaV04wYjNJL1ppZ2lhSFJ0YkNJcE9tWW9JbUp2WkhraUtTeDBhR2x6TG1OeVpXRjBaU2hoS1NrN1lTNXNiMk5yWldRbUpuUm9hWE11Wm1sNFpXUW1KaWhpTG14dlkydGxaRDEwYUdsekxtOTJaWEpzWVhrdVlYQndaVzVrS0dJdWQzSmhjQ2tzWWk1bWFYaGxaRDBoTVNrN0lUQTlQVDFoTG5Ob2IzZEZZWEpzZVNZbWRHaHBjeTVpWldadmNtVlRhRzkzTG1Gd2NHeDVLSFJvYVhNc1lYSm5kVzFsYm5SektYMHNZbVZtYjNKbFUyaHZkenBtZFc1amRHbHZiaWhoTEdJcGUySXViRzlqYTJWa0ppWW9kR2hwY3k1bGJDNWhaR1JEYkdGemN5Z2labUZ1WTNsaWIzZ3RiRzlqYXlJcExDRXhJVDA5ZEdocGN5NXRZWEpuYVc0bUptWW9JbUp2WkhraUtTNWpjM01vSW0xaGNtZHBiaTF5YVdkb2RDSXNheWgwYUdsekxtMWhjbWRwYmlrckNtSXVjMk55YjJ4c1ltRnlWMmxrZEdncEtUdDBhR2x6TG05d1pXNG9ZU2w5TEc5dVZYQmtZWFJsT21aMWJtTjBhVzl1S0NsN2RHaHBjeTVtYVhobFpIeDhkR2hwY3k1MWNHUmhkR1VvS1gwc1lXWjBaWEpEYkc5elpUcG1kVzVqZEdsdmJpaGhLWHQwYUdsekxtOTJaWEpzWVhrbUppRmlMbWx6UVdOMGFYWmxKaVowYUdsekxtOTJaWEpzWVhrdVptRmtaVTkxZENoaExuTndaV1ZrVDNWMExHWXVjSEp2ZUhrb2RHaHBjeTVqYkc5elpTeDBhR2x6S1NsOWZUdGlMbWhsYkhCbGNuTXVkR2wwYkdVOWUyUmxabUYxYkhSek9udDBlWEJsT2lKbWJHOWhkQ0lzY0c5emFYUnBiMjQ2SW1KdmRIUnZiU0o5TEdKbFptOXlaVk5vYjNjNlpuVnVZM1JwYjI0b1lTbDdkbUZ5SUdROVlpNWpkWEp5Wlc1MExHVTlaQzUwYVhSc1pTeGpQV0V1ZEhsd1pUdG1MbWx6Um5WdVkzUnBiMjRvWlNrbUppaGxQV1V1WTJGc2JDaGtMbVZzWlcxbGJuUXNaQ2twTzJsbUtIQW9aU2ttSmlJaUlUMDlaaTUwY21sdEtHVXBLWHRrUFdZb0p6eGthWFlnWTJ4aGMzTTlJbVpoYm1ONVltOTRMWFJwZEd4bElHWmhibU41WW05NExYUnBkR3hsTFNjcll5c25MWGR5WVhBaVBpY3JaU3NpUEM5a2FYWStJaWs3YzNkcGRHTm9LR01wZTJOaGMyVWdJbWx1YzJsa1pTSTZZejFpTG5OcmFXNDdZbkpsWVdzN1kyRnpaU0FpYjNWMGMybGtaU0k2WXowS1lpNTNjbUZ3TzJKeVpXRnJPMk5oYzJVZ0ltOTJaWElpT21NOVlpNXBibTVsY2p0aWNtVmhhenRrWldaaGRXeDBPbU05WWk1emEybHVMR1F1WVhCd1pXNWtWRzhvSW1KdlpIa2lLU3htTG1KeWIzZHpaWEl1YlhOcFpTWW1aQzUzYVdSMGFDaGtMbmRwWkhSb0tDa3BMR1F1ZDNKaGNFbHVibVZ5S0NjOGMzQmhiaUJqYkdGemN6MGlZMmhwYkdRaVBqd3ZjM0JoYmo0bktTeGlMbU4xY25KbGJuUXViV0Z5WjJsdVd6SmRLejFOWVhSb0xtRmljeWhyS0dRdVkzTnpLQ0p0WVhKbmFXNHRZbTkwZEc5dElpa3BLWDFrV3lKMGIzQWlQVDA5WVM1d2IzTnBkR2x2Ymo4aWNISmxjR1Z1WkZSdklqb2lZWEJ3Wlc1a1ZHOGlYU2hqS1gxOWZUdG1MbVp1TG1aaGJtTjVZbTk0UFdaMWJtTjBhVzl1S0dFcGUzWmhjaUJrTEdVOVppaDBhR2x6S1N4alBYUm9hWE11YzJWc1pXTjBiM0o4ZkNJaUxHbzlablZ1WTNScGIyNG9aeWw3ZG1GeUlHZzlaaWgwYUdsektTNWliSFZ5S0Nrc2FUMWtMR29zYXpzaFp5NWpkSEpzUzJWNUppWW9JV2N1WVd4MFMyVjVKaVloWnk1emFHbG1kRXRsZVNZbUlXY3ViV1YwWVV0bGVTa21KaUZvTG1sektDSXVabUZ1WTNsaWIzZ3RkM0poY0NJcEppWW9hajFoTG1keWIzVndRWFIwY254OEltUmhkR0V0Wm1GdVkzbGliM2d0WjNKdmRYQWlMR3M5YUM1aGRIUnlLR29wTEd0OGZDaHFQU0p5Wld3aUxBcHJQV2d1WjJWMEtEQXBXMnBkS1N4ckppWW9JaUloUFQxckppWWlibTltYjJ4c2IzY2lJVDA5YXlrbUppaG9QV011YkdWdVozUm9QMllvWXlrNlpTeG9QV2d1Wm1sc2RHVnlLQ0piSWl0cUt5YzlJaWNyYXlzbklsMG5LU3hwUFdndWFXNWtaWGdvZEdocGN5a3BMR0V1YVc1a1pYZzlhU3doTVNFOVBXSXViM0JsYmlob0xHRXBKaVpuTG5CeVpYWmxiblJFWldaaGRXeDBLQ2twZlN4aFBXRjhmSHQ5TzJROVlTNXBibVJsZUh4OE1Ec2hZM3g4SVRFOVBUMWhMbXhwZG1VL1pTNTFibUpwYm1Rb0ltTnNhV05yTG1aaUxYTjBZWEowSWlrdVltbHVaQ2dpWTJ4cFkyc3VabUl0YzNSaGNuUWlMR29wT20wdWRXNWtaV3hsWjJGMFpTaGpMQ0pqYkdsamF5NW1ZaTF6ZEdGeWRDSXBMbVJsYkdWbllYUmxLR01ySWpwdWIzUW9KeTVtWVc1amVXSnZlQzFwZEdWdExDQXVabUZ1WTNsaWIzZ3RibUYySnlraUxDSmpiR2xqYXk1bVlpMXpkR0Z5ZENJc2FpazdkR2hwY3k1bWFXeDBaWElvSWx0a1lYUmhMV1poYm1ONVltOTRMWE4wWVhKMFBURmRJaWt1ZEhKcFoyZGxjaWdpWTJ4cFkyc2lLVHR5WlhSMWNtNGdkR2hwYzMwN2JTNXlaV0ZrZVNobWRXNWpkR2x2YmlncGUyWXVjMk55YjJ4c1ltRnlWMmxrZEdnOVBUMXhKaVlvWmk1elkzSnZiR3hpWVhKWGFXUjBhRDFtZFc1amRHbHZiaWdwZTNaaGNpQmhQV1lvSnp4a2FYWWdjM1I1YkdVOUluZHBaSFJvT2pVd2NIZzdhR1ZwWjJoME9qVXdjSGc3YjNabGNtWnNiM2M2WVhWMGJ5SStQR1JwZGk4K1BDOWthWFkrSnlrdVlYQndaVzVrVkc4b0ltSnZaSGtpS1N3S1lqMWhMbU5vYVd4a2NtVnVLQ2tzWWoxaUxtbHVibVZ5VjJsa2RHZ29LUzFpTG1obGFXZG9kQ2c1T1NrdWFXNXVaWEpYYVdSMGFDZ3BPMkV1Y21WdGIzWmxLQ2s3Y21WMGRYSnVJR0o5S1R0cFppaG1Mbk4xY0hCdmNuUXVabWw0WldSUWIzTnBkR2x2YmowOVBYRXBlM1poY2lCaFBXWXVjM1Z3Y0c5eWRDeGtQV1lvSnp4a2FYWWdjM1I1YkdVOUluQnZjMmwwYVc5dU9tWnBlR1ZrTzNSdmNEb3lNSEI0T3lJK1BDOWthWFkrSnlrdVlYQndaVzVrVkc4b0ltSnZaSGtpS1N4bFBUSXdQVDA5WkZzd1hTNXZabVp6WlhSVWIzQjhmREUxUFQwOVpGc3dYUzV2Wm1aelpYUlViM0E3WkM1eVpXMXZkbVVvS1R0aExtWnBlR1ZrVUc5emFYUnBiMjQ5WlgxbUxtVjRkR1Z1WkNoaUxtUmxabUYxYkhSekxIdHpZM0p2Ykd4aVlYSlhhV1IwYURwbUxuTmpjbTlzYkdKaGNsZHBaSFJvS0Nrc1ptbDRaV1E2Wmk1emRYQndiM0owTG1acGVHVmtVRzl6YVhScGIyNHNjR0Z5Wlc1ME9tWW9JbUp2WkhraUtYMHBmU2w5S1NoM2FXNWtiM2NzWkc5amRXMWxiblFzYWxGMVpYSjVLVHM9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vanF1ZXJ5Lm1vdXNld2hlZWwtMy4wLjYucGFjay5qczwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbTHlvaElFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE1TQkNjbUZ1Wkc5dUlFRmhjbTl1SUNob2RIUndPaTh2WW5KaGJtUnZibUZoY205dUxtNWxkQ2tLSUNvZ1RHbGpaVzV6WldRZ2RXNWtaWElnZEdobElFMUpWQ0JNYVdObGJuTmxJQ2hNU1VORlRsTkZMblI0ZENrdUNpQXFDaUFxSUZSb1lXNXJjeUIwYnpvZ2FIUjBjRG92TDJGa2IyMWhjeTV2Y21jdmFtRjJZWE5qY21sd2RDMXRiM1Z6WlMxM2FHVmxiQzhnWm05eUlITnZiV1VnY0c5cGJuUmxjbk11Q2lBcUlGUm9ZVzVyY3lCMGJ6b2dUV0YwYUdsaGN5QkNZVzVyS0doMGRIQTZMeTkzZDNjdWJXRjBhR2xoY3kxaVlXNXJMbVJsS1NCbWIzSWdZU0J6WTI5d1pTQmlkV2NnWm1sNExnb2dLaUJVYUdGdWEzTWdkRzg2SUZObFlXMTFjeUJNWldGb2VTQm1iM0lnWVdSa2FXNW5JR1JsYkhSaFdDQmhibVFnWkdWc2RHRlpDaUFxQ2lBcUlGWmxjbk5wYjI0NklETXVNQzQyQ2lBcUlBb2dLaUJTWlhGMWFYSmxjem9nTVM0eUxqSXJDaUFxTHdvb1puVnVZM1JwYjI0b1pDbDdablZ1WTNScGIyNGdaU2hoS1h0MllYSWdZajFoZkh4M2FXNWtiM2N1WlhabGJuUXNZejFiWFM1emJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5d3hLU3htUFRBc1pUMHdMR2M5TUN4aFBXUXVaWFpsYm5RdVptbDRLR0lwTzJFdWRIbHdaVDBpYlc5MWMyVjNhR1ZsYkNJN1lpNTNhR1ZsYkVSbGJIUmhKaVlvWmoxaUxuZG9aV1ZzUkdWc2RHRXZNVEl3S1R0aUxtUmxkR0ZwYkNZbUtHWTlMV0l1WkdWMFlXbHNMek1wTzJjOVpqdGlMbUY0YVhNaFBUMTJiMmxrSURBbUptSXVZWGhwY3owOVBXSXVTRTlTU1ZwUFRsUkJURjlCV0VsVEppWW9aejB3TEdVOUxURXFaaWs3WWk1M2FHVmxiRVJsYkhSaFdTRTlQWFp2YVdRZ01DWW1LR2M5WWk1M2FHVmxiRVJsYkhSaFdTOHhNakFwTzJJdWQyaGxaV3hFWld4MFlWZ2hQVDEyYjJsa0lEQW1KaWhsUFMweEttSXVkMmhsWld4RVpXeDBZVmd2TVRJd0tUdGpMblZ1YzJocFpuUW9ZU3htTEdVc1p5azdjbVYwZFhKdUtHUXVaWFpsYm5RdVpHbHpjR0YwWTJoOGZHUXVaWFpsYm5RdWFHRnVaR3hsS1M1aGNIQnNlU2gwYUdsekxHTXBmWFpoY2lCalBWc2lSRTlOVFc5MWMyVlRZM0p2Ykd3aUxDSnRiM1Z6Wlhkb1pXVnNJbDA3YVdZb1pDNWxkbVZ1ZEM1bWFYaEliMjlyY3lsbWIzSW9kbUZ5SUdnOVl5NXNaVzVuZEdnN2FEc3BaQzVsZG1WdWRDNW1hWGhJYjI5cmMxdGpXeTB0YUYxZFBRcGtMbVYyWlc1MExtMXZkWE5sU0c5dmEzTTdaQzVsZG1WdWRDNXpjR1ZqYVdGc0xtMXZkWE5sZDJobFpXdzllM05sZEhWd09tWjFibU4wYVc5dUtDbDdhV1lvZEdocGN5NWhaR1JGZG1WdWRFeHBjM1JsYm1WeUtXWnZjaWgyWVhJZ1lUMWpMbXhsYm1kMGFEdGhPeWwwYUdsekxtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb1kxc3RMV0ZkTEdVc1ptRnNjMlVwTzJWc2MyVWdkR2hwY3k1dmJtMXZkWE5sZDJobFpXdzlaWDBzZEdWaGNtUnZkMjQ2Wm5WdVkzUnBiMjRvS1h0cFppaDBhR2x6TG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJcFptOXlLSFpoY2lCaFBXTXViR1Z1WjNSb08yRTdLWFJvYVhNdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpaGpXeTB0WVYwc1pTeG1ZV3h6WlNrN1pXeHpaU0IwYUdsekxtOXViVzkxYzJWM2FHVmxiRDF1ZFd4c2ZYMDdaQzVtYmk1bGVIUmxibVFvZTIxdmRYTmxkMmhsWld3NlpuVnVZM1JwYjI0b1lTbDdjbVYwZFhKdUlHRS9kR2hwY3k1aWFXNWtLQ0p0YjNWelpYZG9aV1ZzSWl4aEtUcDBhR2x6TG5SeWFXZG5aWElvSW0xdmRYTmxkMmhsWld3aUtYMHNkVzV0YjNWelpYZG9aV1ZzT21aMWJtTjBhVzl1S0dFcGUzSmxkSFZ5YmlCMGFHbHpMblZ1WW1sdVpDZ2liVzkxYzJWM2FHVmxiQ0lzWVNsOWZTbDlLU2hxVVhWbGNua3BPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vanF1ZXJ5LnRvdWNoU3dpcGUubWluLmpzPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtLR1oxYm1OMGFXOXVLR1FwZTNaaGNpQnNQU0pzWldaMElpeHJQU0p5YVdkb2RDSXNZejBpZFhBaUxISTlJbVJ2ZDI0aUxHSTlJbWx1SWl4elBTSnZkWFFpTEdrOUltNXZibVVpTEc4OUltRjFkRzhpTEhVOUltaHZjbWw2YjI1MFlXd2lMSEE5SW5abGNuUnBZMkZzSWl4bVBTSmhiR3dpTEdVOUluTjBZWEowSWl4b1BTSnRiM1psSWl4blBTSmxibVFpTEcwOUltTmhibU5sYkNJc1lUMGliMjUwYjNWamFITjBZWEowSWlCcGJpQjNhVzVrYjNjc2REMGlWRzkxWTJoVGQybHdaU0k3ZG1GeUlHbzllMlpwYm1kbGNuTTZNU3gwYUhKbGMyaHZiR1E2TnpVc2JXRjRWR2x0WlZSb2NtVnphRzlzWkRwdWRXeHNMSE4zYVhCbE9tNTFiR3dzYzNkcGNHVk1aV1owT201MWJHd3NjM2RwY0dWU2FXZG9kRHB1ZFd4c0xITjNhWEJsVlhBNmJuVnNiQ3h6ZDJsd1pVUnZkMjQ2Ym5Wc2JDeHpkMmx3WlZOMFlYUjFjenB1ZFd4c0xIQnBibU5vU1c0NmJuVnNiQ3h3YVc1amFFOTFkRHB1ZFd4c0xIQnBibU5vVTNSaGRIVnpPbTUxYkd3c1kyeHBZMnM2Ym5Wc2JDeDBjbWxuWjJWeVQyNVViM1ZqYUVWdVpEcDBjblZsTEdGc2JHOTNVR0ZuWlZOamNtOXNiRG9pWVhWMGJ5SXNabUZzYkdKaFkydFViMDF2ZFhObFJYWmxiblJ6T25SeWRXVXNaWGhqYkhWa1pXUkZiR1Z0Wlc1MGN6b2lZblYwZEc5dUxDQnBibkIxZEN3Z2MyVnNaV04wTENCMFpYaDBZWEpsWVN3Z1lTd2dMbTV2VTNkcGNHVWlmVHRrTG1adUxuTjNhWEJsUFdaMWJtTjBhVzl1S0hncGUzWmhjaUIzUFdRb2RHaHBjeWtzZGoxM0xtUmhkR0VvZENrN2FXWW9kaVltZEhsd1pXOW1JSGc5UFQwaWMzUnlhVzVuSWlsN2FXWW9kbHQ0WFNsN2NtVjBkWEp1SUhaYmVGMHVZWEJ3Ykhrb2RHaHBjeXhCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1zTVNrcGZXVnNjMlY3WkM1bGNuSnZjaWdpVFdWMGFHOWtJQ0lyZUNzaUlHUnZaWE1nYm05MElHVjRhWE4wSUc5dUlHcFJkV1Z5ZVM1emQybHdaU0lwZlgxbGJITmxlMmxtS0NGMkppWW9kSGx3Wlc5bUlIZzlQVDBpYjJKcVpXTjBJbng4SVhncEtYdHlaWFIxY200Z2NTNWhjSEJzZVNoMGFHbHpMR0Z5WjNWdFpXNTBjeWw5ZlhKbGRIVnliaUIzZlR0a0xtWnVMbk4zYVhCbExtUmxabUYxYkhSelBXbzdaQzVtYmk1emQybHdaUzV3YUdGelpYTTllMUJJUVZORlgxTlVRVkpVT21Vc1VFaEJVMFZmVFU5V1JUcG9MRkJJUVZORlgwVk9SRHBuTEZCSVFWTkZYME5CVGtORlREcHRmVHRrTG1adUxuTjNhWEJsTG1ScGNtVmpkR2x2Ym5NOWUweEZSbFE2YkN4U1NVZElWRHByTEZWUU9tTXNSRTlYVGpweUxFbE9PbUlzVDFWVU9uTjlPMlF1Wm00dWMzZHBjR1V1Y0dGblpWTmpjbTlzYkQxN1RrOU9SVHBwTEVoUFVrbGFUMDVVUVV3NmRTeFdSVkpVU1VOQlREcHdMRUZWVkU4NmIzMDdaQzVtYmk1emQybHdaUzVtYVc1blpYSnpQWHRQVGtVNk1TeFVWMDg2TWl4VVNGSkZSVG96TEVGTVREcG1mVHRtZFc1amRHbHZiaUJ4S0hZcGUybG1LSFltSmloMkxtRnNiRzkzVUdGblpWTmpjbTlzYkQwOVBYVnVaR1ZtYVc1bFpDWW1LSFl1YzNkcGNHVWhQVDExYm1SbFptbHVaV1I4ZkhZdWMzZHBjR1ZUZEdGMGRYTWhQVDExYm1SbFptbHVaV1FwS1NsN2RpNWhiR3h2ZDFCaFoyVlRZM0p2Ykd3OWFYMXBaaWdoZGlsN2RqMTdmWDEyUFdRdVpYaDBaVzVrS0h0OUxHUXVabTR1YzNkcGNHVXVaR1ZtWVhWc2RITXNkaWs3Y21WMGRYSnVJSFJvYVhNdVpXRmphQ2htZFc1amRHbHZiaWdwZTNaaGNpQjRQV1FvZEdocGN5azdkbUZ5SUhjOWVDNWtZWFJoS0hRcE8ybG1LQ0YzS1h0M1BXNWxkeUJ1S0hSb2FYTXNkaWs3ZUM1a1lYUmhLSFFzZHlsOWZTbDlablZ1WTNScGIyNGdiaWhLTEZJcGUzWmhjaUJoYWowb1lYeDhJVkl1Wm1Gc2JHSmhZMnRVYjAxdmRYTmxSWFpsYm5SektTeGhaVDFoYWo4aWRHOTFZMmh6ZEdGeWRDSTZJbTF2ZFhObFpHOTNiaUlzU3oxaGFqOGlkRzkxWTJodGIzWmxJam9pYlc5MWMyVnRiM1psSWl4aFl6MWhhajhpZEc5MVkyaGxibVFpT2lKdGIzVnpaWFZ3SWl4SlBTSjBiM1ZqYUdOaGJtTmxiQ0k3ZG1GeUlGQTlNRHQyWVhJZ1JUMXVkV3hzTzNaaGNpQlRQVEE3ZG1GeUlHRm1QVEE3ZG1GeUlIYzlNRHQyWVhJZ1ZUMHhPM1poY2lCaGF6MHdPM1poY2lCQlBXUW9TaWs3ZG1GeUlFWTlJbk4wWVhKMElqdDJZWElnWVdrOU1EdDJZWElnVkQxdWRXeHNPM1poY2lCQ1BUQTdkbUZ5SUUwOU1EdDBjbmw3UVM1aWFXNWtLR0ZsTEdGaEtUdEJMbUpwYm1Rb1NTeEVLWDFqWVhSamFDaGhaeWw3WkM1bGNuSnZjaWdpWlhabGJuUnpJRzV2ZENCemRYQndiM0owWldRZ0lpdGhaU3NpTENJclNTc2lJRzl1SUdwUmRXVnllUzV6ZDJsd1pTSXBmWFJvYVhNdVpXNWhZbXhsUFdaMWJtTjBhVzl1S0NsN1FTNWlhVzVrS0dGbExHRmhLVHRCTG1KcGJtUW9TU3hFS1R0eVpYUjFjbTRnUVgwN2RHaHBjeTVrYVhOaFlteGxQV1oxYm1OMGFXOXVLQ2w3U0NncE8zSmxkSFZ5YmlCQmZUdDBhR2x6TG1SbGMzUnliM2s5Wm5WdVkzUnBiMjRvS1h0SUtDazdRUzVrWVhSaEtIUXNiblZzYkNrN2NtVjBkWEp1SUVGOU8yWjFibU4wYVc5dUlHRmhLR0Z2S1h0cFppaE1LQ2twZTNKbGRIVnlibjFwWmloa0tHRnZMblJoY21kbGRDa3VZMnh2YzJWemRDaFNMbVY0WTJ4MVpHVmtSV3hsYldWdWRITXNRU2t1YkdWdVozUm9QakFwZTNKbGRIVnlibjFoYnoxaGJ5NXZjbWxuYVc1aGJFVjJaVzUwTzNaaGNpQmhiaXhoYlQxaFAyRnZMblJ2ZFdOb1pYTmJNRjA2WVc4N1JqMWxPMmxtS0dFcGUyRnBQV0Z2TG5SdmRXTm9aWE11YkdWdVozUm9mV1ZzYzJWN1lXOHVjSEpsZG1WdWRFUmxabUYxYkhRb0tYMVFQVEE3UlQxdWRXeHNPMkZyUFc1MWJHdzdVejB3TzJGbVBUQTdkejB3TzFVOU1UdFVQV0ZzS0NrN2FXWW9JV0Y4ZkNoaGFUMDlQVkl1Wm1sdVoyVnljM3g4VWk1bWFXNW5aWEp6UFQwOVppbDhmRmNvS1NsN1ZGc3dYUzV6ZEdGeWRDNTRQVlJiTUYwdVpXNWtMbmc5WVcwdWNHRm5aVmc3VkZzd1hTNXpkR0Z5ZEM1NVBWUmJNRjB1Wlc1a0xuazlZVzB1Y0dGblpWazdRajE0S0NrN2FXWW9ZV2s5UFRJcGUxUmJNVjB1YzNSaGNuUXVlRDFVV3pGZExtVnVaQzU0UFdGdkxuUnZkV05vWlhOYk1WMHVjR0ZuWlZnN1ZGc3hYUzV6ZEdGeWRDNTVQVlJiTVYwdVpXNWtMbms5WVc4dWRHOTFZMmhsYzFzeFhTNXdZV2RsV1R0aFpqMTNQVTRvVkZzd1hTNXpkR0Z5ZEN4VVd6RmRMbk4wWVhKMEtYMXBaaWhTTG5OM2FYQmxVM1JoZEhWemZIeFNMbkJwYm1Ob1UzUmhkSFZ6S1h0aGJqMWhhQ2hoYnl4R0tYMTlaV3h6Wlh0RUtHRnZLVHRoYmoxbVlXeHpaWDFwWmloaGJqMDlQV1poYkhObEtYdEdQVzA3WVdnb1lXOHNSaWs3Y21WMGRYSnVJR0Z1ZldWc2MyVjdWaWgwY25WbEtUdEJMbUpwYm1Rb1N5eEhLVHRCTG1KcGJtUW9ZV01zVHlsOWZXWjFibU4wYVc5dUlFY29ZWEFwZTJGd1BXRndMbTl5YVdkcGJtRnNSWFpsYm5RN2FXWW9SajA5UFdkOGZFWTlQVDF0S1h0eVpYUjFjbTU5ZG1GeUlHRnVMR0Z0UFdFL1lYQXVkRzkxWTJobGMxc3dYVHBoY0R0VVd6QmRMbVZ1WkM1NFBXRS9ZWEF1ZEc5MVkyaGxjMXN3WFM1d1lXZGxXRHBoYlM1d1lXZGxXRHRVV3pCZExtVnVaQzU1UFdFL1lYQXVkRzkxWTJobGMxc3dYUzV3WVdkbFdUcGhiUzV3WVdkbFdUdE5QWGdvS1R0RlBWb29WRnN3WFM1emRHRnlkQ3hVV3pCZExtVnVaQ2s3YVdZb1lTbDdZV2s5WVhBdWRHOTFZMmhsY3k1c1pXNW5kR2g5Umoxb08ybG1LR0ZwUFQweUtYdHBaaWhoWmowOU1DbDdWRnN4WFM1emRHRnlkQzU0UFdGd0xuUnZkV05vWlhOYk1WMHVjR0ZuWlZnN1ZGc3hYUzV6ZEdGeWRDNTVQV0Z3TG5SdmRXTm9aWE5iTVYwdWNHRm5aVms3WVdZOWR6MU9LRlJiTUYwdWMzUmhjblFzVkZzeFhTNXpkR0Z5ZENsOVpXeHpaWHRVV3pGZExtVnVaQzU0UFdGd0xuUnZkV05vWlhOYk1WMHVjR0ZuWlZnN1ZGc3hYUzVsYm1RdWVUMWhjQzUwYjNWamFHVnpXekZkTG5CaFoyVlpPM2M5VGloVVd6QmRMbVZ1WkN4VVd6RmRMbVZ1WkNrN1lXczlXQ2hVV3pCZExtVnVaQ3hVV3pGZExtVnVaQ2w5VlQxMktHRm1MSGNwZldsbUtDaGhhVDA5UFZJdVptbHVaMlZ5YzN4OFVpNW1hVzVuWlhKelBUMDlaaWw4ZkNGaEtYdDVLR0Z3TEVVcE8xQTllaWhVV3pCZExuTjBZWEowTEZSYk1GMHVaVzVrS1R0VFBVTW9WRnN3WFM1emRHRnlkQ3hVV3pCZExtVnVaQ2s3YVdZb1VpNXpkMmx3WlZOMFlYUjFjM3g4VWk1d2FXNWphRk4wWVhSMWN5bDdZVzQ5WVdnb1lYQXNSaWw5YVdZb0lWSXVkSEpwWjJkbGNrOXVWRzkxWTJoRmJtUXBlM1poY2lCaGJ6MGhXU2dwTzJsbUtGRW9LVDA5UFhSeWRXVXBlMFk5Wnp0aGJqMWhhQ2hoY0N4R0tYMWxiSE5sZTJsbUtHRnZLWHRHUFcwN1lXZ29ZWEFzUmlsOWZYMTlaV3h6Wlh0R1BXMDdZV2dvWVhBc1JpbDlhV1lvWVc0OVBUMW1ZV3h6WlNsN1JqMXRPMkZvS0dGd0xFWXBmWDFtZFc1amRHbHZiaUJQS0dGMEtYdGhkRDFoZEM1dmNtbG5hVzVoYkVWMlpXNTBPMmxtS0dGMExuUnZkV05vWlhNbUptRjBMblJ2ZFdOb1pYTXViR1Z1WjNSb1BqQXBlM0psZEhWeWJpQjBjblZsZldGMExuQnlaWFpsYm5SRVpXWmhkV3gwS0NrN1RUMTRLQ2s3YVdZb1lXWWhQVEFwZTNjOVRpaFVXekJkTG1WdVpDeFVXekZkTG1WdVpDazdWVDEyS0dGbUxIY3BPMkZyUFZnb1ZGc3dYUzVsYm1Rc1ZGc3hYUzVsYm1RcGZWQTllaWhVV3pCZExuTjBZWEowTEZSYk1GMHVaVzVrS1R0RlBWb29WRnN3WFM1emRHRnlkQ3hVV3pCZExtVnVaQ2s3VXoxREtDazdhV1lvVWk1MGNtbG5aMlZ5VDI1VWIzVmphRVZ1Wkh4OEtGSXVkSEpwWjJkbGNrOXVWRzkxWTJoRmJtUTlQVDFtWVd4elpTWW1SajA5UFdncEtYdEdQV2M3ZG1GeUlHRndQV0ZrS0NsOGZDRlhLQ2s3ZG1GeUlHRnVQU2dvWVdrOVBUMVNMbVpwYm1kbGNuTjhmRkl1Wm1sdVoyVnljejA5UFdZcGZId2hZU2s3ZG1GeUlHRnRQVlJiTUYwdVpXNWtMbmdoUFQwd08zWmhjaUJoYnowb1lXNG1KbUZ0SmlaaGNDazdhV1lvWVc4cGUzWmhjaUJoY1QxWktDazdkbUZ5SUdGeVBWRW9LVHRwWmlnb1lYSTlQVDEwY25WbGZIeGhjajA5UFc1MWJHd3BKaVpoY1NsN1lXZ29ZWFFzUmlsOVpXeHpaWHRwWmlnaFlYRjhmR0Z5UFQwOVptRnNjMlVwZTBZOWJUdGhhQ2hoZEN4R0tYMTlmV1ZzYzJWN1JqMXRPMkZvS0dGMExFWXBmWDFsYkhObGUybG1LRVk5UFQxb0tYdEdQVzA3WVdnb1lYUXNSaWw5ZlVFdWRXNWlhVzVrS0Vzc1J5eG1ZV3h6WlNrN1FTNTFibUpwYm1Rb1lXTXNUeXhtWVd4elpTazdWaWhtWVd4elpTbDlablZ1WTNScGIyNGdSQ2dwZTJGcFBUQTdUVDB3TzBJOU1EdGhaajB3TzNjOU1EdFZQVEU3VmlobVlXeHpaU2w5Wm5WdVkzUnBiMjRnWVdnb1lXOHNZVzBwZTNaaGNpQmhiajExYm1SbFptbHVaV1E3YVdZb1VpNXpkMmx3WlZOMFlYUjFjeWw3WVc0OVVpNXpkMmx3WlZOMFlYUjFjeTVqWVd4c0tFRXNZVzhzWVcwc1JYeDhiblZzYkN4UWZId3dMRk44ZkRBc1lXa3BmV2xtS0ZJdWNHbHVZMmhUZEdGMGRYTW1KbUZrS0NrcGUyRnVQVkl1Y0dsdVkyaFRkR0YwZFhNdVkyRnNiQ2hCTEdGdkxHRnRMR0ZyZkh4dWRXeHNMSGQ4ZkRBc1UzeDhNQ3hoYVN4VktYMXBaaWhoYlQwOVBXMHBlMmxtS0ZJdVkyeHBZMnNtSmloaGFUMDlQVEY4ZkNGaEtTWW1LR2x6VG1GT0tGQXBmSHhRUFQwOU1Da3BlMkZ1UFZJdVkyeHBZMnN1WTJGc2JDaEJMR0Z2TEdGdkxuUmhjbWRsZENsOWZXbG1LR0Z0UFQxbktYdHBaaWhTTG5OM2FYQmxLWHRoYmoxU0xuTjNhWEJsTG1OaGJHd29RU3hoYnl4RkxGQXNVeXhoYVNsOWMzZHBkR05vS0VVcGUyTmhjMlVnYkRwcFppaFNMbk4zYVhCbFRHVm1kQ2w3WVc0OVVpNXpkMmx3WlV4bFpuUXVZMkZzYkNoQkxHRnZMRVVzVUN4VExHRnBLWDFpY21WaGF6dGpZWE5sSUdzNmFXWW9VaTV6ZDJsd1pWSnBaMmgwS1h0aGJqMVNMbk4zYVhCbFVtbG5hSFF1WTJGc2JDaEJMR0Z2TEVVc1VDeFRMR0ZwS1gxaWNtVmhhenRqWVhObElHTTZhV1lvVWk1emQybHdaVlZ3S1h0aGJqMVNMbk4zYVhCbFZYQXVZMkZzYkNoQkxHRnZMRVVzVUN4VExHRnBLWDFpY21WaGF6dGpZWE5sSUhJNmFXWW9VaTV6ZDJsd1pVUnZkMjRwZTJGdVBWSXVjM2RwY0dWRWIzZHVMbU5oYkd3b1FTeGhieXhGTEZBc1V5eGhhU2w5WW5KbFlXdDljM2RwZEdOb0tHRnJLWHRqWVhObElHSTZhV1lvVWk1d2FXNWphRWx1S1h0aGJqMVNMbkJwYm1Ob1NXNHVZMkZzYkNoQkxHRnZMR0ZyZkh4dWRXeHNMSGQ4ZkRBc1UzeDhNQ3hoYVN4VktYMWljbVZoYXp0allYTmxJSE02YVdZb1VpNXdhVzVqYUU5MWRDbDdZVzQ5VWk1d2FXNWphRTkxZEM1allXeHNLRUVzWVc4c1lXdDhmRzUxYkd3c2QzeDhNQ3hUZkh3d0xHRnBMRlVwZldKeVpXRnJmWDFwWmloaGJUMDlQVzE4ZkdGdFBUMDlaeWw3UkNoaGJ5bDljbVYwZFhKdUlHRnVmV1oxYm1OMGFXOXVJRkVvS1h0cFppaFNMblJvY21WemFHOXNaQ0U5UFc1MWJHd3BlM0psZEhWeWJpQlFQajFTTG5Sb2NtVnphRzlzWkgxeVpYUjFjbTRnYm5Wc2JIMW1kVzVqZEdsdmJpQlpLQ2w3ZG1GeUlHRnRPMmxtS0ZJdWJXRjRWR2x0WlZSb2NtVnphRzlzWkNsN2FXWW9VejQ5VWk1dFlYaFVhVzFsVkdoeVpYTm9iMnhrS1h0aGJUMW1ZV3h6WlgxbGJITmxlMkZ0UFhSeWRXVjlmV1ZzYzJWN1lXMDlkSEoxWlgxeVpYUjFjbTRnWVcxOVpuVnVZM1JwYjI0Z2VTaGhiU3hoYmlsN2FXWW9VaTVoYkd4dmQxQmhaMlZUWTNKdmJHdzlQVDFwZkh4WEtDa3BlMkZ0TG5CeVpYWmxiblJFWldaaGRXeDBLQ2w5Wld4elpYdDJZWElnWVc4OVVpNWhiR3h2ZDFCaFoyVlRZM0p2Ykd3OVBUMXZPM04zYVhSamFDaGhiaWw3WTJGelpTQnNPbWxtS0NoU0xuTjNhWEJsVEdWbWRDWW1ZVzhwZkh3b0lXRnZKaVpTTG1Gc2JHOTNVR0ZuWlZOamNtOXNiQ0U5ZFNrcGUyRnRMbkJ5WlhabGJuUkVaV1poZFd4MEtDbDlZbkpsWVdzN1kyRnpaU0JyT21sbUtDaFNMbk4zYVhCbFVtbG5hSFFtSm1GdktYeDhLQ0ZoYnlZbVVpNWhiR3h2ZDFCaFoyVlRZM0p2Ykd3aFBYVXBLWHRoYlM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwZldKeVpXRnJPMk5oYzJVZ1l6cHBaaWdvVWk1emQybHdaVlZ3SmlaaGJ5bDhmQ2doWVc4bUpsSXVZV3hzYjNkUVlXZGxVMk55YjJ4c0lUMXdLU2w3WVcwdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1gxaWNtVmhhenRqWVhObElISTZhV1lvS0ZJdWMzZHBjR1ZFYjNkdUppWmhieWw4ZkNnaFlXOG1KbEl1WVd4c2IzZFFZV2RsVTJOeWIyeHNJVDF3S1NsN1lXMHVjSEpsZG1WdWRFUmxabUYxYkhRb0tYMWljbVZoYTMxOWZXWjFibU4wYVc5dUlFTW9LWHR5WlhSMWNtNGdUUzFDZldaMWJtTjBhVzl1SUU0b1lYQXNZVzhwZTNaaGNpQmhiajFOWVhSb0xtRmljeWhoY0M1NExXRnZMbmdwTzNaaGNpQmhiVDFOWVhSb0xtRmljeWhoY0M1NUxXRnZMbmtwTzNKbGRIVnliaUJOWVhSb0xuSnZkVzVrS0UxaGRHZ3VjM0Z5ZENoaGJpcGhiaXRoYlNwaGJTa3BmV1oxYm1OMGFXOXVJSFlvWVcwc1lXNHBlM1poY2lCaGJ6MG9ZVzR2WVcwcEtqRTdjbVYwZFhKdUlHRnZMblJ2Um1sNFpXUW9NaWw5Wm5WdVkzUnBiMjRnV0NncGUybG1LRlU4TVNsN2NtVjBkWEp1SUhOOVpXeHpaWHR5WlhSMWNtNGdZbjE5Wm5WdVkzUnBiMjRnZWloaGJpeGhiU2w3Y21WMGRYSnVJRTFoZEdndWNtOTFibVFvVFdGMGFDNXpjWEowS0UxaGRHZ3VjRzkzS0dGdExuZ3RZVzR1ZUN3eUtTdE5ZWFJvTG5CdmR5aGhiUzU1TFdGdUxua3NNaWtwS1gxbWRXNWpkR2x2YmlCaFlpaGhjQ3hoYmlsN2RtRnlJR0Z0UFdGd0xuZ3RZVzR1ZUR0MllYSWdZWEk5WVc0dWVTMWhjQzU1TzNaaGNpQmhiejFOWVhSb0xtRjBZVzR5S0dGeUxHRnRLVHQyWVhJZ1lYRTlUV0YwYUM1eWIzVnVaQ2hoYnlveE9EQXZUV0YwYUM1UVNTazdhV1lvWVhFOE1DbDdZWEU5TXpZd0xVMWhkR2d1WVdKektHRnhLWDF5WlhSMWNtNGdZWEY5Wm5WdVkzUnBiMjRnV2loaGJpeGhiU2w3ZG1GeUlHRnZQV0ZpS0dGdUxHRnRLVHRwWmlnb1lXODhQVFExS1NZbUtHRnZQajB3S1NsN2NtVjBkWEp1SUd4OVpXeHpaWHRwWmlnb1lXODhQVE0yTUNrbUppaGhiejQ5TXpFMUtTbDdjbVYwZFhKdUlHeDlaV3h6Wlh0cFppZ29ZVzgrUFRFek5Ta21KaWhoYnp3OU1qSTFLU2w3Y21WMGRYSnVJR3Q5Wld4elpYdHBaaWdvWVc4K05EVXBKaVlvWVc4OE1UTTFLU2w3Y21WMGRYSnVJSEo5Wld4elpYdHlaWFIxY200Z1kzMTlmWDE5Wm5WdVkzUnBiMjRnZUNncGUzWmhjaUJoYlQxdVpYY2dSR0YwWlNncE8zSmxkSFZ5YmlCaGJTNW5aWFJVYVcxbEtDbDlablZ1WTNScGIyNGdTQ2dwZTBFdWRXNWlhVzVrS0dGbExHRmhLVHRCTG5WdVltbHVaQ2hKTEVRcE8wRXVkVzVpYVc1a0tFc3NSeWs3UVM1MWJtSnBibVFvWVdNc1R5azdWaWhtWVd4elpTbDlablZ1WTNScGIyNGdWeWdwZTNKbGRIVnliaUJTTG5CcGJtTm9VM1JoZEhWemZIeFNMbkJwYm1Ob1NXNThmRkl1Y0dsdVkyaFBkWFI5Wm5WdVkzUnBiMjRnWVdRb0tYdHlaWFIxY200Z1lXc21KbGNvS1gxbWRXNWpkR2x2YmlCTUtDbDdjbVYwZFhKdUlFRXVaR0YwWVNoMEt5SmZhVzUwYjNWamFDSXBQVDA5ZEhKMVpUOTBjblZsT21aaGJITmxmV1oxYm1OMGFXOXVJRllvWVcwcGUyRnRQV0Z0UFQwOWRISjFaVDkwY25WbE9tWmhiSE5sTzBFdVpHRjBZU2gwS3lKZmFXNTBiM1ZqYUNJc1lXMHBmV1oxYm1OMGFXOXVJR0ZzS0NsN2RtRnlJR0Z0UFZ0ZE8yWnZjaWgyWVhJZ1lXNDlNRHRoYmp3OU5UdGhiaXNyS1h0aGJTNXdkWE5vS0h0emRHRnlkRHA3ZURvd0xIazZNSDBzWlc1a09udDRPakFzZVRvd2ZTeGtaV3gwWVRwN2VEb3dMSGs2TUgxOUtYMXlaWFIxY200Z1lXMTlmWDBwS0dwUmRXVnllU2s3XV0+PC9kYXRhPgoJPC9maWxlPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-foobox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfZm9vYm94PC9uYW1lPgoJPHZlcnNpb24+MS4zLjE8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjA8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PlBIQStSbTl2UW05NElFSjFjMmx1WlhOeklGUmxiWEJzWVhSbFBDOXdQZzBLUEhBK3dxQThMM0ErPC9hYm91dD4KCTxzZWN0aW9uPmF1dG9saWdodGJveDwvc2VjdGlvbj4KCTx0cGxzZWN0aW9uPjwvdHBsc2VjdGlvbj4KCTxqcXVlcnk+MTwvanF1ZXJ5PgoJPGpxdWVyeV9vd24+PC9qcXVlcnlfb3duPgoJPG9wdGlvbnM+WVRvd09udDk8L29wdGlvbnM+Cgk8dHBsY29kZT48L3RwbGNvZGU+Cgk8dHBsY3NzPkxtWnZiMkp2ZUMxdGIyUmhiQ0I3RFFvZ0lDQWdlaTFwYm1SbGVEb2dNVEF3TURBd093MEtmUTBLTG1admIySnZlQzFwYldjdGJtVjRkQ0I3RFFvZ0lDQWdlaTFwYm1SbGVEb2dNVEF3TURBeE93MEtmUTBLTG1admIySnZlQzFwYldjdFkzVnljbVZ1ZENCN0RRb2dJQ0FnZWkxcGJtUmxlRG9nTVRBd01EQXlPdzBLSUNBZ0lDMTNaV0pyYVhRdGRYTmxjaTFrY21Gbk9pQnViMjVsT3cwS2ZRMEtMbVp2YjJKdmVDMWpZWEIwYVc5dUxDQXVabTl2WW05NExXTnZkVzUwSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01ETTdEUXA5RFFvdVptOXZZbTk0TFhCeVpYWXNJQzVtYjI5aWIzZ3RibVY0ZEN3Z0xtWnZiMkp2ZUMxamJHOXpaU3dnTG1admIySnZlQzFqY21Wa2FYUXNJQzVtYjI5aWIzZ3RiRzloWkdWeUxDQXVabTl2WW05NExYUnBkR3hsSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01EUTdEUXA5RFFvdVptOXZZbTk0TFcxdlpHRnNJSHNOQ2lBZ0lDQjNhV1IwYURvZ01UQXdKVHNOQ2lBZ0lDQm9aV2xuYUhRNklERXdNQ1U3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR1pwZUdWa093MEtJQ0FnSUhSdmNEb2dNRHNOQ2lBZ0lDQnNaV1owT2lBd093MEtJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdEUXA5RFFvdVptOXZZbTk0TFcxdlpHRnNMbVp2YjJKdmVDMXphRzkzSUhzTkNpQWdJQ0JrYVhOd2JHRjVPaUJpYkc5amF6c05DbjBOQ2k1bWIyOWliM2d0YVc1dVpYSXRjM0JoWTJWeUlIc05DaUFnSUNCa2FYTndiR0Y1T2lCdWIyNWxPdzBLSUNBZ0lIQmhaR1JwYm1jNklEUXdjSGc3RFFwOURRb3VabTl2WW05NExXbHVibVZ5SUhzTkNpQWdJQ0J0YVc0dGQybGtkR2c2SURFd01IQjRPdzBLSUNBZ0lHMXBiaTFvWldsbmFIUTZJREV3TUhCNE93MEtJQ0FnSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdJQ0IwYjNBNklEVXdKVHNOQ2lBZ0lDQnNaV1owT2lBMU1DVTdEUW9nSUNBZ2JXRnlaMmx1TFhSdmNEb2dMVFV3Y0hnN0RRb2dJQ0FnYldGeVoybHVMV3hsWm5RNklDMDFNSEI0T3cwS0lDQWdJRzkyWlhKbWJHOTNPaUIyYVhOcFlteGxJV2x0Y0c5eWRHRnVkRHNOQ24wTkNpNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeUxDQXVabTl2WW05NExXbHVibVZ5UGlvZ2V3MEtJQ0FnSUMxM1pXSnJhWFF0WW05NExYTnBlbWx1WnpvZ1kyOXVkR1Z1ZEMxaWIzZ2hhVzF3YjNKMFlXNTBPdzBLSUNBZ0lDMXRiM290WW05NExYTnBlbWx1WnpvZ1kyOXVkR1Z1ZEMxaWIzZ2hhVzF3YjNKMFlXNTBPdzBLSUNBZ0lHSnZlQzF6YVhwcGJtYzZJR052Ym5SbGJuUXRZbTk0SVdsdGNHOXlkR0Z1ZERzTkNuME5DaTVtYjI5aWIzZ3RhVzV1WlhJdVptOXZZbTk0TFdsdFp5MWxjbkp2Y2lBdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS2ZRMEtMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ3dnTG1admIySnZlQzFwYldjdGJtVjRkQ0I3RFFvZ0lDQWdkMmxrZEdnNklERXdNQ1U3RFFvZ0lDQWdhR1ZwWjJoME9pQXhNREFsT3cwS0lDQWdJSEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2lBZ0lDQjBiM0E2SURBN0RRb2dJQ0FnYkdWbWREb2dNRHNOQ2lBZ0lDQndZV1JrYVc1bk9pQXdPdzBLSUNBZ0lHMWhjbWRwYmpvZ01Ec05DaUFnSUNCaWIzSmtaWEk2SUc1dmJtVTdEUW9nSUNBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUhzTkNpQWdJQ0J3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvZ0lDQWdZbTkwZEc5dE9pQXRNalZ3ZURzTkNuME5DaTVtYjI5aWIzZ3RZM0psWkdsMElHVnRJSHNOQ2lBZ0lDQm1iMjUwTFhOMGVXeGxPaUJ1YjNKdFlXdzdEUXA5RFFvdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQndiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9nSUNBZ1ltOTBkRzl0T2lBdE1qVndlRHNOQ2lBZ0lDQjNhV1IwYURvZ01UQXdKVHNOQ2lBZ0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUXA5RFFvdVptOXZZbTk0TFdOaGNIUnBiMjRnZXcwS0lDQWdJSGRwWkhSb09pQXhNREFsT3cwS0lDQWdJSEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2lBZ0lDQjBiM0E2SUdGMWRHODdEUW9nSUNBZ2NtbG5hSFE2SUdGMWRHODdEUW9nSUNBZ1ltOTBkRzl0T2lBd093MEtJQ0FnSUd4bFpuUTZJREE3RFFvZ0lDQWdZbTk0TFhOcGVtbHVaem9nWW05eVpHVnlMV0p2ZURzTkNpQWdJQ0F0YlhNdFltOTRMWE5wZW1sdVp6b2dZbTl5WkdWeUxXSnZlRHNOQ2lBZ0lDQXRiVzk2TFdKdmVDMXphWHBwYm1jNklHSnZjbVJsY2kxaWIzZzdEUW9nSUNBZ0xYZGxZbXRwZEMxaWIzZ3RjMmw2YVc1bk9pQmliM0prWlhJdFltOTRPdzBLSUNBZ0lHOTJaWEptYkc5M09pQm9hV1JrWlc0N0RRcDlEUW91Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvZ0lDQWdkMmxrZEdnNklEUXdjSGc3RFFvZ0lDQWdhR1ZwWjJoME9pQXhNREJ3ZURzTkNpQWdJQ0J0WVhKbmFXNHRkRzl3T2lBdE5UQndlRHNOQ2lBZ0lDQndiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9nSUNBZ2RHOXdPaUExTUNVN0RRb2dJQ0FnZEdWNGRDMWtaV052Y21GMGFXOXVPaUJ1YjI1bE93MEtJQ0FnSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLSUNBZ0lHOTFkR3hwYm1VNklHNXZibVU3RFFvZ0lDQWdZM1Z5YzI5eU9pQndiMmx1ZEdWeU93MEtmUTBLTG1admIySnZlQzF0YjJSaGJENHVabTl2WW05NExYQnlaWFlnZXcwS0lDQWdJR3hsWm5RNklEQTdEUW9nSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHNOQ24wTkNpNW1iMjlpYjNndGJXOWtZV3crTG1admIySnZlQzF1WlhoMElIc05DaUFnSUNCeWFXZG9kRG9nTURzTkNpQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE93MEtmUTBLTG1admIySnZlQzFwYm01bGNqNHVabTl2WW05NExYQnlaWFlnZXcwS0lDQWdJR3hsWm5RNklDMDBPSEI0T3cwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTFRGd2VDQXdJREp3ZUNCeVoySmhLREFzSURBc0lEQXNJQzQ0S1RzTkNpQWdJQ0F0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJQzB4Y0hnZ01DQXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdZbTk0TFhOb1lXUnZkem9nTFRGd2VDQXdJREo0SUhKblltRW9NQ3dnTUN3Z01Dd2dMamdwT3cwS2ZRMEtMbVp2YjJKdmVDMXBibTVsY2o0dVptOXZZbTk0TFc1bGVIUWdldzBLSUNBZ0lISnBaMmgwT2lBdE5EaHdlRHNOQ2lBZ0lDQXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREZ3ZUNBd0lESndlQ0J5WjJKaEtEQXNJREFzSURBc0lDNDRLVHNOQ2lBZ0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklERndlQ0F3SURKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXhjSGdnTUNBeWNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBdU9DazdEUXA5RFFvdVptOXZZbTk0TFdOc2IzTmxJSHNOQ2lBZ0lDQjNhV1IwYURvZ01qaHdlRHNOQ2lBZ0lDQm9aV2xuYUhRNklESTRjSGc3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNBZ0lIUnZjRG9nTFRJeGNIZzdEUW9nSUNBZ2NtbG5hSFE2SUMweU1YQjRPdzBLSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF5T0hCNE93MEtJQ0FnSUhSbGVIUXRZV3hwWjI0NklHTmxiblJsY2pzTkNpQWdJQ0IwWlhoMExXUmxZMjl5WVhScGIyNDZJRzV2Ym1VN0RRb2dJQ0FnWkdsemNHeGhlVG9nWW14dlkyczdEUW9nSUNBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNOQ2lBZ0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0RRcDlEUW91Wm05dlltOTRMV3h2WVdSbGNpQjdEUW9nSUNBZ2QybGtkR2c2SURnd2NIZzdEUW9nSUNBZ2FHVnBaMmgwT2lBNE1IQjRPdzBLSUNBZ0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DaUFnSUNCMGIzQTZJRFV3SlRzTkNpQWdJQ0JzWldaME9pQTFNQ1U3RFFvZ0lDQWdiV0Z5WjJsdUxXeGxablE2SUMwME1IQjRPdzBLSUNBZ0lHMWhjbWRwYmkxMGIzQTZJQzAwTUhCNE93MEtmUTBLTG1admIySnZlQzFqYkc5elpTd2dMbVp2YjJKdmVDMXBibTVsY2l3Z0xtWnZiMkp2ZUMxc2IyRmtaWElnZXcwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTUNBd0lERXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0Ylc5a1lXd2dldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJSFJ5WVc1emNHRnlaVzUwSUhWeWJDaGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZlptOXZZbTk0TDJKbkxuQnVaeWtnY21Wd1pXRjBJSFJ2Y0NCc1pXWjBPdzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJSEpuWW1Fb01Dd2dNQ3dnTUN3Z0xqY3BJRzV2Ym1VN0RRcDlEUW91Wm05dlltOTRMV2x1Ym1WeUlIc05DaUFnSUNCaVlXTnJaM0p2ZFc1a09pQWpabVptT3cwS0lDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ09IQjRJQ05tWm1ZN0RRb2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dNVEJ3ZURzTkNuME5DaTVtYjI5aWIzZ3RhVzFuTFdOMWNuSmxiblFzSUM1bWIyOWliM2d0YVcxbkxXNWxlSFFnZXcwS0lDQWdJR0p2Y21SbGNpMXlZV1JwZFhNNklEVndlRHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUhzTkNpQWdJQ0JtYjI1MExXWmhiV2xzZVRvZ1lYSnBZV3c3RFFvZ0lDQWdabTl1ZEMxemFYcGxPaUE0Y0hnN0RRb2dJQ0FnZEdWNGRDMTBjbUZ1YzJadmNtMDZJR3h2ZDJWeVkyRnpaVHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUdFZ2V3MEtJQ0FnSUdOdmJHOXlPaUFqT0RnNElXbHRjRzl5ZEdGdWREc05DaUFnSUNCbWIyNTBMWE5wZW1VNklEbHdlRHNOQ2lBZ0lDQjBaWGgwTFdSbFkyOXlZWFJwYjI0NklHNXZibVU3RFFvZ0lDQWdkR1Y0ZEMxemFHRmtiM2M2SUNNeE5qRTJNVFlnTVhCNElERndlQ0F3T3cwS2ZRMEtMbVp2YjJKdmVDMWpjbVZrYVhRZ1lUcG9iM1psY2lCemNHRnVJSHNOQ2lBZ0lDQjBaWGgwTFdSbFkyOXlZWFJwYjI0NklIVnVaR1Z5YkdsdVpUc05DbjBOQ2k1bWIyOWliM2d0WTNKbFpHbDBJR0VnYzNCaGJpQjdEUW9nSUNBZ1kyOXNiM0k2SUNOa1pHUWhhVzF3YjNKMFlXNTBPdzBLSUNBZ0lHeGxkSFJsY2kxemNHRmphVzVuT2lBeGNIZzdEUXA5RFFvdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQmpiMnh2Y2pvZ0l6ZzRPRHNOQ2lBZ0lDQm1iMjUwTFdaaGJXbHNlVG9nWVhKcFlXd3NJSE5oYm5NdGMyVnlhV1k3RFFvZ0lDQWdabTl1ZEMxemFYcGxPaUF4TUhCNE93MEtJQ0FnSUhSbGVIUXRjMmhoWkc5M09pQWpNVFl4TmpFMklERndlQ0F4Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvZ0lDQWdZMjlzYjNJNklDTm1abVk3RFFvZ0lDQWdiR2x1WlMxb1pXbG5hSFE2SURNd2NIZzdEUW9nSUNBZ2FHVnBaMmgwT2lBek1IQjRPdzBLSUNBZ0lHWnZiblF0Wm1GdGFXeDVPaUJoY21saGJDd2djMkZ1Y3kxelpYSnBaanNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUIwY21GdWMzQmhjbVZ1ZENCMWNtd29XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWnZiMkp2ZUM5aVp5NXdibWNwSUhKbGNHVmhkQ0IwYjNBZ2JHVm1kRHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUJ5WjJKaEtEQXNJREFzSURBc0lDNDNLU0J1YjI1bE93MEtJQ0FnSUdadmJuUXRjMmw2WlRvZ01UUndlRHNOQ2lBZ0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUW9nSUNBZ1ltOXlaR1Z5TFdKdmRIUnZiUzF5YVdkb2RDMXlZV1JwZFhNNklEVndlRHNOQ2lBZ0lDQmliM0prWlhJdFltOTBkRzl0TFd4bFpuUXRjbUZrYVhWek9pQTFjSGc3RFFwOURRb3VabTl2WW05NExXTmhjSFJwYjI0dGRHbDBiR1VnZXcwS0lDQWdJR1p2Ym5RdGQyVnBaMmgwT2lCaWIyeGtPdzBLSUNBZ0lHWnZiblF0YzJsNlpUb2dNVFZ3ZURzTkNuME5DaTVtYjI5aWIzZ3RZMkZ3ZEdsdmJpMWtaWE5qSUhzTkNpQWdJQ0JzYVc1bExXaGxhV2RvZERvZ01qQndlRHNOQ2lBZ0lDQm1iMjUwTFhOcGVtVTZJREV5Y0hnN0RRb2dJQ0FnWTI5c2IzSTZJQ05sWldVN0RRcDlEUW91Wm05dlltOTRMV05oY0hScGIyNHRkR2wwYkdVckxtWnZiMkp2ZUMxallYQjBhVzl1TFdSbGMyTWdldzBLSUNBZ0lIQmhaR1JwYm1jNklEQWdOWEI0SURWd2VDQTFjSGc3RFFwOURRb3VabTl2WW05NExXTmhjSFJwYjI0dFpHVnpZeUJoSUhzTkNpQWdJQ0JqYjJ4dmNqb2dJMlJrWkRzTkNuME5DaTVtYjI5aWIzZ3RkR2wwYkdVZ2V3MEtJQ0FnSUhSbGVIUXRjMmhoWkc5M09pQWpNVFl4TmpFMklERndlQ0F4Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0WTJ4dmMyVWdldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJQ05tWm1ZZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndlkyeHZjMlV1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNpQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lETndlQ0FqWm1abU93MEtJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRFV3SlRzTkNpQWdJQ0JqYjJ4dmNqb2dJMlptWmpzTkNuME5DaTVtYjI5aWIzZ3RjSEpsZGlCN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ0kyWm1aaUIxY213b1cxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJadmIySnZlQzl3Y21WMkxuQnVaeWtnYm04dGNtVndaV0YwSUdObGJuUmxjaUJqWlc1MFpYSTdEUW9nSUNBZ1ltOXlaR1Z5TFhSdmNDMXNaV1owTFhKaFpHbDFjem9nTVRCd2VEc05DaUFnSUNCaWIzSmtaWEl0WW05MGRHOXRMV3hsWm5RdGNtRmthWFZ6T2lBeE1IQjRPdzBLZlEwS0xtWnZiMkp2ZUMxdVpYaDBJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUFqWm1abUlIVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyNWxlSFF1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNpQWdJQ0JpYjNKa1pYSXRkRzl3TFhKcFoyaDBMWEpoWkdsMWN6b2dNVEJ3ZURzTkNpQWdJQ0JpYjNKa1pYSXRZbTkwZEc5dExYSnBaMmgwTFhKaFpHbDFjem9nTVRCd2VEc05DbjBOQ2k1bWIyOWliM2d0WTJ4dmMyVTZhRzkyWlhJZ2V3MEtJQ0FnSUMxM1pXSnJhWFF0WW05NExYTm9ZV1J2ZHpvZ01DQXdJRFJ3ZUNCeVoySmhLREFzSURBc0lEQXNJQzQ0S1RzTkNpQWdJQ0F0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREFnTUNBMGNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBdU9DazdEUW9nSUNBZ1ltOTRMWE5vWVdSdmR6b2dNQ0F3SURSd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0Ykc5aFpHVnlJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUFqWm1abUlIVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyeHZZV1JsY2k1bmFXWXBJRzV2TFhKbGNHVmhkQ0JqWlc1MFpYSWdZMlZ1ZEdWeU93MEtJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRFF3Y0hnN0RRcDlEUW91Wm05dlltOTRMWE5sYkdWamRHVmtJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpPVFU1TlRrMUlXbHRjRzl5ZEdGdWREc05DbjBOQ2cwS0xtWnZiMkp2ZUMxamJHOXpaU3dnTG1admIySnZlQzFwYm1adklIc05DaUFnTFhkbFltdHBkQzFpYjNndGMyaGhaRzkzT2lBd2NIZ2dNSEI0SURod2VDQnlaMkpoS0RJMU5Td2dNalUxTENBeU5UVXNJREF1T0NrN0RRb2dJQzF0YjNvdFltOTRMWE5vWVdSdmR6b2dJQ0FnTUhCNElEQndlQ0E0Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3cwS0lDQmliM2d0YzJoaFpHOTNPaUFnSUNBZ0lDQWdJREJ3ZUNBd2NIZ2dPSEI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNOQ24wTkNnMEtMbVp2YjJKdmVDMWpiRzl6WlNBc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFhCc1lYa3NJQzVtYjI5aWIzZ3RhVzV1WlhJZ1BpQXVabTl2WW05NExYQmhkWE5sZXcwS0lDQmliM0prWlhJNklITnZiR2xrSUROd2VDQWpNREF3T3cwS0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNREF3T3cwS2ZRMEtEUW91Wm05dlltOTRMWEJ5WlhZZ2V3MEtJQ0JpWVdOclozSnZkVzVrTFdOdmJHOXlPaUFqTURBd093MEtmUTBLTG1admIySnZlQzF1WlhoMElIc05DaUFnWW1GamEyZHliM1Z1WkMxamIyeHZjam9nSXpBd01Ec05DbjBOQ2cwS0xtWnZiMkp2ZUMxcGJtNWxjaUI3RFFvZ0lHSnZjbVJsY2kxamIyeHZjam9nSXpBd01Ec05DaUFnWW1GamEyZHliM1Z1WkRvZ0l6QXdNRHNOQ2lBZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElEaHdlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdEUW9nSUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ09IQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc05DbjBOQ2cwS0xtWnZiMkp2ZUMxc2IyRmtaWElnZXcwS0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNREF3T3cwS0lDQmlZV05yWjNKdmRXNWtMV2x0WVdkbE9uVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyeHZZV1JsY2k1bmFXWXBPdzBLSUNBdGQyVmlhMmwwTFdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ09IQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc05DaUFnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUFnSUNBd2NIZ2dNSEI0SURod2VDQnlaMkpoS0RJMU5Td2dNalUxTENBeU5UVXNJREF1T0NrN0RRb2dJR0p2ZUMxemFHRmtiM2M2SUNBZ0lDQWdJQ0FnTUhCNElEQndlQ0E0Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3cwS2ZRMEtEUW91Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdjbVYySUhzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXRNWEI0SURCd2VDQXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJQzB4Y0hnZ01IQjRJREp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklDMHhjSGdnTUhCNElESndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2k1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMVzVsZUhRZ2V5QXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREZ3ZUNBd2NIZ2dNbkI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUF4Y0hnZ01IQjRJREp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklERndlQ0F3Y0hnZ01uQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc2dmUTBLRFFvdVptOXZZbTk0TFdOc2IzTmxMQ0F1Wm05dlltOTRMV2x1Ym1WeUxDQXVabTl2WW05NExXeHZZV1JsY2lCN0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dNSEI0SURCd2VDQXhNbkI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUF3Y0hnZ01IQjRJREV5Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3lCaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUI5RFFvTkNpNW1iMjlpYjNndGNHeGhlU3dnTG1admIySnZlQzF3WVhWelpTQjdJR0poWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ013TURBN0lIME5DaTVtYjI5aWIzZ3RhVzV1WlhJZ1BpQXVabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJoZFhObElIc2dZbTl5WkdWeU9pQnpiMnhwWkNBemNIZ2dJekF3TURzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREJ3ZUNBd2NIZ2dNVEp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ01USndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2k1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJzWVhrNmFHOTJaWElzSUM1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJoZFhObE9taHZkbVZ5SUhzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREJ3ZUNBd2NIZ2dNVEp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ01USndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2cwS0RRb05DZzBLRFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0WVhndGQybGtkR2dnT2pNeU1IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RhVzV1WlhJdGMzQmhZMlZ5SUhzTkNpQWdJQ0J3WVdSa2FXNW5PaUF4TlhCNElEVndlQ0F6TlhCNElEVndlRHNOQ2dsOURRb0pMbVp2YjJKdmVDMWpiM1Z1ZENCN0RRb0pJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdEUW9KZlEwS0NTNW1iMjlpYjNndGNISmxkaXdnTG1admIySnZlQzF1WlhoMElIc05DZ2tnSUNBZ2FHVnBaMmgwT2lBME1IQjRPdzBLQ1NBZ0lDQjNhV1IwYURvZ1lYVjBienNOQ2drZ0lDQWdkRzl3T2lCaGRYUnZPdzBLQ1NBZ0lDQmliM1IwYjIwNklEQTdEUW9KSUNBZ0lHMWhjbWRwYmkxMGIzQTZJR0YxZEc4N0RRb0pmUTBLQ1M1bWIyOWliM2d0Y0hKbGRpQjdEUW9KSUNBZ0lHeGxablE2SURBN0RRb0pJQ0FnSUhKcFoyaDBPaUExTUNVN0RRb0pmUTBLQ1M1bWIyOWliM2d0Ym1WNGRDQjdEUW9KSUNBZ0lHeGxablE2SURVd0pUc05DZ2tnSUNBZ2NtbG5hSFE2SURBN0RRb0pmUTBLQ1M1bWIyOWliM2d0WTJ4dmMyVWdldzBLQ1NBZ0lDQjBiM0E2SURSd2VEc05DZ2tnSUNBZ2NtbG5hSFE2SURSd2VEc05DZ2w5RFFvSkxtWnZiMkp2ZUMxamNtVmthWFFnZXcwS0NTQWdJQ0JpYjNSMGIyMDZJREp3ZURzTkNna2dJQ0FnYkdWbWREb2dNbkI0T3cwS0NYME5DZ2t1Wm05dlltOTRMV055WldScGRDQmxiU0I3RFFvSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pmUTBLQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSklDQWdJR3hwYm1VdGFHVnBaMmgwT2lBeU1IQjRPdzBLQ1NBZ0lDQm9aV2xuYUhRNklESXdjSGc3RFFvSmZRMEtDUzVtYjI5aWIzZ3RZMkZ3ZEdsdmJpMTBhWFJzWlNCN0RRb0pJQ0FnSUdadmJuUXRjMmw2WlRvZ01UTndlRHNOQ2dsOURRb0pMbVp2YjJKdmVDMWpZWEIwYVc5dUxXUmxjMk1nZXcwS0NTQWdJQ0JtYjI1MExYTnBlbVU2SURFeGNIZzdEUW9KSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF4TlhCNE93MEtDWDBOQ2drdVptOXZZbTk0TFdOaGNIUnBiMjR0ZEdsMGJHVWdLeUF1Wm05dlltOTRMV05oY0hScGIyNHRaR1Z6WXlCN0RRb0pJQ0FnSUhCaFpHUnBibWM2SURBZ00zQjRJRE53ZUNBemNIZzdEUW9KZlEwS0NTNW1iMjlpYjNndGJXOWtZV3dnUGlBdVptOXZZbTk0TFhCeVpYWXNJQzVtYjI5aWIzZ3RiVzlrWVd3Z1BpQXVabTl2WW05NExXNWxlSFFnZXcwS0NTQWdJQ0JrYVhOd2JHRjVPaUJpYkc5amF6c05DZ2w5RFFvSkxtWnZiMkp2ZUMxcGJtNWxjaUErSUM1bWIyOWliM2d0Y0hKbGRpd2dMbVp2YjJKdmVDMXBibTVsY2lBK0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pmUTBLZlEwS0RRb05DZzBLRFFvTkNnMEtEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRZWGd0ZDJsa2RHZzZORGd3Y0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLSUNBZ0lDNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJSHNOQ2lBZ0lDQndZV1JrYVc1bk9pQTFjSGc3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqYjNWdWRDQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0Y0hKbGRpd2dMbVp2YjJKdmVDMXVaWGgwSUhzTkNna0pJQ0FnSUdobGFXZG9kRG9nT0RCd2VEc05DZ2tKSUNBZ0lIZHBaSFJvT2lBek5IQjRPdzBLQ1FrZ0lDQWdkRzl3T2lBMU1DVTdEUW9KQ1NBZ0lDQmliM1IwYjIwNklHRjFkRzg3RFFvSkNTQWdJQ0J0WVhKbmFXNHRkRzl3T2lBdE5EQndlRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV05zYjNObElIc05DZ2tKSUNBZ0lIUnZjRG9nTkhCNE93MEtDUWtnSUNBZ2NtbG5hSFE2SURSd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnlaV1JwZENCN0RRb0pDU0FnSUNCaWIzUjBiMjA2SURKd2VEc05DZ2tKSUNBZ0lHeGxablE2SURKd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnlaV1JwZENCbGJTQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSkNTQWdJQ0JzYVc1bExXaGxhV2RvZERvZ01qQndlRHNOQ2drSklDQWdJR2hsYVdkb2REb2dNakJ3ZURzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdOaGNIUnBiMjR0ZEdsMGJHVWdldzBLQ1FrZ0lDQWdabTl1ZEMxemFYcGxPaUF4TTNCNE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndFkyRndkR2x2Ymkxa1pYTmpJSHNOQ2drSklDQWdJR1p2Ym5RdGMybDZaVG9nTVRGd2VEc05DZ2tKSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF4TlhCNE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndFkyRndkR2x2YmkxMGFYUnNaU0FySUM1bWIyOWliM2d0WTJGd2RHbHZiaTFrWlhOaklIc05DZ2tKSUNBZ0lIQmhaR1JwYm1jNklEQWdNM0I0SUROd2VDQXpjSGc3RFFvSkNYME5DZ2tKTG1admIySnZlQzF0YjJSaGJDQStJQzVtYjI5aWIzZ3RjSEpsZGl3Z0xtWnZiMkp2ZUMxdGIyUmhiQ0ErSUM1bWIyOWliM2d0Ym1WNGRDQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQmliRzlqYXpzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdsdWJtVnlJRDRnTG1admIySnZlQzF3Y21WMkxDQXVabTl2WW05NExXbHVibVZ5SUQ0Z0xtWnZiMkp2ZUMxdVpYaDBJSHNOQ2drSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxd2NtVjJJSHNOQ2drSklDQWdJR0p2Y21SbGNpMXlZV1JwZFhNNklEQWdNVEJ3ZUNBeE1IQjRJREE3RFFvSkNYME5DZ2tKTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURFd2NIZ2dNQ0F3SURFd2NIZzdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMXBiaTEzYVdSMGFDQTZNekl4Y0hncElHRnVaQ0FvYldGNExYZHBaSFJvSURvM05qaHdlQ2tnWVc1a0lDaHZjbWxsYm5SaGRHbHZiaUE2Y0c5eWRISmhhWFFwSUhzTkNpQWdJQ0F1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvSkNTQWdJQ0IzYVdSMGFEb2dOREJ3ZURzTkNna0pJQ0FnSUdobGFXZG9kRG9nTVRBd2NIZzdEUW9KQ1NBZ0lDQjBiM0E2SURVd0pUc05DZ2tKSUNBZ0lHSnZkSFJ2YlRvZ1lYVjBienNOQ2drSklDQWdJRzFoY21kcGJpMTBiM0E2SUMwMU1IQjRPdzBLQ1FsOURRb0pDUzVtYjI5aWIzZ3RZMnh2YzJVZ2V3MEtDUWtnSUNBZ2RHOXdPaUF0TVRsd2VEc05DZ2tKSUNBZ0lISnBaMmgwT2lBdE1qQndlRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMVzF2WkdGc0lENGdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFcxdlpHRnNJRDRnTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHUnBjM0JzWVhrNklHSnNiMk5yT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlRzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFhCeVpYWWdldzBLQ1FrZ0lDQWdZbTl5WkdWeUxYSmhaR2wxY3pvZ01DQXhNSEI0SURFd2NIZ2dNRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMVzVsZUhRZ2V3MEtDUWtnSUNBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nTVRCd2VDQXdJREFnTVRCd2VEc05DZ2tKZlEwS0NRbDlEUW9KQ1VCdFpXUnBZU0J2Ym14NUlITmpjbVZsYmlCaGJtUWdLRzFwYmkxM2FXUjBhQ0E2TkRneGNIZ3BJR0Z1WkNBb2JXRjRMWGRwWkhSb0lEb3hNREkwY0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLQ1FrZ0lDQWdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdkMmxrZEdnNklEUXdjSGc3RFFvSkNTQWdJQ0JvWldsbmFIUTZJREV3TUhCNE93MEtDUWtnSUNBZ2RHOXdPaUExTUNVN0RRb0pDU0FnSUNCaWIzUjBiMjA2SUdGMWRHODdEUW9KQ1NBZ0lDQnRZWEpuYVc0dGRHOXdPaUF0TlRCd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnNiM05sSUhzTkNna0pJQ0FnSUhSdmNEb2dMVEU1Y0hnN0RRb0pDU0FnSUNCeWFXZG9kRG9nTFRJd2NIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXRiMlJoYkNBK0lDNW1iMjlpYjNndGNISmxkaXdnTG1admIySnZlQzF0YjJSaGJDQStJQzVtYjI5aWIzZ3RibVY0ZENCN0RRb0pDU0FnSUNCa2FYTndiR0Y1T2lCaWJHOWphenNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFdsdWJtVnlJRDRnTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3RFFvSkNYME5DZ2tKTG1admIySnZlQzF3Y21WMklIc05DZ2tKSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURBZ01UQndlQ0F4TUhCNElEQTdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXVaWGgwSUhzTkNna0pJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJREV3Y0hnZ01DQXdJREV3Y0hnN0RRb0pDWDBOQ24wTkNrQnRaV1JwWVNCdmJteDVJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYUNBNk16SXdjSGdwSUdGdVpDQW9iM0pwWlc1MFlYUnBiMjRnT25CdmNuUnlZV2wwS1NCN0RRb2dJQ0FnTG1admIySnZlQzFwYm01bGNpQjdEUW9KQ1NBZ0lDQmliM0prWlhJNklITnZiR2xrSURSd2VDQWpabVptT3cwS0NRa2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSkNTQWdJQ0JtYjI1MExYTnBlbVU2SURFeWNIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdZbTl5WkdWeUxYSmhaR2wxY3pvZ01Ec05DZ2tKSUNBZ0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dibTl1WlRzTkNna0pJQ0FnSUMxdGIzb3RZbTk0TFhOb1lXUnZkem9nYm05dVpUc05DZ2tKSUNBZ0lHSnZlQzF6YUdGa2IzYzZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxamJHOXpaU0I3RFFvSkNTQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lESndlQ0FqUmtaR093MEtDUWtnSUNBZ2IzQmhZMmwwZVRvZ0xqVTdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMWpiRzl6WlRwb2IzWmxjaUI3RFFvSkNTQWdJQ0J2Y0dGamFYUjVPaUF4T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTNKbFpHbDBJSHNOQ2drSklDQWdJRzl3WVdOcGRIazZJQzQxT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTNKbFpHbDBPbWh2ZG1WeUlIc05DZ2tKSUNBZ0lHOXdZV05wZEhrNklERTdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUW9KQ1NBZ0lDQXVabTl2WW05NExXbHVibVZ5SUhzTkNna0pJQ0FnSUdKdmNtUmxjam9nYzI5c2FXUWdOSEI0SUNObVptWTdEUW9KQ1NBZ0lDQmliM0prWlhJdGNtRmthWFZ6T2lBMWNIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMWpZWEIwYVc5dUlIc05DZ2tKSUNBZ0lHWnZiblF0YzJsNlpUb2dNVEp3ZURzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdOc2IzTmxJSHNOQ2drSklDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ01uQjRJQ05HUmtZN0RRb0pDU0FnSUNCdmNHRmphWFI1T2lBdU5Uc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnNiM05sT21odmRtVnlJSHNOQ2drSklDQWdJRzl3WVdOcGRIazZJREU3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqY21Wa2FYUWdldzBLQ1FrZ0lDQWdiM0JoWTJsMGVUb2dMalU3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqY21Wa2FYUTZhRzkyWlhJZ2V3MEtDUWtnSUNBZ2IzQmhZMmwwZVRvZ01Uc05DZ2tKZlEwS2ZRMEtRRzFsWkdsaElHOXViSGtnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb0lEb3pNakZ3ZUNrZ1lXNWtJQ2h0WVhndGQybGtkR2dnT2pjMk9IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RhVzV1WlhJdGMzQmhZMlZ5SUhzTkNna0pJQ0FnSUhCaFpHUnBibWM2SURNd2NIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXBibTVsY2lCN0RRb0pDU0FnSUNCaWIzSmtaWEk2SUhOdmJHbGtJRFp3ZUNBalptWm1PdzBLQ1FsOURRcDlEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRhVzR0ZDJsa2RHZ2dPalE0TVhCNEtTQmhibVFnS0cxaGVDMTNhV1IwYUNBNk1UQXlOSEI0S1NCaGJtUWdLRzl5YVdWdWRHRjBhVzl1SURwc1lXNWtjMk5oY0dVcElIc05DZ2tKSUNBZ0lDNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJSHNOQ2drSklDQWdJSEJoWkdScGJtYzZJRE13Y0hnN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxcGJtNWxjaUI3RFFvSkNTQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lEWndlQ0FqWm1abU93MEtDUWw5RFFwOURRb3VabTl2WW05NExYQnliMmR5WlhOeklIc05DaUFnSUNCNkxXbHVaR1Y0T2lBeE1EQXdNRFE3RFFwOURRb3VabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lIb3RhVzVrWlhnNklERXdNREF3TkRzTkNuME5DaTVtYjI5aWIzZ3RjSEp2WjNKbGMzTWdldzBLSUNBZ0lIZHBaSFJvT2lBd0pUc05DaUFnSUNCd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb2dJQ0FnWkdsemNHeGhlVG9nYm05dVpUc05DaUFnSUNCMGIzQTZJR0YxZEc4N0RRb2dJQ0FnYkdWbWREb2dNRHNOQ2lBZ0lDQmliM1IwYjIwNklEQTdEUW9nSUNBZ1ltOTRMWE5wZW1sdVp6b2dZbTl5WkdWeUxXSnZlRHNOQ2lBZ0lDQXRiWE10WW05NExYTnBlbWx1WnpvZ1ltOXlaR1Z5TFdKdmVEc05DaUFnSUNBdGJXOTZMV0p2ZUMxemFYcHBibWM2SUdKdmNtUmxjaTFpYjNnN0RRb2dJQ0FnTFhkbFltdHBkQzFpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93MEtmUTBLTG1admIySnZlQzFwYm01bGNqNHVabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0YVc1dVpYSStMbVp2YjJKdmVDMXdZWFZ6WlNCN0RRb2dJQ0FnZDJsa2RHZzZJREk0Y0hnN0RRb2dJQ0FnYUdWcFoyaDBPaUF5T0hCNE93MEtJQ0FnSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdJQ0J5YVdkb2REb2dMVEl4Y0hnN0RRb2dJQ0FnWW05MGRHOXRPaUF0TWpGd2VEc05DaUFnSUNCc2FXNWxMV2hsYVdkb2REb2dNamh3ZURzTkNpQWdJQ0IwWlhoMExXRnNhV2R1T2lCalpXNTBaWEk3RFFvZ0lDQWdkR1Y0ZEMxa1pXTnZjbUYwYVc5dU9pQnViMjVsT3cwS0lDQWdJR1JwYzNCc1lYazZJR0pzYjJOck93MEtJQ0FnSUc5MWRHeHBibVU2SUc1dmJtVTdEUW9nSUNBZ1kzVnljMjl5T2lCd2IybHVkR1Z5T3cwS2ZRMEtMbVp2YjJKdmVDMXRiMlJoYkQ0dVptOXZZbTk0TFhCc1lYa3NJQzVtYjI5aWIzZ3RiVzlrWVd3K0xtWnZiMkp2ZUMxd1lYVnpaU0I3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNBZ0lIUnZjRG9nWVhWMGJ6c05DaUFnSUNCaWIzUjBiMjA2SURBN0RRb2dJQ0FnYkdWbWREb2dNek1sT3cwS0lDQWdJSEpwWjJoME9pQXpNeVU3RFFvZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlRzTkNpQWdJQ0IwWlhoMExXRnNhV2R1T2lCalpXNTBaWEk3RFFvZ0lDQWdkR1Y0ZEMxa1pXTnZjbUYwYVc5dU9pQnViMjVsT3cwS0lDQWdJRzkxZEd4cGJtVTZJRzV2Ym1VN0RRb2dJQ0FnWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLZlEwS0xtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lCN0RRb2dJQ0FnYUdWcFoyaDBPaUExY0hnN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXVOU2s3RFFvZ0lDQWdZbTl5WkdWeUxXSnZkSFJ2YlMxc1pXWjBMWEpoWkdsMWN6b2dOWEI0T3cwS2ZRMEtMbVp2YjJKdmVDMXdiR0Y1SUhzTkNpQWdJQ0JpWVdOclozSnZkVzVrT2lBak1EQXdJSFZ5YkNoYlczSnZiM1JmZFhKc1hWMHZiVzlrZFd4bGN5OVViMjlzUW05NEwzUmxiWEJzWVhSbGN5OWhiR0pmWm05dlltOTRMM0JzWVhrdWNHNW5LU0J1YnkxeVpYQmxZWFFnWTJWdWRHVnlJR05sYm5SbGNqc05DbjBOQ2k1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJQ013TURBZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndmNHRjFjMlV1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNuME5DaTVtYjI5aWIzZ3RhVzV1WlhJK0xtWnZiMkp2ZUMxd2JHRjVMQ0F1Wm05dlltOTRMV2x1Ym1WeVBpNW1iMjlpYjNndGNHRjFjMlVnZXcwS0lDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ00zQjRJQ013TURBN0RRb2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dOVEFsT3cwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTUNBd0lERXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0YVc1dVpYSStMbVp2YjJKdmVDMXdiR0Y1T21odmRtVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeVBpNW1iMjlpYjNndGNHRjFjMlU2YUc5MlpYSWdldzBLSUNBZ0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dNQ0F3SURSd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNBdGJXOTZMV0p2ZUMxemFHRmtiM2M2SURBZ01DQTBjSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdZbTk0TFhOb1lXUnZkem9nTUNBd0lEUndlQ0J5WjJKaEtEQXNJREFzSURBc0lDNDRLVHNOQ24wTkNpNW1iMjlpYjNndGJXOWtZV3crTG1admIySnZlQzF3YkdGNUxDQXVabTl2WW05NExXMXZaR0ZzUGk1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lHaGxhV2RvZERvZ05EQndlRHNOQ2lBZ0lDQjNhV1IwYURvZ1lYVjBienNOQ24wTkNrQnRaV1JwWVNCdmJteDVJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYUNBNk16SXdjSGdwSUdGdVpDQW9iM0pwWlc1MFlYUnBiMjRnT25CdmNuUnlZV2wwS1NCN0RRb2dJQ0FnTG1admIySnZlQzF3Y21WMklIc05DZ2tKSUNBZ0lHeGxablE2SURBN0RRb0pDU0FnSUNCeWFXZG9kRG9nTmpZbE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndGJtVjRkQ0I3RFFvSkNTQWdJQ0JzWldaME9pQTJOaVU3RFFvSkNTQWdJQ0J5YVdkb2REb2dNRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMWEJ5YjJkeVpYTnpJSHNOQ2drSklDQWdJR2hsYVdkb2REb2dNM0I0T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJzWVhrc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFhCaGRYTmxJSHNOQ2drSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxdGIyUmhiQ0ErSUM1bWIyOWliM2d0Y0d4aGVTd2dMbVp2YjJKdmVDMXRiMlJoYkNBK0lDNW1iMjlpYjNndGNHRjFjMlVnZXcwS0NRa2dJQ0FnWkdsemNHeGhlVG9nWW14dlkyczdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUW9nSUNBZ0xtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lCN0RRb0pDU0FnSUNCb1pXbG5hSFE2SUROd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXbHVibVZ5SUQ0Z0xtWnZiMkp2ZUMxd2JHRjVMQ0F1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdZWFZ6WlNCN0RRb0pDU0FnSUNCaWIzUjBiMjA2SURSd2VEc05DZ2tKSUNBZ0lISnBaMmgwT2lBMGNIZzdEUW9KQ1NBZ0lDQnZjR0ZqYVhSNU9pQXVOVHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdiR0Y1T21odmRtVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdZWFZ6WlRwb2IzWmxjaUI3RFFvSkNTQWdJQ0J2Y0dGamFYUjVPaUF4T3cwS0NRbDlEUW9KQ1gwTkNna0pRRzFsWkdsaElHOXViSGtnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb0lEb3pNakZ3ZUNrZ1lXNWtJQ2h0WVhndGQybGtkR2dnT2pjMk9IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0NRa2dJQ0FnTG1admIySnZlQzFwYm01bGNpQStJQzVtYjI5aWIzZ3RjR3hoZVN3Z0xtWnZiMkp2ZUMxcGJtNWxjaUErSUM1bWIyOWliM2d0Y0dGMWMyVWdldzBLQ1FrZ0lDQWdZbTkwZEc5dE9pQXRNVGx3ZURzTkNna0pJQ0FnSUhKcFoyaDBPaUF0TWpCd2VEc05DZ2tKZlEwS0NRbDlEUW9KQ1VCdFpXUnBZU0J2Ym14NUlITmpjbVZsYmlCaGJtUWdLRzFwYmkxM2FXUjBhQ0E2TkRneGNIZ3BJR0Z1WkNBb2JXRjRMWGRwWkhSb0lEb3hNREkwY0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLQ1FrZ0lDQWdMbVp2YjJKdmVDMXBibTVsY2lBK0lDNW1iMjlpYjNndGNHeGhlU3dnTG1admIySnZlQzFwYm01bGNpQStJQzVtYjI5aWIzZ3RjR0YxYzJVZ2V3MEtDUWtnSUNBZ1ltOTBkRzl0T2lBdE1UbHdlRHNOQ2drSklDQWdJSEpwWjJoME9pQXRNakJ3ZURzTkNna0pmUTBLZlEwS1FHMWxaR2xoSUc5dWJIa2djMk55WldWdUlHRnVaQ0FvYldGNExYZHBaSFJvSURvek1qQndlQ2tnWVc1a0lDaHZjbWxsYm5SaGRHbHZiaUE2Y0c5eWRISmhhWFFwSUhzTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0YVc0dGQybGtkR2dnT2pNeU1YQjRLU0JoYm1RZ0tHMWhlQzEzYVdSMGFDQTZOelk0Y0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09uQnZjblJ5WVdsMEtTQjdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0YVc0dGQybGtkR2dnT2pRNE1YQjRLU0JoYm1RZ0tHMWhlQzEzYVdSMGFDQTZNVEF5TkhCNEtTQmhibVFnS0c5eWFXVnVkR0YwYVc5dUlEcHNZVzVrYzJOaGNHVXBJSHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01ETTdEUW9nSUNBZ2NHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtJQ0FnSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLSUNBZ0lIQmhaR1JwYm1jNklEVndlRHNOQ2lBZ0lDQXRkMlZpYTJsMExXSnZlQzF6YVhwcGJtYzZJR0p2Y21SbGNpMWliM2c3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmw2YVc1bk9pQmliM0prWlhJdFltOTRPdzBLSUNBZ0lHSnZlQzF6YVhwcGJtYzZJR0p2Y21SbGNpMWliM2c3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0ZEc5d0lIc05DaUFnSUNCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndGRHOXdiR1ZtZENCN0RRb2dJQ0FnZEdWNGRDMWhiR2xuYmpvZ2JHVm1kRHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzEwYjNCeWFXZG9kQ0I3RFFvZ0lDQWdkR1Y0ZEMxaGJHbG5iam9nY21sbmFIUTdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQzVtYjI5aWIzZ3RZbTkwZEc5dElIc05DaUFnSUNCd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb2dJQ0FnWW05MGRHOXRPaUF3T3cwS0lDQWdJSGRwWkhSb09pQXhNREFsT3cwS0lDQWdJSFJsZUhRdFlXeHBaMjQ2SUdObGJuUmxjanNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzFpYjNSMGIyMXNaV1owSUhzTkNpQWdJQ0J3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvZ0lDQWdZbTkwZEc5dE9pQXdPdzBLSUNBZ0lIZHBaSFJvT2lBeE1EQWxPdzBLSUNBZ0lIUmxlSFF0WVd4cFoyNDZJR3hsWm5RN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndFltOTBkRzl0Y21sbmFIUWdldzBLSUNBZ0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DaUFnSUNCaWIzUjBiMjA2SURBN0RRb2dJQ0FnZDJsa2RHZzZJREV3TUNVN0RRb2dJQ0FnZEdWNGRDMWhiR2xuYmpvZ2NtbG5hSFE3RFFwOURRb3VabTl2WW05NExYTm9iM2N0WTJGd2RHbHZiaUF1Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndFltOTBkRzl0TENBdVptOXZZbTk0TFhOb2IzY3RZMkZ3ZEdsdmJpQXVabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0WW05MGRHOXRiR1ZtZEN3Z0xtWnZiMkp2ZUMxemFHOTNMV05oY0hScGIyNGdMbVp2YjJKdmVDMXpiMk5wWVd3dVptOXZZbTk0TFdKdmRIUnZiWEpwWjJoMElIc05DaUFnSUNCaWIzUjBiMjA2SURNd2NIZzdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQ0JoSUhzTkNpQWdJQ0IzYVdSMGFEb2dNekp3ZURzTkNpQWdJQ0JvWldsbmFIUTZJRE15Y0hnN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndmMyOWphV0ZzYzNCeWFYUmxMbkJ1WnlrZ2JtOHRjbVZ3WldGME93MEtJQ0FnSUcxaGNtZHBiam9nTlhCNE93MEtJQ0FnSUhSbGVIUXRhVzVrWlc1ME9pQXRPVGs1T1hCNE93MEtJQ0FnSUc5d1lXTnBkSGs2SUM0MU93MEtJQ0FnSUdScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNMbVp2YjJKdmVDMXlhV2RvZENCaElIc05DaUFnSUNCMFpYaDBMV2x1WkdWdWREb2dPVGs1T1hCNE93MEtmUTBLTG1admIySnZlQzF6YjJOcFlXd2dZUzVtYjI5aWIzZ3RabUZqWldKdmIyc2dldzBLSUNBZ0lHSmhZMnRuY205MWJtUXRjRzl6YVhScGIyNDZJREFnTURzTkNuME5DaTVtYjI5aWIzZ3RjMjlqYVdGc0lHRXVabTl2WW05NExXZHZiMmRzWlMxd2JIVnpJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtMWEJ2YzJsMGFXOXVPaUF0TXpKd2VDQXdPdzBLZlEwS0xtWnZiMkp2ZUMxemIyTnBZV3dnWVM1bWIyOWliM2d0ZEhkcGRIUmxjaUI3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzF3YjNOcGRHbHZiam9nTFRZMGNIZ2dNRHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzSUdFdVptOXZZbTk0TFhCcGJuUmxjbVZ6ZENCN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkMxd2IzTnBkR2x2YmpvZ0xUazJjSGdnTURzTkNuME5DaTVtYjI5aWIzZ3RjMjlqYVdGc0lHRXVabTl2WW05NExXeHBibXRsWkdsdUlIc05DaUFnSUNCaVlXTnJaM0p2ZFc1a0xYQnZjMmwwYVc5dU9pQXRNVEk0Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNJR0U2YUc5MlpYSWdldzBLSUNBZ0lHOXdZV05wZEhrNklERTdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0WVhndGQybGtkR2dnT2pFd01qUndlQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RjMjlqYVdGc0lIc05DaUFnSUNCd1lXUmthVzVuT2lBemNIZzdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQ0JoSUhzTkNpQWdJQ0IzYVdSMGFEb2dNalJ3ZURzTkNpQWdJQ0JvWldsbmFIUTZJREkwY0hnN0RRb2dJQ0FnYldGeVoybHVPaUEwY0hnZ05YQjRPdzBLZlEwS0xtWnZiMkp2ZUMxemIyTnBZV3dnWVM1bWIyOWliM2d0Wm1GalpXSnZiMnNnZXcwS0lDQWdJR0poWTJ0bmNtOTFibVF0Y0c5emFYUnBiMjQ2SURBZ0xUTXljSGc3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkNCaExtWnZiMkp2ZUMxbmIyOW5iR1V0Y0d4MWN5QjdEUW9nSUNBZ1ltRmphMmR5YjNWdVpDMXdiM05wZEdsdmJqb2dMVEkwY0hnZ0xUTXljSGc3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkNCaExtWnZiMkp2ZUMxMGQybDBkR1Z5SUhzTkNpQWdJQ0JpWVdOclozSnZkVzVrTFhCdmMybDBhVzl1T2lBdE5EaHdlQ0F0TXpKd2VEc05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNJR0V1Wm05dlltOTRMWEJwYm5SbGNtVnpkQ0I3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzF3YjNOcGRHbHZiam9nTFRjeWNIZ2dMVE15Y0hnN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDQmhMbVp2YjJKdmVDMXNhVzVyWldScGJpQjdEUW9nSUNBZ1ltRmphMmR5YjNWdVpDMXdiM05wZEdsdmJqb2dMVGsyY0hnZ0xUTXljSGc3RFFwOURRcDlEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRZWGd0ZDJsa2RHZ2dPak15TUhCNEtTQmhibVFnS0c5eWFXVnVkR0YwYVc5dUlEcHdiM0owY21GcGRDa2dldzBLSUNBZ0lDNW1iMjlpYjNndGMyaHZkeTFqWVhCMGFXOXVJQzVtYjI5aWIzZ3RjMjlqYVdGc0xtWnZiMkp2ZUMxaWIzUjBiMjBzSUM1bWIyOWliM2d0YzJodmR5MWpZWEIwYVc5dUlDNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzFpYjNSMGIyMXNaV1owTENBdVptOXZZbTk0TFhOb2IzY3RZMkZ3ZEdsdmJpQXVabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0WW05MGRHOXRjbWxuYUhRZ2V3MEtJQ0FnSUdKdmRIUnZiVG9nTVRWd2VEc05DbjBOQ2cwS0RRbz08L3RwbGNzcz4KCTx0cGxqcz5QSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpSUhOeVl6MGlXMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWnZiMkp2ZUM5bWIyOWliM2d0TVM0ekxqRXViV2x1TG1weklqNDhMM05qY21sd2RENE5Danh6WTNKcGNIUWdkSGx3WlQwaWRHVjRkQzlxWVhaaGMyTnlhWEIwSWo0dktpQkdiMjlDYjNnZ2FXNXBkQ0JqYjJSbElDb3ZEUW9vWm5WdVkzUnBiMjRvSUVaUFQwSlBXQ3dnSkN3Z2RXNWtaV1pwYm1Wa0lDa2dldzBLSUNCR1QwOUNUMWd1YnlBOUlIdGtaV1Z3YkdsdWEybHVaeUE2SUhzZ1pXNWhZbXhsWkRvZ1ptRnNjMlVnZlN3Z1lXWm1hV3hwWVhSbElEb2dleUJsYm1GaWJHVmtPaUJtWVd4elpTQjlMQ0JsY25KdmNqb2dleUJ6Y21NNklDZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZlptOXZZbTk0TDJWeWNtOXlMbkJ1Wnljc0lHMWxjM05oWjJVNkowaHZjSEJzWVN3Z1pHRnpJRUpwYkdRZ2EyOXViblJsSUc1cFkyaDBJR2RsYkdGa1pXNGdkMlZ5WkdWdUp5QjlMQ0J6Ykdsa1pYTm9iM2M2SUhzZ1pXNWhZbXhsWkRwMGNuVmxmU3dnYzI5amFXRnNPaUI3SUdWdVlXSnNaV1E2SUdaaGJITmxJSDBzSUhCeVpXeHZZV1JKYldGblpYTTZkSEoxWlgwN0RRb2dJRVpQVDBKUFdDNXBibWwwSUQwZ1puVnVZM1JwYjI0b0tTQjdEUW9nSUNBZ0pDZ2lMbVp2YjJKdmVDMXRiMlJoYkNJcExuSmxiVzkyWlNncE93MEtJQ0FnSUNRb0lpNW1iMjlpYjNndGJHbHVheUlwTG5KbGJXOTJaVU5zWVhOektDSm1iMjlpYjNndGJHbHVheUlwT3cwS0lDQWdJQ1FvWkc5amRXMWxiblFwTG1admIySnZlQ2hHVDA5Q1QxZ3VieWs3RFFvTkNpQWdmVHNOQ24wb0lIZHBibVJ2ZHk1R1QwOUNUMWdnUFNCM2FXNWtiM2N1Ums5UFFrOVlJSHg4SUh0OUxDQnFVWFZsY25rZ0tTazdEUW9OQ21wUmRXVnllU2htZFc1amRHbHZiaWdrS1NCN0RRb2dJRVpQVDBKUFdDNXBibWwwS0NrN0RRcDlLVHNOQ2p3dmMyTnlhWEIwUGcwS0RRbz08L3RwbGpzPgoJPHRwbG1vYmlsZWNvZGU+PC90cGxtb2JpbGVjb2RlPgoJPHRwbG1vYmlsZWNzcz48L3RwbG1vYmlsZWNzcz4KCTx0cGxtb2JpbGVqcz48L3RwbG1vYmlsZWpzPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vYmcucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBQTlKUkVGVWVOcGlVRlJVUEFNUVlBQUIrZ0V3dmJWWDFRQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vY2xvc2UucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFMFNVUkJWRWhMeFphOURZTkFESVdwa0pBb0tGbUNWVElETFFOUXNRUlNwTFFNa0JsU3BjME1WTmtnVWxyeUhQa1FYTzdIUWNSQmVoSndQbi9ZNXp1Y0pJSnJtcVlNT2tCSDZBTGRXSFJQNzJnc0U3Z0ttOEJKQ1oyZ0p4Uzd5SVpzeTAxZ1RPeWdSNHppR0tjNW5Saks2VHR2QU5sVHlFYzR6VEJJb2VzT01PT0NmS1hlYURFNDdBZ3pyZ1luRUtQMUQyREdaYjJDNG0wTzNSMUFpcmhnaGFLUDJaSHZmSWJpb2ZWRVZ5eS96SlB5VmNyNDQxenUyaVZ3bEFCcGdnWDlXSjhBY0h3RFlWQUYxczY1NEF3TmpmbGNWZ1JzSXNYaXJqSkg2UW1xdkNGZ0w2ak9LRlFBSTB4dnIwbUk3WVVLWWVSNytBdFFQYVhxUmFPN0xYZ3Y2bTE4QnFvZmJicUhOMGVwOTNzeXA5UVhHMWh3T00wbS9sTUtKcm90QnFlV2VsQ2RKc3I2MmVxMGlSWlVyeEcyd0x1MStpODllQndkK0pjdENRQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vZXJyb3IucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUG9BQUFENkNBWUFBQUNJN0ZvOUFBQUFDWEJJV1hNQUFBN0NBQUFPd2dFVktFcUFBQUFLVDJsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTm5WRlBwRmozMzN2UkNTNGlBbEV0dlVoVUlJRkpDaTRBVWtTWXFJUWtRU29naG9ka1ZVY0VSUlVVRUc4aWdpQU9Pam9DTUZWRXNESW9LMkFma0lhS09nNk9JaXNyNzRYdWphOWE4OStiTi9yWFhQdWVzODUyenp3ZkFDQXlXU0ROUk5ZQU1xVUllRWVDRHg4VEc0ZVF1UUlFS0pIQUFFQWl6WkNGei9TTUJBUGgrUER3cklzQUh2Z0FCZU5NTENBREFUWnZBTUJ5SC93L3FRcGxjQVlDRUFjQjBrVGhMQ0lBVUFFQjZqa0ttQUVCR0FZQ2RtQ1pUQUtBRUFHRExZMkxqQUZBdEFHQW5mK2JUQUlDZCtKbDdBUUJibENFVkFhQ1JBQ0FUWlloRUFHZzdBS3pQVm9wRkFGZ3dBQlJtUzhRNUFOZ3RBREJKVjJaSUFMQzNBTURPRUF1eUFBZ01BREJSaUlVcEFBUjdBR0RJSXlONEFJU1pBQlJHOGxjODhTdXVFT2NxQUFCNG1iSTh1U1E1UllGYkNDMXhCMWRYTGg0b3pra1hLeFEyWVFKaG1rQXV3bm1aR1RLQk5BL2c4OHdBQUtDUkZSSGdnL1A5ZU00T3JzN09ObzYyRGw4dDZyOEcveUppWXVQKzVjK3JjRUFBQU9GMGZ0SCtMQyt6R29BN0JvQnQvcUlsN2dSb1hndWdkZmVMWnJJUFFMVUFvT25hVi9OdytINDhQRVdoa0xuWjJlWGs1TmhLeEVKYlljcFhmZjVud2wvQVYvMXMrWDQ4L1BmMTRMN2lKSUV5WFlGSEJQamd3c3owVEtVY3o1SUpoR0xjNW85SC9MY0wvL3dkMHlMRVNXSzVXQ29VNDFFU2NZNUVtb3p6TXFVaWlVS1NLY1VsMHY5azR0OHMrd00rM3pVQXNHbytBWHVSTGFoZFl3UDJTeWNRV0hUQTR2Y0FBUEs3YjhIVUtBZ0RnR2lENGM5My8rOC8vVWVnSlFDQVprbVNjUUFBWGtRa0xsVEtzei9IQ0FBQVJLQ0JLckJCRy9UQkdDekFCaHpCQmR6QkMveGdOb1JDSk1UQ1FoQkNDbVNBSEhKZ0theUNRaWlHemJBZEttQXYxRUFkTk1CUmFJYVRjQTR1d2xXNERqMXdEL3BoQ0o3QktMeUJDUVJCeUFnVFlTSGFpQUZpaWxnampnZ1htWVg0SWNGSUJCS0xKQ0RKaUJSUklrdVJOVWd4VW9wVUlGVklIZkk5Y2dJNWgxeEd1cEU3eUFBeWd2eUd2RWN4bElHeVVUM1VETFZEdWFnM0dvUkdvZ3ZRWkhReG1vOFdvSnZRY3JRYVBZdzJvZWZRcTJnUDJvOCtROGN3d09nWUJ6UEViREF1eHNOQ3NUZ3NDWk5qeTdFaXJBeXJ4aHF3VnF3RHU0bjFZOCt4ZHdRU2dVWEFDVFlFZDBJZ1lSNUJTRmhNV0U3WVNLZ2dIQ1EwRWRvSk53a0RoRkhDSnlLVHFFdTBKcm9SK2NRWVlqSXhoMWhJTENQV0VvOFRMeEI3aUVQRU55UVNpVU15SjdtUUFrbXhwRlRTRXRKRzBtNVNJK2tzcVpzMFNCb2prOG5hWkd1eUJ6bVVMQ0FyeUlYa25lVEQ1RFBrRytRaDhsc0tuV0pBY2FUNFUrSW9Vc3BxU2hubEVPVTA1UVpsbURKQlZhT2FVdDJvb1ZRUk5ZOWFRcTJodGxLdlVZZW9FelIxbWpuTmd4WkpTNld0b3BYVEdtZ1hhUGRwcitoMHVoSGRsUjVPbDlCWDBzdnBSK2lYNkFQMGR3d05oaFdEeDRobktCbWJHQWNZWnhsM0dLK1lUS1laMDRzWngxUXdOekhybU9lWkQ1bHZWVmdxdGlwOEZaSEtDcFZLbFNhVkd5b3ZWS21xcHFyZXFndFY4MVhMVkkrcFhsTjlya1pWTTFQanFRblVscXRWcXAxUTYxTWJVMmVwTzZpSHFtZW9iMVEvcEg1Wi9Za0dXY05NdzA5RHBGR2dzVi9qdk1ZZ0MyTVpzM2dzSVdzTnE0WjFnVFhFSnJITjJYeDJLcnVZL1IyN2l6MnFxYUU1UXpOS00xZXpVdk9VWmo4SDQ1aHgrSngwVGdubktLZVg4MzZLM2hUdktlSXBHNlkwVExreFpWeHJxcGFYbGxpclNLdFJxMGZydlRhdTdhZWRwcjFGdTFuN2dRNUJ4MG9uWENkSFo0L09CWjNuVTlsVDNhY0tweFpOUFRyMXJpNnFhNlVib2J0RWQ3OXVwKzZZbnI1ZWdKNU1iNmZlZWIzbitoeDlMLzFVL1czNnAvVkhERmdHc3d3a0J0c016aGc4eFRWeGJ6d2RMOGZiOFZGRFhjTkFRNlZobFdHWDRZU1J1ZEU4bzlWR2pVWVBqR25HWE9NazQyM0diY2FqSmdZbUlTWkxUZXBON3BwU1RibW1LYVk3VER0TXg4M016YUxOMXBrMW16MHgxekxubStlYjE1dmZ0MkJhZUZvc3RxaTJ1R1ZKc3VSYXBsbnV0cnh1aFZvNVdhVllWVnBkczBhdG5hMGwxcnV0dTZjUnA3bE9rMDZybnRabnc3RHh0c20ycWJjWnNPWFlCdHV1dG0yMmZXRm5ZaGRudDhXdXcrNlR2Wk45dW4yTi9UMEhEWWZaRHFzZFdoMStjN1J5RkRwV090NmF6cHp1UDMzRjlKYnBMMmRZenhEUDJEUGp0aFBMS2NScG5WT2IwMGRuRjJlNWM0UHppSXVKUzRMTExwYytMcHNieHQzSXZlUktkUFZ4WGVGNjB2V2RtN09id3UybzI2L3VOdTVwN29mY244dzBueW1lV1ROejBNUElRK0JSNWRFL0M1K1ZNR3Zmckg1UFEwK0JaN1huSXk5akw1RlhyZGV3dDZWM3F2ZGg3eGMrOWo1eW4rTSs0enczM2pMZVdWL01OOEMzeUxmTFQ4TnZubCtGMzBOL0kvOWsvM3IvMFFDbmdDVUJad09KZ1VHQld3TDcrSHA4SWIrT1B6cmJaZmF5MmUxQmpLQzVRUlZCajRLdGd1WEJyU0ZveU95UXJTSDM1NWpPa2M1cERvVlFmdWpXMEFkaDVtR0x3MzRNSjRXSGhWZUdQNDV3aUZnYTBUR1hOWGZSM0VOejMwVDZSSlpFM3B0bk1VODVyeTFLTlNvK3FpNXFQTm8zdWpTNlA4WXVabG5NMVZpZFdFbHNTeHc1TGlxdU5tNXN2dC84N2ZPSDRwM2lDK043RjVndnlGMXdlYUhPd3ZTRnB4YXBMaElzT3BaQVRJaE9PSlR3UVJBcXFCYU1KZklUZHlXT0NubkNIY0puSWkvUk50R0kyRU5jS2g1TzhrZ3FUWHFTN0pHOE5Ya2t4VE9sTE9XNWhDZXBrTHhNRFV6ZG16cWVGcHAySUcweVBUcTlNWU9Ta1pCeFFxb2hUWk8yWitwbjVtWjJ5NnhsaGJMK3hXNkx0eThlbFFmSmE3T1FyQVZaTFFxMlFxYm9WRm9vMXlvSHNtZGxWMmEvelluS09aYXJuaXZON2N5enl0dVFONXp2bi8vdEVzSVM0WksycFlaTFZ5MGRXT2E5ckdvNXNqeHhlZHNLNHhVRks0WldCcXc4dUlxMkttM1ZUNnZ0VjVldWZyMG1lazFyZ1Y3QnlvTEJ0UUZyNnd0VkN1V0ZmZXZjMSsxZFQxZ3ZXZCsxWWZxR25ScytGWW1LcmhUYkY1Y1ZmOWdvM0hqbEc0ZHZ5citaM0pTMHFhdkV1V1RQWnRKbTZlYmVMWjViRHBhcWwrYVhEbTROMmRxMERkOVd0TzMxOWtYYkw1Zk5LTnU3ZzdaRHVhTy9QTGk4WmFmSnpzMDdQMVNrVlBSVStsUTI3dExkdFdIWCtHN1I3aHQ3dlBZMDdOWGJXN3ozL1Q3SnZ0dFZBVlZOMVdiVlpmdEorN1AzUDY2SnF1bjRsdnR0WGExT2JYSHR4d1BTQS8wSEl3NjIxN25VMVIzU1BWUlNqOVlyNjBjT3h4KysvcDN2ZHkwTk5nMVZqWnpHNGlOd1JIbms2ZmNKMy9jZURUcmFkb3g3ck9FSDB4OTJIV2NkTDJwQ212S2FScHRUbXZ0YllsdTZUOHcrMGRicTNucjhSOXNmRDV3MFBGbDVTdk5VeVduYTZZTFRrMmZ5ejR5ZGxaMTlmaTc1M0dEYm9yWjc1MlBPMzJvUGIrKzZFSFRoMGtYL2krYzd2RHZPWFBLNGRQS3kyK1VUVjdoWG1xODZYMjNxZE9vOC9wUFRUOGU3bkx1YXJybGNhN251ZXIyMWUyYjM2UnVlTjg3ZDlMMTU4UmIvMXRXZU9UM2R2Zk42Yi9mRjkvWGZGdDErY2lmOXpzdTcyWGNuN3EyOFQ3eGY5RUR0UWRsRDNZZlZQMXYrM05qdjNIOXF3SGVnODlIY1IvY0doWVBQL3BIMWp3OURCWStaajh1R0RZYnJuamcrT1RuaVAzTDk2ZnluUTg5a3p5YWVGLzZpL3N1dUZ4WXZmdmpWNjlmTzBaalJvWmZ5bDVPL2JYeWwvZXJBNnhtdjI4YkN4aDYreVhnek1WNzBWdnZ0d1hmY2R4M3ZvOThQVCtSOElIOG8vMmo1c2ZWVDBLZjdreG1Uay84RUE1anovR016TGRzQUFBQWdZMGhTVFFBQWVpVUFBSUNEQUFENS93QUFnT2tBQUhVd0FBRHFZQUFBT3BnQUFCZHZrbC9GUmdBQWNQcEpSRUZVZU5yc25YVjRYR1hhLzU5NEpsNUgya0lOYll1MlNFdUJVcVJBMGNYZFlYRXQ3bHJhSkRNWmphZmVKdU16NTR4UHBCcWR6Q1NwNERWa1lXSGxmWCt2ZjM1L25FbmFRbUhaM1NwN251djZYcE5LSmpPVDh6bVAzUGY5dlFVZ1ZLbFM5ZHVXK2lHb1VxV0Nya3FWS2hWMFZhcFVxYUNyVXFWS0JWMlZLbFVxNktwVXFWSkJWNlZLbFFxNktsV3FWTkJWcVZKQlY2VktsUXE2S2xXcVZOQlZxVktsZ3E1S2xTb1ZkRldxVkttZ3ExS2xTZ1ZkbFNwVkt1aXFWS21ncTFLbFNnVmRsU3BWS3VpcVZLbFNRVmVsU3BVS3VpcFZxbFRRVmFsU3BZS3VTcFVxRlhSVnFsVFExUTlCbFNvVmRGV3FWS21ncTFLbFNnVmRsU3BWS3VpcVZLbFNRVmVsU3BVS3VpcFZxbFRRVmFsU3BZS3VTcFVLdWlwVnFsVFFWYWxTcFlLdVNwVXFGWFJWcWxTcG9LdFNwVW9GWFpVcVZTcm9xbFNwVWtGWHBVb0ZYWlVxVlNyb3FsU3BVa0ZYcFVxVkN2by8vQUxWOFl0ajl1eUxNMmJNbUs0NWJNUmh3MHQxWmVPZmUvR0ZFODQ1ZitiTS9LSkI5MDA2NWVUWGI3bjk5amN2bXpQbm5Rc3V2dkM5ODJhZC8vNk1tVFBtblgvaHpIa1hYRHpydlV1dnVPeWQyKzY4ODgxSnA1ejZabDdSb0lkUE91MzB5NTU0OXRuSjg0cEx4bzgvWnNMd1UwK2RuSFB6elRka1RabHlXb3I2U2YvdG9ZS3VncjdYeGxuVHBxZGVmZTJjM1BmZmYzdlVzY2RPdUhUV3JKbFBubjMybWU4WEZSVjZ4eDB6SVQ1cXpKaStJU09HZjVHZGwvdHRabmJXWC9MejgvK2FrNXZ6YjVwY3piOXA4algvbmxPWTgrL1orZG4vcnNuVi9GdE9YczYvNVJjVS9EVXJOK2V2R1JyTkh3c0dEOTQrZXN6Ukc4Y2ZkMnhpOExDaDhpbW5URjV3N2JWWFBYL3FxU2ZmK05oamowdzQ5L3daK2FkUE9UVlYvUzJvb0t1ZzcrVngrcGxuNUUwKzliUWpmM2Y5VGVlZVBlMjh1YWVlUG1YNTRHR0RlZ3VLOHYrU2xwSDJQMElJUklwQXBBbUVTRUdrWlpHYW5rMW1WaTVaZVVYa0ZBNmhZTWpoREI0K21zRWpqbUxJaUtNVkRUK0t3aUZIa2xzMEhFMWVFZGs1aGFSbjVTSlNNaEFpVlhrdUlSQkNrSmFSOXI4RmcvTC92WEJRL3NjblRqNng0YlRUcDc1M3haVy91MmpxdExOSFR6amgyRUlWY1JWMEZmUi9ZSng1NXBtSFh6Sm45bmt6TDdyZzJXTk9PTjR4ZVBqaG40cTBMSVJJVDhLWFRXcEdJUVdEanVUSW80N254TWxuTXYzYzJWeDArVzFjZjhzVDNQUFF5enoyelB2TWZVWExhKytZZWV1RGF0NWJzSVQzRnl6bC9lSmx2UGZoWXQ2ZHQ1ZzMzNnZsNVRkTlBQZFNDWTgvOHo1M1AvQVMxOXo0Q0JkY2VodFR6cjZVaWFkTTRlanh4ekZvNk9Ga1pPY2pVaklINEJjcGdzRWpobTBiT1dhMGY4YXM2UytlZThuMGkwNmFPbW1VQ3JvS3VncjZMNHc1YytZTVBlbWtrK2FjZU9LSkM4YU9IYmNtdTZEZ3Z3YWdFbGxrNTQ5ZzFKaEpuREg5Q3E2ODVtRWVmZng5M25xdkJtTzVpOFhMb2pnOW5iaDlHL0g0TnlPSFBzWVgrUlE1L0FsUzZHTzh3WTE0Z2oxNEFnbmNnUVR1WUFKM3NBZFBxQWR2Y0JOdS95WWNVaDkyYnc5V1Y1eWxEZTBzWExhYThpcVplUXVXOCtLckZ1NTc0QzJ1dVBvUnpqN25Sc2FNUDVXY29pRTdaLzFVUVVaaHh2OGVmdlNJOXJGang1U2VmZGJaMTl4OTk5M0RWTkJWMEZYUWhSQUdneUZsenB3cnBwMXd3Z25GSTQ4OG9xT29xUEF2QTNDbjUzUEVVU2R5N3F4cnVQdWg1M25qdlhJczFXNnNybFk4Y2dKL2FBUEI2Q1lDMFkzNGduMTRmRDI0ZkwwNGZiM1lwUVIydVFlSG5NQWg5K0NRWTlqbGRrVytkaHkramdFNWZRbWNjby95UFZKY2taekFJZlhnOG03RTd1N0Y1dXloM2hwajBiTDFXQ3FqZkxDZ2dXZGUwSFA3dlM5eTdxenJHRFYrRXFtNWhRT3ovYUNpd3Y4M2V2U29qcU9QUHNwMDFWVlhuYXVDcm9MK0x3bjYxTE9tREQxLzVybjNIWC9pY2RHQ292enZVdE5TRVVLUWxaM0h1SEhIYzhXVk4vTENhMW9xRi9sd3lPMUlvUVMreUVhazBBYThnUjVjdmhnT3VRT24zSUZUN3NRcEtWL2JmUjAwU0syczlLeWpRV3JGS3JkaGxkdG9rRHBvOE1ZVWVXSllwVzVGY2pkV3VSMmJydzJidngyYnIxMTU5TGZqOEhYaWtCUTU1UzRjVWhjMmJ3Y09xWk42ZXcrTGw4ZXBXYmdPVTJXSWVTVXJlZkw1RXVaY2RUY1RqcGxJZG5ZdVFnalNNOUxKTDhqNzQvaGp4amRObTM3MkswOC85Y1FSS3VncTZMOXAwQytlYzBucTFMUE9PTzZpeXk1K3JXaFk0YWNpWGZ5ZlNCR2tacWR4K0poeFhIekZUYnorbHBrbHk5ZmdsamZnRFczRUhlakY2ZXVmbWZzVkgvamFMc1d4ZW1MWXZMdXFlNWZIWDZQWTM1RHlmNVNmRzhmcFMrRHk5ZUtRZWxqcDdHU1pyWTFGSzlkU3VTaUtxU3FBVnUva3VSZkxtRDNuTmthUFA0SDA3SXlCNWYzZ1FmbGZubjMybFBubm56OWo0bzAzM3BDcWdxNkMvcHNDL2RTelQ1MTAybG1ueng4MGRNZ2ZsT1Z0S3ZtRGhuSEtHZWZ3eURNdlU3UEVoUzhjSXhqZGlFZnV3K2xSbHRMOU1OcWwrSTlnM3duNnJ3ZjZuOU9lZnZhdWY3WkozU3l6dGxHN2FCMFYxVTFVMUlUNHNHUXA5ei84RWxPbVhjeWdJVWNtVC9NRmd3Y1ArZE01TTg0cG5qajV4Q2txNkNyb2h6em9WMXgrNWNrbm4zcUtmdmlvNFZ2Njk2K0RSNHpta2l0dTVhMzNMVGk4YllRYU4rTVBiOFR0UytEMHhuRjZFOWpkTVd5ZTJFRVBlcjkydnNZZTNOSUdHdXpkTEZxNmxzcmFScXJyR2pHVkIzbnBGVE9YWDM0blJ4eCtBa0lvcy95Z0lVTy9HM2ZNK05xYmI3NzVRaFYwRmZSRGJseDQ0WVVqVGoxMTZodUhIVGJ5YzVHU2hSQ0NvU05IODd0Yjc2WEV1QlJQc0p0ZzAwZDRmQnR4dUhxeHV4STRQVDFKMEdNNDlyRDAzaFdzWFFIYlg5clR6N2J1Y2pPeWVtTFl2ZDNZUGUyNHBFNDh2amdPVHhkTFY2eWp1cTZacXVvb0ZaVWgzbjEzSVRmYy9EaWp4cHlFRUJwRXVvWWpqeHo1eDVOUFBzbnd5aXV2SEs2Q3JvSiswSTgzMzNvbGEvYWxsOXd6ZlBoaGZSbnBlUWlSd2FEQm81bHovZDBZYTYxNHdoM0kwUjY4b1I3czNtNXNyaGdPZHdLSEo0N0QwNDNERThQaDZjTGg2ZHF2RU84OWRlSHd0dUx3cnNmaGJjWHBiY2ZqUytDVXVsaGUzMHAxN1NvcXFxTllxb0xNSzE3T2RUYyt3V0ZIVGxLU2N0SlNHRGx5WlB5Y2M4NTU5YlhYWHRPb29LdWdINVRqL0pubm5EVngwckhCbEZUeGYwSUk4bktIYzhXbHQxQlI0Y0FUN3NFVlN0QWdkOUFnZFdLWFl6ajgzVGprRGh6ZU5oeWVEaHllemdISUQxM1F1MzkwdytyRTRlM0U1ZTNDTGZmaGtUZXpvcUVMUzJVanBvb29sVFV0dlBmaENxNjY2bG9HRlNuaHVkVFVGQ1pObXVTNytaYWJwNnVncTZBZk5PT3lPUmNQdTJqMnJPY0xCeFg4SUlRZ05TT0hNODZjeGJ2dldnZ0dFZ1JDbTdCSjhWM0NXakVhcEU0YXBDN3NVZ2QyYndkMmJ5ZDJUeWQyYjB5UkozWklRbTczeHJGN0VrbkZjVWh4WEw0RURrOE1tN3NidXllQjI3OEJoN2VYUlN2V295OFBvalBMMU5USXZQcXFsalBQdXBnc2pRSjhlbmJHbjZlY2RjWXJNeStjZllRS3VncjZBUjJYejVrejllaHhSMGVWUEhQQmtVY2Z6KytmZUJXYmF3M2hwczI0cEQ0Y25oN3MzbC9hVDhjUDJkbjcxOGo2a3o4ck56R25MMEdEcDVPcXhVMlVHU09ZS3hveFYvcDQ4TkhYR1hQTVNVcldYVVltaHgwNWV1MXBVODY4U0FWZEJYMi9qOXR1dXluOXV0Lzk3dEZodzQvWUprUW1xWmxGekpyOU8welZLd2syeHZCSDRqaTluVGc5Y1p6ZW50ODB5UDhRL0o0WWRpbXVaT1I1NDlUYjQxUlVOVkptbEtpdUM3TkF1NUpMNTl4TFZzNXdoRWdscjNEUWQ1ZGRQdWV0a3RMaUhCVjBGZlQ5TXQ1Ly83WERUenp4MklhMDlNei9GaUtURVVlY3lKUFB6Y2ZsYThjWDdzSWx0ZUtTT25CSjNUaTljZHh5NzM0L0lUOGtsdm5KMDN1SG5NRGoyNERUMDB2dG9sWG9UVDRzbFZIS0s1cDU4dGxpUm8rZnFCVHpwS1J5MXJTem9yTXVQTzhVRlhRVjlIMDZMcDE5eWVsang0MXVGaW1DbEl4Y3pweCtHV1VXQjFKd0V5NDVsanhVMi9WZzdkRGRiKy9YQXp4M0hLZEhpY0V2VzltSndSU21WQmVrdkNiQ0I5cUZ6TGp3V2xLekNoRWloWUtpL0kvdmYrQ2VpMVhRVmREM3liajMzbnZ2ek12TC9Wb0lnU2Eza052dWVnU2JaelhlU0I4MnVVYzVmQm9JazNVUG5EcmJ2U3JvdndaMGh6dUJ3eDNITGZWaHRjZW9xRzZrV085QlYrSERVaGZnNWp1ZnBHaklTSVJJcGFDbzhJOVhYMzMxazQ4Ly9uaUtDcm9LK2w0Wlo1ODlKV1BLMUNtdlptVmwvNWNRZ2hHSGorWDVWejhnMU55TkZJNWprN3Rva0x0eGVCTURGNnNDdkJKaXNudTdWSmgvRmVoeEhPNXVuTjV1dklGZUhKNU9haGF2b2RnWXB0VGtvMjVaSTgrOXRJQ2p4azhlU0tVOWYrYjU4MTk0NGJuQkt1Z3E2UC9VbUhudU9RV1RKeDlmS1ZKU0VDS05TU2VmUjZuSlNYalZwN2dEUGRpOHlxR1NkU0MwMUsxa2grMGlGZVJmdVdmMzdDeXlzWHU3Y2NqZE9LUStGcTFvUjJmeW9UVzVxVndVNHYzU3haeDh4a1VJSVVoSlQrSE1zNlkyWEhmZDFZTlUwRlhRLzZGUlBPK0RRU2NjZDh5U3RMUTBoTWprN0dtWFVyWFFUNkQ1VTV5K1hxd2VGYzc5Y1dEbjh2ZXd6TGFPc25LSllvTVRTMjJRVXJPRG1iT3ZJUzFEU1MrZU9PbTQ4SVd6emp0YUJWMEYvZThheno3NzVPQ0pFMCt3Q1NGSVRkTncyWnhic0RuVzRROXR4QzRuQm9vODFOUDBmUXk2M0luRDE0RmQ3cVRlM1lHbE5zVDhNamY2OGhDV1NoKy91K0Voc2pRRkNDRVlQMzVNeTFsbm5uVzBDcm9LK3E4YVR6MzE1TkR4RTQ1MktmblgyVng3M2IyNHZPM0lnWTA0cFI1c1VyY0srSDREdlFPN3ZCNjczSUhEMTAyRHV4dHpkWlJpdlIrOXFaSEsyZ2czMy9Fb1dabzhoQkFjZmRTWU5WT21uakZTQlYwRi9XL0V5RDg0N0poakpyaUZFR1JtNW5MRHpRL2hranZ3aFRjcUJSdXlDdC8rTHBLeGVUdXdlVHVUcTZnZTZwMWRtS3JERkpmNUtMT0VLSzhOY3Z2ZHo1S1ROd0loMGpqcTZMR3JaczQ4Zjd3S3VncjZuc05uOTkwejZPU1RUN1lMSVVqUHlPT1dXeC9HSTNYZ0MyM0M1dTNDNm12RDV1dFE0ZHV2U21EejlBeWtDVnM5WFRoOFhkaDlIWmpyZ3N6VGV5Z3pOMUpUdDQ1NzczOFZUZDRRUktwZzNMaXhhMmJQdm5TOENyb0srbTdqbXFzdkw1ZzQ2Y1NWeW5JOWo5L2Q4SkJTVSszdlRSb254ckhKSFRqOEtud0hCdlRFTHBaV1hUZ0RYZGg5TWN5MUVUN1V5dWpOalZUVk5YSDczYytUblRzWUlRVEhIWGU4L09BRGp3OVhRVmRCVi9MV2I3MGg3WnpwWnhpVWc3Y0NmbmY5UXpSNE92R0VOZzJrYUE1Y2VPcEorMEdVSzY4OEdxc0NGT3U5NkN3aHltdlhjdU50ejVLVmw0TVFncG5uemE2LzdaYmI4MVRRVmRERlJSZWU5MUtLRUFpUnlVVVgzMHlEdlJWcEY4alZnN2VETmZRV3crbnJvY0VkdzFRVnB0Z2dveStQVWw0VDVkcnJIeVExdFFnaE1wZzZaY3A3OCtlL2w2S0MvaThNK29NUDN2RklqaWJydjRWSVplb1pGN04weFdyODRjOXdKQXRSK2gxWVZiQU9Oc2dWMEczZWJweitQbFk2dWlneit5azFCakJWdEdDcGFHTG1ySnNSS2Rta3BhWncrKzAzUGFXQy9pOEsrbXV2djNKbVRrNzJuNFFRSEh2OG1aUlhlUWxFUDhYdTdSdHdZRDBRM215cS9wNFQrWDVUeWo0V3JXaWwxQmlnV0JmQ1ZMa1duY25MU2FlZHJ6anVGdVgvOVk0N2I3MVFCZjFmRFBSSEgzMzA4T09PUDY1WkNNR3d3OGJ5M3J3NjVOQW1iSjQ0TmltR1RWSkJPbFJBdDNxNnNYdDdjZnMvb25yeGVrcjBRVXFNSVV6VllkNmJ2NGhSWTA5Q2lGUUdEeHVjZU9DaEI0NVJRZjhYQVYxWHBrMDc3ZlRUVFVJSU1yTUg4K2lUYnlINSszRDcrbkQ0ZTdENU9yRkthc1hab1FLNnpSdkhJZlhoa0RaaTkyeWtvbTQxQzR3U0pVYVppcm9tbm4xQlMrSFEwUWdobURKMXl2SmxLNVpucUtEL3hrRUhKdDU3LzcwZkNDSCtSNGdjcnJ6K2NhenVUdHlCdm1TUHNuaHk3NmVDZnZBcnRwc2RsOVd0Sk5Tc2RNYlFsMGNvTVRTaU02N0NVdDNDalhjOFRXcVcwaWJxOXJ2dWZGb0YvVGNPZW1XVnhaMlRsNHNRS1p4MDJvWFVMbHVOSjdqeHAxMUhWSkFPV2ZqdFVqZEw2dHZRbVpzb0xXdEdaMnJFV0IxZzJxeXJFQ0tOakt6c1AxNTIrUlZucUtEL1JrRXZyekFPR25uVWtUMUNDRWFNbk1CN0MrcVF3cHR3eUlrQkR6TVY5Ti9DaVh3WFRuOFhWWXRhS05XSEtkR0hzTlEyOGM2Q3BZd2VkekpDcERGMi9MRnQ3MzN3L2xBVjlOOGc2SGZjZWVzclFvai9TZGNVY3RlRHorTHlLMHU5WFR1Ty9KcFQ5ajExVERuUVhWUU9CdSszdi9XKzk5Zm5ZNWM2Y2ZoYXNYcTdNRlZHV2FBTFVHYUpVcmx3RFk4ODhRRzVlVWNnUkRwVHBwNyt1Z3I2Ynd6MHg1OTU5TXpoSTRadEYwSnc1b3lMV1dacndlMy94MHdiZjY0SDJxNHJnbjgxMEgrODdiRjZkbFZNTWViWVQ5c2p1OVNGdzllTzA1OWdhVU1iV2xPUUVuMFF2YVdKNnRvbXpwOTVJMEpra0orZjkvV2JiN3c4VFFYOU53TDZDNi9OelRwNTZrbkxoUkFNUHVJSTNpa3B4eEdJWTVkNy8rRm1nM1pKdVZoZGdUN2t5RWY0R3ovQjMvZ0pjdVFqWFA0KzVYRG9ONTB1R3gvUXJobUVkaW1CMDllTE43d1pYL1RqZ2M5RkNtL0c1ZDh3OExudFc5QVRBNzhqdDM4RDFZdGJXRkFtVVdvSVVsRzFpZ1h6bDNQVTZHTVJRakJwNG5HQmhwVkxDMVRRZndPZzMzekhkVmRsNVdUK1IycDZMcmZmOXpSV2I1c1NSa3UyK3QxakxyVzBTMzl3S1laRDZoNXdkSFY0dS9INmU0bXUrcFJnNDBaV090WlNzemhJOVpJZ3k1MXJrYU85aEZkL2lpZlFnOVhUcGVUSGUrTFl2UWtjVW53WG02bllJV0ExRlJ0NG5YWlBYTWt6OENTd2VqcG84TFJobFRxd1NsMDQvSEhrNkVkRTFueU9OeFJuYVgwanhrb0hDOHFXbzdmWVdMUWlnaWZZVFhqMUozaERHN0Y3ZTJod0s3VURqcjFjMzIrWEVqZ2s1V2JyOVBYUzRJNmhML2VqTS92UkdvTFUxTGJ3ME1PdmtabWRSMHFLK04vYmJydmxDUlgwUXh6MGUrKy9wMkRzTWFOYmhSQk1QT2tpeXF1YmNQcy94dWFOMDVDc2NkNlRHcVN1Wkp5MkM0ZlVpZHZiZ2NmYmdTUjFFb2xzd09sY3kzUFB2YytzaTM3SGhHTk9adVNvOFl3OCtsaU9tWGdhTTJkZnd4UFB2VXU5bzRWb3kwWmNVaGQyZHc4dWJ4OE9keHk3SzdhTGNlVEJHOGF6ZTJPNzlJTHJWZ3d2M1FrY3JoNmNVaGYxM3ZWWXZhMUkwUVJ5WXc4Vml3UGM5K2lybkhQdVJZeWJjQUlqRGgvTjBHRkhNbnpFS01aT09KNnpabHpJWTgrOHpuTGJHZ0xSVDNGS0czQjZlM0R1NDV3Rmg1eGc0WXJWNk1vOWxCaDlsT2pEbUtxYW1ETHRjb1FRSEhiRUVYMDFpNWFPVWtFL2hFSC8zZTkrOTZ3UWdyeUNJVHoxYkRFT3p3WmN2byt3U25FYWZzR2R0VUhxVDhqb3hDbDE0UEsySWNrZGhNSmR2UFdPbGhNbVRpRXpzd0NSa29GSVRVZWtwQ0JTQkNJMUZTRlN5TWpJWmV6NGlUejV6S3Q0NWJYNFE1dHdTbkdjM3U3ZEdpa2VPcURIZHNvZHcrRktJQWMyNGcvMW9UT3VaUFlWdHpEOHlER2tadWFTa3BKR2Ftb2E2YW5wcEtkbGtKR1dRVnBLR2lJdGxmVE1MTVlmZHhvdnY2N0hIOTZJNU8vQkxTc2hzWDMxUHB5K0h1eFNONFpLSDhWR21SSkRHSE5WTTgrL29xTmc4R0VJSVpoejFUVnZxS0Fmb3FBdlhicDA1TERodzc4UklvVnBNeTVqMGRJb0h0OUdwYjVaaW1QOWhlVml3OENGMTRIZHU0NUFwQk5KWHN0MU45NUZWbTRPcWVtcFpHcXl5YzdUa0oyZlRYWitKcmw1V2VUbmE4akp5VVNUblVWYWFpcnBhU21jYzg0RlZOUzZDRGIxNGZGMzR2QzBEVFI2T0xoQi8zRm5WS1h6cThjZkl4THRZL0ZDbVd1dXZvdTgvT0dJMUhUU3MxSkl6eFJrWnFTUm5abEJWa1k2V1JucFpHZGxrcXZSb01uUElpTXZFNUdhU2xwNlBqZmY5aWh5b0JNcEVNUG02ZG9uUGVnR0RnQ2xPSXZxMTFCaWtpazFCakNVaHpCWCs3ajBpbHNSSW9XOGdzS3Y2dXJxSnFpZ0g0S2dYM0hGbkplRkVBd2FmQlF2dmFMRkxjZHcrM3F4UzcyS3dhUDA4d2RDRFo1dTdISWNtN2VkUUxRYnF6UE1ySXV1UkloVXN2TXl5U25Vb01uWGtKMmZRMXAySnFtWm1XUmtaSktXa2tKcWluS3g1K1pweU05VlhFb1BHem1CZCthYmlheEs0UFYzNEpMYWNVbGRPT1dEOTZUZTdvM2o4dllrVzB2RmNNa2RoSnQ3a0VOdFBQdkN5NHdhTlVwcGM1d3VFR21LTXJMU3ljc2J4SkRCaHpONDBBZ0tDNGVoMFJTU2twS0ZFQ21rYTlMSUxjZ2pTNU9MRUpsY2RmVnRTUDQyM1A2RWtyTytsME52L1dGVGg1ekE3dTNHVkJObWZwbUhNbk9BaXVwRzNuMXZJWWNkb1J6TVRaOCtmWjRLK2lFRytyeDU4NDRhTm16b3gwS2tjUDc1MTdOeTVXbzhjaHluRk1jaDl5Z243ajhIdWhTbjNxMTg3UTMzWVBldTVwenpMMFVJUVZadURubUZoV2p5QzBqUHpFR2tacE9wR2NyUVllTVlNL1lreG95ZHpJakR4cUxKSFlRUXFhUmxaSkJUVUlCSVQ2ZGc4SENlZS9sZElpMEozTDUyN0o0MnBhWHdRUTk2SEtlM25XQmpONHRXU2x4OCtYV0lyRFJFaGtDa0M5S3lzeGgvNGlsY2NNazEzSDczRXp6MXpBZTg4TEtXRjE3V012ZUZFaDU2K0hVdXZmeHVUanBwQnZtNVF4RkNvTW5Sa0p1Zmh4RHAzSHp6Zy9paW0zRDRldllKNkxzbVF5MWN1WlpTc3dlZHlZL2VGS0dxcXBscnJyMmZ0UFFNc3JPenYzdjIyV2VQVlVFL2hFQ2ZmczcwK1NrcGdpRkRSdkRHNitWNHZJa2s2TW03dTl5TFRlclpZOTYwWFlwamxYcHcremZnQ1haejJiVjNJRVFxbWRsWjVCVVdrSlV6R0pHU3g5RGg0N2p3b2h0NTdMRjNlZlB0U3VZVkwyVmV5VkxlZUxlY0o1NTdqOWxYM3NUUUk4Y2hNckxKek5jZzBsTFI1QlF4OTVYM2lhenF3eTEzWXZkMEhjU2dKM0I1KzNCNjR3U2lmVlRVMmpsMjBwUmtPK05zMGdvR2M4cTBXVHo2M0R2TTB5L0hWT3VuY25FVEZZdFdZNjV1d2x6VFJIbHRNK1YxTFppckd6RVkzTHo0M0h6T21YNFJXZGxaWkdTbWtaV1pTVnA2RG84L1cweXc1WE5jdnQ2ZnlXWC81NUo1NmwyZHlpcE9UbUNzRGxCcWxORVpHcW1zV3N1OER4ZHg1T2h4Q0NHWWNlNE1pd3I2SVFMNkFsM0p1RUdEaXpZTGtjck1TNjVueVlyVk9MM0pzSmEwU3h4WWltR1QycFBxVURxRHlNbFFqN1FKWC9RakhuajhCVkxTMHNuTUZPVG5acEdlbGtWcTVqRE9uSEVOcjd4VmhhVXFSRlh0YWlxcTEyQ3Bic1pVRmNWY0hjRmNIYWE4TnNLYjg1WXo4NUxiME9RVmtwcVZoa2dURkE0WnhMc2Y2SWswYnNRcHhSUWZPcWtMdTZ3Yy90bWt6bDBxc3c1ZzhvdlVnOFBkaDllM2lVQTB6cXpMcmtRSWdVaFBaOFRvVTdqL2tROHhWb2NvcjJ2RVZCM0ZVQkZCWndsVFlneFFZZ3hRYkFoUXJQZFRhZ3lpczRReFdpSlVWalpTVVI3bXdRZmZadWlJWXhDWjZZaE13WWhSUjJHdXNCT0tmSTdkRzhmaGE4WHVYNDNOMTdaWGwvQ3VRQysxeTFzbzFyc3AwZnNvTTRXcFhyaUtTNis4QjVHZXpxQmhnNzUrY3U2VGsxWFFEd0hRSDNqa29VZUZFR2lLaHZIQ0d3WldPanR3K1hzSGxuRTdsK2dkMktUMTJLUTJiRkk3RGw4WERwOXlBaHhvL0l4aXcwbzBoWU1RbVFKTmJpWnBLV2tNSHphV094NTRFWE9kRDNOdEJMMGxqTTdVaE03VWdzNGNRV2NPb1RPSDBScURhSTBoOUJWTmxGZEhlT3p4TnhoKytHaGx1WnNxT096d1VWZ3NLd2swYnNBbWQyQ1RsTGkwOHBvNmtyQWZXTkNkVWc5MmR3K0I4Q2NzWGhsazFOaXhTcU9FRTAvaWpmY1hVVkc3bGpKTEJKMDVuSHpmaWtxTmdUMUthL0NqMHdmUjYxdW9ybWxqN2t0bURoOXpEQ0pUSUlUZ3ZQTXZ4eVAzNFExc3dPRmJqejJ3Q3B1dmRTOVh1OFZvY0hlaHMwaVVHTHlVR1AyWXExZnorcnVMS1JweEpDSlZNT09pODk1WFFUL0lRWC80MFVjR2p6OTJ3bW9oQkdmTW1FM1Zva0RTT1hRUCszR3BjeGV3T3BLZ2QrSU5KMmh3cjJiaUtkTVFLV2xrNWVjaVVqSVpkL1JrWG41WlIrWGlJS1VtTjZVR0NaMHBoTTdVaU03VXZBdm9JYlRtSUtYR0FHWG1FSHBMbU9xYUpsNStUYy9SNHljaVVsTVFRakRoaE1rc3RVV1FvMzNZSktVYnlVRUZ1aStPMDlORnRQbFQ1cFV1SnJkd0tFTVBQNHEzUHFpa3ZDYksvREtaRW9NZnJTbjRLMEgzb2RQNzBaVkYwZXFhcUtwZHcwdXZteWdhUGdhUkpzakt6dWVsMThvSXQyeFNMSjM5WGRqazdyME91dFBYUTlYaUprcU5Ib3IxTXFYR0lPVzFUY3ljZlMxQ0NFYVBPMnJqZ2xMdDBTcm9CekhvanozKzhEVnA2ZW4vbTVrOWlLZm56bU9aZFIwT3VXZmdRT2JINFNQRmUweHAvV09YMjdCSnJRUldKYmoxenZzUklvV2NnaUtFeU9Mb3NhZnk3anMxMUM1c1JHdVcwWnI5NkV3QlpUWXpOU3JhWldZcnN5aGZhMDBCeXN4UmRQcG1haGF1NXAwUGE1bDArblJFV29iaVVqcjdldHloQks1QU53NWYxMEVCdXRQWGcxMU80UGJGY1VrZE5EaGFlZmtOQzBPSGorUHVCNTZuZW1HTHNtTDVFZUFETnpsVGNJL1NHUU9VR1lLVUdhTG85YzJVR2FKVTE2N2huZ2ZmSURzL1g3Rm9ubndHOWE0VzNNRmViRklmTnFsM0w3ODM1UWEyM05aR2lkR0R6aHlneE9ESFhCM2x4VGYwWkJjT0ppVTlsUnR1dlhtdUN2cEJDdnJMcno2dm1YN3VtVXVGRUV3OCtUejBaamYxams2Y3ZwNmYrY1gzS000a2NvL1NnVVZ1SmRDU29OaTBpTUhEaHBHdDBaQ1dvZUdJVVNmd3h0c1YxQzF1d1dBT29UT0ZrNG9rRlZVZWYzU3hEL3paRkVGbmJLTE1GS0s4Tmt5cDJjcHQ5ejNObUdOT1JxUVA1ZGxYRFlSWGYzeFF6T2o5aDRJT1h3OE9xWnZheFZIS1RCTEZPaXRQUHZjaHBRWWJKa3NUWmViSUhpSC9KWldad3VpTllmVEdDR1dHTURwRG1ESmpDSE5GaVBNdnVCcVJrb1pJeitEeDUxNG4wTElabTlSSGd5ZXgxMEYzeUhGc1VnSkxiWlFTZzR6V0ZLRFVHTVJjRmVUVU04OUhDTUZwVTA1elZsUlY1cW1nSDRTZzMvL0FYY2ZsRldYOUlGSlR1UFdPWjFpNFpDMHVhZVBQNXBQYnBWNGMwaWJGOFZXTzRReDA0STYwTTIyV2tocVpucHJCa01FamVmN0YrU3hjRWtGZjdsVXVXbU96c2xRM05lMkUzQlQreVY1MXA0TG9MREk2aTR6VzVNTlVGYVY4WVRQemRDNGVmbW8rNzVVc3dSdnB4ZWsvOERPNk5ibTBkZnA2cUZ3WVJhdVhLRE1HTVpqOFZOVEtHQ3h1OUlZd1phYm8zdys2TVlyZUdGVmdOd2N4V0FLVTZ0MVUxMFI1L1RVTFE0WXBjZmxqVGo2VkJ1OTZuUDVlVnJxN3NPL0ZSQnJGUWFnYmQyQURpK3ZibUsvektxQWJ3bGdxbTNqZzBSY1JHWUtzM015L3Z2bjJXMmVyb0IrRW9OOTg2M1dQQ1NFNDRxanh2UG5lUWhvY1NuSER6NFd0SE41ZW5OSW1ITklHN1A0WXdkVTl2UHpPQXJMekJwT2Vua1oyVmk3MzN2c01OYlZCOUdZZldyT0UxaHhFWjJ4U05BQjYrQmRCMTFvQ2xKWjdLQzJYMEZvQ2xKakM2Q3hONk16TjFDeGJpOHVmd0NiRkZBc3JxU3Q1ZHRCNXdLclMzSUVOTEZ5eEJxMUpRbWNJb2ROSDBCa0M2RXd1OUJZSmd6bUMzdEw0RDRMZWlONFl3bUQyb1RONjBCcGRHTXQ5bEZkR09HL1dOWWowRk5KeWNuam1wWG40R2pkUzcrN2M2MFU2RGptT1ExWkNidnJ5QUZxVEg2MHhnc0hTeEx6U3hZd2FQd0VoQkxNdW52VzZDdnBCQnZvSzY4TE1ZeVlldlY0SXdka3pycUc4WmpWV1R4ODJ1Uk9yMVBVem9NZHhTYjNZcFEyNEdudXA5NFdZY3VaVUpZU1VJVGgzOWhWWWF2MlVtWnZRR1Z1U3kvT2djZ0NYUEYzL2RSZDVNS2xkdnk4cFU0aEZ5OXVWbFlXMFFha08yODM0Y0g5NXBDc2xwaTdmUnBZMmRDWVAyVUlEcjdGczRIMkVrdTgvL0hlRDNuOURMRE9IS0RNcisvWXljNUJTVXhETDRuVTgvT3lIWkJjVUlZUmc2dG5uNHZXMTQvYjE3dld0aWNQWGpkUGZnZFBmaGJrdXlJSXlENlhHRURwTEJFTkZpSXN1dncyUklqaHEzS2cxcjczMVZwRUsra0VFK3B2dnZIUjZXcmI0ejh6Y0F1NTU0RFdXTmNTeGVmcXcrMy9lNk5IaDdjWWw5ZUR3OXlHMTlQSE02MitTbnBHbVdBMGRONGtQall2UW1XVjB4a1owNWtaMGxnQTZpKzlIMFA1ejBwcEM2QzBSVmpxNmNjb2JkK2t4dGovajZGMjQvRDI0L0gyc2NNVFFsNGRZVU9hanhCRFlhKy96bDFScUNsRlcyOEtIQml0ampwbUVTQkhrRnc1bVFVa05vZVpQOW1wZHZ3SjZESWUvQTZlL2s3cmxMWlFZSklyMVN2VEFVdFBNNDNQbmsxVlFTRXE2K0orNzczdGdtZ3I2UVFUNmxWZGYvcVlRZ3NOSEhjdTdIeTZsd2RXTHk2Y3N5WCt1TXNvdWRlUHd4WEVIKzFqcFdjWEUwNVhadktEZ01KNTVvUmhMYlpBRlpSSTZVNFF5Y3dDZHhhTm9yMTdvWVJhVSthaW9hMUZ5OEFlMkdiSDlPS1BIY1BvU05MaTdLSytMSmtOT0FVcjAvdjBDdXRZY1lyNGxnSG1oc254UFRVOURwS1l3NStwYkNUWnQycXNtRlFPZyt6cHcrRHBaNld4SGEvSU5KUGtZSzVxWVgyYmxtSW1uSVlSZzJveno1NnVnSDBTZ1R6cDVZbFNJVk02ZWZoVTFpNXF4dTN1VXNKclV1UnZvdTFrWnlURnMvbTU4MFEzTWZma0RVdEl5RUNucFhEN25UaXBxR3ltelJOQU83TDM5U2RDOWV4MzBVcU95VDF4dTd4Z29xWFRJOGYxbkxDRjE0L1FsV0dacnBjemlRMnZ5NzF4cTd4ZlFnOHkzQktoWXZKcGJibithekd5bFFlS1lZMDVrYVVNVHZ1akhBNjR4ZStVOVM1M1lwRGJzY2djT09ZNmx1bEhKQ1RBRzBCb2pXS3Fqekw3aU5vUkk0YkFqUjMxUnMzaFpqZ3I2UVFENlBmZmNNNmxvY05IWDZWa0YzSFB2YXl4WjBhNDRsOGpkeXY3OFowQzMrcnV4QitNNGZlMU1tbndHUWdpT0huTThIeFl2cDd5bTVVY0hiRUVGZHZQZW5lVzBSbVg1WHF5WEthOXRUTGFDaXRQZzd0eVBvTWZ3QkhzcHJ3MmpOY25veklIa1djVCtBYjNVSEdDZVNjWlN0NWFubnRhU2x6OEVrU0hJRzF6RSt5VjFoRnMrMzd2MlUvMmcrenB3K2hMVUxsMUxzZDVIaWRGUHFUNUtaZTA2SG43aWJUVDVnMG5QMHZ6bnMzT2ZQMTBGL1NBQS9hcXJybm80TlMzdHY0c0dqK2J0dDVleWJFVU1wOXlqSktESVB3OTZ2UnpEdTJvekw3NmhJejA5aDZ5c1RPNTc4RW1xRjBhVFdXN0JYUzc2MEI3ajVYdGpqMTVpOEZOcTlLTTF5U3kzdCtQMHhiRjZPdlliNkE2NW01WE9kblFXU1RtVE9BQ2dmMWp1dzFTOWhyZmVYc3J3NGFOSXlSS2taS2Z4OEZOdkVWNzF4ZDV0ZGprd283ZmpEdlN3M05xRnpoeWsyT2lucEt3UlU4VWEzcHUvbUpGSEg0dElTZVBTeTY5NFZnWDlJQUQ5ekRQUFhDaFNCQ2VlTkFOTFJaamxLMks0NUY3c25tNGMzb1RpZGJZSHkyRlhzQmU3dkk1SnA1MkJFS21jZk5yRjZFMCs5QlZSdEQ4NUxROG40ZCs3b090TVlVcU5RY29zSVVxTk1qVkxXNVF5MnYzVUVzcnU2Y1loOVZHMWFCVmFrNDh5UytCSDd6bTBYMVJza05DYm81VHFQQnc5ZmpLcDJVcms0NDc3bnliUTlDbE9YKzlldEl1T0RZUXduWElDcTdzYmZXV1FZb01mclRGRW1UbENSVTJZTTZjcHBjbkhuM2ljcklKK2dFSC8vZTkvUDJqY3VIR2RJaVdOeTYrNWo3ckZhNmkzSm5CNWUzQzQ0empjdmJ1QnZyT2FxWnR3NDhmTW0xOU9WazRXR1RsRlBQNk1pY3E2Ymo3VUJmZmJCYjV6ZXhDazFDaGpyZ2tsMDNXN2R5L0EyWWNwcnpaUEgrYXFsdVJad1g1ODc3dUVIOHNNUHNyMFFjd1ZFUzY5Nmk0bFlTbEx3N012TDhBWC9XaWd1KzNldEl2ZVdhY2V4MXdicHNUa1V4S2J6SDdxRnEzbHBsdWVJQ1U5amNNT0gvYlo4ODgvUDB3Ri9RQ0NmdW1sbDU0M2ZOaXdiMFZhRHI5Ly9DMXFGcTdHNXVoTmVyTjE0M0QzN0JGMG16ZE9wUGxUN3J6emFhWDUzdlRaV0tvYTBabGFLREVGMFZuMkorakt4YTQxU1dqTlhwYloxdSszd3ppSG5HQ0ZQWWJPSEtaWTc2UFVHRGd3b0p2OGxCbUNHQzFoZEVZWE45N3lGTGZjOFJ6bUt2L0FERzcxeFBhNkwzeC9XbXpWNHVhZG9Kc0NWTmV1NXBublNzak9LeUF2UC9kUHQ5OSsrMndWOUFNSStvd1pNKzdPeXN6OHY2TEJvM243L2NYVUxscXJ1SzE2TzNCNE9uOFdkSWVjd0JmYXdEblRyeVV0ZlFndnZXN0VVdDFNcVNGTXFUbXdWMlBsdjI1R0Q2QTFTU3d3T0ZtNFloVk8zLzRCM2VucllVbDlPeVdHd0FFRVBVU1owWS9lR0VTbkQySXdSYWlxWFVONTVXb001U0hxWFIwRFMvVjlBM29QQzFlc3BjUWtLZWNVcGdEbThtWkt0WFpHSG5VY1Fvai92ZmJhYStlcW9COUEwTTgvLy96NVFnaU9PK0ZzRE9ZZ3RZdlc0WmJpT0x6ckZCUEdud0hkRzlwSXZhMlZvNDgrZzVtemJxR2lPb3pPcUVDbnRmaVRCMUw3RjNTZDJVZUowVTMxa2lZbFlyQVBsKzc5c0xnQ2ZTeGEwVXFKd2IvSGt0UDlKYVhZUlhrMEdKdlFHMVpScG05R2J3bXowdG1lTEVaSjdMUFBZcG05bFJLVGwxS1RGNjB4aU1IWVRHVlZJNmVjcWhTNXpKZ3hvMVlGL1FDQmZ1T05OMlpQbmp6WkpvUmcxb1UzVTE2NW1xWExPM0JKWFRpazFUaTg2M0c0RXo4QjNlcUo0UWx1WU1ueVpxNjc3akhlZldjWlJuTkVBZDBTUkd1UjlqUG8vVXQzbVJLakcwdHRlS0I4OWw4Q2RGTVl2YUVKdlNtSTNoUkFiNGlpTjdSUXBvK2dOL3RaNmV6WXU2ZnVQNTdWNVRncm5lMlVsY3VVbXR5VUdVTm90VTNVMXF6bHFxdnZWYndEeG85Yis4d3p6eFNxb0I4QTBDKysrS0pqeDQ0ZHMxa0l3VzIzUDR1NW9vVVZEVjI0NUM3czB1cmtyQjcvMlF1OXdkbE9SWVVQdlQ2QVZoK216QlJCWi9IL1RkQzE1aEJhYzFpUmFSZVp3OGwvMjExL0QrakZCamZHS2w4eXZoM2Y5NkQ3KzFpMGNqMGxCaCtsUnQrdkI5MFVRV3VLL09oOUI5R2FBOG5ISDMwT3Z4aXFDMU5tYkVadkNsRm04cU0zaGlrek5sSm05RkZta1ZqaGFOK25iWndjVXB3R1R3eGpkWUFTbzBjcHdTMXJwcnA2TFE4ODlBWXBxVmtjZGRUb3orNi8vLzVKS3VnSEF2UkxManh0eEdGRHZrMVBLK0NwcDdXWXF4dXBkM2JoOUNXd2VUc0d2T0IyVFNmZGVZSDNzc0xSaGQ2aTJENzF4N1IvV29DeXA3aHZPS2tvcGFZbVNrM05pc3doU2kwK1NpMyszYVMxQkg3RjBqMkUxdVNqV08rbXJGeW13ZDM1a3lhTyt3cjRKZGExNk13ZXRHWXBtUkFVM09XMUJmZjRtcldtRmtxTmE1THZPMEtwSlVDcFJVNHFRS2s1bVB5TUlnT2ZrWGEzU3I4ZkYveUU5NUJqb05RV0xMZTM3Wk1PclAxdU92MnJCVXROa0dLREI1MHhSS2t4akxrcXluT3ZtTW5VRENFdExlMlBjK2ZPdlZBRi9ZRE02QmRlblpZbUdGUTBpamZlV29pbHBoR3JwenRwTk5GZjE5MytzNkF2dDNjbTNVLzJZQmJ4aXdyc1RDclp0YUxMNGxNT2MzYVZXVUpuOXYzS0dkMUhpZEdEc2NxSDFkT1pMS2ZjdDZEYnBRVEw3YTNvSzJTMFptL3l0UVoyZ2RDWFZES0J4aFRkNmFoamlxSXpSZEVPMU9Ncm40TTIrZGxvVGFIa3YvVlgvelVsdnkreTI3bkV3UFB2d2FsR1h4RmdwYXRqbjh6bXU5bG15UWtxRm9Zb01VcG9qY21ibVRuQXV3dFdNdlF3eFN2dnBaZGYvcjBLK2dFQS9abG5ubmxFQ01IUlI1M0kvQVVOVk5RMTRaUjdjZmw3c081RDBQdExOc3ZNQWNyTWZzck1mblRtWkk2NEtiQzcvdFplZnhmUWRSWS9Xck1IVTdVL21lKytQenpmNDFnOW5aaXFBNVFZM1VsekRQOU9FQzNlNUEwcmtEVFlhRUZuWEtXY1o1Z0M2QzBoekZYTlZOU3VvcXB1RGRXTDExS3paQlhWaTVxcHJHdkJVdDJNd1JKRlo0eWdOVFlwM3p0Z3UrWGY1Zm4zRExxeE1qUVFIZGlYb0x2OFBkUXNhMEpya3RFYStyTUMvWlNhUFJ3L2NTb3BLWUpaczJhOW9vSitBRUEvNjZ3elh4SkNjTnFwTTlEcFhWUXRXb1hMMzVlY0Nic0d6QjV0ZThneWM4Z0paZWxlSGhrQS9SZVg2d01HaDJGMCttWjBaWTJVR2NJWUxWR001V0hLcTZOVTFxeWl2R28xNXZKbVRPWW1ETVlvQnBOeWtmK3RwWHVaSlVoWnVZOVNrNXZhWmMyNC9BbkYzbXJYeEpaOUZtSkxzTGgrRGNWR0Y2VkdMNlZHT1prOEUwaXVUSkpwc1NiRjhWWnJhc0pnamxDemNCVlZ0UkhtbDliendxdEdIbmowRGU2OC8zbnV2TzhsN24va1RaNTdVYytIcGZWVTFrYXBXZGlNb2J5UjRySUlXbU55UnJmcyt2ekJuOWh3bFJxRG1LckN5ZDlYejE2UFF1ejZtVHJrQkl2clZ5dCtnQ1lsTzY3TUVrQmY0ZVBzYVJjaGhHRGt5SkZWa3laTlNsVkIzNCtnSDNmY2lacFJvMFl0RVVKdzRRVlhZVEpMVkMxZWpjdmZsNXdOWTc4SXVwS0EwWU9oSWtxeC9wY1BvYlNtWUJKMFA2WDZFRVo5TXhXVzFWUldORk5WRmFGVVorUDlEeGJ6enJ0TGVldnRwYnovUVQxR2s0L2F1bVpxcWhveG1vTzdQYzlQOTdzaHRDWS9KUVlQaGdvL0t4d2R5WE9HL1ZPbXF0eFU0bFF1YXFSWTcwWm5EaVRMVklPNzVmZHJqWDUwSmovbTZrYU1GcGtubi9xUW1iTnU1T2p4cHpCbzJHZ3k4d3BKMStTU2xsbElldllRQ29wR01tcjBaTTZlUG9jSGYvOEtwUVluNXBwRzViRE9sRFRRSFBEZDIvbVpsQmo4QTQvbHRZMERONk45bXpnVVowbkRXa3BOc21LMFlZbWdOZnN4VnZtNUtPa09PMlhxVk9ucHA1OHVVRUhmajZCZmU4MzFRNlpNT1dPMUVJSnJycm9OYzdtUHFrVXRPUHRCOS8weTZNb3Zkd08xUzFvcEx2dmxSSkZTWXdDZEtZUytvcEh5cWxWb1Mxdzg4N1NXcTY1OGdKTlB2WUN4RTA3aXNDUEhNbmpZVVF3ZU5vWWpSaDNQaE9PbWNON01LN252L3FkNGYzNE54c3BHOUJXTk85Tk1reGQycVNGSWlkNVBxZEdIb1NMSWt2cFc3Rkppd1BWbC8yVEh4Wk5MNHpoVmkxclFtcFE2L0JKOUdLMWhIVnJES3NyTWpSaXJJcFJWU056LzJOc2NOL0VzTkRtRlNqZFprYXAwazAxTklTVXpoZFRNTkZJeTAwaEp6eUExSTV1VWRBMVptaUltbkRDTmV4OTVCMzI1SDFOVkkxcERJenJqYW5UR05ic1ZDNVVZL0JUcmxYRGYwb2IyZ2JPS2ZSdUYyQjEwblNsTXNWN0NWQlhndXB2dVJnakJLYWVjMnZqb280OE5VMEhmajZEUHV2akNvUk1ubmJoZUNNSE50ejVPZVhXWTZpV3Jrc1VQaXBtQ1hZNGx1NS9Fc0h1NnNYa1VpK2YrUjZmVWc4MmRvTHkya1ZLVFRMSEJTNGxKcHNUaVk0RXBTTEVoZ000Y29ieTZDVXVGbjlmZkxPZXFhKzdqcURHVFNjOG9SS1JrSTFMU2xSWkZLVW9UQXBHU1NscDZLdWtacWFSbHBKR1JtY3JoUjR4aTFrVzM4TnFiVlZpcUlwaXJHdEdhL1pSWVpFcE1mdlNXS0xWTDE3SGMzbjhBRjhNdWRlM1RPUHJ1RjduaXd1UHk5K0R5YldCSlF3ZVdtbVpNRlMzb2pNMll5bHVvcW12aXhUZE5uSHJXUmFSazVpbnZXUWpTTWpNcEhEcU1ZU05IY2ZoUlJ6UHNpSkVNR2pZY1RWNGVLUmxwaUZSQmFsWXE2VG5wcEdTbWtaNlZ4OW5uWGM3N0pVdW9YcnlLRW1PVStXV05sQnFEQTFWOEpRWWZDOG84bUt1amluSG5YaWxrK2R1Z0w3TzJVMnBTemlpMHBpQWxCZ2xUZFlpNzduc1dJVkk1NnVpajJpNllkZjVJRmZUOUNQb3BwNTgwZk5UWUkySWlKWlU3NzNrTlMwMlV1dVdyY1BsN2YzSkJLSzEvZnlxN3V4dW5sTUFwSlZqY3NJN3l4VkVzaXlLWUZrVXcxclZRdmFLRGxZNEVKVG9ybDExK0MwT0dEbGRnVGlvdE93ZE5iZ0VGUlVNb0dqS2NvcUpoNU9VVmtaR1pOZkIvc3JJRTJkbHBpQlRCNENHSGMrMTFEMUszTklvajBNc2krM3FXT1dJMHVIcHh5QnVTczJwbnNuTk0yMzUwbWVrYWtHSkMwWWZMdjRGNlJ6ZHU3d2Jzbm5ZZWVHd3VSY01PVjk1WGFob2p4eHpQeFhOdTVZbTU3N0Nnckk2S09qdTF5eVdxRjdreEdGYnkxdHNHN3JuL0NhYWZkd0hEanp3Y2thNThIaGxaeXVQNFl5ZnlYa2tWSzcwZEdCYzJVbGF1bkZPVUdIeG9UVDZxRmpmUjRJcnR0MVdOM1p0Z2hiMExyVW1tMUNnTlJBTXNOVkVlZVhJZUlpMmZJVU1IZnpKa2FPSHhLdWo3RWZSVEo1ODhhdWl3UVorbFptaDQrT0YzcWFpT1VMdThaWStnMndmNmUzZmg4Q3FQZGs4WGRrOGN1N2MzNlJUYmk4M2JpOTNiaTEzdXc5LzhHUTUvTi9jLy9pcEhqSm93QUs0bXI0Z1RKNTNGbGRmZXdhTlB2TXliNytnbzFsVlRxcStsdUt5R2R6ODA4ZWhUcjNEdFRYZHh5aG5US1J4MkJDSTFsWlEwUVdxMk1ndWVOR1U2V3N0S0dsdTM0cEQ3c0VzOWlsZWNwNzk4c24wL2d4N2JEWGFIM0kxZGppR0ZOdUNTT3JqMnBudEp5MVFhVGh3MmFoejNQdlFpZFVzYThZYzJFMm4rbkdEMFkveWhUVWlCUHVUQUppTFJ6Mmx1K1lMbVZaOFNhVXhRVVczbHZnZWY0YmpqVDBha3BpTXlsQjUwSTQ0Nm1qYytOQkpjdllrR2Q0eVZ6aGhMRzlwWVllOVFqQ3I5ZmZzc1NlYlhnbTZ1anZMMDgxcFNNd3JKek1yODQwMjNYRDlGQlgwL2dqN3FpTkVUODNQemY4aktMdUNacCtaUlVSMmhic1hxZ1RETXp1VmViS0Qxa2xWcXgrcHRUMzdkUVlNVW8xN3VvY0dib01HYndPNUo0UFQyRVloOFRJbHBNYWROT3dlUnBzQTVaT1NSWEh2elBjd3JxV09sYlEyK2NDL0J4bzFFV2pZVGJ0NU1wR1V6b1ZXYkNhemVoSC8xQm53dFBWamwxWlJVTHVmMkI1NWt3b21URUZrcGlDeWxqL2lRSTQvZ3hUZm00Vy9zdytydHhDNTM3ZExBNGFlSlB2dmVCVGE1M1pFNnNNbHRTTkVFeXh4UnpydDQ5c0JOYnRyTVM2aW9jeEJ0MlV5bzZWT2NubDdzN29TU1p1eUs0L0wwNFBUMDRQVDA0dkwyNHBJU1NJRWVJaTBiQ1RmM3NkemF5RU9QdnN4aG84Y3FQZWhTQlBsRGh2RDJmQVBCbGszWTVSZ09YMzhDU3k5T3FXOFhzOHdEQTdxcEtzSUxyNXJJeUI2Q1NFdjVQNC9rdmtBRmZUK0NQbWpRWWFlbnBtYjh0MGpUOE1UVDc2SXZsNmhic1hyZzBLWS8yOGtoeDdINjI2bjN0V0lMdEdNTGRORGdhNlZlWGsrOXY1M2xnVTZXUysyczlMYmg5bmNUaW16aTJia2xGQTBiaGhDQzdNSnNmbmZyTFpRdnN1TU45dUNMZm9JVTJxZ1lXL1N2SEpMNy93WnZOeXU5M2RUTE1XeitHSzV3Tjk3bUJKNW9uT1dPSmg2ZCt4cEhIM2ZNd0VXZVU1RExNeSs5aXhUdHhpNjNKbHRDSlNHWDlxZmRjLzluMVkzZDE0NFU3YUxlMjhLMFdSY25sK3FwWFBHN2UzRjZZNFNiUHNIaGFjTXBKYXNEUFowNHZEdmw5SGJpbEx0dytycHd5QjNZcEZaczN2WFk1VmJrU0MraGxrMVVMWEV4YmVaRmlQUTA1U1o2MkpITU55d210SHFqMGhwTGltSHp4ckY3ZXJGNWUvYlQ1eEFmQUYxcmtpbXorQ2t4ZURGVWhIanR6VW8wZWNNUjZhbVVHYlN6Vk5EM0kranpTOHVuRnc0YXpPUXpwMk9vc3hOYS9RbU5hN2NSYXZsc3Q4UVl1eHluM3Q5R2ZhQ1Y1ZEphNmdPdHVKcTZDYXpmUkNUK0daSGV6d2pITnRIYzlRbWg1amgzM1BrVTZXbURsQ1gyeWFkUlVsYUp2eW1PSjloRHZUZU9UZTVWV2k3dlFWWlB6NC9zbXR1VkMxM3V3QjNaU0tCbE15dnNqVngveXozazVPWXBXNEdDUXQ0dXJpQzBwZ2VudngvMC9kczJXUUc5QjdzY3d4M3F3QkZjdzh6THIwT2tLWWRwczYrNkhqblFnei8wR1U1UEh5NXZQQWw2T3c3dkh1VHJWd2QyZWVjS3BVRnF3eEdNSVVjMzR2Ykh1UDZtaDBoTHoxYTgraVpNcG1LSm0wQkxMM2FwSzdtVjJZRE4yN3ZmUVM4MVNoVHJQU3dvYzZNeiszbitaU09aMllNUnFZTFgzbmhGQlgxL2dCN2Y5azFLZlBzUEk1czZOeFF2bFVKMGZiNmR6ZC84QjdHUC9relR1cTM0R3ovZXBZZFlBcWMvd2NwQUcwdWwxZGdiTzFuVnM0V09UNzhsc2ZVdjlINzFGK0pmZjB2Zk45OFIvL3dyYnIvM0VlWEFLS09BNjYrN0I3ZDdEWUhRUnF6T09IYTVsM3BmTi9WeUYxWnZmSSt5ZStJNFBIRWNubGp5TEtBZGg3Y1ZtN2VWbFhJWDlkNXU1TkJIaEtPYmVPc2RQZVBHbjBCT2JnRTMzdjB3b2JVOU9IeXR5VXkrcnYxczk5eUxRMHJnQ1NYd1JycTQ2cWE3RVJuWmlOUk1wa3k3QUx0M0ZWNS9OelpYTnk3dkpseWV6VGpkdmNyNy9QRWhwN2NidXkrRzNkZU4zUmZISnZWL1BqMDArRHRZS2JkaTlmWWcrVDRsSE5uTUxiYzhRRXBhT2lJbGl6UE91eFJub0JWdlNBbjEyVHo5WnljL2hkTCtxODRkZG01TmRtMVVzZlBtdkxQRHFrM2FGWFF2MVl1YldXNXJaMmxERy9PS2x6RXNtUWI3K3R0dlRsZEIzNGVnYjlqeDlaR2RuMis3TGJibDI0VWRXNzV2N2ZycXIvKysrZC8raTQvLytCODB0MjdEVUJuQVV1dFBuaHpIQnc2NDdISVB5M3hyc0s5dVovWG5YOUQrMWRmMGZQVm40aC85aWRiRWRscGltMWdkMzh4eWQ1aHhKNXpLcUxISDhNalRyeE5zM0lnYzJvamRtOEFoS2JPNDFSdkRPakRUL25SR3QzdTdzZmMvZXJxeGUyUFl2VjNZdlYxWXZiSGtyQi9ISVNXSXJQcVU2c1VoM25pL2hvcEZJZHlCQkhZNTlyTXgvMzNyR3hmSDRla2kwTmlMdnJLZXpKeENoQkFNUFdJTWxRdUQrS0libFFRa0thNTBrbkhIc1hzVGUxN1o5RmNMU2pzaEgvaDhmREZzdmc1bEx5N0Y4UVI2OEFTN21UTHRja1M2QmlFeXVlT2V4L0NGdTdCNzI3RzZZMHJiWkg4M05wOVNUbXAzeDNHNGUzQzZlMzY1SjF2U0U4NHVkV0wzSmJNazVTNGMzbDRjN2cwNDNFbXJNVThuRG04YlRsK001YllZcFNiRkU4QWQ2S0hubzcrdzRiTy8wckh4YXhiYWZEejgzRXZZZzlFSFZkRDNrVFovK2MyUlBkdDJCTnUvMlA1L1hWdS9vM1BybjJuZC9nTTkzLytGbGVHMXZQSEJVdVpyblZRdGp1RDB4Wk4zY0tYRlVMMnJFL2VxT0cxYnY2THpteit3ZnNjTzFuMjBnK0NxemRnODdUUjRWMlAxcnNicVhjUEMraURWeTN6NG1ycHhCM3NIdk1UM1pvakg2bEhxNGEyZWJxVElSd1JiUGtlT2JON2w1dFI5WUVCM2QrTUw5V0NwZG5EOHBETTVZOXI1ek5OVzQ0OStQTkJHK1ordisrNVBZbEwyOEhhNWswRHpabDUrcHh5Um5rMXFlaWE1aFNNd1ZLMWdYZXdMSFA0dWxubldzekxRUVlPL0U2c2NVMnk4UFFrYzd0NWRadVdmTTM5VTZoM3N2azRjL2s0Y2NxZmk5Ky91dytGT0pGY2huVGc4NjNINVlpeXp4cFQwWDVNWG5kbU51VmJDSnJmU3MrVlBiUHMzK09TNy82QjMyeCsrVG16WjRlbjRmT3Z2T3o3Zk9rZ0ZmUytxZCt1WHIzVnMyMGJydHUxMGJmMldycTAvMFBQTlgxbjN5UlptWEg0OTl6ejhEcWJxRUZXTG13YkNNZjJkUjd5UlB0bysrWXI0bDkvVHRlTTdtdm8rd3hycW9FRnFWL2FDVWdjMmJ3Y091UXRmNDBaODBRMjRnL0Y5VmxDeTYwSGhyb1VWN2tEZmZvc1oveFQwWGh6dVhtV0c4M2F5M05xRTFiTWFPZHlOeTkrVGJDb1IzN3VnKzJQWTVVNDhvUjZXTzFaeDNJa25KVS8zMDVoNCtqbDBidHBPOTZmZkVtci9tSVp3Snl2a05ob0NNUnFrYm15ZStNLzRBUDRVZEt1M0hhYy9oaHp0dytHTDBlRHFUSVpWWTByT2dyY0RtN2NWcHkvR01tdG44akJPb3Rqb290amc0TU15RzJVTFBUVDNicUh2cTcvUzhkazN0SC8rTloxYnYvN3ZqaTkyZk42N1paczU4Y1hXQ1Nyb2V3UDBMZHNUNjdkc1lkMzI3YlIrdm9PdUw3N2prei8rSi9QTGF4RFpoVHp5ekh6TU5ZMVUxRFhqOHZVbFFZOWhrOXBaRTl0R2JPdDN4TFo5ejZxZXJWajliVFI0VzVYbG5OUTkwREJCU1R1TkR6aUQ3ajFyNFYvdVEyN3pkdFBnamgwd3lIY0h2UWVISjQ3WDM0dkhGOGNoeGJELzZMWCtjMzdxeWl4dWx6c1Z6LzFrZTJncEVzZFl2WVNwNTExQTBaQWpHSHZpNlRSM2JXVERsMyttZTlzUHJQLzRHK1QxRzFudWEyT0YxSWxON3Y0YjhmV2RvRGQ0MnZDRUVuVDBma3RINzdkNEl6M1VlMXFwOXlpSHBIWi9GdzNlVmx5Qk9Fc2EyaWl6K0JXVFRwUGlCbXVvQ1BIZ3N4OXc1WjJQRU4vMkE0bXYva0w3bGovU3V2V1B0Rzc5QTUxZmJDZjIrYlkvYnRqeDFYdGJ2LzlUdmdyNlA2RytyVHVXZG16Wnh2cXRXMW4vK1ZZUzI3N2owMi8reWgzM1BZZ1Fna2VmK3hCelRTUG1xbWJzMGtic1Vwd0dkeHZCbGw3aW4zeEwxOVp2YWYzNGF6eVJIbXh1SlZuRzVtM0hPdENhZU5mRG1mZ3ZMQWwvbStwZnVqdDJmZlFvaVVaN1BRTnZvUC83cm1yRDE5aUZKOXlLc2M3T0lrZUkxWDFiYVAva0c3cDMvRURuOXUvcDN2NG5JbDJmc1Z4dVk2WGNnVDJRK05VenV0WGJqaWVVb0d2REgrbmQ4aGVDclJ0WkthOWx1WGN0RGY0TzZwUFBWN2RpRFdYSkh2WksvWDBFYy9VcW5uaitROUp6aXlpdVhNeG5mL292V3JkOHkvcXQzN0YyNi9lMGJ2K090cTNmRU51eTQvOCsvL2FQRmhYMGYyWkcvMkw3K0o2dFgyN28ycjZEdG0zYjZOdngzU2ZONitPTjR5WWMvMWNoMHJudmliY3cxN1JnTEcvQjZ1ckQ3azFnbDlwcFMyeGp3OWJ2NmRqeUZmSzZQcXpPVHR5dUhwenV1SElSeU1rVGJ1bEgycStkVEErMFl0aTlIY25RV0VjeWd6Q0d3NU9zRDlnUG9OdWxEdXh5RjY1Z0FybDVJN1pJakdYK1ZweXJlMmphdUpXT0w3OGo5dVdmaUczOU15Mko3YXlVTzFqaGFmdFZlM1M3M0lITDM0M1YyNDYvYVNNOVcvNUkzNDd2V2QzN09jNW9GeXZrTmxiNlkxZ0RDYXFYTktFMWVaWHlYRk1FbmJFUlUrVjZubjMrUTRRUW5INzJETmIxYnFiM3ErOXAzZklOYTdkOXg5cXYvc0w2ci81RTZ4ZGZrdGkyZlpzSytqOTU2cjVwKzlmSHhMZnR1S2ZqaXkwdmJ2cnEreFBjY3RPNElZT0hkZ21SeWgzM1BvT2xxaEc5T1VxOU00NVY2c2JUbUNEMjZiZjBiZitldFp1L3BON1hqczNWamRQVmc5T3p5MFhuN2R5RHV2NmxablNidHdPN3R6MnBUaVZhNE5sWHFiWjcvcnl0VWh5YkhLZmVHNk5lN21LRjFNRXlxWTNsZ1E1QzNaL1J2dlZiT3JkK1IrTExINGpFUDJWNW9JMTZ1UU9yM0lWTmltUDM5bUQzS0VhZzl2N2ZyN2RUMlM0a2I5NTJPY2I2VFR2by92STdPcmQveS9yUHZzSzVKc0ZTdVIxN29KZnl1bWh5eVI1VWZPTk1VY3hWNjNqazBkZElTVW1sY01nd0d1UWdIMy8zRjFxLytKTDEyLzdBMnUxL3B1M0x2OUM1NVJ0aW4zemhVMEhmeXdremQ5L3pRUDVKSjUyMFJnakJEZGZkaGJrOGdNN3NaNW1qblhwZkY3NzFtK2phK2gzZDIzK2djZjNXQWZQL2Z5MkFEMzAxZUdLc2tOc0pkVzJtZThmWGRHN2JUdWVYZjhEWHZZbmxnWFdzOUhWZzlmVmc5VzdBN3U3RDRZN3Y0U2Fsbk5ZM3VMdUl4aituL2V0dldidGpCNjNmZk0zcXozYmdiRW5RSUhWanFtcmE2U0prVVp4L0xEVXQzSDdIa3dpUnd1RWpqOGEvYWoyYnYvMFRiVnUrcEhYck4zUnMrWUhZbGgvbzIvSUhQdHJ5VlZBRmZTK0RmdWFaWnhXZGNPS0pFU0VFbDgrK252SUt4WE50WWNNNjZ2MWROSFZ2SWZIbG4rajg0bHZjb1Y2bE5EVjUyS1lDZEFpZEgvamlXUDJkclBTdEpkcTlrZGoycituYy9nZGF2L2dEbnJVSlZ2amFzUHJpTkxoN2xFUEZuenRiOEhUVDRPa2lGUHVZanErL1pzMzJMYXpkc1pYdWI3NWozYVp0ckhDM0pkMkdncnVEWHJ1S2E2NjdEeUVFazA0KzliOC8vZm9QcTc3NDg3OXZiUDk4QjExYi8wQnN5M2ZFUHYyR25rOTM5SDcrNVhjelZkRDNNdWlISDM1RTVtR0hqU2dYUW5EK3VaZGpOTXVVbW54VUxXM0JFZTVoN1lhdmlPLzRnZWJlTGRoa0pVbEZCZWNRQkYyS1lmZkhXQ210cHo2d25wYmV6K2phK2kyeEhYOWsvVWZicVErMHNWTHF4SnBjdWpzOG5kZzluWHZzczJiMXhGalY5em1kWCsxZzNZNHZXTC85QzdwMmZFbjM1My9BNm0xSGx6UUYyYWtRNWJXcm1IbWg0akJ6NnRTcFRTdmRucHlQLy9EOXlBMWZmcnRvNDVmZi9rL2ZsbSsrNnZ2OG04VWJQdjlxc2hwZTIwZWVjWmRmZnZrTFFnaE9uandOWFptYlVwTVBVMjBJWjZTWHRvLytRR0xIbndoMGJLTGUwNmxDYzZpQzd1MGNpSkNzOUxaaWo4UlkvOUZYZEczNWx2ajI3L0N0NjJXNXB4V2JuRkRLa1pObkRYdEtJVzV3ZHhIdDJFejhxMjlvMzc2TnppOTNrTmp4TGExOTIxbmFzQnJ0ajF5R3RLWWcrdklJcDV4eEFTSmRjUFNFY2JwZHI3OHQzLzM1NWsrMmZ6TmRUWmpaeDZEZmQvOTlEd29oR0hYazhjeGIwSURXN0VOYkllT0s5Tkg1MmZkMGJma085NW80OWZ1dDE3aXFmUUc2dzlPQjNkT05WWXF6M04xT3FQVWp1cmY4Z2U2dDM5RDIwUTVzd1E3cVBaM1l2VjA0dkszWXBiYWYyZTkzWVE5MXNYckRGanEyL1lIT2JYK2diZlBYK0tKOVZOYzFEU3piZDEyK2Y2aVRHVDNoSkVTcTRKcWJybjFCZFlFOUFLQlBubnppaFpxY3pQOHFLamlTVjErdm9jd1NaSUhSamF1eGo4U1dQOVAyMmRjMFJGdlZHZjBRbHNQYmlkUFRpY01UeCs3dFk0V3JDMnVnbmJhUHQ5Tzk3V3ZpVzc4bDNQb1JEZDcyWkpody9jK0NicFBpclBCMFVCL3N3TFdtQjgvNmpUZ2lDYXllT09XVnpiczA4bEJNUFBYbFVkNlo3eUIvNkNoRWl1Q08rKys4VHdYOUFJQStkZXFVazBhT092S3IxTlIwSG4zMEhTem1GdWJyZk5qQ25mUjkvUTJ0SDMxT2c5eWVMQ2hSb1RrMFovVFl3T0ZhZi9iaUNsY3JUZTFmRVAvOGUrSmJ2MmYxcGkwMFJGcXBsOWJqbEpROEFKdm5GK0xydms3cXBYWldTaDFZcFc2czdoNE01U0ZLVFVucmFWTVl2YkdGaXNyVnpIMWVUMloyQVlPSEZuMDc1WXpUWjZxZ0h3RFFMN2xrOXBoeDQ4YkZoUkRjY3RNalZGV3VZVjZwbitXK1Z2cSsyY0hhdnMxSy9QUmZMTlB0dDMwNEY4ZnFqdUVLOU5HeDZUdTZ0LzVBMnhkZllWL1Z4bkpwRFE0cHBpUkUvVXdjMzVGTXYzWDZ1bkZJaWwvOE1sc0hXck5NcWRtak5KUXdoU2tyYTZHMmFpMTMzVDBYSVZJWk0yYk14MDg5OWZUeEt1Z0hBUFJISG5razQ0d3p6MXltbkx4ZlFVVkZFL08wQVpaNFcrbjcraHVhWXhzVm15YjF4UDAzb1YxRG8vWHVEaG83dnlDMjVYdTZ0bjlIc0dzRHkrVTFPT1Z1bko2L0RickRGeHVvY3F4ZHRwcGlnMWRwcm1tUktET0ZLTk0zVVZYWnlLeUxibENNTVk0K2V0VU5OOXhRb0lKK2dQcWp6NWx6K2J0S1c5dkpsT21kek5mNVdlSHJwdmVyNzRsMmJFaWV2cW96K204dmthWUxkMk9DenMrL0k3YmpPOVo4dkExcnNBMkhGTVBsU2Z3cTBCMXlITHZjZzZVbXlnSzlsMUt6aE5ic1JXc01ZREJHTVZ0a1RweDBKa0lJTHJqZ2dtcTFQL29CQlAybW0yNjZPVHNyKzcrS2lvYnh6bnZWbEJxQ0xKY1Q5SDc1SjhKdEd3WU1IMVE0Zm1PenV6ZUdOZENoaE5xMmYwZjdGMS9qYVk3ajhIYmg5UDQ2MEoyK09BM3VidlRsL2dGUC8xS2psMUtERDB0Rk0vTStYTUtJSTBjalVzVi8zbm5IblErcG9COUEwTys3Nzc0cEkwZU8zSmFTa3NhRHYzOE5mWGtqUzkwSkV0ditqSDl0TWlOT0JmMjNKNm1iZXJtVmFQd3p1clovUjllMmJ3bTFic2J1N2NMcCtiV2dKMWk4Y2kwbEJnOGxCcGtTbzQ5U2t4ZXRVYWE2ZGhXUFBmNDJHVG5aNUJma2YvZllZNCtkcFlKK0FFRi84c2tuTThlUEg3OUtwQWhtWDNZVHBvb21scmszRU4vMkY3eXJFbGc5Qi90aFhIOVpiR3huSlpmVW1UVEZVRUpDZHZtbjZyZHFVdjVQTjlhQlUrcnVYU3l0NGo4eWFlajZHY1VPeVJsOXBYYzk4dm9OZE8vNEkvRXZ2NmM1L2dWMnFST0g5NWYyNkYwNC9kM1k1VzZjY2crVkM1c29Mdk9pTlFjVTBJMSt0SVlRTlhVdFhIdmRmWWcwd2Fpamp2em8vZmZmTDFCQlA0Q2dDeUhFU1pNblY2WmtwakQrK0JNcFh1Qm1oWHN6bmR1L3g5SFVqYzNkbnF3L1AwZ3ZXaytmSXFrZHE3UWFoMzhObmxBbjdtQUNtOXlEVllyVDRPbW0zaDFqWlZJTm5pNXNjaGQyWHd4SElJNHJtTUFSVVByTk9hVVlUcWtMbDdjYnB5ZUd3eDNENFZiQ1ZJb2I2eDUwQ0ZicldUMWROTGpiY1RWMTAvWEZkeVMrK29FMW03Wmo4M2ZnOU1kKzFzWkw2Y3VYU0xyTTltQ3NqQ3J4YzB1UUVwT1hVbjBUT3VNYWpCWS9wMDQ5RnlFRVowMDd5eTUrNVZCQjM0ZWdUenY3N0ZzeWN0UC9YOTdnUVR6N25BRzcveVBXZi9FSGx2dmJzYm82c0IzTUNUT2VIbXllaEJMZmxkdXh5NTNVdXpwWnVLeVZ5b1ZyTUZjM1VWWWV4bEFlUmw4ZVFWOGV4VkFSd0ZRdFUxNFhvR3BKaEVVclcxamhXSS9WMDRIVDA0bGI3c0xqNjhZbGQrRHd0aWxKSk42Mm56Rjk2RGdrWjNTYk40YlYwNEV0Mk1IYVRkdUpmL2s5YlI5L2pTdlNuZXkzOXdzMThaNFlkcW1IcFEzdHlkcnpvREtqbTd5VTZodXhWSzduelhkckdISGtHRVNLK0wvcmJyaitJUlgwZ3dEMDU1K2ZlMVRSc01MdEtSa3BYUHU3UjNBRSsyamQ4Z2RxN2F1eE90djNnVlBLdm1qeWwyQ0ZvNVBLaGF2UW1TS1VHcEo5MVkxaHlrd1J5c3hSOUpZb0Jrc2plbk1FdlRtRXdSSWVlRFNVUnpCVlJMQlVCcWxkM01UeWhyWFlYRXFqQmFmVWhpUHBrV2ROMW4vYmQ2blR0aDJpQ1VWV2J5Y3JwZlUweGorbGU4Y2Y2ZnI4VzZUbW51Ujc3UDZGNWJ0aUgyYXFEbEZpa0Nnemg5R2FrcUFid2xUV3J1UHVCMTRtTlN1WHJCek52OS8vMElQSHFxQWZCS0FMSWNTSko1M2dFeW1DU1NkTlo2bDdOVzFidjhXeW9vbUZTMWZoVEdaVUhTejE2THNaVDhwZDJPVnVsalMwb2pVSEtUVUVLVFdFTVZVMVUxNGR4VndSb3JUTXpYdno2bm50ellYTWZiR0N1UytXODlLcmxieitWaDN2dkwrTStTVTI5Q1lKYzBVQVUzbUk4cW9vNVZWaExKVkJxdXVhV2Joa0RTdnRuVHNkWmVRRWJuL2ZubCtQRkQ5a1puUzcxRVc5YnozQnpvMGt2dnFCK0xZZjhLM2E4SXVnTzJTbGMycTl1NHV5Y2wvU05pcU0xaHlrMktna3k1aXJJc3k0NENxRUVCdzVlblRyN1hmZm5hR0NmcENBZnNVMVZ6NHJVZ1JGUTBkUVhMV1VycTkrd0xTc0dZTWxnR3VYaS9oZ3VKQjNCY3ZwajdITXZoYXRXYUxVNkVkZkVhSmlVU1BGUmh1L2YvUTFabDEwQThkUG5NR3d3MDRnci9Cb3NuS09KQ3QzQkpyOG9SUU1QcHpoUjQ1aHpER1RPUFgwNmN5NjVHcHV1ZU5Kbm5qMkE5NytvQmF0M2tWbFRUT1ZOYXVVMXMrMVVlcVdyMkdGb3hPSDFJdkwxNGREN2hub1AzNG9ncjVTWG8rdnRaZnU3ZCtSMlA0bkl1cy8vUnZ0ckxwdytYdFl1R0kxV3JOaUFLa3poOUdhRk5BTjVSSG1sZFl6ZXR5SkNDRzQrbmUvZTFIOEhVTUZmUitEL3VUelQ0M0xLa2o5WHFTbWNNL1R6OVA5elorcFhObEthWm1YNWRiMXVQeTlBeW1VQnd2b1RqbUJRKzZpY25HSUQzVU90Q1lmbHJvZ2p6NzNIc2VlZENZWm10eGs3L1UwVWpPelNNL1drSjJYVDJadURoazVXV1RrWkpLU3FiUk5HbWpubkM1SXo4L21zTkZqT1BuMEM3ajhxdC96NkJNbHZEdXZIa3RObFBMYUpzelZVU29YTnJPMHZoMmJ0eGVucncrbnJ6ZjVlaEtIRE9nT3VadmwzclY0MW5UVHNlVWJFdHYveEtxdXJUKzdSN2Q2WXJqOENaeStCS2Jxb0pMYmJsWktVN1htRUtWbUg1YWFSaDU0OUYweU5JV2tacVQ5djlmZWV1TVVGZlNEQ1BUWDMzczlkZkpwRTV1RkVKeDc2V3c2UC82U0pmWVlDM1FoS21xYmxkNWlVbUlYTThqTy9kckljSStnKzNxb2QzWlJadmFqMVV0VTFnYTQ1NEVYeUNzY2poQXBaT2RrazVPZlEyNWVEdm1GZWVRbXY4N0p6eVVuTjVmYy9EenlDdkxKU1Q3bTV1ZWh5YzhpUTVOR2Fsb3FRcVFpUkJhYW5LR01ISDBDWjAyL25EdnZtY3ZiNzlWaUxnOVNWYldhaXNvMTFDMWRUNzBuaml1d0VadVVZS1dyRTZ1c2VPOGR6T213ZGlsT2c3Y05aN1NUOWs5MkVOLzJSMWIxYktQZTE3Rkh5MjY3Rk1jZDJNU1NodmJra2oyZ3VMMmFRMmhOSWZUbUNPYXFFT2RmcUtTOUhudjhoT2E2cFlzTFZOQVBJdENGRU9LaHh4NitUd2pCOENNUFI0NjJZcE42bUtjTlUyTDBzOUxSaFR1d1lSY24wdjVtaGdjVzlLWDFuWlFadzVSWFJYanhKUjFGZzBhUm5wWk5ibTRPK1hsNTVQMmQ2ditlL1B4OGNuTnowV1JuazVHUlJscDZDaUpka0pHZHg3QVJZem56ekRuOC9zRjNLQ20yWXFyeVU3NG96QkxyT214U0hJZmNRNE0zR2FjL2FFSHZUcmJKNnNRUmFxZHQ4MWE2dDM3THFvM2JXT2xyMzIxNzFDK1h2eGVudkFsejlTcEtESDVLZHpXYU1JVXdtaHQ1OTRPbERCc3hBU0VFTjk1MC9lUEZ4UittcUtBZlpLQnI5YVdqQncwcjNDS0U0UFgzU25ENjRwUWFRc3pYZXFoYzFJelQzNXZzbDM2UWdPN3ZZZUh5Tmd6bUtKWktQMmRObTBOcVdqNzUrVVZKV1A5KzBIZFZibTR1T1RrNWluS3p5YzdQSkNNM2s3U3NUTkl5czBqUHltSDB1R081NUtxYmVlRXRMYm9LRzdYTG8xZzkzVGlrWHF6dStDRnc4dDZCUGRqR3VvMmYwNzMxTzladS9wS1YvcDhIWGVuR0VoeW9PZDlwQmhtaWVtRUx0OTcxUEVKa1UxQTArSnU3NzczckpQRjNEaFgwL1FCNmVZVTU4K0pMWittRkVKeDk3Z1VzYldoQ2IvR2pOZnJRbWlSV09OcHh5UEVCdis4RERickwzMHYxNHJWVVZMZncxbnUxRER0c0hHa1pPZVRrNXBPZlgvaFBRZDRQK29EeThzZ3RMQ1NuSUE5TlFTNmF3aHh5Q2pXa1phY2lNdFBKSGp5Y0tkTXY0dUduM3NCVTVjVXB4UWRPNWc5ZVE4MDRWbThIMXNCNlZ2ZCtTbnpiZDZ6NytCdnFnNTAvaVNUMHQ1V3kxRFJTYXZBUEdFenNsQjlEdWNUeGs4OURDTUcwR2VmWVhubjkxVUlWOUlNUWRDR0VlT3lKaDJkcWNyTCtvc25ONWRubjM2T3lKa0NKd1V1eDNrM2xva1ljY2p6Wjk2dmpieVJXN0NmUUY2Mmp1bVkxanozMUxwcUN3V1Jxc3NuTHl5Y3Z0MEI1L0NkaEg0QStyeEJOM2lBMCtVVm84Z3ZSNUJlZ3ljOGpweUFYVFdFZWFUazVpSlFNMGpXRE9XM3FMRjU5VTQvSDN6WFFFKzVnaVZqc1hwdWV3Q3AxWXZXdm95WCtFWW50ZjJUZHgxOWpEWFVOaEZQN0FYZjVlMWxjdjFiWm01dEN1em5KbEJnQ21LckNQUGJNQjZSbkRpSTlNK2YvUGZIc005ZUxmMkNvb084bjBPZDk4SmJtakROUGxZUVFURDVwR2thTGkxS0RoeEtqRjEyNXhBckhlbHdCcFhPSDR5QUF2WFpKTytWVkxkeDh4K09rWm1lUmxaZWh3SmxidUhkQno4OUZrNStyek9ZRmVUdVZuNGNtUHg5TlFRR2FnaUl5TkhrSWtVN1I0TU80ODc2bmFIQXJaeHNINDZ6K2EwRHZsOVVUdzF3VG9GZ3ZvVE9IZHdOZGF3cWhyd2h3K3ZUTEVTS0Q4Y2VmMERxdlpINitDdnBCRExvUVF0eDM3MjIzcGFTbS9GZG1aaUhQUFBNZWxUV05sSm1EbEJnOFdHckRPSDNkV0tYMlpQcm5nUVM5aDBWTFd5bXZhdWJxNng4Z0pUc1RUWDRHZVhrNXlSazlieStDcmlHbk1FTlJRUlk1QmRuazVHZVRVNUJMVG40Qk9mbUZ5VWNGL3JTTU5ESnpDcmpteGtleGVqcndCamRpOHlhU3A5MWR1L1NKUDdCdU16YXBpd2JmZXByam0wbHMveTRKZWd4N01qR20vL05lWEwrV1VxTTdlY3FlQk4wWVJHc0lVRkhUd3ZPdldzZ3RPQUtSa3NHTUMyWXVGUC9nVUVIZmo2QXZtUC8rNEZHalJyVUpJWmcyN1h5cUt5T1lqWTJVR2NMb2pDR1dXZHR4K0xxVWpxcTczUFVQeElXNjFMcU95cHBWWEhuTjQ0ak1iRFI1bWNuVDg5eTlDcnFpM0Qzb1IvOG5mK2VwdlNZbmk5U3NOSzY4NW5aYzNtNms0TWMwZUxxb2w5ZGg5M1VlQkhGMEpjdXZYdW9nMHJXQnhJNnZhUDMwR3hwQzNUaDhuZGlsRHB3K3hlYlpXT21uMUNTaFRVS3VNd2ZRR2NJWWpZMVVWNFdaZWNIVkNDRW9LaHIwNlYzMzNETldCZjBRQUYwSUlhNjg4c3FuVTFOVC95Y3ZyNGk1eitxb3ExbU53UkJHYXdoaXJBd3JQYmw4M1Rpa0F3djZjdHQ2eXF1YXVlYTZweEVaMldUblpmdzhoUHRUdVhrVUZPU1NvVWxEcEdadzdRMFBJQVY3OEFSN2FUZ29DbUYrSHZUNlFBeXJ0eTNwSXROTjNmSlZGQnZjbEpVSEtUV0gwU1pCTHpPR3FhcHE0ZVdYVFF3YU1ob2hCQmRlT090RjhVOE1GZlQ5RFBvVFR6d3hhT2pRb1gxQ3BITG1tWmRSVmVYSFhCNUVad3hTWXZCUnZiUUZ1eStCdzlkejRFQ1g0elM0T3FtdVhjM050NzlNV25ZdVdYbnBCd2ZveVJWQVRtNG1tWm9NUkhvbWQ5enpHSUZvSDI3ZkJxeWVuZTJ0RHN6Ky9lZEJ0NGJpMktST1hQNDRTNjNyS1N2M1VXS1FsT1c2SllUT0VrUm44bU13QjdCVStKaDEwZldJbEF3S0N3dTN2UGJhcThOVTBBOGgwQldYMkV2bWlwUlVjbktIOHZTejcxS3pNSUxlSEZEaXA1WVFLMXpLaFhLZ1RwVHRrbUlTc1dSWkJ3LysvbjJ5ODR2SXpFazlpRURQcHlBdmgvejhiREkxS1dUbDVQSDAzUGNJUmo5V3VwZktTdGpxd0tUTjdnNTZ0R3NEOFIxZjB2YnBOMWhEUGNuZlp4eExUWVJTbzV4Y3JvZFpZSkFwTWZvcE13Y3Byd255d2l2RjVBOGFnUkNDMjIrLzdTWHhUdzRWOUFNQXVsNnZ6eDg1YWxTbkVJS1RUajBiZzhXT3VUS0UxaENtV0IvR1hOdUN6UnM3Z0JlcllnaXgwcHJnNldmTHlCODhqSXpzbElNRzlQemNmQXB6OGluSTFaQmZtRTFHZGpwRlEwZndRWEVsZ2NaTk9PVGVBN1lhK2pIb2piR05KTDc4T3JsMFQrQ1UrNmhidW9aU28xSzBvak5GMFptamxKaGtTa3crOUpZd3hnbzNaNTkzTVVJSURqdnk4TVRycjc5MnVBcjZJUWk2RUVMY2ZNdk5ONldrQ3RLek5OeDEvMXdxNjVvbzFVY3BOVFN6UU85bjRZcFZTc0hMQVlvUk8rUTQ5ZFlFNzd5L2xDT1BIa2RhcGppb1FDL1NGRkdZazBkQlhnNjUrZG1JZE1GUng0eWhlb2tYZitQbkI3RGliWGZRbStLYjZmMzZENnovNUN2cUF3bVcyem9vc3dRb01malFtU0xvVEkyS0xENUtUVEtXbWhaKy84UTdaT2JsSVlUNG4zc2V2T3Nlc1JlR0N2b0JBdjN4SngvTFBlblVTUzRoQkdNbVRHWkIyWExLeXNPVUdKclJtWnZRVndSWlp1M0FLZmNsclliaVNiL3YvUVM2TDA2REs0YWh3c3VrMDg4aUpTdUZuUHdjOHZaQ1p0dy9EM29lQmJrRjVPZm1KNU51Y3RIa1pKR1NMampydkZrNEF1dVJJZ2thM0RGc1VvSUdPWUZWanU4MzBKMnlZaUt4VXU0a0d2K1l4STV2V2JmNUc1Wjd1akZYTjFKaThDbDkxRXpoSk93UmRLWVFla3NJcmRIR2NaT25Jb1RnK0luSGhUNlkvOEVnRmZSREdIUWhoTGpydnJ1bjVlVG5mUzlTMDduMDZsdXhMQXhTWWd5akwxOUZxU0dJb1NLQzFkV0RRK3BKWmxQdHY2V28zYTk0djlXdGFPU2lPVGVTbHBkRlpsNG0yWGtGNU83RmhKbTl1Vy9QenM1R3BBcnVmUEFoZ2kxeG5QNEVObDh2OWY0ZUd2YlRaMmYzeG5CSlhUamtPQ3Q4WFlRVG54SC84Z2ZXOUgyTHBXNE5PbE1vbVF3VDNMMURxajVLWlUyVUcyNTdrSlMwRklRUS8rKytleCs4VHV5bG9ZSitBRUV2MFpXbXo3endBb01RQWszQkNKNTlTWXU1cG9rU2ZaQVNnNTlpdlV4RlhUUE81SjdUNnRsLzlrcDJ2Mkk5dk1MZXl2MlB2RXhXWVNFWk9WbmtGaFNRbDM4d2dxN0UydFBTMDhrcEdzeDd4UldFV2piaDhDZXcrbnV3SGpEUVA2WG42ejhUNnRqQ0FxTWZuVW5waGxwbUNlL1dCcm04dW9rWFhqVlNOR1FVUWdoT20zcEtUWEZKY1pZSyttOEFkQ0dFZVAzTjE0ODVZdVFSdlVJSWpwODBIWjNaaWFrcVNvaytnTmJrcDlRb1VidXNKWmtidlIvM21yNTJITDV1VmpoaXZQRmVKWU5IakNJelIwTnVmdjVlVFlIZDYyRzN2RHlFU09IRWs4NWd1UzJDTjZUWVR1OGF4ZGlYZTNlN040YlQyNGxUanJOYzdpUVVWMEIzTlcva1E0T2M3SVlhMmFWNEpZU2hJb3ErM00zSlV5NUVpQXp5Q3ZPM3ZQREs4MlBFWGh3cTZBY1lkQ0dFdVBXMm0yN096TXo4TDVHYXcxVy91NC9xaFkxb2pTRktERExGZWcrbEpqZUw2OWZpOU1YMzI0eHVsZHR3K2hOWTNSc3hWZm80ZnRKWnBHUmtrcFdUUSs1QkNYbC9aVndlT2JrRmlKUjBicm5qSVVKTmlXUkR5MFRTbm1yZldsUFp2VEZjM2s0YTNGM1VCMkkwYmRoQzRxc2ZhQWgxODZGZUFWMHBXUEZUclBlaEw0OVNYcmVLbSs1K2tuUk5BU0kxbFd0dnZPNVJzWmVIQ3ZwQkFIcGpZMkRRQmJQT1h5NkVvS0RvQ0o2YVcwcmx3dlZvelFGS2pSSmFrd2V0MmN0UzY3cjlGakt5eW0wNGZOMDB1RGF6Y09rNjVseDlCeUk5ZzZ6Y25JTVc4djZpRzQwbWo0eXNMQW9HRGFQVXNKQkFaQk4yYnk5MktiRmZRTGU3MjdHNnUxamg3Nkt4YndzOVgvK1pKWEliODNZQnZWK1ZDOWZ4MGh0TEdYellHSVFRbkhqcVpGdW9PWktoZ3Y0YkJGMElJZVkrLzlTSXd3NC9MQ2FFWU95RWFTelFTY2tUV3FVMzlnS0RFMzJGbDVXdS9pNnNzZVRGR3R0RmUzZnBidmZGc1hzK1l1SFNOaDUvK24yeWNvdlE1T2FTZjdEdTBmUHl5TXZOSnljN2wreWNiRVJLQ2xQUHZCQXBrTURqMzVEMG5vc3JUUXovYWRCanUxaFN4M1krbnp1R3c5Tkp2Yk9MOHBWTlJIcy9vL2VidjFEbldNdThNaTlhcytJZ1UyendveStQVUtLWE9mR2t5MUFjaUlaL2Z2K2pENHdUKzJDb29COGtvQXNoeEZOUFBYbGVXbHJxWDRSSTQveFoxMk91OUdDMEJDZ3pCZEJhWklyTkxrdzFJZXFkTVZ6K1htWFB2bzljYWF5UzBoN0lJZlZRdDJRZDczMndrbUVqamlVek8vdWdudEZ6OC9QSXlkZVFVNUJOWm00bTZWbDV6SDMrUTVxYVAxSENYcjZZMHVOTVZ0b2dPZVF1eGQzbjcvNk1PckJKNjdGSnJkZ2s1VHpENlVzbTZYamlHR3RhMEMwTXNQN1Q3WFJ2L1lHcVpXdVpyL2RTWXZFb3pSbU1FY3FySTF4ODJVMklsQXp5OG5MK2NzNzUwNjhSKzJpb29COUVvQXNoeEhYWFhUZFhDRUZxZWc0MzMvb29sVFVoOUtZZ1drc0FyY1ZIcVZIQ1VoUEY1a2t1UDZYT2ZXTS9KY2V4U1RIY3ZqaDFTOVppTW9jNDdvUnpTTTNJT0tobjlKejhYRFFGMldnS3NzZ3V5Q1lsUFlzVEowM0Q0VjZQTDlxSGZhQ1o0VTc5dzZETDY3QkpyVmk5YlZpOUhjbWJiNXpLUlUyOFUrckJ0Q3hDKzVZdjZmajBPNHcxVFN3bzg3SEFJS0UxQlRCWGhiajk3cmxrWk9jcTdZOHZ2RUFuOXVGUVFUL0lRSC9sNVZkeXgwOFkyeUNFSUw5Z0dFOC8rd0hWQ3hzcE13VXBTM3FJbFJoa1RGVVI2cDFkU214ZDZ0enJmY3FzY2h5cnR3dFBzSTlGeTlaVFVkbkloUmZkbEFROTd5QUdQU2NKZWphYWdsd3lzM05KUzh2anVSZmVKN0w2WTV6KzJONEJYZW9jbU0xdFVxY1NGZkhHbGVhSWVpL3ZhVDFVMnBxSmYva3RxM3UvUkZzZW90UVFSbXVJVWxYWHlBdXZsbEE0V01sbFArYlk4ZjYzM242elNBWDlYd2gwSVlSNDhvbEhKaDE3N05pUGhCQ01ISFVzYjcxZFFXMWRNenBETXB2S0hFWnI4bU91anJEUzJUa1FZMWNjU0x2M3pvR2RMNDVOanVFTzlMSzhvUk96SmN4Tk56OUtTbnI2UUczNHdRbTZKZ201aHV5OFhISUtDaEVpaFpOUG4wYTllejNlY0s4Q3Q5eTVVLy9Raks0OGh3SzVjcUpmczJTTlVxaGlDakpQNzJXUmR6VWIvL2huL09zL3BjUWNwS1RNVDFYTld1WXRXTUxZQ1VvamhzTENuTStlZU9MaHlXSWZEeFgwZ3hCMElZUzQvOTQ3cjhwSVMvbEJpRlRHVHppRkJjWExxS3h1Ukdmc0w0UUlVV0wwWWFvS3N0TFpxVmdHK3hTbmxYNC9zbjkyNlc3M2RlUHk5N0RjMm9XbElzd0RENzZFU0UwOVNDcllmZ2IwZ213MGhjcHNyc2t2SUtjZ24zUk5LcG01R3Q2YVg0dXZjV01TMEgrdW1hTVNqNDhsVC9BVFZDNXNvZFM0TTdWMXZ0R0xOZHJHaHUvK2pDTzZpUS9MZkppcVFtajFWaWFkZEE1Q3BKQ2JwL256MDA4L2RwbllEME1GL1NBRlhRZ2g3cnoxMXBzMFdWa0lJVGoxMUpsb2RWWXNWYXVUaFJBUnlpeGhTbzAreXN3K2x0bmFkcmN5Mmd0N2RBWDBYcFpidXlpdmlQTFVNKytTbnBWRnprRWNZc3NweUVKVG1KbjBuQ3RFazU5TFRsRXFRZ2l1dlA1aDNLRmVuUDRZMW4rNmE2dnlQZld1THNwcm9zcnZ3UkpDWndwVG9nOHgzeVRoYjkvQXh1Lyt5bUpQakZKekJKM0Z4clJ6TDBTSUZESXlzdjd0Z2Z2dXUwdnNwNkdDZmhDRExvUVFOOTV3M1l1cHFXa0lrY21NR1plaE4za3hWelVyVFErTkVVcU1ZVXJNUVVyTkVyWExWdVB5OXcwVXdOaVRuVi8ra2FXcFltTFlqZHNmcDk2dXpPalBQRCtmN1B4Q05MbWFnL2pVWFVOT2dZYmMvRHh5OC9QSnpjOGxyeUNUdEF6QjBSTk9ZV2w5TXg1L0hQdHUwWXJZTDN3Ty9SMWV1M2N4czRqamtIcFlidXZFV0JtbXhDQlRaa21tdHByRGxCb0NsRlI0YWU1VHN1THFiT3ZSbVgxY2NOSDFDQ0ZJU1UxaHlwUXpYaEg3Y2FpZ0grU2dQL1AwazJsVHAwNTlOejA5bGRUVU5HWmNjQldHY2hjR1M1QVNRNFJTY3pNTHlpUE1OeWx1SmJWTFYySHpkdVAweFpOTDFQWmtHK0svczNyTm04QWx4ZkQ0dTdBNk9paXZDdlBjUzFweWlrYVFyZEVjM0VremUxQzJKcHU4d3NGb3l4YmpEMjNBN20xUG5wakhzUDVpdVc0bkRsOG5EcmticTZjTGg5eURVKzVqYVVNbnBxcW1ueFNuNkV3aFNzcDhsRlE0YVAxNEc0a2RmNkptWlpoWkY5MUNlbW9CUWdoR2pScGxuRDM3MGl3VmRCWDAzY2E1NTU2ckdUOSt2Q0ZMazQxSXplVDhpNjVEYjNaaHJtNml4QlNsMk54RXFVVlpQaGJyUFZocUl6UjR1bkQ1RmRoL3VTLzNMNFB1OW5YaWNIZFRWZHZFSzIrYUtSbzJpdXlEUEphK1ovLzRYRVJxQnMvT2ZaOXc0NlpmRDdvdkdYdVg0emo5UGRpbEh1cVdyVk9XNlVtNGQrMnNvaldGS0NrTFVyNGt5a2ZmL2h0dEgyM2xrcXZ2UUlnY1VsTXptVGh4b21QeTVNbDVZajhQRmZSREFIUWhoTGp3d2dzMUY4dzgzeXlFUUtSbE11UDhLekdVdXltdmJVRnJha0pyYktMTW9wekdGK3M5R0NyOExHbFE4dVAva2ZMV2Z0QmRjaWN1YjRLRlM5YncranNWRER0OERKbFpXUWQxaU8zbkt0dUVTT0grQjE4Z0VONkEzZHUyUjlEN2ZlWjJwc29xSmh3dS93WldPbUpZYXBvb05RUW9OUVozNjZpaXRFOVNxdEkrMUFWd0Judlp0T09QM0hUM0E0aFVEVUlJWnB4M2puVC8vZmNmSlE3QVVFRS9SRUFYUW9pYmJyb3g1K3l6ejFKZ0YybWNNWDAyeFdWV1RGV05hQTFoU2cyaDVBWG9vOVRvUld2MlVyT2tHYXVuNisrdTNMSjc0amc4blRpODdiaThjUnp1Qk1YNmxSeCsxQVRTMHcvdXBKbWZuZEZGS3I5LytHVUNrWTA0Zm1GRzc0ZTl2MldTMDlmTGt2cFdEQlVodE1ZQVdtTmt3SVA5SjdPNktZaXVJb3pEMTg0TnQ5MnR0SmNXZ25QT095Znd4Rk9QRGhVSGFLaWdIMEtnQ3lIRSt2VnJjMmJPbkZralVoVFlKNTgrazNjL1hJeWx1b2xTUTVSU1F6Z0p1eCt0eVVleDNvMitRbWE1by9YdkNydnRDcnJESGNQbDdjVWh0WEw2MlVvUHNFTU5kRTJ1aHJUTUxONSsxNFEvM0lkRDZ0Z2o2UDAzdy82T05RM3VHQlYxVFdoTi9hR3pmdnVuNk81N2Mwc1lyU21FcWFxSkR3MDJ6anp2VWtScUNpbENjT0VGRjljOCtkeFRCd3h5RmZSREVIUWhoTGpyempzeloxMTR3WHVwYWFuL0kwUUs0NCtkeXF0djFWQlJzdzZkS1VxcElUbXptUDJVbFFmUW1yeVVtcFFlYncxdXBUbUUvVzlZS3cyQTdtbkQ2VTNnbG5vSlJIdDUvSm1YRVVLUWtaRkJicTdTVUVGSm9NbE5QdVlmb0JtNy8yZm5EeXpWKzI5R0dvMnlkRDc1MUtsWTdVM0l3UjZjY2djMjczcXMzcTZmZ080TzlPSDA5YkJvNVJvTUZmMHJKTVUwWW5mUWxlNHFwY1lRZWt1RXFrWHJlT3VEQm80NzVUeEVpaExTbTNuT2pJcFhYM290Vnh6Z29ZSitDSUxlUHk2OTdOSzVCWVdGZnhZaWhaR2pqdU9KcDk2blptRWpsc3JrVXQ0WW9zVHNSMnNPVXF6M1VXS1FNVlFHV055d1ZpbkM4SGRqbDJKWVBaM0pDcXp1bmZKMlkvUEVrclhjY1J4U0hFK3dENnRuUGJNdnU0VnN6U0NFU0Vla3BwT2VsVTUyWGpxYWZBMDVlZm1LOHBNcUtGQmNhZkp5eU4ramNzblB6Zis3bEplWG4yelRWRUJ1ZmlFNWVRVms1K1NoeVNzZ08wZHA1YVRKVjBwVmxXMk80TGdUSnFNMUwwZU85T0NRMjNISTdkamxOaVVxSVNjUDIzektUTDdDMFVwNVhRQ3R5VTJweVlmV0xLR3p1TkZaUE9qTWZuU21KclRtQUF0TUxuVG1DQWJUT2lxclc1bjdncG5SWTA5RmlGUXlzck00NFlSanBldXZ2bWFvT0FpR0N2b2hETG9RUXR4MTExM1g1K1hsN2hCQ2tKczNoSnR2ZVl5cTJpamxWYXNvTVlRb01RVXAwWWVUeS9vZ3BRWWZXb3RNZVcySUpkWjF1KzNkZDIwQXVPc1N2Ly92N1ZJQ0tiUUpuei9PNjI4YW1YM1p6WXliTUluTTdGeVVyWVNpbEl3TTByS3p5Y3JOSlRzL0QwMUJQbmtGMmVRVlpPM3kySzhjOHZJS2ZwM3lDeFJ6eXZ4OE5JVzVhQXB6eVNuTUpTdGZRMFpPQmltWmFZalVuYThqVTFQRXhNbG5jUCtEejdEU0ZzSGZ0QkdiM0pGc1Q2MkVIcDMrVGx4K1pabGU3NHBSdGJnUnJkbkRBcjBEblVWTzdzVUQ2Q3plSk93K2RLWkdTbzFoUHRSNzBKYzNVVkc5aHR2dmZKV0NRc1VHcXFDdzRLLzMzWC8vaXpmZmROTlI0aUFaS3VpSE9PaENDSEhwcFpkT09mNzQ0NXFWSmZVZ3pwdDVJL05MYkZpcW15alJCeWpSaHlnMVJKUWx2YkgvOE1pSDF1ekRVaHRobWEwTmg5eUR5OStYZEdIcDJTUG9Eam1CUTBvZ0JmcUl0bnhNTU5MTDRoVkJQaXlwNHRFblgyYk9OVGN6ZGRyNWpCNTNQSVhEUnBLZFB4U1JyaHlDS2RFQ1FVcTZJRFV6bGJUTU5OS3owa2pQeWlRaks0ZU03Qnd5czNQSTFPVHVWTGJ5OXhuWk9XUmthVWpQMUpDV2tVMUtSaVlpSXhXUkxwUWJUS29nUFZkRC90QkJqRG51ZU02L2FBNTMzLzhrODRwcnNEclhFVzM2aEZEMEU2Vm51YmRkYVVzdGRlTDB4YkI2TzFqaGJLZG1hVFA2Q21YMkxqVzUwWnE5YU0zeVRqdG1VekM1VkEraE0wZlFHWnN3VmE1aXZ0Yk9ySXR2VEhaN0ZSeCt4TEN1U3k2NTZIcHhrQTBWOU44QTZFSUlNZXVDbVllUEhqMXFSV3BLSmtMa01tYmNHVHorZERIbE5WRU1GUkcwcGlBbCtrQXlEQlJGWndvcmYyZVEwRmw4bE5jMnNyU2hIYWU4QVpkL0V3NjVaeURNMUgrSTF6L1RPN3c5T0x4eHZJRSs1RkFmL21nUHZrZ1Bua0FNdTZlTkpmVk5tS3M4dkRkL0VYTmYxdlA3eDk3bTFqc2U0NHFyYnVmY21WY3k1WXhabkRoNU9tTW5uTVpSWXljeGV1eXhISEhVQkE0Zk9aWVJSNDRaMEdGSGp1WHcwZU1aZWZReGpCcDdMR09QbmNqeGswN2psQ25uY002c0s3bmkrcnU0OC80bmVlSzVOM2xybmhGelRUMUxyVkhjdmk3a2NDK2h4czM0d3B0eFNYM1lQY3FLcGNIZG1UU2VpTEhTMlU3MWtpajZjaCtsSmlucDVxUDRxK3ZNUG5UbUFGcGpZMUlSdE1ZZ1paWVFob29nVlF1YmVlNGxJK09PbXpLd2dqanA1Qk45RjE5OC9uaHhFQTRWOU44STZFSUlNZnVTU3pRM1huL3oyNFVGZzM4UUlwWHNuQ080NnRvSDBacWNWQzF1eEZEcFIydVNkbXZScXpNSDBKb1ZJOG95UzVEeTJtYVdXYnV3ZVpYbHJNdmZ1eE53T1pHOEFTUm5lOC9PdkcrNzFJMUQ2c1VwYjhUbDI0Z25zQmx2OENPazBNZklrVThKUkQ3R0g5cUl4OWVMVzByZ2tYdHdldUxVMjlleHJDSEVvdVUrYXBkS1ZDMXlENmhtaVplRnkzd3NxUSt5M0JyQjZtckJKYS9CNDIvREhZampEZmZpaTI1QWptN0FHK3JCRTB6Z0RtekE3ZCtNeTllSFErcFI3S09rZm1OSXhSUmltYjJOOHJvSVplVVNKVVkzSlVaSldaNy9SRUZLalVwNWFZaytTSmtsVE1YQ1Jzb3FIZHg0MjJQa0RUb0NJUVI1UmJuL2U4NjVaNzkvKyswMzU0cURkS2lnLzRaQTd4OXpMci84b2xHampvd3BNMDBteDAyZXdkTXZsMUJlNThWUzUwZG5rZENaNVYyV29ydGtkUm44eVRCUmtOcGx6YXh3dE5QZ1ZpcmlYTDVlYkZJM1ZxbERrYmR6NE5UYTZvMWpsYnF4U1YxWWs3TDF5eHZENGU3RzRZN2pjTWR4U1QwNHZRbGMzaDRGZkRtT1MrckdKY1h4Qm5vSDVQWWxjTWtKUEw0RWJqbUJ3eHZENGVuQzV1bkFKblhpOE1Wdyt2dC9aaWRXcVJPYjNJWEQxNDNEbDhEcDY4VWg5MkdUK3FoMzliQnd4VHBNVlNGS2pSTEZlamNsQmk5YWs1eUVPclFIQlNreFNwUVlmUmdxR3lsZjJNemMxdzJjZk5aTVJHb0dRZ2hHSDMxVXozWFhYZk9VT01pSEN2cHZFSFFoaExqK3hxdkh6THBvcGpFN0orYy9oUkRrRFJ2TlJYTnVaVjdwVXFvV1JURllBa3J5aHptb3lCSlNaaTlqRUswNU1tQk1XVmJ1dzFRZHBHWnBNdzB1cGY3YTVtL0Q1bS9INXV2QUtyZGpsVHV4eWpGc3ZrNXNjaHNOY2lzTjBucXNjaXRXYVQxV2J5czJUd2QyYnljT0taYk0xb3Zqa0pJbisyNWxkV0QzeEhGNEU0cWtCRTY1UjVtTnZmR0JmM05LUFVyZXVkeUdUVzdIbm53TkRYSWJWcmtkdXorR3d4L0hMaWRZNmVwbTRjb095aGV1Uld1SnNLQk1vc1NnTE05MTVUNzA1Y3FlWEdzS29EV0hsZmR0aWxCcUNsTnFqRkNxRDZFMythbXFpYktnMU1hVnYzdVkvS0ZLRytPTW5DeW1uek5qNldPUFAzRzBPQVNHQ3ZwdkZQVCtjY3FwcDF4Mnd1UVRPNFFRaVBSc1JoMDlpZHZ2bUl2SkpGTlIxVWlKVVVacjhxT3pKSUUzaHlnMWg5Q1pvMHBNM2hpazFDaFRhblNqdFhpdzFNclVMSXV5MUxZYXE2ZDl3TEhGNm0ybndkT08xZHVGVFZMQ2NsYVA4clZTK2FXWUtGbzlYY3IvMmMzVWNxZjZ6UnVWZmZUT2NsQzcxSTFUN3Q4K3hCVS9PN2ticHorQnk1L0E3bE9LVGxZNnUxbTBvcFB5bXBaa1NuQnd3SEZWU1ZYdFg1YjdrNnNhWldWVGFncFRhbEpnTHphRUtERkdzVlN2cHRJVTRxRjczMkRjbUNta3BpaTJUMGNlT1dMemVUTm4zRFgzK2VkenhTRXlWTkIvNDZBTEljVDlEOTA5L0t4cHA3K1hWNWp6NzBJSTB0STFUSm8wbGVlZS93QzlSV245VkZZZW9zeXlDd2ltQ0RwVEV6cHpGSzB4UUxGZW90amdwbGp2WW42WmsxS1RGMzJGbjRxNkNIWExWclBNMm9yVkhjTXVKWkpwbzMzSjAvc0VObTk4WUkvYy8rZWZrL0s5UFFPZFpIZUcvdnA3eGl2UGFmVW90ZURMSFIwc2FWaFA5ZEptakZYS2ErL2ZndnkwOVZGZzkrMktLWnhVVkhtLzVoQmxsZ0RHeWlDVzJnaFB6aTNsdEZObWtaVSttQlNSVFc1dTBYOU1telp0L3NzdlBYKzBPTVNHQ3ZxL0FPZ0RoM1dYWFhqMnVQRkh1ek95MHY5ZENFRjJUaTRuVGIyVUorYVdvTE40cWFpTFlxNXNwTXdVUnR2dlpHT0tvaldHS0RNcmpRQ0x5K1FrUVAyTkNIekpmWDBBZlhrUVUxV0lpb1dOMUM1ZHhlTDZ0U3kzZDFEdml0SGdqdEhnN3NicWlXUHpKckI1ZS9hZ0JIYXBkMEJXVHpjTnllOWQ2ZWhpYVVNYkM1ZXZvV3BSRTViYUNQcktBS1VtTDFxVEozbHE3cVhVNk51dHdHVDNQWGNTOUdSelE2MHhXUXhram1LdWlsSlIxNGl4VXVMcEYrZHorclJMeWNnZGdoQUNqVWJ6WDhPSGp3aWVjODY1RjRoRGRLaWcvd3VCM2ovT1AvZmNtNDgvOXRqR3JLeE14ZTBrZHhCVHpycVlSNS84QUlOSnBxWnVMZVhWVGVqTWZrcE5QcVZnd3hSS2h1U1VtNEJ5STBoK2JRb3JOd0p6L3pLL1g3NkJGVUtaSllDaE1veTV1cEdLdW1ZcUY3YjhSQlYxTFZUVU5WTlIyMHg1YlJPR2lqRDY4aUNHaWhCbDVzREE4eGJydlFNcU5jcVVXWlRuVjViandaODlXQ3MxS3JGd3JTbWc3TmYxQWN4VkxWVFZOV0d3dUhqaTJRODRlOFlWWk9jUFYwSm1xYWtjT1hKRXg1VlhYLzdneWFlY2tpb080YUdDL2k4SXVoQkNQUHJnWS9sblRKMzYwSmdKWTdwRnBwTFFrcEU5bUVrbnplRHVlNS9sdzlLbFZDME9VYjR3UUZtRnJDU1AvT3pwdEdLNDBBL1VybExLT1B0WEFINWxDNkNYZjFZbFJoOGxSbit5dFhCZ04rMThUdVc1K3JYN3o5ekRhN09FbEhDaUtZTFdHRW9tQ2dXcFdoemt2ZExGM1BQZ1hFNDU3VncwZWNPU2dHZHkvTVJKYTYrOTRib1g1OHk1WkxqNERRd1Y5SDlSMFB2SFpWZGVOdWJDMlJmZk1lN1k4ZEgrOU5HMHJGUkdqanVXaTY2OG5lZGVLOEZZNWFaaVVSaGpWWUF5c3o4NWMvYlBvSXJLTFA1ZGxzVS9WWmtsTW1DenBEVXFvYnc5cWN3Y0h0RFBQWmZXRkVvZUVpWm5hVk1TWkhNNHVmSlFubXZYMlZ4bmpsQm1icUs4ZGpXbTZnQXZ2bTFrOXJXM2NNVDRZMG5Mems1bTdxVncyTWhScTZlZU9lMnVPKys1N3dqeEd4b3E2UC9pb1BlUEs2KzVjdEJkOTl3eFovSkpFeDFabW96LzZML3djd3NHTWZta2FkeCt4N084OVdZTkpxT2Z5cG8xbUNwYUtETTNvamMzb3RXSDBCckQ2QzFSZEpZSUphWVFKY1lRcGFaR1NrMU5TWVVwTllYMkxITmdRRnBMYUdlNHp4eWkxQnoraVhUbUFHVm1tVEt6ak00a1UyWU9VR1lPb0RYNktUTkcwSnRhTUZxYU1WaWltQ3FqV0txYnNGUUZlUGQ5SS9mYzl6Z25uM28yUlVNT1E2U2xLeXVaelBUL25qaDVZdU4xTjF4MzA4V1hYanBFL0FhSENyb0srbTdqd1FjZVNMdmhoaHVubm56S3hNb2hRL00vemNySytDOGgwaEFpbDBFRll6aDUwa1hjZU10elBQOXlPY1ZhSithS0NKWFZxNm1zVXVEWGx5c2xuQ1dHS0RwakMxckRHclRHMWNtWjFiOEhCWDkrTy9DalZZTnVsOVZFbVRGQW1UR0kzaFRBWUFsaE1BY3hsUWVwcUY2THBXSU41b3BHdEFZM0w3OXA1c1k3bnVEVU04NW55T0JCcENhTGJ6UTUyZjlWVkZqdytZVHg0M1gzM1hmZnRMS3lzblR4R3g0cTZDcm9QenV1dnVheUkrYk11ZlNoU1pNbnVZWU5HLzVwV2xwR01xODdoYXlDSVl3NzdsUXV2UFFtN24zd05WNTZ4Y0o4clFPOUpZaWx1cG5LdXJWVTFiVlNVZE9HdVhJZGhvcW01UEk5c3NzeU95bGpKSmxMSGs0K1J0QVpJd1BOS2dhVzg1WW9odkpHTEpVdFZGV3ZvN3AySGJWMXE2bXBpMkt1a0ZpZ1c4a3JyMWR5ei8xdmN1SHNPemgyNHRua0ZBMGZ5RVhYWkdjemZQand6NDQ1NWhqdnRHblRIcHd6Wjg2UjRsOWtxS0Nyb1ArcWNlbGxGMCtlZWNHMDM1OTl6dW1PbzhhTy9DUWxjMmM1cUVqTm9HRFFDTVljZXpKVHo3bWN5Nis1bHp2dmY1R25ueS9tclE5cUtTNnpZYkEwVVYzYk5xQ3EydGFrMWxHOWNEVTFpOVpRdTJndDFRdlhVTE5vRFRVTDExQlZ1NDZxMmphcWExdXBybTJsc25vOVJrc0xwVm8vNzcrL2xCZGZNdkxBNzEvajJ1dnVZZHFNaXpoMjRza1VEVDBja1pLNTg3V2xwekp5ek1pTnA1MTUydEpUVGpubC91blRwNThrL2dXSENyb0srdDgxbm4zK2taeXp6enZ6K011dXVIVDJtZFBPZUd2OE1XUDlnNFlVYkUvSjJCVjhRVnBPTm5sRlF4aDIrR2pHVEpqTUthZGZ6UFJ6ZjhmRnMrL2ttdXNlNXFaYm4rVHUrMTdpb1VmZTRyRW4zK1h4cDk3anlXYys0TWxuUHVUeHA5N240Y2ZlNGQ0SFh1V1cyNS9obXVzZTVwTEw3bUw2dWRkeDhtbXpPZWJZYVJ4K3hBUUtpMGFRcGNuZnJSWmVwQW9HRGMzL2Z2U1lrZkxKcDU3ODlyUnpaMXgzOW96cEV4NTY5UGZwNGw5NHFLQ3JvUDlUNCtSVEp4V2VOL09jMGJmY2V1dEYwOCtkL3RyVXMwOWRYRGc4UDE0d05QOVBXYm5aL3lsU1V2OVBpQlJFU2dvaVBZMlU5SFJTMHROSnk4b2tNMGREVms0ZTJab0Nzbk9MME9RUFFwTmJSSFp1SVZrNUJXUnFja2pQekNRMVBaMlVqSFJTTWpNUTZXbjkyNGYveTlaay8zZHVydVl2QlFXNWZhZFBPV1h4R1dlZDl0YWRkOTEyMlgwUDNEMWg3UGpSaGVwdlJ3VmRCWDBmak5tWHowNDc3OEp6TkNlZWNzTFFOOTU1NDVqVHpqaGo5ckREam5oeCtua1hmRGhtd3JpYW5NS2M5Zm1EQ3I3SUs4cjdMRHN2ZTB0V2J1YU9qT3owcjlPelVyNU8xNlIvbmFGSi96b2pKLzNyZEUzYTErblpxVjluNVdYdXlDblFiTWtyeXZzc3J5anZzNXg4VGRmb2NhT1hYSGpKckErbVRwMzY0cVJKRTY5Kyt1bW5qNTgwYWVMdzZlZWNwYmxnMW5scDZtOUJCVjJWS2xVcTZLcFVxVkpCVjZWS2xRcTZLbFdxVk5CVnFWS2xncTVLbFFxNktsV3FWTkJWcVZLbGdxNUtsU29WZEZXcVZLbWdxMUtsU2dWZGxTcFZLdWlxVktsU1FWZWxTcFVLdWlwVkt1aXFWS2xTUVZlbFNwVUt1aXBWcWxUUVZhbFNwWUt1U3BVcUZYUlZxbFNwb0t0U3BVb0ZYWlVxRlhSVnFsU3BvS3RTcFVvRlhaVXFWU3JvcWxTcFVrRlhwVXFWQ3JvcVZhcFUwRldwVXFXQ3JrcVZDcm9xVmFwVTBGV3BVcVdDcmtxVktoVjBWYXBVcWFDclVxVktCVjJWS2xVcTZLcFVxVkpCVjZWS2xRcTZLbFVxNktwVXFWSkJWNlZLbFFxNktsV3FWTkJWcVZLbGdxNUtsU29WZEZXcVZQMTYvZjhCQUhVd0pYWnZsZmZ0QUFBQUFFbEZUa1N1UW1DQ11dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2Zvb2JveC0xLjMuMS5taW4uanM8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW0x5b0tLaUJHYjI5Q2IzZ2dMU0JCSUhKbGMzQnZibk5wZG1VZ2FXMWhaMlVnYkdsbmFIUmliM2dnWm05eUlHcFJkV1Z5ZVFvcUlHaDBkSEE2THk5blpYUm1iMjlpYjNndVkyOXRDaW9LS2lCRGIzQjVjbWxuYUhRZ01qQXhNaXdnVTNSbGRtVnVJRlZ6YUdWeUlDWWdRbkpoWkNCV2FXNWpaVzUwQ2lvZ2FIUjBjRG92TDNSb1pXMWxjbWRsYm1ONUxtTnZiUW9xQ2lvZ1JHRjBaVG9nTVRjZ1UyVndkR1Z0WW1WeUlESXdNVElLS2lCV1pYSnphVzl1SURvZ01TNHlMakVLS2k4S2RtRnlJR052Ym5OdmJHVTdhV1lvSVhkcGJtUnZkeTVqYjI1emIyeGxLV052Ym5OdmJHVTllMzA3WTI5dWMyOXNaUzVzYjJjOVkyOXVjMjlzWlM1c2IyZDhmR1oxYm1OMGFXOXVLQ2w3ZlR0amIyNXpiMnhsTG5kaGNtNDlZMjl1YzI5c1pTNTNZWEp1Zkh4bWRXNWpkR2x2YmlncGUzMDdZMjl1YzI5c1pTNWxjbkp2Y2oxamIyNXpiMnhsTG1WeWNtOXlmSHhtZFc1amRHbHZiaWdwZTMwN1kyOXVjMjlzWlM1cGJtWnZQV052Ym5OdmJHVXVhVzVtYjN4OFpuVnVZM1JwYjI0b0tYdDlPM1poY2lCS1UwOU9PMmxtS0NGS1UwOU9LVXBUVDA0OWUzMDdTbE5QVGk1emRISnBibWRwWm5rOVNsTlBUaTV6ZEhKcGJtZHBabmw4ZkdaMWJtTjBhVzl1S0NsN2ZUc29ablZ1WTNScGIyNG9ZU3hpTEdZcGUySXVabTl2WW05NFBYdDJaWEp6YVc5dU9udHRZV3B2Y2pveExHMXBibTl5T2pJc2RHOVRkSEpwYm1jNlpuVnVZM1JwYjI0b0tYdHlaWFIxY200Z1lpNW1iMjlpYjNndWRtVnljMmx2Ymk1dFlXcHZjaXNpTGlJcllpNW1iMjlpYjNndWRtVnljMmx2Ymk1dGFXNXZjbjBzY0dGeWMyVTZablZ1WTNScGIyNG9ZU2w3ZG1WeWMybHZiajB2S0Z4a0t5bGNMajhvWEdRcktUOWNMajhvWEdRcktUOHZMbVY0WldNb1lTazdjbVYwZFhKdWUyMWhhbTl5T25CaGNuTmxTVzUwS0habGNuTnBiMjViTVYwcGZId3dMRzFwYm05eU9uQmhjbk5sU1c1MEtIWmxjbk5wYjI1Yk1sMHBmSHd3TEhCaGRHTm9PbkJoY25ObFNXNTBLSFpsY25OcGIyNWJNMTBwZkh3d2ZYMTlMRzl3ZEdsdmJuTTZlMlpwZEZSdlUyTnlaV1Z1T21aaGJITmxMR2hwWkdWVFkzSnZiR3hpWVhKek9uUnlkV1VzWTJGd2RHbHZibk02ZTJWdVlXSnNaV1E2ZEhKMVpTeDBhWFJzWlZOdmRYSmpaVG9pYVcxaFoyVWlMR1JsYzJOVGIzVnlZMlU2SW1acGJtUWlMR0Z1YVcxaGRHbHZiam9pYzJ4cFpHVWlmU3h6YUc5M1FuVjBkRzl1Y3pwMGNuVmxMR05zYjNObFQyNVBkbVZ5YkdGNVEyeHBZMnM2ZEhKMVpTeHphRzkzUTI5MWJuUTZkSEoxWlN4amIzVnVkRTFsYzNOaFoyVTZJbWx0WVdkbElDVnBibVJsZUNCdlppQWxkRzkwWVd3aUxITmxiR1ZqZEc5eU9pZGhXMmh5WldZa1BTSXVaMmxtSWwwc0lHRmJhSEpsWmlROUlpNUhTVVlpWFN3Z1lWdG9jbVZtSkQwaUxtcHdaeUpkTENCaFcyaHlaV1lrUFNJdVNsQkhJbDBzSUdGYmFISmxaaVE5SWk1cWNHVm5JbDBzSUdGYmFISmxaaVE5SWk1S1VFVkhJbDBzSUdGYmFISmxaaVE5SWk1d2JtY2lYU3dnWVZ0b2NtVm1KRDBpTGxCT1J5SmRMQ0JoVzJoeVpXWWtQU0l1WW0xd0lsMHNJR0ZiYUhKbFppUTlJaTVDVFZBaVhTY3NabWxzZEdWeVVtVm5aWGc2TDF3dUtHcHdaM3hxY0dWbmZIQnVaM3huYVdaOFltMXdLUzlwTEd4dllXUmxjbFJwYldWdmRYUTZNakF3TEhKbGMybDZaVlJwYldWdmRYUTZNekF3TEd4dllXUkVaV3hoZVRvd0xIQnlaV3h2WVdSSmJXRm5aWE02Wm1Gc2MyVXNaR1ZsY0d4cGJtdHBibWM2ZTJWdVlXSnNaV1E2ZEhKMVpTeHdjbVZtYVhnNkltWnZiMkp2ZUNKOUxHRm1abWxzYVdGMFpUcDdaVzVoWW14bFpEcDBjblZsTEhCeVpXWnBlRG9pVUc5M1pYSmxaQ0JpZVNBaUxIVnliRG9pYUhSMGNEb3ZMMmRsZEdadmIySnZlQzVqYjIwaWZTeGxjbkp2Y2pwN2JXVnpjMkZuWlRvaVQyOXdjeXdnZEdobElHbHRZV2RsSUdOdmRXeGtiaWQwSUd4dllXUWlMSE55WXpvaWFXMW5MMlZ5Y205eUxuQnVaeUo5TEdSbFluVm5PbVpoYkhObGZTeHdiSFZuYVc1ek9udGZkbUZzYVdSaGRHVTZablZ1WTNScGIyNG9ZeWw3YVdZb2RIbHdaVzltSUdNdWJtRnRaU0U5UFNKemRISnBibWNpS1h0aUxtWnZiMkp2ZUM1dmNIUnBiMjV6TG1SbFluVm5QVDEwY25WbEppWmpiMjV6YjJ4bExtVnljbTl5S0NkV1lXeHBaR0YwYVc5dUlHWmhhV3hsWkN3Z2NHeDFaMmx1SUdSdlpYTWdibTkwSUdsdGNHeGxiV1Z1ZENCaElITjBjbWx1WnlCd2NtOXdaWEowZVNCallXeHNaV1FnSW01aGJXVWlMaWNzWXlrN2NtVjBkWEp1SUdaaGJITmxmV2xtS0NGaExtbHpSblZ1WTNScGIyNG9ZeTVwYm1sMEtTbDdZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5NWtaV0oxWnowOWRISjFaU1ltWTI5dWMyOXNaUzVsY25KdmNpZ25WbUZzYVdSaGRHbHZiaUJtWVdsc1pXUXNJSEJzZFdkcGJpQWlKeXRqTG01aGJXVXJKeUlnWkc5bGN5QnViM1FnYVcxd2JHVnRaVzUwSUdFZ1puVnVZM1JwYjI0Z1kyRnNiR1ZrSUNKcGJtbDBJaTRuTEdNcE8zSmxkSFZ5YmlCbVlXeHpaWDFpTG1admIySnZlQzV2Y0hScGIyNXpMbVJsWW5WblBUMTBjblZsSmlaamIyNXpiMnhsTG14dlp5Z25WbUZzYVdSaGRHbHZiaUJ6ZFdOalpXVmtaV1FnWm05eUlIQnNkV2RwYmlBaUp5dGpMbTVoYldVckp5SXVKeXhqS1R0eVpYUjFjbTRnZEhKMVpYMHNjbVZuYVhOMFpYSmxaRHBiWFN4eVpXZHBjM1JsY2pwbWRXNWpkR2x2YmloakxHUXBlMmxtS0dJdVptOXZZbTk0TG5Cc2RXZHBibk11WDNaaGJHbGtZWFJsS0dNcEtYdGlMbVp2YjJKdmVDNXdiSFZuYVc1ekxuSmxaMmx6ZEdWeVpXUXVjSFZ6YUNoaktUdGtJVDFtSmlaMGVYQmxiMllnWkQwOVBTSnZZbXBsWTNRaUppWmhMbVY0ZEdWdVpDaDBjblZsTEdJdVptOXZZbTk0TG05d2RHbHZibk1zWkNrN1lpNW1iMjlpYjNndWIzQjBhVzl1Y3k1a1pXSjFaejA5ZEhKMVpTWW1ZMjl1YzI5c1pTNXNiMmNvSjFCc2RXZHBiaUFpSnl0akxtNWhiV1VySnlJZ2FHRnpJR0psWlc0Z2NtVm5hWE4wWlhKbFpDQjNhWFJvSUhSb1pTQkdiMjlpYjNndUp5eGpLWDE5TEdsdWFYUTZablZ1WTNScGIyNG9ZeWw3Wm05eUtIWmhjaUJoUFRBN1lUeGlMbVp2YjJKdmVDNXdiSFZuYVc1ekxuSmxaMmx6ZEdWeVpXUXViR1Z1WjNSb08yRXJLeWwwY25sN1lpNW1iMjlpYjNndWNHeDFaMmx1Y3k1eVpXZHBjM1JsY21Wa1cyRmRMbWx1YVhRb1l5bDlZMkYwWTJnb1pDbDdZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5NWtaV0oxWnowOWRISjFaU1ltWTI5dWMyOXNaUzVsY25KdmNpaGtLWDE5ZlgwN2RtRnlJR1U5WWk1bWIyOWliM2d1ZG1WeWMybHZiaTV3WVhKelpTaGhMbVp1TG1weGRXVnllU2s3YVdZb1pTNXRZV3B2Y2owOU1TWW1aUzV0YVc1dmNqdzJLWHRoTG1adUxtWnZiMkp2ZUQxbWRXNWpkR2x2YmlncGUyTnZibk52YkdVdVpYSnliM0lvSWtadmIySnZlQ0J5WlhGMWFYSmxjeUJxVVhWbGNua2dkbVZ5YzJsdmJpQXhMallnYjNJZ2FHbG5hR1Z5SUhSdklIZHZjbXNnWTI5eWNtVmpkR3g1TGlCUWJHVmhjMlVnZFhCbmNtRmtaU0JxVVhWbGNua2dkRzhnZEdobElHMXBibWx0ZFcwZ2RtVnljMmx2YmlCaGJtUWdjbVZzYjJGa0lIUm9aU0J3WVdkbExpSXBmVHR5WlhSMWNtNTlkbUZ5SUdROU1EdGhMbVp1TG1admIySnZlRDFtZFc1amRHbHZiaWhqS1h0alBXTjhmSHQ5TzNaaGNpQmxQV0V1WlhoMFpXNWtLSFJ5ZFdVc2UzMHNZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5eGpLVHR5WlhSMWNtNGdkR2hwY3k1bFlXTm9LR1oxYm1OMGFXOXVLQ2w3WkNzck8zUm9hWE11Wm05dlltOTRQVzVsZHlCbktIUm9hWE1zWlN4a0tYMHBmVHRtZFc1amRHbHZiaUJqS0NsN2RtRnlJR0U5ZEdocGN6dGhMbWxrUFc1MWJHdzdZUzVpZFhONVBXWmhiSE5sTzJFdWMzUmhjblE5Wm5WdVkzUnBiMjRvWXl4aUtYdHBaaWhoTG1KMWMza3BjbVYwZFhKdU8yRXVjM1J2Y0NncE8yRXVhV1E5YzJWMFZHbHRaVzkxZENobWRXNWpkR2x2YmlncGUyTW9LVHRoTG1sa1BXNTFiR3c3WVM1aWRYTjVQV1poYkhObGZTeGlLVHRoTG1KMWMzazlkSEoxWlgwN1lTNXpkRzl3UFdaMWJtTjBhVzl1S0NsN2FXWW9ZUzVwWkNFOWJuVnNiQ2w3WTJ4bFlYSlVhVzFsYjNWMEtHRXVhV1FwTzJFdWFXUTliblZzYkR0aExtSjFjM2s5Wm1Gc2MyVjlmWDFtZFc1amRHbHZiaUJuS0djc2FDeGxLWHQyWVhJZ1pEMTBhR2x6TzJRdWFXUTlaVHRrTG1OdmJuUmhhVzVsY2oxbk8yUXViM0IwYVc5dWN6MW9PMlF1ZEdoMWJXSnpQVnRkTzJRdWJXOWtZV3c5Ym5Wc2JEdGtMbVJsWW5WblBXWjFibU4wYVc5dUtDbDdhV1lvWVhKbmRXMWxiblJ6TG14bGJtZDBhRDA5TUh4OFpDNXZjSFJwYjI1ekxtUmxZblZuUFQxbVlXeHpaU2x5WlhSMWNtNDdkbUZ5SUdFOVFYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b1lYSm5kVzFsYm5SektTeGlQV0ZiTUYwN1lTNXphR2xtZENncE8ybG1LR0V1YkdWdVozUm9QakFwWTI5dWMyOXNaUzVzYjJjb1lpeGhLVHRsYkhObElHTnZibk52YkdVdWJHOW5LR0lwZlR0a0xtUmxZblZuS0NKbWIyOWliM2c2WW1WbmFXNGlLVHRrTG1sdWFYUTlablZ1WTNScGIyNG9LWHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VhVzVwZERwaVpXZHBiaUlwTzNaaGNpQmpQV0VvWkM1amIyNTBZV2x1WlhJcE8ybG1LR011YVhNb1pDNXZjSFJwYjI1ekxuTmxiR1ZqZEc5eUtTa2hZeTVwY3lnaUxtWnZiMkp2ZUMxc2FXNXJJaWttSm1NdVptbHNkR1Z5S0daMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUdFb2RHaHBjeWt1WVhSMGNpZ2lhSEpsWmlJcEppWmhLSFJvYVhNcExtRjBkSElvSW1oeVpXWWlLUzV0WVhSamFDaGtMbTl3ZEdsdmJuTXVabWxzZEdWeVVtVm5aWGdwZlNrdVpXRmphQ2htZFc1amRHbHZiaWhpS1h0MGFHbHpMbWx1WkdWNFBXSTdaQzUwYUhWdFluTXVjSFZ6YUNoaEtIUm9hWE1wS1gwcExtRmtaRU5zWVhOektDSm1iMjlpYjNndGJHbHVheUlwTG5WdVltbHVaQ2dpWTJ4cFkyc3VabTl2WW05NElpa3VZbWx1WkNnaVkyeHBZMnN1Wm05dlltOTRJaXhtZFc1amRHbHZiaWhoS1h0aExuQnlaWFpsYm5SRVpXWmhkV3gwS0NrN1pDNXRiMlJoYkM1emFHOTNLSFJvYVhNdWFXNWtaWGdwZlNrN1pXeHpaU0JqTG1acGJtUW9aQzV2Y0hScGIyNXpMbk5sYkdWamRHOXlLUzV1YjNRb0lpNW1iMjlpYjNndGJHbHVheUlwTG1acGJIUmxjaWhtZFc1amRHbHZiaWdwZTNKbGRIVnliaUJoS0hSb2FYTXBMbUYwZEhJb0ltaHlaV1lpS1NZbVlTaDBhR2x6S1M1aGRIUnlLQ0pvY21WbUlpa3ViV0YwWTJnb1pDNXZjSFJwYjI1ekxtWnBiSFJsY2xKbFoyVjRLWDBwTG1WaFkyZ29ablZ1WTNScGIyNG9ZaWw3ZEdocGN5NXBibVJsZUQxaU8yUXVkR2gxYldKekxuQjFjMmdvWVNoMGFHbHpLU2w5S1M1aFpHUkRiR0Z6Y3lnaVptOXZZbTk0TFd4cGJtc2lLUzUxYm1KcGJtUW9JbU5zYVdOckxtWnZiMkp2ZUNJcExtSnBibVFvSW1Oc2FXTnJMbVp2YjJKdmVDSXNablZ1WTNScGIyNG9ZU2w3WVM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJRdWJXOWtZV3d1YzJodmR5aDBhR2x6TG1sdVpHVjRLWDBwTzJRdVpHVmlkV2NvSW1admIySnZlQzVwYm1sME9uUm9kVzFpYzE5c2IyRmtaV1FpS1R0a0xtaGhjMDExYkhScGNHeGxTVzFoWjJWelBXUXVkR2gxYldKekxteGxibWQwYUQ0eE8yUXVhVzVrWlhobGN5NXpaWFFvS1R0aUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG1sdWFYUW9aQ2s3WkM1a1pXSjFaeWdpWm05dlltOTRMbWx1YVhRNmNHeDFaMmx1YzE5cGJtbDBhV0ZzYVhwbFpDSXBPMlF1WTNKbFlYUmxUVzlrWVd3b0tUdGtMbTF2WkdGc0xtcHhMblZ1WW1sdVpDZ2lMbVp2YjJKdmVDSXBMbUpwYm1Rb0ltTnNhV05yTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvWVNsN2FXWW9aQzV2Y0hScGIyNXpMbU5zYjNObFQyNVBkbVZ5YkdGNVEyeHBZMnM5UFhSeWRXVW1KbVF1Ylc5a1lXd3VhbkV1WjJWMEtEQXBQVDFoTG5SaGNtZGxkQ2w3WVM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJRdWJXOWtZV3d1WTJ4dmMyVW9LVHR5WlhSMWNtNGdabUZzYzJWOWNtVjBkWEp1SUhSeWRXVjlLVHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VhVzVwZERwdmRtVnliR0Y1WDJOc2FXTnJYMkp2ZFc1a0lpazdaQzV0YjJSaGJDNXFjUzUxYm1SbGJHVm5ZWFJsS0NJdVptOXZZbTk0SWlrdVpHVnNaV2RoZEdVb0lpNW1iMjlpYjNndFkyeHZjMlVpTENKamJHbGpheTVtYjI5aWIzZ2lMR1oxYm1OMGFXOXVLR0VwZTJFdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0a0xtMXZaR0ZzTG1Oc2IzTmxLQ2s3Y21WMGRYSnVJR1poYkhObGZTa3VaR1ZzWldkaGRHVW9JaTVtYjI5aWIzZ3RjSEpsZGlJc0ltTnNhV05yTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvWVNsN1lTNXdjbVYyWlc1MFJHVm1ZWFZzZENncE8yUXViVzlrWVd3dWNISmxkaWdwTzNKbGRIVnliaUJtWVd4elpYMHBMbVJsYkdWbllYUmxLQ0l1Wm05dlltOTRMVzVsZUhRaUxDSmpiR2xqYXk1bWIyOWliM2dpTEdaMWJtTjBhVzl1S0dFcGUyRXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdGtMbTF2WkdGc0xtNWxlSFFvS1R0eVpYUjFjbTRnWm1Gc2MyVjlLUzVrWld4bFoyRjBaU2dpTG1admIySnZlQzFwYm01bGNpQXVabTl2WW05NExXbHRaeTFqZFhKeVpXNTBJaXdpWTJ4cFkyc3VabTl2WW05NElpeG1kVzVqZEdsdmJpZ3BlMlF1Ylc5a1lXd3VZblZ6ZVQwOVptRnNjMlVtSm1RdWJXOWtZV3d1YVcxaFoyVkRiR2xqYTJWa0tDbDlLUzVrWld4bFoyRjBaU2dpTG1admIySnZlQzFwYm01bGNpQXVabTl2WW05NExXbHRaeTFqZFhKeVpXNTBJaXdpYlc5MWMyVmxiblJsY2k1bWIyOWliM2dpTEdaMWJtTjBhVzl1S0dFcGUyRXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdGtMbTF2WkdGc0xtSjFjM2s5UFdaaGJITmxKaVprTG5KaGFYTmxLQ0ptYjI5aWIzaGZhVzFoWjJWZmJXOTFjMlZsYm5SbGNpSXNlM1JvZFcxaU9tUXViVzlrWVd3dVoyVjBRM1Z5Y21WdWRGUm9kVzFpS0NsOUtUdHlaWFIxY200Z1ptRnNjMlY5S1M1a1pXeGxaMkYwWlNnaUxtWnZiMkp2ZUMxcGJtNWxjaUF1Wm05dlltOTRMV2x0WnkxamRYSnlaVzUwSWl3aWJXOTFjMlZzWldGMlpTNW1iMjlpYjNnaUxHWjFibU4wYVc5dUtHRXBlMkV1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRrTG0xdlpHRnNMbUoxYzNrOVBXWmhiSE5sSmlaa0xuSmhhWE5sS0NKbWIyOWliM2hmYVcxaFoyVmZiVzkxYzJWc1pXRjJaU0lzZTNSb2RXMWlPbVF1Ylc5a1lXd3VaMlYwUTNWeWNtVnVkRlJvZFcxaUtDbDlLVHR5WlhSMWNtNGdabUZzYzJWOUtUdGtMbVJsWW5WbktDSm1iMjlpYjNndWFXNXBkRHBqYkdsamExOW9iM1psY2w5aWIzVnVaQ0lwTzJFb1pHOWpkVzFsYm5RcExtSnBibVFvSW10bGVXUnZkMjR1Wm05dlltOTRJaXhtZFc1amRHbHZiaWhpS1h0cFppaGtMbTF2WkdGc0xtcHhMbWhoYzBOc1lYTnpLQ0ptYjI5aWIzZ3RjMmh2ZHlJcFBUMW1ZV3h6WlNseVpYUjFjbTRnZEhKMVpUdDJZWElnWVQxaUxtdGxlVU52WkdVN2FXWW9ZVDA5UFRJM0tYdGlMbkJ5WlhabGJuUkVaV1poZFd4MEtDazdaQzV0YjJSaGJDNWpiRzl6WlNncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHbG1LR1F1YUdGelRYVnNkR2x3YkdWSmJXRm5aWE05UFhSeWRXVW1KbUU5UFQwek55bDdZaTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMlF1Ylc5a1lXd3VjSEpsZGlncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHbG1LR1F1YUdGelRYVnNkR2x3YkdWSmJXRm5aWE05UFhSeWRXVW1KbUU5UFQwek9TbDdZaTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMlF1Ylc5a1lXd3VibVY0ZENncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHUXViVzlrWVd3dVluVnplVDA5Wm1Gc2MyVW1KbVF1Y21GcGMyVW9JbVp2YjJKdmVGOXJaWGxrYjNkdUlpeDdhMlY1T21GOUtYMHBPMlF1WkdWaWRXY29JbVp2YjJKdmVDNXBibWwwT210bGVYTmZZbTkxYm1RaUtUdGtMbTF2WkdGc0xtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndGFXNXVaWElpS1M1bWIyOWliM2h6ZDJsd1pTaDdjM2RwY0dWTVpXWjBPbVoxYm1OMGFXOXVLQ2w3WkM1dGIyUmhiQzV3Y21WMktDbDlMSE4zYVhCbFVtbG5hSFE2Wm5WdVkzUnBiMjRvS1h0a0xtMXZaR0ZzTG01bGVIUW9LWDE5S1R0a0xtUmxZblZuS0NKbWIyOWliM2d1YVc1cGREcDBiM1ZqYUY5aWIzVnVaQ0lwTzJFb1lpa3VZbWx1WkNnaWNtVnphWHBsTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvS1h0cFppaGtMbTF2WkdGc0xtcHhMbWhoYzBOc1lYTnpLQ0ptYjI5aWIzZ3RjMmh2ZHlJcFBUMW1ZV3h6WlNseVpYUjFjbTRnZEhKMVpUdGtMblJwYldWeWN5NXlaWE5wZW1VdWMzUmhjblFvWm5WdVkzUnBiMjRvS1h0MllYSWdZVDFrTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzFuTFdOMWNuSmxiblFpS1R0a0xtNWhkSFZ5WVd4SmJXRm5aVk5wZW1Vb1lTNW5aWFFvTUNrc1puVnVZM1JwYjI0b1lpbDdaQzV0YjJSaGJDNXlaWE5wZW1Vb1lpNXVZWFIxY21Gc1YybGtkR2dzWWk1dVlYUjFjbUZzU0dWcFoyaDBMR1oxYm1OMGFXOXVLQ2w3WkM1dGIyUmhiQzV5WldaeVpYTm9RMkZ3ZEdsdmJpZ3BPMkV1WTNOektDSnZjR0ZqYVhSNUlpd3hLWDBwZlNsOUxHUXViM0IwYVc5dWN5NXlaWE5wZW1WVWFXMWxiM1YwS1gwcE8yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtbDBPbkpsYzJsNlpWOWliM1Z1WkNJcE8zWmhjaUJsUFdRdWJXOWtZV3d1WjJWMFNHRnphQ2dwTzJsbUtHVW1KbVF1YVdROVBXVXVabTl2WW05NFNXUXBlM1poY2lCbVBXUXVkR2gxYldKelcyVXVhVzFoWjJWSmJtUmxlRjA3WkM1eVlXbHpaU2dpWm05dlltOTRYMmhoYzE5b1lYTm9JaXg3ZEdoMWJXSTZabjBwTzNObGRGUnBiV1Z2ZFhRb1puVnVZM1JwYjI0b0tYdGhLR1F1WTI5dWRHRnBibVZ5S1M1bWFXNWtLR1F1YjNCMGFXOXVjeTV6Wld4bFkzUnZjaWt1WlhFb1pTNXBiV0ZuWlVsdVpHVjRLUzVqYkdsamF5Z3BmU3cxTUNsOVpDNWtaV0oxWnlnaVptOXZZbTk0TG1sdWFYUTZaVzVrSWlsOU8yUXVhVzVrWlhobGN6MTdjSEpsZGpvdE1TeGpkWEp5Wlc1ME9qQXNibVY0ZERveExDSnpaWFFpT21aMWJtTjBhVzl1S0dFcGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtUmxlR1Z6TG5ObGREcGlaV2RwYmlJc1lTazdZVDFoZkh3d08yRTlZVDVrTG5Sb2RXMWljeTVzWlc1bmRHZ3RNVDh3T21FOE1EOWtMblJvZFcxaWN5NXNaVzVuZEdndE1UcGhPM1poY2lCalBXRXRNU3hpUFdFck1UdGtMbWx1WkdWNFpYTXVZM1Z5Y21WdWREMWhPMlF1YVc1a1pYaGxjeTV3Y21WMlBXTThNRDlrTG5Sb2RXMWljeTVzWlc1bmRHZ3RNVHBqTzJRdWFXNWtaWGhsY3k1dVpYaDBQV0krWkM1MGFIVnRZbk11YkdWdVozUm9MVEUvTURwaU8yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtUmxlR1Z6TG5ObGREcGxibVFpTEdFcGZYMDdaQzUwYVcxbGNuTTllMlZ5Y205eU9tNWxkeUJqTEd4dllXUnBibWM2Ym1WM0lHTXNjbVZ6YVhwbE9tNWxkeUJqTEdodmRtVnlPbTVsZHlCamZUdGtMbkpoYVhObFBXWjFibU4wYVc5dUtHWXNZaWw3WWoxaWZIeDdmVHQyWVhJZ1l6MTdabUk2WkgwN1lTNWxlSFJsYm1Rb2RISjFaU3hqTEdJcE8zWmhjaUJsUFdFdVJYWmxiblFvWml4aktUdGhLR1F1WTI5dWRHRnBibVZ5S1M1MGNtbG5aMlZ5S0dVcE8zSmxkSFZ5YmlCbGZUdGtMbkJ5Wld4dllXUTlablZ1WTNScGIyNG9LWHRrTGw5d2NtVnNiMkZrU1cxaFoyVW9aQzUwYUhWdFluTmJaQzVwYm1SbGVHVnpMbkJ5WlhaZEtUdGtMbDl3Y21Wc2IyRmtTVzFoWjJVb1pDNTBhSFZ0WW5OYlpDNXBibVJsZUdWekxtNWxlSFJkS1gwN1pDNWZjSEpsYkc5aFpFbHRZV2RsUFdaMWJtTjBhVzl1S0dFcGUybG1LR0V1YkdWdVozUm9QakFtSm1FdVpHRjBZU2dpY0hKbGJHOWhaR1ZrSWlraFBTSjBjblZsSWlsN2RtRnlJR0k5Ym1WM0lFbHRZV2RsTzJJdWMzSmpQV0V1WVhSMGNpZ2lhSEpsWmlJcE8yRXVaR0YwWVNnaWNISmxiRzloWkdWa0lpd2lkSEoxWlNJcGZYMDdaQzV1WVhSMWNtRnNTVzFoWjJWVGFYcGxQV1oxYm1OMGFXOXVLR0lzWXlsN1pDNWtaV0oxWnlnaVptOXZZbTk0TG01aGRIVnlZV3hKYldGblpWTnBlbVU2WW1WbmFXNGlLVHR6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1S0NsN2RtRnlJR1U5ZTI1aGRIVnlZV3hJWldsbmFIUTZNQ3h1WVhSMWNtRnNWMmxrZEdnNk1IMDdhV1lvSW01aGRIVnlZV3hYYVdSMGFDSnBiaUJpSmlZaWJtRjBkWEpoYkVobGFXZG9kQ0pwYmlCaUppWmlMbTVoZEhWeVlXeElaV2xuYUhRaFBUQW1KbUl1Ym1GMGRYSmhiRmRwWkhSb0lUMHdLWHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VibUYwZFhKaGJFbHRZV2RsVTJsNlpUcGxlR2x6ZEhNaUtUdGxMbTVoZEhWeVlXeElaV2xuYUhROVlpNXVZWFIxY21Gc1NHVnBaMmgwTzJVdWJtRjBkWEpoYkZkcFpIUm9QV0l1Ym1GMGRYSmhiRmRwWkhSb08yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dVlYUjFjbUZzU1cxaFoyVlRhWHBsT21WdVpDSXBPMkV1YVhOR2RXNWpkR2x2YmloaktTWW1ZeWhsS1gxbGJITmxlMlF1WkdWaWRXY29JbVp2YjJKdmVDNXVZWFIxY21Gc1NXMWhaMlZUYVhwbE9tNXZiaTFsZUdsemRHRnVkQ0lwTzNaaGNpQm1QVzVsZHlCSmJXRm5aVHRtTG05dWJHOWhaRDFtZFc1amRHbHZiaWdwZTJJdWJtRjBkWEpoYkVobGFXZG9kRDFsTG01aGRIVnlZV3hJWldsbmFIUTlaaTVvWldsbmFIUTdZaTV1WVhSMWNtRnNWMmxrZEdnOVpTNXVZWFIxY21Gc1YybGtkR2c5Wmk1M2FXUjBhRHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VibUYwZFhKaGJFbHRZV2RsVTJsNlpUcGxibVFpS1R0aExtbHpSblZ1WTNScGIyNG9ZeWttSm1Nb1pTbDlPMll1YjI1bGNuSnZjajFtZFc1amRHbHZiaWhpS1h0a0xtOXdkR2x2Ym5NdVpHVmlkV2M5UFhSeWRXVW1KbU52Ym5OdmJHVXVaWEp5YjNJb0owVnljbTl5SUd4dllXUnBibWNnYVcxaFoyVWdhVzRnWm5WdVkzUnBiMjRnSW01aGRIVnlZV3hKYldGblpWTnBlbVVpTGljc1lpazdaQzVrWldKMVp5Z2labTl2WW05NExtNWhkSFZ5WVd4SmJXRm5aVk5wZW1VNlpXNWtJaWs3WVM1cGMwWjFibU4wYVc5dUtHTXBKaVpqS0dVcGZUdG1Mbk55WXoxaUxuTnlZMzE5TEdRdWIzQjBhVzl1Y3k1c2IyRmtSR1ZzWVhrcGZUdGtMbU55WldGMFpVMXZaR0ZzUFdaMWJtTjBhVzl1S0NsN1pDNWtaV0oxWnlnaVptOXZZbTk0TG0xdlpHRnNPbUpsWjJsdUlpazdkbUZ5SUdJOWUzMDdZaTVpZFhONVBXWmhiSE5sTzNaaGNpQmpQWHRwYldjNlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxdVpYY2dTVzFoWjJVN1lTNXpjbU05WkM1dmNIUnBiMjV6TG1WeWNtOXlMbk55WXp0eVpYUjFjbTRnWVgwb0tTeDBhSFZ0WWpwN2FuRTZiblZzYkN4MFlYSm5aWFE2WkM1dmNIUnBiMjV6TG1WeWNtOXlMbk55WXl4MGFYUnNaVHBrTG05d2RHbHZibk11WlhKeWIzSXViV1Z6YzJGblpTeGxjbkp2Y2pwMGNuVmxmWDA3WWk1cWNUMW1kVzVqZEdsdmJpZ3BlMlF1WkdWaWRXY29JbVp2YjJKdmVDNXRiMlJoYkM1cWNUcGlaV2RwYmlJcE8zWmhjaUJqUFdFb0lpNW1iMjlpYjNndGJXOWtZV3dpSzJRdWFXUXBPMmxtS0dNdWJHVnVaM1JvUEQwd0tYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YW5FNlkzSmxZWFJwYm1kZmJXOWtZV3dpS1R0alBXRW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzF0YjJSaGJDQm1iMjlpYjNndGJXOWtZV3d0Snl0a0xtbGtLeWNpUGp3dlpHbDJQaWNwTzJNdVlYQndaVzVrS0NjOFpHbDJJR05zWVhOelBTSm1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJajQ4TDJScGRqNG5LVHRqTG1Gd2NHVnVaQ2duUEdScGRpQmpiR0Z6Y3owaVptOXZZbTk0TFd4dllXUmxjaUkrUEM5a2FYWStKeWs3ZG1GeUlHSTlZU2duUEdScGRpQmpiR0Z6Y3owaVptOXZZbTk0TFdsdWJtVnlJajQ4TDJScGRqNG5LVHRpTG1Gd2NHVnVaQ2duUEdsdFp5QmpiR0Z6Y3owaVptOXZZbTk0TFdsdFp5MWpkWEp5Wlc1MElpQmhiSFE5SWlJZ2MzSmpQU0lpSUM4K1BHbHRaeUJqYkdGemN6MGlabTl2WW05NExXbHRaeTF1WlhoMElpQmhiSFE5SWlJZ2MzSmpQU0lpSUM4K0p5azdZaTVoY0hCbGJtUW9KenhoSUdoeVpXWTlJaU5qYkc5elpTSWdZMnhoYzNNOUltWnZiMkp2ZUMxamJHOXpaU0krUEM5aFBpY3BPMlF1YjNCMGFXOXVjeTVoWm1acGJHbGhkR1V1Wlc1aFlteGxaRDA5ZEhKMVpTWW1ZaTVoY0hCbGJtUW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzFqY21Wa2FYUWlQanhoSUhSaGNtZGxkRDBpWDJKc1lXNXJJaUJvY21WbVBTSW5LMlF1YjNCMGFXOXVjeTVoWm1acGJHbGhkR1V1ZFhKc0t5Y2lQanhsYlQ0bksyUXViM0IwYVc5dWN5NWhabVpwYkdsaGRHVXVjSEpsWm1sNEt5SWdQQzlsYlQ0OGMzQmhiajVHYjI5Q2IzZzhMM053WVc0K1BDOWhQand2WkdsMlBpSXBPM1poY2lCbFBXRW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzFqWVhCMGFXOXVJajQ4TDJScGRqNG5LVHRsTG1Gd2NHVnVaQ2duUEhOd1lXNGdZMnhoYzNNOUltWnZiMkp2ZUMxMGFYUnNaU0krUEM5emNHRnVQaWNwTzJJdVlYQndaVzVrS0dVcE8yUXViM0IwYVc5dWN5NXphRzkzUTI5MWJuUTlQWFJ5ZFdVbUptUXVhR0Z6VFhWc2RHbHdiR1ZKYldGblpYTW1KbUl1WVhCd1pXNWtLQ2M4YzNCaGJpQmpiR0Z6Y3owaVptOXZZbTk0TFdOdmRXNTBJaUF2UGljcE8yTXVZWEJ3Wlc1a0tHSXBPMkl1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ0lwTG1OemN5Z2liM0JoWTJsMGVTSXNNQ2s3YVdZb1pDNXZjSFJwYjI1ekxuTm9iM2RDZFhSMGIyNXpQVDEwY25WbEppWmtMbWhoYzAxMWJIUnBjR3hsU1cxaFoyVnpLWHRqTG5CeVpYQmxibVFvSnp4aElHaHlaV1k5SWlOd2NtVjJJaUJqYkdGemN6MGlabTl2WW05NExYQnlaWFlpUGp3dllUNG5LVHRqTG1Gd2NHVnVaQ2duUEdFZ2FISmxaajBpSTI1bGVIUWlJR05zWVhOelBTSm1iMjlpYjNndGJtVjRkQ0krUEM5aFBpY3BPMkl1Y0hKbGNHVnVaQ2duUEdFZ2FISmxaajBpSTNCeVpYWWlJR05zWVhOelBTSm1iMjlpYjNndGNISmxkaUkrUEM5aFBpY3BPMkl1WVhCd1pXNWtLQ2M4WVNCb2NtVm1QU0lqYm1WNGRDSWdZMnhoYzNNOUltWnZiMkp2ZUMxdVpYaDBJajQ4TDJFK0p5bDlZU2dpWW05a2VTSXBMbkJ5WlhCbGJtUW9ZeWw5WkM1a1pXSjFaeWdpWm05dlltOTRMbTF2WkdGc0xtcHhPbVZ1WkNJcE8zSmxkSFZ5YmlCamZTZ3BPMkl1Y21WemFYcGxQV1oxYm1OMGFXOXVLR1lzWlN4bktYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1Y21WemFYcGxPbUpsWjJsdUlpazdhV1lvSVdJdWFuRXVhR0Z6UTJ4aGMzTW9JbVp2YjJKdmVDMXphRzkzSWlrcGNtVjBkWEp1TzNaaGNpQmpQV0l1YW5FdVptbHVaQ2dpTG1admIySnZlQzFwYm01bGNpSXBMR2c5WWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlMWE53WVdObGNpSXBPMmxtS0dZOVBUQjhmR1U5UFRBcGUyTnZibk52YkdVdVpYSnliM0lvSWtWcGRHaGxjaUIwYUdVZ2MzVndjR3hwWldRZ2JtRjBkWEpoYkZkcFpIUm9JRzl5SUc1aGRIVnlZV3hJWldsbmFIUWdhWE1nTUM0aUxIdHVZWFIxY21Gc1YybGtkR2c2Wml4dVlYUjFjbUZzU0dWcFoyaDBPbVY5S1R0eVpYUjFjbTU5ZG1GeUlHODlaQzV2Y0hScGIyNXpMbk5vYjNkQ2RYUjBiMjV6UFQxMGNuVmxKaVprTG1oaGMwMTFiSFJwY0d4bFNXMWhaMlZ6TEcwOWNHRnljMlZKYm5Rb2FDNWpjM01vSW5CaFpHUnBibWN0ZEc5d0lpa3BMSFE5Y0dGeWMyVkpiblFvYUM1amMzTW9JbkJoWkdScGJtY3RZbTkwZEc5dElpa3BMSGc5Y0dGeWMyVkpiblFvYUM1amMzTW9JbkJoWkdScGJtY3RiR1ZtZENJcEtTeDVQWEJoY25ObFNXNTBLR2d1WTNOektDSndZV1JrYVc1bkxYSnBaMmgwSWlrcExITTljR0Z5YzJWSmJuUW9ZeTVqYzNNb0ltSnZjbVJsY2kxMGIzQXRkMmxrZEdnaUtTa3NjRDF3WVhKelpVbHVkQ2hqTG1OemN5Z2lZbTl5WkdWeUxXSnZkSFJ2YlMxM2FXUjBhQ0lwS1N4eFBYQmhjbk5sU1c1MEtHTXVZM056S0NKaWIzSmtaWEl0YkdWbWRDMTNhV1IwYUNJcEtTeHlQWEJoY25ObFNXNTBLR011WTNOektDSmliM0prWlhJdGNtbG5hSFF0ZDJsa2RHZ2lLU2tzYVQxd1lYSnpaVWx1ZENoakxtTnpjeWdpY0dGa1pHbHVaeTFzWldaMElpa3BMSG85Y0dGeWMyVkpiblFvWXk1amMzTW9JbWhsYVdkb2RDSXBLU3hCUFhCaGNuTmxTVzUwS0dNdVkzTnpLQ0ozYVdSMGFDSXBLU3gzUFNodlAyMHJkRHB0S2pJcEsya3FNaXR6SzNBc2RqMTRLM2tyYVNveUszRXJjaXh1UFdJdWFuRXVhR1ZwWjJoMEtDa3RkeXgxUFdJdWFuRXVkMmxrZEdnb0tTMTJMR285ZFM5bU8ybG1LR1VxYWo1dUtXbzliaTlsTzNaaGNpQnJQV1VzYkQxbU8ybG1LR1F1YjNCMGFXOXVjeTVtYVhSVWIxTmpjbVZsYmowOWRISjFaWHg4WlQ1dWZIeG1QblVwZTJzOVRXRjBhQzVtYkc5dmNpaGxLbW9wTzJ3OVRXRjBhQzVtYkc5dmNpaG1LbW9wZldsbUtHc2hQWHA4Zkd3aFBVRXBZeTVoYm1sdFlYUmxLSHRvWldsbmFIUTZheXgzYVdSMGFEcHNMQ0p0WVhKbmFXNHRkRzl3SWpvdEtHc3ZNaXRwS3loekszQXBMeklyS0c4L2RDMXRPakFwS1N3aWJXRnlaMmx1TFd4bFpuUWlPaTBvYkM4eUsya3JLSEVyY2lrdk1pbDlMRE13TUN4bWRXNWpkR2x2YmlncGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV5WlhOcGVtVTZaVzVrSWlrN1lTNXBjMFoxYm1OMGFXOXVLR2NwSmlabktDbDlLVHRsYkhObGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV5WlhOcGVtVTZaVzVrSWlrN1lTNXBjMFoxYm1OMGFXOXVLR2NwSmlabktDbDlmVHRpTG5SeVlXNXphWFJwYjI0OVpuVnVZM1JwYjI0b1l5eGxMR0lwZTJRdVpHVmlkV2NvSW1admIySnZlQzV0YjJSaGJDNTBjbUZ1YzJsMGFXOXVPbUpsWjJsdUlpazdZeTVoYm1sdFlYUmxLSHR2Y0dGamFYUjVPakI5TERJd01DazdaUzVoYm1sdFlYUmxLSHR2Y0dGamFYUjVPakY5TERVd01DeG1kVzVqZEdsdmJpZ3BlMlV1WVdSa0tHTXBMblJ2WjJkc1pVTnNZWE56S0NKbWIyOWliM2d0YVcxbkxXNWxlSFFnWm05dlltOTRMV2x0WnkxamRYSnlaVzUwSWlrN1pDNWtaV0oxWnlnaVptOXZZbTk0TG0xdlpHRnNMblJ5WVc1emFYUnBiMjQ2Wlc1a0lpazdZUzVwYzBaMWJtTjBhVzl1S0dJcEppWmlLQ2w5S1gwN1lpNW5aWFJEZFhKeVpXNTBWR2gxYldJOVpuVnVZM1JwYjI0b0tYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1WjJWMFEzVnljbVZ1ZEZSb2RXMWlPbUpsWjJsdUlpazdkbUZ5SUdFOWUycHhPbTUxYkd3c2RHRnlaMlYwT201MWJHd3NkR2wwYkdVNklpSXNaWEp5YjNJNlptRnNjMlY5TzNSeWVYdGhMbWx1WkdWNFBXUXVhVzVrWlhobGN5NWpkWEp5Wlc1ME8yRXVhbkU5WkM1MGFIVnRZbk5iWkM1cGJtUmxlR1Z6TG1OMWNuSmxiblJkTzJFdWRHRnlaMlYwUFdRdWRHaDFiV0p6VzJRdWFXNWtaWGhsY3k1amRYSnlaVzUwWFM1aGRIUnlLQ0pvY21WbUlpbDlZMkYwWTJnb1lpbDdaQzVrWldKMVp5Z2lSWEp5YjNJZ2IyTmpkWEp5WldRZ1kzSmxZWFJwYm1jZ2RHaDFiV0lnYjJKcVpXTjBMaUlzWWlrN1lUMWpMblJvZFcxaWZXUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzVuWlhSRGRYSnlaVzUwVkdoMWJXSTZaVzVrSWlrN2NtVjBkWEp1SUdGOU8ySXVZblZwYkdSVWFIVnRZa05oY0hScGIyNDlablZ1WTNScGIyNG9aaXhsS1h0cFppaGtMbTl3ZEdsdmJuTXVZMkZ3ZEdsdmJuTXVaVzVoWW14bFpDbDdkbUZ5SUdNc1lqdHBaaWhrTG05d2RHbHZibk11WTJGd2RHbHZibk11ZEdsMGJHVlRiM1Z5WTJVaFBTSnViMjVsSWlsN1l6MWhMblJ5YVcwb1pTNW1hVzVrS0NKcGJXYzZabWx5YzNRaUtTNWhkSFJ5S0NKMGFYUnNaU0lwS1R0cFppaGtMbTl3ZEdsdmJuTXVZMkZ3ZEdsdmJuTXVkR2wwYkdWVGIzVnlZMlU5UFNKaGJtTm9iM0lpS1dNOVlTNTBjbWx0S0dVdVlYUjBjaWdpZEdsMGJHVWlLU2w5YVdZb1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtUmxjMk5UYjNWeVkyVWhQU0p1YjI1bElpbDdZajFoTG5SeWFXMG9aUzVoZEhSeUtDSjBhWFJzWlNJcEtYeDhZUzUwY21sdEtHVXVabWx1WkNnaWFXMW5PbVpwY25OMElpa3VZWFIwY2lnaWRHbDBiR1VpS1NrN2FXWW9aQzV2Y0hScGIyNXpMbU5oY0hScGIyNXpMbVJsYzJOVGIzVnlZMlU5UFNKcGJXRm5aU0lwWWoxaExuUnlhVzBvWlM1bWFXNWtLQ0pwYldjNlptbHljM1FpS1M1aGRIUnlLQ0owYVhSc1pTSXBLVHRsYkhObElHbG1LR1F1YjNCMGFXOXVjeTVqWVhCMGFXOXVjeTVrWlhOalUyOTFjbU5sUFQwaVlXNWphRzl5SWlsaVBXRXVkSEpwYlNobExtRjBkSElvSW5ScGRHeGxJaWtwZlhaaGNpQm5QV1F1Y21GcGMyVW9JbVp2YjJKdmVGOXBiV0ZuWlY5amRYTjBiMjFmWTJGd2RHbHZiaUlzZTNSb2RXMWlPbVVzZEdsMGJHVTZZeXhrWlhOak9tSXNhR0Z1Wkd4bFpEcG1ZV3h6WlgwcE8ybG1LR2N1YUdGdVpHeGxaQ2w3WXoxbkxuUnBkR3hsTzJJOVp5NWtaWE5qZldsbUtHTW1KbU05UFdJcFlqMGlJanRwWmloaUppWmlJVDBpSWlsaVBTYzhaR2wySUdOc1lYTnpQU0ptYjI5aWIzZ3RZMkZ3ZEdsdmJpMWtaWE5qSWo0bksySXJJand2WkdsMlBpSTdaaTUwYVhSc1pUMWpPMll1WkdWell6MWlPMll1WTJGd2RHbHZiajBvWXo4blBHUnBkaUJqYkdGemN6MGlabTl2WW05NExXTmhjSFJwYjI0dGRHbDBiR1VpUGljcll5c2lQQzlrYVhZK0lqb2lJaWtyWW4xbGJITmxJR1l1WTJGd2RHbHZiajBpSW4wN1lpNXphRzkzUFdaMWJtTjBhVzl1S0dncGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV6YUc5M09tSmxaMmx1SWlrN2FXWW9ZaTVpZFhONVBUMTBjblZsS1hKbGRIVnlianRpTG1KMWMzazlkSEoxWlR0aUxtcHhMbU5zYjNObGMzUW9JbWgwYld3aUtTNXNaVzVuZEdnOVBUQW1KbUVvSW1KdlpIa2lLUzV3Y21Wd1pXNWtLR0l1YW5FcE8yUXViM0IwYVc5dWN5NW9hV1JsVTJOeWIyeHNZbUZ5Y3owOWRISjFaU1ltWVNnaWFIUnRiQ3dnWW05a2VTSXBMbU56Y3lnaWIzWmxjbVpzYjNjaUxDSm9hV1JrWlc0aUtUdGtMbWx1WkdWNFpYTXVjMlYwS0dncE8zWmhjaUJtUFdJdVoyVjBRM1Z5Y21WdWRGUm9kVzFpS0NrN1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtVnVZV0pzWldRbUppRm1MbU5oY0hScGIyNG1KbUl1WW5WcGJHUlVhSFZ0WWtOaGNIUnBiMjRvWml4a0xuUm9kVzFpYzF0a0xtbHVaR1Y0WlhNdVkzVnljbVZ1ZEYwcE8yUXVjbUZwYzJVb0ltWnZiMkp2ZUY5cGJXRm5aVjlpWldadmNtVmZiRzloWkNJc2UzUm9kVzFpT21aOUtUdGtMblJwYldWeWN5NXNiMkZrYVc1bkxuTjBZWEowS0daMWJtTjBhVzl1S0NsN1lpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXeHZZV1JsY2lJcExuTm9iM2NvS1gwc1pDNXZjSFJwYjI1ekxteHZZV1JsY2xScGJXVnZkWFFwTzNaaGNpQm5QV1F1YjNCMGFXOXVjeTV3Y21Wc2IyRmtTVzFoWjJWek8ybG1LR0l1YW5FdWFHRnpRMnhoYzNNb0ltWnZiMkp2ZUMxemFHOTNJaWs5UFdaaGJITmxLWHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0YVc1dVpYSXNJQzVtYjI5aWIzZ3RjSEpsZGl3Z0xtWnZiMkp2ZUMxdVpYaDBMQ0F1Wm05dlltOTRMWEJzWVhrc0lDNW1iMjlpYjNndGNHRjFjMlVpS1M1amMzTW9JbVJwYzNCc1lYa2lMQ0p1YjI1bElpazdZaTVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMV2x1Ym1WeUlpa3VZM056S0h0M2FXUjBhRG9pTWpRd2NIZ2lMR2hsYVdkb2REb2lNalF3Y0hnaUxDSnRZWEpuYVc0dGRHOXdJam9pTFRFeU1IQjRJaXdpYldGeVoybHVMV3hsWm5RaU9pSXRNVEl3Y0hnaWZTazdZaTVxY1M1aFpHUkRiR0Z6Y3lnaVptOXZZbTk0TFhOb2IzY2lLVHRrTG5KaGFYTmxLQ0ptYjI5aWIzaGZiVzlrWVd4ZmMyaHZkeUlwZldWc2MyVWdaQzV2Y0hScGIyNXpMbU5oY0hScGIyNXpMbVZ1WVdKc1pXUW1KbUl1YUdsa1pVTmhjSFJwYjI0b0tUdGlMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RZMjkxYm5RaUtTNTBaWGgwS0dRdWIzQjBhVzl1Y3k1amIzVnVkRTFsYzNOaFoyVXVjbVZ3YkdGalpTZ2lKV2x1WkdWNElpeGtMbWx1WkdWNFpYTXVZM1Z5Y21WdWRDc3hLUzV5WlhCc1lXTmxLQ0lsZEc5MFlXd2lMR1F1ZEdoMWJXSnpMbXhsYm1kMGFDa3BPMlF1YjNCMGFXOXVjeTVrWldWd2JHbHVhMmx1Wnk1bGJtRmliR1ZrUFQxMGNuVmxKaVppTG5ObGRFaGhjMmdvWmlrN2RtRnlJR1U5Ym1WM0lFbHRZV2RsTzJZdWFXMW5QV1U3WlM1dmJteHZZV1E5Wm5WdVkzUnBiMjRvS1h0bExtOXViRzloWkQxbExtOXVaWEp5YjNJOWJuVnNiRHRrTG5KaGFYTmxLQ0ptYjI5aWIzaGZhVzFoWjJWZmIyNXNiMkZrSWl4N2RHaDFiV0k2Wm4wcE8ySXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBibTVsY2lJcExuSmxiVzkyWlVOc1lYTnpLQ0ptYjI5aWIzZ3RhVzFuTFdWeWNtOXlJaWs3WWk1cGJXRm5aVTl1Ykc5aFpDaG1MR1VzWkM1dmNIUnBiMjV6TG1OaGNIUnBiMjV6TG1WdVlXSnNaV1FzWnlrN1pUMXVkV3hzZlR0bExtOXVaWEp5YjNJOVpuVnVZM1JwYjI0b0tYdGxMbTl1Ykc5aFpEMWxMbTl1WlhKeWIzSTliblZzYkR0a0xuSmhhWE5sS0NKbWIyOWliM2hmYVcxaFoyVmZiMjVsY25KdmNpSXNlM1JvZFcxaU9tWjlLVHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0YVc1dVpYSWlLUzVoWkdSRGJHRnpjeWdpWm05dlltOTRMV2x0WnkxbGNuSnZjaUlwTzJJdWFXMWhaMlZQYm14dllXUW9ZeTUwYUhWdFlpeGpMbWx0Wnl4MGNuVmxLVHRsUFc1MWJHeDlPMlF1Ylc5a1lXd3VhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMWpZWEIwYVc5dUlpa3VhR2xrWlNncE8yUXVjbUZwYzJVb0ltWnZiMkp2ZUY5cGJXRm5aVjlpWldadmNtVmZiRzloWkNJc2UzUm9kVzFpT21aOUtUdGxMbk55WXoxbUxuUmhjbWRsZER0a0xtUmxZblZuS0NKbWIyOWliM2d1Ylc5a1lXd3VjMmh2ZHpwbGJtUWlLWDA3WWk1cGJXRm5aVTl1Ykc5aFpEMW1kVzVqZEdsdmJpaGhMR2dzWml4bktYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YVcxaFoyVlBibXh2WVdRNlltVm5hVzRpS1R0a0xuUnBiV1Z5Y3k1c2IyRmthVzVuTG5OMGIzQW9LVHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0Ykc5aFpHVnlJaWt1YUdsa1pTZ3BPM1poY2lCbFBXSXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ0lwTEdNOVlpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXbHRaeTF1WlhoMElpazdaUzVoWkdRb1l5a3VZM056S0NKdmNHRmphWFI1SWl3aU1DSXBPMk11WVhSMGNpZ2ljM0pqSWl4aExuUmhjbWRsZENrN1pDNXVZWFIxY21Gc1NXMWhaMlZUYVhwbEtHZ3NablZ1WTNScGIyNG9hQ2w3WWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlMQ0F1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ3dnTG1admIySnZlQzF3YkdGNUxDQXVabTl2WW05NExYQmhkWE5sSWlrdVkzTnpLQ0prYVhOd2JHRjVJaXdpSWlrN1lpNXlaWE5wZW1Vb2FDNXVZWFIxY21Gc1YybGtkR2dzYUM1dVlYUjFjbUZzU0dWcFoyaDBMR1oxYm1OMGFXOXVLQ2w3WWk1MGNtRnVjMmwwYVc5dUtHVXNZeXhtZFc1amRHbHZiaWdwZTJsbUtHWTlQWFJ5ZFdVcGUySXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMWpZWEIwYVc5dUlDNW1iMjlpYjNndGRHbDBiR1VpS1M1b2RHMXNLR0V1WTJGd2RHbHZiaWs3WWk1emFHOTNRMkZ3ZEdsdmJpZ3BmV1F1Y21GcGMyVW9JbVp2YjJKdmVGOXBiV0ZuWlY5aFpuUmxjbDlzYjJGa0lpeDdkR2gxYldJNllYMHBPMkl1WW5WemVUMW1ZV3h6WlR0blBUMTBjblZsSmlaa0xuQnlaV3h2WVdRb0tUdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YVcxaFoyVlBibXh2WVdRNlpXNWtJaWw5S1gwcGZTbDlPMkl1YzJodmQwTmhjSFJwYjI0OVpuVnVZM1JwYjI0b0tYdDJZWElnWXoxaUxtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndFkyRndkR2x2YmlJcExHVTlZaTVuWlhSRFlYQjBhVzl1U0dWcFoyaDBLQ2s3YVdZb1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtRnVhVzFoZEdsdmJqMDlJbk5zYVdSbElpbGpMbWhsYVdkb2RDZ3dLUzV6YUc5M0tDa3VZVzVwYldGMFpTaDdhR1ZwWjJoME9tVjlMR1oxYm1OMGFXOXVLQ2w3WVNoMGFHbHpLUzV5WlcxdmRtVkRiR0Z6Y3lnaVptOXZZbTk0TFdOaGNIUnBiMjR0YUdsa1pHVnVJaWw5S1R0bGJITmxJR2xtS0dRdWIzQjBhVzl1Y3k1allYQjBhVzl1Y3k1aGJtbHRZWFJwYjI0OVBTSm1ZV1JsSWlsakxtaGxhV2RvZENobEtTNW1ZV1JsU1c0b1puVnVZM1JwYjI0b0tYdGhLSFJvYVhNcExuSmxiVzkyWlVOc1lYTnpLQ0ptYjI5aWIzZ3RZMkZ3ZEdsdmJpMW9hV1JrWlc0aUtYMHBPMlZzYzJVZ1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtRnVhVzFoZEdsdmJqMDlJbk5vYjNjaUppWmpMbWhsYVdkb2RDaGxLUzV6YUc5M0tDa3VjbVZ0YjNabFEyeGhjM01vSW1admIySnZlQzFqWVhCMGFXOXVMV2hwWkdSbGJpSXBmVHRpTG1kbGRFTmhjSFJwYjI1SVpXbG5hSFE5Wm5WdVkzUnBiMjRvS1h0MllYSWdaRDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZiaUF1Wm05dlltOTRMWFJwZEd4bElpa3NhVDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZiaTFrWlhOaklpa3NaejFiWFN4bFBXUXVjR0Z5Wlc1MGN5Z3BMbUZ1WkZObGJHWW9LUzVtYVd4MFpYSW9JanBvYVdSa1pXNGlLU3hxUFNKMmFYTnBZbWxzYVhSNU9pQm9hV1JrWlc0Z0lXbHRjRzl5ZEdGdWREc2daR2x6Y0d4aGVUb2dZbXh2WTJzZ0lXbHRjRzl5ZEdGdWREc2dJanRsTG1WaFkyZ29ablZ1WTNScGIyNG9LWHQyWVhJZ1lqMWhLSFJvYVhNcE8yY3VjSFZ6YUNoaUxtRjBkSElvSW5OMGVXeGxJaWtwTzJJdVlYUjBjaWdpYzNSNWJHVWlMR29wZlNrN2RtRnlJR005WkM1dmRYUmxja2hsYVdkb2RDZ3BMR2c5YVM1dmRYUmxja2hsYVdkb2RDZ3BPMlV1WldGamFDaG1kVzVqZEdsdmJpaGtLWHQyWVhJZ1lqMWhLSFJvYVhNcExHTTlaMXRrWFR0cFppaGpQVDA5WmlsaUxuSmxiVzkyWlVGMGRISW9Jbk4wZVd4bElpazdaV3h6WlNCaUxtRjBkSElvSW5OMGVXeGxJaXhqS1gwcE8ybG1LR00rWWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlJaWt1YUdWcFoyaDBLQ2txTGpncFl6MWpMV2c3Y21WMGRYSnVJR045TzJJdWNtVm1jbVZ6YUVOaGNIUnBiMjQ5Wm5WdVkzUnBiMjRvS1h0MllYSWdZVDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZianAyYVhOcFlteGxJaWtzWXoxaUxtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndFkyRndkR2x2YmlBdVptOXZZbTk0TFhScGRHeGxJaWs3WVM1c1pXNW5kR2crTUNZbVlTNW9aV2xuYUhRb1lpNW5aWFJEWVhCMGFXOXVTR1ZwWjJoMEtDa3BmVHRpTG1ocFpHVkRZWEIwYVc5dVBXWjFibU4wYVc5dUtDbDdkbUZ5SUdNOVlpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXTmhjSFJwYjI0aUtUdHBaaWhrTG05d2RHbHZibk11WTJGd2RHbHZibk11WVc1cGJXRjBhVzl1UFQwaWMyeHBaR1VpS1dNdVlXNXBiV0YwWlNoN2FHVnBaMmgwT2pCOUxHWjFibU4wYVc5dUtDbDdZU2gwYUdsektTNW9hV1JsS0NrdVlXUmtRMnhoYzNNb0ltWnZiMkp2ZUMxallYQjBhVzl1TFdocFpHUmxiaUlwZlNrN1pXeHpaU0JwWmloa0xtOXdkR2x2Ym5NdVkyRndkR2x2Ym5NdVlXNXBiV0YwYVc5dVBUMGlabUZrWlNJcFl5NW1ZV1JsVDNWMEtHWjFibU4wYVc5dUtDbDdZU2gwYUdsektTNW9hV1JsS0NrdVlXUmtRMnhoYzNNb0ltWnZiMkp2ZUMxallYQjBhVzl1TFdocFpHUmxiaUlwZlNrN1pXeHpaU0JrTG05d2RHbHZibk11WTJGd2RHbHZibk11WVc1cGJXRjBhVzl1UFQwaWMyaHZkeUltSm1NdWFHbGtaU2dwTG1Ga1pFTnNZWE56S0NKbWIyOWliM2d0WTJGd2RHbHZiaTFvYVdSa1pXNGlLWDA3WWk1amJHOXpaVDFtZFc1amRHbHZiaWdwZTJJdWFuRXVjbVZ0YjNabFEyeGhjM01vSW1admIySnZlQzF6YUc5M0lpa3VaR1YwWVdOb0tDazdZaTVpZFhONVBXWmhiSE5sTzJRdWIzQjBhVzl1Y3k1b2FXUmxVMk55YjJ4c1ltRnljejA5ZEhKMVpTWW1ZU2dpYUhSdGJDd2dZbTlrZVNJcExtTnpjeWdpYjNabGNtWnNiM2NpTENKaGRYUnZJaWs3WkM1eVlXbHpaU2dpWm05dlltOTRYMjF2WkdGc1gyTnNiM05sSWlrN1pDNXZjSFJwYjI1ekxtUmxaWEJzYVc1cmFXNW5MbVZ1WVdKc1pXUTlQWFJ5ZFdVbUptSXVZMnhsWVhKSVlYTm9LQ2w5TzJJdWNISmxkajFtZFc1amRHbHZiaWdwZTJJdWMyaHZkeWhrTG1sdVpHVjRaWE11Y0hKbGRpazdaQzV5WVdselpTZ2labTl2WW05NFgyMXZaR0ZzWDNCeVpYWWlLWDA3WWk1dVpYaDBQV1oxYm1OMGFXOXVLQ2w3WWk1emFHOTNLR1F1YVc1a1pYaGxjeTV1WlhoMEtUdGtMbkpoYVhObEtDSm1iMjlpYjNoZmJXOWtZV3hmYm1WNGRDSXBmVHRpTG1sdFlXZGxRMnhwWTJ0bFpEMW1kVzVqZEdsdmJpZ3BlMlF1Y21GcGMyVW9JbVp2YjJKdmVGOXRiMlJoYkY5cGJXRm5aVU5zYVdOclpXUWlMSHQwYUhWdFlqcGtMbTF2WkdGc0xtZGxkRU4xY25KbGJuUlVhSFZ0WWlncGZTazdhV1lvWkM1dmNIUnBiMjV6TG1OaGNIUnBiMjV6TG1WdVlXSnNaV1E5UFhSeWRXVXBhV1lvWWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdOaGNIUnBiMjQ2ZG1semFXSnNaU0lwTG14bGJtZDBhRDR3S1dJdWFHbGtaVU5oY0hScGIyNG9LVHRsYkhObElHSXVjMmh2ZDBOaGNIUnBiMjRvS1gwN1lpNXpaWFJJWVhOb1BXWjFibU4wYVc5dUtHRXBlM1poY2lCalBXUXViM0IwYVc5dWN5NWtaV1Z3YkdsdWEybHVaeTV3Y21WbWFYZ3NaVDFoTG5SaGNtZGxkQzV0WVhSamFDZ3ZMaXBjTHlndUtpa2tMeWs3YVdZb1pTbDdkbUZ5SUdJOVpWc3hYU3htUFdNcklpMGlLMlF1YVdRcklpOGlLMkV1YVc1a1pYZ3JJaThpSzJJN2FXWW9iRzlqWVhScGIyNHVhR0Z6YUM1eVpYQnNZV05sS0NJaklpd2lJaWtoUFdZcGJHOWpZWFJwYjI0dWFHRnphRDFqS3lJdElpdGtMbWxrS3lJdklpdGhMbWx1WkdWNEt5SXZJaXRpZlgwN1lpNWpiR1ZoY2toaGMyZzlablZ1WTNScGIyNG9LWHRwWmloc2IyTmhkR2x2Ymk1b1lYTm9MbWx1WkdWNFQyWW9JaU1pSzJRdWIzQjBhVzl1Y3k1a1pXVndiR2x1YTJsdVp5NXdjbVZtYVhncElUMDlMVEVwYkc5allYUnBiMjR1YUdGemFEMGlJeThpZlR0aUxtZGxkRWhoYzJnOVpuVnVZM1JwYjI0b0tYdHBaaWhzYjJOaGRHbHZiaTVvWVhOb0xtbHVaR1Y0VDJZb0lpTWlLMlF1YjNCMGFXOXVjeTVrWldWd2JHbHVhMmx1Wnk1d2NtVm1hWGdwSVQwOUxURXBlM1poY2lCaFBXeHZZMkYwYVc5dUxtaGhjMmc3YVdZb1lTNXpkV0p6ZEhJb0xURXBQVDBpTHlJcFlUMWhMbk4xWW5OMGNpZ3dMR0V1YkdWdVozUm9MVEVwTzNaaGNpQmpQV0V1YldGMFkyZ29MMXd2S0Z0ZVhDOWRLeWxjTDF0ZVhDOWRLeVF2S1ZzeFhTeGlQV0V1YzNWaWMzUnlhVzVuS0RBc1lTNXBibVJsZUU5bUtDSXZJaWtwTzJJOVlpNXlaWEJzWVdObEtDSWpJaXRrTG05d2RHbHZibk11WkdWbGNHeHBibXRwYm1jdWNISmxabWw0S3lJdElpd2lJaWs3Y21WMGRYSnVlMmx0WVdkbFNXNWtaWGc2WXl4bWIyOWliM2hKWkRwaWZYMXlaWFIxY200Z1ptRnNjMlY5TzJRdVpHVmlkV2NvSW1admIySnZlQzV0YjJSaGJEcGxibVFpS1R0a0xtMXZaR0ZzUFdJN1pDNXlZV2x6WlNnaVptOXZZbTk0WDIxdlpHRnNYMk55WldGMFpXUWlLWDA3WkM1cGJtbDBLQ2s3WkM1a1pXSjFaeWdpWm05dlltOTRPbVZ1WkNJcE8zSmxkSFZ5YmlCa2ZYMHBLR3BSZFdWeWVTeDNhVzVrYjNjcE95aG1kVzVqZEdsdmJpaGhLWHRoTG1adUxtWnZiMkp2ZUhOM2FYQmxQV1oxYm1OMGFXOXVLR01wZTNaaGNpQmlQWHR0YVc1ZmJXOTJaVG8yTUN4emQybHdaVXhsWm5RNlpuVnVZM1JwYjI0b0tYdDlMSE4zYVhCbFVtbG5hSFE2Wm5WdVkzUnBiMjRvS1h0OWZUdGpKaVpoTG1WNGRHVnVaQ2hpTEdNcE8zUm9hWE11WldGamFDaG1kVzVqZEdsdmJpZ3BlM1poY2lCakxHRTlabUZzYzJVN1puVnVZM1JwYjI0Z1ppZ3BlM1JvYVhNdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ2lkRzkxWTJodGIzWmxJaXhrS1R0alBXNTFiR3c3WVQxbVlXeHpaWDFtZFc1amRHbHZiaUJrS0dVcGUyVXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdHBaaWhoS1h0MllYSWdaejFsTG5SdmRXTm9aWE5iTUYwdWNHRm5aVmdzWkQxakxXYzdhV1lvVFdGMGFDNWhZbk1vWkNrK1BXSXViV2x1WDIxdmRtVXBlMllvS1R0cFppaGtQakFwWWk1emQybHdaVXhsWm5Rb0tUdGxiSE5sSUdJdWMzZHBjR1ZTYVdkb2RDZ3BmWDE5Wm5WdVkzUnBiMjRnWlNoaUtYdHBaaWhpTG5SdmRXTm9aWE11YkdWdVozUm9QVDB4S1h0alBXSXVkRzkxWTJobGMxc3dYUzV3WVdkbFdEdGhQWFJ5ZFdVN2RHaHBjeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ0owYjNWamFHMXZkbVVpTEdRc1ptRnNjMlVwZlgxMGFHbHpMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9JblJ2ZFdOb2MzUmhjblFpTEdVc1ptRnNjMlVwZlNrN2NtVjBkWEp1SUhSb2FYTjlmU2tvYWxGMVpYSjVLVHNvWm5WdVkzUnBiMjRvWVN4aUxHUXBlMmxtS0dJdVptOXZZbTk0UFQxa2ZIeGlMbVp2YjJKdmVEMDliblZzYkNsMGFISnZkeUJ1WlhjZ1JYSnliM0lvSWxCc1pXRnpaU0JqYUdWamF5QmhibVFnYldGclpTQnpkWEpsSUdadmIySnZlQzVxY3lCcGN5QnBibU5zZFdSbFpDQnBiaUIwYUdVZ2NHRm5aU0JoYm1RZ2FYTWdiRzloWkdWa0lIQnlhVzl5SUhSdklIUm9hWE1nYzJOeWFYQjBMaUlwTzNaaGNpQmxQWHR6Ykdsa1pYTm9iM2M2ZTJWdVlXSnNaV1E2ZEhKMVpTeGhkWFJ2YzNSaGNuUTZabUZzYzJVc2RHbHRaVzkxZERvMlpUTjlmVHRtZFc1amRHbHZiaUJqS0NsN2RtRnlJR0k5ZEdocGN6dGlMbTVoYldVOUlrWnZiMkp2ZUNCVGJHbGtaWE5vYjNjaU8ySXVjblZ1Ym1sdVp6MW1ZV3h6WlR0aUxuTjBiM0J3WldROU1EdGlMbkpsYldGcGJtbHVaejB3TzJJdVlYVjBiM04wWVhKMFBXWmhiSE5sTzJJdWFXNXBkRDFtZFc1amRHbHZiaWhqS1h0aUxtRjFkRzl6ZEdGeWREMWpMbTl3ZEdsdmJuTXVjMnhwWkdWemFHOTNMbUYxZEc5emRHRnlkRHRoS0dNdVkyOXVkR0ZwYm1WeUtTNWlhVzVrS0h0bWIyOWliM2hmYlc5a1lXeGZZM0psWVhSbFpEcG1kVzVqZEdsdmJpaGtLWHRwWmloa0xtWmlMbTl3ZEdsdmJuTXVjMnhwWkdWemFHOTNMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGUzWmhjaUJsUFdRdVptSXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxcGJtNWxjaUlwTG1Ga1pFTnNZWE56S0NKbWIyOWliM2d0YzJ4cFpHVnphRzkzSWlrN1pTNWhjSEJsYm1Rb0p6eGthWFlnWTJ4aGMzTTlJbVp2YjJKdmVDMXdjbTluY21WemN5SStQQzlrYVhZK0p5azdhV1lvWkM1bVlpNXZjSFJwYjI1ekxuTm9iM2RDZFhSMGIyNXpQVDEwY25WbEppWmpMbWhoYzAxMWJIUnBjR3hsU1cxaFoyVnpLWHRsTG1Gd2NHVnVaQ2duUEdFZ2FISmxaajBpSTNCc1lYbHdZWFZ6WlNJZ1kyeGhjM005SW1admIySnZlQzF3YkdGNUlqNDhMMkUrSnlrN1pDNW1ZaTV0YjJSaGJDNXFjUzVoY0hCbGJtUW9KenhoSUdoeVpXWTlJaU53YkdGNWNHRjFjMlVpSUdOc1lYTnpQU0ptYjI5aWIzZ3RjR3hoZVNJK1BDOWhQaWNwZldRdVptSXViVzlrWVd3dWFuRXVkVzVrWld4bFoyRjBaU2dpTG1admIySnZlQzF6Ykdsa1pYTm9iM2NpS1M1a1pXeGxaMkYwWlNnaUxtWnZiMkp2ZUMxd2JHRjVJaXdpWTJ4cFkyc3VabTl2WW05NExYTnNhV1JsYzJodmR5SXNablZ1WTNScGIyNG9ZeWw3WXk1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJsbUtHUXVabUl1Ylc5a1lXd3VZblZ6ZVQwOVptRnNjMlVwZTJFb0lpNW1iMjlpYjNndGNHeGhlU0lwTG5SdloyZHNaVU5zWVhOektDSm1iMjlpYjNndGNHeGhlU0JtYjI5aWIzZ3RjR0YxYzJVaUtUdGlMbk4wWVhKMEtHUXVabUlwZlhKbGRIVnliaUJtWVd4elpYMHBMbVJsYkdWbllYUmxLQ0l1Wm05dlltOTRMWEJoZFhObElpd2lZMnhwWTJzdVptOXZZbTk0TFhOc2FXUmxjMmh2ZHlJc1puVnVZM1JwYjI0b1l5bDdZeTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMmxtS0dRdVptSXViVzlrWVd3dVluVnplVDA5Wm1Gc2MyVXBlMkVvSWk1bWIyOWliM2d0Y0dGMWMyVWlLUzUwYjJkbmJHVkRiR0Z6Y3lnaVptOXZZbTk0TFhCc1lYa2dabTl2WW05NExYQmhkWE5sSWlrN1lpNXdZWFZ6WlNoa0xtWmlLWDF5WlhSMWNtNGdabUZzYzJWOUtYMTlMR1p2YjJKdmVGOXRiMlJoYkY5amJHOXpaVHBtZFc1amRHbHZiaWhoS1h0aUxuTjBiM0FvWVM1bVlpeG1ZV3h6WlNsOUxDSm1iMjlpYjNoZmJXOWtZV3hmYm1WNGRDQm1iMjlpYjNoZmJXOWtZV3hmY0hKbGRpSTZablZ1WTNScGIyNG9ZU2w3WWk1emRHOXdLR0V1Wm1Jc1lpNWhkWFJ2YzNSaGNuUTlQWFJ5ZFdWOGZHSXVjblZ1Ym1sdVp6MDlkSEoxWlNsOUxHWnZiMkp2ZUY5cGJXRm5aVjloWm5SbGNsOXNiMkZrT21aMWJtTjBhVzl1S0dFcGUySXVZWFYwYjNOMFlYSjBQVDEwY25WbEppWmlMbk4wWVhKMEtHRXVabUlwZlN4bWIyOWliM2hmYTJWNVpHOTNianBtZFc1amRHbHZiaWhoS1h0cFppaGhMbXRsZVQwOU16SXBlMkV1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRwWmloaUxuSjFibTVwYm1jOVBYUnlkV1VwWWk1d1lYVnpaU2hoTG1aaUtUdGxiSE5sSUdJdWMzUmhjblFvWVM1bVlpazdjbVYwZFhKdUlHWmhiSE5sZlgxOUtYMDdZaTV6ZEdGeWREMW1kVzVqZEdsdmJpaGhLWHRwWmloaUxuSmxiV0ZwYm1sdVp6MDlNQ2xpTG5KbGJXRnBibWx1WnoxaExtOXdkR2x2Ym5NdWMyeHBaR1Z6YUc5M0xuUnBiV1Z2ZFhRN1lpNWhkWFJ2YzNSaGNuUTlabUZzYzJVN1lpNXlkVzV1YVc1blBYUnlkV1U3WVM1dGIyUmhiQzVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMV05oY0hScGIyNDZhR2xrWkdWdUlpa3VjMmh2ZHlncE8yRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExtTnpjeWdpZDJsa2RHZ2lMR0l1YzNSdmNIQmxaQ3NpSlNJcExuTm9iM2NvS1M1aGJtbHRZWFJsS0h0M2FXUjBhRG9pTVRBd0pTSjlMR0l1Y21WdFlXbHVhVzVuTENKc2FXNWxZWElpTEdaMWJtTjBhVzl1S0NsN1lpNXpkRzl3Y0dWa1BUQTdZaTV5WlcxaGFXNXBibWM5WVM1dmNIUnBiMjV6TG5Oc2FXUmxjMmh2ZHk1MGFXMWxiM1YwTzJJdVlYVjBiM04wWVhKMFBYUnlkV1U3WVM1dGIyUmhiQzV1WlhoMEtDbDlLVHRoTG5KaGFYTmxLQ0ptYjI5aWIzaGZjMnhwWkdWemFHOTNYM04wWVhKMElpbDlPMkl1YzNSdmNEMW1kVzVqZEdsdmJpaGhMR01wZTJJdWMzUnZjSEJsWkQwd08yRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExuTjBiM0FvS1M1b2FXUmxLQ2t1WTNOektDSjNhV1IwYUNJc1lpNXpkRzl3Y0dWa0t5SWxJaWs3WWk1eWRXNXVhVzVuUFdaaGJITmxPMkl1WVhWMGIzTjBZWEowUFdNN1lpNXlaVzFoYVc1cGJtYzlZUzV2Y0hScGIyNXpMbk5zYVdSbGMyaHZkeTUwYVcxbGIzVjBPMkV1Y21GcGMyVW9JbVp2YjJKdmVGOXpiR2xrWlhOb2IzZGZjM1J2Y0NJcGZUdGlMbkJoZFhObFBXWjFibU4wYVc5dUtHRXBlM1poY2lCa1BXRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExuTjBiM0FvS1M1amMzTW9JbmRwWkhSb0lpa3NZejFoTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzV1WlhJaUtTNWpjM01vSW5kcFpIUm9JaWs3WWk1eWRXNXVhVzVuUFdaaGJITmxPMkl1YzNSdmNIQmxaRDF3WVhKelpVbHVkQ2hrS1M5d1lYSnpaVWx1ZENoaktTb3hNREE3WWk1eVpXMWhhVzVwYm1jOVlTNXZjSFJwYjI1ekxuTnNhV1JsYzJodmR5NTBhVzFsYjNWMExXRXViM0IwYVc5dWN5NXpiR2xrWlhOb2IzY3VkR2x0Wlc5MWRDb29ZaTV6ZEc5d2NHVmtMekV3TUNrN1lTNXlZV2x6WlNnaVptOXZZbTk0WDNOc2FXUmxjMmh2ZDE5d1lYVnpaU0lwZlR0eVpYUjFjbTRnWW4xaUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG5KbFoybHpkR1Z5S0c1bGR5QmpMR1VwZlNrb2FsRjFaWEo1TEhkcGJtUnZkeWs3S0daMWJtTjBhVzl1S0dFc1lpeGpLWHRwWmloaUxtWnZiMkp2ZUQwOVkzeDhZaTVtYjI5aWIzZzlQVzUxYkd3cGRHaHliM2NnYm1WM0lFVnljbTl5S0NKUWJHVmhjMlVnWTJobFkyc2dZVzVrSUcxaGEyVWdjM1Z5WlNCbWIyOWliM2d1YW5NZ2FYTWdhVzVqYkhWa1pXUWdhVzRnZEdobElIQmhaMlVnWVc1a0lHbHpJR3h2WVdSbFpDQndjbWx2Y2lCMGJ5QjBhR2x6SUhOamNtbHdkQzRpS1R0MllYSWdaRDE3YzI5amFXRnNPbnRsYm1GaWJHVmtPbVpoYkhObExIQnZjMmwwYVc5dU9pSjBiM0FpTEd4cGJtdHpPbHRkZlgwN1puVnVZM1JwYjI0Z1pTZ3BlM1poY2lCaVBYUm9hWE03WWk1dVlXMWxQU0pHYjI5aWIzZ2dVMjlqYVdGc0lqdGlMbWx1YVhROVpuVnVZM1JwYjI0b1lpbDdZU2hpTG1OdmJuUmhhVzVsY2lrdVltbHVaQ2g3Wm05dlltOTRYMjF2WkdGc1gyTnlaV0YwWldRNlpuVnVZM1JwYjI0b1lpbDdhV1lvWWk1bVlpNXZjSFJwYjI1ekxuTnZZMmxoYkM1bGJtRmliR1ZrUFQxMGNuVmxLWHQyWVhJZ1pqMWlMbVppTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzV1WlhJaUtTeGpQV1l1Wm1sdVpDZ2lMbVp2YjJKdmVDMXpiMk5wWVd3aUtUdHBaaWhqTG14bGJtZDBhRDA5TUNsN1l6MWhLQ2M4WkdsMklHTnNZWE56UFNKbWIyOWliM2d0YzI5amFXRnNJajQ4TDJScGRqNG5LUzVvYVdSbEtDa3VZV1JrUTJ4aGMzTW9JbVp2YjJKdmVDMGlLMkl1Wm1JdWIzQjBhVzl1Y3k1emIyTnBZV3d1Y0c5emFYUnBiMjRwTzJadmNpaDJZWElnWlQwd08yVThZaTVtWWk1dmNIUnBiMjV6TG5OdlkybGhiQzVzYVc1cmN5NXNaVzVuZEdnN1pTc3JLWHQyWVhJZ1pEMWlMbVppTG05d2RHbHZibk11YzI5amFXRnNMbXhwYm10elcyVmRPMk11WVhCd1pXNWtLQ2M4WVNCb2NtVm1QU0luSzJRdWRYSnNLeWNpSUhKbGJEMGlibTltYjJ4c2IzY2lJSFJoY21kbGREMGlYMkpzWVc1cklpQmpiR0Z6Y3owaVptOXZZbTk0TFNjclpDNWpjM01ySnlJZ2RHbDBiR1U5SWljclpDNTBhWFJzWlNzbklqNDhMMkUrSnlsOVppNWhjSEJsYm1Rb1l5bDlmWDBzSW1admIySnZlRjlwYldGblpWOWlaV1p2Y21WZmJHOWhaQ0JtYjI5aWIzaGZiVzlrWVd4ZmJtVjRkQ0JtYjI5aWIzaGZiVzlrWVd4ZmNISmxkaUJtYjI5aWIzaGZhVzFoWjJWZmIyNWxjbkp2Y2lJNlpuVnVZM1JwYjI0b1lTbDdZUzVtWWk1dGIyUmhiQzVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMWE52WTJsaGJDSXBMbWhwWkdVb0tYMHNabTl2WW05NFgybHRZV2RsWDJGbWRHVnlYMnh2WVdRNlpuVnVZM1JwYjI0b1l5bDdhV1lvWXk1MGFIVnRZaTVsY25KdmNqMDlabUZzYzJVbUppRmhLR011ZEdoMWJXSXVhbkVwTG1oaGMwTnNZWE56S0NKdWJ5MXpiMk5wWVd3aUtTbDdabTl5S0haaGNpQnBQV0VvSWk1bWIyOWliM2d0YzI5amFXRnNJaWtzWmowd08yWThZeTVtWWk1dmNIUnBiMjV6TG5OdlkybGhiQzVzYVc1cmN5NXNaVzVuZEdnN1ppc3JLWHQyWVhJZ2FEMWpMbVppTG05d2RHbHZibk11YzI5amFXRnNMbXhwYm10elcyWmRMR2M5YVM1bWFXNWtLQ0l1Wm05dlltOTRMU0lyYUM1amMzTXBPMmxtS0djdWJHVnVaM1JvS1h0MllYSWdZajFvTG5WeWJEdHBaaWhpTG1sdVpHVjRUMllvSW50MWNtd3RibVY5SWlraFBTMHhLV0k5WWk1eVpYQnNZV05sS0M5N2RYSnNMVzVsZlM4c2JHOWpZWFJwYjI0dWFISmxaaWs3YVdZb1lpNXBibVJsZUU5bUtDSjdkWEpzZlNJcElUMHRNU2xpUFdJdWNtVndiR0ZqWlNndmUzVnliSDB2TEdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoc2IyTmhkR2x2Ymk1b2NtVm1LU2s3YVdZb1lpNXBibVJsZUU5bUtDSjdkR2wwYkdWOUlpa2hQUzB4S1h0MllYSWdaRDFrYjJOMWJXVnVkQzUwYVhSc1pTc29ZeTUwYUhWdFlpNTBhWFJzWlQ4aUlDMGdJaXRqTG5Sb2RXMWlMblJwZEd4bE9pSWlLVHRrUFdRdWNtVndiR0ZqWlNndktEd29XMTQrWFNzcFBpa3ZhV2NzSWlJcE8ySTlZaTV5WlhCc1lXTmxLQzk3ZEdsMGJHVjlMeXhsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvWkNrcGZXbG1LR0l1YVc1a1pYaFBaaWdpZTJsdFozMGlLU0U5TFRFcGUzWmhjaUJxUFdNdWRHaDFiV0l1YVcxbkxuTnlZenRpUFdJdWNtVndiR0ZqWlNndmUybHRaMzB2TEdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENocUtTbDlhV1lvWWk1cGJtUmxlRTltS0NKN1pHVnpZMzBpS1NFOUxURXBlM1poY2lCbFBXTXVkR2gxYldJdVpHVnpZM3g4SWlJN1pUMWxMbkpsY0d4aFkyVW9MeWc4S0Z0ZVBsMHJLVDRwTDJsbkxDSWlLVHRpUFdJdWNtVndiR0ZqWlNndmUyUmxjMk45THl4bGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rb1pTa3BmV2N1WVhSMGNpZ2lhSEpsWmlJc1lpbDlmV011Wm1JdWJXOWtZV3d1YW5FdVptbHVaQ2dpTG1admIySnZlQzF6YjJOcFlXd2lLUzVtWVdSbFNXNG9LWDE5TEdadmIySnZlRjl0YjJSaGJGOXBiV0ZuWlVOc2FXTnJaV1E2Wm5WdVkzUnBiMjRvWXlsN2FXWW9ZeTUwYUhWdFlpNWxjbkp2Y2owOVptRnNjMlVtSmlGaEtHTXVkR2gxYldJdWFuRXBMbWhoYzBOc1lYTnpLQ0p1YnkxemIyTnBZV3dpS1NscFppaGpMbVppTG05d2RHbHZibk11YzI5amFXRnNMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGUzWmhjaUJpUFdFb0lpNW1iMjlpYjNndGMyOWphV0ZzSWlrN2FXWW9ZaTVwY3lnaU9uWnBjMmxpYkdVaUtTbGlMbVpoWkdWUGRYUW9LVHRsYkhObElHSXVabUZrWlVsdUtDbDlmWDBwZlgxaUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG5KbFoybHpkR1Z5S0c1bGR5QmxMR1FwZlNrb2FsRjFaWEo1TEhkcGJtUnZkeWs3S0daMWJtTjBhVzl1S0dFc1lpeGpLWHRwWmloaUxtWnZiMkp2ZUQwOVkzeDhZaTVtYjI5aWIzZzlQVzUxYkd3cGRHaHliM2NnYm1WM0lFVnljbTl5S0NKUWJHVmhjMlVnWTJobFkyc2dZVzVrSUcxaGEyVWdjM1Z5WlNCbWIyOWliM2d1YW5NZ2FYTWdhVzVqYkhWa1pXUWdhVzRnZEdobElIQmhaMlVnWVc1a0lHbHpJR3h2WVdSbFpDQndjbWx2Y2lCMGJ5QjBhR2x6SUhOamNtbHdkQzRpS1R0MllYSWdaVDE3ZDI5eVpIQnlaWE56T250bGJtRmliR1ZrT21aaGJITmxMR2RoYkd4bGNtbGxjenBtWVd4elpTeGpZWEIwYVc5dWN6cG1ZV3h6WlgxOU8yWjFibU4wYVc5dUlHUW9LWHQyWVhJZ1lqMTBhR2x6TzJJdWJtRnRaVDBpUm05dlltOTRJRmR2Y21Sd2NtVnpjeUk3WWk1cGJtbDBQV1oxYm1OMGFXOXVLR0lwZTJFb1lpNWpiMjUwWVdsdVpYSXBMbUpwYm1Rb2UyWnZiMkp2ZUY5cGJXRm5aVjlqZFhOMGIyMWZZMkZ3ZEdsdmJqcG1kVzVqZEdsdmJpaGlLWHRwWmloaUxtWmlMbTl3ZEdsdmJuTXVkMjl5WkhCeVpYTnpMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGFXWW9ZaTVtWWk1dmNIUnBiMjV6TG5kdmNtUndjbVZ6Y3k1bllXeHNaWEpwWlhNOVBYUnlkV1VtSm1Fb1lpNW1ZaTVqYjI1MFlXbHVaWElwTG1oaGMwTnNZWE56S0NKbllXeHNaWEo1SWlrcGUySXVkR2wwYkdVOVlpNTBhSFZ0WWk1aGRIUnlLQ0owYVhSc1pTSXBPMkl1WkdWell6MWlMblJvZFcxaUxuQmhjbVZ1ZEhNb0lpNW5ZV3hzWlhKNUxXbDBaVzA2Wm1seWMzUWlLUzVtYVc1a0tDSXVkM0F0WTJGd2RHbHZiaTEwWlhoME9tWnBjbk4wSWlrdWFIUnRiQ2dwZkh3aUlqdGlMbWhoYm1Sc1pXUTlkSEoxWlgxbGJITmxJR2xtS0dJdVptSXViM0IwYVc5dWN5NTNiM0prY0hKbGMzTXVZMkZ3ZEdsdmJuTTlQWFJ5ZFdVbUptRW9ZaTVtWWk1amIyNTBZV2x1WlhJcExtaGhjME5zWVhOektDSjNjQzFqWVhCMGFXOXVJaWtwZTJJdWRHbDBiR1U5WWk1MGFIVnRZaTVtYVc1a0tDSnBiV2NpS1M1aGRIUnlLQ0owYVhSc1pTSXBPMkl1WkdWell6MWhLR0l1Wm1JdVkyOXVkR0ZwYm1WeUtTNW1hVzVrS0NJdWQzQXRZMkZ3ZEdsdmJpMTBaWGgwT21acGNuTjBJaWt1YUhSdGJDZ3BmSHdpSWp0aUxtaGhibVJzWldROWRISjFaWDE5ZlNsOWZXSXVabTl2WW05NExuQnNkV2RwYm5NdWNtVm5hWE4wWlhJb2JtVjNJR1FzWlNsOUtTaHFVWFZsY25rc2QybHVaRzkzS1E9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2ljb24tZGVmYXVsdC5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0ZWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcS9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgzNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcCtEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQ3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOG11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4vV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4OVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1enJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFDTzBsRVFWUklEYjFXUVVzQ1FSUjJjd21DQlZ0UGdhZTZGRUg5QVBFaXVmNkM4Qmg2aW83ZGdxQkRFSFRyR0oyVWp0SXZjQTB2NGcvb0VIV3BrOUJKRXhhQ1VPeDd3ODR5YXpQT2FPYkNNRy9ldlBkOU0yKy9tVjFyUEI0bmRFODJtMTF6SE1kRExMVmR5N0pTbEFON0FQc1p6UStDd085ME9sODZMR3NhWVQ2ZjM3QnQrd0lnWmJRMURSaVIxWWJENFdXcjFmcFF4U29KUGM4N1I5SVptcU5LVnZnRCtLOTkzNytTemY4aURNdDNqNTBmeWhKTWZTanpBOHA4TkZubUdHR3BWRnJ0OS91UEFNMlpBbXZpMnE3ckh0VHI5VzhldDhJTjZudTkzaDI2UlpFUlpDN0VKSnM5RVdHeFdDeWpET1hRciswZ0RwZWFMcEF3Q1p2SHNaSkNqUTdVK0FKbmhrOU02NGtJU3Z6a01SQ1k3bXgxa2JPRG5JRHRFR1FucG1TY1JPeWhTRXNjUyt4TXlKSGdKU1ZDNHdmSi9jbGdBMUxHWVJVS2hUMGtQMDBDbUl4bEpKcnk3dE1PNTFhbERGeTJDR0h4T1JzSGZCdEtpbndZMTBhajBha29pbWpTMENCUzJXS0lpM2JJTG1LTzlWY3lqcU00TWlrdUdoNzM3ejBSRGtTV1pESjVnM081THZybXNXVktKaTRiNys5VkJLU2JBY0ZsdkFQUnJiUmxJcEc5UHdJZ0x0cGhXNG1tbVppRkxJUnFzNnNOSzNxRFkxT0RINXVlZyt3ZE9WdGNOTGN4Tk0xQXBrQlZHUVVveHNFSUFVQ0RyakE1azJsQVJwYzNJNHcrd1BRSndjR3Ntakx4WFNyVUdJT0JXQ3FOUnFOR3pvaVFCcmhYcTZSU3NoZjEwTTNWYkRZckhJKy9RelpPcDlQSE1PWldMUWNWK25hSUdibGlPeVR2VW4raW9tWEFnQkNXODVzb2tpNzFSMWdrWHVTdi9nK0hVeU1YWXRSdjRnQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vaWNvbi1pbnZlcnQucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFdVNVUkJWRWhMeFpaQkRvSXdFRVZabVpDd1lNa2x1SXBuY09zQldIRUpFaE8zSE1BenVITHJHVng1QXhPMytMK1pHcWdGcGtqR0pqOEJPbjllMnRKMmtrVFJ1cTVMb1MxMGdNN1FWY1JuZm1OZnFrZzFIWUlrQlhTRW50QmNZd3hqaTBWZ0dHdm9NVWNKOU5OVHE2RXlmYWNGSU4vQ0hOUFRqSUFOZEZrQjVsSXcxMlowdE9oc1Y0UzVWRzBRaU41ZEpDeEhQS1ZwdXdFVWpneTZhNXdTay9jVEtIek1uWDA4ZUtrVXBuN0lBTWhFQ24vVkI5NFVoa0ZJYUYxbWN0emVIZ1NWc1RBWHZ3QmFFcmhmQ3FRdkVyb25zUEdBM0JwZmE2UStPU1J3WkJBTmdRUk0vaEN4TUZtcTBKWnAvd0kwbjFMem44WjJXOGdDMjIxOEFab2ZiYmFIdDR6UzducHlHenR3Q1B4eTZqbHYrQUtXVWRxV0dBSmxEV3BUUkhtM3VFMlo2RUh0Q21FUHZGcXAvd0prYS9Ma2N0V1FGQUFBQUFCSlJVNUVya0pnZ2c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2ljb24tbWluaS1pbnZlcnQucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFBbHdTRmx6QUFBT3dBQUFEc0FCYXRhSkNRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVVHRnBiblF1VGtWVUlIWXpMalV1TkQ2TnpIWUFBQUNXU1VSQlZFaExZMkFZQmFNaE1Cb0M1SWJBLy8vLzlZSDRQUkNmQjJKK2NzMGhTaCtTWlVBbUdORFdVcWpQWUpiUjNsS29qOUF0cEoxUFFYR0d6MUtpNG9WVVJZUFNVcHFrWHFDaCtkZ2lFNVo2U1EwNXZPcXhaQTlrdStmRE5GUEZwOFJhUmhVZjB0VXlrSXR4Wkh4UWNNS0RrU28rUTRxVCtWZ1NDbTBzdzJFcGJTMURzclFmNk5ONnFnYmZxR0dqSVREb1FnQUFBdlNDeUVnNFZFMEFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vaWNvbi1taW5pLnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93UUFBRHNFQnVKRnI3UUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFEL1NVUkJWRWhMN1pOUmFvUXdFSVpYVUJBRVJjRUhRVVFVRVFTTm5xeEgyQ1BzRWZaSU9VcU9NUHRQNlVBb0JlTzJlU2hFK0VETU9OL2tqOTV1NFFvSmhBVGVUV0RmZDNVY2h3RWE5OFc3Zlp6ZVc5ZFZiZHRtQUgyaDhjeWZkRmtXQThnR1luL1NlWjQxSUJ1V2U1Tk8wMVNNNDZnQjJZalU2Vnl1RmczRFVQUjlyd0VKYmR0K3hzdzd2ZHJQcWI3cnVnSVN6U0lici9FMlRmTUJpQkZwbG1YeVFmM3RUdXU2VnNBQUVsaVdwaWtsU2ZLVW1MRDIrMSttTEV0VlZaVUJKUHdrY3pxYnM2STh6eFV3Z0FSdk1oNEd6UTBMYkw3SGVEYjBwWFUwZjdMQXhqNnpTODFjaTFrUXh6RXgzbVV5VkJSRkQzQjNIVExVaFFUK1p3SXZkZjF4ZmRoRWE1QUFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbG9hZGVyLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhRQUJBQU1ZQUFBUUNCSVNDaEVSQ1JNVEN4Q1FpSktTaXBHUmlaT1RpNUJRU0ZKU1NsRlJTVk5UUzFEUXlOTFN5dEhSeWRQVHk5QXdLREl5S2pFeEtUTXpLekN3cUxLeXFyR3hxYk96cTdCd2FISnlhbkZ4YVhOemEzRHc2UEx5NnZIeDZmUHo2L0FRR0JJU0doRVJHUk1UR3hDUW1KS1NtcEdSbVpPVG01QlFXRkpTV2xGUldWTlRXMURRMk5MUzJ0SFIyZFBUMjlBd09ESXlPakV4T1RNek96Q3d1TEt5dXJHeHViT3p1N0J3ZUhKeWVuRnhlWE56ZTNEdytQTHkrdkh4K2ZQeisvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUlDZ0FBQUN3QUFBQUFRQUJBQUFBSC9vQkFnb09FaFlhSGlJbUtpNHlIRUNJSkVZMUFMaGtTTUpPWml6UUpCejgvRFpNcG54Y1pMSnFvZ3h3dEg1K2ZvWTJqcmo4REFnQ3BqU1FWTDdPdm9yMmZIVFM0aVNBdUQ4QytzY2svTHdHWXhJUTRIY3pLakxMTU14VFJnZ0tlMWFDLzREY0swVG8zNEQ4SE5wTUdHK2tmN0trR3ZOVURFaUNhSUFJTnJkVWVxRFRVU3paQndDQVFIQ3dvMHNFRHdpQVdQY0E1eUNRQVhiSUhEdklCd2VGaHhZOGRpa1o4akVCQUVBQURGNWg5VU5FSXh6ZGdLN1lCUVJEQjRrZEZBMXk5U0lGQkVBNlJ5VzRNVXdRaVlySU9DQVNwZVBrSlpDS2dyaTZZdUFXakFMTVYwQkM1WUZiQklZd0V5WndpZ2pxclJGSUEySHJGU0VRQ0diQU8vZzVSVUFQMm9vQ2lCRzU3emNBQkJJUlZZQjlPSGFxUWJFVlNGR1EvM1NESkNJV0hsTDEybElSZ3ROY0lqWVE0K0p2MVlCdU11Yk1xOE0yRUlzUG1Ud3VTNG9EY3ExeWhGc2ttQWdITDJRUWhDajdXRnZJUmdRRWhCYXcvMWNpbklka016RUJvblA0MHdhR0NYamNrRENKUW9sVVBRMVkvdEJnS2hNR0pYdklhSkJOQmlIWXZnekNZUGpBb3lJVE42NFgrTnZPZ2tVSHdHeVZwREhRRkN3Z0VwcC9BRjBFdkN2VmxuanF5RWVKT1dRNEJJY05wZGdFaG55c1A5QVNFQ01uSUFBUUdlZjFRd1NBeFVPaEFWb1dBWUFKckZXZ1VvazdEc0pDTUFZSWMrTWtCK2Znd0MzNkNXT0RLQmlRdzhwTXJBUWlDd0E2elpDRElCTURBL2hKREEwdzJPUkVJN3dBcENBRVdiWURDSkFqazFBd0hPZDZZbEFwTk5wbkRMWWx3TU1zTEpRRlJ3aWNQOUpnSkJ0OE1RTlYzcnJpV2lnVTdIS0JuaENUNGsyQW1LcmpDUTR4NkhyQkRDTkVBb0NpWlFOaW9Eb21UQUxEQUp6a01zaWlqM0pUWHd3Qi9hcUxCcGhGbUt1cW9wSlpxNnFtb3BxcnFxcXkyNnVwdUJlU2dBekVTRkZDQWJxeXV1RUtEcUdqNVlha21ERENDc0pKMDV3K01xQWpnaW5TVVRPRHNDQURob3F3ck4xd0p4RnduV0lqbHBEOHNrQThFUkxxaXdTSWVKSkNDdWVhT0N3SlRMZ2pDUUQwRFFKb0lCR3Qrd214eEZQWWtRZ3I4OWh2QUxUbkFkTXVBcnB4Z3JhTS85S0J0SWdqVSs0T1Ivbkg3eWErVi9yblNnU0F5SkdNUUNmc2xJQWdJaE0yb0FxYUZDT0RSSi9FS3N0VXNYRkt3M0E4RkloQ2NjSUprTU1zSEdzNFVNbk1zRlNMQkFKc05rQlFRSEhSNDhXeUFwU2toWUw3aFlOTVBGd3dGUVFpYndVZkloQmxBZzBPNG43d3dESlZ2RWVMaVc3Zm9PTXNCTWhFTmxOV0QvTFVBc3h1ZTdBcWlRQVFNakoyQ2FObkxyQURzVEFyY0FBaGdxeUV4VklEUFExeWo3SkFBTDIrQTNJWEpYTUFYQWhKLzhrRUlKSkpzQ0FUSDlISUFYeWhFMlF1eWhBQlFzU3M5WUxJMU1EdVlJTy9tR2xST3lqQWdKN01BcjRTOG04eVlRQkFnKzR4MEkrSkE0cTRjTUZRSXpNQnRDTUhBSkpBUEN1S3hIbEl5QTR6bUFUT2hIZ0xENzVRNkJJSUQxeDNlbElqZVhZZmdmUURNSEdCdEloUThQWXZDVTFhd21WaUhrQ1dNa0g2ZnlkNGlHcnc4bzUwTXlBRXk2R2NJa1R5Z0FsenFodWlBMFNsRk9BQWNGVWdiQWhSUUxFVDRRQVBhd2tFTy9QZUpDazRDWWNsNFFRNThnd29LcENCOHZYQmVLanpBUWN1Tm9HZU1FRUVQV3RoQnpVMUNBeWpzUlg4V2taWVFOaEFWREpCYk1uYW9pQjU2Ym4vY1FFQUtPRWpFUkJqUkZRVlkzNmg0Z0tRa2lhTVhiMHNWQ0dLbnd5dCtZZ01Hd0IycVFDQ0JCdFNqaVlpUXhRYzZvQUl4c2dvSEptaEFwUm9SZ2c1WVFHbXZLb1FORDdGSFRRUUNBQ0g1QkFnS0FBQUFMQUFBQUFCQUFFQUFBQWYrZ0VDQ2c0U0Zob2VHSWdrbUFqZ0FpSkNSa3BPSU1qK1hIeXNaRWpDVW5wUWtqNU0wbDZXWEZ4a3NuNnVGSEMwUEdKUXdENmExUFNLc255UVZINWNjbmd1MXdoMDB1WkVRTGplbU9wNE53c0l2QVozR2hUZ2R3akdlRWMvUE14VFVnenduenkyZUFpUEszS1kzQ3VBYXRNOHJxd2c4RVN2cW1CYkdCaS9xRDlPRVFHQ0FBQW1FZ0JhOTFIbGdwYUVmdHdtNEJJSGc0S0hEamc4OEpuRzRwczdHSng3d2hEMXdBRUlRQmc4YmF1R0F4SUtBUkFNWHVIMVFRUW5IdUhqRmdDQUlFYkxVQ1ZHSENqeElFUXNJamhIY2J1U0VCSUhqTUFTQ0ZCemdOaUxTZ0ZNbUhzRW93RzBCd0VNdXVGVWdDQ01Gdmd3RmIxNHFBUldFMldmK0NTQ1I2Rm1xQTBFVVRrMjlhR0dBQmtGRU9CS1dXaEFMQkZkaEgzNGRxaEFQS2dLa3RSNkVjRG1KZ3RwU0cxWkM2UEZzQk5CQkhBU1hldkFOUnQ1TEZWWWlJb0NpRUlvTXdoWkF4UkZUR00xQ0xaNDVFUFIydEFsQ1h3VjFlREVod2xJZ0N0S1ZxbEZTUmJmUE5FUmZta0JRZ2VnYkFnYVJLRkhEVU84UERaWXlxRjFxTnhCbndqSU9TdkFzTzRJZHBoNUVCR0pCMlFaREJtcTk4RkFTeVBoMUpBQkJ3UTBiZEpDQ0FZMEFCY0ZsbHd3Z1NBaTEvQVlFQk94ZDhnSlVoRURBUXdncGxWTENYektJVm9JZ0NIeFdpQWpQeUFBRUJqMVZzTjVvTnZSbkNBUXdsVkpCZnpHWThzRnhpUFJXeWc0RThkRERBYjA4b0pvSnBheis4STBrR0VEMlF3QWtUbFVLV3BMTUlFeGNnd0NBQWdlS0VaRE9Da1ZOZ3NCVlAzeWdDbjNyWUlnSUJ0TDlrQjBrSlZ6eVFJQ2ZZQ0RsQUZxUjkwTTdrUEFnVW5DRVVPQ1FlYXVvOEVHQnFzRldTZzZSSUZuTEJKRUVjTWtCZjYyaTVXY29EaFpKanFkTVVJRUdrVUNXRFRpRW9PRFFEeGRDWW9BRkloQlFLU1FJd1BNbXFZTkVNQUNSUHpCQXEzWXJOQkFCb0xRS3hFTnJ1eFpyN0xISWZnS0JxOGtDQVlJR01iU2cySzRZdkhEQkJDVzRJQ090QkNURUl5SVFVQ0NCaW9pQWNCbWR1K2Izd3dYYkZzSkNBQlhNVUZzRFZwa0NLaUVBbU9nSlp6KzRDQWxqdFdDSkNJUTJDZ0pEQmozc1lFQXVtZjRnQVNRQTNGTUxNNUQrQ0xBT3NibjljRUtZbENBZzhRTHRFdEt0TU5NZUFvR1VsN2dnQ0FNT0RRQ3N5WEZlOGpBUUJCRFFyZ1hDM1BEcUlkdjRoS0VQcGZUQU1TSXdBUHdEbFJBRWM4SUlKYnpKcnlrZFRFTENxVDlnQ1lMUkJ5Z1E4aUFpU1B5RHk0SjRVTXN2RkxTcEQ4U0NLSW9KdVFnWS9jTUVGcERRTGdBb0Q0QWhCejNSQzRTUG1GQW15TElpV0pCQ0R4dW9nb0dlRitRRVFRalNMVlFJbVJsTWd3TjhwYnlnS3c1MC9SQzFkZ3hxL2dqT3BweXdKQkFjT1BsRGQ0VVVNTVBNUm5WWVNnaUM1UEFNbjRPUU9iR3pOZFJ5QWVzQThGREFWQXNZZ29HTUhLQjh5UWdFQ2REbUJ1MUs4TXdGS3lFUWpJNGhmQVVDQlFMbys3Y0h5azBhQ3dyK3Jwc2lJYjVQbXpJQVFUaUVmOGtPdWs3eXJOZWxKTzZzMjRQdHZETFZpNWFVUHNtUjBCTUI1YlU0UUU0SUpneldHYUpuVjNvRUN0Q0RpYUVSd2diZHE4VUFWQ08yWnhRZ0VqQ1luakF5UUJBUXVBQWVCOWlhSUdJR2pSQjBrSUFCSkJZa0JzUU5vUW1DQUx6b1FTUW04SXdPdEE4QkpOVFByQ0poS0c2Y2dIWU11STNKTHZPQUNreUxCK296QmFFbTRRQjhWR0IwY2luVEJrcWdnVERoSUFkdEtrVUVXQUUwZGJ3Z0IrMGpHZ05RWUNJQUpORVVDUkJoSkJ5UXhWSjhZQVFXb0lEMklHRTdZVVJnanBQUVFBUzVzWUVhekVjU2g5SFBFbzNCQVBqaDQ0S1VhR0lBZHdnT0JDU2dqYWFvQ2lXY1o0b0NxTEJZUEtBaFBrNDhvRVpDa0dBdzVFb1dBRFJnSlhYNDdSZ1gySUFCN0ljc0VFaWdBZmk3QkNQN3hNcG1DUUlIQm1pQm5zWm55MTFCZ0FFNlNFQU5QTkpMSUFRQ0FDSDVCQWdLQUFBQUxBQUFBQUJBQUVBQUFBZitnRUNDZzRTRmhvZEFBZzA5SFMwbE1TWWlHSWlVbFphWGhDUXZQNXlkUHg4TEdSSXdtS1dtbEJPZXFwd1hHU3luc0tjdXE3US9Bd0lBc1pnZ3BUUzF0UjAwdXBRZ0xnV2xBS20vcXk4QnBNT0VPQjAvTndpbFBzdTFNeFRRZ2dJSG5RcWxHRG9XQVFVakQ5bWNOK0xET2plZUZjTXdBaEViMlI4MnVnYWJuaGZQRUlIQVFJSUJBd0tHUUNqNnNNd0RMQTMrVkVsSXlNRkRoeDBNT1pXZ3hLTEhNZ2VtQk1TamxTT2FCM3kwWkZRQ1lPQkNyUThxTU9FQVIydUZNQ0FJSW95a1ZlMFNqaEcxYnR3azVwRldCMnRBRk5EOE5ZK1NCUk81SUJTb3RTTGdvVm0wS2tBQUFpUEJzaHNiSm9pb2xLcUVOUkFwYXNXZ1JFTGRxZzcrVzFGTVk5YkNBSTJ0bGloa25JRURDSWlwcWw0MFFHcW9RazFyS0lDcXVoRUJvU2tibm5ZZ2hGRDBRUU1Oa3hCeHlPanBBVGNZYytYMUxRU0NBdzhhS0E0cDdyVEFHbzRTQ2xKYmFrRUxKQkN2blUwSVhNRHB4WXdJREFncGNPbXBCcTllbkR0TjJLcGc4VVJCZUFsRlVQV2h4VkFHSjFUdEs0VmJsUUJCSVpZKytDN0lSQWRETEc0ay8vSEN3M0VHeE5rNXRnUmhhYWNlaENBSXlMRERnaUFRWG4zQVRTRVFvQ0JBQUNocGhKY015UjF6aVFncEhYTGNiWjI0VUFrRUxYVlN3WEV4ZVBMQ1VKUjAxOGtCRXg1aVFTY2JrT0RUQUowRUlBZ0NPM2lTd1NXOHFaSkFKUVNNdElGc2x5REE0Zzh6WkdhQ0p6MVJna0ZFblpEK2gwZ0puRHlnb2lrWWVNQkFMb0xBa0YwNGxmQ3d5Z05XRmFJWEo3WjFBMFFHbnBUazFDb1RWSUxORHdkME9ReUVyRlhTb1NvYm9jTEpXbUlLZ29GYjdCRm1DSk9xdUlnSURHNHBtZWNLbm9BNENBNGloTmFKYmdRRXdFQ0p2bnlTV1RmSEZjV0pvU1JZTU1BTEUyamFpUTVBTU1ESkNzQUpvdVVQRjVRSUN3MCt6T0JPQTU2b2hJQU5JM0MyZ2FnSEZOQVhDNTZNNE0wRkphZ0VUWTBhQ01KQkFjU3BKTUFxRzB4elFBWUNUR2hxbkVCQTRDWXNBRno1SEhRaUZQQ0tCS3ZNb0FJUHJnS0JBV2V0NWlrSUNSa3BTb2dHcXd4QWpIMVA1bWtBSnlkRVo4aWF4VlVpYXJMdS90Z1VJb2JaV01sMEdyb3JRa2JmR2dKQWdxUCtWdkpzSnpmd0NBUUtDbHlLQ1FLSS9yQkF1b01Rc040UEhGeG9uNFhaVnFET0FOc2VBZ0dnUDBSc3lKQ0wrWHNJdy96S0JuQVBIaU9DQU0wekN2eldKWnA0Y3FOZkNiT3BBcFdJcU5BSnpKVjhxWXAvbDVEWnlRZkd3bENESnhOWVFBTEpPR3d5QUZJc2pPQUREVkJUU04xOGxlQ3dFNnMzUVJEQ2VnY3N3SU1oSFdUd3pFeXN1Y0JMamtlWGNxSW5Cd3dJQkFlcmRXSW1JWmRpRUhJbklRaVNBeTN1N05JMEs5OENJRUFCU3gyZzh5QXN4T2pKQUZzSmNQSUdKQk1DQWdNKzlJVkFqWjNzNENvRUZFaWdnUXB1UXVBQ241d2MwQmNLRkhkaUFERWNoTEFDUXoyUWdvUHBuRGhZQ2dRYTBON0pCY0tBc0Rscm8vdDF6eXIrT2VSQ0FPMDJEOHJEOTZzY2NGTUl0WlEvQ1B1MEpNQUxDclJlMEwwZ0ZOVFF3UXpBcXpMQWFCNm9oZlFPQVFQcmxXa3JJSEJBQ3RTVWpSZUVBSUVCcU1VQk5IWUlHc3pORTBBVFJOc0tBUUFEcWlJWUw5cGVKMTVnS0VwbzRHVEJ5eHdpYUlEQ0IxUWdaWU9JWUMzQ2RBa0hMS01DaWpNRVZqanhnUTFVUUFNVVhGd3RJZ0FMZ05IaUJUa0lqaUVZSUFNRmlJQUJLTmlnNjZEWENmbkZ3Z01vM05vSUxFQ0IxbDBpTFo2SWdCUkxvWUgrMVdJRE5RaUJCaVRBZ3lBaTRtTHNvYUV1R0RDNWRWUnhldUE0UUFtSGdZQVVaUEdNWGl4RUJncmdSbWp3UUJsMlJGa3BZaVltRUZRdmtYaHlGelJBSUlFR0lLa21nWlJrS1hBY1lJSVd4R2NWcjlDa3V5REFBQjBrb0FZRFdNQUdOakFEVW9reUVBQWgrUVFJQ2dBQUFDd0FBQUFBUUFCQUFBQUgvb0JBZ29PRWhZYUVHRHdtTVNVdEhSME5KUWttQWpnQWg1aVptcHVEREM4L29LR2lvQjhyR1JJd25LcXJoeDJqcjZNWEdTeXN0YW84c0xtaVBTSzJ2cGd0dXNJL0hUUy94NEljSDhPNkx3R3B5TDROek1JekZORkFFS3cwSlFFV09nWVdBUVVURjlRM0NzZ2FMWmZZTUFJUks4TWZGcjhHbnhLc0lCZ2tMQXdVS0VBUUFpR2d4VEpkSG14cCtQUmpRanRNSURoNDZMRGpJS2tEUFRBVVl0RkRtQTFXUEI2SWtvRUpnNDhOdzNvY0FtSEFIS3dKS0ZUaE9ERnFna0JDQ0NMY29NWWpFNEVCbzFibzBNWUpncXRYS2dncE9FQ04yQ1lZQlVCdEdNcktSYTRFZ2lDa0VIWmh3NFFKQzA1dzRBUWloQUdpcTBpSWZOVkJHNHFqL3FOZXREQkFBMjIyVFJGd0hLc0Fhd1VDSUFoR3ZIb1Fnc0F2RGo4MjZMV2xiUEExSUFsZVZWZzhDQUVGSGh4b3hNd1U3TWVDdjdVNmozSXdDSVNHQmFBZW1EQTBVOVNMQ1JHTUZjSVZxc1pOVlRRc2hwcGdGd2pMRVFJd1JYMzFvWUZzUWRORWtWNFYrVlh3UXc4TnFiMXhRL2VQRng1dU1uQUo2Z1lKVlJCb2pocXdDWVFQMERnaFFNREFJUVRLVUNXSXl0QmRRcFVJV0NRMVJYWlIxQVQzRElQRUlNb0h4Mld5MVNnNzlGYUlDYUNjZ0o0bUdJeHdRd2dhQ1lJQVU2RUF1TWtNcjJEbDAwNC8rTFVLQWhVU3dtQW9OenhJQ0FYN1dQZkRjNWlVa05wMzBTQWdIaWpwRk1MTkJ3elFKc29EcVVCVENBVU1MWWROQnFMay9yQmlBUXhwY0tJb0V5Q1hBWTJEQkFES0FRcitjbDhvQ3doQ0FwT2lSQ0RnS1BVQndOUUxHUmdtaUdBL3hJQU5CZ0tod05CMWY0VWdHVitqQkFBRUNoYnRJQkFDYThIb0N3WXgzUEFZYXFFd0FJUUJyd3dnV2lqMWtDREtDb0xRUUVxSnRnRHdYaTlBZEJSS2NCSzhNb09ub3VnQUJBdFFDa0xiQmJmNThsNVNRQ1FIQ2tsYmlySUJxYUZvQUFRRG9vd2dpQUNnc0lxTVBEL0FXc05JUU5RYXlncVBncklhQmFKMENZU2wxMjNtQ3dnWTVnTUVYRC8wRXVvb0MrQXBpZzlBWUdDUnNCZzgwRUZQeHhCd2tHd1RpS0tvRG8wMkowb0J2dDM0QTQyS1JrUHZEOEx1V3NFeUg4Ums1U2dOV0ZBVHAwRGxpczBnRFZld1VRMHIvbHdpYmlnSjFEcURBcmRGSUlyRUQ0dHdrTGFGNkFVQXNhWGk4TUVDS3ZUbTR3ODNXSHNNQXNRdTBHb2g3cjdDQVFBUzNKd1ZocUR3VjRoNnEwQWdMc21IUElsaWxvUjRISXFEZzBDZ3dnSVpnYmNES0JwbWdpc29IWEJDd3B3L2VBakV3VDhjd0RFbkNnOGc1Q0VVdUZnUEowaUc4a0YrTUJ5N213VWszQlJkVmpuSWZJaTljcXU1Q1E3Y0FTd2JCQUZZZDhBQ0MreFE0Q29FZ0NoSzE2c29uT29nSExBcEdTWTROQ0RCM2tEa0FFdU9xb0JnTnlodkR3SUFEd1VBVGNwamhIQnc5UThEaVBDUUFDNXU0TE1tQ0NDNndkb0RVU0NCQmhwSXdDSWhFSGdnT1NqMUFmYmVLS3ZaZ2dOSzBkc0NnUVlvaDNLQk1RQmN6Q1hUL29NM0FQNGhNUEFRd2ZPaUhDQ2JuYkFnclFvSEx1eGVTSVFkMUZCQkJ3dXNCY3NBaTFuK0NyNnNZRUVObHBHQjhRR0JmY3g0UVFqUW9xeFFITUJ2bVdEQUFIZUJxWkxwVHhnZDZKZnFHaGFLRndncUV4QUEweXRPUUxwQ2pFa1hENmpBV0E3eHNoOFlpUk1PRUVZRllDY0lHRXdBYktUWVFBazBVRUZEa0NvQ3R2Q0JNRjZRQXcwS0FnVU1FSUVDRkNBQ0JxQUFkSmlnVFFMa3B3a0h1R2hBSTdBQUJhRG9pdzVFZ0l1YzBNRHlkTEdCR2dSQUJ6SVFBQTlrb0FFZkdQRXAyR0JBOXBveXVZZlZBZ0VKdUdKVFBtakhUZkFnWG5RVXhRREEyRWREQUVBREhBb2tLRGhWeUZXQVFBSU53T0V3QnRsSTZSbWdCWVVUQmlNckcxa0xDREJBQndtb3dRZ1dzSUVOekdBQURVaUFBVmdBdkY4RUFnQWgrUVFJQ2dBQUFDd0FBQUFBUUFCQUFBQUgvb0JBZ29PRWhZYUVHRHdtTVNVdEhUME5KVEVtSWhpSGw1aVpta0FRSWdrekx6K2lvNlNpSHdzWkVqQ2JySzJjTVFlbHNyT2lGeGtzcnJtWENiUzlzd01DQUxyRFFEQUx2c2lrSFRURXVqUVB5ZEV2QWF2TnJSYlIyVE1VMXF3QUZhSVBFeFVCRmpvR0pnRUZFemZSTnpMZG15Z1JBdFdYQ0R3Ukc3NFRKUEc1SURDUVlNQ0FCQVlRaEVBSWFQQ2gxSWNJOXY1aEFzSEJRNGNkRFVkOU9OQWpCQWNJZzFqMEdIVUNYak1PbGpiaDhMQXYyZzRKZ3dBWXVOQWdKVEVjQjFvZ3hJUWdCTFJzUDFZZ0tJUmdKekVRSFVTNXdLUWlGdEFmRDNCSkhPUmlWRlJETUhqMXVyRmh3b1FWRjBZNW1EcUl4RTlSRzRZaW1pRHJSUXNEL2pSQURvSkFRVWNBbzFQQmxjcUJOVUhHR3hFSWtHM0ZJU09wR3pZSnlUaFJBUWRSR2p4NDBFREJDZ1hsWEMxbWpiMFVFWU9QQ1dkL3ZKZ1JnUUVtQUExcTROVkV3L0NvQ1hMbE9aMzFvUVV6UXc1RTJjZ1VHNGpXVWdKeUNRajE0Y1lOMTZJOTRHWHg4NFpnUXhBOGxKZzdlMVNQWVNvRUhJU1FLRURMSHhNdUF3RnhiRlFCUXpoR1BrZ3BZcFpKVEwxNW16Z0FzVkFNVWk5dUMxSVJWcFFCUWIrTmNnQkNMS3dtaUFVNnVSS2ZJQWpzUUVvR2dtVGxXZ09DbEVkS0F1TnQwSUZqaEJEUXpsTHhZRFBLRFVNWklNc0ozSVVDSEJBYzFLSUFJU1dJY2tCRXhNQndBaWt2VWpBTEF6ekk4c0FxSHBDeUdRVXFna2dNQWlsbC9rQUtYeUI4TjRvR0lwSXlnU0JKamZJZkVEN0lTS01yRE16QUZ4RHRqYktBSUEzSUVzRjlwVXdIZ29PajNNYldEekdjMU02QVFHQncxZ3REaFNCTERUR1dFZ0FRS0JoMkFVZ3cvQlFjTVRyKzhBRTNRS3hBQ2pNbWxqSkFsYVNZQUVTaW9xd2dDQU9tSkFaUWZ5SUlNZ0Fwd2NrZ3l3d2psYUlERUp5T01vSWdQZjV3Z1lHdU9QcURDb0xVUUFvOEFzaXlRYXFrck1vQ0thOEMwYXVzQzdwU25nYTU3bXFzTEN0UU9vcWxyWW95SmhBMGlQS0NlTHFBY09NUE1BRWhiYWdTeUxLQVhxVDRVS2VnQ05rcENnZk5FSkRSYlJiK1lKb09zZ3dRb0NqbmVVdUtQMERNSUFxenhFU0tZakZuZlVCWmxxWFVFS1dyZ2dEN0E4RXgvdHh3SlRHcFZnQXJLUnNJZys0b0NZUjVHRWdSa0tJeEVDUUFUTXl4NEFvU3FTZ2FBMkJyc1BMS3dzT3pJM0pMREFCdkxtRFVUQU9qak53UEhNZ3N5NThnVkdla05ibTFUQWdKb0ZGbWdpdzNnSlNEcE0rVlRKTE9nZ2pUQ2dnTlFBaWRTYU9XMG9FZ3Bwb1NRR3drcUNnS2hvVm9NSU1LWG0rQ3dKYUVVREMwQlF5R2RjQ2hoQ2c1eWdWcUZTTTRlQmFRc0JNQUpOeXN5NzZLUGdkRUFSVndEUVFPN2ZpWFVBaklIYkRBQWlkODhFSzRyWGdveTltRHdGQzNJU0tlWndnSFpkTnlncWVaWEMzTGkxOVhrTllsQUFoUVFIVzFWTUNvSUxRS0lzTFFHeFIvajhyd1VTQ0JCaHBJUUFOZUVMaXdRcWpRelV6S3hZUHhwa0Y1L2grc2JjamhZaWJialFvaUZENElQaEd3U1VvUGtrZm9wTk5rQ2REUUF3dDBVRU1OSGN3UW1xUWNJZ1FEenVJNnNxQUFlTWw0UVFqTTE3UURXRTVCaGZqR1UzNndqRXlBN1FHQUd3WUVRckFCM0FtQ0JabEx4Z01xQUM5NXJLb1pKSWlkOE5hbmdBS3NZR2dmMkVBRk5QREE3dW1nUDZONFFRNU1FeE1VTUVBRUNwQ0JCQmlBZ3RWMWp5Z1pHSm9wUm1BQkNpZ1BDSXd6UUEwbElvSVErbUlETlFoQjlIZ2dBQW5vd0FjVmVPRVBhbURFN2pGQWV4T1V4VzZPU0FnRXBFQ0phWHdBRDlrNENCNjhLWTJsV0FEZXVnZUM3K0d4RkNtZ295RkFJSUVHdUcyQ0grakFGSStJQXhPMEFJZkl1RUVITEJBL1FWNENBZ3pRUVFKcUVUQ0FCV3hnQlFzWVFBTVNvSU9QL0NNUUFDSDVCQWdLQUFBQUxBQUFBQUJBQUVBQWhRUUNCSVNDaE1UQ3hFUkNSQ1FpSktTaXBPVGk1R1JpWkJRU0ZKU1NsTlRTMUZSU1ZEUXlOTFN5dFBUeTlIUjJkQXdLREl5S2pNekt6RXhLVEN3cUxLeXFyT3pxN0d4cWJCd2FISnlhbk56YTNGeGFYRHc2UEx5NnZQejYvSHgrZkFRR0JJU0doTVRHeEVSR1JDUW1KS1NtcE9UbTVHUm1aQlFXRkpTV2xOVFcxRlJXVkRRMk5MUzJ0UFQyOUh4NmZBd09ESXlPak16T3pFeE9UQ3d1TEt5dXJPenU3R3h1YkJ3ZUhKeWVuTnplM0Z4ZVhEdytQTHkrdlB6Ky9BQUFBQWIrd0o5d1NDd2FpUmplS1ZacWRUcU5VdUkwd0FHTzJLeDJDeGtsWkI2ZmVFd1dlMVNaQ1d6TGJoTnBDVU41VGhkYk1peTMvc2hwaGV1QWREMGplM3NFRlgrQmluTWROSVZ0TkNhTGsyVTJBNCtRa3BTVGxwaHVrWFFPRWlVQkZ6c0hGd0VGRWhaMG5aNXVESEppT2drRENGb3dBeEVxWTYrd255WUNFeEJFQUJna0xBd1VLQ0JFSUFNdEZwZkFlN2hDSUJ3dkhUcUpQaDRHUFNFOHhVTFgxWVVZSHhxVU9oRUU2SThJSVE2Yll3NHBPUEY2UERiMlpDNFc3Tk16b2w0WkN4b2tTRkRRcW95TERmRUlVTmd6d0orTEZnZG9sQk1DZ2NLT0J2VWU3c0hoNkVnRkV4TUpob0MzQmNVTGlIb3dxQkJ4cFFpSE1DaGh3YURCZ3dQK0RSU3daSXBaWWFURm1KeDdTQVFRWVZDTUN3a1JTc2JzSlVaR1RTRTB2Q0ZsZzZLRXR6a2VHcEJ3ZzRQcUdFSkRFc3d4Z0FzQkJ5MEllcER4WU1PR054VVl0TkNBQjBMR25CcERJR2dpMDBOSWlGOUg0aHFJTVFBREJBZ29lSVRRZ0ZldmdSSkNDc3h4a2ZmSENEb3pmdUNvaDlnSWhEVkhJSnc3QXNxREl3WjBEZ2hKTVVkSHNSZStxQTM4UVdPV2p3eENSTXhwSU1Sdm1RUS9RTEFiRTBJSWl0V1BJT2o3Y1lLTURWdzM1cGlBZ09Hcmowc2NBTElzMFFHNkhoQWxCRnlCMFZDTVFBcDBHUENZNDJETkJ6TEVmMUJ3NGFQSHh2TWxpTUdERUJtUWtjTVBBT2d3eHdiVmxTR0JFQjJRSWRzUDkvbGd3SDl1Z0NDQkdBZisvakFCR1FvSTBjQWNFY1F3QjJZZytPWkRTaHY2RUlNbkY0aGhnRE1vTk9VQ0xpSE1VVUVGY3dUd0F3cUpXRkFNQWdicFZnZ0pZNlNrQUJrTS9IREFIQUlZVmNZRlB5QTVoZ3BZbWRIWkl5QTBoRmFFWTF6eVlSa3l5RlhHRGord1FNYURQOHpuZ3dYT2VMSWNVVCtNT0Vab241V2hnWmxrUUFUYkdDSUlNWUFkY1dKQ0ZaMDFrSUhuSENwSVNjWUorb0dZcFE4dUFJVkppbUpNQUNFWmhJd0pJbzlsZlBCRGQyUEFPU3AvUHJ5RkNRRi9sTFRrR0UzdUFLVmFaUlNRM0dBK2pQWERxNkppOHVTYnpoQTVoZ2RBQlRCY2pHVUUrb01BZlFwaG9nOHFZT2lHbVJVSTRhWVlHbHlSNkhGNVdsZE1CR1JVK3dNRFlXaUEyaDcrRUppcDZRL1Bpb0VaQUdhTnNRTU8zZzA0cUMrV3RsQVpKZ2dJSUlNekVDd25Ca1FrZU1jQnZITTBCNEdLRHdoQndaYjhsclFCR1E3azFhQzNQK1RBNkJYZ09nWFRiaFdOSVM2ZlkzUWd4QXgwWEVJQ2Z5SmxBY0pWcG1reGdqK3A2b2NxR1ZUK2dFQjdZd0QyUXdZdFl3RkJDUktjUUVLY0FCQ3dnd0Fkbkh2RUJEYmtSK3RjTFAyZzJVRzQ0Q0JRRmtPVFlZSUNDcGlRU0EvbUVUSEFSQkRFSzRiSlE2aHBuWkZhNE1Dc0lqSkl0UVVEdVBxdzlSQnorMURhRmdEd1VJQ0tkbFF3UWFGdDREMkdCb2g3S01iZkdWSXd3UVliVEVCRDQzb283Z09rUlFEUUErUlpVSENBMDBKdk1HRG1YMHZMRzl4YjlHYWhMZWJCd0VQZ0JPeUFqZ1VOckdNQ0NzVXFkRkJEQlIwbzBOVGp1ZTltQkEwODIyTzc4VUlRNE5VL1lyU1FFdk5hTUpBRHpZczRVSUdxMUxzOEJBSXJGS0NDZHg1b1VNSUdXMkxldldnUzVOQWtFU2d3TU1BQ0M0ekFBQW93VTVDQ0N0T3ZMeHBWSGhEQkJTZ0FNeU1BZ0FRbjZNRWZ0dEs5c3RCQkF6VUl3QTVtTUFBZXpHQURINmpCK0xUVFArUGhRR0RRb3dNREIrTEFFQVppaFBHZ1FZdE1XQWNGRks4YUFOaUFjVmk0dUFPb2J5QWdtRUFEYnZZUEQzUmdCVGVrSGc0T0lBMUsyS0FETjZpYS80VEdnQjBrb0FZaVVJQUdOQ0FEQVRRZ0FRZGdnZW9LRVFRQUlma0VDQW9BQUFBc0FBQUFBRUFBUUFBQUIvNkFRSUtEaElXR2hCZzhKakVsTFIwOURTVXhKaUlZaDVlWW1acEFFQ0lKTXk4L29xT2tvaDhMR1JJd202eXRRRFFKQjZXenRLSVhHUWl1dW9VY0xSKzF3TE0xQUx1N0pCV2h3Y3FpQnlqRnJpQXVEOHZVSHdMUHJUZ2QxTndCMkt3Y0o5UVBFeFVCRmpvR0pnRUZFemVpQXhEZm05ckJCd2tDcTVnSVBCRUU4NnhBZUVoR2FvQUVFSVJBWUNEQmdBRUpEQWdCRnVPd1lkU0VhNEpBY1BEUVljZXZVUjhPOUFqQlFaN0VWaWdLUEhBUUVRaUxpdFIyK0dNRlE0UkVaNFFnOU9BbTZrVUtTNWt5M0tCeHNoQ0JDenh0bVNCMlNNZXZGYm1LRGxJeDZzYUdDUk5XSUFWV0lpcWhvNk5pU0NYa3dRQU5rNElnVU5EUllGcXBEZjRVQ2tFWVFlb0RpN0VvUFd6OVVjRHJvQUN6UnJSc0JRT29KaGcwZVBDZ2dYTVFpZ3dYZEJ5Q3NJT1dnbDBKSnFBMVJDTEFDSUkvWHN5WU9jaHZJYXF6Wmd6ZWJFaUJxQWlIU0pUNFNPc0dDVmNOYU5rY2xDQ0d2a0lJS3YvNElLT1FpWGQxYjl6NGFFQVhCZENpR2d5Q0lHdEczRUlSU0ozNERXRWJzeGdDSUVKSXBLRllnVmtQZ0lxb3VuUVFEdVNpS2hRU2VNSUZhMHdRQmh0aVFhczVrQVNsZENXSUQ2VGM4SThodjdHU2dUZUdBSEFYRUJQTUloMFFDOHdTQWhBZ3dDUUtnL05vRUJvSGhhQlF3UTI1MkRETENlTkI5OE0xSEpEeXdvSGZBREFEUEV3QklZQndsMUZBQ3dNOG9MY0tnYU8wSUFnR2pSWGpvU2c4Q1A2aUFVRTVZS2poS0JwWU1Nc0VnbmduaW44KzdJQlJNVEtLMGlRUTY0MnlnQ0M1bFJKQkRMT1VnS0Z3b2hBRllXaVhQV1BpRHdjZ2hJRmJvZVVTZ2pBbHpPSU5DclJkSUE4TWJtMjVpNDdEWGJjQ0tVUVpNTXNBVm81aUFoQ0lpcktDSUF5WVl0Z3VJR3kxMndDa1hDTkRhanVWSWxtbW80d2dTSTgvWEtDZkxvditvSUlnTlpCU25BQ3piRkFxS1pMeGw2b2d1TFo2bnlzVi9sQWVFTFdPY3Vzc0swUXF5cVNvaWpMbUt6MFZxUXNJNHZ3Z1FaV2syQ1RCTEF0VU1Jc1BRR0FRcUoxdWdmZ01BUis1V2F3b0RBQ2h3Nk1BbGxJQWh0bUtjaHNRTS81QTdqTUMvSUlpRUlTQzVBeVFwTlFnWlNtcUFyR3JzWUtnK2NNS3cvNnlJc0VKOGdIQnFpZ2JFQ051S1FtRVdhQTgyWTNDSUFQTWZZUEJkUkxIQndRQXNmTEs3aXhKQnJ0U1M5NGRVTEVyRUR4WkhnbTBqY0lCekJaeWNzQUNEdzdDUUNpd0FYU2tLT2tCNFdncE44aVRBN1BFcUhLSUQ1cTVVbU5PL2JvTUJBcGxqdEtCSUtQT1lxZ2hJRmliaVFBajJQQTFFQzZVb3U3TER1QnBnU0FJN0RWS0RST1JFQkVBSkJnd3dFYzFlSlVoS1djWHdzQ2lIOEI0WGlrZnhPc0tBdzk4Y01JQ0N4d1E5QThaSkNqQ1J5KzRDVndHUWc3aWF5a2R6STBKRE8vU3NzQzJodXo1dzRYN0ZBTHFMSkpkOGpVT0JjaFN5Z1VWSEhUSlhQSG9JaklwRjVnbUNBdWpKYWlXQkJwb0lBRU5yeHBDQUE2N0FQQndkUDc2Z2VBQWNqdVlrQ0JlbUN5dDNhWmpsejNLUFNJNHo0OS9lSlU4SE8yRWtBM01Bd3QwVUVNTkhaaUJXNDQxRnRpOTVoTGl3eE0zTHJDdnNWRGdCaU00bjFFcThEbGxKQzhuRWxIQWRUVEJnQndvTUJnUEtNNGdSTENCRkVnUWZhVlJRQUZXVU1FUGJLQUNHbWdNQVhMd2tRVllEb1crUXdFREpDQURCWWlBQVNqNEdnVlNBQitvV2NCMWVJR0JBU2lBeEVFUXpnUTlVTkVvS3VDMnNhUmdPQnVvUVFpc3h3TUJTRUFIUHFnQkM1ZnhndDZoVUFVVlRBb3BEckMyc2VEQWIycTBWeFdMMHAwNHlnNS9PRVNZSFRsbWdKM1JzUVpTckVZSFZPQkh2R0RBQkMyQUl6QnUwQUVMd0FpSG1ZQUFBM1NRZ0JvTVlBRWJXTUVDQmduUWdBVG9vQ1FTQ1FRQUlma0VDQW9BQUFBc0FBQUFBRUFBUUFBQUIvNkFRSUtEaElXR2hCZzhKakVsTFIwZERTVUpKZ0k0QUllWW1acWJFQ0lKTXg4L29xT2tvaDhTbTZtcWh6UUpCNld3cFFzZ3E3V3BIQzJoc2J1aUtyYS9oeVFWdXJ5N003VEF5UkF1TjhYT0NzbkpPQjNPemhQSTBiVThKOVUvRHhNbEFSWTZCaFlCQlNLMUVOa2FEODQ3Q1FJSTJZUUZOc2tHTDhVREV1dURBQmhJc0dCQUFRVzJWRFErZlBEd1M0TytYUlBTRVlMUllBZXhIeDhPOUFqQncxK21HcVB1cllMUVl0Y0RCd2NIRlhnWGdRQW1Cc1ErK0ZvRlFNYUVVaXRvWktMZ3p0bURGRGdNZ1NSMVEyY3RFQXBtaU9vd1QxT09iajh1bUxna2lNTkZVUXRnL0FLaElZSEhUQ1FPckpnd1ljV0ZZaVdhdXRpVklCdUtCUDRwQ3gyRVFFRkhnNTZ5TUFBQnNSTFdCdzdKVUl6NE1mTVhCZzluUzIwSUNxRkhyQkZVYThHZzltUEcxMEl3YUhEZ1FRTkZJUlFacnRZUWhDRnhxY0tyVXBEU1lJaUNqd2w0dlRFd3BLRFpqdzBtUEtxSU5TTnlLaFVYSVE4aVVlSmhxUTR2SjFqUVdxaEJMSW1wRUx3YTlVREFJQk8yUjMyNGNlTUY0Rjgwakk4YXJTcEVLUk9DSUNRZ2RTQ0dBQXdRSUhndUJNRUQ4MHg5U2IzUXV3bEg3QXFEK0VDZEE1Y2RzbHNGY1JIQ1FDd0dwT0lCS1E4RUpRZ0NIcHl3QWdtcVFMQ0FLQUZzTWxncERRZ3kyeUVnYkVCS0NJWWcwRlFxRUF4Z0NndWFPQURMQ1JCZzhFSUwzeEhDZ1g0dTBZUEJkQVA0VmdnRnNUREF3eWdOalA0b2lJQ2p0RURQSUJxTXdzTWhXZ0d3QXl3YW1FREtCeFVZUlprb0RUNEpCQUJLL1pCRElUZ2tNSUFnenBVU1FReXdsRERtZEtKUUlJaUUyVmdneWdISVlCQ0JPeS9NWTE0cEZWUUFTNGMyam5MQk9naWNrQUdHMFJDSmtaMUFmQ2pLYkFiQU1rQkpwVmdBQkFta3JDQUlEYUxjc09KVzNQd2drV09qV0NjQkxET3dTb29PUUxCQXlnU0NIQmxWZ2JXWVNCaWJwTWdBaEFpd2JDRHJLS3d0T01vSWdnZ2d5Z1VKcnJMaHIwQU1KWXF3eE9MRUtTbm9TWXJWcUtLOE1COHdJRXlIQ2hCZnFnckVxN0lZV29vUFFHQkF6QW0wSlBwRGpzQXdVTU1IUmsxN0tSQTZhTHBlS1FYc2xXb0hPVTRMTHowTTBJSUFYaDk0RmdBc0RmN29XUXF6UVBUUWczV0VSQ0RLQ3J3Q282c29HMXpDZ291a0pKQXRVZXZncWFBdVlUNEo1eWh5Q2dLQUFDai9vQU1PVi8wd1pTYWNuc0JmTmhENEtncHJoQUFnd1UwY0FMQUNMQ2htd3NCREE5ekhTWUVCVXpkMDB2MEE4UlJPUWhiQzVBMWJad0pEQlN2a05nZ0VUNDhDNENZeXhNSXhKaUFZR3ZVbUlyUnQ1aUFQa29JdkpnaVlOdDRtQ0dSUTlwaUNnRUNBRGdNUU0wQlRITVFXb2lyNWFhZGtMVGlzc01BQ0IxeVZBWE00MFBuREM1ZHJZaXNzSFlUTlF3MUdHVEl3TEF1Y0s0aTFvdHl0U3M2ejZzanBCYklQZ2tGMnoxWWdnWkFLa0RKQ3lKaXdXOG9GRXM2c1hRaFdnMENCQkJwb0lBRU4wWUp3MHc4SEhMNEpBUDdIampKQXkwYVBzb01CVnRmeTZnV3QyekoxTERuUWdrUDVveHdRejZtcEFGQkMrNzk0SEV1SFFFQkJtMkx4Z0JWMG9BWVY2TUFFK0ljSkN3Z2diSnVBZ2I5SUVUTVF1Q0EyYU5rRUNBYlZnNS9WZ2dMQXU4MWxDRENNYXZBckV5aHcxeWc2NEVGVkFDZDNoMkJBRGtJSWk3Y1pRZ0QwYXhMK1lqU0tCU0FQQ0FoUVFRRlcwTE1QTE1CbFFDQkFEbm8yaWdqOGdrbElVd1VLR0NBQ0JTaEFCQXhBZ1c4b2tBQWFwaXhhTWJxR21BQkFBaFAwUUR5eGlBQUVwVmdMRWdSQUJ6SVFBQTlrb0FFZjFJQ0kxWGlCQThTMGlzcEJoVDF6NDZNbUtJREdQLzZnQU9NU3BDWktZRWhTTEVCWWlrekYreHE1QVFQOE1KS0RVR0UzUGlyUUFSV0FFWk9FU0VnM2J0QUJHL1FJbEJsaWdBNFNVSU1STEdBREc1akJBQnFRQUFPdzRKS3FDQVFBSWZrRUNBb0FBQUFzQUFBQUFFQUFRQUFBQi82QVFJS0RoSVdHaEJnOEpqRWxMUjA5RFNxSGs1U1Zsb1VRSWdrekx6K2VuNTQ4bDZPa2xEUUpCNkNxbmdjZ3BhK2xIQzBmcTdVWnNMaVZKQldkdGJVQ3BLNjVreUF1RDc2K0J4Q2tJU0hMdzRRNEhjaklPY0ViUHpNVTBJSUNxZFNlRHhNVkFSWTZCS1FzbnpjSzBEbzM0QWNKQWpEREVhQWZOcmtHdmI0REVzS2lNV0JBQWtQQVF3QldyUElBUzBPL1ZST0FUUXJ4NmNPQkhpRTRQQ1BFZ05ZcUI2VUV3S3Yxd01GQlErcHE3WWlBYnBBUFh4OGtYY0x4YmRXS2JaWkFZUFAxSWdVR1FUaEcrTHBCSTJjUFh4MFFDRklSb0ZJTWNCZE1BQUFDb1lDdkZmVW91ZkJWWVJtTUJEOWFVV0l3WWNVRmFpV1Vna2poS3dZbEVQNGxqcW5xc0F6Rk5FOFNLMEdnb0tPQlhGVXpjQUFCWVhYVkJ4YVZFQ2lvTUhLRlVoUkNQeVY0aGNMRFdWVTcwRUU0dW1yRXlVTUlaQlRZQnVQdXB3MmZFZERnd1dQaklCUVpQSDVhb0JUSFpWWHRYb0VGOWNBRUlRbytKc2k5a05XUWd0dWVhcmpTVUd2R1owb3FWTjBRTVloRUNkbWVLaGpheU9DRUtuMUFHdFNpUGdwQnpSOFB5QU94TUxMaUJSbUdLbmdReHVEMmhSU3VLR0QzMUlDWktndUNnTEFiS3pFSVlKQWhLTUJUd2pNeUhGQ0FCSzRWeHR0UGx1RHcxdy9hQ2ZKVU9BNFVkMGgwMlFuelhFcXFHSENKQjZEYzBKSUZwNUV3VTJRL05GWEpCS3YwVjRsT29NZ0l3VjBib0VBS0FnTjQ4Z0lIbGRpd3lnbXVHZjdDQVNndnRBUUVBQlM0NEdJcEdId3p3RlNUVUZBTEE1V2crRWtMM0F3QzRnK2lFTE1US0JwVVl0b1BKb1k1MkFLZVdFT0plS3BFOE5aNVJibTVIaXZQQ1VLUktqWHc0Q1FoS01oMlFaTFFhT2tKVG9mb3NNb0Fzd3pnQXFOQUtPckpDZ0ZpQ1EwSWw2bjNKQTBlRkNYREtqTnc5c01IRS9qd0V3T2dqQ0FJRHd1RWdCZzBjUDRnRXdVQnpFQUxmQUtzc29HcG4rZ0FSRW8zMUNEQnE1NGNDbzBBQlp5UUpoQTFnQUlmQmltY3QwSUxxL2hHUVFFS0tEVUlEVUw2eUEwRVdhMnBIZ1FjSklETkFoV3M0Z01sR01oRnBKNUExT29KbDRXQXdJRU9BMzVTUUNVemVQS3VuZ2o4OVlHNGg3Q29pcXVVYkxnQ29ybndBTW9HbXY0YUlzSXFOMEFzU0VlZXRCbm1QWjlrT0FrQis1R3BwaWNuVVBpakNpcFR0UU9hbFNTMFNnaVZNQ0RYQUI3cVZjSVBMM1FnTG5PZlBORHlJVG5ZVkxFaEwzblN3OUNnN2V6SkxXK0NJaklsbzY2UzF5RWd0T3NKUTVVSVlDL09nbmo1eWJ5SklaZGNJUlE0TUFCOFFNQVE3US80NWt1QUFjQU80QzBMRjNaQWlvUVY0V3ZCQkI1ZGtDY0VJVXh3RWdVTG5MQmZCbG5SeEdTZWw1QUlTZ2RUS2Z6SkFZd3luVFFvQ3h3ckNBWUtnVUp6S1VHdUlpd0FXbjl5Z2VlSDBKaHNCUUFOd3NMTG9BeWc4U1FYcjNLQllBalk2OGtISWVSTWxRb2FTRUREWjY1ZkxoZ0tBYkRRSnlFQUFQdEpEL1hnUURzb081Z2dmQ1VCZ0NMNFlQNWFiNUFBRDg4RHdjQkRuK1F3RlFHK1g1NkFDTjVhd25GWWVmNkpmUXJiQ3dMeUtnbTRnZ0tkSkZsQUIycEFOa01BQUU0REVBd1F4S2FLZjFFQ0J1MUwzekpBNElBTDFjS0JrL0NCTXdiVHZWb2NBR0ZaYW84cWxpWUlBbFNnWko5QTBsc0VnWURVcWVJRlY2T0VCbEQ0QXd5YUx3Y1cvSVNuRGlHQU0zMmtGQTd3aFV3SW9aZ0NyQUE3VURzRUFYSkF3eC9ZNlJXYkMxcjhESWdDQmtoQUFUS1lGZHBTSUVMK2xXOFNIc0NPalhBQkFCS1lZQURvVzBVRWpsWUtEZnpsV1pkQWdBQWtvQU1mMU9DSTRPQVpTTGpCQUlVSWpSUkd5cU1xRGhERFlTQWdBV0FpQll3RVdVTVF1bW1LbFNBWkkzL1FPWHJsd25MZzJJQUJiaXhueVVxVURoa2Y2SUFLT05sSlN1QWdqWjY0UVFjc01LaFN3a0lFQzlqQUNoWXdnQVlrUUFjYWNWTWdBQUFoK1FRSUNnQUFBQ3dBQUFBQVFBQkFBQUFIL29CQWdvT0VoWWFFR0R3bU1UcUhqbytRa1pBUUlna3pIeitaRnBLY25aMDBDUWVabzVraW5SU2VxWVVjTFppa3BDU2NFQ2M5cHFxZEpCV3VyNk1YRUp3RXJoMDB0NU11Tjd5OEU1MENwQzhCTU1XR09CM0p5UldkSnJ3enFOS0NQQ2ZXcnc4VEtwMDV5VGNLM2hvUDRwazdDUUlJcVQzV0g1dTNCaS92QXhLL2prQmdBR0FJd0laM0hsUnA0R2R0Z2kxSUpENGM2QkdDQjBBZ0xPeUpzK0dKaDd0a0R4eUFFSVJCd0NNSUYwanRpRUJBRUFBREtaTjlNQ2NKUjdoa0s0Z0JRUkRoUmdkSU0zZzlTSUZERUk0UjFtN29QRmt0V1FkNlFCU0krckdEb0tNSzFpNllJQWlqZ0xVRjBSNjVzRmJoRjR3VXpsQTg4dkN1QkQwUS9taVRKWGhFNHVPckRyOVFOQ1hGNGlRRkhRM3NrbHFBQVFnSXI3dytjTGlLa3g0Q3BPTVdTMExoSVNhcERVVWhhSHcxd2lvaERydEdQVUFGWSsrb0NrVUpJWWpsQ0VVR1hndm80YkJNaWlhaEZza2NDSW9yMmdRaENqNG0zRmhnS0t3Z0JjaEkxUmlwSXRrTXowQW9NQ1ExNFplQzBEZE1DaUpSWW5vRFF5a2FMR1ZBKzRkdUlBMlNQUVFDQUljQUF3azZiSGhnRXNiTlRBOGVXa2crS29JaGV5OTRNQklRNUpGeVF5elM4VklESkFDRUZjRXJ2Z0VCUVFLa0hCQ0RBTWE1dE1Nb0pRQWtRMmdsQ0lLWU00VkZnb05nMkFoQ0lYNE9YRlRJUzVaVk1HQU1wSHhBREFQSkdDQUpXNktscGswbUs3QUdDUWFRL1JDQUlBaUkvaUpSRHhvSVV1UW8zMEVDd2tHamhDQUlBUit0VUtJa0NBeVF5UWQ5RWNnREJnTUtZZ012Sjdob0NBZk90QVJFQ2ZoMTB3a0dVdzBBWFNFVUpNTUFKRDZRMGdLU05jekhrVUtqOFBESWxMdzArWWhwT2c0Q0FBcGxlZ0pDVUQva0FFbDZyL2dYMEZTWnlPbU5JQlprY2tDa2hVaFF3Z1F4UG9JQlB5ZU1rQUdwM3VUNXd3ZWVCa1NBQ0JZTWVnZ0VBdUJ3NTZlQ2dCQkFEUXRJQnV5eG5meUs3TExNNHRKQkFqcW9pU3dFQkdSWWlBZ3lVR0J0YXd3WmU2d0ZwNTd3d1o2T3JEaGNEU0ZvNXdpbFBpeUxnRjBmcU9WSXFKeEJzdUlLMG5KeUp3K1hLU3VJQ0x6Y2tLOGdETGpTYUNvaUhEQkFEaVhTeUNFa09JU1dpYUdQL3VEMnd3bGJjb0xBQ3BuTU1CSUVHNDZpcUNNQWNQeUtsWVNBZ0VNM0REQTB3TGFPUUFCbkpoSUlvZ01wRDJSOENEcXZyRUFRQ3dVTUlPNEpVUFdaU1E4Nkh3SURWcGxrSUFnRUM1Q1NJaVF5SkdOU1hhVE1aUmpUUHh5Z2dMOUFpR0R5RHk4THd1TW8zanFDUUhrL0xBakVhNk44SUFPU1hMOGdyNk1FNkREQUxnTkF4WUZnVVlJdFltSjd6a2JLQlRwQkVBSW1HOXlwZ2NRWmhJVkR5Sm04VVBnS0Mxc2dBZ2xxc3VBVVFmU09jb0tjSEl6d1V5RU9aN0pBelVaUldlWGdyMXlRdHBlOE5BSkFEYkd6emw1cXQvMXdRUVVTZU1ZQ3A1bU04SXNBRXYrQWI2bkpYRkFVQWxIWEdBTE1nbkJBUWFRUWVDQlkxNFdoNERvcC92a1FBc0JtcEF6d0N3N2Z3Mk1BOVlVUUVQM2h4SURBOVdENXRweE1EaU9objh3QjhrRGxDQUc4T0lCT1FtQU4zUm5pUVhJaENBb3dCUkpOSFFJRXRCbEFhczcyaWdKQUFnYnZlMFVHZmdFQ0YyeHZGRDJBeEFRcUZ3SU9FbkIvZDNNRUJmanpDcVJkU1JlOHFNb2o0TlFCY2lGZ1pyeDRnYm9nb1lMa1plSUU2eUJZRGxqNGdhUU5RZ0xHNGtINlNIRWVUampnSFJXUUV3SlVVSUFWWUNKdGg4QkJEbnlZQ1FkMndtaFo4ZDhnVUVBRE1ScUNBaW40WU5aZ0pRa0hjTEZ4bmdBQUNVelFBeTcyUjNDUTBBQUxSM0U2U2JDZ0FsWjhSK1dhS0EwR2pHMFVLZWhFQUFRNWlnUHMwQnNJU0VCb0RoWUozREd5QUNrOEZnOUdQWmlKUno2Q1V1Sll3TnlhNVJJTkJJVjNrMUJqSmpaZ2dJRXRDd1FDd09OMlpOSUJGYkNSbEttUWdJRTZZQU0zNFJKWUNtaEFBZ3pBQWxkNkloQUFPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbmV4dC5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQUJHZEJUVUVBQU5qcjlSd1VxZ0FBQUNCalNGSk5BQUNIRHdBQWpBMEFBUG1UQUFDRTVRQUFlNElBQU90MUFBQS90QUFBSWxoMWExNmNBQUFDMFdsRFExQkpRME1nVUhKdlptbHNaUUFBT011TmxNOUxGR0VZeDcrempSZ29RV0JtZTRpaFEwaW9UQlpsUk9XdXY5aTBiVmwvbEJMRTdPeTd1NU96czlQTTdKb2lFVjQ2WnRFOUtnOGUrZ004ZU9pVWw4TEFMQUxwYmxGRWdwZVM3WGxueHQwUjdjY0xNL041bngvZjUzbmY0WDJCR2xreFRUMGtBWG5Ec1pKOVVlbjY2SmhVK3hFaEhFRWR3cWhUVk51TUpCSURvTUZqc1d0c3ZvZkF2eXV0ZS92L091clN0cG9IaFAxQTZFZWEyU3F3N3hmWkMxbHFCQkM1WHNPRVl6ckU5emhibnYweDU1VEg4NjU5S05sRnZFaDhRRFV0SHYrYXVFUE5LV21nUmlSdXlRWmlVZ0hPNjBYVjcrY2dQZlhNR0I2azczSHE2UzZ6ZTN3V1p0Sktkejl4Ry9Ibk5PdnU0WnJFOHhtdE4wYmNUTTlheHVvZDlsZzRvVG14SVk5REk0WWVIL0M1eVVqRnIvcWFvdWxFazl2NmRtbXdaOXQrUzdtY0lBNFRKOGNML1R5bWtYSTdwM0pEMXp3VzlLbGNWOXpuZDFZeHllc2VvNWc1VTNmL0YvVVdlb1ZSNkdEUVlORGJnSVFrK2hCRksweFlLQ0JESG8waU5MSXlOOFlpdGpHK1o2U09SSUFsOHE5VHpycWJjeHRGeXVaWkk0akdNZE5TVVpEa0QvSlhlVlYrS3MvSlgyYkR4ZWFxWjhhNnFhbkxENzZUTHErOHJldDcvWjQ4ZlpYcVJzaXJJMHZXZkdWTmRxRFRRSGNaWXpaY1ZlSTEyUDM0Wm1DVkxGQ3BGU2xYYWR5dFZISjlOcjBqZ1dwLzJqMktYWnBlYktyV1doVVhicXpVTDAzdjJLdkNybFd4eXFwMnpxdHh3WHdtSGhWUGlqR3hRendIU2J3a2Rvb1h4VzZhblJjSEtobkRwS0pod2xXeW9WQ1dnVW55bWp2K21SY0w3Nnk1bzZHUEdjelNWSW1mLzRSVnlHZzZDeHpSZjdqL2MvQjd4YU94SXZEQ0JnNmZydG8ya3U0ZElqUXVWMjNPRmVEQ043b1AzbFp0elhRZURqMEJGczZvUmF2a1N3dkNHNHBtZHh3KzZTcVlrNWFXelRsU3V5eWZsU0owSlRFcFpxaHRMWktpNjVMcnNpV0wyY3dxc1hRYjdNeXBkaytsbm5hbDVsTzV2RUhuci9ZUnNQV3dYUDc1ckZ6ZWVrNDlyQUV2OWQvQXZQMUZHTlVaaWdBQUFBbHdTRmx6QUFBT3d3QUFEc01CeDIrb1pBQUFBQmwwUlZoMFUyOW1kSGRoY21VQVVHRnBiblF1VGtWVUlIWXpMalV1TkQ2TnpIWUFBQUV1U1VSQlZFaEx4WlpCRG9Jd0VFVlptWkN3WU1rbHVJcG5jT3NCV0hFSkVoTzNITUF6dUhMckdWeDVBeE8zK0wrWkdxZ0Zwa2pHSmo4Qk9uOWUydEoya2tUUnVxNUxvUzEwZ003UVZjUm5mbU5mcWtnMUhZSWtCWFNFbnRCY1l3eGppMFZnR0d2b01VY0o5Tk5UcTZFeWZhY0ZJTi9DSE5QVGpJQU5kRmtCNWxJdzEyWjB0T2hzVjRTNVZHMFFpTjVkSkN4SFBLVnB1d0VVamd5NmE1d1NrL2NUS0h6TW5YMDhlS2tVcG43SUFNaEVDbi9WQjk0VWhrRklhRjFtY3R6ZUhnU1ZzVEFYdndCYUVyaGZDcVF2RXJvbnNQR0EzQnBmYTZRK09TUndaQkFOZ1FSTS9oQ3hNRm1xMEpacC93STBuMUx6bjhaMlc4Z0MyMjE4QVpvZmJiYUh0NHpTN25weUd6dHdDUHh5NmpsditBS1dVZHFXR0FKbERXcFRSSG0zdUUyWjZFSHRDbUVQdkZxcC93SmthL0xrY3RXUUZBQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vcGF1c2UucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFcVNVUkJWRWhMeFpZeERvSkFFRVdwU0Vnb0xMa0VWL0VNdEJ5QWlvSXJrSmpZY2dEUFlHWHJHYWpzTFV4czhYK3phOVlOdTR1NGppUS8wZDNsUDJka2hrbVNCZGMwVFJtMGhYYlFFVG9yOFRQWHVKY3RzUElmZ1VrQjdhRTdGTHA0aG1lTFZXRGMyRUszRUdWbW4vZTBpNkVxZlljVklQc1dldmpUakFNcGRJb0EweGIwU3AzUlluT0lDTk5Xd3l3UXU5VVBZTnF5ZW9OaU5ZY3VIaUFqM3lpWldYQ3QyMWIwemw5UWZHbDgwZGtwMFdkZDZ3NnZ4Z1NPQXNEeENRU29EUDEza1NJa3BpU3dGZ1RXQlBhQ3dKN0FZTzFGVE9ud0Y2QjRTc1VmR3RteVVMVW9WL2dLK0dscnU3S1V2bWx0b2ViZGFYTndPcU51WGV2KzVxMmlsSHM5R2I4KzJBUkNYV2xtZi80RnJLS1VIVEVVbERPb3pCQmxQbldBeW95SkZsUnVFTGJBMFViOUIrSkFJVkZpR2hXY0FBQUFBRWxGVGtTdVFtQ0NdXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9wbGF5LnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQkdkQlRVRUFBTmpyOVJ3VXFnQUFBQ0JqU0ZKTkFBQ0hEd0FBakEwQUFQbVRBQUNFNVFBQWU0SUFBT3QxQUFBL3RBQUFJbGgxYTE2Y0FBQUMwV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFPTXVObE05TEZHRVl4Nyt6alJnb1FXQm1lNGloUTBpb1RCWmxST1d1djlpMGJWbC9sQkxFN095N3U1T3pzOVBNN0pvaUVWNDZadEU5S2c4ZStnTThlT2lVbDhMQUxBTHBibEZFZ3BlUzdYbG54dDBSN2NjTE0vTjVueC9mNTNuZjRYMkJHbGt4VFQwa0FYbkRzWko5VWVuNjZKaFUreEVoSEVFZHdxaFRWTnVNSkJJRG9NRmpzV3Rzdm9mQXZ5dXRlL3YvT3VyU3Rwb0hoUDFBNkVlYTJTcXc3eGZaQzFscUJCQzVYc09FWXpyRTl6aGJudjB4NTVUSDg2NTlLTmxGdkVoOFFEVXRIdithdUVQTktXbWdSaVJ1eVFaaVVnSE82MFhWNytjZ1BmWE1HQjZrNzNIcTZTNnplM3dXWnRKS2R6OXhHL0huTk92dTRackU4eG10TjBiY1RNOWF4dW9kOWxnNG9UbXhJWTlESTRZZUgvQzV5VWpGci9xYW91bEVrOXY2ZG1td1o5dCtTN21jSUE0VEo4Y0wvVHlta1hJN3AzSkQxendXOUtsY1Y5em5kMVl4eWVzZW81ZzVVM2YvRi9VV2VvVlI2R0RRWU5EYmdJUWsraEJGSzB4WUtDQkRIbzBpTkxJeU44WWl0akcrWjZTT1JJQWw4cTlUenJxYmN4dEZ5dVpaSTRqR01kTlNVWkRrRC9KWGVWVitLcy9KWDJiRHhlYXFaOGE2cWFuTEQ3NlRMcSs4cmV0Ny9aNDhmWlhxUnNpckkwdldmR1ZOZHFEVFFIY1pZelpjVmVJMTJQMzRabUNWTEZDcEZTbFhhZHl0VkhKOU5yMGpnV3AvMmoyS1hacGViS3JXV2hVWGJxelVMMDN2Mkt2Q3JsV3h5cXAyenF0eHdYd21IaFZQaWpHeFF6d0hTYndrZG9vWHhXNmFuUmNIS2huRHBLSmh3bFd5b1ZDV2dVbnltanYrbVJjTDc2eTVvNkdQR2N6U1ZJbWYvNFJWeUdnNkN4elJmN2ovYy9CN3hhT3hJdkRDQmc2ZnJ0bzJrdTRkSWpRdVYyM09GZURDTjdvUDNsWnR6WFFlRGowQkZzNm9SYXZrU3d2Q0c0cG1keHcrNlNxWWs1YVd6VGxTdXl5ZmxTSjBKVEVwWnFodExaS2k2NUxyc2lXTDJjd3FzWFFiN015cGRrK2xubmFsNWxPNXZFSG5yL1lSc1BXd1hQNzVyRnplZWs0OXJBRXY5ZC9BdlAxRkdOVVppZ0FBQUFsd1NGbHpBQUFPd3dBQURzTUJ4MitvWkFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBVUdGcGJuUXVUa1ZVSUhZekxqVXVORDZOekhZQUFBRWFTVVJCVkVoTHhaYk5DWU5BRUlVOUNRRUxzQWw3U0FXcHdhc0ZlTElKSVpDckJlU1FDbkxLTlRWNFNnZUJYTTE3TWh1TStET3VaaUk4VUhmbWZjeXlQeE1FaXFkcG1oMTBnSTdRRmJxTCtNNS9ITnNwcktaRFlCSkRKK2dGelQyTVlXenNCVVppQVQzbktBUGp6Q25VVUptK3N3ZW9uMEtQNldsR1FBamROb0E1QzNxRm85VmlzTm9RNXF5cVFTQkcweC9BbkdYNkJjWGZDSHBvZ0V6MG1BbDZSeDhvUG5JTmpERXV5UU9hZDRIMVVxQkhwWFVMQkNqUndyb1ZlbGFhRUppdEFTNnNOQ093WEFzVTZFWGhVeTVlY1dPYkdMQzlBbGo5QldnK3BlYUx4blpieUFxejIvZ0NORC9hYkE5dnFkTHVldkk4RnhYN3ZBMFp2b0NsU3RzV1E2RHNRVzJhcU80NUNhaE5tOWlEMmpYQ1BmQm1yZjRiWis3YUJ6QzFNS1FBQUFBQVNVVk9SSzVDWUlJPV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L3ByZXYucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFbFNVUkJWRWhMeFphOURZTXdFSVdwa0pBb0tGbUNWVElETFFPa1lnbWtTR2taSURPa1Nwc1pxTEpCcExUa3ZjaU93TEt4VGF5THBTY0Y3dWVMYlh5K0xBc1k4endYMEFFNlFWZm9yc1RmZkVkYkVaQnEyd1ZKYXVnTXZTRGZvQTk5NjExZ0JQYlEwMGV4MkJuVEIwUFY4bDEyZ013UTV0aGVaamprMEMwQlRLZGdydHc1V3hqSGhEQ2RhclFDWVcwRFlSWDhxSmpScnFDSUxLR0hMOE15S0JMSzNPVTNIZy9IR0JnREk0Rk1mMXdDcHkyZ2JROThmOUJpbno1NVlHZ0VZQnJSRU5pNWdJbG10a3pmRVRqWWdNR1Z3dUdvOXRnOFpnT0I1a3Z5cTErQmpnOXIvQXRRZkVuRlB4clpZNkUyVis3Z0s2QjRhWk10M21xV2N0ZVRQdVNPSXJDalRxOUM3QmV3bXFWc2k2R2c3RUZsbWlqalJwZHBFdzJvWENOc2dKTzErbThKd1BMa293T1c0QUFBQUFCSlJVNUVya0pnZ2c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L3NvY2lhbHNwcml0ZS5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLQUFBQUE0Q0FZQUFBQjYrdk1EQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd2dBQURzSUJGU2hLZ0FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBVUdGcGJuUXVUa1ZVSUhZekxqVXVORDZOekhZQUFDelFTVVJCVkhoZTFYMTNWRlhYOWpWL2ZLOGtMM2twSmpFbW1rUmpieWhZa0NKSWJ3clN4WWE5MTloN2I5aEZFY1NDRmJzaWlBVkZCRUVFYVNKaTR5SklsU0xDQlJGMGZtdGRPSmZiS0JwL0R0OGVZNDV6enQ1cno4azlkN0ZQM2ZPcXFkVVViZHZGYnZyT3EwUm13emZEY3RSMkRCaTc2Nk9DT1ptYk5WaEwwQldXbDMvODJTZjRsNThybzl2OGhzU09MZkZJdmZWSEJYTXk5L1d1djFmZWNPM3FvNmcvNVdEMDVERjdJNSs3ZVlkWERmTzZoZmVHZHpoRzdybFZMMGI3aEZlTjJ4dVpQdG4zem1SRi9ZaWVIZHlpZGJ1STdwbjF3UDhsV0lPMUZQVi9HSHZNN2M5WjUwVzkxMTZId2RZd1dPeU8rcWhnVHVabURkYVMwOWUxWDdaLzhMUTkySGY4RHE2R1BzYlZtMDhRL0pIQm5Nek5Ha05uN0FWckNuL0VwWithUHI3WHR6ZEtkbTdDNnlzQnFMaDZFUlhYZ2o0dWlKTzVXZU9CZ1JhdW1iVjVMT2lQM1hmNzNDQ2YyKzhPeHVZaThya1k4VGxsL3lkZ2J0WndKUzNXRlBSdmRtdXovNTVsYjRqbWpFWFdibmRrNy9kQXpyRjlIeFhNeWR5c3dWcXNLZWovT3Zuay9vR2VrZkNMejBORVdpa2luNGx4KzFuWlJ3VnpNamRyT1ByY0FXdEs5UHZZTG5Kem51eUYvWDdSMk9nZGhta3JBekI2NFZtNC9uWGlvNEk1bVpzMVdNdHBraWRZTytDSHBqNUoyaG9vOWQ2QjBnMHJVRHpKRFMrSE82REl3ZnlqZ2ptWm16VllLMEdyTzY0NXRmT1o3QnMxMmNrcjR0M0orNFhZRlBrQ1V5OWxZbHpnOC84VE1EZHJuRWdxaExQM3JYZVREa1JORHRObzR4WnZxZ25Sa21sSVd6c1BqeWxCSGswZmpwU0pMaDhWek1uY3JNRmFyTW5hUDR3NTZtWkx5WGNpUGg4N293b3dPemdiRTRNeU1kei8rVWNGY3pJM2E3Q1cxWTViWUcyMXZvNHJSSXZjQXpGMVJRQ2NaeHovSkdBdDFtVHRpei8vVkprL2ZSd2x4d2dVMnBsK0VyQVdhMTd1OUV2bGNLL3dyQlZYUlpnU1JEdjgzTE5QQXRaaXpkSGU0ZW0zZXJZVFBYQ3p3ZU5abzVFeXp1bVRnTFZZazdWYnpqZ2pXbk0xRFhPdVpHSG91ZlJQQXRaaVRkWldNeHE4QVpPWG5vUFQ5R09mRkt6SjJ1Ri8vSUtDMFlOUllHc2l3Y3V4UTFDNjNSMWxmZ2ZmQzRXRGJhVWNBaGZYdlZvMFN3TG1GZW9sUzlKa2JhZnRJVytuQjZaaDZKbFBDOVljdml1MDZvNU9SenlneEhzdzF1SFRnalJaVzJQNUpjd0tmQWJYTTZyaGRFSUVzd01wRXZCNlhYSHZXOCthcksxbVBHUWpuS2NkaGNQVVR3dldaTzNiclg1RnZvMEpTcmR0UUZYcUU3eHZlWnViZzVmVHhxRmdnTEVTaWhmOEphVXJPK1lyMTg2YXJEMXc2elVNUFpVSzExTzBjejhoaHAwV1ljaXVVRVJxdGNQOUVUWklIald3UVNSUTNIVVhjd1E1bU9DVVRUOGxCTmdiSTN5d0plNk50RzJRaXpWWlcydE5NSWFlVE1XZ2t5SWw2SGttd21CSE5OWmVUWlhBeGljT2hudVNWTWFxNmw5ZkhXdXl0cHJ4ME0yd20zemtiMlB3WDhmaEZ4aURwRWRwZVBMc3VSSlVhYkIyZks4dWNvbFhmdTRVaXVmUHhLdFZpL0U2K0pMS2ZLeUlERWZaRVY4Nmw5dUpBdWNCeUxjMlVnbm1FVXJaVVYvNW1QNUd1UHRuQzlodXVncm5ZNC9oY3Z6cDM4S2dFMDh4NDJJNlpsM0trSHloamVFYnZETUV0M3ExcVU2V0VaUTBkU0JoK0FBRU81cmk0bWdYUFBZL2lieDdjU3IzUzFIcVk4VHY4VUNBYTMrRVVxTFd4OG1hckszbmZoM094MU9WWUhmMHNTVGhGQXNuSkxlcDZ2TytkYXl0WmpoNEkyd25IdjVibUxEc0xCSWVwQ0k5aTBhajRoS1Vpc3RRVlZVbEIxVWFySjIxZEliME14Wk5Ib044eTM1eTRMcDNwU1Z5KzRHM1ZjVXE5bjA1dDVaYmZPU0FFbmQweTE4eFlOTVZPQng1Qk1kalQrUXcvbndhWENrcEZldFZiVys1bFlOOGNXVnRzcjk1QzcvRUFyajRQY1VjU3NpQWxDSkpRaXIyZGZHNGpqRE5QNUZNNTJQSmxHU3FFTzFxaWN1am5aRVdITlRvZzhNYjJqLzNqKzdIWlRzajNCdldYelUzYWJLMjd2cGdsWi9SeUR0Sk11b3BGcTdqdHNic2w0WmlXRnZOd05VZC9TY2MrbUR3dWVPdDJBZklMeXhTU2pyWkpGU2x3ZG81SzJkTFBxUDQwSDY4TURkUWlhS0pvNVdTOEcxT2RwM3hBcy9MT2RPbCswOThXSm4vRHAwRDl0OXdHWGFISHNMK3lHTTVCRDU4aWFpTVVob2RueWkxeWNadW8rU3JxNVJYdnBVMGJZL0lsaVN6b29iejltRGM3TjRTeVp3a1E2MlZFRDNJSEtIenBvQVRTckc4ZVpFTGNYS2lGS3IraHN6SW13Z2RTb210Z3BzMVdWdDc3VlhZSFg2c2hINWU5MVFtNEpHWUxIQ2Jxajd2VzhmYWFuMEhiWUQxK0lNZmpLMitONUNUWDFCdjhuRWlxdEpnN2V5YUViQmdxRFB5VFBYclJJbm5EcVY5L01wOXJWejhtNFE0eUtMeTZXTnBueXBLV01YMnlOK2F3V3A5RUd3UFBzQkFTa0paSkdWWGYrbjNjc1FZY2ZLSlVqdkhPaDE5aEZldnErb2RtWEtMeTVId3ZCZ0xMcWNyY1RodHZZcVFyci9qL2hBcjNLZHpOMWtrdWxvZ2pKSlBzWERTcGEyYXF4U2ZNc1lSZWFjUG8wcGNLdGNsamU1LzNuSXdWb3BuVGRidXZmb3lCaHg4cUFUTC9RK2d2LzJPa2o3WGNadXFQdTlieDlwcWVzN3JZVEhXOTRNUkVaZlNZUEp4QXFyU1lPM01CZFU3T2MrNGI0UGdKSkl0NVplRDVQbzAraGhWRTNpcitjK3dYSHNSQXc0a3c4WTNSUTUzMGdxbGRNWGxWZkNnVWN5T3Zpalp1TmtCb2dZbFg5TW91T29TblUvUlZhU2lodU9XSzdqV3FRWHVEN0xBZlRwbms4V05RVlpLSTEvZXlVTktjWXI5bnN5ZHFKU0VkemV0VnU1SG1xemRjK1VsV05IZnBncGFPK0l3WUUrczlDS0VrNC9yNm9wLzMzcldWdE4xV2dlek1RYytHTGtxUmovZmM3R040bVB0akRrVEpWOWlycUZ1Z3hDZk9pSDNoYitKajVYcjAyQTJLQVNFL2ZJVHpOY0V3bXIvZlZnZmVDQ0YxZjVrN0x5aGZFV2VWL29HZmduNW1FbUpaM3N3QmZQOFV4cVVQQkNhQXNOTk4rVDRCUzM3elpkeHRjT3ZTSEkyUTVLVHFSUUpqaVlRWFE2VTQ4NDdjVWpTem0yQkZybzRZYUtGczJiYWlLRXJYOW0rdk02eHN1Vk5TUWtpQnhyS3g1RW1hMnN1dXdpTGZROVVvdjNhMjJpMkpCVC9uUk1zQWE5ekhhUEZzakE1L0xFeUhBeXU1Nlg2cG1pWTdMbGZKemRyc3JhYWpzTWFtSTdhLzBGd25uRVV4YTlLbEViQUlYTk9OSXFQdFovTkhDZlpWemtHT2cyaWFORTh1UjFiRVJkYmI1L0M2Wk9sOGFVSDlpckYzbXoySTh4V1g0REYzbnV3M0hkZkR0WWU0UkM5a0QrY3lZcFh2bjJIb3JJM0RTYmd2bHNpSlc1QnkyN2pSVnh1MXd6M0tLbnUwV0ZTUUJTTmZyS2xOQ2xlMmhaa1o0SzgrTHVTNXRLY0xFUk9kcFByeXh6SncyMlYvcTZIYXhiSng1RW1hM2RmR2dBem4vc3EwWHpwVFNVZXJsTlZINUNVSnhmTDJ6eDZhbXlPcnBPZnRkWDYySyttWk5rSDQ1RWZockx5Y3FVRWJBd1hhN0syYU9vb3lSK2VQM0k0Y3ZwcTE0dkNxWk9VRTdDZVByTHhKZnQ5bExoRG12NEEwNVgrTVBOT2hEbmQzNUxGM2ZSaUpHWVVOWmhnRFFWc3ZKYXF4QzNvREhTL2lLQTJQK09lUFYydDJobEtrYnB0clJ4dDZ1SVprcll3YXowVVBYa28xMVowTzB5dXI4RERTU3RiY3YxODVlTklrN1hWRi9uRGhLNXFWZUY5RXJDdS9URCsrSDEwMzBpam9Rb04xbGJyYmJjS1pwUU1obTU3UHdpS3QxdDR1ekZjck1uYXFSUGRKSCs3K0lRZnNuWDcxSXVDS2RXSGE2RTAxRWMydm1TZmp6eTNuamF1LzlRRXhpdk93WGgzQWt6b3lrNkE4ZTVFSEw4cmY3N1pVS0xWMVQ3MmVMSWN0NnlPemZvQUJQN1pGSWwwZUV5a0c4c0Njbzhka05KVjVHWkw2MU8zckZHU0thVjdncko5VlhGd0orYVVpeU5OMXU2NjhEeDkva1FZMFUxblJmeTZSSGtFNURwVjlmWHRud0hlc1REWW1TREh6NXFzcmRiTGRpVXNSdStId2JBOWpVSmszRDNJUWxVQ0tzYnd0aUkvYTdMMkUzcEV4dVVkbmFma21Cb2pTN3QzblNqZXVrWCt2OXJldHQ3NC9Fa1RwUEVsZS9mSXhXYnI2K0xxRDkvRGFQbFptSGpHMDg3aEhWU0RYZkVZc1AwbWlzUVZINXAza240RkplWEVxY0JkbzJIcWxZZ0JheS9nd2g4LzRwNHRKV0IvZlNseTZSNmVVRW9US2NGcTJtVHJWYlhYeGNHeGhYUWZVYmFkTlZtNzgveHpzS0RrTTZRRVVVUnpPdWRUTEZ5bnFyNitIUlgydEJDZDE5Mlc0MmROMWxiclliTUMxblFSMG5mb25rYWg0czBiZkFnVStWbVR0UitOSENUOTI4c0NBNUNsMWF0T1ZOeXRQdmZoOG1vUEpWUTlzZHlXTjNRSXVBK2phT1Z5dWZoc2c3NjQwdVE3OUZ0eUdxYVVKUDEyeWtQWC9TYUdla2NnTlUvNUhseGpzL0xJclNkS3ZJS09HU1dnOVdwLytQLzJBNDFNaGtpdzBwTWk1OGcrcVVRaG5lOEpiYkwxUWtBaDNXYVI3U3VzcHgzMGtmc3p1YTlzSEd1eWRxZTVaMkMxSzRFZXVjVXI0WGNWNTRCY3A2citaWGtsTmdTTFlMTW5EcmRTaTVSMkVmZVIxV0JOMWxiVDdMOE1ObU1QUUhlSVY2TlEvdm8xUGdTSy9LekoyaWxESGVYK1dISEFCV1QyNnFtRW9oWExwWEhpQzZwalZQV3JxeTdiMEFDWHZ2OFdCb3RQdzl3empuWk9IUFJsMEhmN1hRemNFWTRyU1Zrb2ZWMzdsS094eWZlbTZpMXM2SlVqV1U3WmRRczY3RnV0T28rekxiNlhIQm9UTEhTa3lEbTh0M1lFek1wRUJGM3hjcnRvaGZ4RkdBZHhuV3hmWVQwM0xFUStBWWxUTm80MVdidmo3RlBvVDhtZ3Z5MVdDYTJYaHl0OVhLNVRWZDlsYlFSNnV0K1JjRmg2eHFyc0o2dkJtcXl0MXQxNktRYU84NFcyNis1R1FTd1c0ME9neU0rYXJCMnUxVVBwajYyNEc0TVg0OFloczBjUFpQVXp3TXRObTJwSFBpOHZTZjNmUmJheEVRSy8vUWI2aTA3U0lTZ09lcFJ3dXR2a29iUDVEaUtlRmpRMjUrVGl2SVB2UTJkemxCS25vR0hoRlErTEZXZHgrcGZ2a0RpZ0g3MmYxMGNLMGJLNWNseVJVOGRJMmhLR3lGL2RWdEZwaTJ3L1lmMjJjVytVVXVMS2xpZXpKc3JGc2lacmQvanJKR3hvOU5mYmNsY0o3VmJlVXZyc1hGZFh2Y0RSVUR2SHNTWnJxNmxiTG9FRFBRblJHclM3VVNncEtjV0hRSkdmTlZrNzRKdi9vbURXTEpTSHlQL0hxdnJXQzVjdXhYTU5qWStDYkZOVGlYYmZCU2ZvUHpZT09sdGpvTDFGSGxvYmJxSHY2a3U0ZnYvOUxraVMwZ3VndGZLeUVwOHN2NVZYQXN5WG44SEpadC9RdVZrL3hGSFNDRWkwTVVKVnlTdnBMc2k5ZTBmU2RtL01ZTG5ka25mNm1Gdy9vWCs0bTdQUzdwUGw1M1hXWk8xMjlBN29RSTk0Nkd5S1VVS25WUkZLUEZ4WFY3M0EwVkE3eDdFbWE2dDF0VmdFNTRtSDBOTjUxd2VodVBnVkZORVlMdFprYmYvL2ZvMHNNM05rZE9zdVFkN28wZlN5NkF5VUhENGk5K0hmcEtSSVk0VFl2N05rVGRiV20zY2MxblRJNkVPam5kWW1aV2l1Q0VhM0JlZmh1Q01FS1Zrdkd4d04wL05MWUxUcUFucHZ2SzJTVDlEbzd4VUgwMlduY0tMcGY1Rm9UUW5ZcjZjY1V1a2RSdG5DN1VreWIvZHdHMjhyOXJ1aFMvdnh4alc1dmdXWExpakZzU1pydDZWbitRNGVjZEIyajFhQytwcElwYy9MZFhYVkN4d050WE1jYTdLMldpZnpSWENkZEJnYVRycytDSVZGUlZCRVk3aFlrN1hQZmYwVnNpd3NrZEcxbXh5S1BUM2xQbnhWWnFaU2pHS2Y5OWxtVGRiV25ldUgvcFNBdlRkRzBUbU1Na3gzM3NXS2dCUTh6VzM0WWlRKzdRWDZMamtIelRVM1ZYTEo4ZytnUTdESjBwUHcrL0ZyU2tCRHhPbjNVRUxLU0ZlVXhNVWc3K1JSU1Z1YTMyRzVmWExmYXlkdWFIZkRIVDFOUk9wcTRLcVdPaUtYTGxCS21zZFR4eWx4c3lacnQ2YjNRQjEzeEVKcmZaUVNldENWcTJMaHVycnFCWTZHMmptT05WbGJyYjNKZkF5ZVJLT1IvZllQUW41QkFSVFJHQzdXWk8wei82RUV0T3FQOU03cWNpamVKWitBdkNPSzFtOVFpbFBzMTlodDFtUnRuVGxIWWJNN0ZqMDNSRUZ6L1cwSjdIMFNjRFdsQUxtdkduY2I1bFg1RzdqN3g2UHpYMzdvdGpKRXlpUHdxVnJhZU1mRGVORnhIRzN5RlJJdERSR3JvMWt2b3JTN296RGxnVncrVkx4NmhjakY4M0hlZ200cU93M0VQVThQcFlUSk8zNUVKUzlyc25ZcmVoZlVtWkpCa3g2dktZTDNpV0xodXJycWhmNE50WE1jYTdLMldpdTlxWEFjdVJOdFRaZDlFSEx6WGtBUmplRmlUZFkrOWVWL2tEWEFGczg2ZFpGRDNwUnBLZzkzK1FzV0tjVXE5bTNNTm11eWRwOVpSekNRRWxDVC9yTzdyNDJVb051cW05QllGWW9wUnhNUmxKaU52RmZsU24rTG1LNk1iejNNd2JLVE1kQ2NlNHBPcUU5RGZlVk5LWWZBVmRkeUlDV2cwVUkvSFA3dVA1U0FSb2p0MDcxZTNMR3hhUER3cnhoUTlpZ0ZDU1o5VmZLeUptdi9UcWRDcnBRTTNWWkhLS0VYSFNvVkM5ZlZWUzl3Tk5UT2NhekoybXA2WXoyeGNHOGliTmZjK2lCazUrUkNFWTNoWWszV1B2SEZsOGl5dGNlekRwMlZVQjZsL0RvUTc1RFNzK2VRMGF1UHlqNnFlRlRWc1NacmEvMTFHUFplc2VpK0pnTHFxMjlWWTFVNE9pKytnZzV6enFQOXJETm9UOG5WaXg0Ym1hNEpndVc2UzlCYjZrL25MMzVvTyswWTJzODhoVTZMTHRmMkZUZ2FXRHA0MCt2dDgvMXc4QnRPUUJQYzdkV3RYaVF0V1NpWEMva1h6dGVia0xuSERpUGVTSzlPVHRaazdlWVREbUlJSlVObnVycFZSQys2V0ZCS1FLcXJxMTdvMzFBN3g3RW1hNnRwT0cvQ3pJMTB0VGZ0d2djaE15c2JpbWdNRjJ1eXR0Ky92MENXblNOeWhyaWgrTUJCY05LOXBVTkxRNlVpK1FIU2UyZ2hyVzJuRHdKcnNuYXZtWWZnUUkrS09QRTYwMXNjU2xoeEU1MlczVUNucFNIb3VQUjZEVUlrZFoycFRXVWZWVHdLZFk1MHc5WmczakVjK1BwTEpGcVlJa1pUdlY1a1hndVd2eWloSnprUHg0NUN2djk1dklxSmxxQW81RHJTTjI2Z2MwcUxCdmxZazdWL0dYY0F3M2JjUlh1NnY2ZUkzblM3UkxGd1hWMzFRditHMmptT05WbGJUZE41STJadERJUGhqSUFQU3NDTTUzUnhvSUNHRXREa3IwQ0pKbXVmYTlZTTVjbkowczlaK2Z3NWl2ZlRCS0pWYTVFOWVEaUt0bm1nNVBSWmxmbklTZmhNZ3laMHQrNzRYa2pyU09lYkF4MXg4Ri8vUnM4WnZuRHl2b3N1SzhQUWNmbk5UNEpPbExqT1BuVGpkKzVoN1AvcUM5dzFNVUtNQmlWZ3R5NHFjYXRyWjFTOEtwYnVBekhkRWFncnRqSDFkelc3U3pSWnUrbW92UmkrOVE3YUxRL0RuMHZsb1VFdkVmVGVTaGRvTXVDNnV1cUYvZzIxZDFvUkx0RmtiYlVlenU2WXZTa1VBeGRjL3FBRWZKYWVBVVUwbElDc3hacXNIZEdESnFYVERxM01lSTRYcytkRDlHZDdsY2kwdGdVbm5HTGhCSzJyVDEzMXp6UzE4SlFTMEljU1VPc3YzN2NPbm5mb3NCdUdka3REUHdsWWl6VU41eDJwMnZmbHZ4RmwyQSt4OVBRbnBrdG5sYmhuYnkvM3NYTU9IYW96dGk0TzJYcldZazNXYnVLMkI4TTNSNkRIcWx2NG5WNDArQlJnTGRaa2JiVmVUbXRGbzVkZXdOUU5ZUitVZ0ttaVoxQkVRd25JV3F6SjJrRTllbFErbURRWldVNnVTRzNacmw2a2RlMkprcE5uNUw2TXQzUWZzcUYraXUzUHJXd1JwYWVQVGQ4M3FUUmFmQ0xMY00wVm1OUGJ2bTBXMy9na1lDM1d0RngrT24zM3YvOHR1cWl1amdSREkwUjM3S1FTeWNPSHkzM20rM2IyZGNiV3hTRmJ6MXFzeWRyZkR2RVVXUzBMZ2ozZEEyMis2TVluQVd1eEptdXI5Unl3ME0xZ3BDZm0wbHU3MCttOHpIN2hWWmpOdXRqb1pIeWFLb0lpVkNXZzRjeEFDVGRyc0JacnN2YUtiaG8rdnQ4MVFiS3RBNTViMnlGTlF3dXBiYnZnNmU5dDY4U3JrNmZsdnBEbkZqYjF4ak5YYXF1T0VtN1dZSzFEcExtd2MxY2ZwMDJYSjdjWjcvUE9jZGR0V0d5UFFwZmxvV2k5aUV4MEZuNWNNQ2R6c3dacnNTWnI3L3pYdjl6MmZmTU53dlVOa0dob2pGZ05HZ2s3ZFVWMHU0NVNKRTJvZlEreWdrNVJaTnNhdXg1REYzbk16UnFzeFpxcy9ZM0xUcmNXby9kaDZJYWJjS0RFNkU2SHgxYUxROUYwUWNoSFJmT0ZOeVRjck1GYXJNbmFFbitZSGphTDkzTkNUQ1RMak9VN0k3RFNNd3FydldJYWhaemNQQ2hDVlYvbVpHN1c2RGZLazk2RVdTdzF4MW5lc3RYamc5ODN3ZTEreG5qcU9nenBRMFlnZTlqb09wRTdmaXJlMFROcG9SU3NJVU9mZXVLNWpUbVptelVPa0JackN1WThWcXY4ejdVWnQrZWRNVTJTY2ZXNkE3ZDljWERiSC85eFFaek16UnFzeFpxQy9vNS8vbXYvWGtxSUlBMU5SSnRaSXM2eVA1TDYyMHFSZDlSUCtsbDVYYmF0c2V2TXlkeXN3VnFzS2VoL00yam4vdWFqOThLYVJxV3hXeUl4Zm5zMEpuckVmbFF3SjNPelJuTTY5Mk5OT1llc0h2MFh1UFYwV0MzU2RGeVA3bzdyb083UU9Cdzljd0dLVU5XWE9abWJOVmhMMFI1c2ZzY3VQdXUvL2E1eTEvLzdCN3dJZXh2QXhWOWJJT1RQTmhJYytjL1hEY1l6SjNPekJtc3A2anU0WDVwc3NNQXZTM1BLM3JlZHhudWp3N2lQQytaa2J0WmdMVVg5N2YvNHA1dkhQLzRwOHZ6SFA2RUkzNi8vaTVDMjdYQ3RkUnQ0MDNtcnFwakcxckVHYXlucWYrdmk0VVpKSWZwNjhDNThOY1FUWHczZC9YRkJuTXpOR3F3bHA5OTd3Q0p6MnpGYjRpY3NQbEkyZGJtZmVQcUtFK0pwRFlCakZNRjltWU81dEd3V21iT0kvMDgvZmhuOFowdVgyMzE2eHFWWUdVTmthNFowT3d1azI5Y0RiaGRpWk5aRnR1WmdEdWE2M3JxbEMzT3p4c3dqc1c3akR0ekpIYnpuOW1zWHI5c1Zmd2ZNd1Z6TUtleWtNSTIydHJHR0dxSUhkbjNwOVRGclBDUUhndzhGYzhTWjlCUXhwOERmWk93eDh6NHJMc2U3N1k4cG0zUWlVVHp0ZEpKNDJxbjNCUFdaZERKUnpCeDlWbHlKLzJIOGNjbisvK3hMei80TFRjZk05WDEzOEdRc0RwNkpoK2VSYUhnY2pNTE9RKzhIN3NOOW1lUGdxVmlNbWVmN3JxZjFmTlBnbHIrNVBMQ3h5SDY1ZGluNXY2eEhxVHZabzYybjlmWEwzaC9jbHppWWl6bXZFdmVNdzNmZEpoeU5yZkluOTRFRENZWHdpZnQ3WUE3bVlrN21EbFZ2Ylh0L29EN1MxODVIaHNjNlBOdXdtQ3pPRm53d21DTjlEYzNySlU3bS9tNzBFZE1oUG5mZW5VbCtpZE1wcFRpVVVJeDk4Y1U0SUFQZWJneTRMM09jZS9BS1EvYmVlZmZ0cU1PbW4zMENXZ3pia0xpQ1p1aFBvS3RTZTNvNGJEUHhDTGtrSE1hQTl3VDM0YjdNd1Z6TXlkemg2aDNqOHFlTUpuZXF3U2h5c1VZaCtmNFYycHRWdzY1bXFiZ3V0Q3N1MlRPUU9KZ3JmL0pvTVBmb3ZaRzVHOE96TWNvL0EyNWtML1l4d0Z6TXlkeTNkVHFKSGswZGhvZFRoaUJsUE5tbmZRUXcxK09aSTJrazd5alNYQktZdURVaUZ6T3Y1TURsYkRvY1RqMkR3K2wwMk5PeS8vRTAyUEUyZ2Jmcmd4RG5jaVpkd3NWMklScUxBeE0vK3dRY01NYWpjdFQ4TTdDbEI4T081RmpsU0krWEdySnE0NWdCWk9kaFB1b0F6YWlyd2NqOWtqb0hhbU11NW1UdXVHNGRVRGpjaVJ5c3hrTHNzUm12TDU3SDYrdVg2MFQ1K1pOa1RqUWRCWlNjRWhzMWNyRXFIT1lBOFY1UGxLeGZnY0pCTnRYMXp2M0IzSTY3d2w2UEpGKy9qMjJ2eHB6TWZhZHZaNlJNY3NXRE1mYjFJb2E4Vm1RUlJ3NVY5ZlZKbVRnSXpHMjArV2JscE1CTU9KNU1nOHZwTkF3bW03U0JmcWt3b0ttU2xqUmgzbmhmTWh5T2l5VDFycWNiQm5NdzE2U0xtVEFtN3M4K0FjMUhiQmM3VFBXRC9aU2pqY0pBZW8zS2Nvd3ZwcTN5aDhlUk1PdzZFbzZkUjI5aTc2a0l6Tm9RQ091eEJ5VTh6TW5jeVdiNktEOTdFbTh6TThnYUl4YXZRNjZpOGtHUzNHMlVkL1NhZitXamgzZ1RHNE9TTFJ0UTRHaU5ndjVrdDFhRGwvUTZFWmZLZS9Fb0drVmVnbFNmVDNaczk3cTBoYzIyMElwQkVudXhqdys3WGVIbGQvcDFxOVBxTElHU0x0akpETmRuakVFeXpUcVRSYnlQQjRMSHVTSmlzRldkL1ptNzM5Wnc4V0JLTEJmeTNuTTVRYTVhdERUeVRzQ1JtRXpFWlJUalpHd1dET2oxZFJleVR4UGFxMlByQjNNeTkyZWZnQ2JEdDRrSFRqcmFLSGVzQWZRV3M4Vm9YN2o3aEVDVW5vazNsV1djRm9ScUU1NFRRUW5vTzNpUGhJczVtVHVIcHhKV1ZxTHNsQjhLM1Z4bzVMS1JKRkhaaWFPU2VpN3ZLaXBRN244R1JXT0dJWitUeThxd0d2VEtFQy9aQ1l2TG04UjRGSTRZSksxUDZ0d0cxbHV1VnpqNVBZRUFaMW9mYzA0azNaWnQ0M1cyVVR0SkZybVpyOTdnQlRsYVhYcjBFaU5PcDJMQjFlZFllaTFUcnAvdGpwdmx0L1c3VnJ0WHVaSEpqd3dpeURnb2lpWjdpMm5hWkgwbGpieXVRMm1pK0wzaFpFQWt4MkVENWphaUpPRmtZaWNwSjNMVE10dVhndG4rOG5OLy96cjNFR2I3eVNDUzJodHluQkxhSlluOHY1Q0FSc08yaWdkSXp2c2Fkc2d5b2NQdHpMWCt5QzE0VWJQUDMxSDJFTUFBamdVa1FNZlZXOExGbk14ZDZPdUppdHNSS0hDMXh3c3pjcjhTTU1BTXBmdjM0RjBaSnpFeDBMSjR5ZnhxeHl1S0tSeEo1NHpraXNWNHRhWjZRbElsdlY1VXZIaXV0UDZlUm1kWWJycGVJZXM2TmU5U09wNFZWV0QwR1pGS1Y2dHJUMnFmcVFxSlUwV2ZJWnNTY3NtVkRMSnFxM1hKR3JEdFJubUViaWR5cjJMbktockphaERoWkFJMi9aRXRiMTdrb09EU09lU2RPVUl2QnNpL1NWeEVKa2tSNDEzbE9KaVR1ZnR1dWltMlA1YUtnZXhRUmRwR2U1SXgvYXk4NWNmeXk2bGtESmtzYWVlNHhvQTVtZnV6SHdFTmhtd1JXNDgvREt0eEIrdUZCUjFhVFdrdTc5V0krOVg3WFNieGhDL2kxS1VrOUhiZUxlRmhUdWJPMzdzRFlyOGp5RE0zUko0SnVWL0pJSCtRZzJSVUU0ckViSWplWDJPOERya0d0bUNUSUw4NjRYbWtmUHNpVDFxZlpHc05jL2ZnQ2x0eXFoS3c5cHBJRXN0K2ZjdXZQWmZXYy91SVUwL3JIS3dxYVJiYjVyQk11WGpyemRmTHc3VTY0RDQ1VlFtSUowK1ZwK2RxUFdyWWpTcDkwM0s1R0k1OU5IVTR5dE5xOVlxZVBzSnRkcW1TNFdKdTdRMDN4UDBwcWF6SkhJbGg1ZnNRT25RVCtFdzhUVWpQZW9XamRDaldwbGVYK2g5OFJIZ0lhNEt3NUhYSk52V3hscUNhZzhHY3pQM1pKNkMrNnlheE9TVlhRd1pGSnVSa1lFRlRLZk1LQk5lb2R5Z3RMY2ZHZldFWXYvdzhacXdMQkh2Q0dJM1lLK0ZpVHViTzg5cUtVdDk5eUtWMzAxU2haSyszTkNrcUh5UlhtdzBaNllLTmh4b3FpUTREWWJydVNrVi9NaFlTNEhZNFVhNWJmRllwTm9SbVlvamZJMHc3STM5b2t3M2NIWndNeXozeFVoN21zOXdVWEg2elo3c2E4eUEyRURKRDRzSmF6OEVxOHUxN01tZUN4Q0FvaU9iMU11TElQcGZqR0E5RzJJRmpoUEtFemd1Rk5qWWtZdTdlYTYrSkxYMGZTVTE4MkdHcXk4WVkvTHc0QksxV2hPSW5lb1RWZGkwOUlxUVhRVHZRUzdPTWRyeWtON2Q1dlN2UFkvRklnS2tQL2Yxa215WVlEVmtSSjNOLzlnblkxOFZkYkRhYVJyZDZESXBNcU0xdytGN1kwR3YwWW5JL0ZRNjVEMFY1Nk9Yc2lWNk9udEIyMlEzOVlUNlNVWks1bUpPNWMzWnVST25oZzhneDFLczFCOUt2TVNLaVpjSEVzYlVKK1BpUlNyT2hndEhWOWgxc1J2VEN4VjRhRTkzcU54aXZDYXFRTlJZYWZEQVJBWWxaS25PM25KeEw2eXFyZ2g0cW1RaVp1Vjh0djZIWldzNDhLRHU0OXRDYnV2UXZ4SlBIU296N1NyQURGU051L2xRNUU2RDhnTnJuMXV6cklqVWhJbk1nNXU2NTZxcllnczd2QklNZzg3M0o2RUJ2WlJmVFJPOHkrbnRMSzZyd3hheGdyTDJTaXJka2lNU21TQTl6UzVGZC9CcHZxdDRobzZnTXk0SWVveXZOYVRIMHFqVVpZazdtL3V3VFVNZHB2WmpQN1l4RzdGTUo5bm5SY3ZhQ3BzTXU5SEh4b2tucE5FOUNjdmdGNHBLejBOcHNNM282N2FZM1czWkRqeTVBak1qa2lMbVlrN216NmNieDY3QlE1TmxZSTF1dkQzTElrNFVock9lUEdDYk5DWjRQTE5UelVqR0dFekRQMFU1YUgvVkhDeGl1Q3Fvd0kyTWhBZk1EbFcxbEd4cEp1WDNLYVRyUmwrSGhkWk4xVjhxdnFiZXE5bTRaU040dGhOTHM2dVF1Sno5bTNvNGVJVCt4bnMyQ2hGaGVQbDFVYXhQTS9XcmJETUhjNUJRdk5xSHpPMlB5cHBHQVRIemEwY3l6dHpYN21QdjhjMll3M0srbjFmc3hmQ0l5b0U2anBMRlhrb1NIT1puNzgwOUF4L1ZpMDVFSHlMdkZSOG0vUlovc092b045OEh4aTVFNGVlazJJUXBWZE9YNjltMzFTUElpdnhpSHpvWFIxZTl0Qk42SXdXeDNmOGxveUZ6TXFVUGNtWnZXNE8zTGx5Z2duNVlzSGExYVNEeGd0RkE0cTlaSXZIZ3plVWJMeHRTc3Z4Zyt0SG9FakwyTFhQYURvWG8yTW9yOHZRVU1WZ1pVbUpETkJadmRNQXkzM1lZb3YyNWJOVlhmSXMvdllLOFdnWU9YSm16WXMrWlMrZFV1ZjVCekFiMnBNb0M4V3doQ2VVSDNLM2xiMGErbE9KSVNzQ2FXbDA4WFRKT1RsTFlSSjNOckxBMFNtOUhJMVUvd1p2RklSRHQ2WDQ3UFNibnc0cDh6cnNMOVd2MEp5TEZqL082am0zc01qSWlMT1puN2Z5QUIxNG5OYUxUU0hlS3Q1QTJqTzlnTC9XZ0VwSUcvWmllK3BWc3ZsVkp2bU1vcTRSWk05YzQ2Y0M0R0hmdHZoUTV4TWFlTzR6cHh4cm9Wa3JZMzkrOGoxNlkvc25xVDl3dUR2RnV5KyttajdHSWczcEhmVEZsUUVISXNMZVRhaGRnY2F5dVVIanVHbHh2cHJSYzJNT0wrdXRxNDlWdHo5RjErb2NLWURIOEV6eFdESFRIb3YvVUdJcDhJVityMURoeVN4alBSSWlVUEZ3bm55b3ZsVnpyK1RxKzQ2eVBCVWxjQ29hUWQzQ1BaenZUYUppZkEyMElzTHgvTnFmVW81RUNoalRtWlcyTkpvTmpjTTRrc1BLcTlXZlMzazJNQVRkb1JFcEQvMTcra0VYQ1RUQUxtbGxSZ1VlQVR1T3hQeE5NWDFYY1J1R3dKZVlhV3l5UFJqM2lZazdrLy93UjBXQ3MycC9PMlBxNmUwQm04V3c1OUJ1MkNIbzJDcjErWDRTMGwyNXNLOW9VcFIxbDVHY3JvdGdtdnY2RXIwOG8zcnlVN1lNL0pLTFMzM0F3dDRtSk9IZUorTksvMnR6ckt3OE9RUDM0Y2pXQTZ5RFl4UnZHMmJYaEw4NHJMTGw1RXJvTURNbnVTSjR3RVpMM1J3SHFXcmc3Q1dqU0g3dEt6RmNia1p0V1hyaFFGbUhsRW82U1JmaTc4UmR2dm9qa3hNdjE1M1hnWGVjV3NDQ2dQYXQ5Q1l1b1RiNjR0UVFXWlFuSXBvbHRDVWVUWjhtUzJ2R2RoOGpBN2FTekhQNktmQmhOS0dWMEpDenpNeWR3YUN3UEVGcnZ1UVcvclhmUWxzRzFGVnpvSHJLbzV5dkRpMjlraDJCcVNMdVhaUUZmNlRlYmRSTXRsRWRoNU0wTmF2KzFHT2xvdXBjOUNQTXpKM0o5OUFtcmJyUkZiMEdqVnk4VlR5WnFqRjdrbHNLbFFVVkd4eEk2am1INkNRVndxbHF5TDZmWkRhV2twWHI1a1p3UyswcXVpcHlLMzBKWVNzQ2R4TVNkelIvVHBEVFlUWXZzMWNySkVWVllXWFV6RW9TSXBDVytMaXlHbWtTL2J4S1RXYmtOVHMzcWRsL1dzWitucUlwUVNVSHZSbVFyam5iRVNhdzBCZlRaR1lzcWhPeWdzYlhoZTcvYWdSTExRdUNQWG4zbU1pRk4zcVg5NVlOdm1aT3FqaTNpeXMyQ3dIWVpRSHBCN1FYS052UnpYbGRGRmhoREh5N3RHdlpBV1dEdDdqZnNLN2N6SjNCcnovY1dXZEJXclRWZStiRm5CeTI0MGI3Ym1DQ3k1OFBocC9nMXNwK1FTeW82YVJQdGp5UzF3MGduRkk1UVNrT3EwaVljNW1mdC9JQUZYaXkxSEg2QjNBSGVxdE9iUXBIb3RNaTVpdTQwK2xJd0ZoY1Y0UmNsVSthYWNmQUtmb3AzMWx1cms1UmhhYXBMREFuTXhwN2JkYW5GSTgrWjRycXNuc2RYSUhUUUloY3VXb3lxNytxY04zdEtrOWx6WHdjcVdHK3JWTmgwUzFMSCtYRWNQekswMS8xU0ZrY2RkSlJzTXpaWEJNRmdkaEZoUnZ2UUxVbHc1ZnVzeGVsQ2NLa3NPUTVxMXBiMzRYSGxBNjErUllLb2p0YlpJN0crSXNzZlZ0M095RDNnamVVSHRPZXhUZWw0dGE1VVJQc3hKVGpLRmZoNU1hR2RPNXRhY2QwNXNSWWRNclEzVjFoaGE2NlBSZzI2eDFBeUFsSWp2MEh4aEtIYUcxbzUwbmpUcXRWck1ieTZIZzllRnd1c3RxYTQzY1RFbmMzLzJDZGpIbGhLUWJwdDBzdk5BTjBvY1JhZzc3Q1RIaEIzb1pMc042bzRlZE9GUlFLUGVTMVJVbE9CbXpDUDhhdUtPem5ZN0pPaHE3MEV4T3lWY3pNbmMxMzZ0U2NBdVpMMUJ5QnM1Q215endZVnZMQmN1WDRIMG1qWmVwbmRSbDhReDZsdm5wR2J1bm5NcEFTbFplcEN0Qm1QcXFSU3NveDhDUEp1WUo3bVZvYXE4cnF6Q2VqSlNWMThTSk8wbjlCZVcvY2d0UzJ2aDJYTC9Wci9RcUVVSnFFZldHVEo0dm0walRhYzBRTHFNWFVacDVuTmNNT2lEUzcyNjRxSTEvZkRpdzlwSlZDWDBuRnUyUDNNeXQ4YWNzMkxMclhFU1Y0SmU2Nktnc1lZc010d3BBYXR2TklDZjByUmFRb2tXVnB0b2U4SXo4TWNpTWdNbjhMcFF2R3ZxTllpTE9abjdzMC9BSHBhTHhDWkRkcUMxK1NwMHNGeGRKOXFhcjBRbjY3V1MxKzhMYU9RcUt5MUdTT1I5Tk5WYlJPZDk4djJZaXptWis2b2tBZnVTbTBGWGlhTkI5a0I3dkhsYWU2dWtLcGNtdHJ1NDFyZ2RWTWNJc2ZXdE15ZHo5NWg5dk1Kb2V3dzAxa1ZLb0VPT1Z1NlhuNUMvODB2SjZDRVV2cXZ4TktjWVhuVER1Uy85VUdLWEpaZWxmWVMrc2t2RGJUUWxjZjZaOG5OL05FTzhvVFppNlNkbEZSRkRiZ2FLZGhtc3AxakhUbGRKZGxaeS9abVR1ZFZublJaYjBiVEh6blRseTQ0QlBHbTdONDJFd2wvT3QyUCtwSE85M2ZTVVJpZytFWmxvdm9ETXdnbThybGpQWE16SjNKOTlBbHBOUHlnZXR6VWFwb3V2MDB5bGtEcGhzZVE2K2xON1ZsWXU4dkx5OEtvb0grR0p6NkE3K3lxc2FOSzJiRjlUbW9ERG5NeDltUlBReUJUUERVMlE3ZUNFbktIREliNTBSVzVnNHRzMEw3ZHVSNGFXRHA2MUo0ZUVSaUJEMXdETXJmR1hYNFVSSll2Z2F0Q1ZuaDUwV2hpRTlyUFBvdXZjczNTVkhBakRsWUhvT3VzVTJZR2RRTWY1RjhBeFVoZUVPaHdNREduZWFzODVKOHJQdEtBRTFOZkczWjdrWEtDQUtHdHo2ZWNvZTVpQ0NnVlBQbTdrQ2VQM0JsZ3E5V1ZPNWxiLzY1VFlraTQ4MnRHRW5VN3N2VWMvYzZDMVdkNlJvUFhLMnpnVVhmdlNneC85NlBWUGMra3BDWUhYaGNMclRlZUZvdTJ5Y0RBbmMzLzJDV2d5eGxzOGRQa05hRTA2RDcycC9uVkNlN0svWktaY1JrWW1zdWxtYkZGQkhtNUUweDM0VVdlZ08wVytYeC9pY3FNdjJaaTRyM1hYUUxIdklaUkgza2JGdlNTVTNZcEFxWDhBeW1QdW91cEY3YTBTbm1SVXZPOEFlTko0V2h1YXdkYW1FMFNTcGZJNnV5R2s2L1ZENEMvTjBXM21ZVXJBTy9UbGhYMVVHR3lsdytGc3YvSlR6WnZSb1pOK2owT2pxeEtlYmxnbi9mS3pkbnRLMmgrT0dZbDA5L1dTWmFLVnVjcCtIQmRIemdiSGZ5R1Q4T25IeFJiMG14cC9rSVV0Sjg2Zmk4UFFneTVFOWtYbDRFQjBEdlpHWmFNem5kT05QL2xJc3UxTG1IVG1DVm9zb3BsbEJGN25PcUgrdHlWaCtIM3hUWHFNR0lNdXhQM1pKNkRwMk4yVkU5YUhVUkpkZ003VXV1MDVkS2hkZjNvQVJNL1M4Zng1QnZMenNuQTk2aUhVeDV5bHBLM3R4eHk2aElrYndtRTZabmRscklzelhqOTdocEpUWjVGcFk0OE1mU004STB1TkRBTVQ1QXdmaGZLSVdndXdkK1d2a1RONlBFMDA3MUEvMm5WR1dqOFRuR2xHSi9FempydzJwWG0yN1pmZC9LaGdUdVkrL0dNVEpCZ1kwRVJ3Y2kxUVFQYlpzOUlFdk8vb29ESkdWVCt1U3pBMGhDOTVWSGVZZktUU2pyd0oyWG0rT2VFM1FrdHlLUGh1N2cxOE0rZUdaTm1LUnNWbWRDSEMyOS9RZHJORm9maURFbzNCNjF3bjFQOU9kY3hqUjFmMnpQM1pKNkR1WVBmRUdSdHV3SWtPc1p5RVBIcjFWb0VlRTg1QmkwYkJ4MDlGRUtXbElTY3JBNWZDazlIZTdSUjYxY1R6S01vY1R1U2h3cHpNSGRLclYxeXlJLzNhWXk4ZHBMYnVSSlBJMnlQMWo5b0o2S0wyNmpSQ0hzYmJtbW1XWlRmcEIyTGFkcTZPRWVKazE4bUdJNjBIM1pPalJON2Y1SWM0NDhVbmNtMDlJdEdGN0M0KzFzUnk1bUpPNXZiK3o1ZWlDSnBIRzl1ako2STcwTVJ4R2J5NlUyMmVKSm1ycTlCVzN6WnpoZW4xeFo3L2ZpMzYyYzA3MFlYbXlmYW1GdzZhMHNUd0pqUWY5N3Q1MXh2RTl4VERVSXh0U2k4dk1CZHpNdmRubjRBYTF2Tk1MY1o1djJPcmpGazBiM09pZXdUR2I0akFCQVdNV3hlQlNkU1duWk9EUEhvbHFyam9CZTRtMFUrOGs1L0toUFcxOFRPSlkvYm1VRmlPOTM3SDNMdSsrdHJsVk1zL3MrTnB4QktaV09LWmdTblM5VTJRM3JjV21RT2R3WW5IejVnckhqNUdwdjJnMmhpT3JZbC9Sa3VSTWMyYkpTN20zUEhGbHk3T202NjRxVTg3WEdXM0l4Sm1kTmcwb0h1QWZ3Zk13VnpNeWR3Ny92VXYyME0vLzR4d0Ezb1dUT2V5OGJyNmlOZW0rNEtFa3RqcU4zWmVuRGdwclJQYTZsb21HQmdob3A4Um1KTzUvK08wM2JUZHhFUHZCbEhDT0c2SmhpVmRnSmdSekQ4SWQrQkF2MHcwYVAxTnRKdHc2QjF6Zi9ZSnlIOWdkK3Y1NW5xdUcrSXR4KzB1TXgvbkpWWUYwekZlWWtvcWNjRFZFSEhROVJ2aWE2Rmg0bjNITDRuMWgrK1VpMmNPNW1KTzVuYi94eisrM0U2SjR0UGt4N2pqdi94S3h0ak5jZmFYRm5JNFIzTjhnM3Yzd1YyWFFZZ2kzNzRMcmRvb3hYQWY3c3NjekxXTk9KbWJOY2hod0szZmZML2NybE1Pdk80NHhiZjg3NEE1bUlzNWhTK1A1dEhhN3Y3cWE5SGU3NzdINForYTRsalRaaExjc3JKRzNKQ2hPTlc2cmJST2FLdHJTYU0yUEwvNGd1Zm0yZ3I4WHpsdE4vOTVtRmQ4dS9HK1plMG1IUkYzK0J0Z0R1Wml6ditGNVB2L3lQU3dwSTcvc1RBQUFBQUFTVVZPUks1Q1lJST1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9zdG9wLnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRlZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmhCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nODM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYklFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZDcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeitLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4bXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTg5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6cmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbDEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUNBRWxFUVZSSURiMld2MHZEUUJUSFRWcUVRcUMyaytEVVNSSDhCMEtYWXRPL1FEcEtPNG1qZ3lJSUNvSWdPamlLVTR0ajhTOW9LbDFDL3dGQjdOU3A0TlJhQ0FqU1VyL3Z5SVUwSnQ3UkhBMGN1WHYzM3VlYnU3ejdvYzNuOHpYUlk1cG14akFNQzc1VWRqVk55MUlNNmhQVTMxRnMxM1h0WHEvM0xXSnAvd21XU3FYTmREcDlDVWdOSlNPQWtWaHpPcDFlZDd2ZHp6amZXRUhMc2k0UWRJNWl4QVhIMkYzWWIyM2J2b25xL3lQb1RkOHpSbjRRRlNCcnd6Uy9ZSm9QdzlPOElGaXRWdGZINC9Fcm9FVlpzTURQeWVWeSs2MVc2NGY3NmJ4Qzc5Rm85SVNYS2pGQ0ZqMG0xZG5qQzFZcWxScW1vZWJabGIySVNXd09aRk9LYkRTUWpSOHdidkVPZXVNL05tZXoyUW15N2l0b2o2dURzNUZLcFI0aVBueUk3TjBCeDJXQ3lNaFRRTzdDSUdTYUZyYkp0TUdMV3R4bjROM3pLVDJXQVNYMFlSbzZ2bVlQb0VKQ21FeDRnYlJvaENxelVpUmMxSkVZMnlJdlZmMmtSU05rRzdFcXFJQ1Q1VWtqOEZQWFRZSVRkVGdoYWFKamtmYUZib29jU0l0RzZDaml5V0FjSGF2L0RaNERHZStFUGdQUzRrbnptQkFtRTg0MG1DQTJWbW9NdzFIWUdhN0NObEU3Sm9ZMmJ5Ym9IOEIwaEdCaE5rVEFaZnFSTFBWMnU5MmtXRitRR3VWeXVSRnh0RkRYMGc4ZGNaMU9wODRCL0IreWRqNmZQMEpGWmRZNkhwUHJMWTZRckN1OVJQbWZnUXArL21xdWlVSFJsVjZFZzhJcXIvcS85aHZ1cS9LbVNUTUFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-jquery-lightbox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfanF1ZXJ5LWxpZ2h0Ym94PC9uYW1lPgoJPHZlcnNpb24+MC41LjE8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjA8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PlZHaHBjeUJVYjI5c1FtOTRJRUYxZEc5TWFXZG9kRUp2ZUNCMFpXMXdiR0YwWlNCMWMyVnpJSFJvWlNCcWNYVmxjbmt1YkdsbmFIUmliM2dnYzNsemRHVnRJSFpsY25OcGIyNGdNQzQxUEdKeUlDOCtJRHhpY2lBdlBpQkViMk4xYldWdWRHRjBhVzl1SUdadmNpQmxlSFJ5WVNCdmNIUnBiMjV6SUdOaGJpQmlaU0JtYjNWdVpDQmhkQ0E4WVNCb2NtVm1QU0pvZEhSd09pOHZiR1ZoYm1SeWIzWnBaV2x5WVM1amIyMHZjSEp2YW1WamRITXZhbkYxWlhKNUwyeHBaMmgwWW05NEx5SWdkR0Z5WjJWMFBTSmZZbXhoYm1zaVBteGxZVzVrY205MmFXVnBjbUV1WTI5dEwzQnliMnBsWTNSekwycHhkV1Z5ZVM5c2FXZG9kR0p2ZUM4OEwyRStQR0p5SUM4K0lEeGljaUF2UGlCR2FXeGxjeUIwYUdGMElHTnZiV1VnZDJsMGFDQnFjWFZsY25rdGJHbG5hSFJpYjNnZ1lYSmxJSE4wYjNKbFpDQnBiaUJ0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZkR1Z0Y0d4aGRHVnpMMkZzWWw5cWNYVmxjbmt0YkdsbmFIUmliM2d2UEdKeUlDOCtJRHhpY2lBdlBpQnFjWFZsY25rdGJHbG5hSFJpYjNnZ2QyRnpJR0oxYVd4MElIVnphVzVuSUhSb1pTQThZU0JvY21WbVBTSm9kSFJ3T2k4dmFuRjFaWEo1TG1OdmJTSWdkR0Z5WjJWMFBTSmZZbXhoYm1zaVBtcFJkV1Z5ZVR3dllUNGdiR2xpY21GeWVTNGdhbkYxWlhKNUxXeHBaMmgwWW05NElHeHBZMlZ1YzJWa0lIVnVaR1Z5SUdFZ1BHRWdhSEpsWmowaWFIUjBjRG92TDJOeVpXRjBhWFpsWTI5dGJXOXVjeTV2Y21jdmJHbGpaVzV6WlhNdllua3RjMkV2TWk0MUwySnlMeUlnY21Wc1BTSnNhV05sYm5ObElqNURjbVZoZEdsMlpTQkRiMjF0YjI1eklFRjBkSEpwWW5WMGFXOXVMVk5vWVhKbElFRnNhV3RsSURJdU5TQkNjbUY2YVd3Z1RHbGpaVzV6WlR3dllUNHU8L2Fib3V0PgoJPHNlY3Rpb24+YXV0b2xpZ2h0Ym94PC9zZWN0aW9uPgoJPHRwbHNlY3Rpb24+PC90cGxzZWN0aW9uPgoJPGpxdWVyeT4xPC9qcXVlcnk+Cgk8anF1ZXJ5X293bj4wPC9qcXVlcnlfb3duPgoJPG9wdGlvbnM+PC9vcHRpb25zPgoJPHRwbGNvZGU+PC90cGxjb2RlPgoJPHRwbGNzcz5MeW9xRFFvZ0tpQnFVWFZsY25rZ2JHbG5hSFJDYjNnZ2NHeDFaMmx1RFFvZ0tpQlVhR2x6SUdwUmRXVnllU0J3YkhWbmFXNGdkMkZ6SUdsdWMzQnBjbVZrSUdGdVpDQmlZWE5sWkNCdmJpQk1hV2RvZEdKdmVDQXlJR0o1SUV4dmEyVnphQ0JFYUdGcllYSWdLR2gwZEhBNkx5OTNkM2N1YUhWa1pHeGxkRzluWlhSb1pYSXVZMjl0TDNCeWIycGxZM1J6TDJ4cFoyaDBZbTk0TWk4cERRb2dLaUJoYm1RZ1lXUmhjSFJsWkNCMGJ5QnRaU0JtYjNJZ2RYTmxJR3hwYTJVZ1lTQndiSFZuYVc0Z1puSnZiU0JxVVhWbGNua3VEUW9nS2lCQWJtRnRaU0JxY1hWbGNua3RiR2xuYUhSaWIzZ3RNQzQxTG1OemN3MEtJQ29nUUdGMWRHaHZjaUJNWldGdVpISnZJRlpwWldseVlTQlFhVzVvYnlBdElHaDBkSEE2THk5c1pXRnVaSEp2ZG1sbGFYSmhMbU52YlEwS0lDb2dRSFpsY25OcGIyNGdNQzQxRFFvZ0tpQkFaR0YwWlNCQmNISnBiQ0F4TVN3Z01qQXdPQTBLSUNvZ1FHTmhkR1ZuYjNKNUlHcFJkV1Z5ZVNCd2JIVm5hVzROQ2lBcUlFQmpiM0I1Y21sbmFIUWdLR01wSURJd01EZ2dUR1ZoYm1SeWJ5QldhV1ZwY21FZ1VHbHVhRzhnS0d4bFlXNWtjbTkyYVdWcGNtRXVZMjl0S1EwS0lDb2dRR3hwWTJWdWMyVWdRME1nUVhSMGNtbGlkWFJwYjI0dFRtOGdSR1Z5YVhaaGRHbDJaU0JYYjNKcmN5QXlMalVnUW5KaGVtbHNJQzBnYUhSMGNEb3ZMMk55WldGMGFYWmxZMjl0Ylc5dWN5NXZjbWN2YkdsalpXNXpaWE12WW5rdGJtUXZNaTQxTDJKeUwyUmxaV1F1Wlc1ZlZWTU5DaUFxSUVCbGVHRnRjR3hsSUZacGMybDBJR2gwZEhBNkx5OXNaV0Z1WkhKdmRtbGxhWEpoTG1OdmJTOXdjbTlxWldOMGN5OXFjWFZsY25rdmJHbG5hSFJpYjNndklHWnZjaUJ0YjNKbElHbHVabTl5YldGMGFXOXVjeUJoWW05MWRDQjBhR2x6SUdwUmRXVnllU0J3YkhWbmFXNE5DaUFxTHcwS0kycHhkV1Z5ZVMxdmRtVnliR0Y1SUhzTkNpQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNCMGIzQTZJREE3RFFvZ0lHeGxablE2SURBN0RRb2dJSG90YVc1a1pYZzZJRGd3TURzTkNpQWdkMmxrZEdnNklERXdNQ1U3RFFvZ0lHaGxhV2RvZERvZ05UQXdjSGc3RFFwOURRb2phbkYxWlhKNUxXeHBaMmgwWW05NElIc05DaUFnY0c5emFYUnBiMjQ2SUdGaWMyOXNkWFJsT3cwS0lDQjBiM0E2SURBN0RRb2dJR3hsWm5RNklEQTdEUW9nSUhkcFpIUm9PaUF4TURBbE93MEtJQ0I2TFdsdVpHVjRPaUF4TURBd093MEtJQ0IwWlhoMExXRnNhV2R1T2lCalpXNTBaWEk3RFFvZ0lHeHBibVV0YUdWcFoyaDBPaUF3T3cwS2ZRMEtJMnB4ZFdWeWVTMXNhV2RvZEdKdmVDQmhJR2x0WnlCN0lHSnZjbVJsY2pvZ2JtOXVaVHNnZlEwS0kyeHBaMmgwWW05NExXTnZiblJoYVc1bGNpMXBiV0ZuWlMxaWIzZ2dldzBLSUNCd2IzTnBkR2x2YmpvZ2NtVnNZWFJwZG1VN0RRb2dJR0poWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0RRb2dJSGRwWkhSb09pQXlOVEJ3ZURzTkNpQWdhR1ZwWjJoME9pQXlOVEJ3ZURzTkNpQWdiV0Z5WjJsdU9pQXdJR0YxZEc4N0RRcDlEUW9qYkdsbmFIUmliM2d0WTI5dWRHRnBibVZ5TFdsdFlXZGxJSHNnY0dGa1pHbHVaem9nTVRCd2VEc2dmUTBLSTJ4cFoyaDBZbTk0TFd4dllXUnBibWNnZXcwS0lDQndiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9nSUhSdmNEb2dOREFsT3cwS0lDQnNaV1owT2lBd0pUc05DaUFnYUdWcFoyaDBPaUF5TlNVN0RRb2dJSGRwWkhSb09pQXhNREFsT3cwS0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUW9nSUd4cGJtVXRhR1ZwWjJoME9pQXdPdzBLZlEwS0kyeHBaMmgwWW05NExXNWhkaUI3RFFvZ0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DaUFnZEc5d09pQXdPdzBLSUNCc1pXWjBPaUF3T3cwS0lDQm9aV2xuYUhRNklERXdNQ1U3RFFvZ0lIZHBaSFJvT2lBeE1EQWxPdzBLSUNCNkxXbHVaR1Y0T2lBeE1Ec05DbjBOQ2lOc2FXZG9kR0p2ZUMxamIyNTBZV2x1WlhJdGFXMWhaMlV0WW05NElENGdJMnhwWjJoMFltOTRMVzVoZGlCN0lHeGxablE2SURBN0lIME5DaU5zYVdkb2RHSnZlQzF1WVhZZ1lTQjdJRzkxZEd4cGJtVTZJRzV2Ym1VN2ZRMEtJMnhwWjJoMFltOTRMVzVoZGkxaWRHNVFjbVYyTENBamJHbG5hSFJpYjNndGJtRjJMV0owYms1bGVIUWdldzBLSUNCM2FXUjBhRG9nTkRrbE93MEtJQ0JvWldsbmFIUTZJREV3TUNVN0RRb2dJQzhxZW05dmJUb2dNVHNxTHcwS0lDQmthWE53YkdGNU9pQmliRzlqYXpzTkNuME5DaU5zYVdkb2RHSnZlQzF1WVhZdFluUnVVSEpsZGlCN0RRb2dJR3hsWm5RNklEQTdEUW9nSUdac2IyRjBPaUJzWldaME93MEtmUTBLSTJ4cFoyaDBZbTk0TFc1aGRpMWlkRzVPWlhoMElIc05DaUFnY21sbmFIUTZJREE3RFFvZ0lHWnNiMkYwT2lCeWFXZG9kRHNOQ24wTkNpTnNhV2RvZEdKdmVDMWpiMjUwWVdsdVpYSXRhVzFoWjJVdFpHRjBZUzFpYjNnZ2V3MEtJQ0JtYjI1ME9pQXhNSEI0SUZabGNtUmhibUVzSUVobGJIWmxkR2xqWVN3Z2MyRnVjeTF6WlhKcFpqc05DaUFnWW1GamEyZHliM1Z1WkMxamIyeHZjam9nSTJabVpqc05DaUFnYldGeVoybHVPaUF3SUdGMWRHODdEUW9nSUd4cGJtVXRhR1ZwWjJoME9pQXhMalJsYlRzTkNpQWdiM1psY21ac2IzYzZJR0YxZEc4N0RRb2dJSGRwWkhSb09pQXhNREFsT3cwS0lDQndZV1JrYVc1bk9pQXdJREV3Y0hnZ01Ec05DbjBOQ2lOc2FXZG9kR0p2ZUMxamIyNTBZV2x1WlhJdGFXMWhaMlV0WkdGMFlTQjdEUW9nSUhCaFpHUnBibWM2SURBZ01UQndlRHNOQ2lBZ1kyOXNiM0k2SUNNMk5qWTdEUXA5RFFvamJHbG5hSFJpYjNndFkyOXVkR0ZwYm1WeUxXbHRZV2RsTFdSaGRHRWdJMnhwWjJoMFltOTRMV2x0WVdkbExXUmxkR0ZwYkhNZ2V3MEtJQ0IzYVdSMGFEb2dOekFsT3cwS0lDQm1iRzloZERvZ2JHVm1kRHNOQ2lBZ2RHVjRkQzFoYkdsbmJqb2diR1ZtZERzTkNuME5DaU5zYVdkb2RHSnZlQzFwYldGblpTMWtaWFJoYVd4ekxXTmhjSFJwYjI0Z2V5Qm1iMjUwTFhkbGFXZG9kRG9nWW05c1pEc2dmUTBLSTJ4cFoyaDBZbTk0TFdsdFlXZGxMV1JsZEdGcGJITXRZM1Z5Y21WdWRFNTFiV0psY2lCN0RRb2dJR1JwYzNCc1lYazZJR0pzYjJOck93MEtJQ0JqYkdWaGNqb2diR1ZtZERzTkNpQWdjR0ZrWkdsdVp5MWliM1IwYjIwNklERXVNR1Z0T3cwS2ZRMEtJMnhwWjJoMFltOTRMWE5sWTA1aGRpMWlkRzVEYkc5elpTQjdEUW9nSUhkcFpIUm9PaUEyTm5CNE93MEtJQ0JtYkc5aGREb2djbWxuYUhRN0RRb2dJSEJoWkdScGJtY3RZbTkwZEc5dE9pQXdMamRsYlRzTkNnPT08L3RwbGNzcz4KCTx0cGxqcz5QSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpSUhOeVl6MGlXMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgycHhkV1Z5ZVMxc2FXZG9kR0p2ZUM5cWNYVmxjbmt1YkdsbmFIUmliM2d0TUM0MUxuQmhZMnN1YW5NaVBqd3ZjMk55YVhCMFBnMEtQSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpUGcwS2FsRjFaWEo1S0daMWJtTjBhVzl1S0NRcElIc05DZ2trS0NkaExtRjFkRzlzYVdkb2RHSnZlQ2NwTG1GMGRISW9JSHR5Wld3NklDSndZV2RsSW4wcExteHBaMmgwUW05NEtIc05DZ2tKYVcxaFoyVkNkRzVRY21WMk9pZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZmFuRjFaWEo1TFd4cFoyaDBZbTk0TDJ4cFoyaDBZbTk0TFdSbExYQnlaWFl1WjJsbUp5d05DZ2tKYVcxaFoyVkNkRzVPWlhoME9pQW5XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgycHhkV1Z5ZVMxc2FXZG9kR0p2ZUM5c2FXZG9kR0p2ZUMxa1pTMXVaWGgwTG1kcFppY3NEUW9KQ1dsdFlXZGxRblJ1UTJ4dmMyVTZJQ2RiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZhbkYxWlhKNUxXeHBaMmgwWW05NEwyeHBaMmgwWW05NExXUmxMV05zYjNObExtZHBaaWNOQ2dsOUtUc2dEUXA5S1RzTkNqd3ZjMk55YVhCMFBnPT08L3RwbGpzPgoJPHRwbG1vYmlsZWNvZGU+PC90cGxtb2JpbGVjb2RlPgoJPHRwbG1vYmlsZWNzcz48L3RwbG1vYmlsZWNzcz4KCTx0cGxtb2JpbGVqcz48L3RwbG1vYmlsZWpzPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vanF1ZXJ5LmxpZ2h0Ym94LTAuNS5wYWNrLmpzPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtMeW9xRFFvZ0tpQnFVWFZsY25rZ2JHbG5hSFJDYjNnZ2NHeDFaMmx1RFFvZ0tpQlVhR2x6SUdwUmRXVnllU0J3YkhWbmFXNGdkMkZ6SUdsdWMzQnBjbVZrSUdGdVpDQmlZWE5sWkNCdmJpQk1hV2RvZEdKdmVDQXlJR0o1SUV4dmEyVnphQ0JFYUdGcllYSWdLR2gwZEhBNkx5OTNkM2N1YUhWa1pHeGxkRzluWlhSb1pYSXVZMjl0TDNCeWIycGxZM1J6TDJ4cFoyaDBZbTk0TWk4cERRb2dLaUJoYm1RZ1lXUmhjSFJsWkNCMGJ5QnRaU0JtYjNJZ2RYTmxJR3hwYTJVZ1lTQndiSFZuYVc0Z1puSnZiU0JxVVhWbGNua3VEUW9nS2lCQWJtRnRaU0JxY1hWbGNua3RiR2xuYUhSaWIzZ3RNQzQxTG1wekRRb2dLaUJBWVhWMGFHOXlJRXhsWVc1a2NtOGdWbWxsYVhKaElGQnBibWh2SUMwZ2FIUjBjRG92TDJ4bFlXNWtjbTkyYVdWcGNtRXVZMjl0RFFvZ0tpQkFkbVZ5YzJsdmJpQXdMalVOQ2lBcUlFQmtZWFJsSUVGd2NtbHNJREV4TENBeU1EQTREUW9nS2lCQVkyRjBaV2R2Y25rZ2FsRjFaWEo1SUhCc2RXZHBiZzBLSUNvZ1FHTnZjSGx5YVdkb2RDQW9ZeWtnTWpBd09DQk1aV0Z1WkhKdklGWnBaV2x5WVNCUWFXNW9ieUFvYkdWaGJtUnliM1pwWldseVlTNWpiMjBwRFFvZ0tpQkFiR2xqWlc1elpTQkRRMEYwZEhKcFluVjBhVzl1TFZOb1lYSmxRV3hwYTJVZ01pNDFJRUp5WVhwcGJDQXRJR2gwZEhBNkx5OWpjbVZoZEdsMlpXTnZiVzF2Ym5NdWIzSm5MMnhwWTJWdWMyVnpMMko1TFhOaEx6SXVOUzlpY2k5a1pXVmtMbVZ1WDFWVERRb2dLaUJBWlhoaGJYQnNaU0JXYVhOcGRDQm9kSFJ3T2k4dmJHVmhibVJ5YjNacFpXbHlZUzVqYjIwdmNISnZhbVZqZEhNdmFuRjFaWEo1TDJ4cFoyaDBZbTk0THlCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJuTWdZV0p2ZFhRZ2RHaHBjeUJxVVhWbGNua2djR3gxWjJsdURRb2dLaThOQ21WMllXd29ablZ1WTNScGIyNG9jQ3hoTEdNc2F5eGxMSElwZTJVOVpuVnVZM1JwYjI0b1l5bDdjbVYwZFhKdUtHTThZVDhuSnpwbEtIQmhjbk5sU1c1MEtHTXZZU2twS1Nzb0tHTTlZeVZoS1Q0ek5UOVRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxLR01yTWprcE9tTXVkRzlUZEhKcGJtY29NellwS1gwN2FXWW9JU2NuTG5KbGNHeGhZMlVvTDE0dkxGTjBjbWx1WnlrcGUzZG9hV3hsS0dNdExTbHlXMlVvWXlsZFBXdGJZMTE4ZkdVb1l5azdhejFiWm5WdVkzUnBiMjRvWlNsN2NtVjBkWEp1SUhKYlpWMTlYVHRsUFdaMWJtTjBhVzl1S0NsN2NtVjBkWEp1SjF4Y2R5c25mVHRqUFRGOU8zZG9hV3hsS0dNdExTbHBaaWhyVzJOZEtYQTljQzV5WlhCc1lXTmxLRzVsZHlCU1pXZEZlSEFvSjF4Y1lpY3JaU2hqS1NzblhGeGlKeXduWnljcExHdGJZMTBwTzNKbGRIVnliaUJ3ZlNnbktEWW9KQ2w3SkM0eVRpNHpaejAyS0RRcGV6UTlNak11TWtnb2V6SkNPbHduSXpNMFhDY3NNbWM2TUM0NExERmtPa1lzTVUwNlhDY3hPQzgxTFRNekxWa3VNVFpjSnl3eGRqcGNKekU0THpVdE1YVXRNbEV1TVRaY0p5d3hSVHBjSnpFNEx6VXRNWFV0TWt3dU1UWmNKeXd4VnpwY0p6RTRMelV0TVhVdE1ra3VNVFpjSnl3eE9UcGNKekU0THpVdE1rWXVNVFpjSnl3eFpqb3hNQ3d5UVRvelpDd3ljenBjSnpGcVhDY3NNbTg2WENjek1sd25MREpxT2x3blkxd25MREptT2x3bmNGd25MREprT2x3bmJsd25MR2c2VzEwc09Ub3dmU3cwS1R0bUlFazlUanMySURJd0tDbDdNVmdvVGl4SktUdDFJRVo5TmlBeFdDZ3haU3hKS1hza0tGd25NVlVzSURGVExDQXhVbHduS1M1c0tIdGNKekZSWENjNlhDY3lSVnduZlNrN01VOG9LVHMwTG1ndVFqMHdPelF1T1Qwd096Y29TUzVDUFQweEtYczBMbWd1TVVvb2RpQXhiU2d4WlM0eE55aGNKMHBjSnlrc01XVXVNVGNvWENjeWRsd25LU2twZldwN016WW9aaUJwUFRBN2FUeEpMa0k3YVNzcktYczBMbWd1TVVvb2RpQXhiU2hKVzJsZExqRTNLRnduU2x3bktTeEpXMmxkTGpFM0tGd25NblpjSnlrcEtYMTlNbTRvTkM1b1d6UXVPVjFiTUYwaFBURmxMakUzS0Z3blNsd25LU2w3TkM0NUt5dDlSQ2dwZlRZZ01VOG9LWHNrS0Z3bmJWd25LUzR6TVNoY0p6eGxJR2M5SW5FdE1UTWlQand2WlQ0OFpTQm5QU0p4TFRVaVBqeGxJR2M5SWpVdGN5MWlMWGNpUGp4bElHYzlJalV0Y3kxaUlqNDhNWGNnWnowaU5TMWlJajQ4WlNBeVZqMGlJaUJuUFNJMUxXc2lQanhoSUVvOUlpTWlJR2M5SWpVdGF5MVdJajQ4TDJFK1BHRWdTajBpSXlJZ1p6MGlOUzFyTFZnaVBqd3ZZVDQ4TDJVK1BHVWdaejBpTlMxWklqNDhZU0JLUFNJaklpQm5QU0kxTFZrdE1qa2lQand4ZHlCWFBTSmNKeXMwTGpGTksxd25JajQ4TDJFK1BDOWxQand2WlQ0OEwyVStQR1VnWnowaU5TMXpMV0l0VkMxM0lqNDhaU0JuUFNJMUxYTXRZaTFVSWo0OFpTQm5QU0kxTFdJdFFTSStQREZwSUdjOUlqVXRZaTFCTFRGMElqNDhMekZwUGp3eGFTQm5QU0kxTFdJdFFTMHhaeUkrUEM4eGFUNDhMMlUrUEdVZ1p6MGlOUzB4Y3lJK1BHRWdTajBpSXlJZ1p6MGlOUzB4Y3kweU1pSStQREYzSUZjOUlsd25LelF1TVZjclhDY2lQand2WVQ0OEwyVStQQzlsUGp3dlpUNDhMMlUrWENjcE8yWWdlajB4UkNncE95UW9YQ2NqY1MweE0xd25LUzVzS0hzeVN6bzBMakpDTERKS09qUXVNbWNzVXpwNld6QmRMRkE2ZWxzeFhYMHBMakZXS0NrN1ppQlNQVEZ3S0NrN0pDaGNKeU54TFRWY0p5a3ViQ2g3TVZRNlVsc3hYU3NvZWxzelhTOHhNQ2tzTVdNNlVsc3dYWDBwTGtVb0tUc2tLRnduSTNFdE1UTXNJM0V0TlZ3bktTNURLRFlvS1hzeFlTZ3BmU2s3SkNoY0p5TTFMVmt0TWprc0l6VXRNWE10TWpKY0p5a3VReWcyS0NsN01XRW9LVHQxSUVaOUtUc2tLRWNwTGpKSEtEWW9LWHRtSUhvOU1VUW9LVHNrS0Z3bkkzRXRNVE5jSnlrdWJDaDdVenA2V3pCZExGQTZlbHN4WFgwcE8yWWdVajB4Y0NncE95UW9YQ2NqY1MwMVhDY3BMbXdvZXpGVU9sSmJNVjByS0hwYk0xMHZNVEFwTERGak9sSmJNRjE5S1gwcGZUWWdSQ2dwZXlRb1hDY2pOUzFaWENjcExrVW9LVHMzS0RRdU1XUXBleVFvWENjak5TMWlMQ00xTFhNdFlpMVVMWGNzSXpVdFlpMUJMVEZuWENjcExqRmlLQ2w5YW5za0tGd25JelV0WWl3ak5TMXJMQ00xTFdzdFZpd2pOUzFyTFZnc0l6VXRjeTFpTFZRdGR5d2pOUzFpTFVFdE1XZGNKeWt1TVdJb0tYMW1JRkU5ZGlBeGFpZ3BPMUV1TVZBOU5pZ3BleVFvWENjak5TMWlYQ2NwTGpKRUtGd25WMXduTERRdWFGczBMamxkV3pCZEtUc3hUaWhSTGxNc1VTNVFLVHRSTGpGUVBUWW9LWHQ5ZlR0UkxsYzlOQzVvV3pRdU9WMWJNRjE5T3pZZ01VNG9NVzhzTVhJcGUyWWdNVXc5SkNoY0p5TTFMWE10WWkxM1hDY3BMbE1vS1R0bUlERkxQU1FvWENjak5TMXpMV0l0ZDF3bktTNVFLQ2s3WmlBeGJqMG9NVzhyS0RRdU1XWXFNaWtwTzJZZ01YazlLREZ5S3lnMExqRm1LaklwS1R0bUlERkpQVEZNTFRGdU8yWWdNbm85TVVzdE1YazdKQ2hjSnlNMUxYTXRZaTEzWENjcExqTm1LSHRUT2pGdUxGQTZNWGw5TERRdU1rRXNOaWdwZXpKNUtDbDlLVHMzS0NneFNUMDlNQ2ttSmlneWVqMDlNQ2twZXpjb0pDNHpaUzR6WXlsN01VZ29NMklwZldwN01VZ29NMkVwZlgwa0tGd25JelV0Y3kxaUxWUXRkMXduS1M1c0tIdFRPakZ2ZlNrN0pDaGNKeU0xTFdzdFZpd2pOUzFyTFZoY0p5a3ViQ2g3VURveGNpc29OQzR4WmlveUtYMHBmVHMySURKNUtDbDdKQ2hjSnlNMUxWbGNKeWt1TVdJb0tUc2tLRnduSXpVdFlsd25LUzR4VmlnMktDbDdNblVvS1RzeWRDZ3BmU2s3TW5Jb0tYMDdOaUF5ZFNncGV5UW9YQ2NqTlMxekxXSXRWQzEzWENjcExqTTRLRnduTXpWY0p5azdKQ2hjSnlNMUxXSXRRUzB4ZEZ3bktTNHhZaWdwT3pjb05DNW9XelF1T1YxYk1WMHBleVFvWENjak5TMWlMVUV0TVhSY0p5a3VNbkFvTkM1b1d6UXVPVjFiTVYwcExrVW9LWDAzS0RRdWFDNUNQakVwZXlRb1hDY2pOUzFpTFVFdE1XZGNKeWt1TW5Bb05DNHljeXRjSnlCY0p5c29OQzQ1S3pFcEsxd25JRnduS3pRdU1tOHJYQ2NnWENjck5DNW9Ma0lwTGtVb0tYMTlOaUF5ZENncGV5UW9YQ2NqTlMxclhDY3BMa1VvS1Rza0tGd25JelV0YXkxV0xDTTFMV3N0V0Z3bktTNXNLSHRjSjB0Y0p6cGNKekZESUUwb1hDY3JOQzR4T1N0Y0p5a2dUQzFQWENkOUtUczNLRFF1T1NFOU1DbDdOeWcwTGpGa0tYc2tLRnduSXpVdGF5MVdYQ2NwTG13b2Uxd25TMXduT2x3blRTaGNKeXMwTGpGMksxd25LU0F4WXlBeE5TVWdUQzFQWENkOUtTNHhNU2dwTGpGcktGd25RMXduTERZb0tYczBMams5TkM0NUxURTdSQ2dwTzNVZ1JuMHBmV3A3SkNoY0p5TTFMV3N0Vmx3bktTNHhNU2dwTGpKdEtEWW9LWHNrS0U0cExtd29lMXduUzF3bk9sd25UU2hjSnlzMExqRjJLMXduS1NBeFl5QXhOU1VnVEMxUFhDZDlLWDBzTmlncGV5UW9UaWt1YkNoN1hDZExYQ2M2WENjeFF5Qk5LRnduS3pRdU1Ua3JYQ2NwSUV3dFQxd25mU2w5S1M1RktDa3VNV3NvWENkRFhDY3NOaWdwZXpRdU9UMDBMamt0TVR0RUtDazdkU0JHZlNsOWZUY29OQzQ1SVQwb05DNW9Ma0l0TVNrcGV6Y29OQzR4WkNsN0pDaGNKeU0xTFdzdFdGd25LUzVzS0h0Y0owdGNKenBjSjAwb1hDY3JOQzR4UlN0Y0p5a2dNbXdnTVRVbElFd3RUMXduZlNrdU1URW9LUzR4YXloY0owTmNKeXcyS0NsN05DNDVQVFF1T1NzeE8wUW9LVHQxSUVaOUtYMXFleVFvWENjak5TMXJMVmhjSnlrdU1URW9LUzR5YlNnMktDbDdKQ2hPS1M1c0tIdGNKMHRjSnpwY0owMG9YQ2NyTkM0eFJTdGNKeWtnTW13Z01UVWxJRXd0VDF3bmZTbDlMRFlvS1hza0tFNHBMbXdvZTF3blMxd25PbHduTVVNZ1RTaGNKeXMwTGpFNUsxd25LU0JNTFU5Y0ozMHBmU2t1UlNncExqRnJLRnduUTF3bkxEWW9LWHMwTGprOU5DNDVLekU3UkNncE8zVWdSbjBwZlgweWF5Z3BmVFlnTW1zb0tYc2tLR1FwTGpNd0tEWW9NVElwZXpKcEtERXlLWDBwZlRZZ01VY29LWHNrS0dRcExqRXhLQ2w5TmlBeWFTZ3hNaWw3TnlneE1qMDlNbWdwZTFVOU1sb3VNbVU3TVhnOU1qZDlhbnRWUFRFeUxqSmxPekY0UFRFeUxqSlpmVEUwUFRKWUxqSlhLRlVwTGpKVktDazdOeWdvTVRROVBUUXVNbW9wZkh3b01UUTlQVnduZUZ3bktYeDhLRlU5UFRGNEtTbDdNV0VvS1gwM0tDZ3hORDA5TkM0eVppbDhmQ2hWUFQwek55a3BlemNvTkM0NUlUMHdLWHMwTGprOU5DNDVMVEU3UkNncE96RkhLQ2w5ZlRjb0tERTBQVDAwTGpKa0tYeDhLRlU5UFRNNUtTbDdOeWcwTGpraFBTZzBMbWd1UWkweEtTbDdOQzQ1UFRRdU9Tc3hPMFFvS1RzeFJ5Z3BmWDE5TmlBeWNpZ3BlemNvS0RRdWFDNUNMVEVwUGpRdU9TbDdNbU05ZGlBeGFpZ3BPekpqTGxjOU5DNW9XelF1T1NzeFhWc3dYWDAzS0RRdU9UNHdLWHN5WWoxMklERnFLQ2s3TW1JdVZ6MDBMbWhiTkM0NUxURmRXekJkZlgwMklERmhLQ2w3SkNoY0p5TnhMVFZjSnlrdU1tRW9LVHNrS0Z3bkkzRXRNVE5jSnlrdU1sUW9OaWdwZXlRb1hDY2pjUzB4TTF3bktTNHlZU2dwZlNrN0pDaGNKekZWTENBeFV5d2dNVkpjSnlrdWJDaDdYQ2N4VVZ3bk9sd25NbE5jSjMwcGZUWWdNVVFvS1h0bUlHOHNjanMzS0VjdU1XZ21Ka2N1TWpncGUyODlSeTR5Tml0SExqSlNPM0k5Unk0eGFDdEhMakk0ZldvZ055aGtMbTB1TWpVK1pDNXRMakkwS1h0dlBXUXViUzR5VUR0eVBXUXViUzR5TlgxcWUyODlaQzV0TGpKUE8zSTlaQzV0TGpJMGZXWWdlU3hJT3pjb1dpNHhhQ2w3Tnloa0xuUXVNV3dwZTNrOVpDNTBMakZzZldwN2VUMWFMakkyZlVnOVdpNHhhSDFxSURjb1pDNTBKaVprTG5RdU1VRXBlM2s5WkM1MExqRnNPMGc5WkM1MExqRkJmV29nTnloa0xtMHBlM2s5WkM1dExqRnNPMGc5WkM1dExqRkJmVGNvY2p4SUtYc3hlajFJZldwN01YbzljbjAzS0c4OGVTbDdNVUk5YjMxcWV6RkNQWGw5TWpFOWRpQXhiU2d4UWl3eGVpeDVMRWdwTzNVZ01qRjlPellnTVhBb0tYdG1JRzhzY2pzM0tGb3VNVm9wZTNJOVdpNHhXanR2UFZvdU1rMTlhaUEzS0dRdWRDWW1aQzUwTGpGR0tYdHlQV1F1ZEM0eFJqdHZQV1F1ZEM0eFdYMXFJRGNvWkM1dEtYdHlQV1F1YlM0eFJqdHZQV1F1YlM0eFdYMHljVDEySURGdEtHOHNjaWs3ZFNBeWNYMDdOaUF4U0NneVF5bDdaaUF5ZUQxMklESjNLQ2s3TVhFOU1tZzdNMmg3WmlBeGNUMTJJREozS0NsOU1tNG9NWEV0TW5nOE1rTXBmVHQxSUU0dU1URW9YQ2REWENjcExrTW9NakFwZlgwcEtESXpLVHNuTERZeUxESXdOQ3duZkh4OGZITmxkSFJwYm1kemZHeHBaMmgwWW05NGZHWjFibU4wYVc5dWZHbG1mSHhoWTNScGRtVkpiV0ZuWlh4OGFXMWhaMlY4ZkdSdlkzVnRaVzUwZkdScGRueDJZWEo4YVdSOGFXMWhaMlZCY25KaGVYeDhaV3h6Wlh4dVlYWjhZM056ZkdKdlpIbDhmSGhUWTNKdmJHeDhmR3B4ZFdWeWVYeDVVMk55YjJ4c2ZHTnZiblJoYVc1bGNueGtiMk4xYldWdWRFVnNaVzFsYm5SOGNtVjBkWEp1Zkc1bGQzeGliM2g4ZkhkcGJtUnZkMWRwWkhSb2ZHRnljbEJoWjJWVGFYcGxjM3hrWlhSaGFXeHpmR3hsYm1kMGFIeGpiR2xqYTN4ZmMyVjBYMmx0WVdkbFgzUnZYM1pwWlhkOGMyaHZkM3htWVd4elpYeDNhVzVrYjNkOGQybHVaRzkzU0dWcFoyaDBmR3BSZFdWeWVVMWhkR05vWldSUFltcDhhSEpsWm54aVlXTnJaM0p2ZFc1a2ZHNXZmSFZ5Ykh4MGFHbHpmSEpsY0dWaGRIeG9aV2xuYUhSOGIySnFTVzFoWjJWUWNtVnNiMkZrWlhKOFlYSnlVR0ZuWlZOamNtOXNiSHgzYVdSMGFIeGtZWFJoZkd0bGVXTnZaR1Y4WW5SdVVISmxkbnh6Y21OOFluUnVUbVY0ZEh4c2IyRmthVzVuZkhObGJHWjhmSFZ1WW1sdVpIeHZZbXBGZG1WdWRIeHZkbVZ5YkdGNWZHdGxlWHg4WjJsbWZHZGxkRUYwZEhKcFluVjBaWHhwYldGblpYTjhhVzFoWjJWQ2JHRnVhM3hmWm1sdWFYTm9mR2hwWkdWOGJHVm1kSHhtYVhobFpFNWhkbWxuWVhScGIyNThiMkpxUTJ4cFkydGxaSHhqYjI1MFlXbHVaWEpDYjNKa1pYSlRhWHBsZkdOMWNuSmxiblJPZFcxaVpYSjhhVzV1WlhKSVpXbG5hSFI4YzNCaGJueEpiV0ZuWlh4aWFXNWtmR05zYVdWdWRGZHBaSFJvZkVGeWNtRjVmR2x1ZEZkcFpIUm9mR2x1ZEVsdFlXZGxWMmxrZEdoOFgxOWZaMlYwVUdGblpWTmpjbTlzYkh4amRYSkVZWFJsZkdsdWRFbHRZV2RsU0dWcFoyaDBmSE5sWTA1aGRueGpZWEIwYVc5dWZHSjBibnhwYldGblpVSjBibEJ5WlhaOGFXMW5mR1Z6WTJGd1pVdGxlWHhwYm5SSVpXbG5hSFI4Y0dGblpVaGxhV2RvZEh4amJHbGxiblJJWldsbmFIUjhjR0ZuWlZkcFpIUm9mSFJ5WVc1emNHRnlaVzUwZkY5ZlgyZGxkRkJoWjJWVGFYcGxmR2x0WVdkbFFuUnVUbVY0ZEh4elkzSnZiR3hVYjNCOFgyUnBjMkZpYkdWZmEyVjVZbTloY21SZmJtRjJhV2RoZEdsdmJueGZYMTl3WVhWelpYeHBiblJFYVdabVYzeHdkWE5vZkdsdWRFTjFjbkpsYm5SSVpXbG5hSFI4YVc1MFEzVnljbVZ1ZEZkcFpIUm9mR2x0WVdkbFRHOWhaR2x1WjN4ZmNtVnphWHBsWDJOdmJuUmhhVzVsY2w5cGJXRm5aVjlpYjNoOFgzTmxkRjlwYm5SbGNtWmhZMlY4YjI1c2IyRmtmSFpwYzJsaWFXeHBkSGw4YzJWc1pXTjBmRzlpYW1WamRIeDBiM0I4WlcxaVpXUjhabUZrWlVsdWZHbHRZV2RsUW5SdVEyeHZjMlY4WDNOMFlYSjBmSE5qY205c2JFeGxablI4Y0dGblpWbFBabVp6WlhSOFgybHVhWFJwWVd4cGVtVjhZWEp5WVhsUVlXZGxVMmw2Wlh4aWRHNURiRzl6Wlh4cVVYVmxjbmw4YjJabWMyVjBTR1ZwWjJoMGZITmpjbTlzYkVobGFXZG9kSHhwYm01bGNsZHBaSFJvZkh4elkzSnZiR3hOWVhoWmZHeHBibXQ4Y21WdGIzWmxmRzlpYWxCeVpYWjhiMkpxVG1WNGRIeHJaWGxVYjA1bGVIUjhhMlY1UTI5a1pYeHJaWGxVYjFCeVpYWjhiM1psY214aGVVOXdZV05wZEhsOGJuVnNiSHhmYTJWNVltOWhjbVJmWVdOMGFXOXVmR3RsZVZSdlEyeHZjMlY4WDJWdVlXSnNaVjlyWlhsaWIyRnlaRjl1WVhacFoyRjBhVzl1ZkhKcFoyaDBmR2h2ZG1WeWZIZG9hV3hsZkhSNGRFOW1mR2gwYld4OFlYSnlZWGxRWVdkbFUyTnliMnhzZkY5d2NtVnNiMkZrWDI1bGFXZG9ZbTl5WDJsdFlXZGxjM3gwZUhSSmJXRm5aWHhmYzJWMFgyNWhkbWxuWVhScGIyNThYM05vYjNkZmFXMWhaMlZmWkdGMFlYeDBhWFJzWlh4RVlYUmxmR1JoZEdWOFgzTm9iM2RmYVcxaFoyVjhhVzUwUkdsbVpraDhZMjl1ZEdGcGJtVnlVbVZ6YVhwbFUzQmxaV1I4YjNabGNteGhlVUpuUTI5c2IzSjhiWE44WVhSMGNueG9hV1JrWlc1OFlteGhibXQ4Y21WemFYcGxmR1Y0ZEdWdVpIeGpiRzl6Wlh4dmNHRmphWFI1ZkdKaFkydG5jbTkxYm1SRGIyeHZjbnh1WlhoMGZIQmhaMlZZVDJabWMyVjBmR1p1Zkc5bVpuTmxkRmRwWkhSb2ZITmpjbTlzYkZkcFpIUm9mSEJ5WlhaOGMyTnliMnhzVFdGNFdIeDJhWE5wWW14bGZHWmhaR1ZQZFhSOGRHOU1iM2RsY2tOaGMyVjhjM1I1YkdWOFpuSnZiVU5vWVhKRGIyUmxmRk4wY21sdVozeEVUMDFmVmt0ZlJWTkRRVkJGZkdWMlpXNTBmR3RsZVdSdmQyNThZWEJ3Wlc1a2ZHOW1mR2xqYjN3d01EQjhabUZ6ZEh4bWIzSjhmSE5zYVdSbFJHOTNibng4TVRBd2ZESTFNSHh0YzJsbGZEUXdNSHhpY205M2MyVnlmR0Z1YVcxaGRHVjhiR2xuYUhSQ2IzaDhaRzhuTG5Od2JHbDBLQ2Q4Snlrc01DeDdmU2twXV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbGlnaHRib3gtYmxhbmsuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaEFRQUJBSUQvQU1EQXdBQUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1kZS1jbG9zZS5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoUWdBV0FPWUFBRmxaV1ZCUVVHMXRiVlJVVkpxYW1sWldWdDNkM1ZKU1VsRlJVV0ppWXZUMDlGaFlXT25wNlZWVlZieTh2Rk5UVS8zOS9lcnE2bnQ3ZTh6TXpLS2lvbmw1ZVkrUGoyWm1aa3hNVEdCZ1lQZjM5MDlQVC9iMjl2cjYrbnA2ZW14c2JQRHc4T3ZyNjgzTnpkN2Uza3RMUyt6czdNZkh4K0RnNEY5ZlgvdjcrN1cxdFpTVWxLR2hvZno4L0hoNGVGcGFXdWZuNStYbDVYWjJkcGlZbU5YVjFhV2xwWTZPanBLU2ttTmpZOHJLeW1Sa1pPL3Y3OXZiMjJWbFpiUzB0TE96czRlSGgzTnpjOS9mMzZtcHFkemMzUEh4OFc1dWJwYVdsbkJ3Y0oyZG5ibTV1WWFHaG1kbloybHBhWmVYbDRpSWlFMU5UVTVPVG54OGZPUGo0Mjl2YjdHeHNZU0VoTkxTMGxkWFYvNysvdi8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQUFBQUFBQUxBQUFBQUJDQUJZQUFBZi9nRnFDZzRTRmhvZUlpWXFMakkyT2o1Q1JrbzB0azVhWFdabGFLVE0wV3BtZ1dWb1RTUjJYcDRXZ0drNFlPZ2FmbWxvaUtCaEhIS2k0bWo4a0FBODlQTENqR1FNQUdFT0hWbGpLeTFkYVZWaXZnbGRZMHN0WUNRUUsxZFpZVm9PYUVSNGJBQUZNUW9JVEtBOEFVVXNneUFSWDh2TGF6OTdWMWZNT0FoWDU4MWZSWUltS0lDRUFnQUVmVG9nWUJnQUtFQTJJckZRNVZLVkNnb2xhcHVFYnhDQ0JnNHpVRUlYU1VrTEN1QVlDaGkwSThPU1dLRU1TS1VwTW9FMGp5RUlFQ053VU9US0VsQU1BQ21BQmNNQUd4RmlGckFpd3d0UktEVUZWdkZteHNOUG1vS2dnbXpJTkdFb1RDQmtOQUN3WVFNRVVLR1FTcTZqOTZNeWJBU3p5MDBKYWhlcHRtdHE3REw1MTFiS0RTdGlESzBTZGhZbXhFRlpuQWt6SURUbklnczY1cVVhZUNFS3NRUUdpTENBRUl5eFRrSUtsaXdsMU5MSHowTWdSSHhEMGFuS2h3SUlERkRTL1RCcnZYOTdESUJmclcrcnZuMTVSSXk2b0R1QmlTbzRDcmhGa2pzZ055MFRjV2l3c1hpWWcyelp1ZXJVWXVIRGdSUUFKRVFRcFFiNEFBWVZLdUU2SklvTERJUEVRbndTcFFLQ01oSS8wNnJVVVdYRmdnNGZ3STZud1FBQklCSVNmSkpxa2NFTUZKUWdVU3hWR3hIQWdKcHAwNEZKWG1VQUFRM3dUSWpnWWhoL08xdUVqSUpZWVNpQUFPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbGlnaHRib3gtZGUtbmV4dC5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoUHdBZ0FNUWFBTlhWMWF1cnEydHJhOS9mMzJGaFlmVDA5TURBd0haMmRvR0JnYlcxdGREUTBNTEN3cGFXbHVycTZxQ2dvSXVMaThyS3l2cjYrczNOemI2K3Z0Ylcxdm41K2NIQndjL1B6MWRYVi8vLy8vLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQUVBQUJvQUxBQUFBQUEvQUNBQUFBWC9vS1psWkdtZWFLcXVMRHEyY0N6UGRHM2ZlSzd2Zk8vL3dLQndTQ3dhanlUQTRGUUFGRXdBUU9QVWlFYW5Sb0hnRk1Bc013WUNabnd3bExyak5PSTVkSGhOZ2dQSmdCRUVBSVlENGR0TlJDRVBHQTVFRFlJbEF4aG1HUVFDYkJrTkJBUWtYUUJ3Q0VVSWtpUU1HRThBR0FsY0dKV1VoeGdNUlhRUUpBU29HUW1qSnhBWUFSbGRCd2k1ZFY5RXJXQ3h2NVZRdExZWXVBSVlsMGNNQkFVUFd5U0ZpaVd3cE1DYzAwU0lzS0VsV280RkFwcWxHZUZ2UmdmSWpoa0RrUTRBRHBGOHdCbWZja2F3RHlnREIya0h2T1EyZ1VLeW9zazZnZ2lCUkxpZ29LSERoaEo0SlZ4UndjS0NpeGd2VHFBd3NhUEhqeUJEaWh5cDRnVkpHQ0pPQThJSUFRQTddXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1kZS1wcmV2LmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhQd0FnQU1RYkFJR0JnZlQwOUt1cnEvMzkvV0ZoWWQvZjM5emMzTHE2dW5aMmRtdHJhNWFXbHNEQXdLQ2dvTXJLeXJXMXRZdUxpK3JxNnJhMnR2djcrOHpNek5yYTJ2NysvcnU3dStYbDVkWFYxVmRYVi8vLy8vLy8vd0FBQUFBQUFBQUFBQUFBQUNINUJBRUFBQnNBTEFBQUFBQS9BQ0FBQUFYdW9DYU9aR21lYUtxYTI3YStjUHk2Y20zZmVLN3ZmTy8vd0tCd1NDd2FqOElBWnNuRUJEU0ZBa241MURReFNCRW13KzFtc0FBQWFZdlZlTG1FY2xISmRHUUl6L0Q0Szhvb21BSkNKaXNLSUFoU0duSWpaSFVDSkF4MFdRQVpDeU9EV29vWmh5TVBHVlZIaVF3a2tGYVNDV0VBZXBSSEN4bGluS2lSWlJtZ2pCbUJSd1VFQ1pnaW9uT3NsQVVaQ0xaREFRbUFKZ3FYSTI2Nkl3SVptMGFXZDAxUERiME5EUW9FQ0NPVEpBaUtBbzVCcjJkbEMzcGN2dHFrVUsxMXFud2lFRTd2ODBVWEZBYjQrZmdEOUM4VEVRY0NDanhnUVVLL0ZSVUdLRnk0OEtERGh4QWpTcHpJaHdaRkZTMUNBQUE3XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbGlnaHRib3gtZW4tY2xvc2UuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaFFnQVdBTlVBQVAvLy8vMzkvZnI2K3ZqNCtQWDE5ZkR3OE92cjYrbnA2ZWJtNXVUazVOL2YzOXpjM05yYTJ0ZlgxOVhWMWRMUzBzdkx5OGpJeUw2K3ZyZTN0N1MwdExLeXNxK3ZyNmlvcUtPam81NmVucHVibTVhV2xwR1JrWStQajR5TWpJZUhoNEtDZ29DQWdIMTlmWFoyZG5OemMzRnhjVzV1Ym1scGFXZG5aMlJrWkdKaVlsOWZYMTFkWFZwYVdsVlZWVk5UVTFCUVVFNU9Ua3RMUzBsSlNVWkdSZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQUFIQVA4QUxBQUFBQUJDQUJZQUFBYi9RSUJ3U0N3YWo4aWtjc2xzT3AvUXFMUVptRnF2UkFIbmdZeHNCRWFDdzNFWUhod0U1SUZ5a1pTTFo3UlFQSzRQQnh6YWltR0V0R2djYVhNWkw0VXZIMElYTHc1SEVvYUZGME1FSW84UkFBNlBoVU1XTkM4eEt3MUVFUzB4THpRWVE1UWZZMnlKaTBZUmgyVUtsQlJDSEM4WERoRVpaWmdjZFl4Q0JpUXpMeklxQzBLanBUTWhCVUlVTHhsSGlzSkVLQ2lDQUFRb0xFSXZKRWFZa1VjR0l6S2VLQXQrcFRRZ0EwUGUyMFRXUlFyVFJZU01MeWpqdVVuT0dZT0JndFF4RU5zT0hFSmlqNGcwUzZJQTRncEVCSk9JQ3hqZkVEbVhEZ2FNWXgvaURTSEg4RlU5a3lNQlRuckJndUtsVE5lSUZDangwWk1HTUJVQlZrUHBLdWJMMlhLWEtMRlE4SE5KZ1JNMVkzUXdnbzlEU1orT2JCRnhKS0dJSXhGRmt5d3dVY3JqTVExVmlMRHd0OU9uUWtSRWNHa2NRdUpGMWlNTFVLU0xrV0xGUnhsZ1R3SzkxTk1JSmFKQzhHRTE0dTF0a1FVcjBza2drU0NDVjd4aHViVUY1Z0NYSlVVY01HSmtwSUFGQ3drT0tIZ0duQ0hEbUEvNUxHb0d5aUN4Q3hrakRBaVo4RGp2SEVxRldGQURvQ2hUT1Fjb0RLRUFEQUMxb2QyWU1nbGh3RUl4Q2RsREtzandTS01DbkRGUUZKQXhFcWRKZ1E0eVpqdzNVaUdHakJOOHNLalA0bUg4RVFzbkVLeWZQMFFBdlNJQjVOUGZ6NysvK2lBQU93PT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1lbi1uZXh0LmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhQd0FnQU9ZQUFQLy8vLzM5L2Z2NysvbjUrZmYzOS9YMTlmUHo4L0h4OGUvdjcrM3Q3ZXZyNitucDZlZm41K2JtNXVUazVPTGk0dURnNE43ZTN0emMzTmpZMk5iVzF0TFMwdERRME03T3pzckt5c2pJeU1iR3hzTEN3c0RBd0x5OHZMcTZ1cmEydHJTMHRMT3pzN0d4c2ErdnI2MnRyYXVycTZtcHFhZW5wNldscGFPam81MmRuWnVibTVtWm1aR1JrWStQajQyTmpZdUxpNGVIaDRXRmhZT0RnNEdCZ1lDQWdINStmbnA2ZW5oNGVIWjJkblIwZEhCd2NHNXVibXhzYkdwcWFtaG9hR1ptWm1Sa1pHSmlZbUJnWUY1ZVhseGNYRnBhV2xoWVdGWldWbFJVVkZKU1VsQlFVRTVPVGsxTlRVdExTMGxKU1VkSFIwVkZSVU5EUS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNINUJBRUhBRk1BTEFBQUFBQS9BQ0FBQUFmL2dGTlRBSVNGaG9lSWlZcUxqSWlEalpDUmtwT1VsWmFYbUptYW01eWRucCtnb2FLanBLV21wNmlnQVJvbUY0VUNIQ0lBQmlBbEpyY25EeFFvcm9RS0pSc09LU1lsSXlVbklBU2VBUzVQUXhHRUF6WkZBQXhDU1VGQ1FrVVhERDFHRUFETVRSZ1dTRUpHU2tORE9BZkxMVWxNTXNvRE5VUUFDMFV6Q1F6OXloaE5ZQVRJd0dSRmdBRU5GcWg0VW1IQmdnRExYUHg0d1FRRUFBRTA3aTB3OGlJUkN5VWhkdkJBWUtnRWxBV2htUGxvZ09PSUF3QVo4UTNoVVFKRkNoSUZDQkc0c2NSSWhVTW1vRFJJS1pIQWhDVHpZaTRJWWtTSHlCcnV4TTE0VWlTY29hQkRWVWs4RUNCRmt4SXhodUFySWdOQkFnVUtJQUlRb2VTRWtCdFJpUWxoSmZxRFpJRWVSWUlBd1dla0JhSUlSMm9BK1BEa3hGV2hkRWtDTUxma0J6NGlPVHBJOXZCZ0FBMGtFZ0FNdUpGa1FxRzVxbHJzaUp0Q1NROThRSnBBV1MzbGhBZ25oZ2xST0RKYWJwU3NvQWdRVUN0T3Q3Z0RDTXdtU0ZEZ1FGcERCeFlJSUZSQXdmSlUwQ2tGRUJDZ3VuWHIwVFh4enM2OXUvZnY0TU9MZHpSZWtxRHlrQUlCQURzPV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2xpZ2h0Ym94LWVuLXByZXYuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaFB3QWdBT1lBQVAvLy8vMzkvZnY3Ky9uNStmajQrUGIyOXZUMDlQTHk4dkR3OE83dTd1cnE2dW5wNmVmbjUrWGw1ZVBqNCtIaDRkL2YzOTNkM2R2YjI5cmEydGpZMk5iVzF0VFUxTkRRME03T3pzek16TXZMeThuSnljZkh4OFhGeGNQRHc4SEJ3YisvdjcyOXZieTh2THE2dXJpNHVMYTJ0ckt5c3E2dXJxMnRyYXVycTZtcHFhZW5wNk9qbzZHaG9aK2ZuNTZlbnB5Y25KcWFtcGlZbUpTVWxKQ1FrSStQajQyTmpZV0ZoWU9EZzRHQmdZQ0FnSHg4ZkhwNmVuaDRlSFoyZG5SMGRISnljbkZ4Y1c5dmIyMXRiV3RyYTJscGFXVmxaV05qWTJKaVltQmdZRjVlWGx4Y1hGcGFXbGhZV0ZaV1ZsUlVWRk5UVTFGUlVVOVBUMDFOVFV0TFMwbEpTVWRIUjBKQ1FrQkFRUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0g1QkFFSEFGa0FMQUFBQUFBL0FDQUFBQWYvZ0FDQ2c0U0Zob2VJaVlxR1dWbUxqNUNSajQ2U2xaYVhtSm1hbTV5ZG5wK2dvYUtqcEtXbXA2aXBtd01ZSUNBZkZRU0NFNjRoR1F1Q0J4NGZ2THdNR2h3Qmd3TWJHNklGT1ZGSnl6c1FBQzFRU2twSVJpa0FFVXRPUzB4TVNoYzFVUktERTBvMnh6cENCUWNsVkRZQ0xVc1NBeEZCVFJRT1VqUVFGUHdCSDFNdUJxbW9ndUVjRUFFQUFqRHhZWUNGa2dhQ1ZrVDV3R0RLaWtJSWlBd3BBS0NBanlEQ1FoWFFFUVJCZ1JKV2JBUmdzVVRFaEJCSGtrQnc4QVJIaUJFa1BDQ004VVFEQUF0VlJJd3FnQ09La2lWSmVrd0F3QUtLa1NWUGdIUUFJR0dKa2lKR2p1QVlBR0RDRkJrQVpDUmhNRFNIRVE4ZEtNaDZ0a1FEQ2lvam5RUkppRExEQVlRSURrTHVFQUxoeUF5RTUzNFljcEZFZ1FBZlNBNVFuV0xORUljcE41SVVIS29EQ0ZkQ0xwUTRBQ0NDeW90clVXaFVHRzBoZ2FBRVE2cndDSG1NQjVITGcyQThjV2FnUjVVTkQ1NVl1Y0liaXdsQkFXQmNPVkVxd0lJR3JBVXBrTEJXUVlVRkF5Uk1tRDRkd2FBREZEaXEybjZKd0lBQkFzSUwrRTRnT2ZkRUFnS29YNy8rdlB2MzhPUExuMCsvL2lWSzloVTFDZ1FBT3c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2xpZ2h0Ym94LWljby1sb2FkaW5nLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhJQUFnQU9ZQUFQLy8vLzM5L2ZyNit2ajQrUFgxOWZQejgvRHc4Tzd1N3V2cjYrbnA2ZWJtNXVUazVPSGg0ZC9mMzl6YzNOcmEydGZYMTlYVjFkTFMwczNOemN2THk4akl5TWJHeHNQRHc4SEJ3YjYrdnJ5OHZMbTV1YmUzdDdTMHRMS3lzcSt2cjYydHJhcXFxcWlvcUtXbHBaNmVucGFXbHBTVWxKR1JrWStQajR5TWpJcUtpb2VIaDRXRmhZS0Nnb0NBZ0gxOWZYdDdlM2g0ZUhaMmRuTnpjM0Z4Y1d4c2JHbHBhV0ppWWw5ZlgxcGFXbGhZV0ZWVlZVNU9Ua3RMUzBSRVJFRkJRVDgvUHp3OFBEYzNOekl5TWpBd01DMHRMU3NyS3lnb0tDWW1KaU1qSXlFaElSNGVIaHdjSEJrWkdSY1hGeElTRWc4UER3ME5EUW9LQ2dnSUNBVUZCZjRCQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUZDZ0JWQUN3QUFBQUFJQUFnQUFBSC80QUFnb09FaFlhSGlJbUtpNHlOalFHR0JBZ0Nqb1lJRWhjUkNJTUNHeXdTbFlRUEt6eEFQQ3NRa0FRblB4dWhnZ2d3U2xTMFNUQUlBUUVRSEp1RUNBMEVpWjFCdE1WQ0c1QUF1YjR1T1IvQmh3UWtSOFcxSk5DR0VrSlFOUWVJQkNORjFWUkhJWlNIQ00zUGlBRVNQRkhWUEJUSjZBL1lod2NpUGsxUFRENGpCVjRWQ2xEZ0FZZ1ZNbEpvOENad0VBRUxLbVNvMk1EZ3dEbEh5emh0Nk5FRWlyOEtyeUNRSU1GZ0VJTWE0MmJjVzRUZ3haSWtLUmhLOERIT1I2OUdESExRcXRFckFvOXhQRzR5S2xBQ2lBOFJBUUVjV0xHa0dKTVRGeHNkb0VDQm9USUlOWVFrRVNLalpNT0JERGFFMkFEQjR0ZG9GVWljNEVVdlVVWjJGcFYySUZrU3hJUlFRd0Vva0xpUUZKME1KOFYrWUhDN0FRZ1RJZGNRTmRnaHBkZ1JFY2tJRk1CMlFBWVVXalljSUVKUTR6S3RJQm9BQ0ppQTRrV0lYZ1ZXT0prQ3hjYmRRUUUyTm1sQ2hBVURYVG1jUUNGQ3dsdTdIRUJ5ZEloYWlJQW5HQ1FhQkFDSHBGaU9CNElDUE1nUVlhVWhBUWdRUUFPWGhCYVU1NFRhaHBLUWV6ZUp2bWRGWDJBeGcyVDZRZ0lPYUhjVUNBQWgrUVFGQ2dCVkFDd0FBQUFBSHdBZ0FBQUgvNEJWZ29PRWhBZ09EZ2lGaTR5TUJCWXZPenN1RlFTTmw0c1hPVTFVVkUwNUZwaWlWUWd1UzUyZFN5K0tvNFVTQ0FJUU9WT29uVGtRcllRN1BERVpGRG0xVkZDM3VReUVUVHNmTDZlb1RLdURDQUc1VlVzcVZUdE9uVTg2R0lRdkRBQ05JNHN5Q0JNdFBEd3NFcGFrTmpZUTRZd2VRb1JLSjVZRUNBanRnckVRQXVRdFlqQ0RVeFVuUEN3SVpBU2c0U1VDRlY3dzZGRmpRNEdGMDZvVWlJQ0JBZ1FKcndoZ25GYmdRdzRmTzBqQUdwa1JRdzhvbllTRWtEYnRVUlVKQVFtWVlGWUZpZ3lSMHhya09GSURBUUFDSjNqNkJKcnJnUTBrTXNCVnlkQ3pTaFFoSUFLd3ZIU0JCRTU1SDNDZ1ZMbjFFZ0N0QWpkaWtIREFZY1pHQUpFRUJCQlFvTjliUmdjMm9MaHB0NUcrdm9VKytCQmtZd0xOUmdoSXlCQ0JxY2FnSkNVQUUvSkFCQXFRREZ0dERGcUNvZ0NoZ0lNQ2lFaFNaVWdIbGdWT0ZEbm9Zd1BvQ0NOR1JBQU5vTUdNSGk2a01rSnc0dDJIdG9TVEtMSGhRQjRBQksvS0JpakFZR1dWQUJ5SUNDTEM0WEJEdDJiZEFzQVFSRkFRRE5idkN1STk4WVJSOFl2TVRUaVBmdEgxVm9FQUFDSDVCQVVLQUZVQUxBQUFBQUFlQUI4QUFBZi9nRldDZzRTRUFBQUJBSVdMakl1SUNCTVhFQVNLalphRUFSQXVQa0E1SWdpWG9RQU1MMHFDVUQ4Z0JJSUVCYXVXQkF4VnNnSWFQNFJOTUF3RkZDUW5JUkNOQlI4MU9qVWNDQ0JEaFRaVklUcEZTVUkxRlFPRnRUNVFVRlU4R3hrOWl5TTlVRlRsVERVT2hRY3JUWVFuRUN0Smd6MGZLa25sK0Q0YmhnZ3ZUb05OVkZSQlFDSkhGUmdYRUxob2dxK2NFQkNGQ0lSWUppaklod0JWTUE0aVVPSWV2aWcvTkJRQ2dHQ0ZEeUk5VHNoaWRHSEhFM3hKWURRWVNRQkJCaEFZRUdoY05Dd0hrU05DWmxCNFZlVlFxMFFCRWwwaUVPSERDQTRyQlFFb0lHSEVpQWdDUWhFaVFIU1FnQXc2amlESllVSHJ5QUFFckFGWTE2NUtreFptbUEwOUtQR2hLQUlaMndUVmlEc0lRTXVOSklia0pjRlhLb0lOUSsyZU1EaXJjS01BQ0I0NDVudG9jcU5EQlE0b0ZWWDVzUVFVTGpSMFpVUlN3b0tkaGhyWWFPSkVYeWdDSjRETWlHcklncEJCSlVJaHFPR2t4d1RTRUhRNGdXS3hieXhRWGovWUtJRjhFWUc2T1Vpc25DckN4Z3NKV3hFVTBBcmhRRjhJNEpLYzJHNjVid1FlVU1TVEwxLzB3QWpyMk5uM0xTQnI5S0pBQUNINUJBVUtBRlVBTEFBQUFRQWdBQjRBQUFmL2dGV0NnNFNGVlIwWkRJYUxqSVVFSXpwQ1B5NFNqWmFGQVJROFVGVlVSaW9JZ2dDamwxVUFCQVlFb3dRZ1JvTlFOaEFDQ0JNV0VLcU5BQXdnS2lPeUJCOUZoaElyUEQ0MklBZ0FqQWdyUWsxRUx3MEJEemRPVlZCQ0pCVXhTWUpRUFIwRWl3QVRQb05BRzZjWk5UNDhKQThjUUlSTkw2R0dBQlh6Z2tJZW93RUlHakFnSUFBRUVVS3dIcEJEVUNNSmxDUTJLb2tpQlNDREQwNkNrckM0WnloQWhSVTVYR1FZdDRoQmk0TlZuT3pZUUJJZlFBZ0lXaG9TQU9GRURoNDFmTVhFdDZ5VXFBSVFMbnc0NFVMRkIwV2lEQWlVV1NxQWhScEVtQ1Q1Z2VJZWd4TTZjb0E0NEZNUUFobE1xSWlsSW1SRUZRRWRncVRrSWFGbktRbEFzTWFLZFZLakNnRVNSL2hwY0h0SkFoRzVWS0RncUJMZ3dvNGxTV3BBNkZvRlFvOG9jdXNONHJEaUJBV21sZ2ljSUNKbExnOE1nd2dnT0JDQXNhQUhLWHdRRVdMakExZlR6SVIya0ZDQUVVWFlsZ0FnaUtDZzlDVUFBbnpuYXVEQ1J3Mkp1U0NnWUdrcHdJY2hWWXlRK0wzQng0clhqQUpvNk5Ga0VZTGFoSFpSRUpBYkFRZ1pJemdLK0VpQ282bmdwVTd0SEhSZ1JaSWVGNFRqZGtRQ1NFUysrdzJpeXdZVmdCY2dQc0VCeUVnZ0FDSDVCQVVLQUZVQUxBQUFBQUFnQUI4QUFBZi9nRldDZzRTRmhvZUlpWU1VRUFTS2o0WWNOajAxSEFXUW1CRTVUbFZPTmhNQm1JZWhWUUVhUW9NL0hBSlZCQTBUbUJBakpCU09BUlU5VUZWUVBCY0NCeHMxUEpBTk1VUklOaGFoQ0NZL1JqNGtDQVFZT2syZFBvb1lnMFFramdBSUd5UVpDQUFGSmtpRFNpeUt1VlZDSWQ1VkFBRUE5UWNuU1lOTUx3eUpKRHM5VmpRZ1pZZ0FCeCs2b0FRWmNRa1JBZ29YR05CRDlJMEVEeUU5VWd4VUZJQWVBRVVDRUZUd3dFRUNnd0lFUlIyYUIwNFFDUW1PQnMyYnFKSUFpQjM1aXRTUVFJb0FCUklleUtsc2tFT1hvQ1FxRUFpQ1VNUEl3cGlZTEJBaEJDVkhnMUlXc0RGWm9WUVVCVlNEb05od0lPakJDeUE4T2tDRnhNQ0dOVUZHcUZBMEZOQkFRNFVESDFWdXdESGtTSkFYRVFnR0VKQVMwZ0VJRmtDVU1BRUNnb0M4S2djUmtIREN4bzRhSkNDZ2hCeDVhWXdpVktnNDhUR2lLNklHRlJRUklDRmtTbWpSTmlSQVFtRzYwSUVXVFY2SER1SWhrUVFkUzJvMDREd0lnWXZjdW9GMFNJUmd4QXhMbkZHMklqRkVkNU1jc0NnU2tFYjg1VWNJTDRnOGdkS2tSMmxGOVRpdjN2R0JWSVRLT1dxRXFLMnlRbWJJQ0NCRU9ObDVrQUFDTlBVbm9DR0JBQUFoK1FRRkNnQlZBQ3dDQUFFQUhnQWZBQUFILzRCVmdvT0VnZ0FCQkFNQWhZeU5qQUFGRlNNZERBS09sNHdCRnpsRVB5Y01tSTBBaTRNRUpVbFZVRG9VaG9jQnBLSUJBcU9DQkNSSWdqa1NWWWNNRlJRSUFhSUhGeDhRbGxVQ0V6UkJQSVlCRWpNK1BTd1F3b1VDR3pwQkx3K2tCQkFkRm9ZSUtMaFZRaU1GakFVclMxVStHdGVQRERWUWhBaU1CQ0E5UkRXN2pnQWdXSUdxeWhBUytScDlJSEdCQUNZQ0ZteFVBUklEWUNNQzYwSlZJV0NSQUN5Tm1BS0lKRUJnRnNoTG84QjlDRkhoQUs4QUJSQTRQTWxMUU1RaFJIaVFxQklBd1FnV0dXanlZdkRpM1NBTEJERHNRQUlEMUVrQUVuYmNxMEtGU0Fpb05hcVVTQWdTQUFRYlU2Y0U0YkF4UWhXblQzMythT0trQ0l3R1FyQUpIU0x3Z0lRTkd5a216QlFLUUFBRERTSkFYS2dpZ1d2Y0FCQlUrQ0FTWkViRGdLOVFJaUFoWk5DUkYzQWZJZUFnWWErQkNMOFlESWhnd3dtaEhoZ2FDY0RBUTBVQ1FReE04QmdTcE1hR0RGSUxCYzBFQWNXZ3lVS29DRitTWThRTUpZUWtPcHBYeFlKVTRjS1JxQUNCSTBtVHVCeUFRQmZ1SkVZVkRDbHF2T2hBTTBPUEtkdWJzSkNKb0lGaGpSQm1NSUV1SlFpSXZYRUpaTWlSQklxVElDdGtGbGNwRmFoZ3d3d2pDSGhKSUFBaCtRUUZDZ0JWQUN3Q0FBRUFIZ0FmQUFBSC80QlZnb09FaEFDSGhZbUtpZ0lJRFFnQmk1S0xFU28xSkFnQWs1dURKRUpOT3hhUm5KeEZVRDRYbzFVRkRBd0VrZ0FGQ3ErRUx6a2xtWUlJSkRZMUg1Q0tCeDh0SEFXRURCRUlBb0lCRnp4T1REa1V5NFVBRWpsSk5SQ1RCQ0pIZ2tBY3RJWU1LejBvREpQTlBFeEpOaE9xaEFJUUc5dVRBTUl5TDhXU0FkU2JBQWkwSXFDSmxNRXFpQTdlRThqZ2dDb0FBUW9xUkREQ2hnMFREeUlSZ0dBaDEwRUNIMzQ0cVNLa3hBRUFERkxZeUJDUEV3SVZUQVJCc2VHZ0NvSVFLU1MwM0hUQXhMY3FUR1lnUUZnQXdUaURBU3JZSUZKa0J3aGpDcXNSc0dEaUJBZVBnaGhvRVBGQndvRjdBQVFJSUlEQWFDRUlLM3dNRVdMancxZEZBTDhRVE5qUU1XSWhCQ2lJUUtGQ3BVbU9DM0FSaU1nQmhNZUpCaTB2N09ETCtNZ0pTQVlXR0EyNG9jZElLRUl3RVNMUUFZZ1V4bjFqUUxpd0lzY2xDQWhLL0t6U1pFYURRaGg0Z0thaXhFVUhiRkNnREZsQmdRUVJRakJlRTNyd0lza1V2cWRJcUVCQ3lBZUlEVUNoT1BtaGlBQUdHME9XSE9sUkFvT01Kb1NLa0dEUXdjYU9IT01WRmVqTjRrU0hWaXlVRUJJQzRwV0VDeEtHU2lwcWxnQUhIM3RWb1lRTkVrZ1VWVndrNkNBRUVEVmdjRlJVUkZId3dRWU5QS2hJSUFBaCtRUUZDZ0JWQUN3QUFBSUFJQUFlQUFBSC80QlZnb09FaFFFREFZV0tpNHlDQkJJYURZbU5sSW9BRUM4N0pRaVZuWU1BRkR0SE1BeUZCd1FBblllVGdnZ2tMeHdGaENBcklBaXBqUUlOR2d5c1ZRZ01zb1ZKUEJ1b2pRY2tPaURDalI5RFZVSWp4NHdFR1NrVUJKVVJOVDB5RXI2TEJRamFsWThhRXRTTDVaNkRBZ0c0aFFVUUdoNFhwZTJVQkJneFBUODdLUjdrRXhTZ1FJRjNnaWpZVUVLRkNwUWlKemkxZTBUaWhBWk9yb2cwM05pRFFydExNWW9rMFdHTUFRd21HeHNPMmRBdUFBWWZnb3lZT0lCZ1JaS1VWSUprYUNraFJ4TW9RYVlSK05BRHlrWW5OUVMyUXlEQ3hnNFZFQkkxUUFGa2lSTWtQRG8wNndRQUFZVUxEZGcxQ0xFaXhnb1NHaUlnRVBBeEFMeENCTWc0aFlDaHc4WUpDV3daQ1VEUVlHMGpBaFZzSklIaVpFaUxCdFVvcEtpaEloc2pCQ2R1RHZyUlFSdUF5NmtDUUlneE9FbU5DT0dxZEgzUmhGQVJFZ2dRUUpEZ0FKVUFEVEFGK2VEQWpoQUNGWklGQ1JFQllZUlRHQmtLN0N0YUJZb1BEYlVIRWRqQW8zUVZ6eGxFK0hEeTNFWUZBZzFXQ0VraXhNV0QwS0lSZ0xEUmc0ZU1EUklLRFNGeEtnSUpGeVRTTlFxQVFNS0dEQkJVejNCZWhVaUpBNmtBNDFjbEFoU1lTRVpURk5jRGJRT3RFNEVMUDFUQkF3a014Tk5nSVExOE1NSXY0QlVTQ0FBN11dPjwvZGF0YT4KCTwvZmlsZT4KPC90b29sYm94dHBsPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-socialshareprivacy-socialshareprivacy.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5zb2NpYWxzaGFyZXByaXZhY3k8L25hbWU+Cgk8dmVyc2lvbj4xLjQ8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4yLjU8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PjwvYWJvdXQ+Cgk8c2VjdGlvbj5zb2NpYWxzaGFyZXByaXZhY3k8L3NlY3Rpb24+Cgk8anF1ZXJ5PjE8L2pxdWVyeT4KCTxqcXVlcnlfb3duPjA8L2pxdWVyeV9vd24+Cgk8b3B0aW9ucz5ZVG95T250ek9qZzZJbWx1Wm05c2FXNXJJanR6T2pjME9pSm9kSFJ3T2k4dmQzZDNMbWhsYVhObExtUmxMMk4wTDJGeWRHbHJaV3d2TWkxTGJHbGphM010Wm5WbGNpMXRaV2h5TFVSaGRHVnVjMk5vZFhSNkxURXpNek00TnprdWFIUnRiQ0k3Y3pvNE9pSmhaSFpoYm1ObFpDSTdjem93T2lJaU8zMD08L29wdGlvbnM+Cgk8dHBsY29kZT5QR1JwZGlCcFpEMGljMjlqYVdGc2MyaGhjbVZ3Y21sMllXTjVJajQ4TDJScGRqND08L3RwbGNvZGU+Cgk8dHBsY3NzPkxuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2V3MEtJQ0JqYkdWaGNqb2dZbTkwYURzTkNpQWdiV0Z5WjJsdU9pQXlNSEI0SURBZ0lXbHRjRzl5ZEdGdWREc05DaUFnYkdsemRDMXpkSGxzWlMxMGVYQmxPaUJ1YjI1bE93MEtJQ0J3WVdSa2FXNW5PaUF3SUNGcGJYQnZjblJoYm5RN0RRb2dJR2hsYVdkb2REb2dNalZ3ZURzTkNpQWdaR2x6Y0d4aGVUb2dZbXh2WTJzN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNCN0RRb2dJRzFoY21kcGJqb2dNQ0FoYVcxd2IzSjBZVzUwT3cwS0lDQndZV1JrYVc1bk9pQXdJQ0ZwYlhCdmNuUmhiblE3RFFvZ0lHaGxhV2RvZERvZ01qQndlRHNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUXA5RFFvdWMyOWphV0ZzWDNOb1lYSmxYM0J5YVhaaFkzbGZZWEpsWVNCc2FTQXVaSFZ0YlhsZlluUnVJSHNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUW9nSUcxaGNtZHBiaTFzWldaME9pQXhNSEI0T3cwS0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0F1Wm1GalpXSnZiMnNnZXcwS0lDQjNhV1IwYURvZ01UZ3djSGc3RFFvZ0lHUnBjM0JzWVhrNklHbHViR2x1WlMxaWJHOWphenNOQ24wTkNpNXpiMk5wWVd4ZmMyaGhjbVZmY0hKcGRtRmplVjloY21WaElDNW1ZV05sWW05dmF5QXVabUpmYkdsclpTQnBabkpoYldVZ2V3MEtJQ0IzYVdSMGFEb2dNVFExY0hnN0RRb2dJR2hsYVdkb2REb2dNakZ3ZURzTkNuME5DaTV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJQzUwZDJsMGRHVnlJSHNOQ2lBZ2QybGtkR2c2SURFME9IQjRPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa2daR2wyTG5SM1pXVjBJSHNOQ2lBZ2QybGtkR2c2SURFeE5YQjRPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ0xtZHdiSFZ6SUhzTkNpQWdkMmxrZEdnNklERXlNM0I0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2tnWkdsMkxtZHdiSFZ6YjI1bElIc05DaUFnZDJsa2RHZzZJRGt3Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNBdWMzZHBkR05vSUhzTkNpQWdaR2x6Y0d4aGVUb2dhVzVzYVc1bExXSnNiMk5yT3cwS0lDQjBaWGgwTFdsdVpHVnVkRG9nTFRrNU9UbGxiVHNOQ2lBZ1ltRmphMmR5YjNWdVpEb2dkSEpoYm5Od1lYSmxiblFnZFhKc0tGdGJjbTl2ZEY5MWNteGRYUzl0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZhVzFoWjJWekwzTnZZMmxoYkhOb1lYSmxjSEpwZG1GamVTOXZibDl2Wm1ZdWNHNW5LU0J1YnkxeVpYQmxZWFFnTUNBd0lITmpjbTlzYkRzTkNpQWdkMmxrZEdnNklESXpjSGc3RFFvZ0lHaGxhV2RvZERvZ01USndlRHNOQ2lBZ2IzWmxjbVpzYjNjNklHaHBaR1JsYmpzTkNpQWdabXh2WVhRNklHeGxablE3RFFvZ0lHMWhjbWRwYmpvZ05IQjRJREFnTURzTkNpQWdZM1Z5YzI5eU9pQndiMmx1ZEdWeU93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrZ0xuTjNhWFJqYUM1dmJpQjdEUW9nSUdKaFkydG5jbTkxYm1RdGNHOXphWFJwYjI0NklEQWdMVEV5Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVM1b1pXeHdYMmx1Wm04Z2V3MEtJQ0J3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzVvWld4d1gybHVabThnTG1sdVptOHNJQzV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJR3hwSUM1b1pXeHdYMmx1Wm04dWFXTnZiaUF1YVc1bWJ5QjdEUW9nSUdScGMzQnNZWGs2SUc1dmJtVTdEUW9nSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdZbTkwZEc5dE9pQTBNSEI0T3cwS0lDQnNaV1owT2lBd093MEtJQ0IzYVdSMGFEb2dNamt3Y0hnN0RRb2dJSEJoWkdScGJtYzZJREV3Y0hnZ01UVndlRHNOQ2lBZ1ptOXVkQzF6YVhwbE9pQXhNbkI0T3cwS0lDQnNhVzVsTFdobGFXZG9kRG9nTVRad2VEc05DaUFnWm05dWRDMTNaV2xuYUhRNklHSnZiR1E3RFFvZ0lHSnZjbVJsY2pvZ01YQjRJSE52Ykdsa0lDTmpZMk03RFFvZ0lDMXRiM290WW05eVpHVnlMWEpoWkdsMWN6b2dOSEI0T3cwS0lDQXRkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURSd2VEc05DaUFnWW05eVpHVnlMWEpoWkdsMWN6b2dOSEI0T3cwS0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklEQWdNM0I0SURSd2VDQWpPVGs1T3cwS0lDQXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREFnTTNCNElEUndlQ0FqT1RrNU93MEtJQ0JpYjNndGMyaGhaRzkzT2lBd0lETndlQ0EwY0hnZ0l6azVPVHNOQ2lBZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0kyWmtabUpsWXpzTkNpQWdZMjlzYjNJNklDTXdNREE3RFFvZ0lIb3RhVzVrWlhnNklEVXdNRHNOQ24wTkNpNXpiMk5wWVd4ZmMyaGhjbVZmY0hKcGRtRmplVjloY21WaElHeHBMbWR3YkhWekxtaGxiSEJmYVc1bWJ5QXVhVzVtYnlCN0RRb2dJR3hsWm5RNklDMDJNSEI0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2tnTG1obGJIQmZhVzVtYnk1cFkyOXVJQzVwYm1adklIc05DaUFnYkdWbWREb2dMVEkwTTNCNE93MEtJQ0IzYVdSMGFEb2dNelV3Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNBdWFHVnNjRjlwYm1adkxtbGpiMjR1WkdsemNHeGhlU0F1YVc1bWJ5QjdEUW9nSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VhR1ZzY0Y5cGJtWnZMbWx1Wm05ZmIyWm1MbVJwYzNCc1lYa2dMbWx1Wm04Z2V3MEtJQ0JrYVhOd2JHRjVPaUJ1YjI1bE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrZ0xtaGxiSEJmYVc1bWJ5NXBZMjl1SUhzTkNpQWdZbUZqYTJkeWIzVnVaRG9nSTJabVppQjFjbXdvVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5cGJXRm5aWE12YzI5amFXRnNjMmhoY21Wd2NtbDJZV041TDJsdVptOHVjRzVuS1NCdWJ5MXlaWEJsWVhRZ1kyVnVkR1Z5SUdObGJuUmxjaUJ6WTNKdmJHdzdEUW9nSUhkcFpIUm9PaUF5TlhCNE93MEtJQ0JvWldsbmFIUTZJREl3Y0hnN0RRb2dJSEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHNOQ2lBZ1pHbHpjR3hoZVRvZ2FXNXNhVzVsTFdKc2IyTnJPdzBLSUNCMlpYSjBhV05oYkMxaGJHbG5iam9nZEc5d093MEtJQ0JpYjNKa1pYSTZJREp3ZUNCemIyeHBaQ0FqWlRkbE0yVXpPdzBLSUNCaWIzSmtaWEl0Y21sbmFIUXRkMmxrZEdnNklEQTdEUW9nSUMxdGIzb3RZbTl5WkdWeUxYSmhaR2wxY3pvZ05YQjRJREFnTUNBMWNIZzdEUW9nSUMxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0SURBZ01DQTFjSGc3RFFvZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURWd2VDQXdJREFnTlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUF1YzJWMGRHbHVaM05mYVc1bWIxOXRaVzUxTG05dUlDNW9aV3h3WDJsdVptOHVhV052YmlCN0RRb2dJR0p2Y21SbGNpMTBiM0F0ZDJsa2RHZzZJREE3RFFvZ0lHSnZjbVJsY2kxc1pXWjBMWGRwWkhSb09pQXdPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VjMlYwZEdsdVozTmZhVzVtYnlBdWMyVjBkR2x1WjNOZmFXNW1iMTl0Wlc1MUxuQmxjbTFoWDI5d2RHbHZibDl2Wm1ZZ0xtaGxiSEJmYVc1bWJ5NXBZMjl1SUhzTkNpQWdZbTl5WkdWeUxYSnBaMmgwTFhkcFpIUm9PaUF5Y0hnN0RRb2dJQzF0YjNvdFltOXlaR1Z5TFhKaFpHbDFjem9nTlhCNE93MEtJQ0F0ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNklEVndlRHNOQ2lBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nTlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUI3RFFvZ0lIQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DaUFnZEc5d09pQXRNbkI0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2t1YzJWMGRHbHVaM05mYVc1bWJ5QmhJSHNOQ2lBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPdzBLSUNCdFlYSm5hVzQ2SURBZ0lXbHRjRzl5ZEdGdWREc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCN0RRb2dJR0poWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tTTJZMFpqVTdEUW9nSUdKdmNtUmxjam9nTW5CNElITnZiR2xrSUNObE4yVXpaVE03RFFvZ0lDMXRiM290WW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0lDQXRkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURWd2VEc05DaUFnWW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklESndlQ0F5Y0hnZ00zQjRJQ05qTVdNeFl6RTdEUW9nSUMxM1pXSnJhWFF0WW05NExYTm9ZV1J2ZHpvZ01uQjRJREp3ZUNBemNIZ2dJMk14WXpGak1Uc05DaUFnWW05NExYTm9ZV1J2ZHpvZ00zQjRJRE53ZUNBemNIZ2dJMk14WXpGak1Uc05DaUFnYkdWbWREb2dNRHNOQ2lBZ2NHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtJQ0IwYjNBNklEQTdEUW9nSUhkcFpIUm9PaUF4TXpWd2VEc05DaUFnZWkxcGJtUmxlRG9nTVRBd01Ec05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFM1dlptWWdldzBLSUNCaWIzSmtaWEl0ZDJsa2RHZzZJREE3RFFvZ0lDMXRiM290WW05NExYTm9ZV1J2ZHpvZ2JtOXVaVHNOQ2lBZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQnViMjVsT3cwS0lDQmliM2d0YzJoaFpHOTNPaUJ1YjI1bE93MEtJQ0JpWVdOclozSnZkVzVrTFdOdmJHOXlPaUIwY21GdWMzQmhjbVZ1ZERzTkNuME5DaTV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJR3hwTG5ObGRIUnBibWR6WDJsdVptOGdMbk5sZEhScGJtZHpYMmx1Wm05ZmJXVnVkUzV2Wm1ZZ1ptOXliU0I3RFFvZ0lHUnBjM0JzWVhrNklHNXZibVU3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzV6WlhSMGFXNW5jMTlwYm1adklDNXpaWFIwYVc1bmMxOXBibVp2WDIxbGJuVWdMbk5sZEhScGJtZHpJSHNOQ2lBZ2RHVjRkQzFwYm1SbGJuUTZJQzA1T1RrNVpXMDdEUW9nSUdScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c05DaUFnWW1GamEyZHliM1Z1WkRvZ0kyWm1aaUIxY213b1cxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOXBiV0ZuWlhNdmMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUwzTmxkSFJwYm1kekxuQnVaeWtnYm04dGNtVndaV0YwSUdObGJuUmxjaUJqWlc1MFpYSWdjMk55YjJ4c093MEtJQ0IzYVdSMGFEb2dNalZ3ZURzTkNpQWdhR1ZwWjJoME9pQXlNSEI0T3cwS0lDQmliM0prWlhJNklESndlQ0J6YjJ4cFpDQWpaVGRsTTJVek93MEtJQ0F0Ylc5NkxXSnZjbVJsY2kxeVlXUnBkWE02SURBZ05YQjRJRFZ3ZUNBd093MEtJQ0F0ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNklEQWdOWEI0SURWd2VDQXdPdzBLSUNCaWIzSmtaWEl0Y21Ga2FYVnpPaUF3SURWd2VDQTFjSGdnTURzTkNpQWdZbTl5WkdWeUxXeGxablE2SURGd2VDQnpiMnhwWkNBalpHUmtPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VjMlYwZEdsdVozTmZhVzVtYnlBdWMyVjBkR2x1WjNOZmFXNW1iMTl0Wlc1MUxtOXVJQzV6WlhSMGFXNW5jeUI3RFFvZ0lHSnZjbVJsY2kxMGIzQXRkMmxrZEdnNklEQTdEUXA5RFFvdWMyOWphV0ZzWDNOb1lYSmxYM0J5YVhaaFkzbGZZWEpsWVNCc2FTNXpaWFIwYVc1bmMxOXBibVp2SUM1elpYUjBhVzVuYzE5cGJtWnZYMjFsYm5VZ1ptOXliU0JtYVdWc1pITmxkQ0I3RFFvZ0lHSnZjbVJsY2kxM2FXUjBhRG9nTURzTkNpQWdiV0Z5WjJsdU9pQXdPdzBLSUNCd1lXUmthVzVuT2lBd0lERXdjSGdnTVRCd2VEc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCbWIzSnRJR1pwWld4a2MyVjBJR3hsWjJWdVpDQjdEUW9nSUdadmJuUXRjMmw2WlRvZ01URndlRHNOQ2lBZ1ptOXVkQzEzWldsbmFIUTZJR0p2YkdRN0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBeE5IQjRPdzBLSUNCdFlYSm5hVzQ2SURBN0RRb2dJSEJoWkdScGJtYzZJREV3Y0hnZ01Ec05DaUFnZDJsa2RHZzZJREV4TlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUF1YzJWMGRHbHVaM05mYVc1bWIxOXRaVzUxSUdadmNtMGdabWxsYkdSelpYUWdhVzV3ZFhRZ2V3MEtJQ0JqYkdWaGNqb2dZbTkwYURzTkNpQWdabXh2WVhRNklHeGxablE3RFFvZ0lHMWhjbWRwYmpvZ05IQjRJREV3Y0hnZ05IQjRJREE3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzV6WlhSMGFXNW5jMTlwYm1adklDNXpaWFIwYVc1bmMxOXBibVp2WDIxbGJuVWdabTl5YlNCbWFXVnNaSE5sZENCc1lXSmxiQ0I3RFFvZ0lHUnBjM0JzWVhrNklHbHViR2x1WlMxaWJHOWphenNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUW9nSUdadmJuUXRjMmw2WlRvZ01USndlRHNOQ2lBZ1ptOXVkQzEzWldsbmFIUTZJR0p2YkdRN0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBeU5IQjRPdzBLSUNBdGJXOTZMWFJ5WVc1emFYUnBiMjQ2SUdOdmJHOXlJQzQxY3lCbFlYTmxMV2x1T3cwS0lDQXRkMlZpYTJsMExYUnlZVzV6YVhScGIyNDZJR052Ykc5eUlDNDFjeUJsWVhObExXbHVPdzBLSUNCMGNtRnVjMmwwYVc5dU9pQmpiMnh2Y2lBdU5YTWdaV0Z6WlMxcGJqc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCbWIzSnRJR1pwWld4a2MyVjBJR3hoWW1Wc0xtTm9aV05yWldRZ2V3MEtJQ0JqYjJ4dmNqb2dJekE1TURzTkNuME5DaU50YVhSMFpTQWpiV2wwZEdWZmJHbHVhM01nZXcwS0lDQnZkbVZ5Wm14dmR6b2dkbWx6YVdKc1pTQWhhVzF3YjNKMFlXNTBPdzBLZlE9PTwvdHBsY3NzPgoJPHRwbGpzPlBITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlJSE55WXowaVcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZhbk12YW5GMVpYSjVMbk52WTJsaGJITm9ZWEpsY0hKcGRtRmplUzV0YVc0dWFuTWlQand2YzJOeWFYQjBQZzBLRFFvOGMyTnlhWEIwSUhSNWNHVTlJblJsZUhRdmFtRjJZWE5qY21sd2RDSStEUW92THp3aFcwTkVRVlJCV3cwS2FsRjFaWEo1S0dSdlkzVnRaVzUwS1M1eVpXRmtlU2htZFc1amRHbHZiaWdrS1NCN0RRb2dJQ0JwWmlna0tDY2pjMjlqYVdGc2MyaGhjbVZ3Y21sMllXTjVKeWtwZXcwS0lDQWdJQ0FrS0NjamMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUp5a3VjMjlqYVdGc1UyaGhjbVZRY21sMllXTjVLSHNOQ2lBZ0lDQWdJSE5sY25acFkyVnpJRG9nZXcwS0lDQWdJQ0FnSUNCbVlXTmxZbTl2YXlBNklIc05DaUFnSUNBZ0lDQWdJQ0FuY0dWeWJXRmZiM0IwYVc5dUp6b2dKMjl1Snl3TkNpQWdJQ0FnSUNBZ0lDQW5jM1JoZEhWekp6b2dKMjl1Snl3TkNpQWdJQ0FnSUNBZ0lDQW5aSFZ0YlhsZmFXMW5Kem9nSjF0YmNtOXZkRjkxY214ZFhTOXRiMlIxYkdWekwxUnZiMnhDYjNndmFXMWhaMlZ6TDNOdlkybGhiSE5vWVhKbGNISnBkbUZqZVM5bVlXTmxZbTl2YXk1d2JtY25MQTBLSUNBZ0lDQWdJQ0FnSUNkMGVIUmZhVzVtYnljNklDZGJkSGgwUm1KSmJtWnZYU2NzRFFvZ0lDQWdJQ0FnSUNBZ0ozUjRkRjltWWw5dlptWW5PaUFuVzNSNGRFWmlUMlptWFNjc0RRb2dJQ0FnSUNBZ0lDQWdKM1I0ZEY5bVlsOXZiaWM2SUNkYmRIaDBSbUpQYmwwbkRRb2dJQ0FnSUNBZ0lIMHNEUW9nSUNBZ0lDQWdJSFIzYVhSMFpYSWdPaUI3RFFvZ0lDQWdJQ0FnSUNBZ0ozQmxjbTFoWDI5d2RHbHZiaWNnT2lBbmIyNG5MQTBLSUNBZ0lDQWdJQ0FnSUNkemRHRjBkWE1uT2lBbmIyNG5MQTBLSUNBZ0lDQWdJQ0FnSUNka2RXMXRlVjlwYldjbk9pQW5XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzlwYldGblpYTXZjMjlqYVdGc2MyaGhjbVZ3Y21sMllXTjVMM1IzYVhSMFpYSXVjRzVuSnl3TkNpQWdJQ0FnSUNBZ0lDQW5kSGgwWDJsdVptOG5PaUFuVzNSNGRGUjNhWFIwWlhKSmJtWnZYU2NzRFFvZ0lDQWdJQ0FnSUNBZ0ozUjRkRjkwZDJsMGRHVnlYMjltWmljNklDZGJkSGgwVkhkcGRIUmxjazltWmwwbkxBMEtJQ0FnSUNBZ0lDQWdJQ2QwZUhSZmRIZHBkSFJsY2w5dmJpYzZJQ2RiZEhoMFZIZHBkSFJsY2s5dVhTY05DaUFnSUNBZ0lDQWdmU3dOQ2lBZ0lDQWdJQ0FnWjNCc2RYTWdPaUI3RFFvZ0lDQWdJQ0FnSUNBZ0oyUnBjM0JzWVhsZmJtRnRaU2NnT2lBblIyOXZaMnhsSUZCc2RYTW5MQTBLSUNBZ0lDQWdJQ0FnSUNkd1pYSnRZVjl2Y0hScGIyNG5PaUFuYjI0bkxBMEtJQ0FnSUNBZ0lDQWdJQ2R6ZEdGMGRYTW5PaUFuYjI0bkxBMEtJQ0FnSUNBZ0lDQWdJQ2RrZFcxdGVWOXBiV2NuT2lBblcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOXBiV0ZuWlhNdmMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUwyZHdiSFZ6TG5CdVp5Y3NEUW9nSUNBZ0lDQWdJQ0FnSjNSNGRGOXBibVp2SnpvZ0oxdDBlSFJIY0d4MWMwbHVabTlkSnl3TkNpQWdJQ0FnSUNBZ0lDQW5kSGgwWDJkd2JIVnpYMjltWmljNklDZGJkSGgwUjNCc2RYTlBabVpkSnl3TkNpQWdJQ0FnSUNBZ0lDQW5kSGgwWDNCc2RYTmZiMjRuT2lBblczUjRkRWR3YkhWelQyNWRKdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdJQ0I5TEEwS0lDQWdJQ0FnSUNkamMzTmZjR0YwYUNjNklDZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTlqYzNNdmMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUxtTnpjeWNzRFFvZ0lDQWdJQ0FnVzJsdVptOU1hVzVyWFEwS0lDQWdJQ0FnSUNkMGVIUmZhR1ZzY0NjNklDZGJkSGgwU0dWc2NGMG5MQ0FnSUEwS0lDQWdJQ0FnSUNkelpYUjBhVzVuYzE5d1pYSnRZU2M2SUNkYmRIaDBVMlYwZEdsdVozTlFaWEp0WVYwbkRRb2dJQ0FnZlNrN0RRb2dJSDBOQ2lBZ2ZTazdEUW92TDExZFBnMEtQQzl6WTNKcGNIUSs8L3RwbGpzPgo8L3Rvb2xib3h0cGw+]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-twitterfeed-twitterfeed.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT50d2ZfdHdpdHRlcmZlZWQ8L25hbWU+Cgk8dmVyc2lvbj4xLjA8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjA8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PjwvYWJvdXQ+Cgk8c2VjdGlvbj50d2l0dGVyZmVlZDwvc2VjdGlvbj4KCTxqcXVlcnk+MTwvanF1ZXJ5PgoJPGpxdWVyeV9vd24+MDwvanF1ZXJ5X293bj4KCTxvcHRpb25zPllUb3dPbnQ5PC9vcHRpb25zPgoJPHRwbGNvZGU+UEdScGRpQmpiR0Z6Y3owaWRHSlVkMmwwZEdWeVptVmxaQ0krRFFvOGRXd2dZMnhoYzNNOUluUjNaV1YwTFd4cGMzUWlQZzBLZTJadmNtVmhZMmdnWm5KdmJUMGtkSGRwZEhSbGNtWmxaV1FnYVhSbGJUMXBkR1Z0SUc1aGJXVTlKMlpsWldRbmZRMEtQR3hwZTJsbUlDUnpiV0Z5ZEhrdVptOXlaV0ZqYUM1bVpXVmtMbVpwY25OMGZTQmpiR0Z6Y3owaVptbHljM1FpZTJWc2MyVnBaaUFrYzIxaGNuUjVMbVp2Y21WaFkyZ3VabVZsWkM1c1lYTjBmU0JqYkdGemN6MGliR0Z6ZENKN0wybG1mVDROQ2p4cGJXY2dZMnhoYzNNOUluUjNaV1YwTFdGMllYUmhjaUlnZDJsa2RHZzlJalE0SWlCb1pXbG5hSFE5SWpRNElpQnpjbU05SW5za2FYUmxiUzArYVcxblgzVnliSDBpSUhScGRHeGxQU0o3SkdsMFpXMHRQbUYxZEdodmNuMGlJR0ZzZEQwaWV5UnBkR1Z0TFQ1aGRYUm9iM0o5SWlBdlBnMEtQSE53WVc0Z1kyeGhjM005SW5SM1pXVjBMWFJsZUhRaVBqeGhJR2h5WldZOUluc2thWFJsYlMwK2MyTnlaV1Z1Ym1GdFpWOTFjbXg5SWlCamJHRnpjejBpZEhkbFpYUXRZWFYwYUc5eUlqNTdKR2wwWlcwdFBuTmpjbVZsYm01aGJXVjlQQzloUGpvZ2V5UnBkR1Z0TFQ1MFpYaDBmVHd2YzNCaGJqNE5DbnRwWmlBa2FYUmxiUzArY21WMGQyVmxkRjl6WTNKbFpXNXVZVzFsSUNFOUlDY25mVHh6Y0dGdUlHTnNZWE56UFNKMGQyVmxkQzF5WlhSM1pXVjBaV1JpZVNJK2NtVjBkMlZsZEdWa0lHSjVJSHNrYVhSbGJTMCtjbVYwZDJWbGRGOWhkWFJvYjNKOVBDOXpjR0Z1UG5zdmFXWjlEUW84YzNCaGJpQmpiR0Z6Y3owaWRIZGxaWFF0YkdsdWEzTWlQbnNrYVhSbGJTMCtaR0YwWlY5c2FXNXJmU0FtYldsa1pHOTBPeUI3SkdsMFpXMHRQbkpsY0d4NVgyeHBibXQ5SUNadGFXUmtiM1E3SUhza2FYUmxiUzArY21WMGQyVmxkRjlzYVc1cmZTQW1iV2xrWkc5ME95QjdKR2wwWlcwdFBtWmhkbTl5YVhSbFgyeHBibXQ5UEM5emNHRnVQZzBLUEM5c2FUNE5DbnN2Wm05eVpXRmphSDBOQ2p3dmRXdytEUW84WkdsMklITjBlV3hsUFNKamJHVmhjanBpYjNSb095SStQQzlrYVhZK0RRbzhMMlJwZGo0TkNnPT08L3RwbGNvZGU+Cgk8dHBsY3NzPkxuUmlWSGRwZEhSbGNtWmxaV1FnZXcwS0lDQWdJR1p2Ym5RdFptRnRhV3g1T2lCb1pXeDJaWFJwWTJFc0lDZEhaVzl5WjJsaEp5d2dZWEpwWVd3c0lITmhibk10YzJWeWFXWTdEUW9nSUNBZ2QybGtkR2c2SURNeU1IQjRPdzBLSUNBZ0lIQmhaR1JwYm1jNklERXdjSGc3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dJMlptWmpzTkNpQWdJQ0JpYjNKa1pYSXRjbUZrYVhWek9pQTJjSGc3RFFvZ0lDQWdiV0Z5WjJsdUxYSnBaMmgwT2lBeU1IQjRPdzBLSUNBZ0lHSnZjbVJsY2pvZ01YQjRJSE52Ykdsa0lDTkdNa1l5UmpJN0RRcDlEUW91ZEdKVWQybDBkR1Z5Wm1WbFpDQjFiQ3dnSUhzTkNpQWdJQ0J0WVhKbmFXNDZJREFnTVRCd2VDQXdJREE3RFFvZ0lDQWdjR0ZrWkdsdVp6b2dNRHNOQ24wTkNpNTBZbFIzYVhSMFpYSm1aV1ZrSUd4cElIc05DaUFnSUNCaWIzSmtaWEl0WW05MGRHOXRPaUF4Y0hnZ2MyOXNhV1FnSTBZeVJqSkdNanNOQ2lBZ0lDQnNhWE4wTFhOMGVXeGxPaUJ1YjI1bE93MEtJQ0FnSUhCaFpHUnBibWM2SURFd2NIZ2dNakJ3ZUNBeE1IQjRJREV3Y0hnN0RRb2dJQ0FnWm05dWRDMXphWHBsT2lBeE0zQjRPdzBLSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF4Tm5CNE93MEtJQ0FnSUcxcGJpMW9aV2xuYUhRNklEUTRjSGc3RFFwOURRb3VkR0pVZDJsMGRHVnlabVZsWkNCc2FTNXNZWE4wSUhzTkNpQWdJQ0JpYjNKa1pYSTZJRzV2Ym1VN0RRcDlEUW91ZEdKVWQybDBkR1Z5Wm1WbFpDQnNhU0FnZXcwS0lDQWdJQzEzWldKcmFYUXRZbTl5WkdWeUxYSmhaR2wxY3pvZ09IQjRPdzBLSUNBZ0lDMXRiM290WW05eVpHVnlMWEpoWkdsMWN6b2dPSEI0T3cwS0lDQWdJQzF0Y3kxaWIzSmtaWEl0Y21Ga2FYVnpPaUE0Y0hnN0RRb2dJQ0FnTFc4dFltOXlaR1Z5TFhKaFpHbDFjem9nT0hCNE93MEtJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRGh3ZURzTkNpQWdJQ0JtYkc5aGREb2diR1ZtZERzTkNpQWdJQ0J0WVhKbmFXNDZJREFnTVRCd2VDQXhNSEI0SURBN0RRcDlEUW91ZEdKVWQybDBkR1Z5Wm1WbFpDQnNhU0JwYldjZ2V3MEtJQ0FnSUMxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dPSEI0T3cwS0lDQWdJQzF0YjNvdFltOXlaR1Z5TFhKaFpHbDFjem9nT0hCNE93MEtJQ0FnSUMxdGN5MWliM0prWlhJdGNtRmthWFZ6T2lBNGNIZzdEUW9nSUNBZ0xXOHRZbTl5WkdWeUxYSmhaR2wxY3pvZ09IQjRPdzBLSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURod2VEc05DaUFnSUNCbWJHOWhkRG9nYkdWbWREc05DaUFnSUNCdFlYSm5hVzQ2SURBZ01UQndlQ0F4TUhCNElEQTdEUXA5RFFvdWRHSlVkMmwwZEdWeVptVmxaQ0JzYVNCemNHRnVJSHNOQ2lBZ0lDQnRZWEpuYVc0dGJHVm1kRG9nTlRod2VEc05DaUFnSUNCa2FYTndiR0Y1T2lCaWJHOWphenNOQ24wTkNpNTBZbFIzYVhSMFpYSm1aV1ZrSUd4cElDNTBkMlZsZEMxaGRYUm9iM0lnZXcwS0lDQWdJR1p2Ym5RdGQyVnBaMmgwT2lCaWIyeGtPdzBLSUNBZ0lIUmxlSFF0WkdWamIzSmhkR2x2YmpvZ2JtOXVaVHNOQ24wTkNpNTBZbFIzYVhSMFpYSm1aV1ZrSUd4cElDNTBkMlZsZEMxc2FXNXJjeXdOQ2k1MFlsUjNhWFIwWlhKbVpXVmtJR3hwSUM1MGQyVmxkQzF5WlhSM1pXVjBaV1JpZVNCN0RRb2dJQ0FnWkdsemNHeGhlVG9nWW14dlkyczdEUW9nSUNBZ1kyOXNiM0k2SUNNNU9UazdEUW9nSUNBZ1ptOXVkQzF6YVhwbE9pQXhNWEI0T3cwS0lDQWdJSEJoWkdScGJtY3RkRzl3T2lBMWNIZzdEUXA5RFFvTkNpNTBZbFIzYVhSMFpYSm1aV1ZrSUd4cElDNTBkMlZsZEMxc2FXNXJjeUJoSUhzTkNpQWdJQ0JqYjJ4dmNqb2dJems1T1RzTkNpQWdJQ0IwWlhoMExXUmxZMjl5WVhScGIyNDZJRzV2Ym1VN0RRcDlEUW9OQ2k1MFlsUjNhWFIwWlhKbVpXVmtJR3hwSUM1MGQyVmxkQzFzYVc1cmN5QmhPbWh2ZG1WeUlIc05DaUFnSUNCMFpYaDBMV1JsWTI5eVlYUnBiMjQ2ZFc1a1pYSnNhVzVsT3cwS2ZRMEtEUW91ZEdKVWQybDBkR1Z5Wm1WbFpDQnNhU0F1ZEhkbFpYUXRjbVYwZDJWbGRHVmtZbmtnZXcwS0lDQWdJSEJoWkdScGJtYzZJREE3RFFvZ0lDQWdiV0Z5WjJsdUxXSnZkSFJ2YlRvZ0xUVndlRHNOQ24wPTwvdHBsY3NzPgoJPHRwbGpzPklEeHpZM0pwY0hRZ2RIbHdaVDBpZEdWNGRDOXFZWFpoYzJOeWFYQjBJajROQ2lBa0tDY3VkSGRsWlhRdGNHOXdkWEFuS1M1amJHbGpheWhtZFc1amRHbHZiaWhsZG1WdWRDa2dldzBLSUNBZ0lIWmhjaUIzYVdSMGFDQWdQU0ExTmpZc0RRb2dJQ0FnSUNBZ0lHaGxhV2RvZENBOUlEVXhNaXdOQ2lBZ0lDQWdJQ0FnYkdWbWRDQWdJRDBnS0NRb2QybHVaRzkzS1M1M2FXUjBhQ2dwSUNBdElIZHBaSFJvS1NBZ0x5QXlMQTBLSUNBZ0lDQWdJQ0IwYjNBZ0lDQWdQU0FvSkNoM2FXNWtiM2NwTG1obGFXZG9kQ2dwSUMwZ2FHVnBaMmgwS1NBdklESXNEUW9nSUNBZ0lDQWdJSFZ5YkNBZ0lDQTlJSFJvYVhNdWFISmxaaXdOQ2lBZ0lDQWdJQ0FnYjNCMGN5QWdJRDBnSjNOMFlYUjFjejB4SnlBckRRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDY3NkMmxrZEdnOUp5QWdLeUIzYVdSMGFDQWdLdzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuTEdobGFXZG9kRDBuSUNzZ2FHVnBaMmgwSUNzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0p5eDBiM0E5SnlBZ0lDQXJJSFJ2Y0NBZ0lDQXJEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2NzYkdWbWREMG5JQ0FnS3lCc1pXWjBPdzBLRFFvZ0lDQWdkMmx1Wkc5M0xtOXdaVzRvZFhKc0xDQW5kSGRwZEhSbEp5d2diM0IwY3lrN0RRb05DaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdEUW9nSUgwcE96d3ZjMk55YVhCMFBnMEs8L3RwbGpzPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/ToolBox.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1vZHVsZToJCVRvb2xCb3gNClRpdGxlOgkJTWFpbiBjbGFzcw0KVmVyc2lvbjoJMS4zLjANCkRlc2NyaXB0LjoJQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gbWFkZSBsaWZlIGVhc2llcg0KTGFzdCBNb2QuOgkyNC4xMS4yMDEyDQpBdXRob3I6CQlBbmRpIFBldHpvbGR0IC8gTHVrYXMgQmxhdHRlcg0KRW1haWw6CQlhbmRpQHBldHpvbGR0Lm5ldCAvIGx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gNCk5vdGVzOg0KTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCgkJCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQoJCQl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCgkJCUhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KCQkJYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQoJCQlNYWRlIFNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4NCgkJCXNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuDQoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOg0KCQkJaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy8NCgkJCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCgkJCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCgkJCUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KCQkJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCgkJCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCg0KZGVmaW5lKCdUT09MQk9YX1NFUEFSQVRPUicsICJ7Ki0tLS0tLS0tLS0iKTsNCmRlZmluZSgnVE9PTEJPWF9JREVOVCcsICI8IS0tIFRvb2xCb3ggLS0+XG4iKTsNCmRlZmluZSgnVE9PTEJPWF9DQUNIRScsICI8IS0tIHRiYyAtLT5cbiIpOw0KDQovKioNCiAqIEluY2x1ZGUgVG9vbGJveCBTbWFydHkgRnVuY3Rpb25zDQogKi8NCnJlcXVpcmVfb25jZShjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCcvZnVuY3Rpb25zL3RiZnVuY3Rpb25zLnBocCcpKTsNCnJlcXVpcmVfb25jZShjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCcvZnVuY3Rpb25zL3RibW9kaWZpZXIucGhwJykpOw0KDQoNCi8qKg0KICogQ2xhc3MgVG9vbEJveC4NCiAqDQogKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgdGhlIENNU21zIGFkZG9uICJUb29sQm94Ig0KICoNCiAqLw0KDQpmaW5hbCBjbGFzcyBUb29sQm94IGV4dGVuZHMgQ01TTW9kdWxlIHsNCg0KCS8vIGNsYXNzIHZhcnMNCglwcml2YXRlCQkkZGI7DQoJcHJpdmF0ZQkJJHNtYXJ0eTsNCglwcml2YXRlCQkkY29uZmlnOw0KCXB1YmxpYwkJJHBhZ2VJZDsNCglwcm90ZWN0ZWQgCSR0YlJlZGlyZWN0TG9nOw0KCXB1YmxpYwkJJHRiTWV0YSA9IGFycmF5KCk7DQoJcHVibGljCQkkdGJNZXRhSnMgPSBhcnJheSgpOw0KCXB1YmxpYwkJJHRiSnF1ZXJ5ID0gZmFsc2U7DQoJcHVibGljCQkkdGJVc2VkOw0KCXByaXZhdGUJCSR0YkV2ZW50czsNCglwcm90ZWN0ZWQJJHRiRG9uYXRlOw0KCXByaXZhdGUJCSR0YmZwOw0KCXByb3RlY3RlZCAJJHRiTG9nUGF0aDsNCglwcm90ZWN0ZWQgCSR0YkxvZ0ZpbGU7DQoJcHJvdGVjdGVkCSRsb2dVcGRhdGVyUGFyYW0gPSBhcnJheSgpOw0KCXB1YmxpYwkJJHRibW9iaWxlOw0KCQ0KCQ0KCS8qDQoJKiBDb25zdHJ1Y3RvciBmdW5jdGlvbg0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgDQoJew0KCQkkdGhpcy0+ZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQkkdGhpcy0+c21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQoJCSR0aGlzLT5jb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJDQoJICAgIC8vIFJlZ2lzdGVyIGZ1bmN0aW9ucw0KCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJJbWFnZScsCQkJCSdzbWFydHlfZnVuY3Rpb25fdGJJbWFnZScpOw0KCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJTZXNzaW9uU2V0JywJCSdzbWFydHlfZnVuY3Rpb25fdGJTZXNzaW9uU2V0Jyk7DQoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YlNlc3Npb25VbnNldCcsCQknc21hcnR5X2Z1bmN0aW9uX3RiU2Vzc2lvblVuc2V0Jyk7DQoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YkdldFBhZ2VIaWVyYXJjaHknLAknc21hcnR5X2Z1bmN0aW9uX3RiR2V0UGFnZUhpZXJhcmNoeScpOw0KCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJHZXROZXdzQ2F0ZWdvcmllcycsCSdzbWFydHlfZnVuY3Rpb25fdGJHZXROZXdzQ2F0ZWdvcmllcycpOw0KCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJHZXRVc2VyR3JvdXBzJywJCSdzbWFydHlfZnVuY3Rpb25fdGJHZXRVc2VyR3JvdXBzJyk7DQoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YldyaXRlTG9nJywJCQknc21hcnR5X2Z1bmN0aW9uX3RiV3JpdGVMb2cnKTsNCgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiVmFyRXhwb3J0JywJCQknc21hcnR5X2Z1bmN0aW9uX3RiVmFyRXhwb3J0Jyk7DQoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YlJlZGlyZWN0JywJCQknc21hcnR5X2Z1bmN0aW9uX3RiUmVkaXJlY3QnKTsNCgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiR2V0R2FsbGVyeVRyZWUnLAknc21hcnR5X2Z1bmN0aW9uX3RiR2V0R2FsbGVyeVRyZWUnKTsNCgkgICAgDQoJICAgIC8vIFJlZ2lzdGVyIG1vZGlmaWVyDQoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX21vZGlmaWVyKCd0YlRydW5jYXRlJywJJ3NtYXJ0eV9tb2RpZmllcl90YlRydW5jYXRlJyk7DQoJCQ0KCSAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MuTW9iaWxlX0RldGVjdC5waHAnKTsNCgkgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvbGliL2NsYXNzLnRiVG9vbHMucGhwJyk7DQoJICAgIHJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2xpYi9jbGFzcy50YlJlZGlyZWN0TG9nLnBocCcpOw0KCSAgICANCgkgICAgLy8gUmVnaXN0ZXIgdGJ0b29scw0KCSAgICAkb2JqID0gbmV3IHRiVG9vbHMoKTsNCgkgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YnRvb2xzJywkb2JqKTsNCgkgICAgDQoJICAgIC8vIFJlZ2lzdGVyIHRibW9iaWxlDQoJICAgICRvYmogPSBuZXcgTW9iaWxlX0RldGVjdCgpOw0KCSAgICAkdGhpcy0+dGJtb2JpbGUgPSAkb2JqOw0KCSAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RibW9iaWxlJywkb2JqKTsNCgkgICAgDQoJICAgIC8vIGdldCBMb2dTdW0gSW5zdGFuY2UNCgkgICAgJHRoaXMtPnRiUmVkaXJlY3RMb2cgPSBuZXcgdGJSZWRpcmVjdExvZygkdGhpcyk7DQoJCQ0KCSAgICAvLyBMb2dmaWxlIFBmYWQgZmVzdGxlZ2VuDQoJICAgICR0aGlzLT50YkxvZ1BhdGggPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsb2cnLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQoJICAgICR0aGlzLT5zZXRMb2dGaWxlKCd0YkxvZycpOw0KCSAgICANCgkJJHRoaXMtPnRiVXNlZCA9IGZhbHNlOw0KCQkNCgkJJHRoaXMtPnRiRXZlbnRzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInKSA/IDAgOiAxOw0KCQlpZiAoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10gIT0gIjEyNy4wLjAuMSIpICR0aGlzLT50YkRvbmF0ZSA9ICR0aGlzLT5MYW5nKCdkb25hdGUnKTsNCgkJcGFyZW50OjpDTVNNb2R1bGUoKTsNCgl9DQoNCgkvKioNCgkqIEdldCB0aGUgcmVhbCBuYW1lIG9mIHRoaXMgbW9kdWxlLg0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXROYW1lKCkgew0KCQlyZXR1cm4gJ1Rvb2xCb3gnOw0KCX0NCg0KCS8qKg0KCSogR2V0IGEgZnJpZW5kbHkgKHRyYW5zbGF0ZWQpIG5hbWUgb2YgdGhpcyBtb2R1bGUuDQoJKiBAcmV0dXJuIHN0cmluZw0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsNCgl9DQoNCgkvKioNCgkqIEdldCB0aGUgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZS4NCgkqIEByZXR1cm4gc3RyaW5nDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsNCgkJcmV0dXJuICcxLjMuMCc7DQoJfQ0KDQoJLyoqDQoJKiBJcyB0aGlzIGFuIG1vZHVsZSBvbmx5IGZvciB0aGUgQ01TbXMgYmFja2VuZD8uDQoJKiBAcmV0dXJuIGJsb29sZWFuDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gSXNBZG1pbk9ubHkoKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCgkvKioNCgkqIEdldHMgYSBoZWxwIHRleHQgZm9yIHRoaXMgbW9kdWxlLg0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRIZWxwKCkgew0KCQlyZXR1cm4gJHRoaXMtPnRiRG9uYXRlLiR0aGlzLT5MYW5nKCdoZWxwJyk7DQoJfQ0KDQoJLyoqDQoJKiBHZXRzIHRoZSBhdXRob3Igb2YgdGhpcyBtb2R1bGUNCgkqIEByZXR1cm4gc3RyaW5nDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QXV0aG9yKCkgew0KCQlyZXR1cm4gJ0FuZGkgUGV0em9sZHQgLyBMdWthcyBCbGF0dGVyJzsNCgl9DQoNCgkvKioNCgkqIEdldHMgdGhlIG1vZHVsZSBhdXRob3JzIGVtYWlsIGFkZHJlc3MuDQoJKiBAcmV0dXJuIHN0cmluZw0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgew0KCQlyZXR1cm4gJ2FuZGlAcGV0em9sZHQubmV0IC8gbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaCc7DQoJfQ0KDQoJLyoqDQoJKiBHZXQgdGhlIGNoYW5nZWxvZyBvZiB0aGlzIG1vZHVsZQ0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7DQoJCXJldHVybiAkdGhpcy0+dGJEb25hdGUuJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOw0KCX0NCg0KCS8qKg0KCSogR2V0IHRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLg0KCSogQHJldHVybiBhcnJheQ0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyoqDQoJKiBJcyB0aGlzIGFuIG9wdGlvbmFsIG1vZHVsZSBmb3IgQ01TbXM/DQoJKiBAcmV0dXJuIGJvb2xlYW4NCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLyoqDQoJKiBIYXMgdGhpcyBtb2R1bGUgYW4gYWRtaW4NCgkqIEByZXR1cm4gYm9vbGVhbg0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEhhc0FkbWluKCkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvKioNCgkqIFNoYWxsIHRoaXMgbW9kdWxlIGhhbmRsZSBldmVudHM/DQoJKiBAcmV0dXJuIGJvb2xlYW4NCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzKCkgew0KCQlyZXR1cm4gJHRoaXMtPnRiRXZlbnRzID8gdHJ1ZSA6IGZhbHNlOw0KCX0NCgkNCgkvKioNCgkqIEluIHdoaWNoIG1haW4gbWVudSBvZiB0aGUgYmFja2VuZCBzaGFsbCB0aGlzIG1vZHVsZSBiZT8NCgkqIEByZXR1cm4gc3RyaW5nDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgew0KCQlyZXR1cm4gJ2V4dGVuc2lvbnMnOw0KCX0NCg0KCS8qKg0KCSAqIEluaXRhbGl6ZSBGcm9udGVuZCBQYXJhbXMNCgkgKi8NCglmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7DQoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsNCgkJDQoJCS8vIFByZXR0eSB1cmwgcm91dGUgZm9yIHZpZXdpbmcgYSB0b29sYm94IGluIGFsbCBpdHMgdmFyaWF0aW9ucw0KCQkkdXJscHJlZml4ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VybHByZWZpeCcsICdbdFRdW2JCXScpOw0KCQkvLyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvdGJcLyg/UDxtb2Q+LispXC8oP1A8aXRlbWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC90LCg/UDx0ZW1wbGF0ZT4uKj8pXC9kLCg/UDxkZXRhaWx0ZW1wbGF0ZT4uKj8pJC8nKTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR1cmxwcmVmaXguJ1wvKD9QPG1vZD4uKylcLyg/UDxpdGVtaWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKSk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdXJscHJlZml4LidcLyg/UDxtb2Q+LispXC8oP1A8aXRlbWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8dGJhY3Rpb24+W2EtekEtWl0rKSQvJyxhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpKTsNCi8vCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8bW9kPi4rKVwvKD9QPHRlbXBsYXRlPlthLXpBLVpdKyktKD9QPG51bWJlcj5bMC05XSspLSg/UDxzaG93PlthLXpBLVpdKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsNCi8vCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8ZGlyPi4rKVwvKD9QPHN0YXJ0PlswLTldKyktKD9QPG51bWJlcj5bMC05XSspLSg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7DQovLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR1cmxwcmVmaXguJ1wvKD9QPGRpcj4uKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7DQovLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR1cmxwcmVmaXguJ1wvKD9QPHN0YXJ0PlswLTldKyktKD9QPG51bWJlcj5bMC05XSspLSg/UDxzaG93PlthLXpBLVpdKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsNCi8vCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8c3RhcnQ+WzAtOV0rKS0oP1A8bnVtYmVyPlswLTldKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsNCi8vCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOw0KCQkNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RiYWN0aW9uJyxDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaXRlbWlkJyxDTEVBTl9JTlQpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmV0dXJuaWQnLENMRUFOX0lOVCk7DQoJCQ0KCQkkdGhpcy0+U2V0UGFyYW1ldGVycygpOw0KCQkNCgl9DQoNCgkvKioNCgkqIEdldCBhbiBtb2R1bGUgZGVzY3JpcHRpb24gZm9yIHRoZSBiYWNrZW5kLg0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7DQoJfQ0KDQoJLyoqDQoJKiBXaGF0IGlzIHRoZSBtaW5pbXVtIHZlcnNpb24gb2YgQ01TbXMgZm9yIHRoaXMgbW9kdWxlPw0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsNCgkJcmV0dXJuICcxLjknOw0KCX0NCgkNCg0KCS8qKg0KCSogUmVnaXN0ZXIgRXZlbnQNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBSZWdpc3RlckV2ZW50cygpew0KCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UG9zdFJlbmRlcicsIGZhbHNlICk7DQoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpKSB7DQoJCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50RWRpdFByZScsIGZhbHNlICk7CQ0KCQkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ05ld3MnLCAnTmV3c0FydGljbGVBZGRlZCcsIGZhbHNlICk7CQ0KCQkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ05ld3MnLCAnTmV3c0FydGljbGVFZGl0ZWQnLCBmYWxzZSApOwkNCgkJCSRvYmogPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoIkNHQmxvZyIpOw0KCQkJaWYoIGlzX29iamVjdCgkb2JqKSApICB7DQoJCQkgICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NHQmxvZycsICdDR0Jsb2dBcnRpY2xlQWRkZWQnLCBmYWxzZSApOwkNCgkJCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ0dCbG9nJywgJ0NHQmxvZ0FydGljbGVFZGl0ZWQnLCBmYWxzZSApOw0KCQkJfQ0KCQl9DQoJCWVsc2Ugew0KCQkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudEVkaXRQcmUnLGZhbHNlKTsNCgkJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdOZXdzJywgJ05ld3NBcnRpY2xlQWRkZWQnLGZhbHNlKTsNCgkJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdOZXdzJywgJ05ld3NBcnRpY2xlRWRpdGVkJyxmYWxzZSk7DQoJCQkkb2JqID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCJDR0Jsb2ciKTsNCgkJCWlmKCBpc19vYmplY3QoJG9iaikgKSAgew0KCQkJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdDR0Jsb2cnLCAnQ0dCbG9nQXJ0aWNsZUVkaXRlZCcsZmFsc2UpOw0KCQkJfQ0KCQl9DQoJCQ0KLy8JCTIwMTEuMTIuMjIgTEJMIGF1c2tvbW1lbnRpZXJ0LCBkYSBkaXJla3QgaW4gRG9FdmVudCBnZXN0ZXVlcnQgLT4gQ29udGVudFBvc3RSZW5kZXIgd2lyZCBhdWNoIGbDvHIgYW5kZXJlcyBnZW51dHp0DQovLwkJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpKSB7DQovLwkJCSR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdDb3JlJywgJ0NvbnRlbnRQb3N0UmVuZGVyJywgZmFsc2UgKTsNCi8vCQkJIyR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdDb3JlJywgJ0NvbnRlbnRQcmVDb21waWxlJywgZmFsc2UgKTsgICAtLT4gZG9lc24ndCB3b3JrDQovLwkJfQ0KCX0NCg0KCS8qKg0KCSogUnVuIEV2ZW50DQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gRG9FdmVudCgkb3JpZ2luYXRvciwgJGV2ZW50bmFtZSwgJiRwYXJhbXMpIHsNCgkJDQoJCSR0aGlzLT5wYWdlSWQgPSAoaW50KWNtc21zKCktPmdldF92YXJpYWJsZSgiY29udGVudF9pZCIpOw0KCQkNCi8vCQlpZiAoJHRoaXMtPnRiRXZlbnRzIGFuZCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpKSB7DQoJCWlmICgkdGhpcy0+dGJFdmVudHMpIHsNCgkJCS8vIENoZWNrIGV2ZW50DQoJCQlpZigkb3JpZ2luYXRvcj09J0NvcmUnICYmICRldmVudG5hbWU9PSdDb250ZW50UG9zdFJlbmRlcicpew0KCQkJCS8vIENoZWNrIGlmIG1vZHVsZSB3YXMgYWxyZWFkeSB1c2VkDQoJCQkJaWYgKCEkdGhpcy0+dGJVc2VkKSB7DQoJCQkJCS8vIFNldCB0aGUgbW9kdWxlIHVzZWQNCgkJCQkJJHRoaXMtPnRiVXNlZCA9IHRydWU7DQoJCQkJCQ0KCQkJCQkkbG9nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpID8gJHRoaXMtPnRiUmVkaXJlY3RMb2ctPlByZXBhcmVMb2dWaXNpdCgpIDogYXJyYXkoKTsJLy8gTG9nIHZpc2l0DQoJCQkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWJ1Z191c2UnKSkgJHRoaXMtPnRiUmVkaXJlY3RMb2ctPkRlYnVnTUQoKTsJCQkJCQkJLy8gTG9nIGRlYnVnDQoJCQkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScpKSAkdGhpcy0+dGJSZWRpcmVjdExvZy0+UmVkaXJlY3RVUkwoJGxvZyk7CQkJCS8vIExvb2sgZm9yIHJlZGlyZWN0IHVybHMNCgkJCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c180MDQnKSkgJHRoaXMtPnRiUmVkaXJlY3RMb2ctPkxvZ0Vycm9yKCRsb2cpOwkJCQkJLy8gTG9nIGVycm9ycyAoZS5nLiA0MDQpDQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCS8vIFRlbXBsYXRlIENTUyB1bmQgSmF2YXNjcmlwdCBlaW5iaW5kZW4JDQoJCWlmICgkb3JpZ2luYXRvciA9PSAnQ29yZScgJiYgJGV2ZW50bmFtZSA9PSAnQ29udGVudFBvc3RSZW5kZXInKQ0KCQl7DQoJCQkvLyBBdXRvTGlnaHRCb3ggZWluYmluZGVuDQoJCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSBhbmQgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9saWdodGJveCcpKSB7DQoJCQkJDQoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImN1cnJlbnRfYXV0b2xpZ2h0Ym94X3RlbXBsYXRlIik7DQoJCQkJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7DQoJCQkJJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGUpKTsNCgkJCQkNCgkJCQkvLyRjb250ZW50ID0gaXNzZXQoJGNvbnRlbnRzY29kZVswXSkgPyAkY29udGVudHNjb2RlWzBdIDogJyc7DQoJCQkJJHN0eWxlc2hlZXQgPSBpc3NldCgkY29udGVudHNjb2RlWzFdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzFdKSA6ICcnOw0KCQkJCSRqYXZhc2NyaXB0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsyXSkgPyBzdHJfcmVwbGFjZSgiKn0iLCAiIiwgJGNvbnRlbnRzY29kZVsyXSkgOiAnJzsNCgkJCQkkc3R5bGVzaGVldG1vYmlsZSA9IGlzc2V0KCRjb250ZW50c2NvZGVbNF0pID8gc3RyX3JlcGxhY2UoIip9IiwgIiIsICRjb250ZW50c2NvZGVbNF0pIDogJyc7DQoJCQkJJGphdmFzY3JpcHRtb2JpbGUgPSBpc3NldCgkY29udGVudHNjb2RlWzVdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzVdKSA6ICcnOw0KCQkJCQ0KCQkJCSRtb2JpbGUgPSAiIjsNCgkJCQlpZiAoaXNzZXQoJHRlbXBsYXRlcHJvcHNbJ3VzZV9tb2JpbGV0ZW1wbGF0ZSddKSBhbmQgJHRoaXMtPnRibW9iaWxlLT5pc01vYmlsZSgpKSB7DQoJCQkJCSRzdHlsZXNoZWV0ID0gJHN0eWxlc2hlZXRtb2JpbGU7DQoJCQkJCSRqYXZhc2NyaXB0ID0gJGphdmFzY3JpcHRtb2JpbGU7DQoJCQkJCSRtb2JpbGUgPSAiX21vYmlsZSI7DQoJCQkJfQ0KCQkJCQ0KCQkJCWlmICghaXNzZXQoJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdKSkgew0KCQkJCQlpZiAoJHN0eWxlc2hlZXQpICR0aGlzLT50Yk1ldGFbJHRlbXBsYXRlXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJHRlbXBsYXRlLiRtb2JpbGUuJy5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiAvPicuIlxuIjsNCgkJCQkJaWYgKCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSkJJHRoaXMtPnRiSnF1ZXJ5ID0gdHJ1ZTsJDQoJCQkJCWlmICgkamF2YXNjcmlwdCkJCQkJJHRoaXMtPnRiTWV0YUpzWyR0ZW1wbGF0ZV0gPSB0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJGphdmFzY3JpcHQpLiJcbiI7DQoJCQkJfQ0KCQkJfQ0KCQkJDQoJCQkkbWV0YWRhdGEJPSBpbXBsb2RlKCJcbiIsJHRoaXMtPnRiTWV0YSk7DQoJCQkkbWV0YWpzIAk9IGltcGxvZGUoIlxuIiwkdGhpcy0+dGJNZXRhSnMpOw0KCQkJDQoJCQlpZiAoJHRoaXMtPnRiSnF1ZXJ5KSB7DQoJCQkJJG1ldGFqcyA9IHRiVXRpbHM6OmdldGpRdWVyeSgpLiJcbiIuJG1ldGFqczsNCgkJCX0NCgkJCQ0KCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJtaW5pZnkiKSkgew0KCQkJCSRtaW5pZnkgPSBidE1pbmlmeTo6bWluaWZ5RnJvbUh0bWwoJG1ldGFkYXRhLiRtZXRhanMpOw0KCQkJCSRtZXRhZGF0YQk9ICRtaW5pZnktPmNzczsNCgkJCQkkbWV0YWpzCQk9ICRtaW5pZnktPmpzLiRtaW5pZnktPmpzc3JjOw0KCQkJfQ0KCQkJLy8gSGVhZGVyIE1ldGFkYXRlbiBlcmfDpG56ZW4NCgkJCWlmICgoc3RybGVuKHRyaW0oJG1ldGFkYXRhLCJcbiIpKSA+IDAgb3IgKHN0cmxlbih0cmltKCRtZXRhanMsIlxuIikpID4gMCkgYW5kICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgianNfZm9vdGVyIikpKSB7DQoJCQkJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgianNfZm9vdGVyIikpICRtZXRhZGF0YSAuPSJcbiIuJG1ldGFqczsNCgkJCQkkcGFyYW1zWyJjb250ZW50Il0gPSB0YlV0aWxzOjphZGRIdG1sQmVmb3JUYWcoJHBhcmFtc1siY29udGVudCJdLCAkbWV0YWRhdGEsICI8L2hlYWQ+Iik7DQoJCQl9DQoJCQkJDQoJCQkJDQoJCQkvLyBKUyB2b3IgZGVtIDwvYm9keT4gZXJnw6RuemVuLCBmYWxscyBha3RpdmllcnQNCgkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgianNfZm9vdGVyIikgYW5kIHN0cmxlbih0cmltKCRtZXRhanMsIlxuIikpID4gMCkgew0KCQkJCSRwYXJhbXNbImNvbnRlbnQiXSA9IHRiVXRpbHM6OmFkZEh0bWxCZWZvclRhZygkcGFyYW1zWyJjb250ZW50Il0sICRtZXRhanMsICI8L2JvZHk+Iik7DQoJCQl9DQoJCX0NCgkJDQoJCQ0KCQkvLyBTZXQgQXV0b0xpZ2h0Qm94IEF0dHJpYnV0ZXMNCgkJJGF0dHJpYnV0ZXMgPSBhcnJheSgpOw0KCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9yZWwnKSkJJGF0dHJpYnV0ZXNbJ3JlbCddCQk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfcmVsJyk7DQoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJykpCSRhdHRyaWJ1dGVzWydjbGFzcyddCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9jbGFzcycpOw0KDQoJCQkNCgkJLy8gRXhlY3V0ZSBBdXRvTGlnaHRCb3ggRXZlbnQNCgkJaWYgKCRvcmlnaW5hdG9yID09ICdDb3JlJyAmJiAkZXZlbnRuYW1lID09ICdDb250ZW50RWRpdFByZScpIHsNCgkJCS8vIGFsdGVybmF0aXZlIHp1IG1ldGhvZF9leGl0czogaXNfY2FsbGFibGUoYXJyYXkoJHBhcmFtc1snY29udGVudCddLCAnZ2V0X2NvbnRlbnRfYmxvY2tzJykpDQoJCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSAmJiBpc3NldCgkcGFyYW1zWydjb250ZW50J10pICYmIG1ldGhvZF9leGlzdHMoJHBhcmFtc1snY29udGVudCddLCAnZ2V0X2NvbnRlbnRfYmxvY2tzJykpIHsNCgkJCQlmb3JlYWNoKCRwYXJhbXNbJ2NvbnRlbnQnXS0+Z2V0X2NvbnRlbnRfYmxvY2tzKCkgYXMgJGJsb2NrX25hbWUgPT4gJGJsb2NrX2luZm8pDQoJCQkJew0KCQkJCQkkcGFyYW1zWydjb250ZW50J10tPlNldFByb3BlcnR5VmFsdWUoJGJsb2NrX25hbWUsDQoJCQkJCQlBdXRvbGlnaHRib3g6OkltZzJUaHVtYigkcGFyYW1zWydjb250ZW50J10tPkdldFByb3BlcnR5VmFsdWUoJGJsb2NrX25hbWUpLAkkYXR0cmlidXRlcykNCgkJCQkJKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCWlmICgkb3JpZ2luYXRvciA9PSAnTmV3cycgJiYgKCRldmVudG5hbWUgPT0gJ05ld3NBcnRpY2xlQWRkZWQnIG9yICRldmVudG5hbWUgPT0gJ05ld3NBcnRpY2xlRWRpdGVkJykpIHsNCgkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpICYmIGlzc2V0KCRwYXJhbXNbJ2NvbnRlbnQnXSkgJiYgaXNzZXQoJHBhcmFtc1snbmV3c19pZCddKSkgDQoJCQl7DQoJCQkJJHBhcmFtc1snY29udGVudCddID0gQXV0b2xpZ2h0Ym94OjpJbWcyVGh1bWIoJHBhcmFtc1snY29udGVudCddLCAkYXR0cmlidXRlcyk7DQoJCQkJJHRoaXMtPmRiLT5FeGVjdXRlKA0KCQkJCQkiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmV3cyANCgkJCQkJCVNFVCBuZXdzX2RhdGEgPSA/IA0KCQkJCQkJV0hFUkUgbmV3c19pZCA9ID8iLCANCgkJCQkJYXJyYXkoJHBhcmFtc1snY29udGVudCddLCAkcGFyYW1zWyduZXdzX2lkJ10pDQoJCQkJKTsNCgkJCX0NCgkJfQ0KCQkNCgkJaWYgKCRvcmlnaW5hdG9yID09ICdDR0Jsb2cnICYmICgkZXZlbnRuYW1lID09ICdDR0Jsb2dBcnRpY2xlQWRkZWQnIG9yICRldmVudG5hbWUgPT0gJ0NHQmxvZ0FydGljbGVFZGl0ZWQnKSkgew0KCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgJiYgaXNzZXQoJHBhcmFtc1snY29udGVudCddKSAmJiBpc3NldCgkcGFyYW1zWydjZ2Jsb2dfaWQnXSkpIA0KCQkJew0KCQkJCSRwYXJhbXNbJ2NvbnRlbnQnXSA9IEF1dG9saWdodGJveDo6SW1nMlRodW1iKCRwYXJhbXNbJ2NvbnRlbnQnXSwgJGF0dHJpYnV0ZXMpOw0KCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZSgNCgkJCQkJIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2NnYmxvZyANCgkJCQkJCVNFVCBjZ2Jsb2dfZGF0YSA9ID8gDQoJCQkJCQlXSEVSRSBjZ2Jsb2dfaWQgPSA/IiwNCgkJCQkJYXJyYXkoJHBhcmFtc1snY29udGVudCddLCAkcGFyYW1zWydjZ2Jsb2dfaWQnXSkNCgkJCQkpOw0KCQkJfQ0KCQl9DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIEbDvGd0IGRlbSBCYWNrZW5kaGVhZCBlaW4gSmF2YXNjcmlwdCAvIENTUyBoaW56dQ0KCSAqDQoJICogQGFjY2VzcyBwdWJsaWMNCgkgKiBAcmV0dXJuIEhlYWRlciBKUyBhbmQgQ1NTDQoJICovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKXsNCgkJDQoJCWdsb2JhbCAkaWQ7DQoJCSRzY3JpcHQgPSAiPCEtLSBUb29sQm94IC0tPlxuIjsNCgkJJHNjcmlwdCAuPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvVG9vbEJveEJhY2tlbmRTdHlsZXMuY3NzIiAvPicuIlxuIjsNCgkJJHNjcmlwdC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIgJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9Ub29sQm94QmFja2VuZEpTLmpzIj48L3NjcmlwdD4nLiJcbiI7DQoNCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScpKSB7DQoJCQkkYXJyYXkgPSBhcnJheSgpOw0KCQkJJGFycmF5WydkaXNhYmxlX3RoZW1lJ10gPSB0cnVlOw0KCQkJJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2xvZ1VwZGF0ZXInLCAnJywgJycsICRhcnJheSwgJycsIHRydWUpKTsgDQoJCQkNCgkJCSRzY3JpcHQuPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iICcuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvanF1ZXJ5LnBlcmlvZGljYWx1cGRhdGVyLmpzIj48L3NjcmlwdD4nLiJcbiI7DQoJCQkkc2NyaXB0Lj0iPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+DQoJCQkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KCQkJCQkvLyBXZW5uIFRhaWxsb2dhcmVhIGV4aXN0aWVydCwgbG9nZ2luZyBzdGFydGVuDQoJCQkJCWlmICgkKCcjdGFpbGxvZ2FyZWEnKS5sZW5ndGggPiAwKXsNCgkJCQkJCXZhciBsb2dGaWxlID0gJCgnaW5wdXRbbmFtZT1cIiIuJGlkLiJsb2dGaWxlXCJdJykudmFsKCk7IA0KCQkJCQkJdmFyIGtleSAJPSAkKCdpbnB1dFtuYW1lPVwiIi4kaWQuImtleVwiXScpLnZhbCgpOw0KCQkJCQkJdmFyIGggIAkJPSAkKCdpbnB1dFtuYW1lPVwiIi4kaWQuImhcIl0nKS52YWwoKTsNCgkJCQkJCXZhciBsaW5lcyAgCT0gJCgnaW5wdXRbbmFtZT1cIiIuJGlkLiJsaW5lc1wiXScpLnZhbCgpOw0KCQkJCQkJJCgnI3RhaWxsb2dhcmVhJylbMF0uc2Nyb2xsVG9wID0gJCgnI3RhaWxsb2dhcmVhJylbMF0uc2Nyb2xsSGVpZ2h0Ow0KCQkJCQkJJC5QZXJpb2RpY2FsVXBkYXRlcignIi4kdXJsLiImIi4kaWQuImY9Jytsb2dGaWxlKycmIi4kaWQuIms9JytrZXkrJyYiLiRpZC4iaD0nK2grJyYiLiRpZC4ibD0nK2xpbmVzLCB7DQoJCQkJCQkJbWV0aG9kOiAncG9zdCcsICAgICAgICAgDQoJCQkJCQkJbWluVGltZW91dDogMTAwMCwNCgkJCQkJCQltYXhUaW1lb3V0OiA4MDAwLA0KCQkJCQkJCW11bHRpcGxpZXI6IDIsDQoJCQkJCQkJdHlwZTogJ2h0bWwnIA0KCQkJCQkJfSwgZnVuY3Rpb24oZGF0YSkgew0KCQkJCQkJCQkkKCcjdGFpbGxvZ2FyZWEnKVswXS50ZXh0Q29udGVudCAgPSAkKCcjdGFpbGxvZ2FyZWEnKVswXS50ZXh0Q29udGVudCArIGRhdGENCgkJCQkJCQkJJCgnI3RhaWxsb2dhcmVhJylbMF0uc2Nyb2xsVG9wID0gJCgnI3RhaWxsb2dhcmVhJylbMF0uc2Nyb2xsSGVpZ2h0Ow0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQkJDQoJCQkJCWlmICghJCgnI3VzZV9tb2JpbGV0ZW1wbGF0ZScpLmlzKCc6Y2hlY2tlZCcpKSB7DQoJCQkJICAgICAgJCgnI21vYmlsZScpLmhpZGUoKTsNCgkJCQkgICAgICAkKCcjbW9iaWxlX2MnKS5oaWRlKCk7DQoJCQkJICAgIH0NCgkJCQkJJCgnI3VzZV9tb2JpbGV0ZW1wbGF0ZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCQkJCSAgICBpZiggJCh0aGlzKS5hdHRyKCdjaGVja2VkJykgKSB7DQoJCQkJCSAgICAgICQoJyNtb2JpbGUnKS5zaG93KCk7DQoJCQkJCSAgICAgICQoJyNtb2JpbGVfYycpLnNob3coKTsNCgkJCQkJICAgIH0NCgkJCQkJICAgIGVsc2Ugew0KCQkJCQkgICAgICAkKCcjbW9iaWxlJykuaGlkZSgpOw0KCQkJCQkgICAgICAkKCcjbW9iaWxlX2MnKS5oaWRlKCk7DQoJCQkJCSAgICAgICQoJyNkZXNrdG9wJykuYXR0cignY2xhc3MnLCdhY3RpdmUnKTsNCgkJCQkJICAgICAgJCgnI2Rlc2t0b3BfYycpLmF0dHIoJ3N0eWxlJywnZGlzcGxheTpibG9jaycpOw0KCQkJCQkgICAgICAkKCcjbW9iaWxlJykuYXR0cignY2xhc3MnLCcnKTsNCgkJCQkJICAgIH0NCgkJCQkJICB9KTsNCgkJCQl9KTsNCgkJCQk8L3NjcmlwdD4iOw0KCQl9DQoJCQ0KCQkNCgkJJHNjcmlwdCAuPSAnPGxpbmsgaHJlZj0iJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9maWxldXBsb2FkZXIvZmlsZXVwbG9hZGVyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4nLiJcbiI7DQoJCSRzY3JpcHQgLj0gJzxzY3JpcHQgc3JjPSInLiR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ZpbGV1cGxvYWRlci9maWxldXBsb2FkZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Jy4iXG4iOw0KCQkNCgkJcmV0dXJuICRzY3JpcHQ7DQoJfQ0KDQoJLyoqDQoJKiBTZXQgcGFyYW1ldGVycyBmb3IgdGhpcyBtb2R1bGUuDQoJKiBAcmV0dXJuIHN0cmluZw0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKSB7DQoNCgkJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsNCgkJDQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ21vZCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW1tb2QnKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtb2QnLENMRUFOX1NUUklORyk7DQoNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGUnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtdGVtcGxhdGUnKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsNCg0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW1kZXRhaWx0ZW1wbGF0ZScpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW1maWxlJykpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmlsZScsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RlbGltaXRlcicsICcnLCAkdGhpcy0+bGFuZygncGFyYW1kZWxpbWl0ZXInKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZWxpbWl0ZXInLENMRUFOX1NUUklORyk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWxlY2hhcnNldCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW1maWxlY2hhcnNldCcpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpbGVjaGFyc2V0JyxDTEVBTl9TVFJJTkcpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWFjdGlvbicpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FjdGlvbicsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRieScsICcnLCAkdGhpcy0+bGFuZygncGFyYW1zb3J0YnknKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0b3JkZXInLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtc29ydG9yZGVyJykpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndXNlcm5hbWUnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtdXNlcm5hbWUnKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd1c2VybmFtZScsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xpc3QnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtbGlzdCcpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xpc3QnLENMRUFOX1NUUklORyk7DQoNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbXNlYXJjaCcpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaCcsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvdW50JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWNvdW50JykpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY291bnQnLENMRUFOX0lOVCk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkYXRlZm9ybWF0JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWRhdGVmb3JtYXQnKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkYXRlZm9ybWF0JyxDTEVBTl9TVFJJTkcpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2FjaGV0aW1lJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWNhY2hldGltZScpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhY2hldGltZScsQ0xFQU5fSU5UKTsNCgkJDQovLwkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW1hZ2UnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtaW1hZ2UnKSk7DQovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ltYWdlJyxDTEVBTl9TVFJJTkcpOw0KLy8JCQ0KLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2hlaWdodCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW1oZWlnaHQnKSk7DQovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2hlaWdodCcsQ0xFQU5fSU5UKTsNCi8vCQkNCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd3aWR0aCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW13aWR0aCcpKTsNCi8vCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnd2lkdGgnLENMRUFOX0lOVCk7DQovLwkJDQovLwkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWx0JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWFsdCcpKTsNCi8vCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWx0JyxDTEVBTl9TVFJJTkcpOw0KLy8NCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aXRsZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW10aXRsZScpKTsNCi8vCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGl0bGUnLENMRUFOX1NUUklORyk7DQovLwkJDQovLwkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2xhc3MnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtaWQnKSk7DQovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NsYXNzJyxDTEVBTl9TVFJJTkcpOw0KLy8NCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpZCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW1jbGFzcycpKTsNCi8vCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaWQnLENMRUFOX1NUUklORyk7DQovLw0KLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0eWxlJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbXN0eWxlJykpOw0KLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdHlsZScsQ0xFQU5fU1RSSU5HKTsNCi8vCQkNCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub190YWcnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtbm90YWcnKSk7DQovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vX3RhZycsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJCSMkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tzU11pdGVtYXAueG1sXC8oP1A8bW9kZT5bMC05XSspJC8nKTsNCg0KCQkvLyBNb2R1bGUgcGFyYW1zDQoJCS8vICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhcmFtTmFtZScsJ2RlZmF1bHRWYWx1ZScsJ0hlbHBEZXNjcmlwdGlvbicpOw0KDQoJCS8vIEZvcm0gcGFyYW1zDQoJCS8vICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJhbU5hbWUnLENMRUFOX1RZUEUpOw0KCQkvLyBDTEVBTl9UWVBFIGNvdWxkIGJlIENMRUFOX05PTkUgLyBDTEVBTl9TVFJJTkcgLyBDTEVBTl9JTlQgLyBDTEVBTl9GTE9BVCAvIENMRUFOX0ZJTEUNCgkJIyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlaWQnLENMRUFOX0lOVCk7DQoJCSMkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZWFsaWFzJyxDTEVBTl9TVFJJTkcpOw0KCQkjJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xpbmt2YWx1ZScsQ0xFQU5fU1RSSU5HKTsNCg0KCX0NCg0KCS8qKg0KCSAqIEluaXRhbGl6ZSBwYXJhbXMgZm9yIGJhY2tlbmQNCgkgKi8NCglmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7DQoJICAkdGhpcy0+U2V0UGFyYW1ldGVycygpOw0KCX0NCg0KCS8qKg0KCSAqIEVuYWJsZSBMYXp5TG9hZCBpbiBGcm9udGVuZA0KCSAqIEByZXR1cm4gYm9vbGVhbg0KCSAqLw0KCWZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7DQoJICByZXR1cm4gRkFMU0U7DQoJfQ0KCQ0KCS8qKg0KCSogU2V0cyB0aGUgcGVybWlzc2lvbiBmb3IgdGhpcyBtb2R1bGUuDQoJKiBAcmV0dXJuIHN0cmluZw0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsNCgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94Jyk7DQoJfQ0KDQoJLyoqDQoJKiBHZXRzIGEgbWVzc2FnZSB0byBkaXNwbGF5IGFmdGVyIGluc3RhbGxpbmcgdGhlIG1vZHVsZQ0KCSogQHJldHVybiBzdHJpbmcNCgkqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsNCgl9DQoNCgkvKioNCgkqIEdldHMgYSBtZXNzYWdlIHRvIGRpc3BseSBhZnRlciB1bmluc3RhbGxpbmcgdGhpcyBtb2R1bGUuDQoJKiBAcmV0dXJuIHN0cmluZw0KCSovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsNCgl9DQoNCgkvKioNCgkqIEdldHMgYSBtZXNzYWdlIGJlZm9yZSB1bmluc3RhbGxpbmcgdGhpcyBtb2R1bGUNCgkqIEByZXR1cm4gc3RyaW5nDQoJKi8NCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwcmV1bmluc3RhbGwnKTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0VHBsVG9rZW4oKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCJhbGJfIiwidHdmXyIsImNzdnN1bV8iLCJjc3ZkZXRfIik7DQoJfSAgIA0KCQ0KCS8qKg0KCSAqIA0KCSAqIERlZmluaWVydCBkZW4gTmFtZW4gZGVzIExvZ2ZpbGVzDQoJICogQHBhcmFtICRmaWxlbmFtZQ0KCSAqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBzZXRMb2dGaWxlKCRmaWxlbmFtZSl7DQoJCWlmICghQGlzX2RpcigkdGhpcy0+dGJMb2dQYXRoKSkgew0KCQkJQG1rZGlyKCR0aGlzLT50YkxvZ1BhdGgsMDc1NSk7DQoJCX0JDQoJCQ0KCQkvLyBBbGxlcyB3YXMgbmljaHQgYWxwaGFudW1lcmlzY2ggaXN0LCBlcnNldHplbg0KCQkkZmlsZW5hbWUgPSBwcmVnX3JlcGxhY2UoJy9bXmEtejAtOV8tXS9pc1UnLCAnJywgJGZpbGVuYW1lKTsNCgkJCQkNCgkJJHRoaXMtPnRiTG9nRmlsZSA9ICRmaWxlbmFtZS4iLmxvZyI7DQoJCQ0KCQkvLyBMb2dmaWxlIGVyc3RlbGxlbiwgZmFsbHMgbm9jaCBuaWNodCB2b3JoYW5kZW4NCgkJaWYgKCFmaWxlX2V4aXN0cygkdGhpcy0+dGJMb2dQYXRoLiR0aGlzLT50YkxvZ0ZpbGUpKSB7DQoJCQkkZnAgPSBAZm9wZW4oJHRoaXMtPnRiTG9nUGF0aC4kdGhpcy0+dGJMb2dGaWxlLCAidyIpOw0KCQkJQGZjbG9zZSgkZnApOw0KCQl9DQoJfQ0KCQ0KCS8qKg0KCSAqIA0KCSAqIFNjaHJlaWJ0IGlucyBMb2dmaWxlDQoJICogQHBhcmFtICRtZXNzYWdlDQoJICovDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGx3cml0ZSgkbWVzc2FnZSl7DQoJCWlmICghJHRoaXMtPnRiZnApICR0aGlzLT5sb3BlbigpOw0KCQkvLyRzY3JpcHRfbmFtZSA9IHBhdGhpbmZvKCRfU0VSVkVSWydQSFBfU0VMRiddLCBQQVRISU5GT19GSUxFTkFNRSk7DQoJCSR0aW1lID0gZGF0ZSgnWS1tLWQgSDppOnMnKTsNCgkJaWYgKGlzX2FycmF5KCRtZXNzYWdlKSkgJG1lc3NhZ2UgPSBwcmludF9yKCRtZXNzYWdlLHRydWUpOw0KCQlmd3JpdGUoJHRoaXMtPmZwLCAkdGltZS4iICIuJG1lc3NhZ2UuIlxuIik7DQoJDQoJfQ0KCQkNCgkvKioNCgkgKiANCgkgKiDDlmZmbmV0IGRhcyBMb2dmaWxlIHp1bSBzY2hyZWliZW4NCgkgKi8NCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIGxvcGVuKCkgew0KCQkkdGhpcy0+ZnAgPSBmb3BlbigkdGhpcy0+dGJMb2dQYXRoLiR0aGlzLT50YkxvZ0ZpbGUsICdhJyk7DQoJfQ0KDQoJLyoqDQoJICogDQoJICogRXJ6ZXVndCBlaW5lIFp1ZmFsbHNyZWloZSBhdXMgWmFobGVuIHVuZCBCdWNoc3RhYmVuDQoJICogQGJhc2VkIG9uIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZGUvZnVuY3Rpb24ucmFuZC5waHAjMTA2MDA0DQoJICogQHBhcmFtIGludCAkbGVuZ3RoIC0gTMOkbmdlIGRlcyBSYW5kb20tU3RyaW5ncw0KCSAqLw0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiByYW5kb21BbHBoYU51bSgkbGVuZ3RoKSB7DQoJICAgICRyYW5nZU1pbiA9IHBvdygzNiwgJGxlbmd0aC0xKTsgLy9zbWFsbGVzdCBudW1iZXIgdG8gZ2l2ZSBsZW5ndGggZGlnaXRzIGluIGJhc2UgMzYNCgkgICAgJHJhbmdlTWF4ID0gcG93KDM2LCAkbGVuZ3RoKS0xOyAvL2xhcmdlc3QgbnVtYmVyIHRvIGdpdmUgbGVuZ3RoIGRpZ2l0cyBpbiBiYXNlIDM2DQoJICAgICRiYXNlMTBSYW5kID0gbXRfcmFuZCgkcmFuZ2VNaW4sICRyYW5nZU1heCk7IC8vZ2V0IHRoZSByYW5kb20gbnVtYmVyDQoJICAgICRuZXdSYW5kID0gYmFzZV9jb252ZXJ0KCRiYXNlMTBSYW5kLCAxMCwgMzYpOyAvL2NvbnZlcnQgaXQNCgkgICANCgkgICAgcmV0dXJuICRuZXdSYW5kOyAvL3NwaXQgaXQgb3V0DQoJfQ0KCQ0KDQp9IC8vIEVuZCBvZiBjbGFzcw0KDQoNCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/trunk/</filename>
	  <isdir>1</isdir>
	</file>
</module>
